I am using CMake 3.15.1. Having found out about some of the changes with 3.13, I've started to take advantage of using 'add_subdirectory()' in certain cases when a module is large and spans multiple source folders.
For instance: ModuleA/CMakeLists.txt: ------------------------------------ add_library(moduleA STATIC "") add_subdirectory(sub1) add_subdirectory(sub2) ------------------------------------------ sub1/CMakeLists.txt ------------------------------ target_include_directories(moduleA PUBLIC .) target_sources(moduleA PRIVATE src1.cpp src2.cpp ) target_link_libraries(moduleA PRIVATE Qt5::Widgets Qt5::Qml moduleB ) sub2/CMakeLists.txt ------------------------------ target_include_directories(moduleA PUBLIC .) target_sources(moduleA PRIVATE src1.cpp src2.cpp ) target_link_libraries(moduleA PRIVATE Qt5::Quick moduleC ) ----------------------------------- I run cmake --graphviz=project.dot . >From this, two of the files that comes out are project.dot.moduleA and project.dot.moduleA.dependers. The former is only this: digraph "GG" { node [ fontsize = "12" ]; "node190" [ label="moduleA" shape="diamond"]; } There is no mention of the Qt5 or other module dependencies. Other modules with dependencies but without the hierarchy introduced with add_subdirectory() seem to be just fine and include their respective dependencies in their project.dot.moduleX files. Is this a bug or am I misusing add_subdirectory() here? With the exception of the graphviz output, everything builds and runs as expected with my setup.
-- 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: https://cmake.org/mailman/listinfo/cmake