fix: 修正缺失构建平台的错误 #34

Merged
7iwind merged 1 commits from feature/route into main 2026-07-27 00:23:32 +08:00
Showing only changes of commit 07c4aa316a - Show all commits
+43 -3
View File
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.10)
project(DataRouter C)
project(DataRouter VERSION 1.1.0 LANGUAGES C)
set(CMAKE_C_STANDARD 11)
@@ -56,7 +56,10 @@ endif()
# ── 常规库构建 ────────────────────────────────────────────────
add_library(DataRouter STATIC datarouter.c)
target_include_directories(DataRouter PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(DataRouter PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)
if(BUILD_EXAMPLES OR NOT DEFINED BUILD_EXAMPLES)
add_executable(example example.c)
@@ -73,10 +76,47 @@ endif()
# ── 安装规则(用于打包发布) ─────────────────────────────
include(GNUInstallDirs)
install(TARGETS DataRouter ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
include(CMakePackageConfigHelpers)
set(DataRouter_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/DataRouter")
install(TARGETS DataRouter
EXPORT DataRouterTargets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/datarouter.h
${CMAKE_CURRENT_SOURCE_DIR}/datarouter_config.h
${CMAKE_CURRENT_SOURCE_DIR}/datarouter_config_template.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
# ── CMake 包配置文件(find_package(DataRouter) 用) ────
set(PACKAGE_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
set(PACKAGE_LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
configure_package_config_file(
${CMAKE_CURRENT_SOURCE_DIR}/cmake/DataRouterConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/DataRouterConfig.cmake
INSTALL_DESTINATION ${DataRouter_INSTALL_CMAKEDIR}
PATH_VARS PACKAGE_INCLUDE_INSTALL_DIR PACKAGE_LIB_INSTALL_DIR
)
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/DataRouterConfigVersion.cmake
VERSION ${PROJECT_VERSION}
COMPATIBILITY AnyNewerVersion
)
install(EXPORT DataRouterTargets
FILE DataRouterTargets.cmake
DESTINATION ${DataRouter_INSTALL_CMAKEDIR}
)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/DataRouterConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/DataRouterConfigVersion.cmake
DESTINATION ${DataRouter_INSTALL_CMAKEDIR}
)