Skip to content

Commit 12ff9e5

Browse files
committed
Update f90/CMakeLists.txt to only use Fortran flags for Fortran files (magnetotellurics#39)
Before, several flags were being specified for the ModEM target that were not properly being wrapped in a CMake generator expression. Currently this is not a problem at all, but it would prevent any C files to be included, as CMake will try to use these flags when compiling a C file. This will prevent that issue occurring if a C file is added in the future.
1 parent f0f2e29 commit 12ff9e5

1 file changed

Lines changed: 13 additions & 12 deletions

File tree

f90/CMakeLists.txt

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@ if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
2020
target_compile_options(
2121
${MODEM_EXE}
2222
PRIVATE
23-
-cpp -ffree-line-length-none -fallow-argument-mismatch
2423
$<$<CONFIG:RELEASE>:-O3>
25-
2624
$<$<CONFIG:DEBUG>:-O0>
2725
$<$<CONFIG:DEBUG>:-g>
28-
$<$<CONFIG:DEBUG>:-fbacktrace>
29-
$<$<CONFIG:DEBUG>:-fbounds-check>
26+
$<$<COMPILE_LANGUAGE:Fortran>:-cpp>
27+
$<$<COMPILE_LANGUAGE:Fortran>:-ffree-line-length-none>
28+
$<$<COMPILE_LANGUAGE:Fortran>:-fallow-argument-mismatch>
29+
$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:DEBUG>>:-fbacktrace>
30+
$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:DEBUG>>:-fbounds-check>
3031
)
3132
elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
3233
enable_language(C)
@@ -38,17 +39,17 @@ elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
3839
target_compile_options(
3940
${MODEM_EXE}
4041
PRIVATE
41-
-fpp
42-
-parallel
4342
$<$<CONFIG:RELEASE>:-O3>
4443
$<$<CONFIG:RELEASE>:-w>
4544
$<$<CONFIG:DEBUG>:-O0>
46-
$<$<COMPILE_LANGUAGE:Fortran>:-fp-stack-check>
47-
$<$<COMPILE_LANGUAGE:Fortran>:-g>
48-
$<$<COMPILE_LANGUAGE:Fortran>:-traceback>
49-
$<$<COMPILE_LANGUAGE:Fortran>:-debug extend>
50-
$<$<COMPILE_LANGUAGE:Fortran>:-check bounds>
45+
$<$<CONFIG:DEBUG>:-g>
46+
$<$<COMPILE_LANGUAGE:Fortran>:-fpp>
47+
$<$<COMPILE_LANGUAGE:Fortran>:-parallel>
5148
$<$<COMPILE_LANGUAGE:Fortran>:-heap-array>
49+
$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:DEBUG>>:-fp-stack-check>
50+
$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:DEBUG>>:-traceback>
51+
$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:DEBUG>>:-debug extend>
52+
$<$<AND:$<COMPILE_LANGUAGE:Fortran>,$<CONFIG:DEBUG>>:-check bounds>
5253
)
5354
target_link_libraries(
5455
${MODEM_EXE}
@@ -64,7 +65,7 @@ elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
6465
-qopenmp
6566
)
6667
else()
67-
message(FATAL_ERROR "Unknown/Unsupported Fortran Compiler: '${CMake_Fortran_COMPILER_ID}' - Supported compilers are < GNU | Ifort")
68+
message(FATAL_ERROR "Unknown/Unsupported Fortran Compiler: '${CMAKE_Fortran_COMPILER_ID}' - Supported compilers are < GNU | Ifort")
6869
endif()
6970

7071

0 commit comments

Comments
 (0)