I am working on a complex CMake project that is part of a large legacy
system that uses a top level project and "add_subdirectory" to create
subprojects.

I have run into an issue because now one of the subprojects is dependant on
another subproject, but I can't seem to find a clear way to tell CMake
about this dependency.

Consider this example:

    my_project/
        CMakeLists.txt:
          add_subdirectory('subproject1')
          add_subdirectory('subproject2')

    my_project/subproject1/
        CMakeLists.txt:
            add_executable(subproject1_exe <sources>)
            target_link_libraries(subproject1_exe subproject2_lib) # <--
THIS is the problem

    my_project/subproject2/
        CMakeLists.txt:
            add_library(subproject2_lib <sources>)

The actual code is much more complex than this, but this simple example
illustrates the problem. The actual compilation error I am getting is
caused by subproject1 including a header file that gets generated when
subproject2 is built.

Does anyone know how to properly tell CMake about the dependency so it will
build correctly?
-- 

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

Reply via email to