Am 01.08.2017 um 21:18 schrieb David Cole: > And in your file "src/CMakeLists.txt" do you add > "${CMAKE_CURRENT_SOURCE_DIR}" (or anything else which resolves to the > "src" directory) to your include directories?
No, there is none. I do not added one, since it built correctly. I have no added include_directories(${CMAKE_CURRENT_SOURCE_DIR}), but it still does not get changes to the header. The complete src/CMakeLists.txt: https://pastebin.com/tnQPF2Gj Again, ./CMakeLists.txt: https://pastebin.com/vfReTM1N % grep PetRadial CMakeFiles/precice.dir/* CMakeFiles/precice.dir/CXX.includecache:mapping/PetRadialBasisFctMapping.hpp CMakeFiles/precice.dir/CXX.includecache:/home/florian/precice/src/mapping/config/mapping/PetRadialBasisFctMapping.hpp > > The line which includes the header is > #include "mapping/..." > but there is no local subdirectory "mapping" relative to that file > (which is down in the mapping/config dir) Yes, the include is relative to ./src. Best Thanks, Florian > > > > > On Tue, Aug 1, 2017 at 6:47 AM, Florian Lindner <mailingli...@xgm.de> wrote: >> Hi, >> >> Am 01.08.2017 um 18:32 schrieb David Cole via CMake: >>> What source files include the header? >> >> It's included by src/mapping/config/MappingConfiguration.cpp >> >> https://github.com/precice/precice/blob/develop/src/mapping/config/MappingConfiguration.cpp >> >> https://github.com/precice/precice/blob/develop/src/mapping/PetRadialBasisFctMapping.hpp >> >>> Is one of them listed as a file in your project? >> >> Yes, it's also in the CMakeFiles: >> >> % ll >> build/cmake-debug/CMakeFiles/precice.dir/src/mapping/config/MappingConfiguration.cpp.o >> >> -rw-r--r-- 1 florian florian 1517472 1. Aug 15:08 >> build/cmake-debug/CMakeFiles/precice.dir/src/mapping/config/MappingConfiguration.cpp.o >> >>> Does the **including** file exist at CMake configure time, or is it >>> generated later by a build step? >> >> No, it's a standard plain file. >> >>> What do the lines of code that include the header look like? >> >> #include "mapping/PetRadialBasisFctMapping.hpp" >> >>> >>> CMake uses its own analysis of the source files to determine the >>> depends information, since it needs to generate it without invoking >>> the compiler. This leads to a less-than-100% rate of correctness in >>> the depends information, although usually, it is misses "in the other >>> direction" due to depending on a header file which is included in some >>> conditionally compiled block. (So the typical problem is an extra >>> dependency, not a missing one...) >> >> The header file is (not the including file or the #include itself) is >> guarded by a define >> >> #ifndef PRECICE_NO_PETSC >> >> which is not set. The build also contains the functionality which is guarded >> thereof. >> >>> Perhaps passing along the includers and the exact lines and context of >>> being included will give us a hint about why the dependency is not >>> generated properly in your case. >> >> I'm happy to provide whatever information I can. >> >> If you want to download the entire source of the project, tell me. Right now >> the CMake files are not yet in the >> repository, but I can create a branch and add them there. >> >> My CMake version is 3.8.2. >> >> Best, >> Florian >> >> >>> >>> >>> >>> On Tue, Aug 1, 2017 at 5:18 AM, Florian Lindner <mailingli...@xgm.de> wrote: >>>> Hello, >>>> >>>> on my project, which I'm currently testing with cmake, I just noticed, >>>> that when I modify a header, the project is not >>>> rebuilt. >>>> >>>> The CMakeLists.txt in the root dir is here: https://pastebin.com/vfReTM1N >>>> >>>> The other CMakeLists.txt resides in root/src and lists all the source >>>> (*.cpp) files using GLOBS and adds them to the >>>> parent scope: >>>> >>>> set (sourcesAllNoMain ${sourcesAllNoMain} PARENT_SCOPE) >>>> set (sourcesTests ${sourcesTests} PARENT_SCOPE) >>>> set (sourcesTarchTests ${sourcesTarchTests} PARENT_SCOPE) >>>> >>>> >>>> the questionable header file was not added recently, so I don't think its >>>> related to the GLOBs. >>>> >>>> The header file is also not listed in depends.make file. >>>> >>>> What other information can I give? >>>> >>>> Thanks, >>>> Florian >>>> -- >>>> >>>> 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: >>>> http://public.kitware.com/mailman/listinfo/cmake -- 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: http://public.kitware.com/mailman/listinfo/cmake