ENDIF()
INCLUDE(cmake/CheckFrameworks.cmake)
-INCLUDE(cmake/CStandard.cmake)
+
+IF(NOT CMAKE_BUILD_TYPE)
+ SET(CMAKE_BUILD_TYPE "RELEASE")
+ENDIF(NOT CMAKE_BUILD_TYPE)
+
+SET(CMAKE_C_FLAGS_DEBUG "-std=c11 -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
+SET(CMAKE_CXX_FLAGS_DEBUG "-std=c++17 -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
+SET(CMAKE_C_FLAGS_RELEASE "-std=c11 -O2 -DNDEBUG")
+SET(CMAKE_CXX_FLAGS_RELEASE "-std=c++17 -O2 -DNDEBUG")
ADD_DEFINITIONS("-Werror")
ADD_DEFINITIONS("-Wall")
+++ /dev/null
-IF(CMAKE_VERSION VERSION_LESS 3.1)
- include(CheckCXXCompilerFlag)
- include(CheckCCompilerFlag)
-
- message(STATUS "Using old cmake, will detect C++11 and C11 manually")
-
- CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
- CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
- CHECK_CXX_COMPILER_FLAG("-std=gnu++11" COMPILER_SUPPORTS_GNUXX11)
- CHECK_CXX_COMPILER_FLAG("-std=gnu++0x" COMPILER_SUPPORTS_GNUXX0X)
- CHECK_CXX_COMPILER_FLAG("/std:c++14" COMPILER_SUPPORTS_STDCXX14)
- CHECK_CXX_COMPILER_FLAG("/std:c++latest" COMPILER_SUPPORTS_STDCXXLATEST)
-
- IF(COMPILER_SUPPORTS_CXX11)
- SET(OLD_CMAKE_CXXFLAGS_CXX11 "-std=c++11")
- ELSEIF(COMPILER_SUPPORTS_CXX0X)
- SET(OLD_CMAKE_CXXFLAGS_CXX11 "-std=c++0x")
- ELSEIF(COMPILER_SUPPORTS_GNUXX11)
- SET(OLD_CMAKE_CXXFLAGS_CXX11 "-std=gnu++11")
- ELSEIF(COMPILER_SUPPORTS_GNUXX0X)
- SET(OLD_CMAKE_CXXFLAGS_CXX11 "-std=gnu++0x")
- ELSEIF(COMPILER_SUPPORTS_STDCXXLATEST)
- SET(OLD_CMAKE_CXXFLAGS_CXX11 "/std:c++latest")
- ELSEIF(COMPILER_SUPPORTS_STDCXX14)
- SET(OLD_CMAKE_CXXFLAGS_CXX11 "/std:c++14")
- ELSE()
- MESSAGE(FATAL_ERROR "No known way to enable C++11. Please upgrade cmake or compiler")
- ENDIF()
-
- CHECK_C_COMPILER_FLAG("-std=c11" COMPILER_SUPPORTS_C11)
- CHECK_C_COMPILER_FLAG("-std=gnu11" COMPILER_SUPPORTS_GNU11)
-
- IF(COMPILER_SUPPORTS_C11)
- SET(OLD_CMAKE_CLAGS_C11 "-std=c11")
- ELSEIF(COMPILER_SUPPORTS_GNU11)
- SET(OLD_CMAKE_CLAGS_C11 "-std=gnu11")
- ELSE()
- IF((CMAKE_C_COMPILER_ID MATCHES "Clang") OR (CMAKE_C_COMPILER_ID MATCHES "GNU"))
- MESSAGE(FATAL_ERROR "Can't find way to enable C11")
- ENDIF()
- ENDIF()
-ENDIF()
-
-MACRO(ApplyCxx11Standard TargetName)
- IF(CMAKE_VERSION VERSION_LESS 3.1)
- IF(NOT __OLD_CMAKE_CXX11_ALREADY_APPLIED)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OLD_CMAKE_CXXFLAGS_CXX11}")
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OLD_CMAKE_CLAGS_C11}")
- SET(__OLD_CMAKE_CXX11_ALREADY_APPLIED TRUE)
- ENDIF()
- ELSE()
- set_property(TARGET ${TargetName}
- PROPERTY
- CXX_STANDARD 11)
- set_property(TARGET ${TargetName}
- PROPERTY
- CXX_STANDARD_REQUIRED TRUE)
- set_property(TARGET ${TargetName}
- PROPERTY
- C_STANDARD 11)
- set_property(TARGET ${TargetName}
- PROPERTY
- C_STANDARD_REQUIRED TRUE)
- ENDIF()
-ENDMACRO(ApplyCxx11Standard)