cmake_minimum_required(VERSION 3.30) project(LunarWM C CXX) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(PkgConfig) pkg_check_modules(WAYLAND REQUIRED IMPORTED_TARGET GLOBAL wayland-server) pkg_check_modules(EGL REQUIRED IMPORTED_TARGET egl) pkg_check_modules(GLES2 REQUIRED IMPORTED_TARGET glesv2) add_executable(${PROJECT_NAME}) target_sources(${PROJECT_NAME} PUBLIC src/main.cpp ) target_sources(${PROJECT_NAME} PUBLIC FILE_SET CXX_MODULES FILES src/wl/Shm.cppm src/wl/Subsurface.cppm src/wl/Subcompositor.cppm src/LunarWM.cppm ) target_link_libraries(${PROJECT_NAME} PUBLIC PkgConfig::WAYLAND PkgConfig::EGL PkgConfig::GLES2 )