From 10a91f9a6488c972cc93937d745f7ab2c97a8a42 Mon Sep 17 00:00:00 2001 From: Ysm-04 Date: Fri, 9 Jan 2026 22:29:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0Cmake=E6=96=87=E4=BB=B6-?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=96=E9=83=A8=E4=BE=9D=E8=B5=96=E9=9B=86?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe9be7a..855d246 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,13 +7,41 @@ project(StellarX VERSION 2.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED True) +# 为了支持 out-of-source builds,创建构建目录 +set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/build) + +# 设置生成的二进制文件输出目录 +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) + # 包含头文件目录(目前头文件都在根目录) include_directories(${CMAKE_SOURCE_DIR}) -# 源文件收集 +# 通过选项设置是否启用调试信息 +option(USE_DEBUG "Build with debug information" OFF) +if(USE_DEBUG) + set(CMAKE_BUILD_TYPE Debug) +else() + set(CMAKE_BUILD_TYPE Release) +endif() + +# 查找源文件 file(GLOB_RECURSE SOURCES "${CMAKE_SOURCE_DIR}/*.cpp" ) # 生成可执行文件 add_executable(StellarX ${SOURCES}) + +# 可以选择性地查找外部库并链接(例如 Boost,SDL2等) +# FindPackage(Boost REQUIRED) +# target_link_libraries(StellarX Boost::Boost) + +# 为外部依赖配置路径 +# set(Boost_DIR "path/to/boost") +# find_package(Boost REQUIRED) + +# 如果有额外的库需要链接,继续在此处添加 +# target_link_libraries(StellarX Boost::Boost) +