diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..1ff96281e03356bc106049fad64bbd25aeb2a4b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +build/* +install/* +Doxygen/* diff --git a/CMakeLists.txt b/CMakeLists.txt index 7bb0e99f3f42c37cfd6702bcd33e7c2b90294f91..359f4c8b07a83c63c62c4b0cbc3bc5416abb88f2 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