cmake不支持IMPORTED target作为install TARGETS,无法创建zlog soversion连接,更新zlog打包流程,安装和卸载前后使用postinstall和postuninstall执行ldconfig
This commit is contained in:
@@ -57,8 +57,10 @@ set_target_properties(${lib_name}_static PROPERTIES OUTPUT_NAME ${lib_name})
|
||||
|
||||
set(CMAKE_INSTALL_PREFIX /opt/MESA)
|
||||
|
||||
install(TARGETS ${lib_name}_shared LIBRARY DESTINATION
|
||||
${CMAKE_INSTALL_PREFIX}/lib)
|
||||
install(FILES inc/MESA_handle_logger.h DESTINATION
|
||||
${CMAKE_INSTALL_PREFIX}/include/MESA COMPONENT devel)
|
||||
install(TARGETS ${lib_name}_shared LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib COMPONENT LIBRARIES)
|
||||
install(FILES inc/MESA_handle_logger.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/MESA COMPONENT HEADER)
|
||||
|
||||
install(CODE "execute_process( \
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink \
|
||||
@@ -67,10 +69,6 @@ install(CODE "execute_process( \
|
||||
)"
|
||||
)
|
||||
|
||||
install(FILES inc/MESA_handle_logger.h DESTINATION
|
||||
${CMAKE_INSTALL_PREFIX}/include/MESA COMPONENT devel)
|
||||
install(TARGETS ${lib_name}_shared LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib COMPONENT LIBRARIES)
|
||||
install(FILES inc/MESA_handle_logger.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/MESA COMPONENT HEADER)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -45,6 +45,8 @@ set(CPACK_RPM_HEADER_PACKAGE_CONFLICTS ${CPACK_RPM_HEADER_PACKAGE_NAME})
|
||||
|
||||
set(CPACK_COMPONENTS_ALL LIBRARIES HEADER EXECUTABLE)
|
||||
|
||||
set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PostInstall.in)
|
||||
set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PostInstall.in)
|
||||
|
||||
set(CPACK_BUILD_SOURCE_DIRS "${CMAKE_SOURCE_DIR}")
|
||||
|
||||
|
||||
2
cmake/PostInstall.in
Normal file
2
cmake/PostInstall.in
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
ldconfig
|
||||
@@ -19,6 +19,6 @@ add_dependencies(zlog_shared zlog)
|
||||
set_property(TARGET zlog_shared PROPERTY IMPORTED_LOCATION ${SOURCE_DIR}/src/libzlog.so)
|
||||
set_property(TARGET zlog_shared PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${SOURCE_DIR}/src)
|
||||
|
||||
|
||||
install(FILES ${SOURCE_DIR}/src/libzlog.so DESTINATION lib COMPONENT LIBRARIES)
|
||||
install(CODE "execute_process(COMMAND ldconfig)")
|
||||
install(PROGRAMS ${SOURCE_DIR}/src/zlog-chk-conf DESTINATION bin COMPONENT EXECUTABLE)
|
||||
install(PROGRAMS ${SOURCE_DIR}/src/libzlog.so DESTINATION lib COMPONENT LIBRARIES)
|
||||
|
||||
Reference in New Issue
Block a user