dust3d/thirdparty/Qt-Color-Widgets/cmake/install.cmake

89 lines
2.7 KiB
CMake
Raw Normal View History

function (install_project
PROJECT_NAME i_project_name
TARGET_NAME i_target_name
TARGET_OUTPUT_SUFFIX i_target_output_suffix
EXPORT_HEADER i_export_header
INCLUDE_PREFIX i_include_prefix
HEADER_MATCHING_REGEX i_header_matching_regex
VERSION_HEADER i_version_header
NAMESPACE i_namespace)
install (TARGETS ${i_target_name}
EXPORT ${i_target_name}
RUNTIME DESTINATION bin
INCLUDES DESTINATION include
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
install (DIRECTORY include/
DESTINATION include
FILES_MATCHING
REGEX ${i_header_matching_regex}
REGEX "CMakeLists\.txt" EXCLUDE)
install (FILES ${i_version_header}
DESTINATION include/${i_include_prefix}
COMPONENT Devel)
install (FILES include/${i_export_header}
DESTINATION include/${i_include_prefix}
COMPONENT Devel)
install(
EXPORT ${i_target_name}
DESTINATION lib/cmake/${i_target_name}${i_target_output_suffix}
FILE "${i_target_name}${i_target_output_suffix}.cmake"
COMPONENT Devel)
include(CMakePackageConfigHelpers)
string (TOLOWER ${i_target_name} CMAKE_BASE_FILE_NAME)
string (TOLOWER ${i_target_output_suffix} CMAKE_FILE_OUTPUT_SUFFIX)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/${i_target_name}/${CMAKE_BASE_FILE_NAME}${CMAKE_FILE_OUTPUT_SUFFIX}-config-version.cmake"
VERSION ${${i_project_name}_VERSION}
COMPATIBILITY SameMajorVersion
)
export(EXPORT ${i_target_name}
FILE "${CMAKE_CURRENT_BINARY_DIR}/${i_target_name}/${CMAKE_BASE_FILE_NAME}${CMAKE_FILE_OUTPUT_SUFFIX}-targets.cmake"
)
configure_file("cmake/${i_project_name}-config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/${i_target_name}/${CMAKE_BASE_FILE_NAME}${CMAKE_FILE_OUTPUT_SUFFIX}-config.cmake"
@ONLY
)
set(ConfigPackageLocation "lib/cmake/${i_target_name}${i_target_output_suffix}")
install(EXPORT ${i_target_name}
FILE
"${CMAKE_BASE_FILE_NAME}${CMAKE_FILE_OUTPUT_SUFFIX}-targets.cmake"
NAMESPACE
"${i_namespace}"
DESTINATION
${ConfigPackageLocation}
)
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/${i_target_name}/${CMAKE_BASE_FILE_NAME}${CMAKE_FILE_OUTPUT_SUFFIX}-config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/${i_target_name}/${CMAKE_BASE_FILE_NAME}${CMAKE_FILE_OUTPUT_SUFFIX}-config-version.cmake"
DESTINATION
${ConfigPackageLocation}
COMPONENT
Devel
)
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/${i_project_name}.pc.in
${CMAKE_CURRENT_BINARY_DIR}/${i_target_name}${i_target_output_suffix}.pc
@ONLY
)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/${i_target_name}${i_target_output_suffix}.pc
DESTINATION
lib/pkgconfig
)
endfunction (install_project)