Rework debug flags for CMake
* Attach debug flags to the target and mark as `PUBLIC`. This will allow all projects that use bindings not to add the same defines manually. * Use generator-expressions to support multiconfig generators (such as MSVC). * Remove excplitic `NDEBUG` and `_DEBUG` flags, CMake handles it automatically.pull/639/head
parent
230fd4bc08
commit
2f92b4a37d
|
@ -44,14 +44,6 @@ if(CMAKE_BUILD_TYPE STREQUAL "")
|
||||||
set(CMAKE_BUILD_TYPE Debug)
|
set(CMAKE_BUILD_TYPE Debug)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_BUILD_TYPE MATCHES Debug)
|
|
||||||
add_definitions(-D_DEBUG)
|
|
||||||
add_definitions(-DDEBUG_ENABLED)
|
|
||||||
add_definitions(-DDEBUG_METHODS_ENABLED)
|
|
||||||
else()
|
|
||||||
add_definitions(-DNDEBUG)
|
|
||||||
endif(CMAKE_BUILD_TYPE MATCHES Debug)
|
|
||||||
|
|
||||||
# Set the c++ standard to c++17
|
# Set the c++ standard to c++17
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
@ -155,8 +147,11 @@ add_library(${PROJECT_NAME}
|
||||||
${GENERATED_FILES_LIST}
|
${GENERATED_FILES_LIST}
|
||||||
)
|
)
|
||||||
add_library(godot::cpp ALIAS ${PROJECT_NAME})
|
add_library(godot::cpp ALIAS ${PROJECT_NAME})
|
||||||
target_include_directories(${PROJECT_NAME}
|
target_compile_definitions(${PROJECT_NAME} PUBLIC
|
||||||
PUBLIC
|
$<$<CONFIG:Debug>:DEBUG_ENABLED>
|
||||||
|
$<$<CONFIG:Debug>:DEBUG_METHODS_ENABLED>
|
||||||
|
)
|
||||||
|
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||||
include
|
include
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/gen/include
|
${CMAKE_CURRENT_BINARY_DIR}/gen/include
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue