diff --git a/CMakeLists.txt b/CMakeLists.txt index c9549e5..ca2a049 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,23 @@ cmake_minimum_required(VERSION 3.31) -project (course_design) -set (CMAKE_CXX_STANDARD 17) +project(course_design) + +# 设置C++标准为17,并要求遵守该标准 +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +# 寻找SQLite3库 find_package(SQLite3 REQUIRED) -add_executable(coursedesign main.cpp userAuth.cpp userAuth.h data.cpp data.h tools.cpp tools.h render_ui.cpp render_ui.h) -target_link_libraries(coursedesign PRIVATE SQLite::SQLite3) \ No newline at end of file +# 公共源文件 +set(SOURCES main.cpp userAuth.cpp data.cpp tools.cpp render_ui.cpp) + +# 创建GBK编码的可执行文件 +add_executable(coursedesign_gbk ${SOURCES}) +target_compile_options(coursedesign_gbk PRIVATE -fexec-charset=gbk) +target_link_libraries(coursedesign_gbk PRIVATE SQLite::SQLite3) +set_target_properties(coursedesign_gbk PROPERTIES LINK_FLAGS "-static") + +# 创建UTF-8编码的可执行文件 +add_executable(coursedesign_utf8 ${SOURCES}) +target_link_libraries(coursedesign_utf8 PRIVATE SQLite::SQLite3) +set_target_properties(coursedesign_utf8 PROPERTIES LINK_FLAGS "-static") \ No newline at end of file