Fortran: Ninja fails when build tree path has a symlink
I am building a project (ParaView) on Linux in a
build named build folder which happens to be a symbolic link pointing to a folder named
buildD. (build -> buildD)
Recently, I have started using the
Ninja build system and since then I have the following problem:
Check for working Fortran compiler: /usr/bin/f95 - broken CMake Error at [...]/Software/install/cmake/share/cmake-3.19/Modules/CMakeTestFortranCompiler.cmake:51 (message): The Fortran compiler "/usr/bin/f95" is not able to compile a simple test program. It fails with the following output: Change Dir: [...]/Software/sources/paraview/master/build/CMakeFiles/CMakeTmp Run Build Command(s):/usr/bin/ninja cmTC_6340f && [1/4] Building Fortran preprocessed CMakeFiles/cmTC_6340f.dir/testFortranCompiler.f-pp.f [2/4] Generating Fortran dyndep file CMakeFiles/cmTC_6340f.dir/Fortran.dd ninja: build stopped: CMakeFiles/cmTC_6340f.dir/Fortran.dd:2: no build statement exists for '[...]/Software/sources/paraview/master/buildD/CMakeFiles/CMakeTmp/CMakeFiles/cmTC_6340f.dir/testFortranCompiler.f.o'
We see that the first occurence of CMakeTmp is in
build and the second one in
buildD. Only one of them resolved the symbolic link.
The problem disappear if I comment the line