36 lines
		
	
	
		
			852 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			852 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
| cmake_minimum_required(VERSION 3.31)
 | |
| 
 | |
| set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD "0e5b6991-d74f-4b3d-a41c-cf096e0b2508")
 | |
| 
 | |
| project(LunarWM LANGUAGES C CXX)
 | |
| 
 | |
| set(CMAKE_CXX_STANDARD 23)
 | |
| set(CMAKE_CXX_STANDARD_REQUIRED ON)
 | |
| set(CMAKE_CXX_MODULE_STD 1)
 | |
| 
 | |
| 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/Math.cppm
 | |
| 	src/wl/Shm.cppm
 | |
| 	src/wl/Subsurface.cppm
 | |
| 	src/wl/Subcompositor.cppm
 | |
| 	src/wl/Region.cppm
 | |
| 	src/wl/Compositor.cppm
 | |
| 	src/LunarWM.cppm
 | |
| )
 | |
| target_link_libraries(${PROJECT_NAME} PUBLIC
 | |
| 	PkgConfig::WAYLAND
 | |
| 	PkgConfig::EGL
 | |
| 	PkgConfig::GLES2
 | |
| )
 | |
| 
 |