cmake_minimum_required(VERSION 3.12) project(lunarwm VERSION 0.0.1 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) add_compile_options(-Wall -Wextra -Wno-missing-field-initializers) add_compile_definitions( XR_USE_PLATFORM_XLIB XR_USE_GRAPHICS_API_OPENGL WLR_USE_UNSTABLE ) list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_CURRENT_SOURCE_DIR}/cmake ) find_package(OpenGL REQUIRED) find_package(OpenXR REQUIRED) find_package(glm REQUIRED) find_package(PkgConfig REQUIRED) pkg_check_modules(Wlroots REQUIRED wlroots-0.19) pkg_check_modules(X11 REQUIRED x11) pkg_check_modules(wayland REQUIRED wayland-server wayland-protocols) include_directories( ${wayland_INCLUDE_DIRS} ${X11_INCLUDE_DIRS} ${GLM_INCLUDE_DIRS} ${Wlroots_INCLUDE_DIRS} ) set(SOURCES src/wlr/backend.cpp src/wlr/output.cpp src/compositor.cpp src/main.cpp ) add_executable(${PROJECT_NAME} ${SOURCES}) target_link_libraries(${PROJECT_NAME} OpenGL::GL openxr_loader ${wayland_LIBRARIES} ${X11_LIBRARIES} ${GLM_LIBRARIES} ${Wlroots_LIBRARIES} )