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)