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
35 lines
1004 B
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) # 链接静态库
|