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" $ ) else() message(WARNING "lib_butck.so NotFound - building without Rust library") endif()