add support for CFLAGS and CXXFLAGS; fixes #1
This commit is contained in:
parent
eeaceefca5
commit
a21201b1b9
@ -1,5 +1,7 @@
|
||||
if(CMAKE_C_COMPILER_ID MATCHES Clang)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3 -Wno-unused")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-O0 -g")
|
||||
if(NOT DEFINED ENV{CFLAGS})
|
||||
if(CMAKE_C_COMPILER_ID MATCHES Clang)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-O0 -g")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,5 +1,7 @@
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES Clang)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wno-sign-compare -Woverloaded-virtual -Wwrite-strings -Wno-unused")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -DDEBUG -g")
|
||||
if(NOT DEFINED ENV{CXXFLAGS})
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES Clang)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,5 +1,7 @@
|
||||
if(CMAKE_C_COMPILER_ID MATCHES GNU)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3 -Wno-unused")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-O0 -g")
|
||||
if(NOT DEFINED ENV{CFLAGS})
|
||||
if(CMAKE_C_COMPILER_ID MATCHES GNU)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-O0 -g")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,5 +1,7 @@
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES GNU)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wno-sign-compare -Woverloaded-virtual -Wwrite-strings -Wno-unused")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -DDEBUG -g")
|
||||
if(NOT DEFINED ENV{CXXFLAGS})
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES GNU)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,7 +1,7 @@
|
||||
if(NOT DEFINED ENV{FCFLAGS})
|
||||
if(CMAKE_Fortran_COMPILER_ID MATCHES GNU)
|
||||
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}")
|
||||
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -funroll-all-loops -w")
|
||||
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -funroll-all-loops")
|
||||
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -g -fbacktrace")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,5 +1,7 @@
|
||||
if(CMAKE_C_COMPILER_ID MATCHES Intel)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-O0 -g")
|
||||
if(NOT DEFINED ENV{CFLAGS})
|
||||
if(CMAKE_C_COMPILER_ID MATCHES Intel)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-O0 -g")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,5 +1,7 @@
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES Intel)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-pragmas")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -debug -DDEBUG")
|
||||
if(NOT DEFINED ENV{CXXFLAGS})
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES Intel)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,6 +1,6 @@
|
||||
if(NOT DEFINED ENV{FCFLAGS})
|
||||
if(CMAKE_Fortran_COMPILER_ID MATCHES Intel)
|
||||
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w -assume byterecl")
|
||||
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}")
|
||||
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -ip")
|
||||
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -g -traceback")
|
||||
endif()
|
||||
|
@ -1,5 +1,7 @@
|
||||
if(CMAKE_C_COMPILER_ID MATCHES PGI)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-O0 -g")
|
||||
if(NOT DEFINED ENV{CFLAGS})
|
||||
if(CMAKE_C_COMPILER_ID MATCHES PGI)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-O0 -g")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,5 +1,7 @@
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES PGI)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
|
||||
if(NOT DEFINED ENV{CXXFLAGS})
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES PGI)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,5 +1,7 @@
|
||||
if(CMAKE_C_COMPILER_ID MATCHES XL)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qcpluscmt")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-O0")
|
||||
if(NOT DEFINED ENV{CFLAGS})
|
||||
if(CMAKE_C_COMPILER_ID MATCHES XL)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qcpluscmt")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-O0 -g")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,5 +1,7 @@
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES XL)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
|
||||
if(NOT DEFINED ENV{CXXFLAGS})
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES XL)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1,6 +1,6 @@
|
||||
if(NOT DEFINED ENV{FCFLAGS})
|
||||
if(CMAKE_Fortran_COMPILER_ID MATCHES XL)
|
||||
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -qzerosize -qextname -qsuppress=cmpmsg")
|
||||
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}")
|
||||
set(CMAKE_Fortran_FLAGS_RELEASE "-O3")
|
||||
set(CMAKE_Fortran_FLAGS_DEBUG "-g")
|
||||
endif()
|
||||
|
@ -1,3 +1,31 @@
|
||||
#.rst:
|
||||
#
|
||||
# Adds C support.
|
||||
# Appends EXTRA_CFLAGS to CMAKE_C_FLAGS.
|
||||
# If environment variable CFLAGS is set, then the CFLAGS are used
|
||||
# and no other flags are used or appended.
|
||||
#
|
||||
# Variables used::
|
||||
#
|
||||
# EXTRA_CFLAGS
|
||||
#
|
||||
# Variables modified::
|
||||
#
|
||||
# CMAKE_C_FLAGS
|
||||
#
|
||||
# Environment variables used::
|
||||
#
|
||||
# CFLAGS
|
||||
#
|
||||
# Example autocmake.cfg entry::
|
||||
#
|
||||
# [cc]
|
||||
# source: https://github.com/scisoft/autocmake/raw/master/modules/cc.cmake
|
||||
# docopt: --cc=<CC> C compiler [default: gcc].
|
||||
# --extra-cc-flags=<EXTRA_CFLAGS> Extra C compiler flags [default: ''].
|
||||
# export: 'CC=%s' % arguments['--cc']
|
||||
# define: '-DEXTRA_CFLAGS="%s"' % arguments['--extra-cc-flags']
|
||||
|
||||
enable_language(C)
|
||||
|
||||
if(NOT DEFINED CMAKE_C_COMPILER_ID)
|
||||
@ -8,6 +36,11 @@ if(NOT CMAKE_C_COMPILER_WORKS)
|
||||
message(FATAL_ERROR "CMAKE_C_COMPILER_WORKS is false!")
|
||||
endif()
|
||||
|
||||
if(DEFINED EXTRA_C_FLAGS)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS}")
|
||||
if(DEFINED EXTRA_CFLAGS)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
|
||||
endif()
|
||||
|
||||
if(DEFINED ENV{CFLAGS})
|
||||
message(STATUS "CFLAGS is set to '$ENV{CFLAGS}'.")
|
||||
set(CMAKE_C_FLAGS "$ENV{CFLAGS}")
|
||||
endif()
|
||||
|
@ -1,13 +1,46 @@
|
||||
#.rst:
|
||||
#
|
||||
# Adds C++ support.
|
||||
# Appends EXTRA_CXXFLAGS to CMAKE_CXX_FLAGS.
|
||||
# If environment variable CXXFLAGS is set, then the CXXFLAGS are used
|
||||
# and no other flags are used or appended.
|
||||
#
|
||||
# Variables used::
|
||||
#
|
||||
# EXTRA_CXXFLAGS
|
||||
#
|
||||
# Variables modified::
|
||||
#
|
||||
# CMAKE_CXX_FLAGS
|
||||
#
|
||||
# Environment variables used::
|
||||
#
|
||||
# CXXFLAGS
|
||||
#
|
||||
# Example autocmake.cfg entry::
|
||||
#
|
||||
# [cxx]
|
||||
# source: https://github.com/scisoft/autocmake/raw/master/modules/cxx.cmake
|
||||
# docopt: --cxx=<CXX> C++ compiler [default: g++].
|
||||
# --extra-cxx-flags=<EXTRA_CXXFLAGS> Extra C++ compiler flags [default: ''].
|
||||
# export: 'CXX=%s' % arguments['--cxx']
|
||||
# define: '-DEXTRA_CXXFLAGS="%s"' % arguments['--extra-cxx-flags']
|
||||
|
||||
enable_language(CXX)
|
||||
|
||||
if(NOT DEFINED CMAKE_CXX_COMPILER_ID)
|
||||
message(FATAL_ERROR "CMAKE_CXX_COMPILER_ID variable is not defined!")
|
||||
if(NOT DEFINED CMAKE_C_COMPILER_ID)
|
||||
message(FATAL_ERROR "CMAKE_C_COMPILER_ID variable is not defined!")
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_CXX_COMPILER_WORKS)
|
||||
message(FATAL_ERROR "CMAKE_CXX_COMPILER_WORKS is false!")
|
||||
if(NOT CMAKE_C_COMPILER_WORKS)
|
||||
message(FATAL_ERROR "CMAKE_C_COMPILER_WORKS is false!")
|
||||
endif()
|
||||
|
||||
if(DEFINED EXTRA_CXX_FLAGS)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXX_FLAGS}")
|
||||
if(DEFINED EXTRA_CXXFLAGS)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS}")
|
||||
endif()
|
||||
|
||||
if(DEFINED ENV{CXXFLAGS})
|
||||
message(STATUS "CXXFLAGS is set to '$ENV{CXXFLAGS}'.")
|
||||
set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS}")
|
||||
endif()
|
||||
|
@ -5,10 +5,6 @@
|
||||
# If environment variable FCFLAGS is set, then the FCFLAGS are used
|
||||
# and no other flags are used or appended.
|
||||
#
|
||||
# Environment variables used::
|
||||
#
|
||||
# FCFLAGS
|
||||
#
|
||||
# Variables used::
|
||||
#
|
||||
# EXTRA_FCFLAGS
|
||||
@ -21,6 +17,10 @@
|
||||
#
|
||||
# CMAKE_Fortran_FLAGS
|
||||
#
|
||||
# Environment variables used::
|
||||
#
|
||||
# FCFLAGS
|
||||
#
|
||||
# Example autocmake.cfg entry::
|
||||
#
|
||||
# [fc]
|
||||
|
@ -4,7 +4,9 @@ name: example
|
||||
[cxx]
|
||||
source: https://github.com/scisoft/autocmake/raw/master/modules/cxx.cmake
|
||||
docopt: --cxx=<CXX> C++ compiler [default: g++].
|
||||
--extra-cxx-flags=<EXTRA_CXXFLAGS> Extra C++ compiler flags [default: ''].
|
||||
export: 'CXX=%s' % arguments['--cxx']
|
||||
define: '-DEXTRA_CXXFLAGS="%s"' % arguments['--extra-cxx-flags']
|
||||
|
||||
[default_build_paths]
|
||||
source: https://github.com/scisoft/autocmake/raw/master/modules/default_build_paths.cmake
|
||||
|
Loading…
x
Reference in New Issue
Block a user