1
1
cmake_minimum_required (VERSION 3.6)
2
2
project (gdpaho)
3
3
4
+ option (BUILD_FOR_EDITOR "If true, create and install libs as release ready to use in the demo folder" FALSE )
5
+
4
6
set (GODOT_GDEXTENSION_DIR godot-cpp/gdextension/ CACHE STRING "Path to GDExtension interface header directory" )
5
7
set (CPP_BINDINGS_PATH godot-cpp CACHE STRING "Path to C++ bindings" )
6
8
9
+ if (DEFINED BUILD_FOR_EDITOR)
10
+ if (${BUILD_FOR_EDITOR} )
11
+ set (CMAKE_BUILD_TYPE Release)
12
+ message ("Build for editor mode ignore CMAKE_BUILD_TYPE, " CMAKE_BUILD_TYPE ="${CMAKE_BUILD_TYPE} " )
13
+ execute_process (
14
+ COMMAND cmake -DCMAKE_BUILD_TYPE=Release godot-cpp -B godot-cpp
15
+ WORKING_DIRECTORY "."
16
+ COMMAND_ECHO STDOUT
17
+ )
18
+ execute_process (
19
+ COMMAND cmake --build godot-cpp
20
+ WORKING_DIRECTORY "."
21
+ COMMAND_ECHO STDOUT
22
+ )
23
+ endif ()
24
+ endif ()
25
+
7
26
if (CMAKE_SYSTEM_NAME STREQUAL "Linux" )
8
27
set (TARGET_PATH x11)
28
+ set (LIB_EXT ".so" )
9
29
elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows" )
10
30
set (TARGET_PATH win64)
11
- set (PAHO_MQTT_C_LIBRARIES "C:/Program Files (x86)/Eclipse Paho C/lib/" CACHE PATH "Paho C libraries directory override" FORCE)
31
+ set (PAHO_MQTT_C_LIBRARIES "C:/Program Files (x86)/Eclipse Paho C/lib/paho-mqtt3as-static.lib " CACHE PATH "Paho C libraries directory override" FORCE)
12
32
set (PAHO_MQTT_C_INCLUDE_DIRS "C:/Program Files (x86)/Eclipse Paho C/include/" CACHE PATH "Paho C includes directory override" FORCE)
13
33
set (PahoMqttCpp_DIR "C:/Program Files (x86)/paho-mqtt-cpp/lib/cmake/PahoMqttCpp" CACHE PATH "Paho CPP directory override" FORCE)
34
+ set (LIB_EXT ".dll" )
14
35
15
36
elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" )
16
37
set (TARGET_PATH macos)
38
+ set (LIB_EXT ".dylib" )
39
+
17
40
else ()
18
41
message (FATAL_ERROR "Not implemented support for ${CMAKE_SYSTEM_NAME} " )
19
42
endif ()
@@ -157,7 +180,7 @@ find_package(PahoMqttCpp REQUIRED)
157
180
if (CMAKE_SYSTEM_NAME STREQUAL "Windows" )
158
181
target_link_directories (${PROJECT_NAME}
159
182
PRIVATE
160
- ${CPP_BINDINGS_PATH} /bin/${BUILD_TYPE}
183
+ ${CPP_BINDINGS_PATH} /bin/Debug # "Debug" Always seems to be a bug on Windows
161
184
)
162
185
target_link_libraries (${PROJECT_NAME}
163
186
godot-cpp.${SYSTEM_NAME} .${BUILD_TYPE} $<$<NOT :$<PLATFORM_ID:Android>>:.${BITS} >
@@ -175,12 +198,18 @@ else()
175
198
PahoMqttCpp::paho-mqttpp3-static
176
199
)
177
200
endif ()
178
-
179
- # Add the compile flags
180
- set_property (TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS ${GODOT_COMPILE_FLAGS} )
181
- set_property (TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS ${GODOT_LINKER_FLAGS} )
201
+
202
+ # Add the compile flags
203
+ set_property (TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS ${GODOT_COMPILE_FLAGS} )
204
+ set_property (TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS ${GODOT_LINKER_FLAGS} )
182
205
if (CMAKE_BUILD_TYPE MATCHES Debug)
183
206
set_property (TARGET ${PROJECT_NAME} PROPERTY OUTPUT_NAME "gdpaho.debug" )
184
207
else ()
185
208
set_property (TARGET ${PROJECT_NAME} PROPERTY OUTPUT_NAME "gdpaho.release" )
186
209
endif ()
210
+
211
+ if (${BUILD_FOR_EDITOR} )
212
+ add_custom_command (TARGET ${PROJECT_NAME} POST_BUILD
213
+ COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_PATH} /${PROJECT_NAME} .release${LIB_EXT} ${BUILD_PATH} /gdpaho.debug${LIB_EXT}
214
+ )
215
+ endif ()
0 commit comments