aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Lebedev <lebdron@gmail.com>2019-05-19 14:41:03 +0300
committerAndrei Lebedev <lebdron@gmail.com>2019-05-19 14:41:03 +0300
commitb395438c791ca9f78e383a1d571525eee785e67c (patch)
tree4aaba68a88a95633f77e944a36081441b3daef6a
parent5495513ef45eb97d8453d15007714f1b4d3391f9 (diff)
parent030e74940cc40db2415700e87e3b2c8aeeee8108 (diff)
downloadvcpkg-b395438c791ca9f78e383a1d571525eee785e67c.tar.gz
vcpkg-b395438c791ca9f78e383a1d571525eee785e67c.zip
Merge branch 'master' into openssl-unix-dynamic
-rw-r--r--ports/aliyun-oss-c-sdk/CONTROL4
-rw-r--r--ports/aliyun-oss-c-sdk/patch.patch12
-rw-r--r--ports/aliyun-oss-c-sdk/portfile.cmake26
-rw-r--r--ports/clockutils/CONTROL2
-rw-r--r--ports/clockutils/portfile.cmake1
-rw-r--r--ports/flann/CONTROL3
-rw-r--r--ports/flann/export-all-symbols-of-flann-cpp.patch12
-rw-r--r--ports/flann/fix_targets.patch243
-rw-r--r--ports/flann/flann-linux.patch22
-rw-r--r--ports/flann/no-write-src-dir.patch19
-rw-r--r--ports/flann/portfile.cmake37
-rw-r--r--ports/freerdp/CONTROL2
-rw-r--r--ports/freerdp/portfile.cmake1
-rw-r--r--ports/fuzzylite/CONTROL2
-rw-r--r--ports/fuzzylite/portfile.cmake1
-rw-r--r--ports/jbigkit/CONTROL2
-rw-r--r--ports/jbigkit/portfile.cmake1
-rw-r--r--ports/libgd/CONTROL2
-rw-r--r--ports/libgd/portfile.cmake1
-rw-r--r--ports/libodb-boost/CONTROL2
-rw-r--r--ports/libodb-boost/portfile.cmake2
-rw-r--r--ports/libodb-pgsql/CONTROL2
-rw-r--r--ports/libodb-pgsql/portfile.cmake2
-rw-r--r--ports/libodb-sqlite/CONTROL2
-rw-r--r--ports/libodb-sqlite/portfile.cmake2
-rw-r--r--ports/libodb/CONTROL2
-rw-r--r--ports/libodb/portfile.cmake2
-rw-r--r--ports/libp7-baical/CONTROL2
-rw-r--r--ports/libp7-baical/portfile.cmake1
-rw-r--r--ports/libusb-win32/CONTROL2
-rw-r--r--ports/libusb-win32/portfile.cmake1
-rw-r--r--ports/lua/CMakeLists.txt48
-rw-r--r--ports/lua/CONTROL2
-rw-r--r--ports/lua/portfile.cmake23
-rw-r--r--ports/lua/vs2015-impl-c99.patch11
-rw-r--r--ports/lz4/CMakeLists.txt46
-rw-r--r--ports/lz4/CONTROL6
-rw-r--r--ports/lz4/portfile.cmake69
-rw-r--r--ports/openblas/CONTROL2
-rw-r--r--ports/openblas/portfile.cmake5
-rw-r--r--ports/openmvg/CONTROL15
-rw-r--r--ports/openmvg/fixcmake.patch540
-rw-r--r--ports/openmvg/portfile.cmake212
-rw-r--r--ports/pcl/CONTROL2
-rw-r--r--ports/pcl/find_flann.patch15
-rw-r--r--ports/pcl/portfile.cmake11
-rw-r--r--ports/pcl/use_flann_targets.patch155
-rw-r--r--ports/pfultz2-linq/CONTROL2
-rw-r--r--ports/pfultz2-linq/fix-cmake.patch27
-rw-r--r--ports/pfultz2-linq/portfile.cmake6
-rw-r--r--ports/zopfli/CONTROL3
-rw-r--r--ports/zopfli/portfile.cmake75
-rw-r--r--scripts/buildsystems/vcpkg.cmake3
-rw-r--r--toolsrc/include/vcpkg/globalstate.h2
-rw-r--r--toolsrc/src/vcpkg.cpp9
-rw-r--r--toolsrc/src/vcpkg/build.cpp12
-rw-r--r--toolsrc/src/vcpkg/globalstate.cpp2
-rw-r--r--toolsrc/src/vcpkg/install.cpp22
-rw-r--r--toolsrc/src/vcpkg/paragraphs.cpp16
59 files changed, 1248 insertions, 508 deletions
diff --git a/ports/aliyun-oss-c-sdk/CONTROL b/ports/aliyun-oss-c-sdk/CONTROL
new file mode 100644
index 000000000..430541401
--- /dev/null
+++ b/ports/aliyun-oss-c-sdk/CONTROL
@@ -0,0 +1,4 @@
+Source: aliyun-oss-c-sdk
+Version: 3.7.1-1
+Description: Alibaba Cloud Object Storage Service (OSS) is a cloud storage service provided by Alibaba Cloud, featuring massive capacity, security, a low cost, and high reliability.
+Build-Depends: curl, apr-util
diff --git a/ports/aliyun-oss-c-sdk/patch.patch b/ports/aliyun-oss-c-sdk/patch.patch
new file mode 100644
index 000000000..31c18d897
--- /dev/null
+++ b/ports/aliyun-oss-c-sdk/patch.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0abcb93..75195a9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -150,5 +150,5 @@ INSTALL(FILES
+ oss_c_sdk/oss_xml.h
+ DESTINATION include/oss_c_sdk)
+
+-add_subdirectory(oss_c_sdk_sample)
+-add_subdirectory(oss_c_sdk_test)
++#add_subdirectory(oss_c_sdk_sample)
++#add_subdirectory(oss_c_sdk_test)
diff --git a/ports/aliyun-oss-c-sdk/portfile.cmake b/ports/aliyun-oss-c-sdk/portfile.cmake
new file mode 100644
index 000000000..2e3a2c73e
--- /dev/null
+++ b/ports/aliyun-oss-c-sdk/portfile.cmake
@@ -0,0 +1,26 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "${PORT} does not currently support UWP")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO aliyun/aliyun-oss-c-sdk
+ REF 3.7.1
+ SHA512 0c289832d87ea7fae60d0846617bc839a1529ab6d59c2bb520e2826b0374953e8078179c4043c5c85a56c38985189aa584036104a504da4cf1ea2d35a53c8fde
+ HEAD_REF master
+ PATCHES
+ patch.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
diff --git a/ports/clockutils/CONTROL b/ports/clockutils/CONTROL
index 5a3325350..37c5ec8ca 100644
--- a/ports/clockutils/CONTROL
+++ b/ports/clockutils/CONTROL
@@ -1,3 +1,3 @@
Source: clockutils
-Version: 1.1.1-3651f232c27074c4ceead169e223edf5f00247c5-2
+Version: 1.1.1-3651f232c27074c4ceead169e223edf5f00247c5-3
Description: A lightweight c++ library for commonly needed tasks. Optimized for simplicity and speed.
diff --git a/ports/clockutils/portfile.cmake b/ports/clockutils/portfile.cmake
index 28a1de440..7511158de 100644
--- a/ports/clockutils/portfile.cmake
+++ b/ports/clockutils/portfile.cmake
@@ -28,7 +28,6 @@ vcpkg_configure_cmake(
-DCLOCKUTILS_BUILD_SHARED=${SHARED_FLAG}
)
-vcpkg_build_cmake()
vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/flann/CONTROL b/ports/flann/CONTROL
index 5fdc23b2e..316ac10be 100644
--- a/ports/flann/CONTROL
+++ b/ports/flann/CONTROL
@@ -1,3 +1,4 @@
Source: flann
-Version: 1.9.1-9
+Version: jan2019
+Build-Depends: lz4
Description: Fast Library for Approximate Nearest Neighbors
diff --git a/ports/flann/export-all-symbols-of-flann-cpp.patch b/ports/flann/export-all-symbols-of-flann-cpp.patch
deleted file mode 100644
index 86f172ff3..000000000
--- a/ports/flann/export-all-symbols-of-flann-cpp.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
-index 49c53f0..b9cf76b 100644
---- a/src/cpp/CMakeLists.txt
-+++ b/src/cpp/CMakeLists.txt
-@@ -52,6 +52,7 @@ set_target_properties(flann_cpp PROPERTIES
- VERSION ${FLANN_VERSION}
- SOVERSION ${FLANN_SOVERSION}
- DEFINE_SYMBOL FLANN_EXPORTS
-+ WINDOWS_EXPORT_ALL_SYMBOLS ON
- )
-
- if (BUILD_CUDA_LIB)
diff --git a/ports/flann/fix_targets.patch b/ports/flann/fix_targets.patch
new file mode 100644
index 000000000..b9ebe7cb7
--- /dev/null
+++ b/ports/flann/fix_targets.patch
@@ -0,0 +1,243 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f4b94d2..e55195b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,9 +146,6 @@ if (BUILD_CUDA_LIB)
+ endif(CUDA_FOUND)
+ endif(BUILD_CUDA_LIB)
+
+-find_package(PkgConfig REQUIRED)
+-pkg_check_modules(LZ4 REQUIRED liblz4)
+-
+ #set the C/C++ include path to the "include" directory
+ include_directories(BEFORE ${PROJECT_SOURCE_DIR}/src/cpp)
+
+diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in
+index 6b95a71..2c95b6e 100644
+--- a/cmake/Config.cmake.in
++++ b/cmake/Config.cmake.in
+@@ -3,3 +3,5 @@
+ include("${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake")
+ check_required_components("flann")
+
++include(CMakeFindDependencyMacro)
++find_dependency(lz4)
+diff --git a/cmake/flann_utils.cmake b/cmake/flann_utils.cmake
+index afe4742..0cf8289 100644
+--- a/cmake/flann_utils.cmake
++++ b/cmake/flann_utils.cmake
+@@ -1,8 +1,7 @@
+ macro(GET_OS_INFO)
+ string(REGEX MATCH "Linux" OS_IS_LINUX ${CMAKE_SYSTEM_NAME})
+- set(FLANN_LIB_INSTALL_DIR "lib${LIB_SUFFIX}")
+- set(FLANN_INCLUDE_INSTALL_DIR
+- "include/${PROJECT_NAME_LOWER}-${FLANN_MAJOR_VERSION}.${FLANN_MINOR_VERSION}")
++ set(FLANN_LIB_INSTALL_DIR "lib")
++ set(FLANN_INCLUDE_INSTALL_DIR "include")
+ endmacro(GET_OS_INFO)
+
+
+@@ -27,7 +26,7 @@ macro(find_hdf5)
+ set( HDF5_IS_PARALLEL FALSE )
+ foreach( _dir ${HDF5_INCLUDE_DIRS} )
+ if( EXISTS "${_dir}/H5pubconf.h" )
+- file( STRINGS "${_dir}/H5pubconf.h"
++ file( STRINGS "${_dir}/H5pubconf.h"
+ HDF5_HAVE_PARALLEL_DEFINE
+ REGEX "HAVE_PARALLEL 1" )
+ if( HDF5_HAVE_PARALLEL_DEFINE )
+@@ -106,7 +105,7 @@ endmacro(flann_add_pyunit)
+
+ macro(flann_download_test_data _name _md5)
+ string(REPLACE "/" "_" _dataset_name dataset_${_name})
+-
++
+ add_custom_target(${_dataset_name}
+ COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/bin/download_checkmd5.py http://people.cs.ubc.ca/~mariusm/uploads/FLANN/datasets/${_name} ${TEST_OUTPUT_PATH}/${_name} ${_md5}
+ VERBATIM)
+diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
+index 3f4655a..918b94a 100644
+--- a/examples/CMakeLists.txt
++++ b/examples/CMakeLists.txt
+@@ -1,9 +1,10 @@
+ add_custom_target(examples ALL)
+
++find_package(lz4 REQUIRED)
+
+ if (BUILD_C_BINDINGS)
+ add_executable(flann_example_c flann_example.c)
+- target_link_libraries(flann_example_c -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state)
++ target_link_libraries(flann_example_c lz4::lz4)
+ target_link_libraries(flann_example_c flann)
+ set_target_properties(flann_example_c PROPERTIES COMPILE_FLAGS -std=c99)
+
+@@ -15,7 +16,7 @@ if (HDF5_FOUND)
+ include_directories(${HDF5_INCLUDE_DIR})
+
+ add_executable(flann_example_cpp flann_example.cpp)
+- target_link_libraries(flann_example_cpp -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state)
++ target_link_libraries(flann_example_cpp lz4::lz4)
+ target_link_libraries(flann_example_cpp ${HDF5_LIBRARIES} flann_cpp)
+ if (HDF5_IS_PARALLEL)
+ target_link_libraries(flann_example_cpp ${MPI_LIBRARIES})
+@@ -27,7 +28,7 @@ if (HDF5_FOUND)
+
+ if (USE_MPI AND HDF5_IS_PARALLEL)
+ add_executable(flann_example_mpi flann_example_mpi.cpp)
+- target_link_libraries(flann_example_mpi -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state)
++ target_link_libraries(flann_example_mpi lz4::lz4)
+ target_link_libraries(flann_example_mpi flann_cpp ${HDF5_LIBRARIES} ${MPI_LIBRARIES} ${Boost_LIBRARIES})
+
+ add_dependencies(examples flann_example_mpi)
+@@ -36,7 +37,3 @@ if (HDF5_FOUND)
+ else()
+ message("hdf5 library not found, not compiling flann_example.cpp")
+ endif()
+-
+-
+-
+-
+diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
+index b30f3da..1535d37 100644
+--- a/src/cpp/CMakeLists.txt
++++ b/src/cpp/CMakeLists.txt
+@@ -8,12 +8,13 @@ file(GLOB_RECURSE C_SOURCES flann.cpp)
+ file(GLOB_RECURSE CPP_SOURCES flann_cpp.cpp)
+ file(GLOB_RECURSE CU_SOURCES *.cu)
+
+-add_library(flann_cpp_s STATIC ${CPP_SOURCES})
+-target_link_libraries(flann_cpp_s ${LZ4_LIBRARIES})
+-if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
+- set_target_properties(flann_cpp_s PROPERTIES COMPILE_FLAGS -fPIC)
+-endif()
+-set_property(TARGET flann_cpp_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC FLANN_USE_CUDA)
++find_package(lz4 REQUIRED)
++
++set(CMAKE_POSITION_INDEPENDENT_CODE ON)
++
++add_library(flann_cpp STATIC ${CPP_SOURCES})
++target_link_libraries(flann_cpp PRIVATE lz4::lz4)
++set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_STATIC)
+
+ if (BUILD_CUDA_LIB)
+ SET(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};-DFLANN_USE_CUDA")
+@@ -25,48 +26,11 @@ if (BUILD_CUDA_LIB)
+ else()
+ set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};" )
+ endif()
+- cuda_add_library(flann_cuda_s STATIC ${CU_SOURCES})
+- set_property(TARGET flann_cuda_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC)
+-endif()
+-
+-if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC)
+- add_library(flann_cpp SHARED "")
+- set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX)
+- target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive)
+-
+- if (BUILD_CUDA_LIB)
+- cuda_add_library(flann_cuda SHARED "")
+- set_target_properties(flann_cuda PROPERTIES LINKER_LANGUAGE CXX)
+- target_link_libraries(flann_cuda -Wl,-whole-archive flann_cuda_s -Wl,-no-whole-archive)
+- set_property(TARGET flann_cpp_s PROPERTY COMPILE_DEFINITIONS FLANN_USE_CUDA)
+- # target_link_libraries(flann_cuda cudpp_x86_64)
+- endif()
+-else()
+- add_library(flann_cpp SHARED ${CPP_SOURCES})
+- target_link_libraries(flann_cpp -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state)
+- # export lz4 headers, so that MSVC to creates flann_cpp.lib
+- set_target_properties(flann_cpp PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS YES)
+- if (BUILD_CUDA_LIB)
+- cuda_add_library(flann_cuda SHARED ${CPP_SOURCES})
+- set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_USE_CUDA)
+- endif()
+-endif()
+-
+-set_target_properties(flann_cpp PROPERTIES
+- VERSION ${FLANN_VERSION}
+- SOVERSION ${FLANN_SOVERSION}
+- DEFINE_SYMBOL FLANN_EXPORTS
+-)
+-
+-if (BUILD_CUDA_LIB)
+- set_target_properties(flann_cuda PROPERTIES
+- VERSION ${FLANN_VERSION}
+- SOVERSION ${FLANN_SOVERSION}
+- DEFINE_SYMBOL FLANN_EXPORTS
+- )
++ cuda_add_library(flann_cuda STATIC ${CU_SOURCES})
++ set_property(TARGET flann_cuda PROPERTY COMPILE_DEFINITIONS FLANN_STATIC)
++ set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_USE_CUDA)
+ endif()
+
+-
+ if (USE_MPI AND HDF5_IS_PARALLEL)
+ add_executable(flann_mpi_server flann/mpi/flann_mpi_server.cpp)
+ target_link_libraries(flann_mpi_server flann_cpp ${HDF5_LIBRARIES} ${MPI_LIBRARIES} ${Boost_LIBRARIES})
+@@ -80,31 +44,9 @@ endif()
+
+
+ if (BUILD_C_BINDINGS)
+- add_library(flann_s STATIC ${C_SOURCES})
+- target_link_libraries(flann_cpp -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state)
+- if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
+- set_target_properties(flann_s PROPERTIES COMPILE_FLAGS -fPIC)
+- endif()
+- set_property(TARGET flann_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC)
+-
+- if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC)
+- add_library(flann SHARED "")
+- set_target_properties(flann PROPERTIES LINKER_LANGUAGE CXX)
+- target_link_libraries(flann -Wl,-whole-archive flann_s -Wl,-no-whole-archive)
+- else()
+- add_library(flann SHARED ${C_SOURCES})
+- target_link_libraries(flann_cpp -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state)
+-
+- if(MINGW AND OPENMP_FOUND)
+- target_link_libraries(flann gomp)
+- endif()
+- endif()
+-
+- set_target_properties(flann PROPERTIES
+- VERSION ${FLANN_VERSION}
+- SOVERSION ${FLANN_SOVERSION}
+- DEFINE_SYMBOL FLANN_EXPORTS
+- )
++ add_library(flann STATIC ${C_SOURCES})
++ target_link_libraries(flann PRIVATE lz4::lz4)
++ set_property(TARGET flann PROPERTY COMPILE_DEFINITIONS FLANN_STATIC)
+ endif()
+
+ if(WIN32)
+@@ -118,9 +60,9 @@ endif(WIN32)
+
+
+ install (
+- TARGETS flann_cpp flann_cpp_s
++ TARGETS flann_cpp
+ EXPORT ${targets_export_name}
+- INCLUDES DESTINATION include
++ INCLUDES DESTINATION ${FLANN_INCLUDE_INSTALL_DIR}
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR}
+ ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR}
+@@ -128,9 +70,9 @@ install (
+
+ if (BUILD_CUDA_LIB)
+ install (
+- TARGETS flann_cuda flann_cuda_s
++ TARGETS flann_cuda
+ EXPORT ${targets_export_name}
+- INCLUDES DESTINATION include
++ INCLUDES DESTINATION ${FLANN_INCLUDE_INSTALL_DIR}
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR}
+ ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR}
+@@ -139,7 +81,7 @@ endif()
+
+ if (BUILD_C_BINDINGS)
+ install (
+- TARGETS flann flann_s
++ TARGETS flann
+ EXPORT ${targets_export_name}
+ INCLUDES DESTINATION include
+ RUNTIME DESTINATION bin
diff --git a/ports/flann/flann-linux.patch b/ports/flann/flann-linux.patch
deleted file mode 100644
index da95aa7a2..000000000
--- a/ports/flann/flann-linux.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/cpp/CMakeLists b/src/cpp/CMakeLists.txt
-index e6c8ae06..c15a8e90 100644
---- a/src/cpp/CMakeLists.txt
-+++ b/src/cpp/CMakeLists.txt
-@@ -35,7 +35,7 @@ if (BUILD_CUDA_LIB)
- endif()
-
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC)
-- add_library(flann_cpp SHARED "")
-+ add_library(flann_cpp SHARED ${CPP_SOURCES})
- set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX)
- target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive)
-
-@@ -90,7 +90,7 @@ if (BUILD_C_BINDINGS)
- set_property(TARGET flann_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC)
-
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC)
-- add_library(flann SHARED "")
-+ add_library(flann SHARED ${C_SOURCES})
- set_target_properties(flann PROPERTIES LINKER_LANGUAGE CXX)
- target_link_libraries(flann -Wl,-whole-archive flann_s -Wl,-no-whole-archive)
- else()
diff --git a/ports/flann/no-write-src-dir.patch b/ports/flann/no-write-src-dir.patch
deleted file mode 100644
index c44c869cc..000000000
--- a/ports/flann/no-write-src-dir.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
-index eb84c8a..e6c8ae0 100644
---- a/src/cpp/CMakeLists.txt
-+++ b/src/cpp/CMakeLists.txt
-@@ -2,7 +2,13 @@
-
- add_definitions(-D_FLANN_VERSION=${FLANN_VERSION})
-
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/flann/config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/flann/config.h)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/flann/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/flann/config.h)
-+include_directories(${CMAKE_CURRENT_BINARY_DIR}/flann)
-+
-+install (
-+ FILES ${CMAKE_CURRENT_BINARY_DIR}/flann/config.h
-+ DESTINATION include/flann
-+)
-
- file(GLOB_RECURSE C_SOURCES flann.cpp lz4.c lz4hc.c)
- file(GLOB_RECURSE CPP_SOURCES flann_cpp.cpp lz4.c lz4hc.c)
diff --git a/ports/flann/portfile.cmake b/ports/flann/portfile.cmake
index f8c6b96d4..17770bd29 100644
--- a/ports/flann/portfile.cmake
+++ b/ports/flann/portfile.cmake
@@ -1,15 +1,17 @@
include(vcpkg_common_functions)
+#the port uses inside the CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS, which is discouraged by vcpkg.
+#Since it's its author choice, we should not disallow it, but unfortunately looks like it's broken, so we block it anyway...
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mariusmuja/flann
- REF 1.9.1
- SHA512 0da78bb14111013318160dd3dee1f93eb6ed077b18439fd6496017b62a8a6070cc859cfb3e08dad4c614e48d9dc1da5f7c4a21726ee45896d360506da074a6f7
+ REF aa40936816f4feaa714d3a09f92a495da017d95c
+ SHA512 f6f2e75f4ce4bc4bc4cc1feab27fe683b8a5f9f5dcea35de4df5136a683b5dff5e68776008821a16ccf1a52a9807cb053c0062deba4fe121948248acd52864ef
HEAD_REF master
PATCHES
- export-all-symbols-of-flann-cpp.patch
- no-write-src-dir.patch
- flann-linux.patch
+ fix_targets.patch
)
vcpkg_configure_cmake(
@@ -21,36 +23,15 @@ vcpkg_configure_cmake(
-DBUILD_DOC=OFF
-DBUILD_PYTHON_BINDINGS=OFF
-DBUILD_MATLAB_BINDINGS=OFF
- -DCMAKE_DEBUG_POSTFIX=-gd
+ -DCMAKE_DEBUG_POSTFIX=d
-DHDF5_NO_FIND_PACKAGE_CONFIG_FILE=ON
)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- set(LIB_PREFIX "")
- set(LIB_SUFFIX ".lib")
-else()
- set(LIB_PREFIX "lib")
- set(LIB_SUFFIX ".a")
-endif()
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/${LIB_PREFIX}flann${LIB_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/lib/${LIB_PREFIX}flann-gd${LIB_SUFFIX})
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/${LIB_PREFIX}flann_cpp${LIB_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/lib/${LIB_PREFIX}flann_cpp-gd${LIB_SUFFIX})
-
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/${LIB_PREFIX}flann_s${LIB_SUFFIX} ${CURRENT_PACKAGES_DIR}/lib/${LIB_PREFIX}flann${LIB_SUFFIX})
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/${LIB_PREFIX}flann_s-gd${LIB_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/lib/${LIB_PREFIX}flann-gd${LIB_SUFFIX})
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/${LIB_PREFIX}flann_cpp_s${LIB_SUFFIX} ${CURRENT_PACKAGES_DIR}/lib/${LIB_PREFIX}flann_cpp${LIB_SUFFIX})
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/${LIB_PREFIX}flann_cpp_s-gd${LIB_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/lib/${LIB_PREFIX}flann_cpp-gd${LIB_SUFFIX})
-elseif(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/${LIB_PREFIX}flann_s${LIB_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/lib/${LIB_PREFIX}flann_s-gd${LIB_SUFFIX})
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/${LIB_PREFIX}flann_cpp_s${LIB_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/lib/${LIB_PREFIX}flann_cpp_s-gd${LIB_SUFFIX})
-endif()
-
# Handle copyright
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/flann)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/flann/COPYING ${CURRENT_PACKAGES_DIR}/share/flann/copyright)
diff --git a/ports/freerdp/CONTROL b/ports/freerdp/CONTROL
index 6a2d5d480..8ea98ed6d 100644
--- a/ports/freerdp/CONTROL
+++ b/ports/freerdp/CONTROL
@@ -1,4 +1,4 @@
Source: freerdp
-Version: 2.0.0-rc1~vcpkg1
+Version: 2.0.0-rc1~vcpkg1-1
Description: A free implementation of the Remote Desktop Protocol (RDP)
Build-Depends: openssl
diff --git a/ports/freerdp/portfile.cmake b/ports/freerdp/portfile.cmake
index cd27da88c..6ec7c9ac1 100644
--- a/ports/freerdp/portfile.cmake
+++ b/ports/freerdp/portfile.cmake
@@ -32,7 +32,6 @@ vcpkg_configure_cmake(
OPTIONS -DGIT_REVISION=${FREERDP_VERSION}
${FREERDP_CRT_LINKAGE})
-vcpkg_build_cmake()
vcpkg_install_cmake()
vcpkg_copy_pdbs()
diff --git a/ports/fuzzylite/CONTROL b/ports/fuzzylite/CONTROL
index 422a8af2e..b6faaa30f 100644
--- a/ports/fuzzylite/CONTROL
+++ b/ports/fuzzylite/CONTROL
@@ -1,3 +1,3 @@
Source: fuzzylite
-Version: 6.0-1
+Version: 6.0-2
Description: A fuzzy logic control library in C++
diff --git a/ports/fuzzylite/portfile.cmake b/ports/fuzzylite/portfile.cmake
index 976ca66de..c4b70a72f 100644
--- a/ports/fuzzylite/portfile.cmake
+++ b/ports/fuzzylite/portfile.cmake
@@ -30,7 +30,6 @@ vcpkg_configure_cmake(
-DFL_BUILD_TESTS=OFF
)
-vcpkg_build_cmake()
vcpkg_install_cmake()
vcpkg_copy_pdbs()
diff --git a/ports/jbigkit/CONTROL b/ports/jbigkit/CONTROL
index f6c5e65ca..f21907db4 100644
--- a/ports/jbigkit/CONTROL
+++ b/ports/jbigkit/CONTROL
@@ -1,3 +1,3 @@
Source: jbigkit
-Version: 2.1-2
+Version: 2.1-3
Description: A software implementation of the JBIG1 data compression standard (ITU-T T.82)
diff --git a/ports/jbigkit/portfile.cmake b/ports/jbigkit/portfile.cmake
index 16b37eb29..9e63a426f 100644
--- a/ports/jbigkit/portfile.cmake
+++ b/ports/jbigkit/portfile.cmake
@@ -19,7 +19,6 @@ vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA)
-vcpkg_build_cmake()
vcpkg_install_cmake()
vcpkg_copy_pdbs()
diff --git a/ports/libgd/CONTROL b/ports/libgd/CONTROL
index 55ab7ccdc..56f297798 100644
--- a/ports/libgd/CONTROL
+++ b/ports/libgd/CONTROL
@@ -1,5 +1,5 @@
Source: libgd
-Version: 2.2.5-2
+Version: 2.2.5-3
Description: Open source code library for the dynamic creation of images by programmers.
Default-Features: fontconfig, freetype, jpeg, png, tiff, webp
diff --git a/ports/libgd/portfile.cmake b/ports/libgd/portfile.cmake
index 06529f4a2..6ef2127d5 100644
--- a/ports/libgd/portfile.cmake
+++ b/ports/libgd/portfile.cmake
@@ -68,7 +68,6 @@ vcpkg_configure_cmake(
-DBUILD_STATIC_LIBS=${LIBGD_STATIC_LIBS}
)
-vcpkg_build_cmake()
vcpkg_install_cmake()
vcpkg_copy_pdbs()
diff --git a/ports/libodb-boost/CONTROL b/ports/libodb-boost/CONTROL
index 5913d752b..24f7d18b9 100644
--- a/ports/libodb-boost/CONTROL
+++ b/ports/libodb-boost/CONTROL
@@ -1,4 +1,4 @@
Source: libodb-boost
-Version: 2.4.0-1
+Version: 2.4.0-2
Description: Description: Boost support for the ODB ORM library
Build-Depends: libodb
diff --git a/ports/libodb-boost/portfile.cmake b/ports/libodb-boost/portfile.cmake
index 3f8dfc061..212e6b01a 100644
--- a/ports/libodb-boost/portfile.cmake
+++ b/ports/libodb-boost/portfile.cmake
@@ -17,7 +17,7 @@ vcpkg_configure_cmake(
OPTIONS_DEBUG
-DLIBODB_INSTALL_HEADERS=OFF
)
-vcpkg_build_cmake()
+
vcpkg_install_cmake()
file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_boostConfig-debug.cmake LIBODB_DEBUG_TARGETS)
diff --git a/ports/libodb-pgsql/CONTROL b/ports/libodb-pgsql/CONTROL
index f89d1f37c..d6be72f08 100644
--- a/ports/libodb-pgsql/CONTROL
+++ b/ports/libodb-pgsql/CONTROL
@@ -1,4 +1,4 @@
Source: libodb-pgsql
-Version: 2.4.0-1
+Version: 2.4.0-2
Description: Description: PostgreSQL support for the ODB ORM library
Build-Depends: libodb, libpq
diff --git a/ports/libodb-pgsql/portfile.cmake b/ports/libodb-pgsql/portfile.cmake
index cef945c73..3e31f2aa7 100644
--- a/ports/libodb-pgsql/portfile.cmake
+++ b/ports/libodb-pgsql/portfile.cmake
@@ -17,7 +17,7 @@ vcpkg_configure_cmake(
OPTIONS_DEBUG
-DLIBODB_INSTALL_HEADERS=OFF
)
-vcpkg_build_cmake()
+
vcpkg_install_cmake()
file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_pgsqlConfig-debug.cmake LIBODB_DEBUG_TARGETS)
diff --git a/ports/libodb-sqlite/CONTROL b/ports/libodb-sqlite/CONTROL
index 6a98869bd..e523de989 100644
--- a/ports/libodb-sqlite/CONTROL
+++ b/ports/libodb-sqlite/CONTROL
@@ -1,4 +1,4 @@
Source: libodb-sqlite
-Version: 2.4.0-2
+Version: 2.4.0-3
Description: Sqlite support for the ODB ORM library
Build-Depends: libodb, sqlite3
diff --git a/ports/libodb-sqlite/portfile.cmake b/ports/libodb-sqlite/portfile.cmake
index 143d32efb..b301169a7 100644
--- a/ports/libodb-sqlite/portfile.cmake
+++ b/ports/libodb-sqlite/portfile.cmake
@@ -25,7 +25,7 @@ vcpkg_configure_cmake(
OPTIONS_DEBUG
-DLIBODB_INSTALL_HEADERS=OFF
)
-vcpkg_build_cmake()
+
vcpkg_install_cmake()
file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_sqliteConfig-debug.cmake LIBODB_DEBUG_TARGETS)
diff --git a/ports/libodb/CONTROL b/ports/libodb/CONTROL
index 28a9f85f4..9e963c89b 100644
--- a/ports/libodb/CONTROL
+++ b/ports/libodb/CONTROL
@@ -1,3 +1,3 @@
Source: libodb
-Version: 2.4.0-3
+Version: 2.4.0-4
Description: ODB library, base runtime for the ODB ORM solution
diff --git a/ports/libodb/portfile.cmake b/ports/libodb/portfile.cmake
index 017979dc4..1ca5d4a1a 100644
--- a/ports/libodb/portfile.cmake
+++ b/ports/libodb/portfile.cmake
@@ -25,7 +25,7 @@ vcpkg_configure_cmake(
OPTIONS_DEBUG
-DLIBODB_INSTALL_HEADERS=OFF
)
-vcpkg_build_cmake()
+
vcpkg_install_cmake()
file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_libodbConfig-debug.cmake LIBODB_DEBUG_TARGETS)
string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}")
diff --git a/ports/libp7-baical/CONTROL b/ports/libp7-baical/CONTROL
index ea1739798..8369b65f4 100644
--- a/ports/libp7-baical/CONTROL
+++ b/ports/libp7-baical/CONTROL
@@ -1,3 +1,3 @@
Source: libp7-baical
-Version: 4.4-3
+Version: 4.4-4
Description: P7 is a library for high-speed sending telemetry & trace data from application
diff --git a/ports/libp7-baical/portfile.cmake b/ports/libp7-baical/portfile.cmake
index 3edc89c47..fcc51caed 100644
--- a/ports/libp7-baical/portfile.cmake
+++ b/ports/libp7-baical/portfile.cmake
@@ -26,7 +26,6 @@ vcpkg_configure_cmake(
PREFER_NINJA
)
-vcpkg_build_cmake()
vcpkg_install_cmake()
vcpkg_copy_pdbs()
diff --git a/ports/libusb-win32/CONTROL b/ports/libusb-win32/CONTROL
index eba6e283d..17a571287 100644
--- a/ports/libusb-win32/CONTROL
+++ b/ports/libusb-win32/CONTROL
@@ -1,3 +1,3 @@
Source: libusb-win32
-Version: 1.2.6.0-1
+Version: 1.2.6.0-2
Description: Allows user space applications to access many USB device on Windows.
diff --git a/ports/libusb-win32/portfile.cmake b/ports/libusb-win32/portfile.cmake
index a93b39bca..df12a9179 100644
--- a/ports/libusb-win32/portfile.cmake
+++ b/ports/libusb-win32/portfile.cmake
@@ -21,7 +21,6 @@ vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA)
-vcpkg_build_cmake()
vcpkg_install_cmake()
vcpkg_copy_pdbs()
diff --git a/ports/lua/CMakeLists.txt b/ports/lua/CMakeLists.txt
index 3fa62fe2c..01a1d5a12 100644
--- a/ports/lua/CMakeLists.txt
+++ b/ports/lua/CMakeLists.txt
@@ -9,9 +9,6 @@
PROJECT ( lua )
-IF( NOT WIN32 )
- message( FATAL_ERROR "Written for window only" )
-ENDIF()
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
@@ -33,21 +30,45 @@ src/ltable.c src/ltablib.c src/ltm.c src/lundump.c src/lutf8lib.c src/lvm.c src/
IF (COMPILE_AS_CPP)
SET_SOURCE_FILES_PROPERTIES(${SRC_LIBLUA} src/lua.c src/luac.c PROPERTIES LANGUAGE CXX)
+ELSE ()
+ SET (CMAKE_C_STANDARD 99)
ENDIF ()
# append headers to sources to make them show up in MSVC GUI
LIST(APPEND SRC_LIBLUA ${HDR_LIBLUA})
-# remove warnings
-ADD_DEFINITIONS (-D_CRT_SECURE_NO_WARNINGS )
+IF (WIN32)
+ # remove warnings
+ ADD_DEFINITIONS (-D_CRT_SECURE_NO_WARNINGS )
+ENDIF ()
+
+IF (UNIX)
+ ADD_DEFINITIONS (-DLUA_USE_POSIX)
+ FIND_LIBRARY (LIB_MATH NAMES m)
+ IF (LIB_MATH)
+ LINK_LIBRARIES (${LIB_MATH})
+ ENDIF ()
+ENDIF ()
#DLL
ADD_LIBRARY ( lua ${SRC_LIBLUA} )
-IF (BUILD_SHARED_LIBS)
+IF (BUILD_SHARED_LIBS AND WIN32)
TARGET_COMPILE_DEFINITIONS (lua PUBLIC -DLUA_BUILD_AS_DLL )
ENDIF ()
+IF (UNIX)
+ IF (APPLE)
+ TARGET_COMPILE_DEFINITIONS (lua PUBLIC -DLUA_USE_DLOPEN)
+ ELSE ()
+ FIND_LIBRARY (LIB_DLOPEN NAMES dl)
+ IF (LIB_DLOPEN)
+ TARGET_COMPILE_DEFINITIONS (lua PUBLIC -DLUA_USE_DLOPEN)
+ TARGET_LINK_LIBRARIES (lua ${LIB_DLOPEN})
+ ENDIF ()
+ ENDIF ()
+ENDIF ()
+
INSTALL ( TARGETS lua
RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
@@ -59,6 +80,21 @@ IF (NOT DEFINED SKIP_INSTALL_TOOLS)
ADD_EXECUTABLE ( luai src/lua.c ) # interpreter
TARGET_LINK_LIBRARIES ( luai lua )
SET_TARGET_PROPERTIES ( luai PROPERTIES OUTPUT_NAME lua PDB_NAME luai )
+ IF (UNIX)
+ IF (CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
+ SET (_LIB_READLINE_NAME edit)
+ ELSE ()
+ SET (_LIB_READLINE_NAME readline)
+ ENDIF ()
+ FIND_LIBRARY (LIB_READLINE NAMES ${_LIB_READLINE_NAME})
+ IF (LIB_READLINE)
+ TARGET_COMPILE_DEFINITIONS (luai PUBLIC -DLUA_USE_READLINE)
+ TARGET_LINK_LIBRARIES(luai ${LIB_READLINE})
+ IF (_LIB_READLINE_NAME STREQUAL edit)
+ TARGET_INCLUDE_DIRECTORIES (luai PUBLIC /usr/include/edit)
+ ENDIF ()
+ ENDIF ()
+ ENDIF ()
INSTALL ( TARGETS luai luac RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/tools/lua )
ENDIF ()
diff --git a/ports/lua/CONTROL b/ports/lua/CONTROL
index 836ae345a..23f31a1fd 100644
--- a/ports/lua/CONTROL
+++ b/ports/lua/CONTROL
@@ -1,3 +1,3 @@
Source: lua
-Version: 5.3.4-4
+Version: 5.3.5-1
Description: a powerful, fast, lightweight, embeddable scripting language
diff --git a/ports/lua/portfile.cmake b/ports/lua/portfile.cmake
index a1dcbd379..e3c972ac4 100644
--- a/ports/lua/portfile.cmake
+++ b/ports/lua/portfile.cmake
@@ -7,13 +7,16 @@
#
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/lua-5.3.4)
vcpkg_download_distfile(ARCHIVE
- URLS "http://www.lua.org/ftp/lua-5.3.4.tar.gz"
- FILENAME "lua-5.3.4.tar.gz"
- SHA512 739e31f82e6a60fa99910c2005e991b3a1e21339af52847f653cb190b30842054d189ca116ffcfdf9b36e07888c9ce5642b1dd2988cc7eff9f8789f9a2e34997
+ URLS "https://www.lua.org/ftp/lua-5.3.5.tar.gz"
+ FILENAME "lua-5.3.5.tar.gz"
+ SHA512 4f9516acc4659dfd0a9e911bfa00c0788f0ad9348e5724fe8fb17aac59e9c0060a64378f82be86f8534e49c6c013e7488ad17321bafcc787831d3d67406bd0f4
+)
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ PATCHES vs2015-impl-c99.patch
)
-vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
@@ -30,13 +33,15 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(READ ${CURRENT_PACKAGES_DIR}/include/luaconf.h LUA_CONF_H)
- string(REPLACE "defined(LUA_BUILD_AS_DLL)" "1" LUA_CONF_H "${LUA_CONF_H}")
- file(WRITE ${CURRENT_PACKAGES_DIR}/include/luaconf.h "${LUA_CONF_H}")
+ if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
+ file(READ ${CURRENT_PACKAGES_DIR}/include/luaconf.h LUA_CONF_H)
+ string(REPLACE "defined(LUA_BUILD_AS_DLL)" "1" LUA_CONF_H "${LUA_CONF_H}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/include/luaconf.h "${LUA_CONF_H}")
+ endif()
endif()
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/lua)
# Handle copyright
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/lua)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/lua/copyright)
vcpkg_copy_pdbs()
diff --git a/ports/lua/vs2015-impl-c99.patch b/ports/lua/vs2015-impl-c99.patch
new file mode 100644
index 000000000..e281e83cf
--- /dev/null
+++ b/ports/lua/vs2015-impl-c99.patch
@@ -0,0 +1,11 @@
+--- a/src/luaconf.h
++++ b/src/luaconf.h
+@@ -54,7 +54,7 @@
+
+ #if defined(LUA_USE_WINDOWS)
+ #define LUA_DL_DLL /* enable support for DLL */
+-#define LUA_USE_C89 /* broadly, Windows is C89 */
++//#define LUA_USE_C89 /* broadly, Windows is C89 */
+ #endif
+
+
diff --git a/ports/lz4/CMakeLists.txt b/ports/lz4/CMakeLists.txt
index b082ab374..8f94cbeb6 100644
--- a/ports/lz4/CMakeLists.txt
+++ b/ports/lz4/CMakeLists.txt
@@ -6,21 +6,43 @@ if(BUILD_SHARED_LIBS)
endif()
add_definitions(-DXXH_NAMESPACE=LZ4_)
+set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Install prefix")
+set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed")
+set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed")
+set(INSTALL_INCLUDE_DIR "include" CACHE PATH "Path where headers will be installed")
+set(INSTALL_CMAKE_DIR "share/lz4" CACHE PATH "Path where cmake configs will be installed")
+
+file(GLOB LZ4_HEADERS lib/*.h)
+
add_library(lz4
+ ${LZ4_HEADERS}
lib/lz4.c
lib/lz4frame.c
lib/lz4hc.c
- lib/xxhash.c)
+ lib/xxhash.c
+)
+
+target_include_directories(lz4 PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/lib> $<INSTALL_INTERFACE:include>)
+set_target_properties(lz4 PROPERTIES PUBLIC_HEADER ${LZ4_HEADERS})
install(TARGETS lz4
- RUNTIME DESTINATION bin
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib)
-
-if(NOT LZ4_SKIP_INCLUDES)
- install(FILES
- lib/lz4.h
- lib/lz4frame.h
- lib/lz4hc.h
- DESTINATION include)
-endif()
+ EXPORT lz4Config
+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
+ PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}"
+ PRIVATE_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}"
+ COMPONENT dev
+)
+
+FILE(GLOB lz4h "${CMAKE_CURRENT_LIST_DIR}/lib/*.h")
+INSTALL(FILES ${lz4h} DESTINATION "${INSTALL_INCLUDE_DIR}")
+
+install(EXPORT lz4Config
+ FILE lz4Config.cmake
+ NAMESPACE lz4::
+ DESTINATION "${INSTALL_CMAKE_DIR}"
+)
+
+# Export the package for use from the build-tree (this registers the build-tree with a global CMake-registry)
+export(PACKAGE lz4)
diff --git a/ports/lz4/CONTROL b/ports/lz4/CONTROL
index c2db311f7..cdfb882ae 100644
--- a/ports/lz4/CONTROL
+++ b/ports/lz4/CONTROL
@@ -1,3 +1,3 @@
-Source: lz4
-Version: 1.9.1
-Description: Lossless compression algorithm, providing compression speed at 400 MB/s per core.
+Source: lz4
+Version: 1.9.1-1
+Description: Lossless compression algorithm, providing compression speed at 400 MB/s per core.
diff --git a/ports/lz4/portfile.cmake b/ports/lz4/portfile.cmake
index e839e3958..e7f1ee461 100644
--- a/ports/lz4/portfile.cmake
+++ b/ports/lz4/portfile.cmake
@@ -1,32 +1,39 @@
-include(vcpkg_common_functions)
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO lz4/lz4
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO lz4/lz4
REF v1.9.1
- SHA512 536cdeb6dd73b4769cf9501ad312b004ab01699758534b47ca2eddbc815fd374a3caba40cde36f73a7a70e134065836b733e2b0c023c31740b877ef9317ccf3e
- HEAD_REF dev)
-
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS_DEBUG
- -DLZ4_SKIP_INCLUDES=ON
- -DCMAKE_DEBUG_POSTFIX=d)
-
-vcpkg_install_cmake()
-vcpkg_copy_pdbs()
-
-foreach(FILE lz4.h lz4frame.h)
- file(READ ${CURRENT_PACKAGES_DIR}/include/${FILE} LZ4_HEADER)
- if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- string(REPLACE "defined(LZ4_DLL_IMPORT) && (LZ4_DLL_IMPORT==1)" "1" LZ4_HEADER "${LZ4_HEADER}")
- else()
- string(REPLACE "defined(LZ4_DLL_IMPORT) && (LZ4_DLL_IMPORT==1)" "0" LZ4_HEADER "${LZ4_HEADER}")
- endif()
- file(WRITE ${CURRENT_PACKAGES_DIR}/include/${FILE} "${LZ4_HEADER}")
-endforeach()
-
-file(COPY ${SOURCE_PATH}/lib/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/lz4)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/lz4/LICENSE ${CURRENT_PACKAGES_DIR}/share/lz4/copyright)
+ SHA512 536cdeb6dd73b4769cf9501ad312b004ab01699758534b47ca2eddbc815fd374a3caba40cde36f73a7a70e134065836b733e2b0c023c31740b877ef9317ccf3e
+ HEAD_REF dev
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG
+ -DCMAKE_DEBUG_POSTFIX=d
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+foreach(FILE lz4.h lz4frame.h)
+ file(READ ${CURRENT_PACKAGES_DIR}/include/${FILE} LZ4_HEADER)
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ string(REPLACE "defined(LZ4_DLL_IMPORT) && (LZ4_DLL_IMPORT==1)" "1" LZ4_HEADER "${LZ4_HEADER}")
+ else()
+ string(REPLACE "defined(LZ4_DLL_IMPORT) && (LZ4_DLL_IMPORT==1)" "0" LZ4_HEADER "${LZ4_HEADER}")
+ endif()
+ file(WRITE ${CURRENT_PACKAGES_DIR}/include/${FILE} "${LZ4_HEADER}")
+endforeach()
+
+vcpkg_fixup_cmake_targets()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(COPY ${SOURCE_PATH}/lib/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/lz4)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/lz4/LICENSE ${CURRENT_PACKAGES_DIR}/share/lz4/copyright)
+
diff --git a/ports/openblas/CONTROL b/ports/openblas/CONTROL
index d485b4126..cabd86f8b 100644
--- a/ports/openblas/CONTROL
+++ b/ports/openblas/CONTROL
@@ -1,3 +1,3 @@
Source: openblas
-Version: 0.3.6
+Version: 0.3.6-1
Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake
index caf901ccf..7510fba6c 100644
--- a/ports/openblas/portfile.cmake
+++ b/ports/openblas/portfile.cmake
@@ -16,11 +16,6 @@ if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
message(FATAL_ERROR "openblas can only be built for x64 currently")
endif()
-if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
- set(CMAKE_CROSSCOMPILING OFF)
-endif()
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO xianyi/OpenBLAS
diff --git a/ports/openmvg/CONTROL b/ports/openmvg/CONTROL
index ce974a9d6..5006dc8dd 100644
--- a/ports/openmvg/CONTROL
+++ b/ports/openmvg/CONTROL
@@ -1,4 +1,11 @@
-Source: openmvg
-Version: 1.4-1
-Description: open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion.
-Build-Depends: coinutils, clp, osi, liblemon, flann, eigen3, ceres, cereal, libjpeg-turbo, tiff, libpng, zlib
+Source: openmvg
+Version: 1.4-2
+Description: open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion.
+Build-Depends: coinutils, clp, osi, liblemon, flann, eigen3, ceres, cereal, libjpeg-turbo, tiff, libpng, zlib
+
+Feature: opencv
+Build-Depends: opencv[contrib]
+Description: opencv support for openmvg
+
+Feature: openmp
+Description: openmp support for openmvg
diff --git a/ports/openmvg/fixcmake.patch b/ports/openmvg/fixcmake.patch
index 2ee976dd5..66eff4fd3 100644
--- a/ports/openmvg/fixcmake.patch
+++ b/ports/openmvg/fixcmake.patch
@@ -1,119 +1,421 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 654bebd..6d1c671 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -39,6 +39,10 @@ option(OpenMVG_USE_OPENCV "Build or not opencv+openMVG samples programs" OFF)
- # ==============================================================================
- option(OpenMVG_USE_OCVSIFT "Add or not OpenCV SIFT in available features" OFF)
-
-+if(OpenMVG_BUILD_SHARED AND MSVC)
-+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
-+endif(OpenMVG_BUILD_SHARED AND MSVC)
-+
- # ==============================================================================
- # OpenMVG version
- # ==============================================================================
-@@ -88,11 +92,11 @@ endif()
- # ==============================================================================
- # Check that submodule have been initialized and updated
- # ==============================================================================
--if (NOT EXISTS ${PROJECT_SOURCE_DIR}/dependencies/cereal/include)
-- message(FATAL_ERROR
-- "\n submodule(s) are missing, please update your repository:\n"
-- " > git submodule update -i\n")
--endif()
-+# if (NOT EXISTS ${PROJECT_SOURCE_DIR}/dependencies/cereal/include)
-+# message(FATAL_ERROR
-+# "\n submodule(s) are missing, please update your repository:\n"
-+# " > git submodule update -i\n")
-+# endif()
-
- # ==============================================================================
- # Additional cmake find modules
-@@ -184,12 +188,12 @@ if (OpenMVG_BUILD_OPENGL_EXAMPLES)
- endif (OpenMVG_BUILD_OPENGL_EXAMPLES)
-
- # Dependencies install rules
--install(
-- DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/
-- DESTINATION include/openMVG_dependencies
-- COMPONENT headers
-- FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h"
--)
-+# install(
-+# DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/
-+# DESTINATION include/openMVG_dependencies
-+# COMPONENT headers
-+# FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h"
-+# )
-
- # ==============================================================================
- # --END-- SUBMODULE CONFIGURATION
-diff --git a/src/cmakeFindModules/FindClp.cmake b/src/cmakeFindModules/FindClp.cmake
-index c997b87..74c3aae 100644
---- a/src/cmakeFindModules/FindClp.cmake
-+++ b/src/cmakeFindModules/FindClp.cmake
-@@ -51,8 +51,8 @@ IF(EXISTS "${CLP_DIR}" AND NOT "${CLP_DIR}" STREQUAL "")
- SET(CLP_INCLUDE_DIR ${CLP_DIR})
-
- FIND_LIBRARY(CLP_LIBRARY NAMES Clp)
-- FIND_LIBRARY(CLPSOLVER_LIBRARY NAMES ClpSolver)
-- FIND_LIBRARY(OSICLP_LIBRARY NAMES OsiClp)
-+ FIND_LIBRARY(CLPSOLVER_LIBRARY NAMES ClpSolver Clp)
-+ FIND_LIBRARY(OSICLP_LIBRARY NAMES OsiClp Clp)
-
- # locate Clp libraries
- IF(DEFINED CLP_LIBRARY AND DEFINED CLPSOLVER_LIBRARY AND DEFINED OSICLP_LIBRARY)
-diff --git a/src/openMVG/matching/CMakeLists.txt b/src/openMVG/matching/CMakeLists.txt
-index 80b1fe6..cb396c7 100644
---- a/src/openMVG/matching/CMakeLists.txt
-+++ b/src/openMVG/matching/CMakeLists.txt
-@@ -38,7 +38,7 @@ target_link_libraries(openMVG_matching
- openMVG_features
- Threads::Threads
- )
--if (NOT DEFINED OpenMVG_USE_INTERNAL_FLANN)
-+if (NOT OpenMVG_USE_INTERNAL_FLANN)
- target_link_libraries(openMVG_matching
- PUBLIC
- ${FLANN_LIBRARIES}
-diff --git a/src/third_party/CMakeLists.txt b/src/third_party/CMakeLists.txt
-index 816a941..f0b7145 100644
---- a/src/third_party/CMakeLists.txt
-+++ b/src/third_party/CMakeLists.txt
-@@ -18,7 +18,7 @@ add_subdirectory(stlplus3)
- set(STLPLUS_LIBRARY openMVG_stlplus PARENT_SCOPE)
-
- # Add graph library
--if(DEFINED OpenMVG_USE_INTERNAL_LEMON)
-+if(OpenMVG_USE_INTERNAL_LEMON)
- add_subdirectory(lemon)
- set_property(TARGET openMVG_lemon PROPERTY FOLDER OpenMVG/3rdParty/lemon)
- set_property(TARGET check PROPERTY FOLDER OpenMVG/3rdParty/lemon)
-@@ -68,7 +68,7 @@ endif (NOT TIFF_FOUND)
- add_subdirectory(vectorGraphics)
-
- # Add ceres-solver (A Nonlinear Least Squares Minimizer)
--if (DEFINED OpenMVG_USE_INTERNAL_CERES)
-+if (OpenMVG_USE_INTERNAL_CERES)
- add_subdirectory(cxsparse)
- add_subdirectory(ceres-solver)
- set_property(TARGET openMVG_cxsparse PROPERTY FOLDER OpenMVG/3rdParty/ceres)
-@@ -76,7 +76,7 @@ if (DEFINED OpenMVG_USE_INTERNAL_CERES)
- endif()
-
- # Add an Approximate Nearest Neighbor library
--if (DEFINED OpenMVG_USE_INTERNAL_FLANN)
-+if (OpenMVG_USE_INTERNAL_FLANN)
- set(FLANN_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/flann/src/cpp)
- add_subdirectory(flann)
- endif()
-@@ -90,7 +90,7 @@ add_subdirectory(fast)
- ##
- # Install Header only libraries if necessary
- ##
--if (DEFINED OpenMVG_USE_INTERNAL_EIGEN)
-+if (OpenMVG_USE_INTERNAL_EIGEN)
- #Configure Eigen install
- set(EIGEN_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/eigen)
- add_subdirectory(eigen)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 654bebd..5264bfc 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -17,27 +17,16 @@ endif()
+ # ==============================================================================
+ # OpenMVG build options
+ # ==============================================================================
+-option(OpenMVG_BUILD_SHARED "Build OpenMVG shared libs" OFF)
+-option(OpenMVG_BUILD_TESTS "Build OpenMVG tests" OFF)
+-option(OpenMVG_BUILD_DOC "Build OpenMVG documentation" ON)
+-option(OpenMVG_BUILD_EXAMPLES "Build OpenMVG samples applications." ON)
+-option(OpenMVG_BUILD_OPENGL_EXAMPLES "Build OpenMVG openGL examples" OFF)
+-option(OpenMVG_BUILD_SOFTWARES "Build OpenMVG softwares" ON)
+-option(OpenMVG_BUILD_GUI_SOFTWARES "Build OpenMVG GUI softwares (QT5)" ON)
+-option(OpenMVG_BUILD_COVERAGE "Enable code coverage generation (gcc only)" OFF)
+-option(OpenMVG_USE_OPENMP "Enable OpenMP parallelization" ON)
+ # ==============================================================================
+ # Opencv is not used by openMVG but some samples show how to use openCV
+ # and openMVG simultaneously
+ # ==============================================================================
+-option(OpenMVG_USE_OPENCV "Build or not opencv+openMVG samples programs" OFF)
+
+ # ==============================================================================
+ # Since OpenCV 3, SIFT is no longer in the default modules. See
+ # https://github.com/itseez/opencv_contrib for more informations.
+ # Enable this to be able to use OpenCV SIFT in main_ComputeFeatures_OpenCV.
+ # ==============================================================================
+-option(OpenMVG_USE_OCVSIFT "Add or not OpenCV SIFT in available features" OFF)
+
+ # ==============================================================================
+ # OpenMVG version
+@@ -85,15 +74,6 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ register_definitions(-DOPENMVG_STD_UNORDERED_MAP)
+ endif()
+
+-# ==============================================================================
+-# Check that submodule have been initialized and updated
+-# ==============================================================================
+-if (NOT EXISTS ${PROJECT_SOURCE_DIR}/dependencies/cereal/include)
+- message(FATAL_ERROR
+- "\n submodule(s) are missing, please update your repository:\n"
+- " > git submodule update -i\n")
+-endif()
+-
+ # ==============================================================================
+ # Additional cmake find modules
+ # ==============================================================================
+@@ -129,7 +109,6 @@ if (OpenMVG_USE_OPENMP)
+ find_package(OpenMP)
+ if (OPENMP_FOUND)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+- option(OpenMVG_USE_OPENMP "Use OpenMP for parallelization" ON)
+ register_definitions(-DOPENMVG_USE_OPENMP)
+ if (NOT MSVC)
+ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+@@ -140,11 +119,6 @@ if (OpenMVG_USE_OPENMP)
+ endif()
+ endif (NOT MSVC)
+ endif (OPENMP_FOUND)
+-else (OpenMVG_USE_OPENMP)
+- option(OpenMVG_USE_OPENMP "Use OpenMP for parallelization" OFF)
+- include(UpdateCacheVariable)
+- UPDATE_CACHE_VARIABLE(OpenMVG_USE_OPENMP OFF)
+- remove_definitions(-DOPENMVG_USE_OPENMP)
+ endif (OpenMVG_USE_OPENMP)
+
+ # ==============================================================================
+@@ -183,14 +157,6 @@ if (OpenMVG_BUILD_OPENGL_EXAMPLES)
+ set_property(TARGET glfw PROPERTY FOLDER OpenMVG/3rdParty/glfw)
+ endif (OpenMVG_BUILD_OPENGL_EXAMPLES)
+
+-# Dependencies install rules
+-install(
+- DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/
+- DESTINATION include/openMVG_dependencies
+- COMPONENT headers
+- FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h"
+-)
+-
+ # ==============================================================================
+ # --END-- SUBMODULE CONFIGURATION
+ # ==============================================================================
+@@ -226,14 +192,8 @@ ENDMACRO(UNIT_TEST)
+ # - external by default
+ # - internal if cereal not found
+ # ==============================================================================
+-find_package(cereal QUIET CONFIG)
+-if (NOT cereal_FOUND)
+- set(CEREAL_INCLUDE_DIRS
+- ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/cereal/include)
+- set(OpenMVG_USE_INTERNAL_CEREAL ON)
+-else()
+- get_target_property(CEREAL_INCLUDE_DIRS cereal INTERFACE_INCLUDE_DIRECTORIES)
+-endif()
++find_package(cereal REQUIRED CONFIG)
++get_target_property(CEREAL_INCLUDE_DIRS cereal INTERFACE_INCLUDE_DIRECTORIES)
+
+ # ==============================================================================
+ # Eigen
+@@ -242,14 +202,8 @@ endif()
+ # - external if EIGEN_INCLUDE_DIR_HINTS is defined
+ # - internal if Eigen not found
+ # ==============================================================================
+-find_package(eigen3 QUIET)
+-if (NOT eigen3_FOUND)
+- set(EIGEN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/eigen)
+- set(OpenMVG_USE_INTERNAL_EIGEN ON)
+- find_package(Eigen QUIET)
+-else()
+- set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
+-endif()
++find_package(eigen3 REQUIRED)
++set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
+
+ # ==============================================================================
+ # Ceres
+@@ -257,17 +211,7 @@ endif()
+ # - external by default if CERES_DIR_HINTS or find_package found a valid Ceres
+ # - internal if ceres not found (ceres-solver+cxsparse+miniglog)
+ # ==============================================================================
+-find_package(Ceres QUIET HINTS ${CERES_DIR_HINTS})
+-if (NOT Ceres_FOUND)
+- set(OpenMVG_USE_INTERNAL_CERES ON)
+- set(CERES_INCLUDE_DIRS
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/ceres-solver/include
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/ceres-solver/internal/ceres/miniglog
+- ${PROJECT_BINARY_DIR}/third_party/ceres-solver/config)
+- FILE(READ "${CMAKE_CURRENT_SOURCE_DIR}/third_party/ceres-solver/VERSION" CERES_CONFIG)
+- STRING(REGEX REPLACE "version ([0-9.]+).*" "\\1" CERES_VERSION ${CERES_CONFIG})
+- set(CERES_LIBRARIES openMVG_ceres)
+-endif()
++find_package(Ceres REQUIRED)
+
+ # ==============================================================================
+ # Flann
+@@ -275,14 +219,7 @@ endif()
+ # - internal by default (flann),
+ # - external if FLANN_INCLUDE_DIR_HINTS and a valid Flann setup is found
+ # ==============================================================================
+-if (NOT DEFINED FLANN_INCLUDE_DIR_HINTS)
+- set(FLANN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp)
+- set(OpenMVG_USE_INTERNAL_FLANN ON)
+-endif()
+-find_package(Flann QUIET)
+-if (NOT FLANN_FOUND OR OpenMVG_USE_INTERNAL_FLANN)
+- set(FLANN_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp)
+-endif()
++find_package(flann REQUIRED)
+
+ # ==============================================================================
+ # CoinUtils
+@@ -290,15 +227,7 @@ endif()
+ # - internal by default (CoinUtils),
+ # - external if COINUTILS_INCLUDE_DIR_HINTS and a valid CoinUtils setup is found
+ # ==============================================================================
+-if (NOT DEFINED COINUTILS_INCLUDE_DIR_HINTS)
+- set(COINUTILS_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/CoinUtils/src/)
+- set(OpenMVG_USE_INTERNAL_COINUTILS ON)
+-endif()
+-find_package(CoinUtils QUIET)
+-if (NOT COINUTILS_FOUND OR OpenMVG_USE_INTERNAL_COINUTILS)
+- set(COINUTILS_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/CoinUtils/src/)
+- set(COINUTILS_LIBRARY lib_CoinUtils)
+-endif()
++find_package(CoinUtils REQUIRED)
+
+ ## ==============================================================================
+ ## Clp
+@@ -306,17 +235,7 @@ endif()
+ ## - internal by default (Clp),
+ ## - external if CLP_INCLUDE_DIR_HINTS and a valid Clp setup is found
+ ## ==============================================================================
+-if (NOT DEFINED CLP_INCLUDE_DIR_HINTS)
+- set(CLP_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Clp/src/)
+- set(OpenMVG_USE_INTERNAL_CLP ON)
+-endif()
+-find_package(Clp QUIET)
+-if (NOT CLP_FOUND OR OpenMVG_USE_INTERNAL_CLP)
+- set(CLP_INCLUDE_DIRS
+- ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Clp/src/
+- ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Clp/src/OsiClp/)
+- set(CLP_LIBRARIES lib_clp lib_OsiClpSolver)
+-endif()
++find_package(Clp REQUIRED)
+
+ # ==============================================================================
+ # Osi
+@@ -324,15 +243,7 @@ endif()
+ # - internal by default (Osi),
+ # - external if OSI_INCLUDE_DIR_HINTS and a valid Osi setup is found
+ # ==============================================================================
+-if (NOT DEFINED OSI_INCLUDE_DIR_HINTS)
+- set(OSI_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Osi/src/)
+- set(OpenMVG_USE_INTERNAL_OSI ON)
+-endif()
+-find_package(Osi QUIET)
+-if (NOT OSI_FOUND OR OpenMVG_USE_INTERNAL_OSI)
+- set(OSI_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Osi/src/Osi/)
+- set(OSI_LIBRARY lib_Osi)
+-endif()
++find_package(Osi REQUIRED)
+
+ # ==============================================================================
+ # Internal CLP/OSI/COINUTILS libraries:
+@@ -351,17 +262,7 @@ endif()
+ # - internal by default (Lemon),
+ # - external if LEMON_INCLUDE_DIR_HINTS and a valid Lemon setup is found
+ # ==============================================================================
+-if (NOT DEFINED LEMON_INCLUDE_DIR_HINTS)
+- set(LEMON_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon)
+- set(OpenMVG_USE_INTERNAL_LEMON ON)
+-endif()
+-find_package(Lemon QUIET)
+-if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON)
+- set(LEMON_INCLUDE_DIRS
+- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon
+- ${PROJECT_BINARY_DIR}/third_party/lemon)
+- set(LEMON_LIBRARY openMVG_lemon)
+-endif()
++find_package(Lemon REQUIRED)
+
+ # ==============================================================================
+ # OpenCV
+@@ -369,12 +270,7 @@ endif()
+ # - only external and enabled only if OpenMVG_USE_OPENCV is set to ON
+ # ==============================================================================
+ if (OpenMVG_USE_OPENCV)
+- find_package( OpenCV QUIET )
+- if (NOT OpenCV_FOUND OR OpenCV_VERSION VERSION_LESS "3.0.0")
+- message(STATUS "OpenCV was not found (note that OpenCV version >= 3.0.0 is required). -> Disabling OpenCV support.")
+- UPDATE_CACHE_VARIABLE(OpenMVG_USE_OPENCV OFF)
+- UPDATE_CACHE_VARIABLE(OpenMVG_USE_OCVSIFT OFF)
+- endif()
++ find_package( OpenCV REQUIRED )
+ endif()
+
+
+@@ -469,67 +365,67 @@ message("** Use OpenCV SIFT features: " ${OpenMVG_USE_OCVSIFT})
+
+ message("\n")
+
+-if (DEFINED OpenMVG_USE_INTERNAL_CEREAL)
++if (OpenMVG_USE_INTERNAL_CEREAL)
+ message(STATUS "CEREAL: (internal)")
+ else()
+ message(STATUS "CEREAL: (external)")
+ endif()
+
+-if (DEFINED OpenMVG_USE_INTERNAL_EIGEN)
++if (OpenMVG_USE_INTERNAL_EIGEN)
+ message(STATUS "EIGEN: " ${EIGEN_VERSION} " (internal)")
+ else()
+ message(STATUS "EIGEN: " ${EIGEN_VERSION} " (external)")
+ endif()
+
+-if (DEFINED OpenMVG_USE_INTERNAL_CERES)
++if (OpenMVG_USE_INTERNAL_CERES)
+ message(STATUS "CERES: " ${CERES_VERSION} " (internal)")
+ else()
+ message(STATUS "CERES: " ${CERES_VERSION} " (external)")
+ endif()
+
+-if (DEFINED OpenMVG_USE_INTERNAL_FLANN)
++if (OpenMVG_USE_INTERNAL_FLANN)
+ message(STATUS "FLANN: " ${FLANN_VERSION} " (internal)")
+ else()
+ message(STATUS "FLANN: " ${FLANN_VERSION} " (external)")
+ endif()
+
+-if (DEFINED OpenMVG_USE_INTERNAL_TIFF)
++if (OpenMVG_USE_INTERNAL_TIFF)
+ message(STATUS "LIBTIFF: " ${TIFF_VERSION_STRING} " (internal)")
+ else()
+ message(STATUS "LIBTIFF: " ${TIFF_VERSION_STRING} " (external)")
+ endif()
+
+-if (DEFINED OpenMVG_USE_INTERNAL_PNG)
++if (OpenMVG_USE_INTERNAL_PNG)
+ message(STATUS "LIBPNG: " ${PNG_VERSION_STRING} " (internal)")
+ else()
+ message(STATUS "LIBPNG: " ${PNG_VERSION_STRING} " (external)")
+ endif()
+
+-if (DEFINED OpenMVG_USE_INTERNAL_JPEG)
++if (OpenMVG_USE_INTERNAL_JPEG)
+ message(STATUS "LIBJPEG (internal)")
+ else()
+ message(STATUS "LIBJPEG (external)")
+ endif()
+
+-if (DEFINED OpenMVG_USE_INTERNAL_CLP)
++if (OpenMVG_USE_INTERNAL_CLP)
+ message(STATUS "CLP: " ${CLP_VERSION} " (internal)")
+ else()
+ message(STATUS "CLP: " ${CLP_VERSION} " (external)")
+ endif()
+
+-if (DEFINED OpenMVG_USE_INTERNAL_COINUTILS)
++if (OpenMVG_USE_INTERNAL_COINUTILS)
+ message(STATUS "COINUTILS: " ${COINUTILS_VERSION} " (internal)")
+ else()
+ message(STATUS "COINUTILS: " ${COINUTILS_VERSION} " (external)")
+ endif()
+
+-if (DEFINED OpenMVG_USE_INTERNAL_OSI)
++if (OpenMVG_USE_INTERNAL_OSI)
+ message(STATUS "OSI: " ${OSI_VERSION} " (internal)")
+ else()
+ message(STATUS "OSI: " ${OSI_VERSION} " (external)")
+ endif()
+
+-if (DEFINED OpenMVG_USE_INTERNAL_LEMON)
++if (OpenMVG_USE_INTERNAL_LEMON)
+ message(STATUS "LEMON: " ${LEMON_VERSION} " (internal)")
+ else()
+ message(STATUS "LEMON: " ${LEMON_VERSION} " (external)")
+diff --git a/src/cmakeFindModules/FindClp.cmake b/src/cmakeFindModules/FindClp.cmake
+index c997b87..74c3aae 100644
+--- a/src/cmakeFindModules/FindClp.cmake
++++ b/src/cmakeFindModules/FindClp.cmake
+@@ -51,8 +51,8 @@ IF(EXISTS "${CLP_DIR}" AND NOT "${CLP_DIR}" STREQUAL "")
+ SET(CLP_INCLUDE_DIR ${CLP_DIR})
+
+ FIND_LIBRARY(CLP_LIBRARY NAMES Clp)
+- FIND_LIBRARY(CLPSOLVER_LIBRARY NAMES ClpSolver)
+- FIND_LIBRARY(OSICLP_LIBRARY NAMES OsiClp)
++ FIND_LIBRARY(CLPSOLVER_LIBRARY NAMES ClpSolver Clp)
++ FIND_LIBRARY(OSICLP_LIBRARY NAMES OsiClp Clp)
+
+ # locate Clp libraries
+ IF(DEFINED CLP_LIBRARY AND DEFINED CLPSOLVER_LIBRARY AND DEFINED OSICLP_LIBRARY)
+diff --git a/src/openMVG/linearProgramming/CMakeLists.txt b/src/openMVG/linearProgramming/CMakeLists.txt
+index cc5212f..acc57dd 100644
+--- a/src/openMVG/linearProgramming/CMakeLists.txt
++++ b/src/openMVG/linearProgramming/CMakeLists.txt
+@@ -15,16 +15,12 @@ target_link_libraries(openMVG_linearProgramming
+ PUBLIC
+ openMVG_numeric
+ PRIVATE
+- ${CLP_LIBRARIES} # clp + solver wrapper
+- ${COINUTILS_LIBRARY} # container tools
+- ${OSI_LIBRARY} # generic LP
++ Coin::Clp # clp + solver wrapper
++ Coin::CoinUtils # container tools
++ Coin::Osi # generic LP
+ )
+
+ target_include_directories(openMVG_linearProgramming
+- PRIVATE
+- ${CLP_INCLUDE_DIRS}
+- ${COINUTILS_INCLUDE_DIRS}
+- ${OSI_INCLUDE_DIRS}
+ PUBLIC
+ $<INSTALL_INTERFACE:include>
+ )
+diff --git a/src/openMVG/matching/CMakeLists.txt b/src/openMVG/matching/CMakeLists.txt
+index 80b1fe6..a091b47 100644
+--- a/src/openMVG/matching/CMakeLists.txt
++++ b/src/openMVG/matching/CMakeLists.txt
+@@ -18,6 +18,7 @@ list(REMOVE_ITEM matching_files_cpp ${REMOVEFILESUNITTEST})
+
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads REQUIRED)
++find_package(flann REQUIRED)
+
+ set_source_files_properties(${matching_files_cpp} PROPERTIES LANGUAGE CXX)
+ add_library(openMVG_matching
+@@ -38,10 +39,10 @@ target_link_libraries(openMVG_matching
+ openMVG_features
+ Threads::Threads
+ )
+-if (NOT DEFINED OpenMVG_USE_INTERNAL_FLANN)
++if (NOT OpenMVG_USE_INTERNAL_FLANN)
+ target_link_libraries(openMVG_matching
+ PUBLIC
+- ${FLANN_LIBRARIES}
++ flann::flann
+ )
+ endif()
+ set_target_properties(openMVG_matching PROPERTIES SOVERSION ${OPENMVG_VERSION_MAJOR} VERSION "${OPENMVG_VERSION_MAJOR}.${OPENMVG_VERSION_MINOR}")
+diff --git a/src/third_party/CMakeLists.txt b/src/third_party/CMakeLists.txt
+index 816a941..f0b7145 100644
+--- a/src/third_party/CMakeLists.txt
++++ b/src/third_party/CMakeLists.txt
+@@ -18,7 +18,7 @@ add_subdirectory(stlplus3)
+ set(STLPLUS_LIBRARY openMVG_stlplus PARENT_SCOPE)
+
+ # Add graph library
+-if(DEFINED OpenMVG_USE_INTERNAL_LEMON)
++if(OpenMVG_USE_INTERNAL_LEMON)
+ add_subdirectory(lemon)
+ set_property(TARGET openMVG_lemon PROPERTY FOLDER OpenMVG/3rdParty/lemon)
+ set_property(TARGET check PROPERTY FOLDER OpenMVG/3rdParty/lemon)
+@@ -68,7 +68,7 @@ endif (NOT TIFF_FOUND)
+ add_subdirectory(vectorGraphics)
+
+ # Add ceres-solver (A Nonlinear Least Squares Minimizer)
+-if (DEFINED OpenMVG_USE_INTERNAL_CERES)
++if (OpenMVG_USE_INTERNAL_CERES)
+ add_subdirectory(cxsparse)
+ add_subdirectory(ceres-solver)
+ set_property(TARGET openMVG_cxsparse PROPERTY FOLDER OpenMVG/3rdParty/ceres)
+@@ -76,7 +76,7 @@ if (DEFINED OpenMVG_USE_INTERNAL_CERES)
+ endif()
+
+ # Add an Approximate Nearest Neighbor library
+-if (DEFINED OpenMVG_USE_INTERNAL_FLANN)
++if (OpenMVG_USE_INTERNAL_FLANN)
+ set(FLANN_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/flann/src/cpp)
+ add_subdirectory(flann)
+ endif()
+@@ -90,7 +90,7 @@ add_subdirectory(fast)
+ ##
+ # Install Header only libraries if necessary
+ ##
+-if (DEFINED OpenMVG_USE_INTERNAL_EIGEN)
++if (OpenMVG_USE_INTERNAL_EIGEN)
+ #Configure Eigen install
+ set(EIGEN_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/eigen)
+ add_subdirectory(eigen)
diff --git a/ports/openmvg/portfile.cmake b/ports/openmvg/portfile.cmake
index 26480bb3d..04a7e57ee 100644
--- a/ports/openmvg/portfile.cmake
+++ b/ports/openmvg/portfile.cmake
@@ -1,109 +1,103 @@
-# 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)
-#
-
-include(vcpkg_common_functions)
-
-string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH)
-if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32)
- message(WARNING "Openmvg's buildsystem uses very long paths and may fail on your system.\n"
- "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command."
- )
-endif()
-
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO openMVG/openMVG
- REF v1.4
- SHA512 949cf3680375c87b06db0f4713c846422c98d1979d49e9db65761f63f6f3212f0fcd8425f23c6112f04fbbb90b241638c2fd9329bb6b8b612c1d073aac55759a
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR} fixcmake.patch)
-
-
-# remove some deps to prevent conflict
-file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/ceres-solver)
-file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/cxsparse)
-file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/eigen)
-file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/flann)
-file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/jpeg)
-file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/lemon)
-file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/png)
-file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/tiff)
-file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/zlib)
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- set(OpenMVG_BUILD_SHARED ON)
-else()
- set(OpenMVG_BUILD_SHARED OFF)
-endif()
-
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}/src
- # PREFER_NINJA # Disable this option if project cannot be built with Ninja
- # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
- OPTIONS
- -DOpenMVG_BUILD_SHARED=${OpenMVG_BUILD_SHARED}
- -DOpenMVG_BUILD_DOC=OFF
- -DOpenMVG_BUILD_EXAMPLES=OFF
- -DOpenMVG_BUILD_SOFTWARES=OFF
- -DOpenMVG_BUILD_GUI_SOFTWARES=OFF
- # TODO, use packgeconfig.cmake file instead
- -DEIGEN_INCLUDE_DIR_HINTS=${CURRENT_INSTALLED_DIR}/include/
- -DCERES_DIR_HINTS=${CURRENT_INSTALLED_DIR}/ceres
- -DFLANN_INCLUDE_DIR_HINTS=${CURRENT_INSTALLED_DIR}/flann
- -DLEMON_INCLUDE_DIR_HINTS=${CURRENT_INSTALLED_DIR}/include/lemon
- -DCOINUTILS_INCLUDE_DIR_HINTS=${CURRENT_INSTALLED_DIR}/include/coin
- -DCLP_INCLUDE_DIR_HINTS=${CURRENT_INSTALLED_DIR}/include/coin
- -DOSI_INCLUDE_DIR_HINTS=${CURRENT_INSTALLED_DIR}/include/coin
- -DOpenMVG_USE_INTERNAL_CLP=OFF
- -DOpenMVG_USE_INTERNAL_COINUTILS=OFF
- -DOpenMVG_USE_INTERNAL_OSI=OFF
- -DOpenMVG_USE_INTERNAL_EIGEN=OFF
- -DOpenMVG_USE_INTERNAL_CEREAL=OFF
- -DOpenMVG_USE_INTERNAL_CERES=OFF
- -DOpenMVG_USE_INTERNAL_FLANN=OFF
- -DTARGET_ARCHITECTURE=core # disable instruction like avx
- # OPTIONS_RELEASE -DOPTIMIZE=1
- OPTIONS_RELEASE
- -DFLANN_LIBRARY=${CURRENT_INSTALLED_DIR}/lib/flann_cpp.lib
- OPTIONS_DEBUG
- -DFLANN_LIBRARY=${CURRENT_INSTALLED_DIR}/debug/lib/flann_cpp-gd.lib
-)
-
-vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH "share/openMVG/cmake")
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/openMVG/image/image_test)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/openMVG/exif/image_data)
-file(GLOB REMOVE_CMAKE ${CURRENT_PACKAGES_DIR}/lib/*.cmake)
-file(REMOVE_RECURSE ${REMOVE_CMAKE})
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-if(OpenMVG_BUILD_SHARED)
- # release
- file(GLOB DLL_FILES ${CURRENT_PACKAGES_DIR}/lib/*.dll)
- file(COPY ${DLL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
- file(REMOVE_RECURSE ${DLL_FILES})
- # debug
- file(GLOB DLL_FILES ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll)
- file(COPY ${DLL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(REMOVE_RECURSE ${DLL_FILES})
-endif()
-vcpkg_copy_pdbs()
-
-# Handle copyright
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openmvg RENAME copyright)
-
-# Post-build test for cmake libraries
-# vcpkg_test_cmake(PACKAGE_NAME openmvg)
+include(vcpkg_common_functions)
+
+string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH)
+if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32)
+ message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n"
+ "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command."
+ )
+endif()
+
+#the port produces some empty dlls when building shared libraries, since some components do not export anything, breaking the internal build itself
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO openMVG/openMVG
+ REF v1.4
+ SHA512 949cf3680375c87b06db0f4713c846422c98d1979d49e9db65761f63f6f3212f0fcd8425f23c6112f04fbbb90b241638c2fd9329bb6b8b612c1d073aac55759a
+ PATCHES
+ fixcmake.patch
+)
+
+set(ENABLE_OPENCV OFF)
+if("opencv" IN_LIST FEATURES)
+ set(ENABLE_OPENCV ON)
+endif()
+
+set(ENABLE_OPENMP OFF)
+if("openmp" IN_LIST FEATURES)
+ set(ENABLE_OPENMP ON)
+endif()
+
+# remove some deps to prevent conflict
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/ceres-solver)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/cxsparse)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/eigen)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/flann)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/jpeg)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/lemon)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/png)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/tiff)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/zlib)
+
+# remove some cmake modules to force using our configs
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindEigen.cmake)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindLemon.cmake)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindFlann.cmake)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindCoinUtils.cmake)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindClp.cmake)
+file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindOsi.cmake)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}/src
+ PREFER_NINJA
+ OPTIONS
+ -DOpenMVG_BUILD_SHARED=OFF
+ -DOpenMVG_BUILD_TESTS=OFF
+ -DOpenMVG_BUILD_DOC=OFF
+ -DOpenMVG_BUILD_EXAMPLES=OFF
+ -DOpenMVG_BUILD_OPENGL_EXAMPLES=OFF
+ -DOpenMVG_BUILD_SOFTWARES=OFF
+ -DOpenMVG_BUILD_GUI_SOFTWARES=OFF
+ -DOpenMVG_BUILD_COVERAGE=OFF
+ -DOpenMVG_USE_OPENMP=${ENABLE_OPENMP}
+ -DOpenMVG_USE_OPENCV=${ENABLE_OPENCV}
+ -DOpenMVG_USE_OCVSIFT=${ENABLE_OPENCV}
+ -DOpenMVG_USE_INTERNAL_CLP=OFF
+ -DOpenMVG_USE_INTERNAL_COINUTILS=OFF
+ -DOpenMVG_USE_INTERNAL_OSI=OFF
+ -DOpenMVG_USE_INTERNAL_EIGEN=OFF
+ -DOpenMVG_USE_INTERNAL_CEREAL=OFF
+ -DOpenMVG_USE_INTERNAL_CERES=OFF
+ -DOpenMVG_USE_INTERNAL_FLANN=OFF
+ -DOpenMVG_USE_INTERNAL_LEMON=OFF
+)
+
+vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH "share/openMVG/cmake")
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+#remove extra deprecated cmake target files left in unappropriate folders
+file(GLOB REMOVE_CMAKE ${CURRENT_PACKAGES_DIR}/lib/*.cmake)
+file(REMOVE_RECURSE ${REMOVE_CMAKE})
+file(GLOB REMOVE_CMAKE ${CURRENT_PACKAGES_DIR}/debug/lib/*.cmake)
+file(REMOVE_RECURSE ${REMOVE_CMAKE})
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/openMVG/image/image_test)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/openMVG/exif/image_data)
+
+if(OpenMVG_BUILD_SHARED)
+ # release
+ file(GLOB DLL_FILES ${CURRENT_PACKAGES_DIR}/lib/*.dll)
+ file(COPY ${DLL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE_RECURSE ${DLL_FILES})
+ # debug
+ file(GLOB DLL_FILES ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll)
+ file(COPY ${DLL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(REMOVE_RECURSE ${DLL_FILES})
+endif()
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openmvg RENAME copyright)
diff --git a/ports/pcl/CONTROL b/ports/pcl/CONTROL
index 0c28ee654..3e3884c48 100644
--- a/ports/pcl/CONTROL
+++ b/ports/pcl/CONTROL
@@ -1,5 +1,5 @@
Source: pcl
-Version: 1.9.1-2
+Version: 1.9.1-3
Description: Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing.
Build-Depends: eigen3, flann, qhull, vtk, libpng, boost-system, boost-filesystem, boost-thread, boost-date-time, boost-iostreams, boost-random, boost-foreach, boost-dynamic-bitset, boost-property-map, boost-graph, boost-multi-array, boost-signals2, boost-ptr-container, boost-uuid, boost-interprocess, boost-asio
diff --git a/ports/pcl/find_flann.patch b/ports/pcl/find_flann.patch
deleted file mode 100644
index 263be2926..000000000
--- a/ports/pcl/find_flann.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/cmake/Modules/FindFLANN.cmake b/cmake/Modules/FindFLANN.cmake
-index 1cecacfa9..3169d6d7b 100644
---- a/cmake/Modules/FindFLANN.cmake
-+++ b/cmake/Modules/FindFLANN.cmake
-@@ -10,8 +10,8 @@
- # look for shared ones
-
- if(FLANN_USE_STATIC)
-- set(FLANN_RELEASE_NAME flann_cpp_s)
-- set(FLANN_DEBUG_NAME flann_cpp_s-gd)
-+ set(FLANN_RELEASE_NAME flann_cpp)
-+ set(FLANN_DEBUG_NAME flann_cpp-gd)
- else(FLANN_USE_STATIC)
- set(FLANN_RELEASE_NAME flann_cpp)
- set(FLANN_DEBUG_NAME flann_cpp-gd)
diff --git a/ports/pcl/portfile.cmake b/ports/pcl/portfile.cmake
index a8947938f..971abe025 100644
--- a/ports/pcl/portfile.cmake
+++ b/ports/pcl/portfile.cmake
@@ -6,12 +6,15 @@ vcpkg_from_github(
REF pcl-1.9.1
SHA512 ca95028c23861ac2df0fa7e18fdd0202255cb2e49ab714325eb36c35289442c6eedbf489e6f9f232b30fa2a93eff4c9619f8a14d3fdfe58f353a4a6e26206bdf
HEAD_REF master
- PATCHES pcl_utils.patch
- pcl_config.patch
- find_flann.patch
- boost-1.70.patch
+ PATCHES
+ pcl_utils.patch
+ pcl_config.patch
+ use_flann_targets.patch
+ boost-1.70.patch
)
+file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindFLANN.cmake)
+
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PCL_SHARED_LIBS)
set(WITH_OPENNI2 OFF)
diff --git a/ports/pcl/use_flann_targets.patch b/ports/pcl/use_flann_targets.patch
new file mode 100644
index 000000000..7e6289267
--- /dev/null
+++ b/ports/pcl/use_flann_targets.patch
@@ -0,0 +1,155 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0b4c1a3..94bb484 100755
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -280,11 +280,9 @@ find_package(Eigen REQUIRED)
+ include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS})
+
+ # FLANN (required)
+-if(NOT PCL_SHARED_LIBS OR ((WIN32 AND NOT MINGW) AND NOT PCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32))
+- set(FLANN_USE_STATIC ON)
+-endif()
++set(FLANN_USE_STATIC ON)
+ find_package(FLANN 1.7.0 REQUIRED)
+-include_directories(${FLANN_INCLUDE_DIRS})
++find_package(lz4)
+
+ # libusb-1.0
+ option(WITH_LIBUSB "Build USB RGBD-Camera drivers" TRUE)
+diff --git a/PCLConfig.cmake.in b/PCLConfig.cmake.in
+index 6fadb59..6a9c5b7 100755
+--- a/PCLConfig.cmake.in
++++ b/PCLConfig.cmake.in
+@@ -226,12 +226,6 @@ endmacro(find_rssdk)
+
+ #remove this as soon as flann is shipped with FindFlann.cmake
+ macro(find_flann)
+- if(PCL_ALL_IN_ONE_INSTALLER)
+- set(FLANN_ROOT "${PCL_ROOT}/3rdParty/Flann")
+- elseif(NOT FLANN_ROOT)
+- get_filename_component(FLANN_ROOT "@FLANN_INCLUDE_DIRS@" PATH)
+- endif(PCL_ALL_IN_ONE_INSTALLER)
+-
+ set(FLANN_USE_STATIC @FLANN_USE_STATIC@)
+ find_package(FLANN)
+ endmacro(find_flann)
+@@ -651,7 +645,7 @@ endif(NOT "${PCL_DEFINITIONS}" STREQUAL "")
+ pcl_remove_duplicate_libraries(PCL_COMPONENTS PCL_LIBRARIES)
+
+ # Add 3rd party libraries, as user code might include our .HPP implementations
+-list(APPEND PCL_LIBRARIES ${BOOST_LIBRARIES} ${QHULL_LIBRARIES} ${OPENNI_LIBRARIES} ${OPENNI2_LIBRARIES} ${ENSENSO_LIBRARIES} ${davidSDK_LIBRARIES} ${DSSDK_LIBRARIES} ${RSSDK_LIBRARIES} ${FLANN_LIBRARIES} ${VTK_LIBRARIES})
++list(APPEND PCL_LIBRARIES ${BOOST_LIBRARIES} ${QHULL_LIBRARIES} ${OPENNI_LIBRARIES} ${OPENNI2_LIBRARIES} ${ENSENSO_LIBRARIES} ${davidSDK_LIBRARIES} ${DSSDK_LIBRARIES} ${RSSDK_LIBRARIES} flann::flann_cpp ${VTK_LIBRARIES})
+
+ find_package_handle_standard_args(PCL DEFAULT_MSG PCL_LIBRARIES PCL_INCLUDE_DIRS)
+ mark_as_advanced(PCL_LIBRARIES PCL_INCLUDE_DIRS PCL_LIBRARY_DIRS)
+diff --git a/doc/tutorials/content/sources/vfh_recognition/CMakeLists.txt b/doc/tutorials/content/sources/vfh_recognition/CMakeLists.txt
+index 9693792..dcd4373 100755
+--- a/doc/tutorials/content/sources/vfh_recognition/CMakeLists.txt
++++ b/doc/tutorials/content/sources/vfh_recognition/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
+
+-# we need FindFLANN.cmake
++# we need FindFLANN.cmake
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
+
+ project(vfh_cluster_classifier)
+@@ -14,16 +14,15 @@ find_package(HDF5)
+ if(HDF5_FOUND)
+
+ find_package(FLANN)
+- include_directories(${FLANN_INCLUDE_DIRS})
+
+ include_directories(${HDF5_INCLUDE_DIR})
+
+ add_executable(build_tree build_tree.cpp)
+ target_link_libraries(build_tree ${PCL_LIBRARIES} ${Boost_LIBRARIES}
+- ${FLANN_LIBRARIES} ${HDF5_hdf5_LIBRARY})
++ flann::flann_cpp ${HDF5_hdf5_LIBRARY})
+
+ add_executable(nearest_neighbors nearest_neighbors.cpp)
+- target_link_libraries(nearest_neighbors ${PCL_LIBRARIES}
+- ${Boost_LIBRARIES} ${FLANN_LIBRARIES} ${HDF5_hdf5_LIBRARY}
++ target_link_libraries(nearest_neighbors ${PCL_LIBRARIES}
++ ${Boost_LIBRARIES} flann::flann_cpp ${HDF5_hdf5_LIBRARY}
+ )
+ endif(HDF5_FOUND)
+diff --git a/kdtree/CMakeLists.txt b/kdtree/CMakeLists.txt
+index 311dffc..1a7712f 100755
+--- a/kdtree/CMakeLists.txt
++++ b/kdtree/CMakeLists.txt
+@@ -9,18 +9,18 @@ PCL_SUBSYS_DEPEND(build "${SUBSYS_NAME}" DEPS ${SUBSYS_DEPS} EXT_DEPS flann)
+ PCL_ADD_DOC("${SUBSYS_NAME}")
+
+ if(build)
+- set(srcs
++ set(srcs
+ src/kdtree_flann.cpp
+ )
+
+- set(incs
++ set(incs
+ "include/pcl/${SUBSYS_NAME}/kdtree.h"
+ "include/pcl/${SUBSYS_NAME}/io.h"
+ "include/pcl/${SUBSYS_NAME}/flann.h"
+ "include/pcl/${SUBSYS_NAME}/kdtree_flann.h"
+ )
+
+- set(impl_incs
++ set(impl_incs
+ "include/pcl/${SUBSYS_NAME}/impl/io.hpp"
+ "include/pcl/${SUBSYS_NAME}/impl/kdtree_flann.hpp"
+ )
+@@ -28,7 +28,7 @@ if(build)
+ set(LIB_NAME "pcl_${SUBSYS_NAME}")
+ include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
+ PCL_ADD_LIBRARY("${LIB_NAME}" "${SUBSYS_NAME}" ${srcs} ${incs} ${impl_incs})
+- target_link_libraries("${LIB_NAME}" pcl_common ${FLANN_LIBRARIES})
++ target_link_libraries("${LIB_NAME}" pcl_common flann::flann_cpp)
+ set(EXT_DEPS flann)
+ PCL_MAKE_PKGCONFIG("${LIB_NAME}" "${SUBSYS_NAME}" "${SUBSYS_DESC}"
+ "${SUBSYS_DEPS}" "${EXT_DEPS}" "" "" "")
+@@ -38,4 +38,3 @@ if(build)
+ PCL_ADD_INCLUDES("${SUBSYS_NAME}" "${SUBSYS_NAME}/impl" ${impl_incs})
+
+ endif(build)
+-
+diff --git a/search/CMakeLists.txt b/search/CMakeLists.txt
+index cd82a0e..1d15241 100755
+--- a/search/CMakeLists.txt
++++ b/search/CMakeLists.txt
+@@ -38,7 +38,7 @@ if(build)
+ set(LIB_NAME "pcl_${SUBSYS_NAME}")
+ include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
+ PCL_ADD_LIBRARY("${LIB_NAME}" "${SUBSYS_NAME}" ${srcs} ${incs} ${impl_incs})
+- target_link_libraries("${LIB_NAME}" pcl_common ${FLANN_LIBRARIES} pcl_octree pcl_kdtree)
++ target_link_libraries("${LIB_NAME}" pcl_common flann::flann_cpp pcl_octree pcl_kdtree)
+ list(APPEND EXT_DEPS flann)
+ PCL_MAKE_PKGCONFIG("${LIB_NAME}" "${SUBSYS_NAME}" "${SUBSYS_DESC}" "${SUBSYS_DEPS}" "" "" "" "")
+
+@@ -46,4 +46,3 @@ if(build)
+ PCL_ADD_INCLUDES("${SUBSYS_NAME}" "${SUBSYS_NAME}/impl" ${impl_incs})
+
+ endif(build)
+-
+diff --git a/test/features/CMakeLists.txt b/test/features/CMakeLists.txt
+index cedb0cb..4b37c73 100755
+--- a/test/features/CMakeLists.txt
++++ b/test/features/CMakeLists.txt
+@@ -81,14 +81,14 @@ if (build)
+ PCL_ADD_TEST(feature_flare_estimation test_flare_estimation
+ FILES test_flare_estimation.cpp
+ LINK_WITH pcl_gtest pcl_features pcl_io
+- ARGUMENTS "${PCL_SOURCE_DIR}/test/bun0.pcd")
++ ARGUMENTS "${PCL_SOURCE_DIR}/test/bun0.pcd")
+ PCL_ADD_TEST(feature_shot_lrf_estimation test_shot_lrf_estimation
+ FILES test_shot_lrf_estimation.cpp
+ LINK_WITH pcl_gtest pcl_features pcl_io
+ ARGUMENTS "${PCL_SOURCE_DIR}/test/bun0.pcd")
+ PCL_ADD_TEST(features_narf test_narf
+ FILES test_narf.cpp
+- LINK_WITH pcl_gtest pcl_features ${FLANN_LIBRARIES})
++ LINK_WITH pcl_gtest pcl_features flann::flann_cpp)
+ PCL_ADD_TEST(a_ii_normals_test test_ii_normals
+ FILES test_ii_normals.cpp
+ LINK_WITH pcl_gtest pcl_io pcl_features
diff --git a/ports/pfultz2-linq/CONTROL b/ports/pfultz2-linq/CONTROL
index 3cd309de4..e8185c327 100644
--- a/ports/pfultz2-linq/CONTROL
+++ b/ports/pfultz2-linq/CONTROL
@@ -1,4 +1,4 @@
Source: pfultz2-linq
-Version: 2018-02-08
+Version: 2019-05-14
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
deleted file mode 100644
index da6838a8b..000000000
--- a/ports/pfultz2-linq/fix-cmake.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-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
index fe03a89df..de0980b6a 100644
--- a/ports/pfultz2-linq/portfile.cmake
+++ b/ports/pfultz2-linq/portfile.cmake
@@ -5,11 +5,9 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO pfultz2/Linq
- REF 51e45d25faa95f945d0bf515f214feed4401e542
- SHA512 128973f79f1cc1f63b5ad4501cc3247352559de382c2ab2fc8fb2df90f8926e373db3469414a2e3816f27fb606c1139a25e94b4e5203201e7ab0320b4b004b4d
+ REF 7ff0a73fed52be5e11df3d79128ce7b11f430af2
+ SHA512 6768e28bf17568436b4c3fed18f6b1edbe048b871ebee25580419b805498beb0800e473ecdc5acc0f9f89bec47d16fd3806018ce6395bdf14a8e2975cde9381f
HEAD_REF master
- PATCHES
- fix-cmake.patch
)
vcpkg_configure_cmake(
diff --git a/ports/zopfli/CONTROL b/ports/zopfli/CONTROL
new file mode 100644
index 000000000..8b7a02399
--- /dev/null
+++ b/ports/zopfli/CONTROL
@@ -0,0 +1,3 @@
+Source: zopfli
+Version: 2019-01-19
+Description: Zopfli Compression Algorithm compression library programmed in C
diff --git a/ports/zopfli/portfile.cmake b/ports/zopfli/portfile.cmake
new file mode 100644
index 000000000..d19902027
--- /dev/null
+++ b/ports/zopfli/portfile.cmake
@@ -0,0 +1,75 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/zopfli
+ REF ef109ddf164911cf1e5612e90b4a619839a1e3ca
+ SHA512 9067d14c3ca7f5f07a0c4913ae1804128cf928770359618eab3c655ccbfa7260a11ec1db871a7e5be7d92098c2dda5a55b948eb779c9c64647bddfd1e9ace1f5
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DZOPFLI_BUILD_INSTALL=ON
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+if (WIN32)
+ set(EXECUTABLE_SUFFIX ".exe")
+else()
+ set(EXECUTABLE_SUFFIX "")
+endif()
+
+# Install tools
+file(COPY ${CURRENT_PACKAGES_DIR}/bin/zopfli${EXECUTABLE_SUFFIX}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+file(COPY ${CURRENT_PACKAGES_DIR}/bin/zopflipng${EXECUTABLE_SUFFIX}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+else()
+ file(REMOVE
+ ${CURRENT_PACKAGES_DIR}/bin/zopfli${EXECUTABLE_SUFFIX}
+ ${CURRENT_PACKAGES_DIR}/bin/zopflipng${EXECUTABLE_SUFFIX}
+ ${CURRENT_PACKAGES_DIR}/debug/bin/zopfli${EXECUTABLE_SUFFIX}
+ ${CURRENT_PACKAGES_DIR}/debug/bin/zopflipng${EXECUTABLE_SUFFIX}
+ )
+endif()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Zopfli)
+
+# vcpkg_fixup_cmake_targets can not handles this on UNIX currently.
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR
+ VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/zopfli/ZopfliConfig-debug.cmake
+ "\"\${_IMPORT_PREFIX}/debug/bin/zopfli\""
+ "\"\${_IMPORT_PREFIX}/tools/zopfli/zopfli\""
+ )
+ vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/zopfli/ZopfliConfig-debug.cmake
+ "\"\${_IMPORT_PREFIX}/debug/bin/zopflipng\""
+ "\"\${_IMPORT_PREFIX}/tools/zopfli/zopflipng\""
+ )
+ vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/zopfli/ZopfliConfig-release.cmake
+ "\"\${_IMPORT_PREFIX}/bin/zopfli\""
+ "\"\${_IMPORT_PREFIX}/tools/zopfli/zopfli\""
+ )
+ vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/zopfli/ZopfliConfig-release.cmake
+ "\"\${_IMPORT_PREFIX}/bin/zopflipng\""
+ "\"\${_IMPORT_PREFIX}/tools/zopfli/zopflipng\""
+ )
+endif()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+# CMake integration test
+vcpkg_test_cmake(PACKAGE_NAME ${PORT})
diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake
index 4c3dad309..2844db884 100644
--- a/scripts/buildsystems/vcpkg.cmake
+++ b/scripts/buildsystems/vcpkg.cmake
@@ -169,6 +169,7 @@ function(add_executable name)
_add_executable(${ARGV})
list(FIND ARGV "IMPORTED" IMPORTED_IDX)
list(FIND ARGV "ALIAS" ALIAS_IDX)
+ list(FIND ARGV "MACOSX_BUNDLE" MACOSX_BUNDLE_IDX)
if(IMPORTED_IDX EQUAL -1 AND ALIAS_IDX EQUAL -1)
if(VCPKG_APPLOCAL_DEPS)
if(_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp")
@@ -179,7 +180,7 @@ function(add_executable name)
-OutVariable out
)
elseif(_VCPKG_TARGET_TRIPLET_PLAT MATCHES "osx")
- if ("MACOSX_BUNDLE" IN_LIST ARGV)
+ if (NOT MACOSX_BUNDLE_IDX EQUAL -1)
add_custom_command(TARGET ${name} POST_BUILD
COMMAND python ${_VCPKG_TOOLCHAIN_DIR}/osx/applocal.py
$<TARGET_FILE:${name}>
diff --git a/toolsrc/include/vcpkg/globalstate.h b/toolsrc/include/vcpkg/globalstate.h
index 2026ea369..263b5f80c 100644
--- a/toolsrc/include/vcpkg/globalstate.h
+++ b/toolsrc/include/vcpkg/globalstate.h
@@ -13,8 +13,6 @@ namespace vcpkg
static Util::LockGuarded<Chrono::ElapsedTimer> timer;
static Util::LockGuarded<std::string> g_surveydate;
- static std::atomic<bool> debugging;
- static std::atomic<bool> feature_packages;
static std::atomic<bool> g_binary_caching;
static std::atomic<int> g_init_console_cp;
diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp
index 2c0f562b6..9102205d8 100644
--- a/toolsrc/src/vcpkg.cpp
+++ b/toolsrc/src/vcpkg.cpp
@@ -294,11 +294,11 @@ int main(const int argc, const char* const* const argv)
Checks::register_global_shutdown_handler([]() {
const auto elapsed_us_inner = GlobalState::timer.lock()->microseconds();
- bool debugging = GlobalState::debugging;
+ bool debugging = Debug::g_debugging;
auto metrics = Metrics::g_metrics.lock();
metrics->track_metric("elapsed_us", elapsed_us_inner);
- GlobalState::debugging = false;
+ Debug::g_debugging = false;
metrics->flush();
#if defined(_WIN32)
@@ -337,14 +337,13 @@ int main(const int argc, const char* const* const argv)
const VcpkgCmdArguments args = VcpkgCmdArguments::create_from_command_line(argc, argv);
- if (const auto p = args.featurepackages.get()) GlobalState::feature_packages = *p;
if (const auto p = args.binarycaching.get()) GlobalState::g_binary_caching = *p;
if (const auto p = args.printmetrics.get()) Metrics::g_metrics.lock()->set_print_metrics(*p);
if (const auto p = args.sendmetrics.get()) Metrics::g_metrics.lock()->set_send_metrics(*p);
- if (const auto p = args.debug.get()) GlobalState::debugging = *p;
+ if (const auto p = args.debug.get()) Debug::g_debugging = *p;
- if (GlobalState::debugging)
+ if (Debug::g_debugging)
{
inner(args);
Checks::exit_fail(VCPKG_LINE_INFO);
diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp
index 53b782edc..c5f145052 100644
--- a/toolsrc/src/vcpkg/build.cpp
+++ b/toolsrc/src/vcpkg/build.cpp
@@ -8,6 +8,7 @@
#include <vcpkg/base/stringliteral.h>
#include <vcpkg/base/system.print.h>
#include <vcpkg/base/system.process.h>
+#include <vcpkg/base/system.debug.h>
#include <vcpkg/build.h>
#include <vcpkg/commands.h>
@@ -129,11 +130,6 @@ namespace vcpkg::Build::Command
const FullPackageSpec spec = Input::check_and_get_full_package_spec(
std::move(first_arg), default_triplet, COMMAND_STRUCTURE.example_text);
Input::check_triplet(spec.package_spec.triplet(), paths);
- if (!spec.features.empty() && !GlobalState::feature_packages)
- {
- Checks::exit_with_message(
- VCPKG_LINE_INFO, "Feature packages are experimentally available under the --featurepackages flag.");
- }
perform_and_exit_ex(spec, paths.port_dir(spec.package_spec), options, paths);
}
}
@@ -237,7 +233,7 @@ namespace vcpkg::Build
if (!pre_build_info.cmake_system_name.empty() && pre_build_info.cmake_system_name != "WindowsStore") return "";
const char* tonull = " >nul";
- if (GlobalState::debugging)
+ if (Debug::g_debugging)
{
tonull = "";
}
@@ -511,7 +507,7 @@ namespace vcpkg::Build
// which will give a stable ordering and better names in the key entry.
// this is not available in the filesystem TS so instead number the files for the key.
std::string key = Strings::format("file_%03d", counter++);
- if (GlobalState::debugging)
+ if (Debug::g_debugging)
{
System::print2("[DEBUG] mapping ", key, " from ", port_file.u8string(), "\n");
}
@@ -536,7 +532,7 @@ namespace vcpkg::Build
const std::string full_abi_info =
Strings::join("", abi_tag_entries, [](const AbiEntry& p) { return p.key + " " + p.value + "\n"; });
- if (GlobalState::debugging)
+ if (Debug::g_debugging)
{
System::print2("[DEBUG] <abientries>\n");
for (auto&& entry : abi_tag_entries)
diff --git a/toolsrc/src/vcpkg/globalstate.cpp b/toolsrc/src/vcpkg/globalstate.cpp
index 1a2c08474..aac5148fa 100644
--- a/toolsrc/src/vcpkg/globalstate.cpp
+++ b/toolsrc/src/vcpkg/globalstate.cpp
@@ -7,8 +7,6 @@ namespace vcpkg
Util::LockGuarded<Chrono::ElapsedTimer> GlobalState::timer;
Util::LockGuarded<std::string> GlobalState::g_surveydate;
- std::atomic<bool> GlobalState::debugging(false);
- std::atomic<bool> GlobalState::feature_packages(true);
std::atomic<bool> GlobalState::g_binary_caching(false);
std::atomic<int> GlobalState::g_init_console_cp(0);
diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp
index 14dfb6fa3..646e9bc2e 100644
--- a/toolsrc/src/vcpkg/install.cpp
+++ b/toolsrc/src/vcpkg/install.cpp
@@ -302,8 +302,7 @@ namespace vcpkg::Install
{
const InstallPlanType& plan_type = action.plan_type;
const std::string display_name = action.spec.to_string();
- const std::string display_name_with_features =
- GlobalState::feature_packages ? action.displayname() : display_name;
+ const std::string display_name_with_features = action.displayname();
const bool is_user_requested = action.request_type == RequestType::USER_REQUESTED;
const bool use_head_version = Util::Enum::to_bool(action.build_options.use_head_version);
@@ -615,11 +614,6 @@ namespace vcpkg::Install
for (auto&& spec : specs)
{
Input::check_triplet(spec.package_spec.triplet(), paths);
- if (!spec.features.empty() && !GlobalState::feature_packages)
- {
- Checks::exit_with_message(
- VCPKG_LINE_INFO, "Feature packages are experimentally available under the --featurepackages flag.");
- }
}
const bool dry_run = Util::Sets::contains(options.switches, OPTION_DRY_RUN);
@@ -655,20 +649,6 @@ namespace vcpkg::Install
std::vector<AnyAction> action_plan =
create_feature_install_plan(provider, FullPackageSpec::to_feature_specs(specs), status_db);
- if (!GlobalState::feature_packages)
- {
- for (auto&& action : action_plan)
- {
- if (action.remove_action.has_value())
- {
- Checks::exit_with_message(
- VCPKG_LINE_INFO,
- "The installation plan requires feature packages support. Please re-run the "
- "command with --featurepackages.");
- }
- }
- }
-
for (auto&& action : action_plan)
{
if (auto p_install = action.install_action.get())
diff --git a/toolsrc/src/vcpkg/paragraphs.cpp b/toolsrc/src/vcpkg/paragraphs.cpp
index 45f939afd..431fad5ca 100644
--- a/toolsrc/src/vcpkg/paragraphs.cpp
+++ b/toolsrc/src/vcpkg/paragraphs.cpp
@@ -3,7 +3,7 @@
#include <vcpkg/base/files.h>
#include <vcpkg/base/system.print.h>
#include <vcpkg/base/util.h>
-#include <vcpkg/globalstate.h>
+#include <vcpkg/base/system.debug.h>
#include <vcpkg/paragraphparseresult.h>
#include <vcpkg/paragraphs.h>
@@ -211,17 +211,7 @@ namespace vcpkg::Paragraphs
Expected<std::vector<std::unordered_map<std::string, std::string>>> pghs = get_paragraphs(fs, path / "CONTROL");
if (auto vector_pghs = pghs.get())
{
- auto csf = SourceControlFile::parse_control_file(std::move(*vector_pghs));
- if (!GlobalState::feature_packages)
- {
- if (auto ptr = csf.get())
- {
- Checks::check_exit(VCPKG_LINE_INFO, ptr->get() != nullptr);
- ptr->get()->core_paragraph->default_features.clear();
- ptr->get()->feature_paragraphs.clear();
- }
- }
- return csf;
+ return SourceControlFile::parse_control_file(std::move(*vector_pghs));
}
auto error_info = std::make_unique<ParseControlErrorInfo>();
error_info->name = path.filename().generic_u8string();
@@ -279,7 +269,7 @@ namespace vcpkg::Paragraphs
auto results = try_load_all_ports(fs, ports_dir);
if (!results.errors.empty())
{
- if (GlobalState::debugging)
+ if (Debug::g_debugging)
{
print_error_message(results.errors);
}