networks-1.cpp/CMakeLists.txt

35 lines
1.1 KiB
CMake

cmake_minimum_required(VERSION 3.30 FATAL_ERROR)
message(STATUS "CMake version is ${CMAKE_VERSION}")
if (${CMAKE_VERSION} STREQUAL "4.1.1")
set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD "d0edc3af-4c50-42ea-a356-e2862fe7a444")
elseif (${CMAKE_VERSION} STREQUAL "4.0.2")
set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD "a9e1cf81-9932-4810-974b-6eccaf14e457")
elseif (${CMAKE_VERSION} STREQUAL "4.2.0-rc2")
set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD "d0edc3af-4c50-42ea-a356-e2862fe7a444")
else ()
message(FATAL_ERROR "Can't enable CMAKE_EXPERIMENTAL_CXX_IMPORT_STD for this version of cmake, please edit top-lvl CMakeLists.txt")
endif()
project(networks_1 LANGUAGES CXX)
set(CMP0155 NEW)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_SCAN_FOR_MODULES ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_MODULE_STD 1)
add_subdirectory(modules/exceptions)
add_subdirectory(modules/threads)
add_subdirectory(modules/streams)
add_subdirectory(modules/sockets)
add_subdirectory(modules/asyncio)
add_subdirectory(programs/lab4)
add_executable(main main.cpp)
target_link_libraries(main PRIVATE exceptions threads sockets streams)
add_executable(test-gcc gcc2.cpp)