41 lines
1.3 KiB
Plaintext
41 lines
1.3 KiB
Plaintext
Index: cmake/install_macros.cmake
|
|
--- cmake/install_macros.cmake.orig
|
|
+++ cmake/install_macros.cmake
|
|
@@ -175,6 +175,36 @@ IF(UNIX)
|
|
ENDIF()
|
|
ENDMACRO()
|
|
|
|
+MACRO(INSTALL_VERSIONED_SYMLINK linkname target destination component)
|
|
+IF(UNIX)
|
|
+ GET_TARGET_PROPERTY(location ${target} LOCATION)
|
|
+ GET_TARGET_PROPERTY(version ${target} VERSION)
|
|
+ GET_FILENAME_COMPONENT(path ${location} PATH)
|
|
+ GET_FILENAME_COMPONENT(name ${location} NAME)
|
|
+ SET(output ${path}/${linkname})
|
|
+ ADD_CUSTOM_COMMAND(
|
|
+ OUTPUT ${output}
|
|
+ COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output}
|
|
+ COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink
|
|
+ ${name}.${version}
|
|
+ ${linkname}
|
|
+ WORKING_DIRECTORY ${path}
|
|
+ DEPENDS ${target}
|
|
+ )
|
|
+
|
|
+ ADD_CUSTOM_TARGET(symlink_${linkname}
|
|
+ ALL
|
|
+ DEPENDS ${output})
|
|
+ SET_TARGET_PROPERTIES(symlink_${linkname} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
|
+ IF(CMAKE_GENERATOR MATCHES "Xcode")
|
|
+ # For Xcode, replace project config with install config
|
|
+ STRING(REPLACE "${CMAKE_CFG_INTDIR}"
|
|
+ "\${CMAKE_INSTALL_CONFIG_NAME}" output ${output})
|
|
+ ENDIF()
|
|
+ INSTALL(FILES ${output} DESTINATION ${destination} COMPONENT ${component})
|
|
+ENDIF()
|
|
+ENDMACRO()
|
|
+
|
|
IF(WIN32)
|
|
OPTION(SIGNCODE "Sign executables and dlls with digital certificate" OFF)
|
|
MARK_AS_ADVANCED(SIGNCODE)
|