cmake_minimum_required(VERSION 3.20) project(linuxSmartie VERSION 1.0 LANGUAGES CXX ) # Use C++26 (CMake name for c++2c) set(CMAKE_CXX_STANDARD 26) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # Collect sources file(GLOB SOURCES src/*.cpp main.cpp ) # Define executable add_executable(linuxSmartie ${SOURCES}) # Include directories target_include_directories(linuxSmartie PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include ) # Compiler warnings target_compile_options(linuxSmartie PRIVATE -O2 -Wall -Wextra -Wpedantic -Werror -fdiagnostics-color=always ) # Link libraries target_link_libraries(linuxSmartie PRIVATE websockets z )