summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorPeter Hill <peter.hill@york.ac.uk>2022-02-18 18:02:10 (GMT)
committerBrad King <brad.king@kitware.com>2022-02-24 17:54:46 (GMT)
commit6b4885b58b8204153919d068363f5fe42fef6ec4 (patch)
treeedade93517a30c3a64c7b1d64d3c29063ac9634f /Tests
parent352ea99bbacf6e57bca47f43725d98b2a4a0b87d (diff)
downloadCMake-6b4885b58b8204153919d068363f5fe42fef6ec4.zip
CMake-6b4885b58b8204153919d068363f5fe42fef6ec4.tar.gz
CMake-6b4885b58b8204153919d068363f5fe42fef6ec4.tar.bz2
Ninja: Avoid preprocessing twice with explicit Fortran_PREPROCESS
Fix spurious warnings from gfortran+Ninja for preprocessing. Fixes: #23248
Diffstat (limited to 'Tests')
-rw-r--r--Tests/FortranOnly/CMakeLists.txt6
-rw-r--r--Tests/FortranOnly/preprocess2.f4
2 files changed, 9 insertions, 1 deletions
diff --git a/Tests/FortranOnly/CMakeLists.txt b/Tests/FortranOnly/CMakeLists.txt
index ee47da4..b07c214 100644
--- a/Tests/FortranOnly/CMakeLists.txt
+++ b/Tests/FortranOnly/CMakeLists.txt
@@ -129,6 +129,12 @@ if(CMAKE_Fortran_COMPILE_OPTIONS_PREPROCESS_ON AND
add_executable(preprocess_target preprocess2.f)
set_property(TARGET preprocess_target PROPERTY Fortran_PREPROCESS ON)
+ if(CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
+ # gfortran might report spurious warnings if we include the
+ # preprocessing flags at the compilation stage
+ target_compile_options(preprocess_target PRIVATE -Wall -Werror)
+ endif()
+
# Test that we can preprocess a single source file
add_executable(preprocess_source preprocess3.f)
set_property(SOURCE preprocess3.f PROPERTY Fortran_PREPROCESS ON)
diff --git a/Tests/FortranOnly/preprocess2.f b/Tests/FortranOnly/preprocess2.f
index 6595d62..3b332c4 100644
--- a/Tests/FortranOnly/preprocess2.f
+++ b/Tests/FortranOnly/preprocess2.f
@@ -1,4 +1,6 @@
#define int INTEGER
+ ! This single unmatched quote ' should not cause an error during compilation
PROGRAM PREPRO
- int f
+ int f = 1
+ PRINT*, f
END