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?
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) 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