| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #[[
- Utility functions used for packaging RmlUi.
- ]]
- #[[
- Install all license files, including for all installed packages in vcpkg if in use.
- ]]
- function(install_licenses)
- set(bin_licenses_dir "${CMAKE_CURRENT_BINARY_DIR}/Licenses")
- configure_file("${PROJECT_SOURCE_DIR}/LICENSE.txt"
- "${bin_licenses_dir}/LICENSE.txt" COPYONLY
- )
- configure_file("${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/Containers/LICENSE.txt"
- "${bin_licenses_dir}/LICENSE.Core.ThirdParty.txt" COPYONLY
- )
- configure_file("${PROJECT_SOURCE_DIR}/Source/Debugger/LICENSE.txt"
- "${bin_licenses_dir}/LICENSE.Debugger.ThirdParty.txt" COPYONLY
- )
- if(VCPKG_TOOLCHAIN)
- set(vcpkg_share_dir "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share")
- file(GLOB copyright_files "${vcpkg_share_dir}/*/copyright")
- foreach(copyright_file IN LISTS copyright_files)
- get_filename_component(name ${copyright_file} DIRECTORY)
- get_filename_component(name ${name} NAME)
- if(NOT "${name}" MATCHES "^vcpkg-")
- set(copy_destination "${bin_licenses_dir}/Dependencies/${name}.txt")
- configure_file(${copyright_file} ${copy_destination} COPYONLY)
- endif()
- endforeach()
- endif()
- install(DIRECTORY "${bin_licenses_dir}/" DESTINATION "${CMAKE_INSTALL_DATADIR}")
- endfunction()
- #[[
- Install a text file with build info.
- ]]
- function(install_build_info)
- if(NOT RMLUI_ARCHITECTURE OR NOT RMLUI_COMMIT_DATE OR NOT RMLUI_RUN_ID OR NOT RMLUI_SHA)
- message(FATAL_ERROR "Cannot install build info: Missing variables")
- endif()
- generate_rmlui_version_string()
- file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/Build.txt"
- "RmlUi ${RMLUI_VERSION_SHORT} binaries for ${RMLUI_ARCHITECTURE}.\n\n"
- "https://github.com/mikke89/RmlUi\n\n"
- "Built using ${CMAKE_GENERATOR} (${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}) on ${RMLUI_COMMIT_DATE} (run ${RMLUI_RUN_ID}).\n"
- "Commit id: ${RMLUI_SHA}"
- )
- install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Build.txt"
- DESTINATION "${CMAKE_INSTALL_DATADIR}"
- )
- endfunction()
- #[[
- Install all dependencies found for the current vcpkg target triplet.
- ]]
- function(install_vcpkg_dependencies)
- if(NOT VCPKG_TOOLCHAIN)
- message(FATAL_ERROR "Cannot install vcpkg dependencies: vcpkg not in use")
- endif()
- set(vcpkg_triplet_dir "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}")
- set(common_patterns
- PATTERN "${VCPKG_TARGET_TRIPLET}/tools" EXCLUDE
- PATTERN "pkgconfig" EXCLUDE
- PATTERN "vcpkg*" EXCLUDE
- PATTERN "*.pdb" EXCLUDE
- )
- message(STATUS "Installing vcpkg dependencies from: ${vcpkg_triplet_dir}")
- install(DIRECTORY "${vcpkg_triplet_dir}/"
- DESTINATION "${RMLUI_INSTALL_DEPENDENCIES_DIR}"
- CONFIGURATIONS "Release"
- ${common_patterns}
- PATTERN "debug" EXCLUDE
- PATTERN "*debug.cmake" EXCLUDE
- )
- install(DIRECTORY "${vcpkg_triplet_dir}/"
- DESTINATION "${RMLUI_INSTALL_DEPENDENCIES_DIR}"
- CONFIGURATIONS "Debug"
- ${common_patterns}
- PATTERN "${VCPKG_TARGET_TRIPLET}/bin" EXCLUDE
- PATTERN "${VCPKG_TARGET_TRIPLET}/lib" EXCLUDE
- PATTERN "*release.cmake" EXCLUDE
- )
- endfunction()
|