44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| cmake_minimum_required(VERSION 3.5)
 | |
| 
 | |
| set(PROJECT_NAME "Server")
 | |
| set(CMAKE_BUILD_TYPE Debug)
 | |
| 
 | |
| project(${PROJECT_NAME} CXX)
 | |
| 
 | |
| include(FetchContent)
 | |
| 
 | |
| FetchContent_Declare(
 | |
|     spdlog
 | |
|     GIT_REPOSITORY "https://github.com/gabime/spdlog.git"
 | |
|     GIT_TAG "v1.15.2"
 | |
|     GIT_SHALLOW ON
 | |
| )
 | |
| FetchContent_MakeAvailable(spdlog)
 | |
| 
 | |
| FetchContent_Declare(
 | |
|     GSL
 | |
|     GIT_REPOSITORY "https://github.com/microsoft/GSL.git"
 | |
|     GIT_TAG "v4.2.0"
 | |
|     GIT_SHALLOW ON
 | |
| )
 | |
| FetchContent_MakeAvailable(GSL)
 | |
| 
 | |
| file(GLOB_RECURSE additional_sources CONFIGURE_DEPENDS
 | |
|     "${CMAKE_CURRENT_SOURCE_DIR}/../impl/*.cpp"
 | |
| )
 | |
| 
 | |
| add_executable(${PROJECT_NAME}
 | |
|     src/server.cpp
 | |
|     ${additional_sources}
 | |
| )
 | |
| target_link_libraries(${PROJECT_NAME} PRIVATE Microsoft.GSL::GSL)
 | |
| target_link_libraries(${PROJECT_NAME} PRIVATE spdlog)
 | |
| target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32)
 | |
| 
 | |
| target_include_directories(${PROJECT_NAME} PUBLIC
 | |
|     ${CMAKE_CURRENT_SOURCE_DIR}/../include
 | |
|     ${CMAKE_CURRENT_SOURCE_DIR}/include
 | |
| )
 | |
| target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
 | |
| 
 | |
| target_precompile_headers(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../include/precomp.hpp") |