cmake_minimum_required(VERSION 3.28) project(AresAutoPlay VERSION 0.1.0 LANGUAGES CXX) # --- Chuẩn ngôn ngữ: C++23 (docs/02-tech-stack.md) --- set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(MSVC) add_compile_options(/W4 /permissive- /EHsc /utf-8) endif() # --- Core library (header-only Phase 0: types, log, spsc_ring) --- add_library(ares_core INTERFACE) target_include_directories(ares_core INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/src) target_compile_features(ares_core INTERFACE cxx_std_23) # --- App: pipeline demo --- add_executable(ares_app src/app/main.cpp) target_link_libraries(ares_app PRIVATE ares_core) # --- Tools (recon, sig-scan) --- option(ARES_BUILD_TOOLS "Build auxiliary tools" ON) if(ARES_BUILD_TOOLS) add_subdirectory(tools) endif() # --- Tests --- option(ARES_BUILD_TESTS "Build unit tests" ON) if(ARES_BUILD_TESTS) enable_testing() add_subdirectory(tests) endif()