diff options
author | Mika Väinölä <33728696+mvainola@users.noreply.github.com> | 2020-05-19 19:57:17 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-19 12:57:17 -0400 |
commit | 2f42dc26a78fe0ff9afa73d698344fb2170658d9 (patch) | |
tree | 3b3b08b4289b5245885e991e04b922603b797d69 /CMakeLists.txt | |
parent | 7baf4ab5050f7cba38dff44dd1e8c3bb14fed686 (diff) | |
download | amber-2f42dc26a78fe0ff9afa73d698344fb2170658d9.tar.gz |
Add definition for enabling RTTI (#864)
Add -DAMBER_ENABLE_RTTI for disabling the `-fno-rtti` flag for GCC and Clang.
Runtime type information is needed for VK-GL-CTS due to its use of
dynamic_cast.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d334d6..9f65d5f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,6 +49,8 @@ option(AMBER_ENABLE_SWIFTSHADER "Build using SwiftShader" ${AMBER_ENABLE_SWIFTSHADER}) option(AMBER_ENABLE_VK_DEBUGGING "Build with cppdap debugging support" ${AMBER_ENABLE_VK_DEBUGGING}) +option(AMBER_ENABLE_RTTI + "Build with runtime type information" OFF) if (${AMBER_USE_CLSPV} OR ${AMBER_ENABLE_SWIFTSHADER}) set(CMAKE_CXX_STANDARD 14) @@ -128,6 +130,7 @@ message(STATUS "Amber enable lodepng: ${AMBER_ENABLE_LODEPNG}") message(STATUS "Amber enable SwiftShader: ${AMBER_ENABLE_SWIFTSHADER}") message(STATUS "Amber enable DXC: ${AMBER_ENABLE_DXC}") message(STATUS "Amber enable Clspv: ${AMBER_ENABLE_CLSPV}") +message(STATUS "Amber enable RTTI: ${AMBER_ENABLE_RTTI}") include_directories("${PROJECT_SOURCE_DIR}/include") include_directories("${PROJECT_SOURCE_DIR}") @@ -151,6 +154,7 @@ add_definitions(-DAMBER_ENABLE_DXC=$<BOOL:${AMBER_ENABLE_DXC}>) add_definitions(-DAMBER_ENABLE_CLSPV=$<BOOL:${AMBER_ENABLE_CLSPV}>) add_definitions(-DAMBER_ENABLE_LODEPNG=$<BOOL:${AMBER_ENABLE_LODEPNG}>) add_definitions(-DAMBER_ENABLE_VK_DEBUGGING=$<BOOL:${AMBER_ENABLE_VK_DEBUGGING}>) +add_definitions(-DAMBER_ENABLE_RTTI=$<BOOL:${AMBER_ENABLE_RTTI}>) set(CMAKE_DEBUG_POSTFIX "") @@ -200,7 +204,6 @@ function(amber_default_compile_options TARGET) target_compile_options(${TARGET} PRIVATE -std=c++11 -fno-exceptions - -fno-rtti -fvisibility=hidden -Wall -Werror @@ -211,6 +214,10 @@ function(amber_default_compile_options TARGET) -pedantic-errors ) + if(NOT ${AMBER_ENABLE_RTTI}) + target_compile_options(${TARGET} PRIVATE -fno-rtti) + endif() + if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") target_compile_options(${TARGET} PRIVATE -Wno-c++98-compat |