cmake_minimum_required(VERSION 3.20) # Linux-only. GTK4 Layer Shell and WebKitGTK are not built or stubbed on Windows. project(nebula-shell LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) find_package(PkgConfig REQUIRED) pkg_check_modules(GTK4 REQUIRED IMPORTED_TARGET gtk4) pkg_check_modules(GTK4_LAYER_SHELL REQUIRED IMPORTED_TARGET gtk4-layer-shell-0) pkg_check_modules(WEBKITGTK REQUIRED IMPORTED_TARGET webkitgtk-6.0) add_executable(nebula-shell src/main.cpp src/ShellApplication.cpp src/Surface.cpp src/DesktopSurface.cpp src/TopBarSurface.cpp src/LauncherSurface.cpp ) target_link_libraries(nebula-shell PRIVATE PkgConfig::GTK4 PkgConfig::GTK4_LAYER_SHELL PkgConfig::WEBKITGTK ) if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") target_compile_options(nebula-shell PRIVATE -Wall -Wextra) endif()