On 04.06.2014 23:11, Truman Ellis wrote:
I have a top level CMakeLists.txt file which builds a library called
Camellia and several executables in subdirectories which link with
Camellia. I would like to add a third party library called XDMF as a
dependency for Camellia under Camellia/TPL/Xdmf. Luckily, XDMF is
already on a CMake build system, but when I use
add_subdirectory(TPL/Xdmf)
and then
add_library(Camellia ${LIB_SOURCES} ${HEADERS})
it builds Camellia in the build/TPL/Xdmf/bin directory rather than
build as it does without the add_subdirectory(TPL/Xdmf). Why does
adding a subdirectory change the build directory for Camellia, and how
do I fix it? Also how do I make sure Camellia is linking with Xdmf
once I get that figured out?
It shouldn't normally.
The only way I can think of is that TPL/Xdmf/CMakeLists.txt sets
CMAKE_RUNTIME_OUTPUT_DIRECTORY as a cache variable.
e.g. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
"${CMAKE_CURRENT_BINARY_DIR}/bin" CACHE PATH "docstring")
As a regular variable it wouldn't affect targets created in the parent
CMakeLists.txt
Nils
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake