cmake_minimum_required(VERSION 3.25) project(clrsync VERSION 0.1.3 LANGUAGES CXX) include(GNUInstallDirs) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) option(USE_SYSTEM_GLFW "Use system-installed GLFW instead of fetching it statically" OFF) message(STATUS "USE_SYSTEM_GLFW: ${USE_SYSTEM_GLFW}") if(WIN32) set(CMAKE_INSTALL_PREFIX "C:/Program Files/clrsync") set(CMAKE_INSTALL_BINDIR "bin") set(CMAKE_INSTALL_LIBDIR "lib") set(CMAKE_INSTALL_DATADIR "share") set(CMAKE_INSTALL_FULL_DATADIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}") endif() set(CMAKE_SKIP_BUILD_RPATH FALSE) set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}") configure_file( ${CMAKE_SOURCE_DIR}/src/core/version.hpp.in ${CMAKE_SOURCE_DIR}/src/core/version.hpp @ONLY ) configure_file( ${CMAKE_SOURCE_DIR}/AUR/PKGBUILD.in ${CMAKE_SOURCE_DIR}/AUR/PKGBUILD @ONLY ) list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) include(Dependencies) include(ImGui) add_subdirectory(src/core) add_subdirectory(src/cli) add_subdirectory(src/gui) include(Install) include(Packaging) message(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}") message(STATUS "CMAKE_INSTALL_FULL_DATADIR: ${CMAKE_INSTALL_FULL_DATADIR}") message(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}") message(STATUS "CMAKE_INSTALL_FULL_DATADIR: ${CMAKE_INSTALL_FULL_DATADIR}")