[prev in list] [next in list] [prev in thread] [next in thread]
List: cmake
Subject: [CMake] =?utf-8?q?Using_add=5Fsubdirectory_to_manage_project_depe?= =?utf-8?q?ndencies_that_aren=27t
From: Joe <jtcacct () gmail ! com>
Date: 2015-09-18 22:42:15
Message-ID: loom.20150919T003237-910 () post ! gmane ! org
[Download RAW message or body]
Hi. I was hoping to get some guidance on if this is bad practice. I am
simply trying to find a way to manage internal dependencies of my project
but with a file structure that is distributed. It looks like this:
/path/to/A
/path/to/B
B depends on A. I cannot change this directory structure. The solution we
have chose is to create the following:
/path/to/modules/FindA.cmake:
...
if (NOT TARGET A)
set(PATH_TO_A ${CMAKE_CURRENT_LIST_DIR}../A)
add_subdirectory(${PATH_TO_A} ${PATH_TO_A}/build)
endif()
...
This way, A' CMakeLists is invoked and the library is compiled and built.
Then in B's CMakeLists.txt:
...
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
${CMAKE_CURRENT_LIST_DIR}/../modules)
find_package(A)
add_executable(main_B src/main_B.cpp)
target_link_libraries(main_B A)
...
Is this bad practice? I tried to figure out find_package in CONFIG mode but
every example I've found seems complicated and obtuse. Thank you.
--
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://public.kitware.com/mailman/listinfo/cmake
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic