CMake: fmt

This commit is contained in:
Mihai Fufezan 2024-07-18 20:30:13 +03:00
parent 117b6d93ed
commit 4a1f262f37
Signed by: fufexan
SSH key fingerprint: SHA256:SdnKmEpJrDu1+2UO1QpB/Eg4HKcdDi6n+xSRqFNJVpg

View file

@ -3,10 +3,10 @@ cmake_minimum_required(VERSION 3.19)
file(READ "${CMAKE_SOURCE_DIR}VERSION" VER_RAW) file(READ "${CMAKE_SOURCE_DIR}VERSION" VER_RAW)
string(STRIP ${VER_RAW} VERSION) string(STRIP ${VER_RAW} VERSION)
project(hyprwayland-scanner project(
DESCRIPTION "A hyprland version of wayland-scanner in and for C++" hyprwayland-scanner
VERSION ${VERSION} DESCRIPTION "A hyprland version of wayland-scanner in and for C++"
) VERSION ${VERSION})
include(GNUInstallDirs) include(GNUInstallDirs)
include(CMakePackageConfigHelpers) include(CMakePackageConfigHelpers)
@ -16,18 +16,17 @@ set(PREFIX ${CMAKE_INSTALL_PREFIX})
set(CMAKE_MESSAGE_LOG_LEVEL "STATUS") set(CMAKE_MESSAGE_LOG_LEVEL "STATUS")
if(CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES DEBUG) if(CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES DEBUG)
message(STATUS "Configuring hyprwayland-scanner in Debug with CMake") message(STATUS "Configuring hyprwayland-scanner in Debug with CMake")
add_compile_definitions(HYPRLAND_DEBUG) add_compile_definitions(HYPRLAND_DEBUG)
else() else()
add_compile_options(-O3) add_compile_options(-O3)
message(STATUS "Configuring hyprwayland-scanner in Release with CMake") message(STATUS "Configuring hyprwayland-scanner in Release with CMake")
endif() endif()
# configure # configure
set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD 23)
add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-unused-value add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-unused-value
-Wno-missing-field-initializers -Wno-narrowing) -Wno-missing-field-initializers -Wno-narrowing)
add_compile_definitions(SCANNER_VERSION="${VERSION}") add_compile_definitions(SCANNER_VERSION="${VERSION}")
@ -42,25 +41,22 @@ pkg_check_modules(deps REQUIRED IMPORTED_TARGET pugixml)
file(GLOB_RECURSE SRCFILES CONFIGURE_DEPENDS "src/*.cpp") file(GLOB_RECURSE SRCFILES CONFIGURE_DEPENDS "src/*.cpp")
add_executable(hyprwayland-scanner ${SRCFILES}) add_executable(hyprwayland-scanner ${SRCFILES})
target_link_libraries(hyprwayland-scanner PRIVATE rt Threads::Threads PkgConfig::deps) target_link_libraries(hyprwayland-scanner PRIVATE rt Threads::Threads
PkgConfig::deps)
configure_package_config_file( configure_package_config_file(
hyprwayland-scanner-config.cmake.in hyprwayland-scanner-config.cmake.in hyprwayland-scanner-config.cmake
hyprwayland-scanner-config.cmake INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/hyprwayland-scanner"
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/hyprwayland-scanner" PATH_VARS CMAKE_INSTALL_BINDIR)
PATH_VARS CMAKE_INSTALL_BINDIR
)
write_basic_package_version_file( write_basic_package_version_file(
"hyprwayland-scanner-config-version.cmake" "hyprwayland-scanner-config-version.cmake"
VERSION "${VERSION}" VERSION "${VERSION}"
COMPATIBILITY AnyNewerVersion COMPATIBILITY AnyNewerVersion)
)
# Installation # Installation
install(TARGETS hyprwayland-scanner) install(TARGETS hyprwayland-scanner)
install(FILES ${CMAKE_BINARY_DIR}/hyprwayland-scanner.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) install(FILES ${CMAKE_BINARY_DIR}/hyprwayland-scanner.pc
install(FILES DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
${CMAKE_BINARY_DIR}/hyprwayland-scanner-config.cmake install(FILES ${CMAKE_BINARY_DIR}/hyprwayland-scanner-config.cmake
${CMAKE_BINARY_DIR}/hyprwayland-scanner-config-version.cmake ${CMAKE_BINARY_DIR}/hyprwayland-scanner-config-version.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hyprwayland-scanner DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hyprwayland-scanner)
)