diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 45 |
1 files changed, 19 insertions, 26 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index ac86d71a..41c1b392 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
@@ -18,7 +18,7 @@ | |||
18 | cmake_minimum_required (VERSION 3.9) | 18 | cmake_minimum_required (VERSION 3.9) |
19 | 19 | ||
20 | project (Lagrange | 20 | project (Lagrange |
21 | VERSION 1.8.1 | 21 | VERSION 1.9.0 |
22 | DESCRIPTION "A Beautiful Gemini Client" | 22 | DESCRIPTION "A Beautiful Gemini Client" |
23 | LANGUAGES C | 23 | LANGUAGES C |
24 | ) | 24 | ) |
@@ -29,7 +29,7 @@ if (IOS) | |||
29 | set (IOS_BUILD_DATE "2021-10-23") | 29 | set (IOS_BUILD_DATE "2021-10-23") |
30 | endif () | 30 | endif () |
31 | 31 | ||
32 | # Default that depend on environment. | 32 | # Defaults that depend on environment. |
33 | set (DEFAULT_RESIZE_DRAW ON) | 33 | set (DEFAULT_RESIZE_DRAW ON) |
34 | if (HAIKU) | 34 | if (HAIKU) |
35 | set (DEFAULT_RESIZE_DRAW OFF) | 35 | set (DEFAULT_RESIZE_DRAW OFF) |
@@ -52,20 +52,17 @@ option (ENABLE_MPG123 "Use mpg123 for decoding MPEG audio" ON) | |||
52 | option (ENABLE_POPUP_MENUS "Use popup windows for context menus (if OFF, menus are confined inside main window)" ON) | 52 | option (ENABLE_POPUP_MENUS "Use popup windows for context menus (if OFF, menus are confined inside main window)" ON) |
53 | option (ENABLE_RELATIVE_EMBED "Resources should always be found via relative path" OFF) | 53 | option (ENABLE_RELATIVE_EMBED "Resources should always be found via relative path" OFF) |
54 | option (ENABLE_RESIZE_DRAW "Force window to redraw during resizing" ${DEFAULT_RESIZE_DRAW}) | 54 | option (ENABLE_RESIZE_DRAW "Force window to redraw during resizing" ${DEFAULT_RESIZE_DRAW}) |
55 | option (ENABLE_RESOURCE_EMBED "Embed resources inside the executable" OFF) | ||
56 | option (ENABLE_WEBP "Use libwebp to decode .webp images (via pkg-config)" ON) | 55 | option (ENABLE_WEBP "Use libwebp to decode .webp images (via pkg-config)" ON) |
57 | option (ENABLE_WINDOWPOS_FIX "Set position after showing window (workaround for SDL bug)" OFF) | 56 | option (ENABLE_WINDOWPOS_FIX "Set position after showing window (workaround for SDL bug)" OFF) |
58 | option (ENABLE_X11_SWRENDER "Use software rendering (X11)" OFF) | 57 | option (ENABLE_X11_SWRENDER "Use software rendering (X11)" OFF) |
59 | 58 | ||
60 | include (BuildType.cmake) | 59 | include (BuildType.cmake) |
61 | include (res/Embed.cmake) | 60 | include (Resources.cmake) |
62 | include (res/Fontpack.cmake) | ||
63 | include (Depends.cmake) | 61 | include (Depends.cmake) |
64 | 62 | ||
65 | # Package resources. | 63 | # Package resources. |
66 | message (STATUS "Preparing resources...") | 64 | message (STATUS "Preparing resources...") |
67 | make_fontpack (res/default.fontpack) | 65 | set (RESOURCES |
68 | set (EMBED_RESOURCES | ||
69 | res/about/about.gmi | 66 | res/about/about.gmi |
70 | res/about/help.gmi | 67 | res/about/help.gmi |
71 | res/about/lagrange.gmi | 68 | res/about/lagrange.gmi |
@@ -93,12 +90,14 @@ set (EMBED_RESOURCES | |||
93 | res/lang/zh_Hans.bin | 90 | res/lang/zh_Hans.bin |
94 | res/lang/zh_Hant.bin | 91 | res/lang/zh_Hant.bin |
95 | res/shadow.png | 92 | res/shadow.png |
96 | ${CMAKE_BINARY_DIR}/default.fontpack | 93 | res/fontpack.ini |
97 | ) | 94 | ) |
95 | file (GLOB FONTS RELATIVE ${CMAKE_SOURCE_DIR} res/fonts/*) | ||
96 | list (APPEND RESOURCES ${FONTS}) | ||
98 | if ((UNIX AND NOT APPLE) OR MSYS) | 97 | if ((UNIX AND NOT APPLE) OR MSYS) |
99 | list (APPEND EMBED_RESOURCES res/lagrange-64.png) | 98 | list (APPEND RESOURCES res/lagrange-64.png) |
100 | endif () | 99 | endif () |
101 | embed_make (${EMBED_RESOURCES}) | 100 | make_resources (${CMAKE_CURRENT_BINARY_DIR}/resources.lgr ${RESOURCES}) |
102 | 101 | ||
103 | set (EMB_BIN ${CMAKE_CURRENT_BINARY_DIR}/resources.lgr) | 102 | set (EMB_BIN ${CMAKE_CURRENT_BINARY_DIR}/resources.lgr) |
104 | set_source_files_properties (${EMB_BIN} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) | 103 | set_source_files_properties (${EMB_BIN} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) |
@@ -143,6 +142,8 @@ set (SOURCES | |||
143 | src/periodic.h | 142 | src/periodic.h |
144 | src/prefs.c | 143 | src/prefs.c |
145 | src/prefs.h | 144 | src/prefs.h |
145 | src/resources.c | ||
146 | src/resources.h | ||
146 | src/sitespec.c | 147 | src/sitespec.c |
147 | src/sitespec.h | 148 | src/sitespec.h |
148 | src/stb_image.h | 149 | src/stb_image.h |
@@ -218,8 +219,6 @@ set (SOURCES | |||
218 | res/about/lagrange.gmi | 219 | res/about/lagrange.gmi |
219 | res/about/license.gmi | 220 | res/about/license.gmi |
220 | res/about/version.gmi | 221 | res/about/version.gmi |
221 | ${CMAKE_CURRENT_BINARY_DIR}/embedded.c | ||
222 | ${CMAKE_CURRENT_BINARY_DIR}/embedded.h | ||
223 | ${CMAKE_CURRENT_BINARY_DIR}/resources.lgr | 222 | ${CMAKE_CURRENT_BINARY_DIR}/resources.lgr |
224 | ) | 223 | ) |
225 | if (ENABLE_IPC) | 224 | if (ENABLE_IPC) |
@@ -418,9 +417,7 @@ if (MSYS) | |||
418 | if (TARGET PkgConfig::MPG123) | 417 | if (TARGET PkgConfig::MPG123) |
419 | install (PROGRAMS ${MPG123_LIBDIR}/../bin/msys-mpg123-0.dll DESTINATION .) | 418 | install (PROGRAMS ${MPG123_LIBDIR}/../bin/msys-mpg123-0.dll DESTINATION .) |
420 | endif () | 419 | endif () |
421 | if (NOT ENABLE_RESOURCE_EMBED) | 420 | install (FILES ${EMB_BIN} DESTINATION .) |
422 | install (FILES ${EMB_BIN} DESTINATION .) | ||
423 | endif () | ||
424 | install (PROGRAMS | 421 | install (PROGRAMS |
425 | ${SDL2_LIBDIR}/SDL2.dll | 422 | ${SDL2_LIBDIR}/SDL2.dll |
426 | res/urlopen.bat | 423 | res/urlopen.bat |
@@ -431,11 +428,9 @@ if (MSYS) | |||
431 | endif () | 428 | endif () |
432 | elseif (HAIKU) | 429 | elseif (HAIKU) |
433 | install (TARGETS app DESTINATION .) | 430 | install (TARGETS app DESTINATION .) |
434 | if (NOT ENABLE_RESOURCE_EMBED) | 431 | target_compile_definitions (app PUBLIC |
435 | target_compile_definitions (app PUBLIC | 432 | LAGRANGE_EMB_BIN="${CMAKE_INSTALL_PREFIX}/resources.lgr") |
436 | LAGRANGE_EMB_BIN="${CMAKE_INSTALL_PREFIX}/resources.lgr") | 433 | install (FILES ${EMB_BIN} DESTINATION .) |
437 | install (FILES ${EMB_BIN} DESTINATION .) | ||
438 | endif () | ||
439 | elseif (UNIX AND NOT APPLE) | 434 | elseif (UNIX AND NOT APPLE) |
440 | set_target_properties (app PROPERTIES | 435 | set_target_properties (app PROPERTIES |
441 | INSTALL_RPATH_USE_LINK_PATH YES | 436 | INSTALL_RPATH_USE_LINK_PATH YES |
@@ -461,11 +456,9 @@ MimeType=x-scheme-handler/gemini;x-scheme-handler/gopher; | |||
461 | install (FILES res/fi.skyjake.Lagrange.appdata.xml | 456 | install (FILES res/fi.skyjake.Lagrange.appdata.xml |
462 | DESTINATION share/metainfo | 457 | DESTINATION share/metainfo |
463 | ) | 458 | ) |
464 | if (NOT ENABLE_RESOURCE_EMBED) | 459 | if (NOT ENABLE_RELATIVE_EMBED) |
465 | if (NOT ENABLE_RELATIVE_EMBED) | 460 | target_compile_definitions (app PUBLIC |
466 | target_compile_definitions (app PUBLIC | 461 | LAGRANGE_EMB_BIN="${CMAKE_INSTALL_PREFIX}/share/lagrange/resources.lgr") |
467 | LAGRANGE_EMB_BIN="${CMAKE_INSTALL_PREFIX}/share/lagrange/resources.lgr") | ||
468 | endif () | ||
469 | install (FILES ${EMB_BIN} DESTINATION share/lagrange) | ||
470 | endif () | 462 | endif () |
463 | install (FILES ${EMB_BIN} DESTINATION share/lagrange) | ||
471 | endif () | 464 | endif () |