diff --git a/构建配置 CMakeLists.txt b/构建配置 CMakeLists.txt new file mode 100644 index 0000000..862d49d --- /dev/null +++ b/构建配置 CMakeLists.txt @@ -0,0 +1,44 @@ +cmake_minimum_required(VERSION 3.10) +project(BattlefieldAISystem) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +# 添加可执行文件 +add_executable(BattlefieldAISystem + src/main.cpp + src/DataFusionEngine.cpp + src/BattlefieldAISystem.cpp + # 其他源文件... +) + +# 包含目录 +target_include_directories(BattlefieldAISystem PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR}/src +) + +# 查找依赖库 +find_package(Threads REQUIRED) + +# 如果有Qt,添加Qt支持 +option(WITH_QT "Build with Qt visualization" OFF) +if(WITH_QT) + find_package(Qt5 COMPONENTS Core Gui Widgets 3DCore 3DRender 3DExtras REQUIRED) + target_link_libraries(BattlefieldAISystem Qt5::Core Qt5::Gui Qt5::Widgets Qt5::3DCore Qt5::3DRender Qt5::3DExtras) +endif() + +# 链接系统库 +target_link_libraries(BattlefieldAISystem Threads::Threads) + +# 编译选项 +target_compile_options(BattlefieldAISystem PRIVATE + -Wall + -Wextra + -O2 +) + +# 安装目标 +install(TARGETS BattlefieldAISystem + RUNTIME DESTINATION bin +) \ No newline at end of file