53 lines
2.2 KiB
CMake
53 lines
2.2 KiB
CMake
###################################################################################################
|
||
# PGI Compiler
|
||
###################################################################################################
|
||
|
||
if (OPENMP)
|
||
set (OPENMP_FLAGS "-mp")
|
||
else ()
|
||
set (OPENMP_FLAGS "-nomp")
|
||
endif ()
|
||
|
||
|
||
if (OPTIMIZATION STREQUAL "OFF")
|
||
set (OPTIMIZATION_FLAGS "-O0" )
|
||
elseif (OPTIMIZATION STREQUAL "DEFENSIVE")
|
||
set (OPTIMIZATION_FLAGS "-O2 -fast")
|
||
elseif (OPTIMIZATION STREQUAL "AGGRESSIVE")
|
||
set (OPTIMIZATION_FLAGS "-O4 -fast -Mvect=sse")
|
||
endif ()
|
||
|
||
set (STANDARD_CHECK "-Mallocatable=03 -Mstandard")
|
||
|
||
#------------------------------------------------------------------------------------------------
|
||
# Fine tuning compilation options
|
||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -Mpreprocess")
|
||
# preprocessor
|
||
|
||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -Minfo=all")
|
||
# instructs the compiler to produce information on standard error
|
||
|
||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -Minform=warn")
|
||
# instructs the compiler to display error messages at the specified and higher levels
|
||
|
||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -Mdclchk")
|
||
# instructs the compiler to require that all program variables be declared
|
||
|
||
#------------------------------------------------------------------------------------------------O
|
||
# Runtime debugging
|
||
set (DEBUG_FLAGS "${DEBUG_FLAGS} -g")
|
||
# Includes debugging information in the object module; sets the optimization level to zero unless a -O option is present on the command line
|
||
set (DEBUG_FLAGS "${DEBUG_FLAGS} -C")
|
||
# Generates code to check array bounds
|
||
set (DEBUG_FLAGS "${DEBUG_FLAGS} -Mchkptr")
|
||
# Check for NULL pointers (pgf95, pgfortran only)
|
||
set (DEBUG_FLAGS "${DEBUG_FLAGS} -Mchkstk")
|
||
# Check the stack for available space upon entry to and before the start of a parallel region. Useful when many private variables are declared
|
||
set (DEBUG_FLAGS "${DEBUG_FLAGS} -Mbounds")
|
||
# Specifies whether array bounds checking is enabled or disabled
|
||
|
||
#------------------------------------------------------------------------------------------------
|
||
# precision settings
|
||
set (PRECISION_FLAGS "${PRECISION_FLAGS} -r8")
|
||
# Determines whether the compiler promotes REAL variables and constants to DOUBLE PRECISION
|