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

Reply via email to