Re: [CMake] include dirs from EPs not added to project for in-source builds on windows
Hi, I ran into the same problem now on mac. It turned out that it has nothing to do with CMake. I apply some patches to the external projects with "git apply" instead of "patch". But the EP sources are not in git, and if the superbuild dir is inside the source dir, git apply recognises that it's inside a working dir (of the main project) and it does not apply the patch. Strangely, it returns 0 and does not print any error either, just goes on happily. So, the include dirs were missing because the patch was not applied to the EP. (The patch was to set them as a target property.) Miklos On Wed, 11 Jul 2018 at 17:22, Miklos Espak wrote: > Hi, > > I have a "superbuild" project which builds two external projects (EP) and > then my actual project. It builds fine on linux and mac. On windows, > however, the build fails if the build directory is *inside* the source > folder. > > Let's say e.g. that the sources are in "c:/src/myproject". If the build is > in "c:/src/myproject-build", it succeeds, but if it is in > "c:/src/myproject/build", it fails. (It took me a while until I discovered > the connection between the failures and the build dir path.) > > With the build dir inside the source dir, I get compilation error because > header files are not found. In fact, if I open the "*.vcxproj" file of the > same target in the two types of builds, the > "" elements are different. The include dirs > of the EPs are missing from it in the "in-source" build and they are there > in the "out-source" build. > > This is how far I got with my debugging, and I'm not sure how to go on. > > Unfortunately, I'd need to keep the build folder inside the sources > because the GitLab CI runners assume this. > > Any help would be much appreciated. > > I used CMake 3.11.4 and 3.12.0RC3. > > Kind regards, > Miklos > > -- 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
Re: [CMake] include dirs from EPs not added to project for in-source builds on windows
It was this generator: "Visual Studio 15 2017 Win64" On Wed, 11 Jul 2018 at 17:22, Miklos Espak wrote: > Hi, > > I have a "superbuild" project which builds two external projects (EP) and > then my actual project. It builds fine on linux and mac. On windows, > however, the build fails if the build directory is *inside* the source > folder. > > Let's say e.g. that the sources are in "c:/src/myproject". If the build is > in "c:/src/myproject-build", it succeeds, but if it is in > "c:/src/myproject/build", it fails. (It took me a while until I discovered > the connection between the failures and the build dir path.) > > With the build dir inside the source dir, I get compilation error because > header files are not found. In fact, if I open the "*.vcxproj" file of the > same target in the two types of builds, the > "" elements are different. The include dirs > of the EPs are missing from it in the "in-source" build and they are there > in the "out-source" build. > > This is how far I got with my debugging, and I'm not sure how to go on. > > Unfortunately, I'd need to keep the build folder inside the sources > because the GitLab CI runners assume this. > > Any help would be much appreciated. > > I used CMake 3.11.4 and 3.12.0RC3. > > Kind regards, > Miklos > > -- 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
Re: [CMake] include dirs from EPs not added to project for in-source builds on windows
G On Wed, 11 Jul 2018 at 17:22, Miklos Espak wrote: > Hi, > > I have a "superbuild" project which builds two external projects (EP) and > then my actual project. It builds fine on linux and mac. On windows, > however, the build fails if the build directory is *inside* the source > folder. > > Let's say e.g. that the sources are in "c:/src/myproject". If the build is > in "c:/src/myproject-build", it succeeds, but if it is in > "c:/src/myproject/build", it fails. (It took me a while until I discovered > the connection between the failures and the build dir path.) > > With the build dir inside the source dir, I get compilation error because > header files are not found. In fact, if I open the "*.vcxproj" file of the > same target in the two types of builds, the > "" elements are different. The include dirs > of the EPs are missing from it in the "in-source" build and they are there > in the "out-source" build. > > This is how far I got with my debugging, and I'm not sure how to go on. > > Unfortunately, I'd need to keep the build folder inside the sources > because the GitLab CI runners assume this. > > Any help would be much appreciated. > > I used CMake 3.11.4 and 3.12.0RC3. > > Kind regards, > Miklos > > -- 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