[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