[CMake] include dirs from EPs not added to project for in-source builds on windows

Miklos Espak espakm at gmail.com
Wed Jul 11 12:22:01 EDT 2018


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
"<AdditionalIncludeDirectories>" 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20180711/261d4ea4/attachment.html>


More information about the CMake mailing list