diff options
author | Brad King <brad.king@kitware.com> | 2019-08-30 19:30:51 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-09-03 18:20:26 (GMT) |
commit | fb9da8e6f421263e8904e8d12586bf7b068ed3b4 (patch) | |
tree | 70e48754291416be101a0e839331d134ff8772af /Tests/FortranOnly | |
parent | 711e1c3ada26d952fa6360e671379b7bf1be2f17 (diff) | |
download | CMake-fb9da8e6f421263e8904e8d12586bf7b068ed3b4.zip CMake-fb9da8e6f421263e8904e8d12586bf7b068ed3b4.tar.gz CMake-fb9da8e6f421263e8904e8d12586bf7b068ed3b4.tar.bz2 |
Ninja: Pass preprocessor definitions when compiling with Intel Fortran
The Intel Fortran compiler supports an extension that allows conditional
compilation based on preprocessor definitions specified on the command
line even when not preprocessing.
Fixes: #19664
Diffstat (limited to 'Tests/FortranOnly')
-rw-r--r-- | Tests/FortranOnly/CMakeLists.txt | 8 | ||||
-rw-r--r-- | Tests/FortranOnly/IntelIfDef.f | 3 | ||||
-rw-r--r-- | Tests/FortranOnly/IntelIfDef.inc | 3 |
3 files changed, 14 insertions, 0 deletions
diff --git a/Tests/FortranOnly/CMakeLists.txt b/Tests/FortranOnly/CMakeLists.txt index 45372dd..de887fa 100644 --- a/Tests/FortranOnly/CMakeLists.txt +++ b/Tests/FortranOnly/CMakeLists.txt @@ -112,3 +112,11 @@ if("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM) ) endif() endif() + +# Test that with Intel Fortran we always compile with preprocessor +# defines even if splitting the preprocessing and compilation steps. +if(CMAKE_Fortran_COMPILER_ID STREQUAL "Intel") + add_executable(IntelIfDef IntelIfDef.f) + set_property(TARGET IntelIfDef PROPERTY Fortran_FORMAT FIXED) + target_compile_definitions(IntelIfDef PRIVATE SOME_DEF) +endif() diff --git a/Tests/FortranOnly/IntelIfDef.f b/Tests/FortranOnly/IntelIfDef.f new file mode 100644 index 0000000..d7a73d1 --- /dev/null +++ b/Tests/FortranOnly/IntelIfDef.f @@ -0,0 +1,3 @@ + INCLUDE 'IntelIfDef.inc' + PROGRAM IntelIfDef + END diff --git a/Tests/FortranOnly/IntelIfDef.inc b/Tests/FortranOnly/IntelIfDef.inc new file mode 100644 index 0000000..52edafa --- /dev/null +++ b/Tests/FortranOnly/IntelIfDef.inc @@ -0,0 +1,3 @@ +CDEC$ IF .NOT. DEFINED(SOME_DEF) +CDEC$ INCLUDE 'SOME_DEF not defined' +CDEC$ END IF |