add:添加安装库cmake。
This commit is contained in:
parent
320b01eab4
commit
50f455bd23
@ -8,10 +8,7 @@ if (MSVC)
|
||||
add_compile_options(/source-charset:utf-8)
|
||||
endif()
|
||||
|
||||
if (NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
endif()
|
||||
|
||||
set(CMAKE_DEBUG_POSTFIX "d")
|
||||
message(STATUS "System: ${CMAKE_SYSTEM_NAME}")
|
||||
message(STATUS "Compiler CXX ID: ${CMAKE_CXX_COMPILER_ID}")
|
||||
|
||||
@ -32,3 +29,20 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}
|
||||
|
||||
add_library(Ofen STATIC ${SRC_FILES})
|
||||
target_include_directories(Ofen PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
|
||||
|
||||
# ****************************************************************************************
|
||||
install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/OfenConfig.cmake DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/cmake/Ofen)
|
||||
install(TARGETS Ofen ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
set(PACKAGE_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include")
|
||||
set(PACKAGE_LIBRARY_DEBUG "${CMAKE_INSTALL_PREFIX}/lib/Ofend.lib")
|
||||
set(PACKAGE_LIBRARY_RELEASE "${CMAKE_INSTALL_PREFIX}/lib/Ofen.lib")
|
||||
set(CONFIG_INSTALL_DIR "lib/cmake/Ofen")
|
||||
include(CMakePackageConfigHelpers)
|
||||
configure_package_config_file(
|
||||
"${CMAKE_CURRENT_LIST_DIR}/cmake/OfenConfig.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/OfenConfig.cmake"
|
||||
INSTALL_DESTINATION ${CONFIG_INSTALL_DIR}
|
||||
PATH_VARS PACKAGE_INCLUDE_DIRS PACKAGE_LIBRARY_DEBUG PACKAGE_LIBRARY_RELEASE
|
||||
)
|
16
cmake/OfenConfig.cmake.in
Normal file
16
cmake/OfenConfig.cmake.in
Normal file
@ -0,0 +1,16 @@
|
||||
# OfenConfig.cmake.in
|
||||
|
||||
@PACKAGE_INIT@
|
||||
|
||||
# 设置库和包含路径
|
||||
set(Ofen_INCLUDE_DIRS "@PACKAGE_INCLUDE_DIRS@")
|
||||
# 支持 Debug 和 Release 的不同库路径
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(Ofen_LIBRARIES "@PACKAGE_LIBRARY_DEBUG@")
|
||||
message(STATUS "Link:${Ofen_LIBRARIES}")
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
set(Ofen_LIBRARIES "@PACKAGE_LIBRARY_RELEASE@")
|
||||
message(STATUS "Link:${Ofen_LIBRARIES}")
|
||||
else()
|
||||
message(FATAL_ERROR "Ofen Unsupported build type: ${CMAKE_BUILD_TYPE}")
|
||||
endif()
|
3
cmake/OfenConfigVersion.cmake
Normal file
3
cmake/OfenConfigVersion.cmake
Normal file
@ -0,0 +1,3 @@
|
||||
# OfenConfigVersion.cmake
|
||||
|
||||
set(OFEN_PACKAGE_VERSION "0.0.1")
|
Loading…
x
Reference in New Issue
Block a user