diff options
Diffstat (limited to 'vcpkg/ports/gdcm')
| -rw-r--r-- | vcpkg/ports/gdcm/copyright.diff | 87 | ||||
| -rw-r--r-- | vcpkg/ports/gdcm/include-no-namespace.diff | 22 | ||||
| -rw-r--r-- | vcpkg/ports/gdcm/no-absolute-paths.diff | 39 | ||||
| -rw-r--r-- | vcpkg/ports/gdcm/portfile.cmake | 40 | ||||
| -rw-r--r-- | vcpkg/ports/gdcm/prefer-config.diff | 47 | ||||
| -rw-r--r-- | vcpkg/ports/gdcm/vcpkg.json | 25 |
6 files changed, 260 insertions, 0 deletions
diff --git a/vcpkg/ports/gdcm/copyright.diff b/vcpkg/ports/gdcm/copyright.diff new file mode 100644 index 0000000..3a7e72e --- /dev/null +++ b/vcpkg/ports/gdcm/copyright.diff @@ -0,0 +1,87 @@ +diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt +index 4cdc999..5971705 100644 +--- a/Utilities/CMakeLists.txt ++++ b/Utilities/CMakeLists.txt +@@ -12,8 +12,8 @@ if(NOT GDCM_USE_SYSTEM_LJPEG) + endif() + + # Do expat +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmexpat/COPYING) + if(NOT GDCM_USE_SYSTEM_EXPAT) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmexpat/COPYING) + set(EXPAT_NAMESPACE "GDCMEXPAT") + set(EXPAT_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(EXPAT_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -22,8 +22,8 @@ if(NOT GDCM_USE_SYSTEM_EXPAT) + endif() + + # Do openjpeg (jpeg2000 implementation) +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmopenjpeg/LICENSE) + if(NOT GDCM_USE_SYSTEM_OPENJPEG) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmopenjpeg/LICENSE) + set(OPENJPEG_NAMESPACE "GDCMOPENJPEG") + set(OPENJPEG_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(OPENJPEG_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -34,9 +34,9 @@ if(NOT GDCM_USE_SYSTEM_OPENJPEG) + endif() + + # Do jpegls (JPEG-LS aka near lossless implementation) +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmcharls/License.txt) + if(GDCM_USE_JPEGLS) + if(NOT GDCM_USE_SYSTEM_CHARLS) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmcharls/License.txt) + set(CHARLS_NAMESPACE "GDCMCHARLS") + set(CHARLS_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(CHARLS_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -47,9 +47,9 @@ endif() + endif() + + # Do md5 +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmmd5/COPYING) + if(GDCM_BUILD_TESTING) + if(NOT GDCM_USE_SYSTEM_MD5) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmmd5/COPYING) + set(MD5_NAMESPACE "GDCMMD5") + set(MD5_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(MD5_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -59,8 +59,8 @@ endif() + endif() + + # Do zlib +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmzlib/COPYING) + if(NOT GDCM_USE_SYSTEM_ZLIB) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmzlib/COPYING) + set(ZLIB_NAMESPACE "GDCMZLIB") + set(ZLIB_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(ZLIB_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -70,8 +70,8 @@ endif() + + # Do getopt + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/getopt) +- APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/getopt/COPYING) + if(WIN32 AND NOT CYGWIN AND NOT MINGW) ++ APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/getopt/COPYING) + set(GETOPT_NAMESPACE "GDCMGETOPT") + set(GETOPT_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(GETOPT_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -81,9 +81,9 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/getopt) + endif() + + # you could be running mingw32 on linux in which case you do NOT want the gdcmuuid lib +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmuuid/COPYING) + if(NOT WIN32 AND NOT MINGW) + if(NOT GDCM_USE_SYSTEM_UUID) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmuuid/COPYING) + set(UUID_NAMESPACE "GDCMUUID") + set(UUID_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(UUID_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -92,8 +92,8 @@ if(NOT WIN32 AND NOT MINGW) + endif() + endif() + +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/pvrg/COPYING) + if(GDCM_USE_PVRG) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/pvrg/COPYING) + if(NOT GDCM_USE_SYSTEM_PVRG) + add_subdirectory(pvrg) + endif() diff --git a/vcpkg/ports/gdcm/include-no-namespace.diff b/vcpkg/ports/gdcm/include-no-namespace.diff new file mode 100644 index 0000000..86c3633 --- /dev/null +++ b/vcpkg/ports/gdcm/include-no-namespace.diff @@ -0,0 +1,22 @@ +diff --git a/Source/Common/gdcmFilename.cxx b/Source/Common/gdcmFilename.cxx +index 5384510..9c99f94 100644 +--- a/Source/Common/gdcmFilename.cxx ++++ b/Source/Common/gdcmFilename.cxx +@@ -16,6 +16,9 @@ + #include <climits> + #include <cstdlib> // realpath + #include <cstring> ++#ifdef _WIN32 ++# include <windows.h> ++#endif + + namespace gdcm + { +@@ -97,7 +100,6 @@ const char *Filename::ToUnixSlashes() + } + + #if defined(_WIN32) && (defined(_MSC_VER) || defined(__WATCOMC__) || defined(__BORLANDC__) || defined(__MINGW32__)) +-#include <windows.h> + + inline void Realpath(const char *path, std::string & resolved_path) + { diff --git a/vcpkg/ports/gdcm/no-absolute-paths.diff b/vcpkg/ports/gdcm/no-absolute-paths.diff new file mode 100644 index 0000000..e76dd30 --- /dev/null +++ b/vcpkg/ports/gdcm/no-absolute-paths.diff @@ -0,0 +1,39 @@ +diff --git a/CMake/ExportConfiguration/GDCMConfig.cmake.in b/CMake/ExportConfiguration/GDCMConfig.cmake.in +index d43d565..dd2023d 100644 +--- a/CMake/ExportConfiguration/GDCMConfig.cmake.in ++++ b/CMake/ExportConfiguration/GDCMConfig.cmake.in +@@ -46,8 +46,6 @@ if(EXISTS ${SELF_DIR}/GDCMTargets.cmake) + else() + if(EXISTS ${SELF_DIR}/GDCMExports.cmake) + # This is a build tree +- set( GDCM_INCLUDE_DIRS "@GDCM_INCLUDE_PATH@") +- set(GDCM_LIBRARY_DIRS "@GDCM_LIBRARY_DIR@") + + include(${SELF_DIR}/GDCMExports.cmake) + +diff --git a/Source/Common/gdcmConfigure.h.in b/Source/Common/gdcmConfigure.h.in +index 4a5d68f..276c0f4 100644 +--- a/Source/Common/gdcmConfigure.h.in ++++ b/Source/Common/gdcmConfigure.h.in +@@ -37,9 +37,9 @@ + + /* Useful in particular for loadshared where the full path + * to the lib is needed */ +-#define GDCM_SOURCE_DIR "@GDCM_SOURCE_DIR@" +-#define GDCM_EXECUTABLE_OUTPUT_PATH "@EXECUTABLE_OUTPUT_PATH@" +-#define GDCM_LIBRARY_OUTPUT_PATH "@LIBRARY_OUTPUT_PATH@" ++#define GDCM_SOURCE_DIR "" ++#define GDCM_EXECUTABLE_OUTPUT_PATH "" ++#define GDCM_LIBRARY_OUTPUT_PATH "" + + #cmakedefine GDCM_BUILD_TESTING + +@@ -81,7 +81,7 @@ + /* only cerr, for instance 'invalid file' will be allowed */ + #cmakedefine GDCM_DEBUG + +-#define GDCM_CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" ++#define GDCM_CMAKE_INSTALL_PREFIX "" + #define GDCM_INSTALL_INCLUDE_DIR "@GDCM_INSTALL_INCLUDE_DIR@" + #define GDCM_INSTALL_DATA_DIR "@GDCM_INSTALL_DATA_DIR@" + diff --git a/vcpkg/ports/gdcm/portfile.cmake b/vcpkg/ports/gdcm/portfile.cmake new file mode 100644 index 0000000..3e8a1c4 --- /dev/null +++ b/vcpkg/ports/gdcm/portfile.cmake @@ -0,0 +1,40 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO malaterre/GDCM + REF "v${VERSION}" + SHA512 2fe28444cee171a536d63f26c1ad7308a03b946e79dc8b7d648b5c7e6f4a8f52c0c32ec9cf463d95b876db31becc81541638b97fc7f15b79ae04de5988d6941e + HEAD_REF master + PATCHES + copyright.diff + include-no-namespace.diff + no-absolute-paths.diff + prefer-config.diff +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DGDCM_BUILD_DOCBOOK_MANPAGES=OFF + -DGDCM_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DGDCM_BUILD_TESTING=OFF + -DGDCM_INSTALL_DATA_DIR=share/${PORT} + -DGDCM_INSTALL_DOC_DIR=share/${PORT}/doc + -DGDCM_INSTALL_INCLUDE_DIR=include + -DGDCM_INSTALL_PACKAGE_DIR=share/${PORT} + -DGDCM_USE_SYSTEM_EXPAT=ON + -DGDCM_USE_SYSTEM_OPENJPEG=ON + -DGDCM_USE_SYSTEM_ZLIB=ON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_install_copyright(FILE_LIST "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Copyright.txt") diff --git a/vcpkg/ports/gdcm/prefer-config.diff b/vcpkg/ports/gdcm/prefer-config.diff new file mode 100644 index 0000000..3698bab --- /dev/null +++ b/vcpkg/ports/gdcm/prefer-config.diff @@ -0,0 +1,47 @@ +diff --git a/CMake/ExportConfiguration/GDCMConfig.cmake.in b/CMake/ExportConfiguration/GDCMConfig.cmake.in +index 169cb82..c77cf1f 100644 +--- a/CMake/ExportConfiguration/GDCMConfig.cmake.in ++++ b/CMake/ExportConfiguration/GDCMConfig.cmake.in +@@ -1,3 +1,7 @@ ++include(CMakeFindDependencyMacro) ++find_dependency(expat CONFIG) ++find_dependency(OpenJPEG CONFIG) ++find_dependency(ZLIB) + #----------------------------------------------------------------------------- + # + # GDCMConfig.cmake - CMake configuration file for external projects. +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 38c65d1..b0cb77b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -360,8 +360,8 @@ else() + endif() + + if(GDCM_USE_SYSTEM_OPENJPEG) +- find_package(OpenJPEG 2.0.0 REQUIRED) +- set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) ++ find_package(OpenJPEG CONFIG REQUIRED) ++ set(GDCM_OPENJPEG_LIBRARIES $<TARGET_NAME:openjp2>) + else() + set(GDCM_OPENJPEG_LIBRARIES gdcmopenjp2) + endif() +@@ -401,7 +401,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}) ++ set(GDCM_ZLIB_LIBRARIES ZLIB::ZLIB) + else() + set(GDCM_ZLIB_LIBRARIES "gdcmzlib") + endif() +@@ -420,8 +420,8 @@ endif() + + if(GDCM_USE_SYSTEM_EXPAT) + # If user say so, then this is a requirement ! +- find_package(EXPAT REQUIRED) +- set(GDCM_EXPAT_LIBRARIES ${EXPAT_LIBRARIES}) ++ find_package(expat CONFIG REQUIRED) ++ set(GDCM_EXPAT_LIBRARIES expat::expat) + else() + set(GDCM_EXPAT_LIBRARIES "gdcmexpat") + endif() diff --git a/vcpkg/ports/gdcm/vcpkg.json b/vcpkg/ports/gdcm/vcpkg.json new file mode 100644 index 0000000..b3ad627 --- /dev/null +++ b/vcpkg/ports/gdcm/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "gdcm", + "version": "3.0.24", + "description": "Grassroots DICOM library", + "homepage": "https://github.com/malaterre/GDCM", + "license": null, + "supports": "!uwp", + "dependencies": [ + "expat", + { + "name": "libiconv", + "platform": "!windows" + }, + "openjpeg", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} |