cmake_minimum_required(VERSION 3.16) project(XNEngine LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) if(NOT fastcdr_FOUND) find_package(fastcdr 2 REQUIRED) endif() if(NOT fastdds_FOUND) find_package(fastdds 3 REQUIRED) endif() find_package(Threads REQUIRED) find_package(OpenSSL REQUIRED) find_package(SQLite3 REQUIRED) add_executable(XNEngine main.cpp XNEngine.h XNEngine.cpp ) find_library(XNCORE_LIBRARY NAMES XNCore PATHS ../XNCore/build) target_link_libraries(XNEngine PRIVATE ${XNCORE_LIBRARY} fastcdr fastdds pthread OpenSSL::SSL OpenSSL::Crypto sqlite3 dl ) # Check if CMAKE_INSTALL_PREFIX is set to its default value if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}/../Release" CACHE PATH "Install path prefix" FORCE) endif() include(GNUInstallDirs) install(TARGETS XNEngine BUNDLE DESTINATION . LIBRARY DESTINATION . RUNTIME DESTINATION . ) # Add a post-installation command to set the application icon using gio install(CODE " execute_process(COMMAND gio set -t string ${CMAKE_INSTALL_PREFIX}/XNEngine \"metadata::custom-icon\" \"file://${CMAKE_INSTALL_PREFIX}/resource/XNEngine.png\") ")