|
@@ -4,7 +4,7 @@
|
|
|
# godot-cpp cmake arguments
|
|
|
# GODOT_GDEXTENSION_DIR: Path to the directory containing GDExtension interface header and API JSON file
|
|
|
# GODOT_CUSTOM_API_FILE: Path to a custom GDExtension API JSON file (takes precedence over `gdextension_dir`)
|
|
|
-# FLOAT_TYPE Floating-point precision (32, 64)
|
|
|
+# FLOAT_PRECISION: Floating-point precision level ("single", "double")
|
|
|
#
|
|
|
# Android cmake arguments
|
|
|
# CMAKE_TOOLCHAIN_FILE: The path to the android cmake toolchain ($ANDROID_NDK/build/cmake/android.toolchain.cmake)
|
|
@@ -45,11 +45,6 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
|
|
set(CMAKE_BUILD_TYPE Debug)
|
|
|
endif()
|
|
|
|
|
|
-set(FLOAT_TYPE_FLAG "float" CACHE STRING "")
|
|
|
-if(FLOAT_TYPE EQUAL 64)
|
|
|
- set(FLOAT_TYPE_FLAG "double" CACHE STRING "")
|
|
|
-endif(FLOAT_TYPE EQUAL 64)
|
|
|
-
|
|
|
if(NOT DEFINED BITS)
|
|
|
set(BITS 32)
|
|
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
@@ -60,6 +55,10 @@ endif()
|
|
|
# Input from user for GDExtension interface header and the API JSON file
|
|
|
set(GODOT_GDEXTENSION_DIR "gdextension" CACHE STRING "")
|
|
|
set(GODOT_CUSTOM_API_FILE "" CACHE STRING "")
|
|
|
+set(FLOAT_PRECISION "single" CACHE STRING "")
|
|
|
+if ("${FLOAT_PRECISION}" STREQUAL "double")
|
|
|
+ add_definitions(-DREAL_T_IS_DOUBLE)
|
|
|
+endif()
|
|
|
|
|
|
set(GODOT_GDEXTENSION_API_FILE "${GODOT_GDEXTENSION_DIR}/extension_api.json")
|
|
|
if (NOT "${GODOT_CUSTOM_API_FILE}" STREQUAL "") # User-defined override.
|
|
@@ -136,7 +135,7 @@ execute_process(COMMAND "${Python3_EXECUTABLE}" "-c" "import binding_generator;
|
|
|
)
|
|
|
|
|
|
add_custom_command(OUTPUT ${GENERATED_FILES_LIST}
|
|
|
- COMMAND "${Python3_EXECUTABLE}" "-c" "import binding_generator; binding_generator.generate_bindings(\"${GODOT_GDEXTENSION_API_FILE}\", \"${GENERATE_BINDING_PARAMETERS}\", \"${BITS}\", \"${FLOAT_TYPE_FLAG}\", \"${CMAKE_CURRENT_BINARY_DIR}\")"
|
|
|
+ COMMAND "${Python3_EXECUTABLE}" "-c" "import binding_generator; binding_generator.generate_bindings(\"${GODOT_GDEXTENSION_API_FILE}\", \"${GENERATE_BINDING_PARAMETERS}\", \"${BITS}\", \"${FLOAT_PRECISION}\", \"${CMAKE_CURRENT_BINARY_DIR}\")"
|
|
|
VERBATIM
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
MAIN_DEPENDENCY ${GODOT_GDEXTENSION_API_FILE}
|