shangcheng/CMakeLists.txt

46 lines
1.1 KiB
CMake

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)