Skip to content

Commit fe19f9f

Browse files
committed
cmake: compiler feature checks before flags
1 parent 1df6f9d commit fe19f9f

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

cmake/compilers.cmake

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
set(CMAKE_CONFIGURATION_TYPES "Release;RelWithDebInfo;Debug" CACHE STRING "Build type selections" FORCE)
22

3+
4+
include(CheckCSourceCompiles)
5+
include(CheckCSourceRuns)
6+
include(CheckFortranSourceCompiles)
7+
8+
include(${CMAKE_CURRENT_LIST_DIR}/f08block.cmake)
9+
include(${CMAKE_CURRENT_LIST_DIR}/f08contig.cmake)
10+
include(${CMAKE_CURRENT_LIST_DIR}/f18errorstop.cmake)
11+
include(${CMAKE_CURRENT_LIST_DIR}/f18random.cmake)
12+
include(${CMAKE_CURRENT_LIST_DIR}/f18assumed_rank.cmake)
13+
include(${CMAKE_CURRENT_LIST_DIR}/f08kind.cmake)
14+
include(${CMAKE_CURRENT_LIST_DIR}/f18prop.cmake)
15+
include(${CMAKE_CURRENT_LIST_DIR}/f08command.cmake)
16+
include(${CMAKE_CURRENT_LIST_DIR}/f03ieee.cmake)
17+
18+
# compiler feature checks BEFORE setting flags to avoid intermittant failures in general
19+
320
if(CMAKE_Fortran_COMPILER_ID STREQUAL Intel)
421
if(WIN32)
522
add_compile_options(/arch:native)
@@ -29,17 +46,3 @@ elseif(CMAKE_Fortran_COMPILER_ID STREQUAL NAG)
2946
# https://www.nag.co.uk/nagware/np/r70_doc/manual/compiler_2_4.html#OPTIONS
3047
string(APPEND CMAKE_Fortran_FLAGS " -f2018 -C -colour -gline -nan -info -u")
3148
endif()
32-
33-
include(CheckCSourceCompiles)
34-
include(CheckCSourceRuns)
35-
include(CheckFortranSourceCompiles)
36-
37-
include(${CMAKE_CURRENT_LIST_DIR}/f08block.cmake)
38-
include(${CMAKE_CURRENT_LIST_DIR}/f08contig.cmake)
39-
include(${CMAKE_CURRENT_LIST_DIR}/f18errorstop.cmake)
40-
include(${CMAKE_CURRENT_LIST_DIR}/f18random.cmake)
41-
include(${CMAKE_CURRENT_LIST_DIR}/f18assumed_rank.cmake)
42-
include(${CMAKE_CURRENT_LIST_DIR}/f08kind.cmake)
43-
include(${CMAKE_CURRENT_LIST_DIR}/f18prop.cmake)
44-
include(${CMAKE_CURRENT_LIST_DIR}/f08command.cmake)
45-
include(${CMAKE_CURRENT_LIST_DIR}/f03ieee.cmake)

0 commit comments

Comments
 (0)