[CMake] How to handle third-party bundled software?
Kenny Erleben
kenny at diku.dk
Thu May 24 15:20:08 EDT 2007
Hi All,
As a convenience I got a hand-full of third-party softwares bundled with
my own code, These third-party softwares are released as source-only and
got no binaries. For convenience I used to bundle these third-party
dependencies together with my own software and provided vcproj files for
building these third-party dependencies directly into the source tree,
simply by changing output path and output name as needed in the project
settings.
Now I am in the progress of switching to CMake, and I was wondering what
would be the best way to deal with these dependencies?
I discovered that CMake is pretty clever, once it discovered that I am
trying to link with a static lib that is being built by the same project
it automatically add the output dirs to the linker directories of the
current target. I am not sure whether this is really what I want. I like
the idea of having all my third-party libs thrown into a folder like
${PROJECT_SOURCE_DIR}/externals/lib/
Such that from a user point of view all third-party software that is
bundled with my code acts like it is not bundled with my code! I think
it would work if CMake saw ${PROJECT_SOURCE_DIR}/externals/lib/ as the
output path of the dependent static lib, and not the output dir in the
project binary tree?
Also it is a bit unclear to me how one should handle the CMake install
stuff of third-party depedencies. I am confused about how to setup the
linker directories for my executable targets, since these are not
created before I am actually running an install?
Thx,
/Kenny
More information about the CMake
mailing list