aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2021-09-23 11:00:41 -0700
committerGitHub <noreply@github.com>2021-09-23 11:00:41 -0700
commit674e616a21a490c47f895d077e721591ca6cf7fe (patch)
tree47f95c71d2c887dee0e32b4826c9e5981d4e8b2c
parent23cfcb4cd02d01bd0ba9a1630bb9bb3a02c95879 (diff)
downloadvcpkg-674e616a21a490c47f895d077e721591ca6cf7fe.tar.gz
vcpkg-674e616a21a490c47f895d077e721591ca6cf7fe.zip
[lcms] Backfill compat for lcms::lcms (#20034)
* [lcms] Backfill compat for lcms::lcms * Remove :@TARGET_TRIPLET@ * Add comment for duplicate vcpkg_cmake_config_fixup. * [lcms] Update version db Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
-rw-r--r--ports/lcms/CMakeLists.txt61
-rw-r--r--ports/lcms/portfile.cmake16
-rw-r--r--ports/lcms/usage4
-rw-r--r--ports/lcms/vcpkg.json16
-rw-r--r--versions/baseline.json2
-rw-r--r--versions/l-/lcms.json5
6 files changed, 47 insertions, 57 deletions
diff --git a/ports/lcms/CMakeLists.txt b/ports/lcms/CMakeLists.txt
index d45ed2e8c..4852f8c4e 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 $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>)
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/portfile.cmake b/ports/lcms/portfile.cmake
index 2a2d2deae..78b8409ce 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() # 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" [[
+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)
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
diff --git a/ports/lcms/usage b/ports/lcms/usage
new file mode 100644
index 000000000..1b37c7f74
--- /dev/null
+++ b/ports/lcms/usage
@@ -0,0 +1,4 @@
+The package lcms 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
index 0618ac847..6dca15372 100644
--- a/ports/lcms/vcpkg.json
+++ b/ports/lcms/vcpkg.json
@@ -1,7 +1,17 @@
{
"name": "lcms",
- "version-string": "2.12",
- "port-version": 1,
+ "version": "2.12",
+ "port-version": 2,
"description": "Little CMS.",
- "homepage": "https://github.com/mm2/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 542a1f28a..25432541e 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -3146,7 +3146,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 0a537230d..02e5a2eda 100644
--- a/versions/l-/lcms.json
+++ b/versions/l-/lcms.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "27ea0f07f8132e37a1e265ee54216eb0abc185dd",
+ "version": "2.12",
+ "port-version": 2
+ },
+ {
"git-tree": "40c7773d4774034a567f4b9f5427e558afe66ebd",
"version-string": "2.12",
"port-version": 1