cmake_minimum_required(VERSION 3.16) project(wayviewer VERSION 0.1.0 LANGUAGES CXX) include(GNUInstallDirs) if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE) endif() set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) find_package(PkgConfig REQUIRED) pkg_check_modules(SDL2 REQUIRED IMPORTED_TARGET sdl2) pkg_check_modules(LIBVNCCLIENT REQUIRED IMPORTED_TARGET libvncclient) add_executable(wayviewer src/input.cpp src/main.cpp src/options.cpp src/sdl_app.cpp src/viewer_state.cpp src/vnc_client.cpp ) target_compile_options(wayviewer PRIVATE -Wall -Wextra -Wpedantic ) target_link_libraries(wayviewer PRIVATE PkgConfig::SDL2 PkgConfig::LIBVNCCLIENT ) configure_file( packaging/wayviewer.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/wayviewer.desktop @ONLY ) install(TARGETS wayviewer RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/wayviewer.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)