From fe57d86aafe154c2aa57a55eb49fdd6733b73ed8 Mon Sep 17 00:00:00 2001 From: Viktor Klochkov <v.klochkov@gsi.de> Date: Fri, 19 Jul 2019 10:59:13 +0200 Subject: [PATCH] build type --- .gitignore | 3 +++ CMakeLists.txt | 24 ++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1ff9628 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +build/* +install/* +Doxygen/* diff --git a/CMakeLists.txt b/CMakeLists.txt index 7bb0e99..359f4c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,10 +1,30 @@ cmake_minimum_required(VERSION 2.8) project(Centrality) set(CMAKE_MACOSX_RPATH 1) -set(CMAKE_cpp_STANDARD 11) -set(CMAKE_BUILD_TYPE debug) set(PROJECT_VERSION 1.0) +if(NOT DEFINED CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 11) +endif() + +set(CMAKE_CXX_STANDARD_REQUIRED ON) +message(STATUS "Using C++${CMAKE_CXX_STANDARD}") + +# by default build optimized code with debug symbols +if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE RELWITHDEBINFO) +endif () + +# in DEBUG mode make verbose Makefile +if (CMAKE_BUILD_TYPE MATCHES DEBUG) + set(CMAKE_VERBOSE_MAKEFILE ON) +endif () + +set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb -DDEBUG -D__DEBUG -Wall") +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} -ggdb") +set(CMAKE_CXX_FLAGS_RELEASE "-O3 -march=native -ftree-vectorize -ffast-math -DNODEBUG") +message(STATUS "Using CXX flags for ${CMAKE_BUILD_TYPE}: ${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}}") + set(SOURCES src/BordersFinder.cpp src/BordersFinderHelper.cpp -- GitLab