cmake_minimum_required(VERSION 3.14) project(MallSystem VERSION 1.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # MSVC UTF-8 support if (MSVC) add_compile_options(/utf-8) endif() # ============================================================ # Main executable # ============================================================ set(SOURCES src/main.cpp src/app.cpp src/product.cpp src/shopping_cart.cpp src/order.cpp ) set(HEADERS include/app.hpp include/product.hpp include/shopping_cart.hpp include/order.hpp ) add_executable(mall ${SOURCES} ${HEADERS}) target_include_directories(mall PRIVATE include) # ============================================================ # Test executable (uses plain assert, no external dependency) # ============================================================ set(TEST_SOURCES tests/basic_test.cpp src/app.cpp src/product.cpp src/shopping_cart.cpp src/order.cpp ) add_executable(mall_test ${TEST_SOURCES} ${HEADERS}) target_include_directories(mall_test PRIVATE include)