cmake_minimum_required(VERSION 3.14) project(ims VERSION 1.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # MSVC UTF-8 support if (MSVC) add_compile_options(/utf-8) endif() # ---------- Source groups ---------- set(HEADERS include/ims_types.hpp include/user_manager.hpp include/business_manager.hpp include/audit_logger.hpp include/integration_service.hpp ) set(SOURCES src/ims_types.cpp src/user_manager.cpp src/business_manager.cpp src/audit_logger.cpp src/integration_service.cpp src/main.cpp ) # ---------- Main executable ---------- add_executable(ims_main ${SOURCES} ${HEADERS}) target_include_directories(ims_main PRIVATE include) # ---------- Test executable ---------- add_executable(basic_test tests/basic_test.cpp ${SOURCES} ${HEADERS} ) target_include_directories(basic_test PRIVATE include)