Hi, For a simple test I've got the following directory structure:
|- build |- project | |- CMakeLists.txt | |- Main.cpp |- CMakeLists.txt |- Test.cpp project/CMakeLists.txt has the following content: cmake_minimum_required(VERSION 3.12) project(Reproducer LANGUAGES CXX) add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/.." "${CMAKE_CURRENT_BINARY_DIR}/..") add_executable(Reproducer) target_sources(Reproducer PRIVATE Main.cpp) target_link_libraries(Reproducer PRIVATE ReproducerLibrary) And CMakeLists.txt has the following content: add_library(ReproducerLibrary OBJECT) target_sources(ReproducerLibrary PRIVATE Test.cpp) When I now run the commands: cd build cmake.exe -G Ninja ..\..\project cmake.exe --build . Then I get the error: ninja: error: '<absolute-path>/ReproducerLibrary.dir/Test.cpp.obj', needed by 'Reproducer.exe', missing and no known rule to make it I noticed, that the build.ninja the build rule for Test.cpp.obj has a relative path, whereas the link dependency to Test.cpp.obj is an absolute path. Is this a known issue? Regards, Daniel
-- 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