1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
function(elastix_export_target tgt)
# Remove the build tree's ElastixTargets file if this is the first call:
get_property(first_time GLOBAL PROPERTY ELASTIX_FIRST_EXPORTED_TARGET)
if(NOT first_time)
file(REMOVE ${elastix_BINARY_DIR}/ElastixTargets.cmake)
set_property(GLOBAL PROPERTY ELASTIX_FIRST_EXPORTED_TARGET 1)
endif()
get_target_property(type ${tgt} TYPE)
if (type STREQUAL "STATIC_LIBRARY" OR
type STREQUAL "MODULE_LIBRARY" OR
type STREQUAL "SHARED_LIBRARY")
set_property(TARGET ${tgt} PROPERTY VERSION 1)
set_property(TARGET ${tgt} PROPERTY SOVERSION 1)
if ("${tgt}" STREQUAL "elastix_lib")
set_property(TARGET ${tgt} PROPERTY
OUTPUT_NAME elastix-${ELASTIX_VERSION_MAJOR}.${ELASTIX_VERSION_MINOR})
elseif ("${tgt}" STREQUAL "transformix_lib")
set_property(TARGET ${tgt} PROPERTY
OUTPUT_NAME transformix-${ELASTIX_VERSION_MAJOR}.${ELASTIX_VERSION_MINOR})
else()
set_property(TARGET ${tgt} PROPERTY
OUTPUT_NAME ${tgt}-${ELASTIX_VERSION_MAJOR}.${ELASTIX_VERSION_MINOR})
endif()
if(type STREQUAL "STATIC_LIBRARY")
if(NOT ELASTIX_NO_INSTALL_DEVELOPMENT)
install(TARGETS ${tgt}
EXPORT ElastixTargets
RUNTIME DESTINATION ${ELASTIX_INSTALL_RUNTIME_DIR}
LIBRARY DESTINATION ${ELASTIX_INSTALL_LIBRARY_DIR}
ARCHIVE DESTINATION ${ELASTIX_INSTALL_ARCHIVE_DIR}
COMPONENT Development
)
endif()
else()
if(NOT ELASTIX_NO_INSTALL_RUNTIME_LIBRARIES)
install(TARGETS ${tgt}
EXPORT ElastixTargets
RUNTIME DESTINATION ${ELASTIX_INSTALL_RUNTIME_DIR}
LIBRARY DESTINATION ${ELASTIX_INSTALL_LIBRARY_DIR}
ARCHIVE DESTINATION ${ELASTIX_INSTALL_ARCHIVE_DIR}
COMPONENT RuntimeLibraries
)
endif()
endif()
elseif(type STREQUAL "EXECUTABLE")
if(NOT ELASTIX_NO_INSTALL_RUNTIME_LIBRARIES)
install(TARGETS ${tgt}
EXPORT ElastixTargets
RUNTIME DESTINATION ${ELASTIX_INSTALL_RUNTIME_DIR}
LIBRARY DESTINATION ${ELASTIX_INSTALL_LIBRARY_DIR}
ARCHIVE DESTINATION ${ELASTIX_INSTALL_ARCHIVE_DIR}
COMPONENT Executables
)
endif()
else()
if(NOT ELASTIX_NO_INSTALL_DEVELOPMENT)
install(TARGETS ${tgt}
EXPORT ElastixTargets
RUNTIME DESTINATION ${ELASTIX_INSTALL_RUNTIME_DIR}
LIBRARY DESTINATION ${ELASTIX_INSTALL_LIBRARY_DIR}
ARCHIVE DESTINATION ${ELASTIX_INSTALL_ARCHIVE_DIR}
COMPONENT Development
)
endif()
endif()
export(TARGETS ${tgt}
APPEND FILE "${elastix_BINARY_DIR}/ElastixTargets.cmake"
)
endfunction()
|