From 4b834fad29ced8b12a0c4191d0db047599b9399f Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Fri, 10 May 2019 12:47:09 -0700 Subject: [PATCH 01/29] [docs] update port naming info in CONTROL docs (#6397) --- docs/maintainers/control-files.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/maintainers/control-files.md b/docs/maintainers/control-files.md index dc2a255f8868fc..a8f430836e1b57 100644 --- a/docs/maintainers/control-files.md +++ b/docs/maintainers/control-files.md @@ -30,9 +30,13 @@ Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5 #### Source The name of the port. -When adding new ports be aware that the name may conflict with other projects that are not a part of vcpkg. To avoid conflicts verify the name on a service like [Repology][repology]. For example `json` conflicts with too many other projects so you should add a scope to the name such as `taocpp-json` to make it unique. +When adding new ports be aware that the name may conflict with other projects that are not a part of vcpkg. For example `json` conflicts with too many other projects so you should add a scope to the name such as `taocpp-json` to make it unique. Verify there are no conflicts on a search engine as well as on other package collections. -[repology]: https://repology.org/projects/ +Package collections to check for conflicts: + ++ [Repology](https://repology.org/projects/) ++ [Debian packages](https://www.debian.org/distrib/packages) ++ [Packages search](https://pkgs.org/) #### Version The port version. From 3cb50e6d98793e82a44de419373d677e836464d1 Mon Sep 17 00:00:00 2001 From: Haojia Yu Date: Sat, 11 May 2019 03:50:38 +0800 Subject: [PATCH 02/29] update osg version to 3.6.3 (#6385) --- ports/osg/CONTROL | 2 +- ports/osg/portfile.cmake | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ports/osg/CONTROL b/ports/osg/CONTROL index 421e96a9da22fa..65ee936fbf024a 100644 --- a/ports/osg/CONTROL +++ b/ports/osg/CONTROL @@ -1,5 +1,5 @@ Source: osg -Version: 3.6.2-2 +Version: 3.6.3 Description: The OpenSceneGraph is an open source high performance 3D graphics toolkit. Build-Depends: freetype, jasper, openexr, zlib, gdal, giflib, libjpeg-turbo, libpng, tiff diff --git a/ports/osg/portfile.cmake b/ports/osg/portfile.cmake index 9b70cce140d472..61ff40460a529d 100644 --- a/ports/osg/portfile.cmake +++ b/ports/osg/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO openscenegraph/OpenSceneGraph - REF OpenSceneGraph-3.6.2 - SHA512 6949dd4dea9dcffe4228086b72eafdb253bf1403b3b7a70a4727848c3cde23ad0270f41b1c3e2bdbfd410ec067ecce2052a5d26c61b032b6d46ce84b8c931bfb + REF OpenSceneGraph-3.6.3 + SHA512 5d66002cffa935ce670a119ffaebd8e4709acdf79ae2b34b37ad9df284ec8a1a74fee5a7a4109fbf3da6b8bd857960f2b7ae68c4c2e26036edbf484fccf08322 HEAD_REF master PATCHES collada.patch @@ -38,12 +38,12 @@ file(REMOVE_RECURSE ${OSG_TOOLS}) file(GLOB OSG_TOOLS_DBG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) file(REMOVE_RECURSE ${OSG_TOOLS_DBG}) -file(GLOB OSG_PLUGINS_DBG ${CURRENT_PACKAGES_DIR}/debug/bin/osgPlugins-3.6.2/*.dll) -file(COPY ${OSG_PLUGINS_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/osg/osgPlugins-3.6.2) -file(GLOB OSG_PLUGINS_REL ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-3.6.2/*.dll) -file(COPY ${OSG_PLUGINS_REL} DESTINATION ${OSG_TOOL_PATH}/osgPlugins-3.6.2) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/osgPlugins-3.6.2/) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-3.6.2/) +file(GLOB OSG_PLUGINS_DBG ${CURRENT_PACKAGES_DIR}/debug/bin/osgPlugins-3.6.3/*.dll) +file(COPY ${OSG_PLUGINS_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/osg/osgPlugins-3.6.3) +file(GLOB OSG_PLUGINS_REL ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-3.6.3/*.dll) +file(COPY ${OSG_PLUGINS_REL} DESTINATION ${OSG_TOOL_PATH}/osgPlugins-3.6.3) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/osgPlugins-3.6.3/) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-3.6.3/) # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/osg) From 14bfca23c51ca7bdeea44681677a93be1fbeb5fb Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Sat, 11 May 2019 04:07:14 +0800 Subject: [PATCH 03/29] [gdal]Add Linux/Unix support. (#6335) --- ports/gdal/portfile.cmake | 577 ++++++++++++++++++++++---------------- 1 file changed, 329 insertions(+), 248 deletions(-) diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index 35bf5e4b2a78d8..ea3ce9dbfa600d 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -54,266 +54,347 @@ foreach(BUILD_TYPE IN LISTS BUILD_TYPES) ) endforeach() - -find_program(NMAKE nmake REQUIRED) - -file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) -file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/share/gdal" NATIVE_DATA_DIR) -file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/share/gdal/html" NATIVE_HTML_DIR) - -# Setup proj4 libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PROJ_INCLUDE_DIR) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/proj.lib" PROJ_LIBRARY_REL) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/projd.lib" PROJ_LIBRARY_DBG) - -# Setup libpng libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PNG_INCLUDE_DIR) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpng16.lib" PNG_LIBRARY_REL) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.lib" PNG_LIBRARY_DBG) - -# Setup zlib libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" ZLIB_INCLUDE_DIR) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/zlib.lib" ZLIB_LIBRARY_REL) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib" ZLIB_LIBRARY_DBG) - -# Setup geos libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" GEOS_INCLUDE_DIR) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libgeos.lib" GEOS_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libgeosd.lib" GEOS_LIBRARY_DBG) -else() - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib" GEOS_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib" GEOS_LIBRARY_DBG) -endif() - -# Setup expat libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" EXPAT_INCLUDE_DIR) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/expat.lib" EXPAT_LIBRARY_REL) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/expat.lib" EXPAT_LIBRARY_DBG) - -# Setup curl libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" CURL_INCLUDE_DIR) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib" CURL_LIBRARY_REL) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl.lib" CURL_LIBRARY_DBG) - -# Setup sqlite3 libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" SQLITE_INCLUDE_DIR) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib" SQLITE_LIBRARY_REL) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib" SQLITE_LIBRARY_DBG) - -# Setup PostgreSQL libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PGSQL_INCLUDE_DIR) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpq.lib" PGSQL_LIBRARY_REL) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.lib" PGSQL_LIBRARY_DBG) - -# Setup OpenJPEG libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" OPENJPEG_INCLUDE_DIR) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/openjp2.lib" OPENJPEG_LIBRARY_REL) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/openjp2.lib" OPENJPEG_LIBRARY_DBG) - -# Setup WebP libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" WEBP_INCLUDE_DIR) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/webp.lib" WEBP_LIBRARY_REL) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/webpd.lib" WEBP_LIBRARY_DBG) - -# Setup libxml2 libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" XML2_INCLUDE_DIR) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib" XML2_LIBRARY_REL) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib" XML2_LIBRARY_DBG) - -# Setup liblzma libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" LZMA_INCLUDE_DIR) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/lzma.lib" LZMA_LIBRARY_REL) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/lzma.lib" LZMA_LIBRARY_DBG) - -if("mysql-libmysql" IN_LIST FEATURES OR "mysql-libmariadb" IN_LIST FEATURES) - # Setup MySQL libraries + include path - if("mysql-libmysql" IN_LIST FEATURES) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/mysql" MYSQL_INCLUDE_DIR) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmysql.lib" MYSQL_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmysql.lib" MYSQL_LIBRARY_DBG) - endif() - - if("mysql-libmariadb" IN_LIST FEATURES) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/mysql" MYSQL_INCLUDE_DIR) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmariadb.lib" MYSQL_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmariadb.lib" MYSQL_LIBRARY_DBG) - endif() - - list(APPEND NMAKE_OPTIONS MYSQL_INC_DIR=${MYSQL_INCLUDE_DIR}) - list(APPEND NMAKE_OPTIONS_REL MYSQL_LIB=${MYSQL_LIBRARY_REL}) - list(APPEND NMAKE_OPTIONS_DBG MYSQL_LIB=${MYSQL_LIBRARY_DBG}) -endif() - -if ("libspatialite" IN_LIST FEATURES) - # Setup spatialite libraries + include path - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/spatialite" SPATIALITE_INCLUDE_DIR) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/spatialite.lib" SPATIALITE_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/spatialite.lib" SPATIALITE_LIBRARY_DBG) - set(HAVE_SPATIALITE "-DHAVE_SPATIALITE") -endif() - -list(APPEND NMAKE_OPTIONS - GDAL_HOME=${NATIVE_PACKAGES_DIR} - DATADIR=${NATIVE_DATA_DIR} - HTMLDIR=${NATIVE_HTML_DIR} - GEOS_DIR=${GEOS_INCLUDE_DIR} - "GEOS_CFLAGS=-I${GEOS_INCLUDE_DIR} -DHAVE_GEOS" - PROJ_INCLUDE=-I${PROJ_INCLUDE_DIR} - EXPAT_DIR=${EXPAT_INCLUDE_DIR} - EXPAT_INCLUDE=-I${EXPAT_INCLUDE_DIR} - CURL_INC=-I${CURL_INCLUDE_DIR} - "SQLITE_INC=-I${SQLITE_INCLUDE_DIR} ${HAVE_SPATIALITE}" - PG_INC_DIR=${PGSQL_INCLUDE_DIR} - OPENJPEG_ENABLED=YES - OPENJPEG_CFLAGS=-I${OPENJPEG_INCLUDE_DIR} - OPENJPEG_VERSION=20100 - WEBP_ENABLED=YES - WEBP_CFLAGS=-I${WEBP_INCLUDE_DIR} - LIBXML2_INC=-I${XML2_INCLUDE_DIR} - PNG_EXTERNAL_LIB=1 - PNGDIR=${PNG_INCLUDE_DIR} - ZLIB_INC=-I${ZLIB_INCLUDE_DIR} - ZLIB_EXTERNAL_LIB=1 - MSVC_VER=1900 -) - -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - list(APPEND NMAKE_OPTIONS WIN64=YES) -endif() - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - list(APPEND NMAKE_OPTIONS PROJ_FLAGS=-DPROJ_STATIC) - list(APPEND NMAKE_OPTIONS CURL_CFLAGS=-DCURL_STATICLIB) -else() - # Enables PDBs for release and debug builds - list(APPEND NMAKE_OPTIONS WITH_PDB=1) -endif() - -if (VCPKG_CRT_LINKAGE STREQUAL static) - set(LINKAGE_FLAGS "/MT") -else() - set(LINKAGE_FLAGS "/MD") -endif() - -list(APPEND NMAKE_OPTIONS_REL - ${NMAKE_OPTIONS} - CXX_CRT_FLAGS=${LINKAGE_FLAGS} - PROJ_LIBRARY=${PROJ_LIBRARY_REL} - PNG_LIB=${PNG_LIBRARY_REL} - GEOS_LIB=${GEOS_LIBRARY_REL} - EXPAT_LIB=${EXPAT_LIBRARY_REL} - "CURL_LIB=${CURL_LIBRARY_REL} wsock32.lib wldap32.lib winmm.lib" - "SQLITE_LIB=${SQLITE_LIBRARY_REL} ${SPATIALITE_LIBRARY_REL}" - OPENJPEG_LIB=${OPENJPEG_LIBRARY_REL} - WEBP_LIBS=${WEBP_LIBRARY_REL} - LIBXML2_LIB=${XML2_LIBRARY_REL} - ZLIB_LIB=${ZLIB_LIBRARY_REL} -) -if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") - # Static Build does not like PG_LIB - list(APPEND NMAKE_OPTIONS_REL PG_LIB=${PGSQL_LIBRARY_REL}) -endif() - -list(APPEND NMAKE_OPTIONS_DBG - ${NMAKE_OPTIONS} - CXX_CRT_FLAGS="${LINKAGE_FLAGS}d" - PROJ_LIBRARY=${PROJ_LIBRARY_DBG} - PNG_LIB=${PNG_LIBRARY_DBG} - GEOS_LIB=${GEOS_LIBRARY_DBG} - EXPAT_LIB=${EXPAT_LIBRARY_DBG} - "CURL_LIB=${CURL_LIBRARY_DBG} wsock32.lib wldap32.lib winmm.lib" - "SQLITE_LIB=${SQLITE_LIBRARY_DBG} ${SPATIALITE_LIBRARY_DBG}" - OPENJPEG_LIB=${OPENJPEG_LIBRARY_DBG} - WEBP_LIBS=${WEBP_LIBRARY_DBG} - LIBXML2_LIB=${XML2_LIBRARY_DBG} - ZLIB_LIB=${ZLIB_LIBRARY_DBG} - DEBUG=1 -) -if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") - # Static Build does not like PG_LIB - list(APPEND NMAKE_OPTIONS_DBG PG_LIB=${PGSQL_LIBRARY_DBG}) -endif() - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - ################ - # Release build - ################ - message(STATUS "Building ${TARGET_TRIPLET}-rel") +if (WIN32) # Build in WINDOWS + # Check build system first + find_program(NMAKE nmake REQUIRED) + + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/share/gdal" NATIVE_DATA_DIR) + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/share/gdal/html" NATIVE_HTML_DIR) + + # Setup proj4 libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PROJ_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/proj.lib" PROJ_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/projd.lib" PROJ_LIBRARY_DBG) + + # Setup libpng libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PNG_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpng16.lib" PNG_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.lib" PNG_LIBRARY_DBG) + + # Setup zlib libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" ZLIB_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/zlib.lib" ZLIB_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib" ZLIB_LIBRARY_DBG) + + # Setup geos libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" GEOS_INCLUDE_DIR) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libgeos.lib" GEOS_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libgeosd.lib" GEOS_LIBRARY_DBG) + else() + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib" GEOS_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib" GEOS_LIBRARY_DBG) + endif() + + # Setup expat libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" EXPAT_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/expat.lib" EXPAT_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/expat.lib" EXPAT_LIBRARY_DBG) + + # Setup curl libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" CURL_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib" CURL_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl.lib" CURL_LIBRARY_DBG) + + # Setup sqlite3 libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" SQLITE_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib" SQLITE_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib" SQLITE_LIBRARY_DBG) + + # Setup PostgreSQL libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PGSQL_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpq.lib" PGSQL_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.lib" PGSQL_LIBRARY_DBG) + + # Setup OpenJPEG libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" OPENJPEG_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/openjp2.lib" OPENJPEG_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/openjp2.lib" OPENJPEG_LIBRARY_DBG) + + # Setup WebP libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" WEBP_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/webp.lib" WEBP_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/webpd.lib" WEBP_LIBRARY_DBG) + + # Setup libxml2 libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" XML2_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib" XML2_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib" XML2_LIBRARY_DBG) + + # Setup liblzma libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" LZMA_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/lzma.lib" LZMA_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/lzma.lib" LZMA_LIBRARY_DBG) + + if("mysql-libmysql" IN_LIST FEATURES OR "mysql-libmariadb" IN_LIST FEATURES) + # Setup MySQL libraries + include path + if("mysql-libmysql" IN_LIST FEATURES) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/mysql" MYSQL_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmysql.lib" MYSQL_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmysql.lib" MYSQL_LIBRARY_DBG) + endif() + + if("mysql-libmariadb" IN_LIST FEATURES) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/mysql" MYSQL_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmariadb.lib" MYSQL_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmariadb.lib" MYSQL_LIBRARY_DBG) + endif() + + list(APPEND NMAKE_OPTIONS MYSQL_INC_DIR=${MYSQL_INCLUDE_DIR}) + list(APPEND NMAKE_OPTIONS_REL MYSQL_LIB=${MYSQL_LIBRARY_REL}) + list(APPEND NMAKE_OPTIONS_DBG MYSQL_LIB=${MYSQL_LIBRARY_DBG}) + endif() + + if ("libspatialite" IN_LIST FEATURES) + # Setup spatialite libraries + include path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/spatialite" SPATIALITE_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/spatialite.lib" SPATIALITE_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/spatialite.lib" SPATIALITE_LIBRARY_DBG) + set(HAVE_SPATIALITE "-DHAVE_SPATIALITE") + endif() + + list(APPEND NMAKE_OPTIONS + GDAL_HOME=${NATIVE_PACKAGES_DIR} + DATADIR=${NATIVE_DATA_DIR} + HTMLDIR=${NATIVE_HTML_DIR} + GEOS_DIR=${GEOS_INCLUDE_DIR} + "GEOS_CFLAGS=-I${GEOS_INCLUDE_DIR} -DHAVE_GEOS" + PROJ_INCLUDE=-I${PROJ_INCLUDE_DIR} + EXPAT_DIR=${EXPAT_INCLUDE_DIR} + EXPAT_INCLUDE=-I${EXPAT_INCLUDE_DIR} + CURL_INC=-I${CURL_INCLUDE_DIR} + "SQLITE_INC=-I${SQLITE_INCLUDE_DIR} ${HAVE_SPATIALITE}" + PG_INC_DIR=${PGSQL_INCLUDE_DIR} + OPENJPEG_ENABLED=YES + OPENJPEG_CFLAGS=-I${OPENJPEG_INCLUDE_DIR} + OPENJPEG_VERSION=20100 + WEBP_ENABLED=YES + WEBP_CFLAGS=-I${WEBP_INCLUDE_DIR} + LIBXML2_INC=-I${XML2_INCLUDE_DIR} + PNG_EXTERNAL_LIB=1 + PNGDIR=${PNG_INCLUDE_DIR} + ZLIB_INC=-I${ZLIB_INCLUDE_DIR} + ZLIB_EXTERNAL_LIB=1 + MSVC_VER=1900 + ) + + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + list(APPEND NMAKE_OPTIONS WIN64=YES) + endif() + + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + list(APPEND NMAKE_OPTIONS PROJ_FLAGS=-DPROJ_STATIC) + list(APPEND NMAKE_OPTIONS CURL_CFLAGS=-DCURL_STATICLIB) + else() + # Enables PDBs for release and debug builds + list(APPEND NMAKE_OPTIONS WITH_PDB=1) + endif() + + if (VCPKG_CRT_LINKAGE STREQUAL static) + set(LINKAGE_FLAGS "/MT") + else() + set(LINKAGE_FLAGS "/MD") + endif() + + list(APPEND NMAKE_OPTIONS_REL + ${NMAKE_OPTIONS} + CXX_CRT_FLAGS=${LINKAGE_FLAGS} + PROJ_LIBRARY=${PROJ_LIBRARY_REL} + PNG_LIB=${PNG_LIBRARY_REL} + GEOS_LIB=${GEOS_LIBRARY_REL} + EXPAT_LIB=${EXPAT_LIBRARY_REL} + "CURL_LIB=${CURL_LIBRARY_REL} wsock32.lib wldap32.lib winmm.lib" + "SQLITE_LIB=${SQLITE_LIBRARY_REL} ${SPATIALITE_LIBRARY_REL}" + OPENJPEG_LIB=${OPENJPEG_LIBRARY_REL} + WEBP_LIBS=${WEBP_LIBRARY_REL} + LIBXML2_LIB=${XML2_LIBRARY_REL} + ZLIB_LIB=${ZLIB_LIBRARY_REL} + ) + if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # Static Build does not like PG_LIB + list(APPEND NMAKE_OPTIONS_REL PG_LIB=${PGSQL_LIBRARY_REL}) + endif() + + list(APPEND NMAKE_OPTIONS_DBG + ${NMAKE_OPTIONS} + CXX_CRT_FLAGS="${LINKAGE_FLAGS}d" + PROJ_LIBRARY=${PROJ_LIBRARY_DBG} + PNG_LIB=${PNG_LIBRARY_DBG} + GEOS_LIB=${GEOS_LIBRARY_DBG} + EXPAT_LIB=${EXPAT_LIBRARY_DBG} + "CURL_LIB=${CURL_LIBRARY_DBG} wsock32.lib wldap32.lib winmm.lib" + "SQLITE_LIB=${SQLITE_LIBRARY_DBG} ${SPATIALITE_LIBRARY_DBG}" + OPENJPEG_LIB=${OPENJPEG_LIBRARY_DBG} + WEBP_LIBS=${WEBP_LIBRARY_DBG} + LIBXML2_LIB=${XML2_LIBRARY_DBG} + ZLIB_LIB=${ZLIB_LIBRARY_DBG} + DEBUG=1 + ) + if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # Static Build does not like PG_LIB + list(APPEND NMAKE_OPTIONS_DBG PG_LIB=${PGSQL_LIBRARY_DBG}) + endif() + # Begin build process + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + ################ + # Release build + ################ + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND ${NMAKE} -f makefile.vc + "${NMAKE_OPTIONS_REL}" + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME nmake-build-${TARGET_TRIPLET}-release + ) + message(STATUS "Building ${TARGET_TRIPLET}-rel done") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + ################ + # Debug build + ################ + + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${NMAKE} /G -f makefile.vc + "${NMAKE_OPTIONS_DBG}" + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME nmake-build-${TARGET_TRIPLET}-debug + ) + message(STATUS "Building ${TARGET_TRIPLET}-dbg done") + endif() + + message(STATUS "Packaging ${TARGET_TRIPLET}") + + if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/gdal/html) + endif() + vcpkg_execute_required_process( COMMAND ${NMAKE} -f makefile.vc "${NMAKE_OPTIONS_REL}" + "install" + "devinstall" WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME nmake-build-${TARGET_TRIPLET}-release + LOGNAME nmake-install-${TARGET_TRIPLET} ) - message(STATUS "Building ${TARGET_TRIPLET}-rel done") -endif() - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - ################ - # Debug build - ################ - message(STATUS "Building ${TARGET_TRIPLET}-dbg") - vcpkg_execute_required_process( - COMMAND ${NMAKE} /G -f makefile.vc - "${NMAKE_OPTIONS_DBG}" - WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME nmake-build-${TARGET_TRIPLET}-debug - ) - message(STATUS "Building ${TARGET_TRIPLET}-dbg done") -endif() - -message(STATUS "Packaging ${TARGET_TRIPLET}") - -if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/gdal/html) -endif() - -vcpkg_execute_required_process( - COMMAND ${NMAKE} -f makefile.vc - "${NMAKE_OPTIONS_REL}" - "install" - "devinstall" - WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME nmake-install-${TARGET_TRIPLET} -) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib) - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(COPY ${SOURCE_PATH_RELEASE}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(COPY ${SOURCE_PATH_RELEASE}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(COPY ${SOURCE_PATH_DEBUG}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib) + endif() + + else() + + set(GDAL_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/gdal) + file(MAKE_DIRECTORY ${GDAL_TOOL_PATH}) + + file(GLOB GDAL_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe) + file(COPY ${GDAL_TOOLS} DESTINATION ${GDAL_TOOL_PATH}) + file(REMOVE_RECURSE ${GDAL_TOOLS}) + + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal.lib) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/lib/gdal.lib) + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(COPY ${SOURCE_PATH_DEBUG}/gdal${GDAL_VERSION_LIB}.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(COPY ${SOURCE_PATH_DEBUG}/gdal_i.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib) + endif() endif() - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(COPY ${SOURCE_PATH_DEBUG}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib) + + # Copy over PDBs + vcpkg_copy_pdbs() + +elseif (UNIX) # Build in UNIX + # Check build system first + find_program(MAKE make) + if (NOT MAKE) + message(FATAL_ERROR "MAKE not found") endif() - -else() - - set(GDAL_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/gdal) - file(MAKE_DIRECTORY ${GDAL_TOOL_PATH}) - - file(GLOB GDAL_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe) - file(COPY ${GDAL_TOOLS} DESTINATION ${GDAL_TOOL_PATH}) - file(REMOVE_RECURSE ${GDAL_TOOLS}) - - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal.lib) - + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/lib/gdal.lib) + ################ + # Release build + ################ + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") + set(OUT_PATH_RELEASE ${SOURCE_PATH_RELEASE}/../../make-build-${TARGET_TRIPLET}-release) + file(MAKE_DIRECTORY ${OUT_PATH_RELEASE}) + vcpkg_execute_required_process( + COMMAND "${SOURCE_PATH_RELEASE}/configure" --prefix=${OUT_PATH_RELEASE} + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME config-${TARGET_TRIPLET}-rel + ) + + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND make + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME make-build-${TARGET_TRIPLET}-release + ) + + message(STATUS "Installing ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND make install + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME make-install-${TARGET_TRIPLET}-release + ) + + file(REMOVE_RECURSE ${OUT_PATH_RELEASE}/lib/gdalplugins) + file(COPY ${OUT_PATH_RELEASE}/lib/pkgconfig DESTINATION ${OUT_PATH_RELEASE}/share/gdal) + file(REMOVE_RECURSE ${OUT_PATH_RELEASE}/lib/pkgconfig) + file(COPY ${OUT_PATH_RELEASE}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY ${OUT_PATH_RELEASE}/include DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY ${OUT_PATH_RELEASE}/share DESTINATION ${CURRENT_PACKAGES_DIR}) + message(STATUS "Installing ${TARGET_TRIPLET}-rel done") endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(COPY ${SOURCE_PATH_DEBUG}/gdal${GDAL_VERSION_LIB}.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(COPY ${SOURCE_PATH_DEBUG}/gdal_i.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib) + ################ + # Debug build + ################ + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") + set(OUT_PATH_DEBUG ${SOURCE_PATH_RELEASE}/../../make-build-${TARGET_TRIPLET}-debug) + file(MAKE_DIRECTORY ${OUT_PATH_DEBUG}) + vcpkg_execute_required_process( + COMMAND "${SOURCE_PATH_DEBUG}/configure" --prefix=${OUT_PATH_DEBUG} + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME config-${TARGET_TRIPLET}-debug + ) + + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND make + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME make-build-${TARGET_TRIPLET}-debug + ) + + message(STATUS "Installing ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND make -j install + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME make-install-${TARGET_TRIPLET}-debug + ) + + file(REMOVE_RECURSE ${OUT_PATH_DEBUG}/lib/gdalplugins) + file(REMOVE_RECURSE ${OUT_PATH_DEBUG}/lib/pkgconfig) + file(COPY ${OUT_PATH_DEBUG}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) + message(STATUS "Installing ${TARGET_TRIPLET}-dbg done") endif() +else() # Other build system + message(FATAL_ERROR "Unsupport build system.") endif() -# Copy over PDBs -vcpkg_copy_pdbs() - # Handle copyright configure_file(${SOURCE_PATH_RELEASE}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/gdal/copyright COPYONLY) From 884bf46bf40980708e62d392ded79e384374b23e Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 13 May 2019 03:37:02 +0200 Subject: [PATCH 04/29] also ignore x86 openssl paths (#6416) --- scripts/buildsystems/vcpkg.cmake | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index 10e8bd75e4a61e..fd16b5f314cbe2 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -130,6 +130,7 @@ else() #Release build: Put Release paths before Debug paths. Debug Paths are req endif() file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles) +file(TO_CMAKE_PATH "$ENV{PROGRAMFILES(x86)}" _programfiles_x86) set(CMAKE_SYSTEM_IGNORE_PATH "${_programfiles}/OpenSSL" "${_programfiles}/OpenSSL-Win32" @@ -138,6 +139,13 @@ set(CMAKE_SYSTEM_IGNORE_PATH "${_programfiles}/OpenSSL-Win64/lib/VC" "${_programfiles}/OpenSSL-Win32/lib/VC/static" "${_programfiles}/OpenSSL-Win64/lib/VC/static" + "${_programfiles_x86}/OpenSSL" + "${_programfiles_x86}/OpenSSL-Win32" + "${_programfiles_x86}/OpenSSL-Win64" + "${_programfiles_x86}/OpenSSL-Win32/lib/VC" + "${_programfiles_x86}/OpenSSL-Win64/lib/VC" + "${_programfiles_x86}/OpenSSL-Win32/lib/VC/static" + "${_programfiles_x86}/OpenSSL-Win64/lib/VC/static" "C:/OpenSSL/" "C:/OpenSSL-Win32/" "C:/OpenSSL-Win64/" From f2f31240a0d9fe4592242bf8f92c85bf805fc8e8 Mon Sep 17 00:00:00 2001 From: lukka <681992+lukka@users.noreply.github.com> Date: Mon, 13 May 2019 00:11:07 -0700 Subject: [PATCH 05/29] fix parens in cmake variable name (#6420) --- scripts/buildsystems/vcpkg.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index fd16b5f314cbe2..53d61cf6bbe31c 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -130,7 +130,8 @@ else() #Release build: Put Release paths before Debug paths. Debug Paths are req endif() file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles) -file(TO_CMAKE_PATH "$ENV{PROGRAMFILES(x86)}" _programfiles_x86) +set(_PROGRAMFILESX86 "PROGRAMFILES(x86)") +file(TO_CMAKE_PATH "$ENV{${_PROGRAMFILESX86}}" _programfiles_x86) set(CMAKE_SYSTEM_IGNORE_PATH "${_programfiles}/OpenSSL" "${_programfiles}/OpenSSL-Win32" From df4e69f24f9db5a88b767e4b8c324d1d2ab256f9 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 13 May 2019 15:13:18 +0800 Subject: [PATCH 06/29] [oniguruma] Update to 6.9.2 (#6401) --- ports/oniguruma/CONTROL | 2 +- ports/oniguruma/portfile.cmake | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ports/oniguruma/CONTROL b/ports/oniguruma/CONTROL index bf7a481ab8483f..1780b45051990d 100644 --- a/ports/oniguruma/CONTROL +++ b/ports/oniguruma/CONTROL @@ -1,5 +1,5 @@ Source: oniguruma -Version: 2019-02-26 +Version: 6.9.2 Description: Modern and flexible regular expressions library Feature: non-posix diff --git a/ports/oniguruma/portfile.cmake b/ports/oniguruma/portfile.cmake index 40652b5901934c..586bfbe07553ec 100644 --- a/ports/oniguruma/portfile.cmake +++ b/ports/oniguruma/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kkos/oniguruma - REF 502b1f416746ed8700498229bbfceb180e400fbc - SHA512 0faf12f415de59716d8faa4d3dc026874c3bd6a3624f75f2a184843025294eb885d57164ae6dcb916cba5c7d1a4da4bcb0dc23fce3ceae5b34b7320e8f0e2c02 + REF v6.9.2 + SHA512 b5578560f469c2e123280159a23a0e59045bf2452fd3efe09393c5e99ecc6323f965d2189a4e7e6e3a108c1d02b9b041f3fe991cd8ab64f7289003a5a07b4434 HEAD_REF master ) @@ -23,6 +23,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +vcpkg_copy_pdbs() + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE @@ -47,4 +49,4 @@ endif() configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) # CMake integration test -#vcpkg_test_cmake(PACKAGE_NAME ${PORT}) +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) From 2992434b0168b70e3e4321666c8200a499d8f944 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 13 May 2019 15:14:03 +0800 Subject: [PATCH 07/29] [vulkan-hpp] Add new port (#6400) --- ports/vulkan-hpp/CONTROL | 4 ++++ ports/vulkan-hpp/portfile.cmake | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 ports/vulkan-hpp/CONTROL create mode 100644 ports/vulkan-hpp/portfile.cmake diff --git a/ports/vulkan-hpp/CONTROL b/ports/vulkan-hpp/CONTROL new file mode 100644 index 00000000000000..95b59f3f818480 --- /dev/null +++ b/ports/vulkan-hpp/CONTROL @@ -0,0 +1,4 @@ +Source: vulkan-hpp +Version: 2019-05-11 +Description: Header only C++ bindings for the Vulkan C API +Build-Depends: vulkan diff --git a/ports/vulkan-hpp/portfile.cmake b/ports/vulkan-hpp/portfile.cmake new file mode 100644 index 00000000000000..809b8149c5a60d --- /dev/null +++ b/ports/vulkan-hpp/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/Vulkan-Hpp + REF 5ce8ae7fd0d9c0543d02f33cfa8a66e6a43e2150 + SHA512 dc58332f5075f0b4d001abd4e78664be099509b8cee525a211aa33599f2351bf5e200fef37dccc84895d8f7a056f075ae3cf404f9aac7281970ff903e4a67a96 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/vulkan/vulkan.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/vulkan) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) From 46a77b900660e5d2cc9ec303282c8109a9bf4829 Mon Sep 17 00:00:00 2001 From: lukka <681992+lukka@users.noreply.github.com> Date: Mon, 13 May 2019 04:11:35 -0700 Subject: [PATCH 08/29] appleclang 10.01 does not have (#6413) support --- toolsrc/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolsrc/CMakeLists.txt b/toolsrc/CMakeLists.txt index dd92f6a31c83c5..b3ec4d15de4357 100644 --- a/toolsrc/CMakeLists.txt +++ b/toolsrc/CMakeLists.txt @@ -11,7 +11,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") if(NOT VCPKG_ALLOW_APPLE_CLANG) message(FATAL_ERROR "Building the vcpkg tool requires support for the C++ Filesystem TS. -Apple clang versions 9 and below do not have support for it. +Apple clang versions 10.01 and below do not have support for it. Please install gcc6 or newer from homebrew (brew install gcc6). If you would like to try anyway, pass --allowAppleClang to bootstrap.sh.") else() From da5ee89be57ed79b79a6aa169c001e3fb6acd056 Mon Sep 17 00:00:00 2001 From: Josue Andrade Gomes Date: Mon, 13 May 2019 08:16:57 -0300 Subject: [PATCH 09/29] [graphicsmagick] Linux/MacOS support (#6408) --- ports/graphicsmagick/CMakeLists.txt | 17 +++++++++--- ports/graphicsmagick/CONTROL | 2 +- ports/graphicsmagick/magick_types.h | 40 ++++++++++++++--------------- 3 files changed, 34 insertions(+), 25 deletions(-) diff --git a/ports/graphicsmagick/CMakeLists.txt b/ports/graphicsmagick/CMakeLists.txt index c156b69c77a4d2..34c05a7b2710fe 100644 --- a/ports/graphicsmagick/CMakeLists.txt +++ b/ports/graphicsmagick/CMakeLists.txt @@ -2,20 +2,20 @@ cmake_minimum_required (VERSION 3.6) project (graphicsmagick) find_package(ZLIB REQUIRED) -find_package(Bzip2 REQUIRED) +find_package(BZip2 REQUIRED) find_package(JPEG REQUIRED) find_package(PNG REQUIRED) find_package(TIFF REQUIRED) find_package(Freetype REQUIRED) -add_definitions(-D_MAGICKLIB_ -D_WANDLIB_ -DMAGICK_IMPLEMENTATION -D_VISUALC_) +add_definitions(-D_MAGICKLIB_ -D_WANDLIB_ -DMAGICK_IMPLEMENTATION) if (BUILD_SHARED_LIBS) add_definitions(-D_DLL -DDLL) endif () if (MSVC) - add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE) + add_definitions( -D_VISUALC_ -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE) endif () if (WIN32) @@ -35,11 +35,20 @@ string(REPLACE "#undef HasJPEG" "#define HasJPEG" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef HasPNG" "#define HasPNG" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef HasTIFF" "#define HasTIFF" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef HasTTF" "#define HasTTF" CONFIG_H "${CONFIG_H}") -string(REPLACE "#undef HasWINGDI32" "#define HasWINGDI32" CONFIG_H "${CONFIG_H}") +string(REPLACE "#undef HasTTF" "#define HasTTF" CONFIG_H "${CONFIG_H}") +string(REPLACE "#undef HAVE_FT2BUILD_H" "#define HAVE_FT2BUILD_H" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef HasZLIB" "#define HasZLIB" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef QuantumDepth" "#define QuantumDepth 16" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef restrict" "#define restrict" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef size_t" "/* #undef size_t */" CONFIG_H "${CONFIG_H}") +if (WIN32) +string(REPLACE "#undef HasWINGDI32" "#define HasWINGDI32" CONFIG_H "${CONFIG_H}") +else () +string(REPLACE "#undef HAVE_VSNPRINTF" "#define HAVE_VSNPRINTF" CONFIG_H "${CONFIG_H}") +string(REPLACE "#undef MagickLibSubdir" "#define MagickLibSubdir \"magick\"" CONFIG_H "${CONFIG_H}") +string(REPLACE "#undef MagickLibConfigSubDir" "#define MagickLibConfigSubDir \"magick/config\"" CONFIG_H "${CONFIG_H}") +string(REPLACE "#undef MagickShareConfigSubDir" "#define MagickShareConfigSubDir \"magick/config\"" CONFIG_H "${CONFIG_H}") +endif () file(WRITE "magick/magick_config.h" "${CONFIG_H}") file(READ "magick/magick_config_api.h.in" CONFIG_API_H) diff --git a/ports/graphicsmagick/CONTROL b/ports/graphicsmagick/CONTROL index 7b89a8fd9ad0c3..5b56e636c52677 100644 --- a/ports/graphicsmagick/CONTROL +++ b/ports/graphicsmagick/CONTROL @@ -1,5 +1,5 @@ Source: graphicsmagick Maintainer: josuegomes@gmail.com -Version: 1.3.31 +Version: 1.3.31-1 Build-Depends: zlib, bzip2, freetype, libjpeg-turbo, libpng, tiff Description: Image processing library diff --git a/ports/graphicsmagick/magick_types.h b/ports/graphicsmagick/magick_types.h index a279792105a6d9..93404cb4efbae2 100644 --- a/ports/graphicsmagick/magick_types.h +++ b/ports/graphicsmagick/magick_types.h @@ -92,33 +92,33 @@ extern "C" { #else /* The following typedefs are subtituted when using Unixish configure */ - typedef @INT8_T@ magick_int8_t; - typedef @UINT8_T@ magick_uint8_t; + typedef signed char magick_int8_t; + typedef unsigned char magick_uint8_t; - typedef @INT16_T@ magick_int16_t; - typedef @UINT16_T@ magick_uint16_t; + typedef signed short magick_int16_t; + typedef unsigned short magick_uint16_t; - typedef @INT32_T@ magick_int32_t; -# define MAGICK_INT32_F @INT32_F@ - typedef @UINT32_T@ magick_uint32_t; -# define MAGICK_UINT32_F @UINT32_F@ + typedef signed int magick_int32_t; +# define MAGICK_INT32_F "" + typedef unsigned int magick_uint32_t; +# define MAGICK_UINT32_F "" - typedef @INT64_T@ magick_int64_t; -# define MAGICK_INT64_F @INT64_F@ - typedef @UINT64_T@ magick_uint64_t; -# define MAGICK_UINT64_F @UINT64_F@ + typedef signed long magick_int64_t; +# define MAGICK_INT64_F "l" + typedef unsigned long magick_uint64_t; +# define MAGICK_UINT64_F "l" - typedef @UINTMAX_T@ magick_uintmax_t; -# define MAGICK_UINTMAX_F @UINTMAX_F@ + typedef unsigned long magick_uintmax_t; +# define MAGICK_UINTMAX_F "l" - typedef @UINTPTR_T@ magick_uintptr_t; -# define MAGICK_UINTPTR_F @UINTPTR_F@ + typedef unsigned long magick_uintptr_t; +# define MAGICK_UINTPTR_F "l" -# define MAGICK_SIZE_T_F @MAGICK_SIZE_T_F@ -# define MAGICK_SIZE_T @MAGICK_SIZE_T@ +# define MAGICK_SIZE_T_F "l" +# define MAGICK_SIZE_T unsigned long -# define MAGICK_SSIZE_T_F @MAGICK_SSIZE_T_F@ -# define MAGICK_SSIZE_T @MAGICK_SSIZE_T@ +# define MAGICK_SSIZE_T_F "l" +# define MAGICK_SSIZE_T signed long #endif From 0413c73fd738350d1a91af1cd234b274541be1eb Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 13 May 2019 17:57:55 +0200 Subject: [PATCH 10/29] [CURL] Remove unnecessary renaming. (#6386) * removed unnecessary renaming. CMake updated its module file for FindCURL. so the renaming is not required anymore. * bump control * fix curl in static builds * fix gdal regression * fix typo * fixed alignment * fix libideviceactivation regression * fix idevicerestore regression --- ports/curl/CONTROL | 2 +- ports/curl/portfile.cmake | 30 ++------------- ports/gdal/CONTROL | 2 +- ports/gdal/portfile.cmake | 14 +++++-- ports/idevicerestore/CONTROL | 2 +- ports/idevicerestore/libcurl_d.patch | 23 +++++++++++ ports/idevicerestore/libcurl_imp.patch | 40 ++++++++++++++++++++ ports/idevicerestore/portfile.cmake | 12 ++++++ ports/libideviceactivation/CONTROL | 2 +- ports/libideviceactivation/libcurl_d.patch | 22 +++++++++++ ports/libideviceactivation/libcurl_imp.patch | 40 ++++++++++++++++++++ ports/libideviceactivation/portfile.cmake | 12 ++++++ 12 files changed, 168 insertions(+), 33 deletions(-) create mode 100644 ports/idevicerestore/libcurl_d.patch create mode 100644 ports/idevicerestore/libcurl_imp.patch create mode 100644 ports/libideviceactivation/libcurl_d.patch create mode 100644 ports/libideviceactivation/libcurl_imp.patch diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 37d1c89ec7b560..9d5dde10e15015 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,5 +1,5 @@ Source: curl -Version: 7.61.1-6 +Version: 7.61.1-7 Build-Depends: zlib Description: A library for transferring data with URLs Default-Features: ssl diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index cbd24364184eda..745e2d241c6f6f 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -141,37 +141,15 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/curl${EXECUTABLE_SUFFIX}") endif() endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) - # Drop debug suffix, as FindCURL.cmake does not look for it - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d.lib") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl.lib) - # Fixup libcurl-target-debug.cmake to match - file(READ "${CURRENT_PACKAGES_DIR}/share/curl/libcurl-target-debug.cmake" DEBUG_MODULE) - string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/libcurl-d.lib" "\${_IMPORT_PREFIX}/debug/lib/libcurl.lib" DEBUG_MODULE "${DEBUG_MODULE}") - file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/libcurl-target-debug.cmake" "${DEBUG_MODULE}") - endif() else() file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/curl-config ${CURRENT_PACKAGES_DIR}/debug/bin/curl-config) - if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/libcurl_imp.lib") - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libcurl_imp.lib ${CURRENT_PACKAGES_DIR}/lib/libcurl.lib) - # Fixup libcurl-target-release.cmake to match - file(READ "${CURRENT_PACKAGES_DIR}/share/curl/libcurl-target-release.cmake" RELEASE_MODULE) - string(REPLACE "\${_IMPORT_PREFIX}/lib/libcurl_imp.lib" "\${_IMPORT_PREFIX}/lib/libcurl.lib" RELEASE_MODULE "${RELEASE_MODULE}") - file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/libcurl-target-release.cmake" "${RELEASE_MODULE}") - endif() - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d_imp.lib") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d_imp.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl.lib) - # Fixup libcurl-target-debug.cmake to match - file(READ "${CURRENT_PACKAGES_DIR}/share/curl/libcurl-target-debug.cmake" DEBUG_MODULE) - string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/libcurl-d_imp.lib" "\${_IMPORT_PREFIX}/debug/lib/libcurl.lib" DEBUG_MODULE "${DEBUG_MODULE}") - file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/libcurl-target-debug.cmake" "${DEBUG_MODULE}") - endif() endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - file(READ ${CURRENT_PACKAGES_DIR}/include/curl/curl.h CURL_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) string(REPLACE "#ifdef CURL_STATICLIB" "#if 1" CURL_H "${CURL_H}") diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL index 155851ad8d77c2..c0b8820b2128df 100644 --- a/ports/gdal/CONTROL +++ b/ports/gdal/CONTROL @@ -1,5 +1,5 @@ Source: gdal -Version: 2.4.1-4 +Version: 2.4.1-5 Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data. Build-Depends: proj, libpng, geos, sqlite3, curl, expat, libpq, openjpeg, libwebp, libxml2, liblzma, netcdf-c, hdf5, zlib diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index ea3ce9dbfa600d..b880c91848635c 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -94,8 +94,16 @@ if (WIN32) # Build in WINDOWS # Setup curl libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" CURL_INCLUDE_DIR) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib" CURL_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl.lib" CURL_LIBRARY_DBG) + if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib") + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib" CURL_LIBRARY_REL) + elseif(EXISTS "${CURRENT_INSTALLED_DIR}/lib/libcurl_imp.lib") + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libcurl_imp.lib" CURL_LIBRARY_REL) + endif() + if(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d.lib") + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d.lib" CURL_LIBRARY_DBG) + elseif(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d_imp.lib") + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d_imp.lib" CURL_LIBRARY_DBG) + endif() # Setup sqlite3 libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" SQLITE_INCLUDE_DIR) @@ -270,7 +278,7 @@ if (WIN32) # Build in WINDOWS if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/gdal/html) endif() - + vcpkg_execute_required_process( COMMAND ${NMAKE} -f makefile.vc "${NMAKE_OPTIONS_REL}" diff --git a/ports/idevicerestore/CONTROL b/ports/idevicerestore/CONTROL index dc781eb5cce59b..36c31d97c947ef 100644 --- a/ports/idevicerestore/CONTROL +++ b/ports/idevicerestore/CONTROL @@ -1,4 +1,4 @@ Source: idevicerestore -Version: 1.0.12-1 +Version: 1.0.12-2 Description: Restore/upgrade firmware of iOS devices Build-Depends: libimobiledevice, curl, libirecovery, libzip \ No newline at end of file diff --git a/ports/idevicerestore/libcurl_d.patch b/ports/idevicerestore/libcurl_d.patch new file mode 100644 index 00000000000000..1d9d3f3d7eb573 --- /dev/null +++ b/ports/idevicerestore/libcurl_d.patch @@ -0,0 +1,23 @@ +diff --git a/idevicerestore.vcxproj b/idevicerestore.vcxproj +index fa209fae..cf89306b 100644 +--- a/idevicerestore.vcxproj ++++ b/idevicerestore.vcxproj +@@ -94,7 +94,7 @@ + _MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_WINSOCK_DEPRECATED_NO_WARNINGS + + +- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) ++ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl-d.lib;%(AdditionalDependencies) + + + +@@ -105,7 +105,7 @@ + _MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_WINSOCK_DEPRECATED_NO_WARNINGS + + +- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) ++ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl-d.lib;%(AdditionalDependencies) + + + + diff --git a/ports/idevicerestore/libcurl_imp.patch b/ports/idevicerestore/libcurl_imp.patch new file mode 100644 index 00000000000000..f93dfb2b516174 --- /dev/null +++ b/ports/idevicerestore/libcurl_imp.patch @@ -0,0 +1,40 @@ +diff --git a/idevicerestore.vcxproj b/idevicerestore.vcxproj +index fa209fae..cf89306b 100644 +--- a/idevicerestore.vcxproj ++++ b/idevicerestore.vcxproj +@@ -94,7 +94,7 @@ + _MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_WINSOCK_DEPRECATED_NO_WARNINGS + + +- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) ++ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl-d_imp.lib;%(AdditionalDependencies) + + + +@@ -105,7 +105,7 @@ + _MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_WINSOCK_DEPRECATED_NO_WARNINGS + + +- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) ++ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl-d_imp.lib;%(AdditionalDependencies) + + + +@@ -120,7 +120,7 @@ + + true + true +- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) ++ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl_imp.lib;%(AdditionalDependencies) + + + +@@ -135,7 +135,7 @@ + + true + true +- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) ++ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl_imp.lib;%(AdditionalDependencies) + + + diff --git a/ports/idevicerestore/portfile.cmake b/ports/idevicerestore/portfile.cmake index e0f9a08883e360..271c249c6211d4 100644 --- a/ports/idevicerestore/portfile.cmake +++ b/ports/idevicerestore/portfile.cmake @@ -8,6 +8,18 @@ vcpkg_from_github( HEAD_REF msvc-master ) +if(${VCPKG_LIBRARY_LINKAGE} MATCHES dynamic) + vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + libcurl_imp.patch) +else() + vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + libcurl_d.patch) +endif() + vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} PROJECT_SUBPATH idevicerestore.vcxproj diff --git a/ports/libideviceactivation/CONTROL b/ports/libideviceactivation/CONTROL index 2d5e236619e0b1..d1bb06d0befe19 100644 --- a/ports/libideviceactivation/CONTROL +++ b/ports/libideviceactivation/CONTROL @@ -1,4 +1,4 @@ Source: libideviceactivation -Version: 1.0.38-1 +Version: 1.0.38-2 Description: A library to handle the activation process of iOS devices Build-Depends: libimobiledevice, libxml2, curl \ No newline at end of file diff --git a/ports/libideviceactivation/libcurl_d.patch b/ports/libideviceactivation/libcurl_d.patch new file mode 100644 index 00000000000000..69f1bf53beb788 --- /dev/null +++ b/ports/libideviceactivation/libcurl_d.patch @@ -0,0 +1,22 @@ +diff --git a/libideviceactivation.vcxproj b/libideviceactivation.vcxproj +index ba473f7a..47a20d15 100644 +--- a/libideviceactivation.vcxproj ++++ b/libideviceactivation.vcxproj +@@ -76,7 +76,7 @@ + $(OutDir)$(ProjectName).pdb + + +- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) ++ libcurl-d.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + +@@ -89,7 +89,7 @@ + $(OutDir)$(ProjectName).pdb + + +- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) ++ libcurl-d.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + diff --git a/ports/libideviceactivation/libcurl_imp.patch b/ports/libideviceactivation/libcurl_imp.patch new file mode 100644 index 00000000000000..bf1bfefac9e035 --- /dev/null +++ b/ports/libideviceactivation/libcurl_imp.patch @@ -0,0 +1,40 @@ +diff --git a/libideviceactivation.vcxproj b/libideviceactivation.vcxproj +index ba473f7a..47a20d15 100644 +--- a/libideviceactivation.vcxproj ++++ b/libideviceactivation.vcxproj +@@ -76,7 +76,7 @@ + $(OutDir)$(ProjectName).pdb + + +- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) ++ libcurl-d_imp.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + +@@ -89,7 +89,7 @@ + $(OutDir)$(ProjectName).pdb + + +- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) ++ libcurl-d_imp.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + +@@ -106,7 +106,7 @@ + + true + true +- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) ++ libcurl_imp.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + +@@ -123,7 +123,7 @@ + + true + true +- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) ++ libcurl_imp.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + diff --git a/ports/libideviceactivation/portfile.cmake b/ports/libideviceactivation/portfile.cmake index 7a462834e4c985..1057c78e636d24 100644 --- a/ports/libideviceactivation/portfile.cmake +++ b/ports/libideviceactivation/portfile.cmake @@ -10,6 +10,18 @@ vcpkg_from_github( HEAD_REF msvc-master ) +if(${VCPKG_LIBRARY_LINKAGE} MATCHES dynamic) + vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + libcurl_imp.patch) +else() + vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + libcurl_d.patch) +endif() + vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} PROJECT_SUBPATH libideviceactivation.sln From 5a8961b051d4f5db36ca9b7bbfd07c02f6fbda19 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 14 May 2019 00:57:54 +0800 Subject: [PATCH 11/29] [pfultz2-linq] Add new port (#6426) --- ports/pfultz2-linq/CONTROL | 4 ++++ ports/pfultz2-linq/fix-cmake.patch | 27 +++++++++++++++++++++++++ ports/pfultz2-linq/portfile.cmake | 32 ++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 ports/pfultz2-linq/CONTROL create mode 100644 ports/pfultz2-linq/fix-cmake.patch create mode 100644 ports/pfultz2-linq/portfile.cmake diff --git a/ports/pfultz2-linq/CONTROL b/ports/pfultz2-linq/CONTROL new file mode 100644 index 00000000000000..3cd309de4e61ea --- /dev/null +++ b/ports/pfultz2-linq/CONTROL @@ -0,0 +1,4 @@ +Source: pfultz2-linq +Version: 2018-02-08 +Description: Linq for list comprehension in C++ +Build-Depends: boost-fusion, boost-iterator, boost-mpl, boost-optional, boost-preprocessor, boost-range, boost-static-assert, boost-type-traits, boost-unordered, boost-utility diff --git a/ports/pfultz2-linq/fix-cmake.patch b/ports/pfultz2-linq/fix-cmake.patch new file mode 100644 index 00000000000000..da6838a8bcdbaa --- /dev/null +++ b/ports/pfultz2-linq/fix-cmake.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 34ae7c7..dd35281 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,5 @@ + cmake_minimum_required(VERSION 3.0) +-project(linq) +- +-enable_testing() ++project(linq CXX) + + find_package(Boost) + +@@ -37,6 +35,10 @@ install(FILES + install(FILES linq.h DESTINATION include) + install(DIRECTORY linq DESTINATION include) + +-add_executable(linq-test test.cpp) +-target_link_libraries(linq-test linq ${Boost_test_LIBRARY_RELEASE}) +-add_test(NAME linq-test COMMAND linq-test) ++include(CTest) ++ ++if (BUILD_TESTING) ++ add_executable(linq-test test.cpp) ++ target_link_libraries(linq-test linq ${Boost_test_LIBRARY_RELEASE}) ++ add_test(NAME linq-test COMMAND linq-test) ++endif (BUILD_TESTING) diff --git a/ports/pfultz2-linq/portfile.cmake b/ports/pfultz2-linq/portfile.cmake new file mode 100644 index 00000000000000..fe03a89dfbc775 --- /dev/null +++ b/ports/pfultz2-linq/portfile.cmake @@ -0,0 +1,32 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pfultz2/Linq + REF 51e45d25faa95f945d0bf515f214feed4401e542 + SHA512 128973f79f1cc1f63b5ad4501cc3247352559de382c2ab2fc8fb2df90f8926e373db3469414a2e3816f27fb606c1139a25e94b4e5203201e7ab0320b4b004b4d + HEAD_REF master + PATCHES + fix-cmake.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/linq TARGET_PATH share/linq) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME linq) From 68267e29a1fa86158787309624081dfd8319c9f0 Mon Sep 17 00:00:00 2001 From: wangli28 <47812810+wangli28@users.noreply.github.com> Date: Mon, 13 May 2019 17:00:16 +0000 Subject: [PATCH 12/29] [suitesparse]Fix build error in linux (#6425) --- ports/suitesparse/CONTROL | 2 +- ports/suitesparse/portfile.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/suitesparse/CONTROL b/ports/suitesparse/CONTROL index 67b72bb49406db..43621f9fe1e764 100644 --- a/ports/suitesparse/CONTROL +++ b/ports/suitesparse/CONTROL @@ -1,5 +1,5 @@ Source: suitesparse -Version: 5.1.2-1 +Version: 5.1.2-2 Build-Depends: clapack (!osx) Description: algebra library diff --git a/ports/suitesparse/portfile.cmake b/ports/suitesparse/portfile.cmake index c823d0d93c746a..45ad7a6e56242c 100644 --- a/ports/suitesparse/portfile.cmake +++ b/ports/suitesparse/portfile.cmake @@ -5,7 +5,7 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(SUITESPARSE_VER SuiteSparse-5.1.2) #if you change the version, becarefull of changing the SHA512 checksum accordingly set(SUITESPARSEWIN_VER 1.4.0) set(SUITESPARSEWIN_PATH ${CURRENT_BUILDTREES_DIR}/src/suitesparse-metis-for-windows-${SUITESPARSEWIN_VER}) -set(SUITESPARSE_PATH ${SUITESPARSEWIN_PATH}/Suitesparse) +set(SUITESPARSE_PATH ${SUITESPARSEWIN_PATH}/SuiteSparse) #download suitesparse libary vcpkg_download_distfile(SUITESPARSE From 8a6c7f375b5561de70008021a54a535c2c30a89f Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Mon, 13 May 2019 11:43:24 -0700 Subject: [PATCH 13/29] [vcpkg-bootstrap.sh] Enable finding gcc 9 (#6417) --- scripts/bootstrap.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index 99d8dab687d5f8..00d31760afa40a 100644 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -203,7 +203,9 @@ selectCXX() if [ "x$CXX" = "x" ]; then CXX=g++ - if which g++-8 >/dev/null 2>&1; then + if which g++-9 >/dev/null 2>&1; then + CXX=g++-9 + elif which g++-8 >/dev/null 2>&1; then CXX=g++-8 elif which g++-7 >/dev/null 2>&1; then CXX=g++-7 From d539182ccbf85bfef225194e1dc76e5ae2922f50 Mon Sep 17 00:00:00 2001 From: Connor Fitzgerald Date: Mon, 13 May 2019 20:51:16 -0400 Subject: [PATCH 14/29] [glm] Remove all unnecessary build steps (#6410) * [glm] Remove all unnecessary build steps * [glm] Fix header export * [glm] Bump control to force rebuild --- ports/glm/CMakeLists.txt | 25 +++++++++++++++++++++++ ports/glm/CONTROL | 2 +- ports/glm/disable_warnings_as_error.patch | 13 ------------ ports/glm/portfile.cmake | 14 ++++--------- 4 files changed, 30 insertions(+), 24 deletions(-) create mode 100644 ports/glm/CMakeLists.txt delete mode 100644 ports/glm/disable_warnings_as_error.patch diff --git a/ports/glm/CMakeLists.txt b/ports/glm/CMakeLists.txt new file mode 100644 index 00000000000000..006e7182ec7d4c --- /dev/null +++ b/ports/glm/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.12 FATAL_ERROR) + +project(glm LANGUAGES CXX) + +add_library(glm INTERFACE) +target_include_directories(glm INTERFACE $) + +include(GNUInstallDirs) + +install( + TARGETS glm EXPORT glm-config + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}/ + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/ + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/ +) + +install( + EXPORT glm-config DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/glm +) + +install( + DIRECTORY ${CMAKE_SOURCE_DIR}/glm + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + FILES_MATCHING PATTERN "*.hpp*" PATTERN "*.inl*" PATTERN "*.h*" +) diff --git a/ports/glm/CONTROL b/ports/glm/CONTROL index 1cc8a594c41ad6..b8c088f59a138e 100644 --- a/ports/glm/CONTROL +++ b/ports/glm/CONTROL @@ -1,3 +1,3 @@ Source: glm -Version: 0.9.9.5 +Version: 0.9.9.5-2 Description: OpenGL Mathematics (GLM) https://glm.g-truc.net diff --git a/ports/glm/disable_warnings_as_error.patch b/ports/glm/disable_warnings_as_error.patch deleted file mode 100644 index f87616b1ecd817..00000000000000 --- a/ports/glm/disable_warnings_as_error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 756673a3..5fbc8906 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -216,7 +216,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - message("GLM: Visual C++ - ${CMAKE_CXX_COMPILER_ID} compiler") - endif() - -- add_compile_options(/W4 /WX) -+ add_compile_options(/W4) - add_compile_options(/wd4309 /wd4324 /wd4389 /wd4127 /wd4267 /wd4146 /wd4201 /wd4464 /wd4514 /wd4701 /wd4820 /wd4365) - add_definitions(-D_CRT_SECURE_NO_WARNINGS) - endif() diff --git a/ports/glm/portfile.cmake b/ports/glm/portfile.cmake index e0400f69690ed1..d38589a88b0a8d 100644 --- a/ports/glm/portfile.cmake +++ b/ports/glm/portfile.cmake @@ -8,23 +8,17 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/disable_warnings_as_error.patch" -) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/glm") - -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) # Put the license file where vcpkg expects it file(COPY ${SOURCE_PATH}/manual.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/glm/) From cf1c05fb8c6c819c89883ee51a31b7970444eff9 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Tue, 14 May 2019 06:51:16 +0200 Subject: [PATCH 15/29] [libtheora] Remove double build. (#6431) * remove extra build step. vcpkg_install_cmake should also build the target. * Update CONTROL --- ports/libtheora/CONTROL | 2 +- ports/libtheora/portfile.cmake | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/ports/libtheora/CONTROL b/ports/libtheora/CONTROL index 7324f05264f93e..aa275cc88815d2 100644 --- a/ports/libtheora/CONTROL +++ b/ports/libtheora/CONTROL @@ -1,4 +1,4 @@ Source: libtheora -Version: 1.2.0alpha1-20170719~vcpkg1-1 +Version: 1.2.0alpha1-20170719~vcpkg1-2 Description: Theora is a free and open video compression format from the Xiph.org Foundation. Build-Depends: libogg diff --git a/ports/libtheora/portfile.cmake b/ports/libtheora/portfile.cmake index 9312d6685d2359..50e6fc6535239e 100644 --- a/ports/libtheora/portfile.cmake +++ b/ports/libtheora/portfile.cmake @@ -31,7 +31,6 @@ vcpkg_configure_cmake( -DUSE_X86=${THEORA_X86_OPT} ) -vcpkg_build_cmake() vcpkg_install_cmake() vcpkg_copy_pdbs() From 03b364f6bb231a7150257734195c657744c9771c Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 14 May 2019 23:55:28 +0800 Subject: [PATCH 16/29] [g3log] Add new port (#5961) * [g3log] Add new port (fix #5684, fix #5941) * [g3log] Remove usage * [g3log] Restore usage * [g3log] Add UNIX support * [g3log] Use vcpkg_install_cmake * [g3log] Update to 2019-05-14 * [g3log] Update version number --- ports/g3log/CONTROL | 3 +++ ports/g3log/portfile.cmake | 41 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 ports/g3log/CONTROL create mode 100644 ports/g3log/portfile.cmake diff --git a/ports/g3log/CONTROL b/ports/g3log/CONTROL new file mode 100644 index 00000000000000..71716607946f79 --- /dev/null +++ b/ports/g3log/CONTROL @@ -0,0 +1,3 @@ +Source: g3log +Version: 2019-05-14-1 +Description: Asynchronous logger with Dynamic Sinks diff --git a/ports/g3log/portfile.cmake b/ports/g3log/portfile.cmake new file mode 100644 index 00000000000000..f07ae0b1c90b2c --- /dev/null +++ b/ports/g3log/portfile.cmake @@ -0,0 +1,41 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KjellKod/g3log + REF 376c417ad170228fa6d1b9994a6e07a2ac143a51 + SHA512 fd442b895f0be2489d2be099b1faca5c964f1a3880e3867726efb5f5a17192fbf2c2d60cf118e1b68bea73cf328f0b16c0265ec0f0c0fbbb1f62f68a994f5b86 + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" G3_SHARED_LIB) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" G3_SHARED_RUNTIME) + +# https://github.com/KjellKod/g3log#prerequisites +set(VERSION "1.3.2-95") + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DG3_SHARED_LIB=${G3_SHARED_LIB} # Options.cmake + -DG3_SHARED_RUNTIME=${G3_SHARED_RUNTIME} # Options.cmake + -DADD_FATAL_EXAMPLE=OFF + -DADD_G3LOG_BENCH_PERFORMANCE=OFF + -DADD_G3LOG_UNIT_TEST=OFF + -DVERSION=${VERSION} +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/g3logger TARGET_PATH share/g3logger) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME g3logger) From e4129a259e030c9fb2da10700e66a638099e7116 Mon Sep 17 00:00:00 2001 From: eao197 Date: Tue, 14 May 2019 20:21:27 +0300 Subject: [PATCH 17/29] RESTinio updated to v.0.4.9 (#6440) --- ports/restinio/CONTROL | 2 +- ports/restinio/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/restinio/CONTROL b/ports/restinio/CONTROL index 1ea1a7c2871c3e..1444f330f6c09a 100644 --- a/ports/restinio/CONTROL +++ b/ports/restinio/CONTROL @@ -1,4 +1,4 @@ Source: restinio -Version: 0.4.8.7 +Version: 0.4.9 Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests. Build-Depends: asio, fmt, http-parser diff --git a/ports/restinio/portfile.cmake b/ports/restinio/portfile.cmake index 9520e2dd45888c..fa8e0c587f466d 100644 --- a/ports/restinio/portfile.cmake +++ b/ports/restinio/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_bitbucket( OUT_SOURCE_PATH SOURCE_PATH REPO sobjectizerteam/restinio-0.4 - REF v.0.4.8.7 - SHA512 2472facc3e6a718a3dadb251f705ab84221588c336ae0db5756650c133a219796b00607ebb2eacddc5b32cb648fd8ae30b1ced38a893861bd669766fe23ee573 + REF v.0.4.9 + SHA512 a839d3178d89e954bd47a40c7468e1ab2b34786c0122897620d9d8cff36e9d2c50b5e93d0774f7bdba8a17f91ea7dc2730135a6cdcb76aad5d8f5079ee1d9fdd ) vcpkg_configure_cmake( From e73d6251f99a091d3e8bac848dd47c64603293bc Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 15 May 2019 02:45:13 +0800 Subject: [PATCH 18/29] [libmaxminddb]fix build error in linux. (#6435) --- ports/libmaxminddb/CONTROL | 2 +- ports/libmaxminddb/fix-linux-build.patch | 19 +++++++++++++++++++ ports/libmaxminddb/portfile.cmake | 1 + 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 ports/libmaxminddb/fix-linux-build.patch diff --git a/ports/libmaxminddb/CONTROL b/ports/libmaxminddb/CONTROL index a075cdb5527cdd..f8b7f85be48253 100644 --- a/ports/libmaxminddb/CONTROL +++ b/ports/libmaxminddb/CONTROL @@ -1,3 +1,3 @@ Source: libmaxminddb -Version: 1.3.2-1 +Version: 1.3.2-2 Description: C library for the MaxMind DB file format \ No newline at end of file diff --git a/ports/libmaxminddb/fix-linux-build.patch b/ports/libmaxminddb/fix-linux-build.patch new file mode 100644 index 00000000000000..334b0f64cb7bc4 --- /dev/null +++ b/ports/libmaxminddb/fix-linux-build.patch @@ -0,0 +1,19 @@ +diff --git a/include/maxminddb.h b/include/maxminddb.h +index de1fdf8..1d17bc3 100644 +--- a/include/maxminddb.h ++++ b/include/maxminddb.h +@@ -24,11 +24,12 @@ extern "C" { + #include + #include + ++/* libmaxminddb package version from configure */ ++#define PACKAGE_VERSION "1.3.2" ++ + #ifdef _WIN32 + #include + #include +-/* libmaxminddb package version from configure */ +-#define PACKAGE_VERSION "1.3.2" + + typedef ADDRESS_FAMILY sa_family_t; + diff --git a/ports/libmaxminddb/portfile.cmake b/ports/libmaxminddb/portfile.cmake index f2b17342f9d898..bbc13472efca26 100644 --- a/ports/libmaxminddb/portfile.cmake +++ b/ports/libmaxminddb/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( REF 1.3.2 SHA512 43ff5f4e3a413772cd315412afc1070fb80280405d8845dc9d94a795265a71007c6c182dc01da8e14bf7b8ab8defe05714bec543faa956e7fb0f0a7756e7df48 HEAD_REF master + PATCHES fix-linux-build.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) From a5ad9322e5a2d2e3d716e89349957ef893371219 Mon Sep 17 00:00:00 2001 From: Zongyuan Zuo Date: Wed, 15 May 2019 03:25:09 +0800 Subject: [PATCH 19/29] [libressl] add new port (#6321) * [libressl] add new port * disable symlink of static libs * [libressl] disable uwp and arm builds --- .../0001-enable-ocspcheck-on-msvc.patch | 254 ++++++++++++++++++ .../0002-suppress-msvc-warnings.patch | 47 ++++ ports/libressl/CONTROL | 6 + ports/libressl/portfile.cmake | 90 +++++++ 4 files changed, 397 insertions(+) create mode 100644 ports/libressl/0001-enable-ocspcheck-on-msvc.patch create mode 100644 ports/libressl/0002-suppress-msvc-warnings.patch create mode 100644 ports/libressl/CONTROL create mode 100644 ports/libressl/portfile.cmake diff --git a/ports/libressl/0001-enable-ocspcheck-on-msvc.patch b/ports/libressl/0001-enable-ocspcheck-on-msvc.patch new file mode 100644 index 00000000000000..fa1884a2e45646 --- /dev/null +++ b/ports/libressl/0001-enable-ocspcheck-on-msvc.patch @@ -0,0 +1,254 @@ +diff --git a/apps/ocspcheck/CMakeLists.txt b/apps/ocspcheck/CMakeLists.txt +index 3c80458..e8d3bf5 100644 +--- a/apps/ocspcheck/CMakeLists.txt ++++ b/apps/ocspcheck/CMakeLists.txt +@@ -1,5 +1,3 @@ +-if(NOT MSVC) +- + set( + OCSPCHECK_SRC + http.c +@@ -13,13 +11,27 @@ else() + set(OCSPCHECK_SRC ${OCSPCHECK_SRC} compat/memmem.c) + endif() + ++check_function_exists(getopt HAVE_GETOPT) ++if(HAVE_GETOPT) ++ add_definitions(-DHAVE_GETOPT) ++else() ++ set(GETOPT_SRC compat/getopt.c) ++endif() ++ ++check_function_exists(ftruncate HAVE_FTRUNCATE) ++if(HAVE_FTRUNCATE) ++ add_definitions(-DHAVE_FTRUNCATE) ++else() ++ set(FTRUNCATE_SRC compat/ftruncate.c) ++endif() ++ + if(NOT "${OPENSSLDIR}" STREQUAL "") + add_definitions(-DDEFAULT_CA_FILE=\"${OPENSSLDIR}/cert.pem\") + else() + add_definitions(-DDEFAULT_CA_FILE=\"${CMAKE_INSTALL_PREFIX}/etc/ssl/cert.pem\") + endif() + +-add_executable(ocspcheck ${OCSPCHECK_SRC}) ++add_executable(ocspcheck ${OCSPCHECK_SRC} ${GETOPT_SRC} ${FTRUNCATE_SRC}) + target_include_directories(ocspcheck PRIVATE . ./compat ../../include/compat) + target_link_libraries(ocspcheck tls ${OPENSSL_LIBS}) + +@@ -28,5 +40,3 @@ if(ENABLE_LIBRESSL_INSTALL) + install(FILES ocspcheck.8 DESTINATION ${CMAKE_INSTALL_MANDIR}/man8) + + endif(ENABLE_LIBRESSL_INSTALL) +- +-endif() +diff --git a/apps/ocspcheck/compat/ftruncate.c b/apps/ocspcheck/compat/ftruncate.c +new file mode 100644 +index 0000000..e825e50 +--- /dev/null ++++ b/apps/ocspcheck/compat/ftruncate.c +@@ -0,0 +1,17 @@ ++/* ++ * Public domain ++ * ++ * Kinichiro Inoguchi ++ */ ++ ++#ifdef _WIN32 ++ ++#include ++ ++int ++ftruncate(int fd, off_t length) ++{ ++ return _chsize(fd, length); ++} ++ ++#endif +diff --git a/apps/ocspcheck/compat/getopt.c b/apps/ocspcheck/compat/getopt.c +new file mode 100644 +index 0000000..ff05743 +--- /dev/null ++++ b/apps/ocspcheck/compat/getopt.c +@@ -0,0 +1,131 @@ ++/* ++ * Public domain ++ * ++ * EternalPhane ++ */ ++ ++#include ++#include ++ ++#include "getopt.h" ++ ++char *optarg = NULL; ++int optind = 0, optopt = '?'; ++ ++typedef int bool; ++#define true 1 ++#define false 0 ++ ++static int nonopt_begin = 0, nonopt_end = 0; ++ ++void clear_buf(); ++ ++void permute(char *const argv[]) ++{ ++ static char* buf = NULL; ++ if (!argv && buf) ++ return free(buf); ++ if (!buf) ++ atexit(clear_buf); ++ if (nonopt_begin == nonopt_end) ++ { ++ nonopt_begin = nonopt_end = optind; ++ return; ++ } ++ int nonopt_size = nonopt_end - nonopt_begin, ++ opt_size = optind - nonopt_end; ++ if (nonopt_size <= opt_size) ++ { ++ if (!realloc(buf, nonopt_size)) ++ free(buf), buf = malloc(nonopt_size); ++ memcpy(buf, nonopt_begin, nonopt_size); ++ memmove(nonopt_begin, nonopt_end, opt_size); ++ memcpy(nonopt_begin + opt_size, buf, nonopt_size); ++ } ++ else ++ { ++ if (!realloc(buf, opt_size)) ++ free(buf), buf = malloc(opt_size); ++ memcpy(buf, nonopt_end, opt_size); ++ memmove(nonopt_begin + opt_size, nonopt_begin, nonopt_size); ++ memcpy(nonopt_begin, buf, opt_size); ++ } ++ nonopt_begin += opt_size; ++ nonopt_end = optind; ++} ++ ++void clear_buf() ++{ ++ permute(NULL); ++} ++ ++int getopt(int argc, char *const argv[], const char *optstring) ++{ ++ static char *nextchar = NULL; ++ static bool posixly_correct = false, always_return_nonopt = false; ++ if (optind >= argc) ++ return -1; ++ if (!optind) ++ { ++ nonopt_begin = nonopt_end = 0; ++ posixly_correct = '+' == optstring[0] || getenv("POSIXLY_CORRECT"); ++ always_return_nonopt = '-' == optstring[0]; ++ if (posixly_correct || always_return_nonopt) ++ optstring++; ++ } ++ if (!nextchar || !*nextchar) ++ { ++ if (!posixly_correct && !always_return_nonopt) ++ { ++ int temp = optind++; ++ for (;;) ++ { ++ if (++temp >= argc || !strcmp("--", argv[temp])) ++ { ++ permute(argv); ++ if (temp < argc) ++ { ++ optind = temp + 1; ++ permute(argv); ++ } ++ optind = nonopt_begin; ++ return -1; ++ } ++ if ('-' == argv[temp][0] && argv[temp][1]) ++ break; ++ } ++ if (temp > optind) ++ { ++ permute(argv); ++ nonopt_end = optind = temp; ++ } ++ nextchar = argv[optind] + 1; ++ } ++ else ++ { ++ if (++optind >= argc || !strcmp("--", argv[optind])) ++ return -1; ++ if ('-' != argv[optind][0] || !argv[optind][1]) ++ return posixly_correct ? -1 : (optarg = argv[optind++], 1); ++ } ++ } ++ const char *temp = strchr(optstring, *nextchar++); ++ if (!temp) ++ return optopt = *(nextchar - 1), '?'; ++ if (':' == temp[1]) ++ { ++ bool err = false; ++ if (':' == temp[2]) ++ optarg = *nextchar ? nextchar : NULL; ++ else if (*nextchar) ++ optarg = nextchar; ++ else if ('-' != argv[++optind][0]) ++ optarg = argv[optind]; ++ else ++ return nextchar = argv[optind] + 1, ++ optopt = *temp, ++ ':' == optstring[0] ? ':' : '?'; ++ nextchar += strlen(nextchar); ++ } ++ return *temp; ++} +diff --git a/apps/ocspcheck/compat/getopt.h b/apps/ocspcheck/compat/getopt.h +new file mode 100644 +index 0000000..ada142e +--- /dev/null ++++ b/apps/ocspcheck/compat/getopt.h +@@ -0,0 +1,15 @@ ++/* ++ * Public domain ++ * ++ * EternalPhane ++ */ ++ ++#ifndef GETOPT_H__ ++#define GETOPT_H__ ++ ++extern char *optarg; ++extern int optind, opterr, optopt; ++ ++int getopt(int argc, char *const argv[], const char *optstring); ++ ++#endif +\ No newline at end of file +diff --git a/apps/ocspcheck/ocspcheck.c b/apps/ocspcheck/ocspcheck.c +index 551a8fa..c608578 100644 +--- a/apps/ocspcheck/ocspcheck.c ++++ b/apps/ocspcheck/ocspcheck.c +@@ -519,6 +519,10 @@ main(int argc, char **argv) + ssize_t written, w; + short port; + ++#ifndef HAVE_GETOPT ++#include "getopt.h" ++#endif ++ + while ((ch = getopt(argc, argv, "C:i:No:v")) != -1) { + switch (ch) { + case 'C': +diff --git a/include/compat/unistd.h b/include/compat/unistd.h +index f521b94..f11db44 100644 +--- a/include/compat/unistd.h ++++ b/include/compat/unistd.h +@@ -23,6 +23,7 @@ ssize_t pwrite(int d, const void *buf, size_t nbytes, off_t offset); + #include + #include + ++#define STDIN_FILENO 0 + #define STDOUT_FILENO 1 + #define STDERR_FILENO 2 + diff --git a/ports/libressl/0002-suppress-msvc-warnings.patch b/ports/libressl/0002-suppress-msvc-warnings.patch new file mode 100644 index 00000000000000..7a5bf0038ec1ca --- /dev/null +++ b/ports/libressl/0002-suppress-msvc-warnings.patch @@ -0,0 +1,47 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a6a7554..b20fd4b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -111,6 +111,11 @@ if(WIN32) + set(PLATFORM_LIBS ${PLATFORM_LIBS} ws2_32) + endif() + ++if(MSVC AND MSVC_VERSION GREATER_EQUAL 1912) ++ message(STATUS "Setting /Qspectre switch") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Qspectre") ++endif() ++ + if(MSVC) + add_definitions(-Dinline=__inline) + message(STATUS "Using [${CMAKE_C_COMPILER_ID}] compiler") +@@ -123,16 +128,29 @@ if(MSVC) + "C4127" # conditional expression is constant + "C4146" # unary minus operator applied to unsigned type, + # result still unsigned ++ "C4242" # 'identifier' : conversion from 'type1' to 'type2', ++ # possible loss of data + "C4244" # 'argument' : conversion from 'type1' to 'type2', + # possible loss of data + "C4245" # 'conversion' : conversion from 'type1' to 'type2', + # signed/unsigned mismatch ++ "C4255" # 'function' : no function prototype given: ++ # converting '()' to '(void)' + "C4267" # 'var' : conversion from 'size_t' to 'type', + # possible loss of data ++ "C4388" # 'expression': signed/unsigned mismatch + "C4389" # 'operator' : signed/unsigned mismatch ++ "C4464" # relative include path contains '..' ++ "C4668" # 'symbol' is not defined as a preprocessor macro, ++ # replacing with '0' for 'directives' + "C4706" # assignment within conditional expression ++ "C4710" # 'function' : function not inlined ++ "C4711" # function 'function' selected for inline expansion ++ "C4820" # 'bytes' bytes padding added after construct 'member_name' + "C4996" # The POSIX name for this item is deprecated. + # Instead, use the ISO C and C++ conformant name ++ "C5045" # Compiler will insert Spectre mitigation for memory load ++ # if /Qspectre switch specified + ) + elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") + add_definitions(-D_CRT_SUPPRESS_RESTRICT) + diff --git a/ports/libressl/CONTROL b/ports/libressl/CONTROL new file mode 100644 index 00000000000000..989dbfdeb9944b --- /dev/null +++ b/ports/libressl/CONTROL @@ -0,0 +1,6 @@ +Source: libressl +Version: 2.9.1 +Description: LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes. + +Feature: tools +Description: Build openssl and ocspcheck executables \ No newline at end of file diff --git a/ports/libressl/portfile.cmake b/ports/libressl/portfile.cmake new file mode 100644 index 00000000000000..d99ee1b6246a39 --- /dev/null +++ b/ports/libressl/portfile.cmake @@ -0,0 +1,90 @@ +cmake_minimum_required(VERSION 3.13) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "${PORT} does not currently support UWP") +endif() +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + message(FATAL_ERROR "${PORT} does not support ARM") +endif() + +include(vcpkg_common_functions) + +set(LIBRESSL_VERSION 2.9.1) +set(LIBRESSL_HASH 7051911e566bb093c48a70da72c9981b870e3bf49a167ba6c934eece873084cc41221fbe3cd0c8baba268d0484070df7164e4b937854e716337540a87c214354) + +vcpkg_download_distfile( + LIBRESSL_SOURCE_ARCHIVE + URLS https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${PORT}-${LIBRESSL_VERSION}.tar.gz + FILENAME ${PORT}-${LIBRESSL_VERSION}.tar.gz + SHA512 ${LIBRESSL_HASH} +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE "${LIBRESSL_SOURCE_ARCHIVE}" + REF ${LIBRESSL_VERSION} + PATCHES + 0001-enable-ocspcheck-on-msvc.patch + 0002-suppress-msvc-warnings.patch +) + +set(BUILD_SHARED_LIBS OFF) +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(BUILD_SHARED_LIBS ON) +endif() + +set(LIBRESSL_APPS OFF) +if("tools" IN_LIST FEATURES) + set(LIBRESSL_APPS ON) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DLIBRESSL_APPS=${LIBRESSL_APPS} + -DLIBRESSL_TESTS=OFF + -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + OPTIONS_DEBUG + -DLIBRESSL_APPS=OFF +) + +vcpkg_install_cmake() + +if(LIBRESSL_APPS) + if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) + set(EXECUTABLE_SUFFIX .exe) + endif() + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/openssl") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/openssl${EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/tools/openssl/openssl${EXECUTABLE_SUFFIX}") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/ocspcheck${EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/tools/openssl/ocspcheck${EXECUTABLE_SUFFIX}") + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/openssl") +endif() + +if(NOT BUILD_SHARED_LIBS) + file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/debug/bin" + ) +endif() +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/etc/ssl/certs" + "${CURRENT_PACKAGES_DIR}/share/man" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) +if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +endif() + +vcpkg_copy_pdbs() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +if((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) AND BUILD_SHARED_LIBS) + file(GLOB_RECURSE LIBS "${CURRENT_PACKAGES_DIR}/*.lib") + foreach(LIB ${LIBS}) + string(REGEX REPLACE "(.+)-[0-9]+\\.lib" "\\1.lib" LINK "${LIB}") + execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${LIB}" "${LINK}") + endforeach() +endif() From 3f5e477bda8339ca09accea7cf66146775ce8802 Mon Sep 17 00:00:00 2001 From: Curtis J Bezault Date: Tue, 14 May 2019 16:20:32 -0700 Subject: [PATCH 20/29] [USD] New port (#6451) * initial usd port * [usd] Acquire python2 required to build * Use copy instead of rename Handle the source path and the package path being on different partitions. --- ports/usd/CONTROL | 4 +++ ports/usd/portfile.cmake | 56 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 ports/usd/CONTROL create mode 100644 ports/usd/portfile.cmake diff --git a/ports/usd/CONTROL b/ports/usd/CONTROL new file mode 100644 index 00000000000000..58a564ad7f2954 --- /dev/null +++ b/ports/usd/CONTROL @@ -0,0 +1,4 @@ +Source: usd +Version: 0.8.4 +Build-Depends: boost-assign, boost-crc, boost-date-time, boost-filesystem, boost-format, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-vmd, tbb, zlib +Description: Universal Scene Description (USD) is an efficient, scalable system for authoring, reading, and streaming time-sampled scene description for interchange between graphics applications. diff --git a/ports/usd/portfile.cmake b/ports/usd/portfile.cmake new file mode 100644 index 00000000000000..a648e334a856f0 --- /dev/null +++ b/ports/usd/portfile.cmake @@ -0,0 +1,56 @@ +# Don't file if the bin folder exists. We need exe and custom files. +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO PixarAnimationStudios/USD + REF v19.05 + SHA512 4d708835f6efd539d5fff5cbaf0ec4d68c6d0c4d813ee531c4b9589ee585b720c34e993ef0a7ad0104a921ebd7ab8dec46d0c9284ec7f11993057fe81d3729e0 + HEAD_REF master +) + +vcpkg_find_acquire_program(PYTHON2) +get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY) +vcpkg_add_to_path("${PYTHON2_DIR}") + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DPXR_BUILD_ALEMBIC_PLUGIN:BOOL=OFF + -DPXR_BUILD_EMBREE_PLUGIN:BOOL=OFF + -DPXR_BUILD_IMAGING:BOOL=OFF + -DPXR_BUILD_MAYA_PLUGIN:BOOL=OFF + -DPXR_BUILD_MONOLITHIC:BOOL=OFF + -DPXR_BUILD_TESTS:BOOL=OFF + -DPXR_BUILD_USD_IMAGING:BOOL=OFF + -DPXR_ENABLE_PYTHON_SUPPORT:BOOL=OFF +) + +vcpkg_install_cmake() + +file( + RENAME + "${CURRENT_PACKAGES_DIR}/pxrConfig.cmake" + "${CURRENT_PACKAGES_DIR}/cmake/pxrConfig.cmake") + +vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") + +vcpkg_copy_pdbs() + +# Remove duplicates in debug folder +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file( + COPY ${SOURCE_PATH}/LICENSE.txt + DESTINATION ${CURRENT_PACKAGES_DIR}/share/usd/copyright) + +# Move all dlls to bin +file(GLOB RELEASE_DLL ${CURRENT_PACKAGES_DIR}/lib/*.dll) +file(GLOB DEBUG_DLL ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll) +foreach(CURRENT_FROM ${RELEASE_DLL} ${DEBUG_DLL}) + string(REPLACE "/lib/" "/bin/" CURRENT_TO ${CURRENT_FROM}) + file(RENAME ${CURRENT_FROM} ${CURRENT_TO}) +endforeach() From d112af9f174166105fddfcaea3c5998eaa0cc8e2 Mon Sep 17 00:00:00 2001 From: Ziyi Yan Date: Thu, 16 May 2019 00:42:16 +0800 Subject: [PATCH 21/29] [io2d] macOS support (#6456) * [io2d] macOS support * Update version string --- ports/io2d/CONTROL | 4 ++-- ports/io2d/portfile.cmake | 21 ++++++++++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/ports/io2d/CONTROL b/ports/io2d/CONTROL index 7e36cb5d90222a..2376ce6de4d9e9 100644 --- a/ports/io2d/CONTROL +++ b/ports/io2d/CONTROL @@ -1,4 +1,4 @@ Source: io2d -Version: 0.1-1 +Version: 0.1-2 Description: a lightweight, cross platform drawing library -Build-Depends: cairo, graphicsmagick +Build-Depends: cairo (!osx), graphicsmagick (!osx) diff --git a/ports/io2d/portfile.cmake b/ports/io2d/portfile.cmake index c1d536d57f33e6..0375a9689d3948 100644 --- a/ports/io2d/portfile.cmake +++ b/ports/io2d/portfile.cmake @@ -24,6 +24,10 @@ if ("${SOURCE_PATH}" STREQUAL "") endif() # Configure the library, using CMake +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL Darwin) + set(IO2D_DEFAULT_OPTION "-DIO2D_DEFAULT=COREGRAPHICS_MAC") +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -31,6 +35,7 @@ vcpkg_configure_cmake( -DIO2D_WITHOUT_SAMPLES=1 -DIO2D_WITHOUT_TESTS=1 -DCMAKE_INSTALL_INCLUDEDIR:STRING=include + ${IO2D_DEFAULT_OPTION} ) # Build + install the library, using CMake @@ -42,14 +47,16 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/io2d) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/io2d/io2dConfig.cmake ${CURRENT_PACKAGES_DIR}/share/io2d/io2dTargets.cmake) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/io2d/io2dConfig.cmake " -include(CMakeFindDependencyMacro) -find_dependency(unofficial-cairo CONFIG) -find_dependency(unofficial-graphicsmagick CONFIG) +if (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL Darwin) + file(RENAME ${CURRENT_PACKAGES_DIR}/share/io2d/io2dConfig.cmake ${CURRENT_PACKAGES_DIR}/share/io2d/io2dTargets.cmake) + file(WRITE ${CURRENT_PACKAGES_DIR}/share/io2d/io2dConfig.cmake " + include(CMakeFindDependencyMacro) + find_dependency(unofficial-cairo CONFIG) + find_dependency(unofficial-graphicsmagick CONFIG) -include(\${CMAKE_CURRENT_LIST_DIR}/io2dTargets.cmake) -") + include(\${CMAKE_CURRENT_LIST_DIR}/io2dTargets.cmake) + ") +endif() file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/io2d RENAME copyright) From 8873d771c8f5a3f45ba066bc49147beded65fb94 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Wed, 15 May 2019 14:37:53 -0700 Subject: [PATCH 22/29] [glm] Fix missing include dir reference by moving include(GNUInstallDirs). Fixes #6461. (#6466) --- ports/glm/CMakeLists.txt | 4 ++-- ports/glm/CONTROL | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/glm/CMakeLists.txt b/ports/glm/CMakeLists.txt index 006e7182ec7d4c..678604b8670f79 100644 --- a/ports/glm/CMakeLists.txt +++ b/ports/glm/CMakeLists.txt @@ -2,11 +2,11 @@ cmake_minimum_required(VERSION 3.12 FATAL_ERROR) project(glm LANGUAGES CXX) +include(GNUInstallDirs) + add_library(glm INTERFACE) target_include_directories(glm INTERFACE $) -include(GNUInstallDirs) - install( TARGETS glm EXPORT glm-config RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}/ diff --git a/ports/glm/CONTROL b/ports/glm/CONTROL index b8c088f59a138e..3bea7f0edd7ddc 100644 --- a/ports/glm/CONTROL +++ b/ports/glm/CONTROL @@ -1,3 +1,3 @@ Source: glm -Version: 0.9.9.5-2 +Version: 0.9.9.5-3 Description: OpenGL Mathematics (GLM) https://glm.g-truc.net From 88b882057a2a4980c130e0f6b6c12461cc4be976 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?WebFolder=20O=C3=9C?= Date: Thu, 16 May 2019 02:12:20 +0300 Subject: [PATCH 23/29] [libmicrohttpd] Update to 0.9.63 (#6464) --- ports/libmicrohttpd/portfile.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake index 45d995777218fc..51f4780a95528b 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -2,11 +2,11 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libmicrohttpd-0.9.55) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libmicrohttpd-0.9.63) vcpkg_download_distfile(ARCHIVE - URLS "ftp://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.55.tar.gz" - FILENAME "libmicrohttpd-0.9.55.tar.gz" - SHA512 b410e7253d7c98c40b5e8b8dcd1f93bcbb05c88717190e8dae73073d36465e8e5cfa53c6c5098de60051a5ec64dc423fd94f4b06537d8146b744aa99f5a0b173 + URLS "ftp://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.63.tar.gz" + FILENAME "libmicrohttpd-0.9.63.tar.gz" + SHA512 cb99e7af84fb6d7c0fd3894a9dc0fbff14959b35347506bd3211a65bbfad36455007b9e67493e97c9d8394834408df10eeabdc7758573e6aae0ba6f5f87afe17 ) vcpkg_extract_source_archive(${ARCHIVE}) From 0e417f773d830566910c85ff18025e300d78fbf0 Mon Sep 17 00:00:00 2001 From: Vitaliy Didik Date: Thu, 16 May 2019 02:21:05 +0300 Subject: [PATCH 24/29] [libpff] Initial port. (#6458) * [libpff] Initial port. * [libpff] Add unofficial CMake find_package() integration support --- ports/libpff/CMakeLists.txt | 81 ++++++++++++++++++++++++++++++++++++ ports/libpff/CONTROL | 4 ++ ports/libpff/Config.cmake.in | 4 ++ ports/libpff/portfile.cmake | 39 +++++++++++++++++ 4 files changed, 128 insertions(+) create mode 100644 ports/libpff/CMakeLists.txt create mode 100644 ports/libpff/CONTROL create mode 100644 ports/libpff/Config.cmake.in create mode 100644 ports/libpff/portfile.cmake diff --git a/ports/libpff/CMakeLists.txt b/ports/libpff/CMakeLists.txt new file mode 100644 index 00000000000000..276db5d80a1f65 --- /dev/null +++ b/ports/libpff/CMakeLists.txt @@ -0,0 +1,81 @@ +cmake_minimum_required(VERSION 3.12) + +project(libpff C) + +find_package(zlib REQUIRED) + +if(MSVC) + add_compile_definitions(_CRT_SECURE_NO_DEPRECATE) + add_compile_definitions(_CRT_NONSTDC_NO_DEPRECATE) +endif() + +add_compile_definitions(HAVE_LOCAL_LIBCERROR) +add_compile_definitions(HAVE_LOCAL_LIBCTHREADS) +add_compile_definitions(HAVE_LOCAL_LIBCDATA) +add_compile_definitions(HAVE_LOCAL_LIBCLOCALE) +add_compile_definitions(HAVE_LOCAL_LIBCNOTIFY) +add_compile_definitions(HAVE_LOCAL_LIBCSPLIT) +add_compile_definitions(HAVE_LOCAL_LIBCFILE) +add_compile_definitions(HAVE_LOCAL_LIBCPATH) +add_compile_definitions(HAVE_LOCAL_LIBUNA) +add_compile_definitions(HAVE_LOCAL_LIBBFIO) +add_compile_definitions(HAVE_LOCAL_LIBFCACHE) +add_compile_definitions(HAVE_LOCAL_LIBFDATA) +add_compile_definitions(HAVE_LOCAL_LIBFDATETIME) +add_compile_definitions(HAVE_LOCAL_LIBFGUID) +add_compile_definitions(HAVE_LOCAL_LIBFWNT) +add_compile_definitions(HAVE_LOCAL_LIBFMAPI) +add_compile_definitions(HAVE_LOCAL_LIBFVALUE) +add_compile_definitions(ZLIB_DLL) + +add_compile_definitions(LIBPFF_DLL_EXPORT) + +if(MSVC) + set(LIB_RC libpff/libpff.rc) +endif() + + +include(GNUInstallDirs) +include(CMakePackageConfigHelpers) + +# Add CMake find_package() integration +set(PROJECT_TARGET_NAME "unofficial-${PROJECT_NAME}") +set(CONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") +set(PROJECT_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/generated/${PROJECT_TARGET_NAME}Config.cmake") +set(TARGETS_EXPORT_NAME "${PROJECT_TARGET_NAME}Targets") +set(NAMESPACE "unofficial-libpff::") + +# Source files +file(GLOB LIB_SRC lib*/*.c) + +# Headers +file(GLOB LIB_INST_HEADERS include/libpff/*.h) + +add_library(${PROJECT_NAME} ${LIB_SRC} ${LIB_RC}) + +target_include_directories(${PROJECT_NAME} PRIVATE ./include ./common) +target_include_directories(${PROJECT_NAME} PRIVATE ./libbfio ./libcdata ./libcerror ./libcfile ./libclocale ./libcnotify) +target_include_directories(${PROJECT_NAME} PRIVATE ./libcpath ./libcsplit ./libcthreads ./libfcache ./libfdata ./libfdatetime) +target_include_directories(${PROJECT_NAME} PRIVATE ./libfguid ./libfmapi ./libfvalue ./libfwnt ./libuna) + +target_link_libraries(${PROJECT_NAME} PRIVATE ZLIB::ZLIB) + +install(TARGETS ${PROJECT_NAME} + EXPORT ${TARGETS_EXPORT_NAME} + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + INCLUDES DESTINATION include) + +install(FILES ${LIB_INST_HEADERS} DESTINATION include/libpff) +install(FILES include/libpff.h DESTINATION include) + + +# Generate and install unofficial-libpffConfig.cmake +configure_package_config_file("Config.cmake.in" "${PROJECT_CONFIG}" INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}") +install(FILES "${PROJECT_CONFIG}" DESTINATION "${CONFIG_INSTALL_DIR}") + +# Generate and install unofficial-libpffTargets*.cmake +install(EXPORT ${TARGETS_EXPORT_NAME} + NAMESPACE ${NAMESPACE} + DESTINATION "${CONFIG_INSTALL_DIR}") diff --git a/ports/libpff/CONTROL b/ports/libpff/CONTROL new file mode 100644 index 00000000000000..0aeb07a199b6a5 --- /dev/null +++ b/ports/libpff/CONTROL @@ -0,0 +1,4 @@ +Source: libpff +Version: 2018-07-14 +Build-Depends: zlib +Description: Library and tools to access the Personal Folder File (PFF) and the Offline Folder File (OFF) format. diff --git a/ports/libpff/Config.cmake.in b/ports/libpff/Config.cmake.in new file mode 100644 index 00000000000000..bd6bd4532b6282 --- /dev/null +++ b/ports/libpff/Config.cmake.in @@ -0,0 +1,4 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") +check_required_components("@PROJECT_NAME@") diff --git a/ports/libpff/portfile.cmake b/ports/libpff/portfile.cmake new file mode 100644 index 00000000000000..f9a56a86e9b1b6 --- /dev/null +++ b/ports/libpff/portfile.cmake @@ -0,0 +1,39 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +set(LIB_VERSION 20180714) +set(LIB_FILENAME libpff-experimental-${LIB_VERSION}.tar.gz) + +# Release distribution file contains configured sources, while the source code in the repository does not. +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/libyal/libpff/releases/download/${LIB_VERSION}/${LIB_FILENAME}" + FILENAME "${LIB_FILENAME}" + SHA512 7207ba87607ea2fd4609a081c2f4b061344a783e188605e88df99fd473f2a8da1269b065e57b054f4622888d40aa8f2b8272dc4748334ddfe358b28d443d6ad1 +) + + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${LIB_VERSION} +) + + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" DESTINATION "${SOURCE_PATH}") + +vcpkg_configure_cmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libpff" TARGET_PATH "share/unofficial-libpff") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +# License and man +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libpff" RENAME copyright) + +vcpkg_copy_pdbs() From efdd1f17669fba04a9dc392d3e97de2311c45528 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 16 May 2019 07:22:31 +0800 Subject: [PATCH 25/29] [libsndfile]Fix install file path in linux. (#6455) * [libsndfile]Fix install file path in linux. * [libsndfile] Don't install HTML docs --- ports/libsndfile/CONTROL | 2 +- ports/libsndfile/fix-install-path.patch | 31 ++++++++++++++++++++ ports/libsndfile/portfile.cmake | 39 +++++++++++++++++++------ 3 files changed, 62 insertions(+), 10 deletions(-) create mode 100644 ports/libsndfile/fix-install-path.patch diff --git a/ports/libsndfile/CONTROL b/ports/libsndfile/CONTROL index d448f694ce25e9..d8de159b213a6d 100644 --- a/ports/libsndfile/CONTROL +++ b/ports/libsndfile/CONTROL @@ -1,5 +1,5 @@ Source: libsndfile -Version: 1.0.29-6830c42-5 +Version: 1.0.29-6830c42-6 Description: Library to read, write and manipulate many soundfile types. Authored by Eric de Castro Lopo Default-Features: external-libs diff --git a/ports/libsndfile/fix-install-path.patch b/ports/libsndfile/fix-install-path.patch new file mode 100644 index 00000000000000..38c6ff734f066d --- /dev/null +++ b/ports/libsndfile/fix-install-path.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cc35414..d629adf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -641,12 +641,12 @@ if (ENABLE_PACKAGE_CONFIG) + LibSndFileConfig.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_PACKAGEDIR}) + +- install(EXPORT LibSndFileTargets DESTINATION ${CMAKE_INSTALL_PACKAGEDIR}) ++ install(EXPORT LibSndFileTargets DESTINATION share/libsndfile) + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/LibSndFileConfig.cmake + ${CMAKE_CURRENT_BINARY_DIR}/LibSndFileConfigVersion.cmake + DESTINATION +- ${CMAKE_INSTALL_PACKAGEDIR}) ++ share/libsndfile) + + elseif (NOT ENABLE_PACKAGE_CONFIG) + +@@ -698,9 +698,9 @@ set (html_DATA + doc/embedded_files.html + doc/octave.html + doc/tutorial.html) +-install (FILES ${html_DATA} DESTINATION ${CMAKE_INSTALL_DOCDIR}) ++#install (FILES ${html_DATA} DESTINATION ${CMAKE_INSTALL_DATADIR}/libsndfile) + +-install (FILES ${CMAKE_CURRENT_BINARY_DIR}/sndfile.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++#install (FILES ${CMAKE_CURRENT_BINARY_DIR}/sndfile.pc DESTINATION share/libsndfile/pkgconfig) + + # + # Testing diff --git a/ports/libsndfile/portfile.cmake b/ports/libsndfile/portfile.cmake index 1ba590fd7e8495..7c103b6a29f9fe 100644 --- a/ports/libsndfile/portfile.cmake +++ b/ports/libsndfile/portfile.cmake @@ -7,8 +7,9 @@ vcpkg_from_github( SHA512 b13c5d7bc27218eff8a8c4ce89a964b4920b1d3946e4843e60be965d77ec205845750a82bf654a7c2c772bf3a24f6ff5706881b24ff12115f2525c8134b6d0b9 HEAD_REF master PATCHES - "${CMAKE_CURRENT_LIST_DIR}/uwp-createfile-getfilesize.patch" - "${CMAKE_CURRENT_LIST_DIR}/uwp-createfile-getfilesize-addendum.patch" + uwp-createfile-getfilesize.patch + uwp-createfile-getfilesize-addendum.patch + fix-install-path.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" CRT_LIB_STATIC) @@ -25,15 +26,23 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS -DBUILD_EXAMPLES=0 -DBUILD_REGTEST=0 -DBUILD_TESTING=0 -DENABLE_STATIC_RUNTIME=${CRT_LIB_STATIC} -DBUILD_STATIC_LIBS=${BUILD_STATIC} -DDISABLE_EXTERNAL_LIBS=${SNDFILE_WITHOUT_EXTERNAL_LIBS} - OPTIONS_RELEASE -DBUILD_PROGRAMS=${BUILD_EXECUTABLES} - # Setting ENABLE_PACKAGE_CONFIG=0 has no effect - OPTIONS_DEBUG -DBUILD_PROGRAMS=0 + OPTIONS + -DBUILD_EXAMPLES=OFF + -DBUILD_REGTEST=OFF + -DBUILD_TESTING=OFF + -DENABLE_BOW_DOCS=OFF + -DENABLE_STATIC_RUNTIME=${CRT_LIB_STATIC} + -DBUILD_STATIC_LIBS=${BUILD_STATIC} + -DDISABLE_EXTERNAL_LIBS=${SNDFILE_WITHOUT_EXTERNAL_LIBS} + OPTIONS_RELEASE + -DBUILD_PROGRAMS=${BUILD_EXECUTABLES} + OPTIONS_DEBUG + -DBUILD_PROGRAMS=0 ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/libsndfile) # Fix applied for 6830c421899e32f8d413a903a21a9b6cf384d369 file(READ "${CURRENT_PACKAGES_DIR}/share/libsndfile/LibSndFileTargets.cmake" _contents) @@ -44,11 +53,23 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/doc/libsndfile ${CURRENT_PACKAGES_DIR}/share/${PORT}/doc) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc) +if(CMAKE_HOST_WIN32) + set(EXECUTABLE_SUFFIX ".exe") + set(SHARED_LIB_SUFFIX ".dll") +else() + set(EXECUTABLE_SUFFIX) + set(SHARED_LIB_SUFFIX) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/libsndfile-1${SHARED_LIB_SUFFIX}) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/libnsdfile-1${SHARED_LIB_SUFFIX}) +endif() + if(BUILD_EXECUTABLES) - file(GLOB TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe) + file(GLOB TOOLS ${CURRENT_PACKAGES_DIR}/bin/*${EXECUTABLE_SUFFIX}) file(COPY ${TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) file(REMOVE ${TOOLS}) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) From 6cd058d3ae685caa825de5889dce3518ec208a33 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 16 May 2019 07:23:22 +0800 Subject: [PATCH 26/29] [fftw3]Changed library linkage to static. (#6434) --- ports/fftw3/CONTROL | 2 +- ports/fftw3/portfile.cmake | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ports/fftw3/CONTROL b/ports/fftw3/CONTROL index 1ff42851f5fee9..92e1b915b71d93 100644 --- a/ports/fftw3/CONTROL +++ b/ports/fftw3/CONTROL @@ -1,5 +1,5 @@ Source: fftw3 -Version: 3.3.8-3 +Version: 3.3.8-4 Description: FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST). Feature: openmp diff --git a/ports/fftw3/portfile.cmake b/ports/fftw3/portfile.cmake index 17ce37ea254901..17510ff0831c65 100644 --- a/ports/fftw3/portfile.cmake +++ b/ports/fftw3/portfile.cmake @@ -1,6 +1,8 @@ include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/fftw-3.3.8) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + # This can be removed in the next source code update if(EXISTS "${SOURCE_PATH}/CMakeLists.txt") file(READ "${SOURCE_PATH}/CMakeLists.txt" _contents) From 97431cb93e5088992dc8f05f45948b2984071b29 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Wed, 15 May 2019 16:46:28 -0700 Subject: [PATCH 27/29] [cpp-netlib] Add new port (#6424) * [cpp-netlib] Add new port * Fix the problem on Linux. * Add the unsupported message for UWP. --- ports/cpp-netlib/CONTROL | 4 ++++ ports/cpp-netlib/portfile.cmake | 37 +++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 ports/cpp-netlib/CONTROL create mode 100644 ports/cpp-netlib/portfile.cmake diff --git a/ports/cpp-netlib/CONTROL b/ports/cpp-netlib/CONTROL new file mode 100644 index 00000000000000..010786d538540e --- /dev/null +++ b/ports/cpp-netlib/CONTROL @@ -0,0 +1,4 @@ +Source: cpp-netlib +Version: 0.13.0-rc3 +Description: A collection of network-related routines/implementations geared towards providing a robust cross-platform networking library +Build-Depends: boost \ No newline at end of file diff --git a/ports/cpp-netlib/portfile.cmake b/ports/cpp-netlib/portfile.cmake new file mode 100644 index 00000000000000..ff9870e467a741 --- /dev/null +++ b/ports/cpp-netlib/portfile.cmake @@ -0,0 +1,37 @@ +include(vcpkg_common_functions) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "${PORT} does not currently support UWP") +endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cpp-netlib/cpp-netlib + REF cpp-netlib-0.13.0-rc3 + SHA512 ddc4178381ebc4179bc243d19ecd4c7e424a61a7b75b6fd59d1f9e9fbcc1383c0afba97bcbef1b791eedb5a7a2cd63a633454f3848dfc5d76a41cc8a2c6ed302 + HEAD_REF master +) + + vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCPP-NETLIB_BUILD_TESTS=off + -DCPP-NETLIB_BUILD_EXAMPLES=off + +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +if(WIN32 AND NOT CYGWIN) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/${PORT}) +else() + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cppnetlib) +endif() + +file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + From 58c7cfaae9ed50876843a795d7badb3b384f24b6 Mon Sep 17 00:00:00 2001 From: heydojo Date: Thu, 16 May 2019 01:47:00 +0100 Subject: [PATCH 28/29] [icu] Prevent stale MSYS gpg-agent.exe process blocking command control (#6407) * Prevent stale MSYS gpg-agent.exe process blocking command control This commit fixes: https://github.com/microsoft/vcpkg/issues/5476 The issue is that CI environments such as Appveyor's VS2017 image will wait for all processes to complete. If a stale process resides as a result, builds will hang. There does not appear to be any good reason for gpg-agent.exe to be running once the build of icu has completed. Without this patch builds of icu4c using CI systems will very likely hang and not in an obvious way. Is this the _right_ solution to this problem? Probably not but it is one solution. And it degrades gracefully in that the build will not fail if gpg-agent.exe is not running. The gpg-agent.exe will not run again once MSYS has been configured, so to test this patch, a fresh install of vcpkg is required. Open the task manager and before the icu build completes, look for gpg-agent.exe just sitting there for no reason. Might I suggest that the issue is fixed in vcpkg MSYS instead or as well? Please don't request further from this commit. * [icu] Kill MSYS gpg-agent.exe on Windows --- ports/icu/CONTROL | 2 +- ports/icu/portfile.cmake | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ports/icu/CONTROL b/ports/icu/CONTROL index 171eb1129b1440..d60dbf04b99437 100644 --- a/ports/icu/CONTROL +++ b/ports/icu/CONTROL @@ -1,3 +1,3 @@ Source: icu -Version: 61.1-5 +Version: 61.1-6 Description: Mature and widely used Unicode and localization library. diff --git a/ports/icu/portfile.cmake b/ports/icu/portfile.cmake index 2061111e9ad5ac..91cba5db74e398 100644 --- a/ports/icu/portfile.cmake +++ b/ports/icu/portfile.cmake @@ -209,3 +209,11 @@ vcpkg_copy_pdbs() # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/icu) file(RENAME ${CURRENT_PACKAGES_DIR}/share/icu/LICENSE ${CURRENT_PACKAGES_DIR}/share/icu/copyright) + +# Deal with a stale process created by MSYS +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_execute_required_process( + COMMAND TASKKILL /F /IM gpg-agent.exe /fi "memusage gt 2" + WORKING_DIRECTORY ${SOURCE_PATH} + ) +endif() From 9238e93cc32555ad7c5239376d31796e949e16da Mon Sep 17 00:00:00 2001 From: Victor Romero Date: Wed, 15 May 2019 20:15:19 -0700 Subject: [PATCH 29/29] [libmicrohttpd] Fix CONTROL version (#6468) --- ports/libmicrohttpd/CONTROL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/libmicrohttpd/CONTROL b/ports/libmicrohttpd/CONTROL index 10147053054f18..2c24d44976fa52 100644 --- a/ports/libmicrohttpd/CONTROL +++ b/ports/libmicrohttpd/CONTROL @@ -1,3 +1,3 @@ Source: libmicrohttpd -Version: 0.9.55-2 +Version: 0.9.63 Description: GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application