1
1
cmake_minimum_required (VERSION 3.11)
2
2
3
- if (CMAKE_BUILD_TYPE EQUAL "Debug" )
3
+ if (CMAKE_BUILD_TYPE MATCHES "Debug" )
4
4
set (EXE "RadialGM-Debug" )
5
5
else ()
6
6
set (EXE "RadialGM" )
7
7
endif ()
8
8
9
- set (EXE_VERSION "0.1" )
10
9
set (EXE_DESCRIPTION "ENIGMA IDE" )
11
10
12
11
project (RadialGM)
@@ -29,21 +28,6 @@ set(CMAKE_AUTOUIC_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/Dialogs")
29
28
set (ENIGMA_DIR ${CMAKE_CURRENT_SOURCE_DIR} /Submodules/enigma-dev)
30
29
include_directories ("${CMAKE_BINARY_DIR} /Submodules/enigma-dev/CommandLine/libEGM/libProtocols" "${ENIGMA_DIR} /CommandLine/libEGM" )
31
30
32
- if (WIN32 )
33
- if (MSVC )
34
- file (TO_CMAKE_PATH ${VCPKG_ROOT} VCPKG_ROOT)
35
- if (CMAKE_BUILD_TYPE MATCHES Debug)
36
- set (DEBUG_POSTFIX d)
37
- set (DLL_DIR "${VCPKG_ROOT} /installed/${VCPKG_TARGET_TRIPLET} /debug/bin" )
38
- else ()
39
- set (DLL_DIR "${VCPKG_ROOT} /installed/${VCPKG_TARGET_TRIPLET} /bin" )
40
- endif ()
41
- else ()
42
- # Hack to get msys path
43
- get_filename_component (DLL_DIR ${CMAKE_C_COMPILER} DIRECTORY )
44
- endif ()
45
- endif ()
46
-
47
31
# Populate a CMake variable with the sources
48
32
set (RGM_SOURCES
49
33
Plugins/RGMPlugin.cpp
@@ -178,11 +162,7 @@ endif()
178
162
set (CMAKE_INSTALL_RPATH "${ENIGMA_DIR} " )
179
163
180
164
# Tell CMake to create the RadialGM executable
181
- if (WIN32 )
182
- add_executable (${EXE} WIN32 ${RGM_UI} ${RGM_HEADERS} ${RGM_SOURCES} ${EDITOR_SOURCES} ${RGM_RC} )
183
- else ()
184
- add_executable (${EXE} ${RGM_UI} ${RGM_HEADERS} ${RGM_SOURCES} ${EDITOR_SOURCES} ${RGM_RC} )
185
- endif (WIN32 )
165
+ add_executable (${EXE} WIN32 ${RGM_UI} ${RGM_HEADERS} ${RGM_SOURCES} ${EDITOR_SOURCES} ${RGM_RC} )
186
166
187
167
# we do this even in release mode for "Editor Diagnostics"
188
168
target_compile_definitions (${EXE} PUBLIC QT_MESSAGELOGCONTEXT)
@@ -225,7 +205,7 @@ find_package(yaml-cpp CONFIG REQUIRED)
225
205
target_link_libraries (${EXE} PRIVATE yaml-cpp)
226
206
227
207
#Find gRPC
228
- if (WIN32 ) # Windows actually does something right for once
208
+ if (MSVC ) # Windows actually does something right for once
229
209
find_package (gRPC CONFIG REQUIRED)
230
210
target_link_libraries (${EXE} PRIVATE gRPC::gpr gRPC::grpc gRPC::grpc++)
231
211
else () # https://tinyurl.com/arch-grpc-bug
@@ -281,74 +261,51 @@ if(WIN32)
281
261
target_link_libraries (${EXE} PRIVATE Ws2_32 Wtsapi32 Wldap32 Crypt32 Winmm Userenv Netapi32 version Dwmapi Imm32)
282
262
endif (WIN32 )
283
263
284
- install (TARGETS ${EXE} DESTINATION " ${ENIGMA_DIR} " )
264
+ install (TARGETS ${EXE} RUNTIME DESTINATION . )
285
265
286
- if (WIN32 )
287
- if (MSVC )
266
+ if (MSVC )
288
267
# Default MSVC warnings are overkill. Set to Lvl 2
289
268
target_compile_options (${EXE} PRIVATE /W1)
290
269
target_compile_options ("EGM" PRIVATE /W1)
291
270
target_compile_options ("Protocols" PRIVATE /W1)
271
+ endif ()
292
272
293
- install (FILES
294
- "${DLL_DIR} /libprotobuf${DEBUG_POSTFIX} .dll"
295
- "${DLL_DIR} /Qt5PrintSupport${DEBUG_POSTFIX} .dll"
296
- "${DLL_DIR} /Qt5MultiMedia${DEBUG_POSTFIX} .dll"
297
- "${DLL_DIR} /Qt5Widgets${DEBUG_POSTFIX} .dll"
298
- "${DLL_DIR} /Qt5Gui${DEBUG_POSTFIX} .dll"
299
- "${DLL_DIR} /Qt5Core${DEBUG_POSTFIX} .dll"
300
- "${DLL_DIR} /Qt5Network${DEBUG_POSTFIX} .dll"
301
- "${DLL_DIR} /zlib${DEBUG_POSTFIX} 1.dll"
302
- "${DLL_DIR} /libpng16${DEBUG_POSTFIX} .dll"
303
- "${DLL_DIR} /pugixml.dll"
304
- "${DLL_DIR} /libssl-1_1-x64.dll"
305
- "${DLL_DIR} /libcrypto-1_1-x64.dll"
306
- "${DLL_DIR} /cares.dll"
307
- "${DLL_DIR} /harfbuzz.dll"
308
- "${DLL_DIR} /icuin${DEBUG_POSTFIX} 65.dll"
309
- "${DLL_DIR} /icuuc${DEBUG_POSTFIX} 65.dll"
310
- "${DLL_DIR} /pcre2-16${DEBUG_POSTFIX} .dll"
311
- "${DLL_DIR} /freetype${DEBUG_POSTFIX} .dll"
312
- "${DLL_DIR} /icudt${DEBUG_POSTFIX} 65.dll"
313
- "${DLL_DIR} /bz2${DEBUG_POSTFIX} .dll"
314
- DESTINATION "${ENIGMA_DIR} " )
273
+ install (TARGETS "Protocols" DESTINATION .)
274
+ install (TARGETS "EGM" DESTINATION .)
275
+
276
+ set (APPS "${CMAKE_INSTALL_PREFIX} /${EXE}${CMAKE_EXECUTABLE_SUFFIX} " )
277
+
278
+ if (MSVC )
279
+ file (TO_CMAKE_PATH ${VCPKG_ROOT} VCPKG_ROOT)
280
+ if (CMAKE_BUILD_TYPE MATCHES "Debug" )
281
+ set (SEARCH_PATHS "${VCPKG_ROOT} /installed/x64-windows/debug/bin/" )
315
282
else ()
316
- find_file (LIB_GCC NAMES libgcc_s_dw2-1.dll libgcc_s_seh-1.dll PATHS "${DLL_DIR} " )
317
- find_file (LIB_SSL NAMES libssl-1_1.dll libssl-1_1-x64.dll PATHS "${DLL_DIR} " )
318
- find_file (LIB_CRYPTO NAMES libcrypto-1_1.dll libcrypto-1_1-x64.dll PATHS "${DLL_DIR} " )
319
- install (CODE "execute_process(COMMAND windeployqt.exe --no-translations ${ENIGMA_DIR} /${EXE} .exe)" )
320
- install (FILES
321
- "${LIB_GCC} "
322
- "${LIB_SSL} "
323
- "${LIB_CRYPTO} "
324
- "${DLL_DIR} /libwinpthread-1.dll"
325
- "${DLL_DIR} /libstdc++-6.dll"
326
- "${DLL_DIR} /libgrpc++_unsecure.dll"
327
- "${DLL_DIR} /libprotobuf.dll"
328
- "${DLL_DIR} /zlib1.dll"
329
- "${DLL_DIR} /libpng16-16.dll"
330
- "${DLL_DIR} /libpugixml.dll"
331
- "${DLL_DIR} /libgpr.dll"
332
- "${DLL_DIR} /libgrpc_unsecure.dll"
333
- "${DLL_DIR} /libgrpc.dll"
334
- "${DLL_DIR} /libgrpc++.dll"
335
- "${DLL_DIR} /yaml-cpp.dll"
336
- "${DLL_DIR} /libdouble-conversion.dll"
337
- "${DLL_DIR} /libicuuc65.dll"
338
- "${DLL_DIR} /libicuin65.dll"
339
- "${DLL_DIR} /libpcre2-16-0.dll"
340
- "${DLL_DIR} /libcares-3.dll"
341
- "${DLL_DIR} /libaddress_sorting.dll"
342
- "${DLL_DIR} /libharfbuzz-0.dll"
343
- "${DLL_DIR} /libzstd.dll"
344
- "${DLL_DIR} /libicudt65.dll"
345
- "${DLL_DIR} /libglib-2.0-0.dll"
346
- "${DLL_DIR} /libfreetype-6.dll"
347
- "${DLL_DIR} /libgraphite2.dll"
348
- "${DLL_DIR} /libbz2-1.dll"
349
- "${DLL_DIR} /libintl-8.dll"
350
- "${DLL_DIR} /libpcre-1.dll"
351
- "${DLL_DIR} /libiconv-2.dll"
352
- DESTINATION "${ENIGMA_DIR} " )
283
+ set (SEARCH_PATHS "${VCPKG_ROOT} /installed/x64-windows/bin/" )
284
+ endif ()
285
+ else ()
286
+ set (LIBS "${CMAKE_INSTALL_PREFIX} /${CMAKE_SHARED_LIBRARY_PREFIX} EGM${CMAKE_SHARED_LIBRARY_SUFFIX} "
287
+ "${CMAKE_INSTALL_PREFIX} /${CMAKE_SHARED_LIBRARY_PREFIX} Protocols${CMAKE_SHARED_LIBRARY_SUFFIX} " )
288
+ endif ()
289
+
290
+ if (WIN32 )
291
+
292
+ set (WINDEPLOY_ARGS "--no-translations --no-angle" )
293
+
294
+ if (MSVC )
295
+ if (CMAKE_BUILD_TYPE MATCHES "Debug" )
296
+ set (CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY TRUE )
297
+ set (WINDEPLOY_ARGS "${WINDEPLOY_ARGS} --pdb --no-compiler-runtime" )
298
+ else ()
299
+ set (WINDEPLOY_ARGS "${WINDEPLOY_ARGS} --no-compiler-runtime" )
300
+ endif ()
301
+ set (CMAKE_INSTALL_UCRT_LIBRARIES TRUE )
302
+ include (InstallRequiredSystemLibraries)
303
+ install (PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION .)
353
304
endif ()
354
- endif ()
305
+
306
+ install (CODE "
307
+ include(BundleUtilities)
308
+ fixup_bundle(\" ${APPS} \" \" ${LIBS} \" \" ${SEARCH_PATHS} \" )
309
+ execute_process(COMMAND windeployqt.exe ${WINDEPLOY_ARGS} ${APPS} )
310
+ " )
311
+ endif ()
0 commit comments