From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2021-06-03 18:40:33


On 6/3/21 9:30 PM, Peter Dimov via Boost wrote:
> Andrey Semashev wrote:
>> But that would mean one has to specify second order dependencies as well for
>> configure checks.
>
> ¯\_(ツ)_/¯

Ok, so it seems I'll have to add a check to enforce that the unified
headers directory exists. This means that we are still dependent on `b2
headers`, at least until there is a CMake equivalent.

>> I'm not sure I understand. Is it that Cygwin doesn't accept angle brackets with
>> Windows paths?
>
> The Cygwin compiler just doesn't accept Windows paths, as far as I can see.
>
> Performing C++ SOURCE FILE Test BOOST_FILESYSTEM_HAS_STAT_ST_BLKSIZE failed with the following output:
> Change Dir: C:/boost-git/develop/__build_gcc/CMakeFiles/CMakeTmp
>
> Run Build Command(s):C:/cygwin64/bin/make.exe -f Makefile cmTC_8f9df/fast && /usr/bin/make -f CMakeFiles/cmTC_8f9df.dir/build.make CMakeFiles/cmTC_8f9df.dir/build
> make[1]: Entering directory '/cygdrive/c/boost-git/develop/__build_gcc/CMakeFiles/CMakeTmp'
> Building CXX object CMakeFiles/cmTC_8f9df.dir/src.cxx.obj
>
> C:/cygwin64/bin/c++.exe -DBOOST_FILESYSTEM_HAS_STAT_ST_BLKSIZE @CMakeFiles/cmTC_8f9df.dir/includes_CXX.rsp -o CMakeFiles/cmTC_8f9df.dir/src.cxx.obj -c C:/boost-git/develop/__build_gcc/CMakeFiles/CMakeTmp/src.cxx
> C:/boost-git/develop/__build_gcc/CMakeFiles/CMakeTmp/src.cxx:1:10: fatal error: C:/boost-git/develop/libs/filesystem/config/has_stat_st_blksize.cpp: No such file or directory
> 1 | #include <C:/boost-git/develop/libs/filesystem/config/has_stat_st_blksize.cpp>
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.
> make[1]: *** [CMakeFiles/cmTC_8f9df.dir/build.make:79: CMakeFiles/cmTC_8f9df.dir/src.cxx.obj] Error 1
> make[1]: Leaving directory '/cygdrive/c/boost-git/develop/__build_gcc/CMakeFiles/CMakeTmp'
> make: *** [Makefile:127: cmTC_8f9df/fast] Error 2
>
>
> Source file was:
> #include <C:/boost-git/develop/libs/filesystem/config/has_stat_st_blksize.cpp>

Ok, I think I understand. You're using native Windows CMake that
generates Windows paths and a Cygwin compiler that doesn't understand
them. That looks like an incorrect config to me; you should be using
Cygwin CMake, which should generate Cygwin paths both in source files
and command lines.