summaryrefslogtreecommitdiff
path: root/gui/gtk/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'gui/gtk/CMakeLists.txt')
-rw-r--r--gui/gtk/CMakeLists.txt56
1 files changed, 56 insertions, 0 deletions
diff --git a/gui/gtk/CMakeLists.txt b/gui/gtk/CMakeLists.txt
new file mode 100644
index 0000000..2ed840c
--- /dev/null
+++ b/gui/gtk/CMakeLists.txt
@@ -0,0 +1,56 @@
+cmake_minimum_required(VERSION 3.10)
+project(butckg VERSION 1.0.0 LANGUAGES C)
+
+set(CMAKE_C_STANDARD 11)
+set(CMAKE_C_STANDARD_REQUIRED ON)
+set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+
+# Output directory
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+
+# Find GTK3
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
+
+# Include directories
+include_directories(${GTK3_INCLUDE_DIRS})
+link_directories(${GTK3_LIBRARY_DIRS})
+
+# Add definitions
+add_definitions(${GTK3_CFLAGS_OTHER})
+
+# Executable
+add_executable(butckg
+ src/main.c
+)
+
+# Link libraries
+target_link_libraries(butckg PRIVATE ${GTK3_LIBRARIES})
+
+# Target properties
+set_target_properties(butckg PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
+)
+
+# lib_butck
+target_include_directories(butckg PRIVATE ${CMAKE_SOURCE_DIR}/../../.temp/target/release)
+
+target_link_directories(butckg PRIVATE
+ ${CMAKE_SOURCE_DIR}/../../.temp/target/release
+)
+
+target_link_libraries(butckg PRIVATE
+ lib_butck
+)
+
+# Check if library files exist
+if(EXISTS "${CMAKE_SOURCE_DIR}/../../.temp/target/release/lib_butck.so")
+ message(STATUS "Found lib_butck.so")
+ add_custom_command(TARGET butckg POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ "${CMAKE_SOURCE_DIR}/../../.temp/target/release/lib_butck.so"
+ $<TARGET_FILE_DIR:butckg>
+ )
+else()
+ message(WARNING "lib_butck.so NotFound - building without Rust library")
+endif()