You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1004 B

2 weeks ago
cmake_minimum_required(VERSION 3.10)
project(BusbarRouter CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 包含目录
include_directories(${PROJECT_SOURCE_DIR}/include)
# 库的源文件
set(SOURCES
src/vector3.cpp
src/busbar_segment.cpp
src/segment_generator.cpp
src/space_analyzer.cpp
src/busbar_planner.cpp
src/busbar_planner_api.cpp
)
# ========== 创建静态库 ==========
add_library(busbar_router STATIC ${SOURCES})
# ========== 同时创建动态库(导出 API)==========
add_library(busbar_router_shared SHARED ${SOURCES})
set_target_properties(busbar_router_shared PROPERTIES
OUTPUT_NAME "busbar_router"
VERSION 1.0.0
SOVERSION 1
)
target_compile_definitions(busbar_router_shared PRIVATE BUSBAR_PLANNER_EXPORTS)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
# ========== 可执行文件链接静态库 ==========
add_executable(busbar_example src/main.cpp)
target_link_libraries(busbar_example busbar_router) # 链接静态库