Fortran+Ninja: add_dependencies does not make modules available since CMake 3.28
As noted by #25425 (comment 1496770)
git clone https://github.com/Goddard-Fortran-Ecosystem/pFUnit
# for reference I was on commit 10e99ef99
cmake -Bbuild -G Ninja
cmake --build build -t funit
issue happens with / without -j1
or -t
options, even repeatedly trying to build.
This example was with macOS, CMake 3.28.3, Ninja 1.11.1, and Gfortran 13.
This target is defined in "src/funit/CMakeLists.txt" and "src/funit/asserts/CMakeLists.txt" as target "asserts" OBJECT library
FAILED: src/funit/CMakeFiles/funit-main.dir/FUnit.F90.o src/funit/mod/funit.mod
/opt/homebrew/bin/gfortran-13 -IpFUnit/src/funit -IpFUnit/build/src/funit/mod -IpFUnit/include -IpFUnit/build/extern/fArgParse/extern/gFTL-shared/extern/gFTL/include/v1 -IpFUnit/build/extern/fArgParse/extern/gFTL-shared/src/v1/mod -IpFUnit/build/extern/fArgParse/mod -IpFUnit/build/extern/fArgParse/extern/gFTL-shared/extern/gFTL/include/v2 -IpFUnit/extern/fArgParse/extern/gFTL-shared/extern/gFTL/include/v2 -IpFUnit/build/extern/fArgParse/extern/gFTL-shared/src/v2/mod -g -cpp -O0 -ffree-line-length-none -fallow-argument-mismatch -fbacktrace -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk -Jsrc/funit/mod -fPIC -fdiagnostics-color=always -fopenmp -fpreprocessed -c src/funit/CMakeFiles/funit-main.dir/FUnit.F90-pp.f90 -o src/funit/CMakeFiles/funit-main.dir/FUnit.F90.o
pFUnit/src/funit/FUnit.F90:4:8:
4 | use PF_Assert
| 1
Fatal Error: Cannot open module file 'pf_assert.mod' for reading at (1): No such file or directory
Edited by scivision