diff --git a/CMakeLists.txt b/CMakeLists.txt index f8dd75c6809372cf1d3b3285e6083f89de2f2dfd..7b7f7a1f30eb015b23d23c7f299ab585726ee54f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,9 +2,14 @@ project(MemoryProcessing) cmake_minimum_required(VERSION 3.19) option(INCLUDE_CUDA "GPU build in mode" OFF) +option(CXX23_STACKTRACE "Enable C++23 stacktrace" OFF) enable_language(CXX) -set(CMAKE_CXX_STANDARD 11) +if(CXX23_STACKTRACE) + set(CMAKE_CXX_STANDARD 23) +else(CXX23_STACKTRACE) + set(CMAKE_CXX_STANDARD 11) +endif(CXX23_STACKTRACE) message(STATUS "memory processing: GPU build in mode is ${INCLUDE_CUDA}") @@ -34,4 +39,7 @@ endif(INCLUDE_CUDA) set(SOURCES ${SOURCES_CU} ${SOURCES_CXX}) set(HEADERS ${HEADERS_CU} ${HEADERS_CXX}) -add_library(memproc STATIC ${HEADERS} ${SOURCES}) \ No newline at end of file +add_library(memproc STATIC ${HEADERS} ${SOURCES}) +if(CXX23_STACKTRACE) + target_link_libraries(memproc PUBLIC -lstdc++_libbacktrace) +endif(CXX23_STACKTRACE) \ No newline at end of file