Hello, Have you try to add the header files in the add_library command to explicitely add a dependency over it ?
add_library(MyLib SHARED my_source.cpp ../MyHeaders/header.hpp etc.) On 10/21/19 4:16 PM, David Aldrich wrote: WARNING: External email, please be mindful before clicking or replying. Hi again, My CMakeLists.txt file for my shared library contains: add_library(MyLib SHARED my_source.cpp etc.) target_include_directories( MyLib PRIVATE ../MyHeaders) The library builds ok, but there is no dependency on directory ../MyHeaders - touching a header file does not result in a re-compile of dependent source files. There's a discussion here: https://stackoverflow.com/questions/13703647/how-to-properly-add-include-directories-with-cmake<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.com%2Fv3%2F__https%3A%2F%2Fstackoverflow.com%2Fquestions%2F13703647%2Fhow-to-properly-add-include-directories-with-cmake__%3B!NS9wnPUNuDs!whDhrk7RGTn3RadMaGwNJ7gyGUJg_fOCmaUVKr9T3ock9JmdX37y1aDQW7XthkCVdA%24&data=01%7C01%7Cwilliam.bon%40caldera.com%7C2e78ae5316384a4a4aa908d756315037%7C3d2d2b6f061a48b6b4b39312d687e3a1%7C1&sdata=zpBAH%2BeG3WhFkfgnzt9iTMsiK0NBupnbI2fTjvoK3TM%3D&reserved=0> Opinion seems divided over whether or not it is necessary to add the header files to the list of source files for the target, e.g.: set(SOURCES file.cpp file2.cpp ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h) add_library(test ${SOURCES}) Please will you tell me what is the best practice?
-- 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