尝试进行 Qt 测试,增加了 AI 人机调试工具 _console,以及 TransPyV 进行修正
This commit is contained in:
110
includes/vqt6/CMakeLists.txt
Normal file
110
includes/vqt6/CMakeLists.txt
Normal file
@@ -0,0 +1,110 @@
|
||||
# ============================================================
|
||||
# vqt6 CMakeLists.txt — 构建 vqt6 C 桥接层
|
||||
#
|
||||
# 默认产物: libvqt6_bridge.a (静态库)
|
||||
# 可选产物: vqt6_bridge.dll (动态库)
|
||||
#
|
||||
# 使用:
|
||||
# cmake -B build -S .
|
||||
# cmake --build build --config Release
|
||||
# ============================================================
|
||||
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(vqt6_bridge CXX C)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
# 构建选项
|
||||
option(VQT6_BUILD_SHARED "Build vqt6 as shared library (DLL)" OFF)
|
||||
option(VQT6_BUILD_STATIC "Build vqt6 as static library" ON)
|
||||
option(VQT6_BUILD_EXAMPLES "Build example programs" OFF)
|
||||
|
||||
# Qt6 依赖
|
||||
find_package(Qt6 6.5 REQUIRED COMPONENTS
|
||||
Core
|
||||
Gui
|
||||
Widgets
|
||||
Network
|
||||
)
|
||||
|
||||
# Win32 GUI 应用不需要控制台
|
||||
if(WIN32)
|
||||
set(CMAKE_WIN32_EXECUTABLE OFF)
|
||||
endif()
|
||||
|
||||
# 公共源文件
|
||||
set(VQT6_SOURCES
|
||||
_bridge_core.cpp
|
||||
_bridge_widgets.cpp
|
||||
_bridge_gui.cpp
|
||||
_bridge_network.cpp
|
||||
)
|
||||
|
||||
set(VQT6_HEADERS
|
||||
_bridge.h
|
||||
_bridge_widgets.h
|
||||
_bridge_gui.h
|
||||
_bridge_network.h
|
||||
)
|
||||
|
||||
# Qt 模块
|
||||
set(VQT6_QT_MODULES
|
||||
Qt6::Core
|
||||
Qt6::Gui
|
||||
Qt6::Widgets
|
||||
Qt6::Network
|
||||
)
|
||||
|
||||
# ============================================================
|
||||
# 静态库
|
||||
# ============================================================
|
||||
if(VQT6_BUILD_STATIC)
|
||||
add_library(vqt6_bridge_static STATIC ${VQT6_SOURCES} ${VQT6_HEADERS})
|
||||
target_link_libraries(vqt6_bridge_static PUBLIC ${VQT6_QT_MODULES})
|
||||
target_compile_definitions(vqt6_bridge_static PUBLIC VQT6_BRIDGE_STATIC)
|
||||
target_include_directories(vqt6_bridge_static PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
set_target_properties(vqt6_bridge_static PROPERTIES
|
||||
OUTPUT_NAME vqt6_bridge
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
)
|
||||
endif()
|
||||
|
||||
# ============================================================
|
||||
# 动态库
|
||||
# ============================================================
|
||||
if(VQT6_BUILD_SHARED)
|
||||
add_library(vqt6_bridge SHARED ${VQT6_SOURCES} ${VQT6_HEADERS})
|
||||
target_link_libraries(vqt6_bridge PUBLIC ${VQT6_QT_MODULES})
|
||||
target_compile_definitions(vqt6_bridge PRIVATE VQT6_BRIDGE_BUILD)
|
||||
target_include_directories(vqt6_bridge PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
set_target_properties(vqt6_bridge PROPERTIES
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
)
|
||||
endif()
|
||||
|
||||
# ============================================================
|
||||
# 安装
|
||||
# ============================================================
|
||||
install(TARGETS vqt6_bridge_static vqt6_bridge
|
||||
ARCHIVE DESTINATION lib
|
||||
LIBRARY DESTINATION lib
|
||||
RUNTIME DESTINATION bin
|
||||
)
|
||||
|
||||
install(FILES ${VQT6_HEADERS}
|
||||
DESTINATION include/vqt6
|
||||
)
|
||||
|
||||
# ============================================================
|
||||
# 示例
|
||||
# ============================================================
|
||||
if(VQT6_BUILD_EXAMPLES)
|
||||
add_subdirectory(examples)
|
||||
endif()
|
||||
Reference in New Issue
Block a user