diff options
Diffstat (limited to 'ports/gdcm')
| -rw-r--r-- | ports/gdcm/CONTROL | 4 | ||||
| -rw-r--r-- | ports/gdcm/find-openjpeg.patch | 48 | ||||
| -rw-r--r-- | ports/gdcm/fix-share-path.patch | 32 | ||||
| -rw-r--r-- | ports/gdcm/portfile.cmake | 49 |
4 files changed, 133 insertions, 0 deletions
diff --git a/ports/gdcm/CONTROL b/ports/gdcm/CONTROL new file mode 100644 index 000000000..127a89c67 --- /dev/null +++ b/ports/gdcm/CONTROL @@ -0,0 +1,4 @@ +Source: gdcm +Version: 3.0.0 +Description: Grassroots DICOM library +Build-Depends: zlib, expat, openjpeg diff --git a/ports/gdcm/find-openjpeg.patch b/ports/gdcm/find-openjpeg.patch new file mode 100644 index 000000000..c3fff18f5 --- /dev/null +++ b/ports/gdcm/find-openjpeg.patch @@ -0,0 +1,48 @@ +--- a/CMake/FindOpenJPEG.cmake ++++ b/CMake/FindOpenJPEG.cmake +@@ -20,14 +20,38 @@ + + # Try with pkg-config first + find_package(PkgConfig) +-pkg_check_modules(OPENJPEG libopenjp2) ++if (PKG_CONFIG_FOUND) ++ pkg_check_modules(OPENJPEG libopenjp2) ++ include(FindPackageHandleStandardArgs) ++ find_package_handle_standard_args(OpenJPEG REQUIRED_VARS ++ OPENJPEG_LIBRARIES ++ OPENJPEG_INCLUDE_DIRS ++ VERSION_VAR OPENJPEG_VERSION ++ ) ++endif() + +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(OpenJPEG REQUIRED_VARS +- OPENJPEG_LIBRARIES +- OPENJPEG_INCLUDE_DIRS +- VERSION_VAR OPENJPEG_VERSION +-) ++find_path(OPENJPEG_INCLUDE_DIR NAMES openjpeg.h) ++find_library(OPENJPEG_LIBRARY NAMES openjp2) ++if (OPENJPEG_LIBRARY) ++ string(FIND ${OPENJPEG_LIBRARY} debug _debug_substrpos) ++ if (_debug_substrpos EQUAL -1) ++ set(OPENJPEG_LIBRARY_RELEASE ${OPENJPEG_LIBRARY}) ++ string(REPLACE "/lib" "/debug/lib" OPENJPEG_LIBRARY_DEBUG ${OPENJPEG_LIBRARY_RELEASE}) ++ else() ++ set(OPENJPEG_LIBRARY_DEBUG ${OPENJPEG_LIBRARY}) ++ string(REPLACE "/debug/lib" "/lib" OPENJPEG_LIBRARY_RELEASE ${OPENJPEG_LIBRARY_DEBUG}) ++ endif() ++ set(OPENJPEG_LIBRARY optimized ${OPENJPEG_LIBRARY_RELEASE} debug ${OPENJPEG_LIBRARY_DEBUG}) ++ set(OPENJPEG_FOUND TRUE) ++endif() ++ ++if (OPENJPEG_FOUND) ++ set(OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARY}) ++ set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_DIR}) ++ message(STATUS "Found OPENJPEG library ${OPENJPEG_LIBRARIES}") ++else() ++ message(FATAL_ERROR "NOT found OPENJPEG") ++endif() + + mark_as_advanced( + OPENJPEG_LIBRARIES diff --git a/ports/gdcm/fix-share-path.patch b/ports/gdcm/fix-share-path.patch new file mode 100644 index 000000000..931094681 --- /dev/null +++ b/ports/gdcm/fix-share-path.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6ac16ab..842d833 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -246,15 +246,15 @@ if(NOT GDCM_INSTALL_LIB_DIR)
+ endif()
+
+ if(NOT GDCM_INSTALL_DATA_DIR)
+- set(GDCM_INSTALL_DATA_DIR "share/${subdir}")
++ set(GDCM_INSTALL_DATA_DIR "share/${projectname}")
+ endif()
+
+ if(NOT GDCM_INSTALL_INCLUDE_DIR)
+- set(GDCM_INSTALL_INCLUDE_DIR "include/${subdir}")
++ set(GDCM_INSTALL_INCLUDE_DIR "include/${projectname}")
+ endif()
+
+ if(NOT GDCM_INSTALL_DOC_DIR)
+- set(GDCM_INSTALL_DOC_DIR "share/doc/${subdir}")
++ set(GDCM_INSTALL_DOC_DIR "share/doc/${projectname}")
+ endif()
+
+ if(NOT GDCM_INSTALL_MAN_DIR)
+@@ -262,7 +262,7 @@ if(NOT GDCM_INSTALL_MAN_DIR)
+ endif()
+
+ if(NOT GDCM_INSTALL_PACKAGE_DIR)
+- set(GDCM_INSTALL_PACKAGE_DIR ${GDCM_INSTALL_LIB_DIR}/${subdir}
++ set(GDCM_INSTALL_PACKAGE_DIR ${GDCM_INSTALL_LIB_DIR}/${projectname}
+ CACHE INTERNAL "")
+ endif()
+
diff --git a/ports/gdcm/portfile.cmake b/ports/gdcm/portfile.cmake new file mode 100644 index 000000000..80b0ab6d8 --- /dev/null +++ b/ports/gdcm/portfile.cmake @@ -0,0 +1,49 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO malaterre/GDCM + REF v3.0.0 + SHA512 2ac076dd49011234f4431ffe67fcba84a1ca9042ec5fc4dfc8aed2ed16bec5f499fa7aa666e5630796afc266ce76741d931cca333534b55fdc477e25a9189d33 + HEAD_REF master + PATCHES + find-openjpeg.patch + fix-share-path.patch +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(GDCM_BUILD_SHARED_LIBS ON) +else() + set(GDCM_BUILD_SHARED_LIBS OFF) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA # Disable this option if project cannot be built with Ninja + OPTIONS + -DGDCM_BUILD_DOCBOOK_MANPAGES=OFF + -DGDCM_BUILD_SHARED_LIBS=${GDCM_BUILD_SHARED_LIBS} + -DGDCM_INSTALL_INCLUDE_DIR=include + -DGDCM_USE_SYSTEM_EXPAT=ON + -DGDCM_USE_SYSTEM_ZLIB=ON + -DGDCM_USE_SYSTEM_OPENJPEG=ON + -DGDCM_BUILD_TESTING=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/gdcm TARGET_PATH share/gdcm) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/gdcm RENAME copyright) + +vcpkg_copy_pdbs() |
