diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 59 |
1 files changed, 54 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 91512a6d..9519785a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,20 +1,69 @@ # Project definition. PROJECT (tome2) -CMAKE_MINIMUM_REQUIRED (VERSION 2.6) +CMAKE_MINIMUM_REQUIRED (VERSION 2.8) # We want a readable feature summary. INCLUDE(FeatureSummary) -# Default flags. +# pkg-config support +INCLUDE(FindPkgConfig) + +# +# Basic common compiler flags. +# +SET(COMMON_COMPILER_FLAGS "-pipe -Wall -Wno-unused-value -fsanitize=undefined -fsanitize=address") + +# +# GCC/G++ flags +# IF(CMAKE_COMPILER_IS_GNUCC) # Let's set sensible options. - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -Wall -Wno-unused-value") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_COMPILER_FLAGS}") + SET(CMAKE_C_FLAGS_RELEASE "-O2") + SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_COMPILER_FLAGS} --std=c++11 -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC") + SET(CMAKE_CXX_FLAGS_RELEASE "-O2") + SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") +ENDIF() + +# +# Clang flags +# +IF("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_COMPILER_FLAGS}") SET(CMAKE_C_FLAGS_RELEASE "-O2") SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") ENDIF() +IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_COMPILER_FLAGS} --std=c++11 -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC") + SET(CMAKE_CXX_FLAGS_RELEASE "-O2") + SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") +ENDIF() + +# Add standard math library +SET(LIBS ${LIBS} m) -# Add definitions. -ADD_DEFINITIONS(-DUSE_PRECISE_CMOVIE) +# +# JSON support +# +PKG_CHECK_MODULES(JANSSON REQUIRED jansson) +IF(JANSSON_FOUND) + ADD_DEFINITIONS(${JANSSON_CFLAGS}) + INCLUDE_DIRECTORIES(${JANSSON_INCLUDE_DIRS}) + LINK_DIRECTORIES(${JANSSON_LIBRARY_DIRS}) + SET(LIBS ${LIBS} ${JANSSON_LIBRARIES}) +ENDIF() + +# +# BOOST +# +FIND_PACKAGE(Boost 1.54.0 REQUIRED COMPONENTS system filesystem) + +IF(Boost_FOUND) + ADD_DEFINITIONS(-DBOOST_FILESYSTEM_NO_DEPRECATED) + INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) + SET(LIBS ${LIBS} ${Boost_LIBRARIES} ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY}) +ENDIF() # # X11 support (OPTIONAL) |