diff options
| author | Stephane Lajoie <dada@typicus.org> | 2017-07-07 22:30:36 -0400 |
|---|---|---|
| committer | Stephane Lajoie <dada@typicus.org> | 2017-07-07 22:30:36 -0400 |
| commit | c2f1a2af59d911b79dbe63a23815c4bfa472e2a6 (patch) | |
| tree | 90cc452ce24b3981e0653ae956f77fbfd4b05b1a | |
| parent | b5cd10bc66b785fdc385c16cfddc503324ba8e53 (diff) | |
| parent | 426df16b57c325928e6d587dc385dc836712a6b1 (diff) | |
| download | vcpkg-c2f1a2af59d911b79dbe63a23815c4bfa472e2a6.tar.gz vcpkg-c2f1a2af59d911b79dbe63a23815c4bfa472e2a6.zip | |
Merge branch 'master' into add-llvm
31 files changed, 599 insertions, 38 deletions
diff --git a/ports/cereal/CONTROL b/ports/cereal/CONTROL index 3c598a735..77ca17835 100644 --- a/ports/cereal/CONTROL +++ b/ports/cereal/CONTROL @@ -1,3 +1,3 @@ Source: cereal -Version: 1.2.1 +Version: 1.2.2 Description: a header-only C++11 serialization library (built in support for binary, XML and JSon) diff --git a/ports/cereal/portfile.cmake b/ports/cereal/portfile.cmake index f6555416c..d70c9a6e9 100644 --- a/ports/cereal/portfile.cmake +++ b/ports/cereal/portfile.cmake @@ -1,16 +1,29 @@ #header-only library + include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cereal-1.2.1) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/USCiLab/cereal/archive/v1.2.1.tar.gz" - FILENAME "cereal-1.2.1.tar.gz" - SHA512 f0050f27433a4b544e7785aa94fc7b14a57eed6d542e25d3d0fda4d27cf55ea55e796be2138bf80809c96c392436513fe42764b3a456938395bf7f7177dd1c73 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO USCiLab/cereal + REF v1.2.2 + SHA512 9567b2e19add9446b24f8afd122eea09ba6ecd1a090335cf0ab31fdc8f64c6c97daa3d9eaf0801c36a770737488e0eebf81d96d7b7a65deed30da6130f2d47eb + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DJUST_INSTALL_CEREAL=ON ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH "share/cmake/cereal") + +# Clean +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cereal) file(RENAME ${CURRENT_PACKAGES_DIR}/share/cereal/LICENSE ${CURRENT_PACKAGES_DIR}/share/cereal/copyright) - -# Copy the cereal header files -file(COPY ${SOURCE_PATH}/include/cereal DESTINATION ${CURRENT_PACKAGES_DIR}/include)
\ No newline at end of file diff --git a/ports/draco/CONTROL b/ports/draco/CONTROL new file mode 100644 index 000000000..f8ce4ba96 --- /dev/null +++ b/ports/draco/CONTROL @@ -0,0 +1,4 @@ +Source: draco +Version: 0.10.0 +Description: A library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics. +Build-Depends:
\ No newline at end of file diff --git a/ports/draco/portfile.cmake b/ports/draco/portfile.cmake new file mode 100644 index 000000000..0b9bca010 --- /dev/null +++ b/ports/draco/portfile.cmake @@ -0,0 +1,50 @@ +# Common Ambient Variables: +# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} +# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} +# CURRENT_PORT DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} +# PORT = current port name (zlib, etc) +# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) +# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) +# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) +# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg> +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + message(STATUS "Warning: Dynamic building not supported yet. Building static.") + set(VCPKG_LIBRARY_LINKAGE static) +endif() + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/draco + REF 0.10.0 + SHA512 4e1c5d0799b7c005167847886f6cb9ae450beb4fe6dc58971955abe0cdf43317253a2e19a185cf1210169a6b2d1922c0d684e50d39145894b01e775717e6d173 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +# Install tools and plugins +file(GLOB TOOLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.exe") +if(TOOLS) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/draco) + file(COPY ${TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/draco) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +vcpkg_copy_pdbs() + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/draco) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/draco/LICENSE ${CURRENT_PACKAGES_DIR}/share/draco/copyright) diff --git a/ports/freeglut/CONTROL b/ports/freeglut/CONTROL index 00680a773..775f98938 100644 --- a/ports/freeglut/CONTROL +++ b/ports/freeglut/CONTROL @@ -1,3 +1,3 @@ Source: freeglut -Version: 3.0.0 +Version: 3.0.0-1 Description: Open source implementation of GLUT with source and binary backwards compatibility.
\ No newline at end of file diff --git a/ports/freeglut/portfile.cmake b/ports/freeglut/portfile.cmake index 929d8b9e4..c2d1f2816 100644 --- a/ports/freeglut/portfile.cmake +++ b/ports/freeglut/portfile.cmake @@ -7,6 +7,12 @@ vcpkg_download_distfile(ARCHIVE ) vcpkg_extract_source_archive(${ARCHIVE}) +# disable debug suffix, because FindGLUT.cmake from CMake 3.8 doesn't support it +file(READ ${SOURCE_PATH}/CMakeLists.txt FREEGLUT_CMAKELISTS) +string(REPLACE "SET( CMAKE_DEBUG_POSTFIX \"d\" )" + "\#SET( CMAKE_DEBUG_POSTFIX \"d\" )" FREEGLUT_CMAKELISTS "${FREEGLUT_CMAKELISTS}") +file(WRITE ${SOURCE_PATH}/CMakeLists.txt "${FREEGLUT_CMAKELISTS}") + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(FREEGLUT_STATIC OFF) set(FREEGLUT_DYNAMIC ON) @@ -26,6 +32,15 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +# Patch header +file(READ ${CURRENT_PACKAGES_DIR}/include/GL/freeglut_std.h FREEGLUT_STDH) +string(REPLACE "pragma comment (lib, \"freeglut_staticd.lib\")" + "pragma comment (lib, \"freeglut_static.lib\")" FREEGLUT_STDH "${FREEGLUT_STDH}") +string(REPLACE "pragma comment (lib, \"freeglutd.lib\")" + "pragma comment (lib, \"freeglut.lib\")" FREEGLUT_STDH "${FREEGLUT_STDH}") +file(WRITE ${CURRENT_PACKAGES_DIR}/include/GL/freeglut_std.h "${FREEGLUT_STDH}") + +# Clean file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL index 8298a047c..d9654cddf 100644 --- a/ports/grpc/CONTROL +++ b/ports/grpc/CONTROL @@ -1,4 +1,4 @@ Source: grpc -Version: 1.4.0 +Version: 1.4.1 Build-Depends: zlib, openssl, protobuf, c-ares Description: An RPC library and framework
\ No newline at end of file diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake index 3397e86dc..e26c758d0 100644 --- a/ports/grpc/portfile.cmake +++ b/ports/grpc/portfile.cmake @@ -12,8 +12,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO grpc/grpc - REF v1.4.0 - SHA512 183254e62604bae0ef8b97c3cda9718ec7ac03a1f29e29ecc582adf670d07ee177ae1ad92ffc042f8b12715f3afa8a0e4db34f88b826fe307249fd6eb7efd249 + REF v1.4.1 + SHA512 5028e4f881a41e4c4ddf770bd824d1d5de825f86d68dbbfab22e2a34ec0e46b27754b0f5b40cfc02b0d22a756b08056b100837b590745b5fdbdce9a803e59f8d HEAD_REF master ) @@ -21,6 +21,7 @@ vcpkg_from_github( vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES + ${CMAKE_CURRENT_LIST_DIR}/revert-c019e05.patch ${CMAKE_CURRENT_LIST_DIR}/disable-csharp-ext.patch ) @@ -60,6 +61,7 @@ file(GLOB TOOLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.exe") if(TOOLS) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/grpc) file(COPY ${TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/grpc) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/grpc) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) diff --git a/ports/grpc/revert-c019e05.patch b/ports/grpc/revert-c019e05.patch new file mode 100644 index 000000000..afb5cfa71 --- /dev/null +++ b/ports/grpc/revert-c019e05.patch @@ -0,0 +1,18 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b7555b1bc3..edbffea76c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -14204,6 +14204,13 @@ endif (gRPC_BUILD_TESTS) + + + ++if (gRPC_INSTALL) ++ install(EXPORT gRPCTargets ++ DESTINATION ${CMAKE_INSTALL_CMAKEDIR} ++ NAMESPACE gRPC:: ++ ) ++endif() ++ + foreach(_config gRPCConfig gRPCConfigVersion) + configure_file(tools/cmake/${_config}.cmake.in + ${_config}.cmake @ONLY) diff --git a/ports/matio/CMakeLists.txt b/ports/matio/CMakeLists.txt new file mode 100644 index 000000000..31b7e1e2b --- /dev/null +++ b/ports/matio/CMakeLists.txt @@ -0,0 +1,55 @@ +cmake_minimum_required(VERSION 3.8.0) +project(libmatio C) + +set(SRC + src/endian.c + src/inflate.c + src/io.c + src/mat.c + src/mat4.c + src/mat5.c + src/mat73.c + visual_studio/matio.def + src/matvar_cell.c + src/matvar_struct.c + src/read_data.c + src/snprintf.c +) + +add_library(libmatio ${SRC}) +target_include_directories(libmatio PRIVATE src visual_studio) +target_compile_definitions(libmatio PRIVATE + -DH5_NO_DEPRECATED_SYMBOLS + -DMAT73=1 + -DREPLACE_GETOPT + -DMATIO_HAVE_INTTYPES_H=1 + -DMATIO_HAVE_STDINT_H=1 +) + +find_package(ZLIB REQUIRED) +target_link_libraries(libmatio PRIVATE ZLIB::ZLIB) +target_compile_definitions(libmatio PRIVATE -DHAVE_ZLIB=1) + +find_package(HDF5 REQUIRED) +target_include_directories(libmatio PRIVATE ${HDF5_INCLUDE_DIRS} ) +target_link_libraries(libmatio PRIVATE ${HDF5_C_LIBRARIES}) +if(BUILD_SHARED_LIBS) + target_compile_definitions(libmatio PRIVATE -DHAVE_HDF5=1 -DH5_BUILT_AS_DYNAMIC_LIB) +else() + target_compile_definitions(libmatio PRIVATE -DHAVE_HDF5=1 -DH5_BUILT_AS_STATIC_LIB) +endif() + +install( + TARGETS libmatio + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +if(NOT DISABLE_INSTALL_HEADERS) + install(FILES + src/matio.h + visual_studio/matio_pubconf.h + DESTINATION include + ) +endif() diff --git a/ports/matio/CONTROL b/ports/matio/CONTROL new file mode 100644 index 000000000..f4dac30a1 --- /dev/null +++ b/ports/matio/CONTROL @@ -0,0 +1,4 @@ +Source: matio +Version: 1.5.10-1 +Description: MATLAB MAT File I/O Library +Build-Depends: zlib, hdf5 diff --git a/ports/matio/portfile.cmake b/ports/matio/portfile.cmake new file mode 100644 index 000000000..2878bdbfb --- /dev/null +++ b/ports/matio/portfile.cmake @@ -0,0 +1,23 @@ +include(vcpkg_common_functions) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tbeu/matio + REF v1.5.10 + SHA512 c06ff6b3d17a136be20cebca4e1a4bb87eea98e35d979713e73f855487dee568895245528b1b8e55caf02f88aff1b742daf75f590e2d3b08158d0ad73e377243 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON +) + +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/matio RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/openimageio/CONTROL b/ports/openimageio/CONTROL new file mode 100644 index 000000000..b04914c5c --- /dev/null +++ b/ports/openimageio/CONTROL @@ -0,0 +1,4 @@ +Source: openimageio +Version: 1.7.15 +Description: An library for reading and writing images, and a bunch of related classes, utilities, and application +Build-Depends: boost, libjpeg-turbo, tiff, libpng, openexr
\ No newline at end of file diff --git a/ports/openimageio/portfile.cmake b/ports/openimageio/portfile.cmake new file mode 100644 index 000000000..cc62bd58c --- /dev/null +++ b/ports/openimageio/portfile.cmake @@ -0,0 +1,53 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO OpenImageIO/oiio + REF Release-1.7.15 + SHA512 5b83961a77de36082e0a3abeac8015f9455504680d7437777524a9ac17ac7994df2a2ad1af86a884cf17c1afcd71a36a30e24711cba8d8a30511c05e36d7fadc + HEAD_REF master +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(BUILDSTATIC ON) + set(LINKSTATIC ON) +else() + set(BUILDSTATIC OFF) + set(LINKSTATIC OFF) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DOIIO_BUILD_TOOLS=OFF + -DOIIO_BUILD_TESTS=OFF + -DHIDE_SYMBOLS=ON + -DUSE_FFMPEG=OFF + -DUSE_FIELD3D=OFF + -DUSE_FREETYPE=OFF + -DUSE_GIF=OFF + -DUSE_LIBRAW=OFF + -DUSE_NUKE=OFF + -DUSE_OCIO=OFF + -DUSE_OPENCV=OFF + -DUSE_OPENJPEG=OFF + -DUSE_PTEX=OFF + -DUSE_PYTHON=OFF + -DUSE_QT=OFF + -DBUILDSTATIC=${BUILDSTATIC} + -DLINKSTATIC=${LINKSTATIC} +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +# Clean +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/doc) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openimageio) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/openimageio/LICENSE ${CURRENT_PACKAGES_DIR}/share/openimageio/copyright) diff --git a/ports/protobuf/CONTROL b/ports/protobuf/CONTROL index 43e4ad1e8..2ba75ed23 100644 --- a/ports/protobuf/CONTROL +++ b/ports/protobuf/CONTROL @@ -1,4 +1,4 @@ Source: protobuf -Version: 3.3.0-1 +Version: 3.3.0-2 Build-Depends: zlib Description: Protocol Buffers - Google's data interchange format
\ No newline at end of file diff --git a/ports/protobuf/portfile.cmake b/ports/protobuf/portfile.cmake index 852086ff5..52574ecee 100644 --- a/ports/protobuf/portfile.cmake +++ b/ports/protobuf/portfile.cmake @@ -85,6 +85,16 @@ else() protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/bin/protoc.exe) endif() +foreach(FILE ${CURRENT_PACKAGES_DIR}/include/google/protobuf/arena.h ${CURRENT_PACKAGES_DIR}/include/google/protobuf/stubs/port.h) + file(READ ${FILE} _contents) + if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + string(REPLACE "defined(PROTOBUF_USE_DLLS)" "1" _contents ${_contents}) + else() + string(REPLACE "defined(PROTOBUF_USE_DLLS)" "0" _contents ${_contents}) + endif() + file(WRITE ${FILE} ${_contents}) +endforeach() + file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/protobuf RENAME copyright) file(INSTALL ${TOOL_PATH}/bin/protoc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools) vcpkg_copy_pdbs() diff --git a/ports/qscintilla/CONTROL b/ports/qscintilla/CONTROL index bcdde0e37..22a30137c 100644 --- a/ports/qscintilla/CONTROL +++ b/ports/qscintilla/CONTROL @@ -1,4 +1,4 @@ Source: qscintilla -Version: 2.10 -Description: QScintilla is a port to Qt of the Scintilla editing component. Features syntax highlighting, code-completion and much more (Barebone build without python bindings (missing dependeny PyQt)) +Version: 2.10-1 +Description: QScintilla is a port to Qt of the Scintilla editing component. Features syntax highlighting, code-completion and much more (Barebone build without python bindings (missing dependeny PyQt) and without QtDesigner plugin) Build-Depends: qt5 diff --git a/ports/qscintilla/portfile.cmake b/ports/qscintilla/portfile.cmake index 047868ee8..a03ecb7db 100644 --- a/ports/qscintilla/portfile.cmake +++ b/ports/qscintilla/portfile.cmake @@ -25,42 +25,57 @@ vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON_PATH ${PYTHON3} DIRECTORY) SET(ENV{PATH} "${PYTHON_PATH};$ENV{PATH}") +set(BUILD_OPTIONS + "${SOURCE_PATH}/Qt4Qt5/qscintilla.pro" + CONFIG+=build_all + CONFIG-=hide_symbols +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(BUILD_OPTIONS + ${BUILD_OPTIONS} + CONFIG+=staticlib + ) +endif() + vcpkg_configure_qmake( SOURCE_PATH "${SOURCE_PATH}/Qt4Qt5" OPTIONS - CONFIG+=build_all - CONFIG-=hide_symbols + ${BUILD_OPTIONS} ) vcpkg_build_qmake() -# Install following vcpkg conventions (following qwt portfile) set(BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) -file(GLOB HEADER_FILES ${SOURCE_PATH}/include/*) -file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/qscintilla) +file(GLOB HEADER_FILES ${SOURCE_PATH}/Qt4Qt5/Qsci/*) +file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/Qsci) file(INSTALL ${BUILD_DIR}/release/qscintilla2_qt5.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib + RENAME qscintilla2.lib ) file(INSTALL ${BUILD_DIR}/debug/qscintilla2_qt5.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + RENAME qscintilla2.lib ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL - ${BUILD_DIR}/release/qscintilla2_qt5.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/bin + file(INSTALL + ${BUILD_DIR}/release/qscintilla2_qt5.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/bin ) file(INSTALL ${BUILD_DIR}/debug/qscintilla2_qt5.dll - ${BUILD_DIR}/debug/qscintilla2_qt5.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin ) + +vcpkg_copy_pdbs() + endif() # Handle copyright diff --git a/ports/qt5/portfile.cmake b/ports/qt5/portfile.cmake index cf127bf1b..a76186256 100644 --- a/ports/qt5/portfile.cmake +++ b/ports/qt5/portfile.cmake @@ -7,6 +7,10 @@ if(BUILDTREES_PATH_LENGTH GREATER 27) ) endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + message(FATAL_ERROR "Qt5 doesn't currently support static builds. Please use a dynamic triplet instead.") +endif() + list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) include(configure_qt) include(install_qt) diff --git a/ports/rocksdb/CONTROL b/ports/rocksdb/CONTROL new file mode 100644 index 000000000..2efbda7c3 --- /dev/null +++ b/ports/rocksdb/CONTROL @@ -0,0 +1,4 @@ +Source: rocksdb +Version: 2017-06-28-18c63af6ef2b9f014c404b88488ae52e6fead03c +Description: A library that provides an embeddable, persistent key-value store for fast storage +Build-Depends: snappy, lz4, gflags, zlib, gtest diff --git a/ports/rocksdb/fix-building-both-static-and-shared.patch b/ports/rocksdb/fix-building-both-static-and-shared.patch new file mode 100644 index 000000000..c9742450b --- /dev/null +++ b/ports/rocksdb/fix-building-both-static-and-shared.patch @@ -0,0 +1,91 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cbbde8e..cb19649 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -315,10 +315,13 @@ endif() + + include_directories(${PROJECT_SOURCE_DIR}) + include_directories(${PROJECT_SOURCE_DIR}/include) +-include_directories(SYSTEM ${PROJECT_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src) ++ + find_package(Threads REQUIRED) + +-add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest) ++if(BUILD_TEST) ++ include_directories(SYSTEM ${PROJECT_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src) ++ add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest) ++endif() + + # Main library source code + +@@ -574,22 +577,28 @@ if(WITH_LIBRADOS) + list(APPEND THIRDPARTY_LIBS rados) + endif() + +-add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES}) +-target_link_libraries(${ROCKSDB_STATIC_LIB} ++if(NOT BUILD_SHARED_LIBS) ++ add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES}) ++ target_link_libraries(${ROCKSDB_STATIC_LIB} + ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) +- +-if(WIN32) +- add_library(${ROCKSDB_IMPORT_LIB} SHARED ${SOURCES}) +- target_link_libraries(${ROCKSDB_IMPORT_LIB} +- ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) +- set_target_properties(${ROCKSDB_IMPORT_LIB} PROPERTIES +- COMPILE_DEFINITIONS "ROCKSDB_DLL;ROCKSDB_LIBRARY_EXPORTS") + if(MSVC) + set_target_properties(${ROCKSDB_STATIC_LIB} PROPERTIES +- COMPILE_FLAGS "/Fd${CMAKE_CFG_INTDIR}/${ROCKSDB_STATIC_LIB}.pdb") ++ COMPILE_FLAGS "/Fd${CMAKE_CFG_INTDIR}/${ROCKSDB_STATIC_LIB}.pdb") ++ endif() ++ set(INSTALL_TARGETS ${INSTALL_TARGETS} ${ROCKSDB_STATIC_LIB}) ++else() ++ if(WIN32) ++ add_library(${ROCKSDB_IMPORT_LIB} SHARED ${SOURCES}) ++ target_link_libraries(${ROCKSDB_IMPORT_LIB} ++ ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) + set_target_properties(${ROCKSDB_IMPORT_LIB} PROPERTIES ++ COMPILE_DEFINITIONS "ROCKSDB_DLL;ROCKSDB_LIBRARY_EXPORTS") ++ if(MSVC) ++ set_target_properties(${ROCKSDB_IMPORT_LIB} PROPERTIES + COMPILE_FLAGS "/Fd${CMAKE_CFG_INTDIR}/${ROCKSDB_IMPORT_LIB}.pdb") ++ endif() + endif() ++ set(INSTALL_TARGETS ${INSTALL_TARGETS} ${ROCKSDB_IMPORT_LIB}) + endif() + + option(WITH_JNI "build with JNI" OFF) +@@ -600,6 +609,7 @@ else() + message(STATUS "JNI library is disabled") + endif() + ++if(BUILD_TEST) + set(TESTS + cache/cache_test.cc + cache/lru_cache_test.cc +@@ -810,6 +820,7 @@ foreach(sourcefile ${C_TEST_EXES}) + add_dependencies(check ${exename}${ARTIFACT_SUFFIX}) + endforeach(sourcefile ${C_TEST_EXES}) + add_subdirectory(tools) ++endif() + + # Installation and packaging for Linux + if(NOT WIN32) +@@ -819,4 +830,15 @@ install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/rocksdb/" + COMPONENT devel + DESTINATION include/rocksdb) + set(CMAKE_INSTALL_PREFIX /usr) ++else() ++ install( ++ TARGETS ${INSTALL_TARGETS} ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ ) ++endif() ++ ++if(NOT DISABLE_INSTALL_HEADERS) ++ install(DIRECTORY "include/rocksdb/" DESTINATION include/rocksdb) + endif() diff --git a/ports/rocksdb/fix-third-party-deps.patch b/ports/rocksdb/fix-third-party-deps.patch new file mode 100644 index 000000000..7f832d158 --- /dev/null +++ b/ports/rocksdb/fix-third-party-deps.patch @@ -0,0 +1,64 @@ +diff --git a/thirdparty.inc b/thirdparty.inc +index 9fffd9b..2e1ea9d 100644 +--- a/thirdparty.inc ++++ b/thirdparty.inc +@@ -21,10 +21,10 @@ set (THIRDPARTY_LIBS "") # Initialization, don't touch + # + # Edit these 4 lines to define paths to GFLAGS + # +-set(GFLAGS_HOME $ENV{THIRDPARTY_HOME}/Gflags.Library) +-set(GFLAGS_INCLUDE ${GFLAGS_HOME}/inc/include) +-set(GFLAGS_LIB_DEBUG ${GFLAGS_HOME}/bin/debug/amd64/gflags.lib) +-set(GFLAGS_LIB_RELEASE ${GFLAGS_HOME}/bin/retail/amd64/gflags.lib) ++set(GFLAGS_HOME ${CURRENT_INSTALLED_DIR}) ++set(GFLAGS_INCLUDE ${GFLAGS_HOME}/include) ++set(GFLAGS_LIB_DEBUG ${GFLAGS_HOME}/debug/lib/gflags.lib) ++set(GFLAGS_LIB_RELEASE ${GFLAGS_HOME}/lib/gflags.lib) + + # ================================================== GFLAGS ================================================== + # +@@ -65,10 +65,10 @@ endif () + # + # Edit these 4 lines to define paths to Snappy + # +-set(SNAPPY_HOME $ENV{THIRDPARTY_HOME}/Snappy.Library) +-set(SNAPPY_INCLUDE ${SNAPPY_HOME}/inc/inc) +-set(SNAPPY_LIB_DEBUG ${SNAPPY_HOME}/bin/debug/amd64/snappy.lib) +-set(SNAPPY_LIB_RELEASE ${SNAPPY_HOME}/bin/retail/amd64/snappy.lib) ++set(SNAPPY_HOME ${CURRENT_INSTALLED_DIR}) ++set(SNAPPY_INCLUDE ${SNAPPY_HOME}/include) ++set(SNAPPY_LIB_DEBUG ${SNAPPY_HOME}/debug/lib/snappy.lib) ++set(SNAPPY_LIB_RELEASE ${SNAPPY_HOME}/lib/snappy.lib) + + # + # Don't touch these lines +@@ -108,10 +108,10 @@ endif () + # + # Edit these 4 lines to define paths to LZ4 + # +-set(LZ4_HOME $ENV{THIRDPARTY_HOME}/LZ4.Library) +-set(LZ4_INCLUDE ${LZ4_HOME}/inc/include) +-set(LZ4_LIB_DEBUG ${LZ4_HOME}/bin/debug/amd64/lz4.lib) +-set(LZ4_LIB_RELEASE ${LZ4_HOME}/bin/retail/amd64/lz4.lib) ++set(LZ4_HOME ${CURRENT_INSTALLED_DIR}) ++set(LZ4_INCLUDE ${LZ4_HOME}/include) ++set(LZ4_LIB_DEBUG ${LZ4_HOME}/debug/lib/lz4.lib) ++set(LZ4_LIB_RELEASE ${LZ4_HOME}/lib/lz4.lib) + + # + # Don't touch these lines +@@ -151,10 +151,10 @@ endif () + # + # Edit these 4 lines to define paths to ZLIB + # +-set(ZLIB_HOME $ENV{THIRDPARTY_HOME}/ZLIB.Library) +-set(ZLIB_INCLUDE ${ZLIB_HOME}/inc/include) +-set(ZLIB_LIB_DEBUG ${ZLIB_HOME}/bin/debug/amd64/zlib.lib) +-set(ZLIB_LIB_RELEASE ${ZLIB_HOME}/bin/retail/amd64/zlib.lib) ++set(ZLIB_HOME ${CURRENT_INSTALLED_DIR}) ++set(ZLIB_INCLUDE ${ZLIB_HOME}/include) ++set(ZLIB_LIB_DEBUG ${ZLIB_HOME}/debug/lib/zlibd.lib) ++set(ZLIB_LIB_RELEASE ${ZLIB_HOME}/lib/zlib.lib) + + # + # Don't touch these lines diff --git a/ports/rocksdb/portfile.cmake b/ports/rocksdb/portfile.cmake new file mode 100644 index 000000000..a12ba4ca5 --- /dev/null +++ b/ports/rocksdb/portfile.cmake @@ -0,0 +1,51 @@ +include(vcpkg_common_functions) + +find_program(GIT git) + +if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + message(FATAL_ERROR "Rocksdb only supports x64") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO facebook/rocksdb + REF 18c63af6ef2b9f014c404b88488ae52e6fead03c + SHA512 8dd4d27768feba6d9ddb61debe6cae21fa6d25c27dc347cba3b28cc39d2c1fa860dba7c8adedba4b40883eccccca190b60941cf958855c6b70ec5a3b96c20ac5 + HEAD_REF master +) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + "${CMAKE_CURRENT_LIST_DIR}/fix-building-both-static-and-shared.patch" + "${CMAKE_CURRENT_LIST_DIR}/fix-third-party-deps.patch" +) + + +if(VCPKG_CRT_LINKAGE STREQUAL static) + set(WITH_MD_LIBRARY OFF) +else() + set(WITH_MD_LIBRARY ON) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DGIT_EXECUTABLE=${GIT} + -DGFLAGS=1 + -DSNAPPY=1 + -DLZ4=1 + -DZLIB=1 + -DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR} + -DFAIL_ON_WARNINGS=OFF + -DWITH_MD_LIBRARY=${WITH_MD_LIBRARY} + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON +) + +vcpkg_install_cmake(DISABLE_PARALLEL) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/rocksdb RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/sdl2-gfx/CMakeLists.txt b/ports/sdl2-gfx/CMakeLists.txt new file mode 100644 index 000000000..d0a9f0c82 --- /dev/null +++ b/ports/sdl2-gfx/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.0) +project(SDL2_GFX C) + +find_path(SDL_INCLUDE_DIR SDL2/SDL.h) +find_library(SDL_LIBRARY SDL2) + +# builtin formats +set(SDL_GFX_DEFINES WIN32) +if(BUILD_SHARED_LIBS) + list(APPEND SDL_GFX_DEFINES DLL_EXPORT) +endif() + +add_library(SDL2_gfx + SDL2_framerate.c + SDL2_gfxPrimitives.c + SDL2_imageFilter.c + SDL2_rotozoom.c) + +target_compile_definitions(SDL2_gfx PRIVATE ${SDL_GFX_DEFINES}) +target_include_directories(SDL2_gfx PRIVATE ${SDL_INCLUDE_DIR}/SDL2) +target_link_libraries(SDL2_gfx PRIVATE ${SDL_LIBRARY}) + +install(TARGETS SDL2_gfx + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib) + +if(NOT SDL_GFX_SKIP_HEADERS) + install(FILES SDL2_framerate.h SDL2_gfxPrimitives.h SDL2_imageFilter.h SDL2_rotozoom.h SDL2_gfxPrimitives_font.h DESTINATION include/SDL2) +endif() diff --git a/ports/sdl2-gfx/CONTROL b/ports/sdl2-gfx/CONTROL new file mode 100644 index 000000000..799306235 --- /dev/null +++ b/ports/sdl2-gfx/CONTROL @@ -0,0 +1,4 @@ +Source: sdl2-gfx +Version: 1.0.3-1 +Build-Depends: sdl2 +Description: Graphics primitives (line, circle, rectangle etc.) with AA support, rotozoomer and other drawing related support functions wrapped up in a C based add-on library for the Simple Direct Media (SDL) cross-platform API layer. diff --git a/ports/sdl2-gfx/portfile.cmake b/ports/sdl2-gfx/portfile.cmake new file mode 100644 index 000000000..f7c2d63f6 --- /dev/null +++ b/ports/sdl2-gfx/portfile.cmake @@ -0,0 +1,22 @@ +include(vcpkg_common_functions) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2_gfx-1.0.3) +vcpkg_download_distfile(ARCHIVE + URLS "http://www.ferzkopp.net/Software/SDL2_gfx/SDL2_gfx-1.0.3.zip" + FILENAME "SDL2_gfx-1.0.3.zip" + SHA512 f68485f71acf979aba68f3575f260fbc95a59496a9639498bcff80ffbfdb157c82a44bb5a0b0e3b1e157376ea4ff2f196f50466e6f24d850f94cfe7c24b1a497 +) +vcpkg_extract_source_archive(${ARCHIVE}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS_DEBUG -DSDL_GFX_SKIP_HEADERS=1 +) + +vcpkg_install_cmake() + +# Handle copyright +file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-gfx) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/sdl2-gfx/COPYING ${CURRENT_PACKAGES_DIR}/share/sdl2-gfx/copyright) + +vcpkg_copy_pdbs()
\ No newline at end of file diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL index d963451ce..dc00025bf 100644 --- a/ports/vtk/CONTROL +++ b/ports/vtk/CONTROL @@ -1,4 +1,4 @@ Source: vtk -Version: 7.1.0 +Version: 7.1.1 Description: Software system for 3D computer graphics, image processing, and visualization Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, qt5, msmpi diff --git a/ports/vtk/fix-findhdf5-shared.patch b/ports/vtk/fix-findhdf5-shared.patch new file mode 100644 index 000000000..762a9ab07 --- /dev/null +++ b/ports/vtk/fix-findhdf5-shared.patch @@ -0,0 +1,20 @@ +diff --git a/CMake/FindHDF5.cmake b/CMake/FindHDF5.cmake +index 6d558e39b1..9511e9a1ad 100644 +--- a/CMake/FindHDF5.cmake ++++ b/CMake/FindHDF5.cmake +@@ -3,11 +3,11 @@ + # (BUG #0014363). + + # include the default FindHDF5.cmake. +-if(CMAKE_VERSION VERSION_LESS 3.6.1) ++#if(CMAKE_VERSION VERSION_LESS 3.6.1) + include(${CMAKE_CURRENT_LIST_DIR}/NewCMake/FindHDF5.cmake) +-else() +- include(${CMAKE_ROOT}/Modules/FindHDF5.cmake) +-endif() ++#else() ++# include(${CMAKE_ROOT}/Modules/FindHDF5.cmake) ++#endif() + + if(HDF5_FOUND AND (HDF5_IS_PARALLEL OR HDF5_ENABLE_PARALLEL)) + include(vtkMPI) diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index 611023a61..16854513b 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -1,9 +1,9 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/VTK-7.1.0) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/VTK-7.1.1) vcpkg_download_distfile(ARCHIVE - URLS "http://www.vtk.org/files/release/7.1/VTK-7.1.0.tar.gz" - FILENAME "VTK-7.1.0.tar.gz" - SHA512 83f0c9291cd2bc517a4bc449ad28a1d77e7ece169e846c7beab0b1140b9ef4b7bad30e3fa6e5a59826a707df78e2e336e07fa8bd30cf7498096ee80feef16534 + URLS "http://www.vtk.org/files/release/7.1/VTK-7.1.1.tar.gz" + FILENAME "VTK-7.1.1.tar.gz" + SHA512 34a068801fe45f98325e5334d2569fc9b15ed38620386f1b5b860c9735e5fb8510953b50a3340d3ef9795e22fecf798c25bf750215b2ff1ff1eb7a1ecd87b623 ) vcpkg_extract_source_archive(${ARCHIVE}) @@ -14,6 +14,7 @@ vcpkg_apply_patches( ${CMAKE_CURRENT_LIST_DIR}/transfer-hdf5-definitions.patch ${CMAKE_CURRENT_LIST_DIR}/netcdf-use-hdf5-definitions.patch ${CMAKE_CURRENT_LIST_DIR}/dont-define-ssize_t.patch + ${CMAKE_CURRENT_LIST_DIR}/fix-findhdf5-shared.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake index 6fa096cbd..eaf3bb966 100644 --- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake +++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake @@ -117,6 +117,10 @@ function(vcpkg_fixup_cmake_targets) foreach(MAIN_CONFIG ${MAIN_CONFIGS}) file(READ ${MAIN_CONFIG} _contents) string(REGEX REPLACE + "get_filename_component\\(_IMPORT_PREFIX \"\\\${CMAKE_CURRENT_LIST_FILE}\" PATH\\)(\nget_filename_component\\(_IMPORT_PREFIX \"\\\${_IMPORT_PREFIX}\" PATH\\))*" + "get_filename_component(_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" + _contents "${_contents}") + string(REGEX REPLACE "get_filename_component\\(PACKAGE_PREFIX_DIR \"\\\${CMAKE_CURRENT_LIST_DIR}/\\.\\./(\\.\\./)*\" ABSOLUTE\\)" "get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../../\" ABSOLUTE)" _contents "${_contents}") diff --git a/toolsrc/src/PostBuildLint.cpp b/toolsrc/src/PostBuildLint.cpp index 82d50a68f..8e11ae5b1 100644 --- a/toolsrc/src/PostBuildLint.cpp +++ b/toolsrc/src/PostBuildLint.cpp @@ -775,15 +775,15 @@ namespace vcpkg::PostBuildLint error_count += check_lib_architecture(pre_build_info.target_architecture, libs); } + std::vector<fs::path> debug_dlls = fs.get_files_recursive(debug_bin_dir); + Util::unstable_keep_if(debug_dlls, has_extension_pred(fs, ".dll")); + std::vector<fs::path> release_dlls = fs.get_files_recursive(release_bin_dir); + Util::unstable_keep_if(release_dlls, has_extension_pred(fs, ".dll")); + switch (build_info.library_linkage) { case Build::LinkageType::DYNAMIC: { - std::vector<fs::path> debug_dlls = fs.get_files_recursive(debug_bin_dir); - Util::unstable_keep_if(debug_dlls, has_extension_pred(fs, ".dll")); - std::vector<fs::path> release_dlls = fs.get_files_recursive(release_bin_dir); - Util::unstable_keep_if(release_dlls, has_extension_pred(fs, ".dll")); - error_count += check_matching_debug_and_release_binaries(debug_dlls, release_dlls); error_count += check_lib_files_are_available_if_dlls_are_available( @@ -804,8 +804,8 @@ namespace vcpkg::PostBuildLint } case Build::LinkageType::STATIC: { - std::vector<fs::path> dlls = fs.get_files_recursive(package_dir); - Util::unstable_keep_if(dlls, has_extension_pred(fs, ".dll")); + auto dlls = release_dlls; + dlls.insert(dlls.end(), debug_dlls.begin(), debug_dlls.end()); error_count += check_no_dlls_present(dlls); error_count += check_bin_folders_are_not_present_in_static_build(fs, package_dir); |
