summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorDavid Snopek <dsnopek@gmail.com>2024-08-07 15:53:35 -0500
committerGitHub <noreply@github.com>2024-08-07 15:53:35 -0500
commite3e8101e8c2d025b3b7d13545d4355f326454b8f (patch)
tree267c2fc3a362c0e44942d273071719267150c950 /CMakeLists.txt
parentdaf6ad3649898e019baeeefafd05d0390e9f78bd (diff)
parent0a078d9ec95baba15783bfe4159b6377380cb3cf (diff)
downloadredot-cpp-e3e8101e8c2d025b3b7d13545d4355f326454b8f.tar.gz
Merge pull request #1330 from pimms/cmake-hot-reload
Add hot reload support to CMakeLists.txt
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt12
1 files changed, 12 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7884a06..9609061 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,6 +5,7 @@
# GODOT_GDEXTENSION_DIR: Path to the directory containing GDExtension interface header and API JSON file
# GODOT_CPP_SYSTEM_HEADERS Mark the header files as SYSTEM. This may be useful to suppress warnings in projects including this one.
# GODOT_CPP_WARNING_AS_ERROR Treat any warnings as errors
+# GODOT_ENABLE_HOT_RELOAD Build with hot reload support. Defaults to YES for Debug-builds and NO for Release-builds.
# GODOT_CUSTOM_API_FILE: Path to a custom GDExtension API JSON file (takes precedence over `gdextension_dir`)
# FLOAT_PRECISION: Floating-point precision level ("single", "double")
#
@@ -57,6 +58,13 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "")
set(CMAKE_BUILD_TYPE Debug)
endif()
+# Hot reload is enabled by default in Debug-builds
+if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
+ option(GODOT_ENABLE_HOT_RELOAD "Build with hot reload support" ON)
+else()
+ option(GODOT_ENABLE_HOT_RELOAD "Build with hot reload support" OFF)
+endif()
+
if(NOT DEFINED BITS)
set(BITS 32)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
@@ -116,6 +124,10 @@ else()
endif()
endif()
+if (GODOT_ENABLE_HOT_RELOAD)
+ set(GODOT_COMPILE_FLAGS "${GODOT_COMPILE_FLAGS} -D HOT_RELOAD_ENABLED")
+endif()
+
# Generate source from the bindings file
find_package(Python3 3.4 REQUIRED) # pathlib should be present
if(GENERATE_TEMPLATE_GET_NODE)