[CMake] Build only what you need in third party libs
Brian Davis
bitminer at gmail.com
Tue Dec 22 10:27:45 EST 2009
<snip>
> You are correct: projects that are all intermingled together with
> add_subdirectory calls in a parent project *can* interfere with each other,
> especially if they do anything with "FORCE" and change variables to
> "INTERNAL" to hide them from developers. And then there can simply be
> unintended name clashes...
>
<snip>
I feared as much. Some sort of project namespace environment variable
resolution might help with above issue(see below). Can't say any other tool
I ever used did not have the same issue however.
CMAKE_EXE_LINKER_FLAGS
vs
Boost.CMAKE_EXE_LINKER_FLAGS
dcmtk.CMAKE_EXE_LINKER_FLAGS
<snip>
> One way to overcome these things, but still build projects from source code
> as needed is to use a new feature in CMake 2.8: the ExternalProject module.
> There's a cmake function in there called "ExternalProject_Add" that allows
> you to build another project as a separate entity so that its CMake settings
> are still entirely independent of the settings in all the other projects
> you're also building.
>
> See "cmake --help-module ExternalProject_Add" -- and the test in the CMake
> source tree at "CMake/Tests/ExternalProject" -- and the article I wrote
> about this in Kitware's "The Source" newsletter: the October 2009 edition:
> http://www.kitware.com/products/archive/kitware_quarterly1009.pdf (pp.
> 14-17)
>
> Hopefully, this is helpful... Let me know if you have any questions about
> using it.
>
> :-)
> David Cole
>
> <snip>
I tried the command
C:\Users\bdavis>cmake --help-module ExternalProject_Add
cmake version 2.8.0
Argument "ExternalProject_Add" to --help-module is not a CMake module.
Must I get latest form source? Or did I do above incorrectly. Also
ExternalProject_add is not in :
file:///C:/Program%20Files%20%28x86%29/CMake%202.8/doc/cmake-2.8/cmake-commands.html
(Windows Install document tree) should it be or is it new?
--
Brian J. Davis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20091222/62965c7c/attachment-0001.htm>
More information about the CMake
mailing list