From 284d1bccfcf7c07fa4d22954e9fcf5079ec05163 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 7 Sep 2021 22:32:11 +0000 Subject: [PATCH 1/4] [lcms] Backfill compat for lcms::lcms --- ports/lcms/CMakeLists.txt | 61 +++++++++------------------------------ ports/lcms/CONTROL | 4 --- ports/lcms/portfile.cmake | 16 ++++++---- ports/lcms/usage | 4 +++ ports/lcms/vcpkg.json | 17 +++++++++++ versions/baseline.json | 2 +- versions/l-/lcms.json | 5 ++++ 7 files changed, 51 insertions(+), 58 deletions(-) delete mode 100644 ports/lcms/CONTROL create mode 100644 ports/lcms/usage create mode 100644 ports/lcms/vcpkg.json diff --git a/ports/lcms/CMakeLists.txt b/ports/lcms/CMakeLists.txt index d45ed2e8c77007..4852f8c4e0def0 100644 --- a/ports/lcms/CMakeLists.txt +++ b/ports/lcms/CMakeLists.txt @@ -1,42 +1,10 @@ cmake_minimum_required(VERSION 3.5) -option(CMAKE_VERBOSE_MAKEFILE "Create verbose makefile" OFF) -option(BUILD_SHARED_LIBS "Create lcms2 as a shared library" ON) - project(little-cms) -set(CMAKE_DEBUG_POSTFIX d) +file(GLOB SRCS src/*.c) -add_library(lcms2 - "${CMAKE_CURRENT_LIST_DIR}/src/cmstypes.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsvirt.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmswtpnt.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsxform.c" - "${CMAKE_CURRENT_LIST_DIR}/src/lcms2.def" - "${CMAKE_CURRENT_LIST_DIR}/src/lcms2_internal.h" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsalpha.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmscam02.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmscgats.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmscnvrt.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmserr.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsgamma.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsgmt.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmshalf.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsintrp.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsio0.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsio1.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmslut.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsmd5.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsmtrx.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsnamed.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsopt.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmspack.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmspcs.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsplugin.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmsps2.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmssamp.c" - "${CMAKE_CURRENT_LIST_DIR}/src/cmssm.c" -) +add_library(lcms2 ${SRCS} src/lcms2.def) if(BUILD_SHARED_LIBS) target_compile_options(lcms2 PRIVATE -DCMS_DLL_BUILD) @@ -44,7 +12,7 @@ if(BUILD_SHARED_LIBS) endif() target_compile_options(lcms2 PRIVATE -DUNICODE -D_UNICODE) -target_include_directories(lcms2 PRIVATE "${CMAKE_CURRENT_LIST_DIR}/include") +target_include_directories(lcms2 PUBLIC $) set_target_properties(lcms2 PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_LIST_DIR}/include/lcms2.h;${CMAKE_CURRENT_LIST_DIR}/include/lcms2_plugin.h") # Generate pkg-config file @@ -58,30 +26,29 @@ SET(exec_prefix "\${prefix}") SET(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") SET(includedir "\${prefix}/include") CONFIGURE_FILE(lcms2.pc.in "${PROJECT_BINARY_DIR}/lcms2.pc" @ONLY) -IF(CMAKE_BUILD_TYPE MATCHES Debug) - # Add CMAKE_DEBUG_POSTFIX - file(READ "${PROJECT_BINARY_DIR}/lcms2.pc" LCMS2_PC) - string(REPLACE "-llcms2" "-llcms2${CMAKE_DEBUG_POSTFIX}" LCMS2_PC "${LCMS2_PC}") - file(WRITE "${PROJECT_BINARY_DIR}/lcms2.pc" "${LCMS2_PC}") -ENDIF() install(TARGETS lcms2 - EXPORT lcmsConfig + EXPORT lcms2Config RUNTIME DESTINATION "bin" LIBRARY DESTINATION "lib" ARCHIVE DESTINATION "lib" PUBLIC_HEADER DESTINATION "include" - COMPONENT dev ) INSTALL(FILES ${PROJECT_BINARY_DIR}/lcms2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) -export(TARGETS lcms2 +install(EXPORT lcms2Config + DESTINATION "share/lcms2" NAMESPACE lcms2:: - FILE "share/lcms/lcmsConfig.cmake" ) -install(EXPORT lcmsConfig +# Backwards compatibility for previous vcpkg users +add_library(lcms INTERFACE) +target_link_libraries(lcms INTERFACE lcms2) + + +install(TARGETS lcms EXPORT lcms-targets) +install(EXPORT lcms-targets DESTINATION "share/lcms" - NAMESPACE lcms2:: + NAMESPACE lcms:: ) diff --git a/ports/lcms/CONTROL b/ports/lcms/CONTROL deleted file mode 100644 index e9de483c7c8bee..00000000000000 --- a/ports/lcms/CONTROL +++ /dev/null @@ -1,4 +0,0 @@ -Source: lcms -Version: 2.12 -Homepage: https://github.com/mm2/Little-CMS -Description: Little CMS. diff --git a/ports/lcms/portfile.cmake b/ports/lcms/portfile.cmake index 2a2d2deae23fc8..630585b84a8646 100644 --- a/ports/lcms/portfile.cmake +++ b/ports/lcms/portfile.cmake @@ -15,15 +15,19 @@ vcpkg_from_github( file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() -vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup(PACKAGE_NAME lcms2) +vcpkg_cmake_config_fixup() vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/lcms/lcms-config.cmake" [[ +include(CMakeFindDependencyMacro) +find_dependency(lcms2 CONFIG) +include(${CMAKE_CURRENT_LIST_DIR}/lcms-targets.cmake) +]]) file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/lcms/usage b/ports/lcms/usage new file mode 100644 index 00000000000000..855dd70413d9a8 --- /dev/null +++ b/ports/lcms/usage @@ -0,0 +1,4 @@ +The package lcms:@TARGET_TRIPLET@ provides CMake targets: + + find_package(lcms2 CONFIG REQUIRED) + target_link_libraries(main PRIVATE lcms2::lcms2) diff --git a/ports/lcms/vcpkg.json b/ports/lcms/vcpkg.json new file mode 100644 index 00000000000000..375bfeb437e7d4 --- /dev/null +++ b/ports/lcms/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "lcms", + "version": "2.12", + "port-version": 1, + "description": "Little CMS.", + "homepage": "https://github.com/mm2/Little-CMS", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 5035b32a7db596..7f4a479375fcb6 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3070,7 +3070,7 @@ }, "lcms": { "baseline": "2.12", - "port-version": 0 + "port-version": 1 }, "leaf": { "baseline": "0.2.2", diff --git a/versions/l-/lcms.json b/versions/l-/lcms.json index 8155efcc4b00f9..f32937cd846fc0 100644 --- a/versions/l-/lcms.json +++ b/versions/l-/lcms.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8a29e063316843dfec448d2cc1c2d9c07afd4a02", + "version": "2.12", + "port-version": 1 + }, { "git-tree": "0020f124dcd6fa36e8ab5edad1efc85c59c51a56", "version-string": "2.12", From 637b10359ba50af343c9dda9b164d6f441b84ef7 Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Wed, 8 Sep 2021 15:49:46 -0700 Subject: [PATCH 2/4] Remove :@TARGET_TRIPLET@ --- ports/lcms/portfile.cmake | 2 +- ports/lcms/usage | 2 +- versions/l-/lcms.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/lcms/portfile.cmake b/ports/lcms/portfile.cmake index 630585b84a8646..3b4233613e7acf 100644 --- a/ports/lcms/portfile.cmake +++ b/ports/lcms/portfile.cmake @@ -30,4 +30,4 @@ include(${CMAKE_CURRENT_LIST_DIR}/lcms-targets.cmake) ]]) file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/lcms/usage b/ports/lcms/usage index 855dd70413d9a8..1b37c7f74304db 100644 --- a/ports/lcms/usage +++ b/ports/lcms/usage @@ -1,4 +1,4 @@ -The package lcms:@TARGET_TRIPLET@ provides CMake targets: +The package lcms provides CMake targets: find_package(lcms2 CONFIG REQUIRED) target_link_libraries(main PRIVATE lcms2::lcms2) diff --git a/versions/l-/lcms.json b/versions/l-/lcms.json index f32937cd846fc0..7e02096cc87f6a 100644 --- a/versions/l-/lcms.json +++ b/versions/l-/lcms.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "8a29e063316843dfec448d2cc1c2d9c07afd4a02", + "git-tree": "2325b67210a3ae0feb4348fb889e1e55436363b8", "version": "2.12", "port-version": 1 }, From abce47c3c1259ccb214184410dd8406dad7fe47c Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Wed, 8 Sep 2021 15:52:49 -0700 Subject: [PATCH 3/4] Add comment for duplicate vcpkg_cmake_config_fixup. --- ports/lcms/portfile.cmake | 2 +- versions/l-/lcms.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/lcms/portfile.cmake b/ports/lcms/portfile.cmake index 3b4233613e7acf..1c602c52c80b73 100644 --- a/ports/lcms/portfile.cmake +++ b/ports/lcms/portfile.cmake @@ -20,7 +20,7 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(PACKAGE_NAME lcms2) -vcpkg_cmake_config_fixup() +vcpkg_cmake_config_fixup() # provides old PACKAGE_NAME lcms vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(WRITE "${CURRENT_PACKAGES_DIR}/share/lcms/lcms-config.cmake" [[ diff --git a/versions/l-/lcms.json b/versions/l-/lcms.json index 7e02096cc87f6a..a41a3b6415e2c3 100644 --- a/versions/l-/lcms.json +++ b/versions/l-/lcms.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "2325b67210a3ae0feb4348fb889e1e55436363b8", + "git-tree": "d10fd604e23cd1145f606998d19f607641bce13b", "version": "2.12", "port-version": 1 }, From dbed05149d044345adc63f3c96c008e09b6c3bde Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 21 Sep 2021 02:17:24 +0000 Subject: [PATCH 4/4] [lcms] Update version db --- versions/baseline.json | 2 +- versions/l-/lcms.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/versions/baseline.json b/versions/baseline.json index b5baf0ad159d5a..52319c80cd0f35 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3138,7 +3138,7 @@ }, "lcms": { "baseline": "2.12", - "port-version": 1 + "port-version": 2 }, "leaf": { "baseline": "0.2.2", diff --git a/versions/l-/lcms.json b/versions/l-/lcms.json index 0a537230d20a18..02e5a2edae2bbd 100644 --- a/versions/l-/lcms.json +++ b/versions/l-/lcms.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "27ea0f07f8132e37a1e265ee54216eb0abc185dd", + "version": "2.12", + "port-version": 2 + }, { "git-tree": "40c7773d4774034a567f4b9f5427e558afe66ebd", "version-string": "2.12",