Skip to content
Snippets Groups Projects
Commit 9f0c321e authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Few CMake configuration improvements

- C++-17 is now default
- Default build type is now 'RelWithDebInfo'
- for non Release build types
  - Kokkos is built in debug mode (=> checks for bounds)
  - standard C++ library is built in debug mode (=> checks for bounds)
parent 7f1ed3ef
No related branches found
No related tags found
No related merge requests found
......@@ -20,15 +20,37 @@ set(PASTIS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
# Kokkos
set(KOKKOS_ENABLE_OPENMP ON CACHE BOOL "")
if (CMAKE_BUILD_TYPE MATCHES "Release")
set (KOKKOS_ENABLE_DEBUG OFF)
else()
set (KOKKOS_ENABLE_DEBUG ON)
endif()
set(CMAKE_CXX_STANDARD "17")
add_subdirectory(${PASTIS_SOURCE_DIR}/packages/kokkos)
include_directories(${Kokkos_INCLUDE_DIRS_RET})
# Compiler flags
# Default build type is RelWIthDebInfo
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel."
FORCE)
endif(NOT CMAKE_BUILD_TYPE)
# Pastis default compiler flags
set(PASTIS_CXX_FLAGS "-Wall")
# Kokkso compiler flags
include(GetKokkosCompilerFlags)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
# Compiler flags
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PASTIS_CXX_FLAGS}")
# Add debug mode for Standard C++ library
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG -D_LIBCPP_DEBUG=1")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG -D_LIBCPP_DEBUG=1 ${PASTIS_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -D_GLIBCXX_DEBUG -D_LIBCPP_DEBUG=1 ${PASTIS_CXX_FLAGS}")
#------------------------------------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment