Never mind... I spoke too soon. add_dependencies isn't working. It is correctly making the other project build first, but the header file is for some reason not generated until after it is needed.
On Tue, Mar 19, 2019 at 1:41 PM Timothy Wrona <tjwrona1...@gmail.com> wrote: > Seems I might be able to answer my own question. > > It looks like "add_dependencies(subproject1_exe subproject2_lib)" worked. > > I had to do a clean first though because it didn't work the first time > since some old files were left around. > > Hope this helps anyone else with a similar issue! > > On Tue, Mar 19, 2019 at 1:13 PM Timothy Wrona <tjwrona1...@gmail.com> > wrote: > >> 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