diff --git a/ports/gdcm2/CONTROL b/ports/gdcm2/CONTROL index b77ad34e6..32b92aca0 100644 --- a/ports/gdcm2/CONTROL +++ b/ports/gdcm2/CONTROL @@ -1,4 +1,4 @@ Source: gdcm2 -Version: 2.6.7 +Version: 2.6.8 Description: Grassroots DICOM library Build-Depends: zlib, expat diff --git a/ports/gdcm2/gdcm-include-dir.patch b/ports/gdcm2/gdcm-include-dir.patch deleted file mode 100644 index 34d574d47..000000000 --- a/ports/gdcm2/gdcm-include-dir.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -409,6 +409,7 @@ - if(GDCM_USE_SYSTEM_ZLIB) - # If user say so, then this is a requirement ! - find_package(ZLIB REQUIRED) -+ include_directories(${ZLIB_INCLUDE_DIR}) - set(GDCM_ZLIB_LIBRARIES ${ZLIB_LIBRARIES}) - else() - set(GDCM_ZLIB_LIBRARIES "gdcmzlib") diff --git a/ports/gdcm2/gdcmSystem.patch b/ports/gdcm2/gdcmSystem.patch new file mode 100644 index 000000000..63722c4f1 --- /dev/null +++ b/ports/gdcm2/gdcmSystem.patch @@ -0,0 +1,11 @@ +--- a/Source/Common/gdcmSystem.cxx ++++ b/Source/Common/gdcmSystem.cxx +@@ -977,7 +977,7 @@ + } + } + // We need to tell the user... +- gdcmWarningMacro( "Could not find Charset from alias: " + alias ); ++ gdcmWarningMacro( std::string("Could not find Charset from alias: ") + alias ); + return NULL; + } + #endif //_WIN32 diff --git a/ports/gdcm2/portfile.cmake b/ports/gdcm2/portfile.cmake index dfe48c69f..0293ea714 100644 --- a/ports/gdcm2/portfile.cmake +++ b/ports/gdcm2/portfile.cmake @@ -1,26 +1,44 @@ +# Common Ambient Variables: +# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} +# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} +# CURRENT_PORT DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} +# PORT = current port name (zlib, etc) +# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) +# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) +# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) +# VCPKG_ROOT_DIR = +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# + include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gdcm-2.6.7) -vcpkg_download_distfile(ARCHIVE - URLS "https://downloads.sourceforge.net/project/gdcm/gdcm 2.x/GDCM 2.6.7/gdcm-2.6.7.tar.gz" - FILENAME "gdcm-2.6.7.tar.gz" - SHA512 2eefad47e4d36038db8d120a91dc0a40816d045e3562c711b6dba7aec5788d4b08a00966bf4c82dc354cb1aa654bff4200afff022a42f2ab58bf7baafe69ff05 +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO malaterre/GDCM + REF v2.6.8 + SHA512 f3b571f7e00b42b444acd6d696ba1979b6ef83e84744ecddb05ad09d8d2443027145c50cb67c6bc25d6b8e009833b643e575ab988106cb981f529cf455a9b0bc + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) + vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/gdcm-include-dir.patch" + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/gdcmSystem.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 + 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 ${ADDITIONAL_OPTIONS}