Simplify compile flags settings 96/236496/2
authorDariusz Michaluk <d.michaluk@samsung.com>
Wed, 17 Jun 2020 12:07:43 +0000 (14:07 +0200)
committerDariusz Michaluk <d.michaluk@samsung.com>
Tue, 30 Jun 2020 10:31:02 +0000 (12:31 +0200)
Set C++17 and C11 as default. Add release & debug flags.

Change-Id: I3d331557c42e52390935c1d706239fc04d2e0e78

CMakeLists.txt
cmake/CStandard.cmake [deleted file]
src/dummy-backend/CMakeLists.txt
src/kse-backend/CMakeLists.txt

index 552c49918989decd3c1969b38e63745679db6e8b..1b3de236de84aa1e4a8e64b0c27d6e8e1c6d80bf 100644 (file)
@@ -37,7 +37,15 @@ ELSE()
 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")
diff --git a/cmake/CStandard.cmake b/cmake/CStandard.cmake
deleted file mode 100644 (file)
index 8ce980c..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-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)
index 403fa54de350c8bf471602f44d6456bf62e03d1c..4f3414c1b851495107d0999a2eebff9015a4ddf4 100644 (file)
@@ -86,9 +86,6 @@ add_library(${DCM_BACKEND_API}
 )
 
 ###### Linking ######
-
-ApplyCxx11Standard(${DCM_BACKEND_API})
-
 target_link_libraries(${DCM_BACKEND_API}
        ${Boost_SYSTEM_LIBRARY}
        ${CMAKE_THREAD_LIBS_INIT}
index ca66a8d75046a996558d951b2cd18f4b39df3200..4cde8d48e0e88f33f930c29ef127cc81b8dbdc9e 100644 (file)
@@ -40,9 +40,6 @@ add_library(${DCM_BACKEND_API}
 )
 
 ###### Linking ######
-
-ApplyCxx11Standard(${DCM_BACKEND_API})
-
 target_link_libraries(${DCM_BACKEND_API}
        ${Boost_SYSTEM_LIBRARY}
        ${CMAKE_THREAD_LIBS_INIT}