dear CMake developers,
We have observed a changed and surprising behavior
in CMake 3.3.0-rc3 with Fortran module dependency scanning and
preprocessing compared to earlier CMake versions
(for instance 3.2.3). I have checked open bugs and email
list archives but could not find this mentioned.
To give an example the following Fortran source fails to compile:
"""
program example
#ifdef SOMEDEF
use mymodule
#endif
call hello()
end program
"""
with:
"""
main.F90:3:7:
use mymodule
1
Fatal Error: Can't open module file ‘mymodule.mod’ for reading at (1): No
such file or directory
"""
It seems that Fortran dependencies are scanned prior
to pre-processing. This seems different compared to 3.2.3 (and earlier
versions). Not sure this is a bug or a feature.
All relevant files (CMakeLists.txt, main.F90, mymodule.F90) for a complete
minimal example are attached.
I can also submit this directly to http://www.cmake.org/Bug/
in case this is not a feature.
Thank you and best wishes,
radovan
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(example)
enable_language(Fortran)
add_definitions(-DSOMEDEF)
add_executable(example.x main.F90 mymodule.F90)
#ifdef SOMEDEF
module mymodule
contains
subroutine hello()
print *, 'hello'
end subroutine
end module
#else
subroutine empty()
end subroutine
#endif
program example
#ifdef SOMEDEF
use mymodule
#endif
call hello()
end program
--
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:
http://public.kitware.com/mailman/listinfo/cmake-developers