On 10/7/2010 11:52 AM, kent williams wrote:
1. Is that $(MAKE) or is it ${MAKE} ? One thing missing from the
CMake documentation -- unless I'm mistaken there's not much
explanation of CMake syntax in the documentation.
No, this is make syntax not CMake syntax.
2. I think it's probably not what one intends to have 'make -j4' (for
example) used every time make is invoked. If you configure a program
that includes several ExternalProjects, then it would spawn 4
concurrent builds of those ExternalProjects, and then each of those
builds would spawn 4 make steps at once, for 16 concurrent processes.
What you want is for make to treat the external projects just like any
other library or executable in a build.
so, if you run this at the top of the build:
make -j4
It should run at most 4 concurrent things at once for the whole thing.
By using $(MAKE) in the makefiles make will do that.
That said, CMake will do this by default for make based builds and
external projects now.
From ExternalProject.cmake:
get_target_property(cmake_generator ${name} _EP_CMAKE_GENERATOR)
if("${CMAKE_GENERATOR}" MATCHES "Make" AND
("${cmake_generator}" STREQUAL "${CMAKE_GENERATOR}" OR
NOT cmake_generator))
# The project uses the same Makefile generator. Use recursive
make.
set(cmd "$(MAKE)")
if(step STREQUAL "INSTALL")
set(args install)
endif()
-Bill
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake