summaryrefslogtreecommitdiff
path: root/gui/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'gui/CMakeLists.txt')
-rw-r--r--gui/CMakeLists.txt117
1 files changed, 59 insertions, 58 deletions
diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt
index cf7830b..389332d 100644
--- a/gui/CMakeLists.txt
+++ b/gui/CMakeLists.txt
@@ -10,17 +10,54 @@ project("turns-gui"
)
include("FetchContent")
+include("GlibCompileResources")
find_package("PkgConfig" REQUIRED)
# Dependencies
+pkg_check_modules("gio"
+ IMPORTED_TARGET
+ REQUIRED
+ "gio-2.0>=${TURNS_GLIB_MINIMUM_VERSION}"
+)
+
pkg_check_modules("glibmm"
IMPORTED_TARGET
REQUIRED
"glibmm-2.68>=${TURNS_GLIB_MINIMUM_VERSION}"
)
+# Resources
+
+add_library("resources" STATIC)
+
+target_link_libraries("resources" PUBLIC
+ "PkgConfig::gio"
+)
+
+target_add_glib_resources("resources"
+ NAME "ui"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/ui"
+ PREFIX "/ch/arknet/Turns"
+ XML_FILES
+ "participant_editor.ui"
+ "participant_row.ui"
+ "preferences.ui"
+ "tracker.ui"
+ "turn_order_view.ui"
+ CSS_FILES
+ "style.css"
+ "style-dark.css"
+)
+
+target_add_glib_resources("resources"
+ NAME "metainfo"
+ PREFIX "/ch/arknet/Turns"
+ XML_FILES
+ "metainfo.xml"
+)
+
# Application
add_executable("gui" "src/main.cpp")
@@ -38,6 +75,10 @@ target_include_directories("gui" PUBLIC
target_link_libraries("gui" PUBLIC
"adwaitamm::adwaitamm"
"turns::mm"
+
+ "$<$<CXX_COMPILER_ID:GNU,Clang>:-Wl,--whole-archive>"
+ "resources"
+ "$<$<CXX_COMPILER_ID:GNU,Clang>:-Wl,--no-whole-archive>"
)
set_target_properties("gui" PROPERTIES
@@ -47,62 +88,22 @@ set_target_properties("gui" PROPERTIES
CXX_EXTENSIONS OFF
)
-install(TARGETS "gui")
+configure_file("desktop.in" "ch.arknet.Turns.desktop")
+configure_file("metainfo.xml" "ch.arknet.Turns.metainfo.xml")
+configure_file("mime.xml" "ch.arknet.Turns.xml")
+
+install(FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/ch.arknet.Turns.desktop"
+ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications"
+)
-# add_executable("app"
-# "src/main.cpp"
-# )
-
-# target_link_libraries("app" PRIVATE
-# "$<$<AND:$<CXX_COMPILER_ID:GNU,Clang>,$<CONFIG:Debug>>:gcov>"
-
-# "PkgConfig::gtkmm"
-# "adwaitamm::adwaitamm"
-
-# "turns::core"
-# "turns::lang"
-
-# "$<$<CXX_COMPILER_ID:GNU,Clang>:-Wl,--whole-archive>"
-# "turns::ui"
-# "turns::style"
-# "$<$<CXX_COMPILER_ID:GNU,Clang>:-Wl,--no-whole-archive>"
-# )
-
-# target_add_glib_resources("app"
-# PREFIX "/ch/arknet/Turns"
-# UI_FILES "metainfo.xml"
-# )
-
-# set_target_properties("app" PROPERTIES
-# OUTPUT_NAME "turns"
-# )
-
-# install(TARGETS "app"
-# RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
-# )
-
-# install(FILES
-# "${CMAKE_CURRENT_SOURCE_DIR}/metainfo.xml"
-# DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo"
-# RENAME "ch.arknet.Turns.metainfo.xml"
-# )
-
-# configure_file("desktop.in"
-# "turns.desktop"
-# )
-
-# install(FILES
-# "${CMAKE_CURRENT_BINARY_DIR}/turns.desktop"
-# DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications"
-# RENAME "ch.arknet.Turns.desktop"
-# )
-
-# configure_file("mime.xml"
-# "turns.xml"
-# )
-
-# install(FILES
-# "${CMAKE_CURRENT_BINARY_DIR}/turns.xml"
-# DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/mime/packages"
-# RENAME "ch.arknet.Turns.xml"
-# )
+install(FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/ch.arknet.Turns.metainfo.xml"
+ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo"
+)
+install(FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/ch.arknet.Turns.xml"
+ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/mime/packages"
+)
+
+install(TARGETS "gui")