From 73a99865b1ff60bb3aa3d6a7dd98219f9301d379 Mon Sep 17 00:00:00 2001 From: Thad House Date: Thu, 11 Apr 2019 23:03:35 -0700 Subject: Add WPILib port for vcpkg --- ...Fix-GUID-comparison-creating-weird-symbol.patch | 57 ++++++++++++++++++++ ports/wpilib/CONTROL | 11 ++++ ports/wpilib/portfile.cmake | 62 ++++++++++++++++++++++ scripts/buildsystems/vcpkg.cmake | 8 ++- 4 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 ports/wpilib/0006-Fix-GUID-comparison-creating-weird-symbol.patch create mode 100644 ports/wpilib/CONTROL create mode 100644 ports/wpilib/portfile.cmake diff --git a/ports/wpilib/0006-Fix-GUID-comparison-creating-weird-symbol.patch b/ports/wpilib/0006-Fix-GUID-comparison-creating-weird-symbol.patch new file mode 100644 index 000000000..44b6be481 --- /dev/null +++ b/ports/wpilib/0006-Fix-GUID-comparison-creating-weird-symbol.patch @@ -0,0 +1,57 @@ +From afa930371f3b297a1846cd1892576a20ec7e6ece Mon Sep 17 00:00:00 2001 +From: Thad House +Date: Thu, 11 Apr 2019 22:37:46 -0700 +Subject: [PATCH 6/6] Fix GUID comparison creating weird symbol + +--- + cscore/build.gradle | 4 ++-- + cscore/src/main/native/windows/UsbCameraImpl.cpp | 10 +++++----- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/cscore/build.gradle b/cscore/build.gradle +index 3162c8804..40cb97daf 100644 +--- a/cscore/build.gradle ++++ b/cscore/build.gradle +@@ -98,11 +98,11 @@ model { + x86ExcludeSymbols = ['_CT??_R0?AV_System_error', '_CT??_R0?AVexception', '_CT??_R0?AVfailure', + '_CT??_R0?AVbad_cast', + '_CT??_R0?AVruntime_error', '_CT??_R0?AVsystem_error', '_CTA5?AVfailure', +- '_TI5?AVfailure', '=='] ++ '_TI5?AVfailure'] + x64ExcludeSymbols = ['_CT??_R0?AV_System_error', '_CT??_R0?AVexception', '_CT??_R0?AVfailure', + '_CT??_R0?AVbad_cast', + '_CT??_R0?AVruntime_error', '_CT??_R0?AVsystem_error', '_CTA5?AVfailure', +- '_TI5?AVfailure', '=='] ++ '_TI5?AVfailure'] + } + cscoreJNI(ExportsConfig) { + x86SymbolFilter = { symbols -> +diff --git a/cscore/src/main/native/windows/UsbCameraImpl.cpp b/cscore/src/main/native/windows/UsbCameraImpl.cpp +index e45f361d4..3a6446554 100644 +--- a/cscore/src/main/native/windows/UsbCameraImpl.cpp ++++ b/cscore/src/main/native/windows/UsbCameraImpl.cpp +@@ -413,16 +413,16 @@ LRESULT UsbCameraImpl::PumpMain(HWND hwnd, UINT uiMsg, WPARAM wParam, + + static cs::VideoMode::PixelFormat GetFromGUID(const GUID& guid) { + // Compare GUID to one of the supported ones +- if (guid == MFVideoFormat_NV12) { ++ if (IsEqualGUID(guid, MFVideoFormat_NV12)) { + // GrayScale + return cs::VideoMode::PixelFormat::kGray; +- } else if (guid == MFVideoFormat_YUY2) { ++ } else if (IsEqualGUID(guid, MFVideoFormat_YUY2)) { + return cs::VideoMode::PixelFormat::kYUYV; +- } else if (guid == MFVideoFormat_RGB24) { ++ } else if (IsEqualGUID(guid, MFVideoFormat_RGB24)) { + return cs::VideoMode::PixelFormat::kBGR; +- } else if (guid == MFVideoFormat_MJPG) { ++ } else if (IsEqualGUID(guid, MFVideoFormat_MJPG)) { + return cs::VideoMode::PixelFormat::kMJPEG; +- } else if (guid == MFVideoFormat_RGB565) { ++ } else if (IsEqualGUID(guid, MFVideoFormat_RGB565)) { + return cs::VideoMode::PixelFormat::kRGB565; + } else { + return cs::VideoMode::PixelFormat::kUnknown; +-- +2.18.0.windows.1 + diff --git a/ports/wpilib/CONTROL b/ports/wpilib/CONTROL new file mode 100644 index 000000000..24ab2e23f --- /dev/null +++ b/ports/wpilib/CONTROL @@ -0,0 +1,11 @@ +Source: wpilib +Version: 2019.4.1 +Description: WPILib is the software library package for the FIRST Robotics Competition. The core install includes wpiutil, a common utilies library, and ntcore, the base NetworkTables library. + +Feature: cameraserver +Build-Depends: opencv +Description: Enables the CameraServer and CSCore libraries for manipulating USB Cameras and HTTP Camera Streams + +Feature: allwpilib +Build-Depends: wpilib[cameraserver] opencv +Description: Enables the simulation HAL, and the high level wpilibc library. diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake new file mode 100644 index 000000000..90627060e --- /dev/null +++ b/ports/wpilib/portfile.cmake @@ -0,0 +1,62 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wpilibsuite/allwpilib + REF v2019.4.1 + SHA512 8a79e55cd5f3aaf60eb8c0a952d33c82b5e5c997e72d7ad1cf3a99165a0057dfc5d3fc742d7dcefc7a1d3031bfc185b107968545159d7d5177a601df85df271e + HEAD_REF master + PATCHES + 0006-Fix-GUID-comparison-creating-weird-symbol.patch +) + +set(WITHOUT_JAVA ON) +set(WITHOUT_CSCORE ON) +set(WITHOUT_ALLWPILIB ON) + +if ("cameraserver" IN_LIST FEATURES) + set(WITHOUT_CSCORE OFF) +endif() + +if ("allwpilib" IN_LIST FEATURES) + set(WITHOUT_ALLWPILIB OFF) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + + OPTIONS + -DWITHOUT_JAVA=${WITHOUT_JAVA} + -DWITHOUT_CSCORE=${WITHOUT_CSCORE} + -DWITHOUT_ALLWPILIB=${WITHOUT_ALLWPILIB} + -DFLAT_INSTALL_HEADERS=ON +) +vcpkg_install_cmake() + +file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/ntcore/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/wpiutil/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +if (NOT WITHOUT_ALLWPILIB) +file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/wpilibc/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/hal/gen/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/hal/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/gen) +endif() +if (NOT WITHOUT_CSCORE) +file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/cameraserver/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/cscore/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +endif() + +file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.dll") +file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.dll") + +file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.pdb") +file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.pdb") + +file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib FILES_MATCHING PATTERN "*.lib") +file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib FILES_MATCHING PATTERN "*.lib") + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/wpilib) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/wpilib) + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wpilib RENAME copyright) diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index b2a589421..29bbd7523 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -37,6 +37,12 @@ else() set(_VCPKG_TARGET_TRIPLET_ARCH arm) elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017$") set(_VCPKG_TARGET_TRIPLET_ARCH x86) + elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019 Win64$") + set(_VCPKG_TARGET_TRIPLET_ARCH x64) + elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019 ARM$") + set(_VCPKG_TARGET_TRIPLET_ARCH arm) + elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019$") + set(_VCPKG_TARGET_TRIPLET_ARCH x86) else() find_program(_VCPKG_CL cl) if(_VCPKG_CL MATCHES "amd64/cl.exe$" OR _VCPKG_CL MATCHES "x64/cl.exe$") @@ -95,7 +101,7 @@ if(NOT EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" AND NOT _CMAKE_I message(WARNING "There are no libraries installed for the Vcpkg triplet ${VCPKG_TARGET_TRIPLET}.") endif() -if(CMAKE_BUILD_TYPE MATCHES "^Debug$" OR NOT DEFINED CMAKE_BUILD_TYPE) #Debug build: Put Debug paths before Release paths. +if(CMAKE_BUILD_TYPE MATCHES "^Debug$" OR NOT DEFINED CMAKE_BUILD_TYPE) #Debug build: Put Debug paths before Release paths. list(APPEND CMAKE_PREFIX_PATH ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET} ) -- cgit v1.2.3 From 8e50af6ff77f71b5641cd5e7ce76a34b8692d0eb Mon Sep 17 00:00:00 2001 From: Thad House Date: Sat, 13 Apr 2019 14:38:13 -0700 Subject: Update wpilib port to custom build --- ...Fix-GUID-comparison-creating-weird-symbol.patch | 57 ---------------------- ports/wpilib/CONTROL | 1 + ports/wpilib/portfile.cmake | 15 +++--- 3 files changed, 7 insertions(+), 66 deletions(-) delete mode 100644 ports/wpilib/0006-Fix-GUID-comparison-creating-weird-symbol.patch diff --git a/ports/wpilib/0006-Fix-GUID-comparison-creating-weird-symbol.patch b/ports/wpilib/0006-Fix-GUID-comparison-creating-weird-symbol.patch deleted file mode 100644 index 44b6be481..000000000 --- a/ports/wpilib/0006-Fix-GUID-comparison-creating-weird-symbol.patch +++ /dev/null @@ -1,57 +0,0 @@ -From afa930371f3b297a1846cd1892576a20ec7e6ece Mon Sep 17 00:00:00 2001 -From: Thad House -Date: Thu, 11 Apr 2019 22:37:46 -0700 -Subject: [PATCH 6/6] Fix GUID comparison creating weird symbol - ---- - cscore/build.gradle | 4 ++-- - cscore/src/main/native/windows/UsbCameraImpl.cpp | 10 +++++----- - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/cscore/build.gradle b/cscore/build.gradle -index 3162c8804..40cb97daf 100644 ---- a/cscore/build.gradle -+++ b/cscore/build.gradle -@@ -98,11 +98,11 @@ model { - x86ExcludeSymbols = ['_CT??_R0?AV_System_error', '_CT??_R0?AVexception', '_CT??_R0?AVfailure', - '_CT??_R0?AVbad_cast', - '_CT??_R0?AVruntime_error', '_CT??_R0?AVsystem_error', '_CTA5?AVfailure', -- '_TI5?AVfailure', '=='] -+ '_TI5?AVfailure'] - x64ExcludeSymbols = ['_CT??_R0?AV_System_error', '_CT??_R0?AVexception', '_CT??_R0?AVfailure', - '_CT??_R0?AVbad_cast', - '_CT??_R0?AVruntime_error', '_CT??_R0?AVsystem_error', '_CTA5?AVfailure', -- '_TI5?AVfailure', '=='] -+ '_TI5?AVfailure'] - } - cscoreJNI(ExportsConfig) { - x86SymbolFilter = { symbols -> -diff --git a/cscore/src/main/native/windows/UsbCameraImpl.cpp b/cscore/src/main/native/windows/UsbCameraImpl.cpp -index e45f361d4..3a6446554 100644 ---- a/cscore/src/main/native/windows/UsbCameraImpl.cpp -+++ b/cscore/src/main/native/windows/UsbCameraImpl.cpp -@@ -413,16 +413,16 @@ LRESULT UsbCameraImpl::PumpMain(HWND hwnd, UINT uiMsg, WPARAM wParam, - - static cs::VideoMode::PixelFormat GetFromGUID(const GUID& guid) { - // Compare GUID to one of the supported ones -- if (guid == MFVideoFormat_NV12) { -+ if (IsEqualGUID(guid, MFVideoFormat_NV12)) { - // GrayScale - return cs::VideoMode::PixelFormat::kGray; -- } else if (guid == MFVideoFormat_YUY2) { -+ } else if (IsEqualGUID(guid, MFVideoFormat_YUY2)) { - return cs::VideoMode::PixelFormat::kYUYV; -- } else if (guid == MFVideoFormat_RGB24) { -+ } else if (IsEqualGUID(guid, MFVideoFormat_RGB24)) { - return cs::VideoMode::PixelFormat::kBGR; -- } else if (guid == MFVideoFormat_MJPG) { -+ } else if (IsEqualGUID(guid, MFVideoFormat_MJPG)) { - return cs::VideoMode::PixelFormat::kMJPEG; -- } else if (guid == MFVideoFormat_RGB565) { -+ } else if (IsEqualGUID(guid, MFVideoFormat_RGB565)) { - return cs::VideoMode::PixelFormat::kRGB565; - } else { - return cs::VideoMode::PixelFormat::kUnknown; --- -2.18.0.windows.1 - diff --git a/ports/wpilib/CONTROL b/ports/wpilib/CONTROL index 24ab2e23f..0d93d9bb5 100644 --- a/ports/wpilib/CONTROL +++ b/ports/wpilib/CONTROL @@ -1,5 +1,6 @@ Source: wpilib Version: 2019.4.1 +Build-Depends: libuv Description: WPILib is the software library package for the FIRST Robotics Competition. The core install includes wpiutil, a common utilies library, and ntcore, the base NetworkTables library. Feature: cameraserver diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake index 90627060e..36ba4aba6 100644 --- a/ports/wpilib/portfile.cmake +++ b/ports/wpilib/portfile.cmake @@ -2,12 +2,10 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO wpilibsuite/allwpilib - REF v2019.4.1 - SHA512 8a79e55cd5f3aaf60eb8c0a952d33c82b5e5c997e72d7ad1cf3a99165a0057dfc5d3fc742d7dcefc7a1d3031bfc185b107968545159d7d5177a601df85df271e - HEAD_REF master - PATCHES - 0006-Fix-GUID-comparison-creating-weird-symbol.patch + REPO thadhouse/allwpilib + REF v2019.42.42 + SHA512 fd8d1030bffe67912c09e6dd9aedd71be10a5994aae9d371eb7a0b0faa67bc2743a16d9c31a4472f933819d3d109c676d506df7ca6df46ca68ec92290d3a8a47 + HEAD_REF vcpkgrelease ) set(WITHOUT_JAVA ON) @@ -30,7 +28,7 @@ vcpkg_configure_cmake( -DWITHOUT_JAVA=${WITHOUT_JAVA} -DWITHOUT_CSCORE=${WITHOUT_CSCORE} -DWITHOUT_ALLWPILIB=${WITHOUT_ALLWPILIB} - -DFLAT_INSTALL_HEADERS=ON + -DUSE_VCPKG_LIBUV=ON ) vcpkg_install_cmake() @@ -56,7 +54,6 @@ file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAG file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib FILES_MATCHING PATTERN "*.lib") file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib FILES_MATCHING PATTERN "*.lib") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/wpilib) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/wpilib) +vcpkg_copy_pdbs() file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wpilib RENAME copyright) -- cgit v1.2.3 From 92499d35cfd141d4483a92169a648e723c852cce Mon Sep 17 00:00:00 2001 From: Thad House Date: Sat, 13 Apr 2019 23:00:54 -0700 Subject: Linux building, and cmake building --- ...-Update-cmake-find-to-support-vcpkg-libuv.patch | 330 +++++++++++++++++++++ ports/wpilib/portfile.cmake | 18 +- 2 files changed, 344 insertions(+), 4 deletions(-) create mode 100644 ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch diff --git a/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch b/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch new file mode 100644 index 000000000..2d05db51d --- /dev/null +++ b/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch @@ -0,0 +1,330 @@ +From b560407ca2228da9f3c10f457800314a49336466 Mon Sep 17 00:00:00 2001 +From: Thad House +Date: Sat, 13 Apr 2019 22:04:31 -0700 +Subject: [PATCH] Update cmake find to support vcpkg libuv + +--- + CMakeLists.txt | 18 ++++++++++++++---- + cameraserver/CMakeLists.txt | 3 ++- + cameraserver/cameraserver-config.cmake | 8 -------- + cameraserver/cameraserver-config.cmake.in | 9 +++++++++ + cscore/CMakeLists.txt | 3 ++- + cscore/cscore-config.cmake | 6 ------ + cscore/cscore-config.cmake.in | 6 ++++++ + hal/CMakeLists.txt | 3 ++- + hal/hal-config.cmake | 5 ----- + hal/hal-config.cmake.in | 5 +++++ + ntcore/CMakeLists.txt | 3 ++- + ntcore/ntcore-config.cmake | 5 ----- + ntcore/ntcore-config.cmake.in | 5 +++++ + wpilib-config.cmake.in | 6 ++++-- + wpilibc/CMakeLists.txt | 3 ++- + wpilibc/wpilibc-config.cmake | 10 ---------- + wpilibc/wpilibc-config.cmake.in | 9 +++++++++ + wpiutil/CMakeLists.txt | 3 ++- + wpiutil/wpiutil-config.cmake | 2 -- + wpiutil/wpiutil-config.cmake.in | 7 +++++++ + 20 files changed, 71 insertions(+), 48 deletions(-) + delete mode 100644 cameraserver/cameraserver-config.cmake + create mode 100644 cameraserver/cameraserver-config.cmake.in + delete mode 100644 cscore/cscore-config.cmake + create mode 100644 cscore/cscore-config.cmake.in + delete mode 100644 hal/hal-config.cmake + create mode 100644 hal/hal-config.cmake.in + delete mode 100644 ntcore/ntcore-config.cmake + create mode 100644 ntcore/ntcore-config.cmake.in + delete mode 100644 wpilibc/wpilibc-config.cmake + create mode 100644 wpilibc/wpilibc-config.cmake.in + delete mode 100644 wpiutil/wpiutil-config.cmake + create mode 100644 wpiutil/wpiutil-config.cmake.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a5b89d9ac..f4e348e56 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -72,20 +72,30 @@ else() + set (wpilib_config_dir share/wpilib) + endif() + ++if (USE_VCPKG_LIBUV) ++set (LIBUV_VCPKG_REPLACE "find_package(unofficial-libuv CONFIG)") ++endif() ++ ++set(WPIUTIL_DEP_REPLACE "include($\{SELF_DIR\}/wpiutil-config.cmake)") ++set(NTCORE_DEP_REPLACE "include($\{SELF_DIR\}/ntcore-config.cmake)") ++ ++set(FILENAME_DEP_REPLACE "get_filename_component(SELF_DIR \"$\{CMAKE_CURRENT_LIST_FILE\}\" PATH)") ++set(SELF_DIR "$\{SELF_DIR\}") ++ + add_subdirectory(wpiutil) + add_subdirectory(ntcore) + + if (NOT WITHOUT_CSCORE) ++ set (CSCORE_DEP_REPLACE "include(\${SELF_DIR}/wpiutil-config.cmake)") ++ set (CAMERASERVER_DEP_REPLACE "include(\${SELF_DIR}/wpiutil-config.cmake)") + add_subdirectory(cscore) + add_subdirectory(cameraserver) +- set (CSCORE_DEP_REPLACE "find_dependency(cscore)") +- set (CAMERASERVER_DEP_REPLACE "find_dependency(cameraserver)") + if (NOT WITHOUT_ALLWPILIB) ++ set (HAL_DEP_REPLACE "include(\${SELF_DIR}/hal-config.cmake)") ++ set (WPILIBC_DEP_REPLACE "include(\${SELF_DIR}/wpilibc-config.cmake)") + add_subdirectory(hal) + add_subdirectory(wpilibj) + add_subdirectory(wpilibc) +- set (HAL_DEP_REPLACE "find_dependency(hal)") +- set (WPILIBC_DEP_REPLACE "find_dependency(wpilibc)") + endif() + endif() + +diff --git a/cameraserver/CMakeLists.txt b/cameraserver/CMakeLists.txt +index a3a74607a..75a45ce69 100644 +--- a/cameraserver/CMakeLists.txt ++++ b/cameraserver/CMakeLists.txt +@@ -49,7 +49,8 @@ else() + set (cameraserver_config_dir share/cameraserver) + endif() + +-install(FILES cameraserver-config.cmake DESTINATION ${cameraserver_config_dir}) ++configure_file(cameraserver-config.cmake.in ${CMAKE_BINARY_DIR}/cameraserver-config.cmake ) ++install(FILES ${CMAKE_BINARY_DIR}/cameraserver-config.cmake DESTINATION ${cameraserver_config_dir}) + install(EXPORT cameraserver DESTINATION ${cameraserver_config_dir}) + + file(GLOB multiCameraServer_src multiCameraServer/src/main/native/cpp/*.cpp) +diff --git a/cameraserver/cameraserver-config.cmake b/cameraserver/cameraserver-config.cmake +deleted file mode 100644 +index 2c2b1cc33..000000000 +--- a/cameraserver/cameraserver-config.cmake ++++ /dev/null +@@ -1,8 +0,0 @@ +-include(CMakeFindDependencyMacro) +-find_dependency(wpiutil) +-find_dependency(ntcore) +-find_dependency(cscore) +-find_dependency(OpenCV) +- +-get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-include(${SELF_DIR}/cameraserver.cmake) +diff --git a/cameraserver/cameraserver-config.cmake.in b/cameraserver/cameraserver-config.cmake.in +new file mode 100644 +index 000000000..0c71fc58c +--- /dev/null ++++ b/cameraserver/cameraserver-config.cmake.in +@@ -0,0 +1,9 @@ ++include(CMakeFindDependencyMacro) ++@FILENAME_DEP_REPLACE@ ++@WPIUTIL_DEP_REPLACE@ ++@NTCORE_DEP_REPLACE@ ++@CSCORE_DEP_REPLACE@ ++find_dependency(OpenCV) ++ ++include(${SELF_DIR}/cameraserver.cmake) ++ +diff --git a/cscore/CMakeLists.txt b/cscore/CMakeLists.txt +index 52bcb54a2..f6675e29c 100644 +--- a/cscore/CMakeLists.txt ++++ b/cscore/CMakeLists.txt +@@ -42,7 +42,8 @@ else() + set (cscore_config_dir share/cscore) + endif() + +-install(FILES cscore-config.cmake DESTINATION ${cscore_config_dir}) ++configure_file(cscore-config.cmake.in ${CMAKE_BINARY_DIR}/cscore-config.cmake ) ++install(FILES ${CMAKE_BINARY_DIR}/cscore-config.cmake DESTINATION ${cscore_config_dir}) + install(EXPORT cscore DESTINATION ${cscore_config_dir}) + + SUBDIR_LIST(cscore_examples "${CMAKE_CURRENT_SOURCE_DIR}/examples") +diff --git a/cscore/cscore-config.cmake b/cscore/cscore-config.cmake +deleted file mode 100644 +index 790633b87..000000000 +--- a/cscore/cscore-config.cmake ++++ /dev/null +@@ -1,6 +0,0 @@ +-include(CMakeFindDependencyMacro) +-find_dependency(wpiutil) +-find_dependency(OpenCV) +- +-get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-include(${SELF_DIR}/cscore.cmake) +diff --git a/cscore/cscore-config.cmake.in b/cscore/cscore-config.cmake.in +new file mode 100644 +index 000000000..7894fbaec +--- /dev/null ++++ b/cscore/cscore-config.cmake.in +@@ -0,0 +1,6 @@ ++include(CMakeFindDependencyMacro) ++@FILENAME_DEP_REPLACE@ ++@WPIUTIL_DEP_REPLACE@ ++find_dependency(OpenCV) ++ ++include(${SELF_DIR}/cscore.cmake) +diff --git a/hal/CMakeLists.txt b/hal/CMakeLists.txt +index e52d90ff0..3e338faec 100644 +--- a/hal/CMakeLists.txt ++++ b/hal/CMakeLists.txt +@@ -61,7 +61,8 @@ else() + set (hal_config_dir share/hal) + endif() + +-install(FILES hal-config.cmake DESTINATION ${hal_config_dir}) ++configure_file(hal-config.cmake.in ${CMAKE_BINARY_DIR}/hal-config.cmake ) ++install(FILES ${CMAKE_BINARY_DIR}/hal-config.cmake DESTINATION ${hal_config_dir}) + install(EXPORT hal DESTINATION ${hal_config_dir}) + + # Java bindings +diff --git a/hal/hal-config.cmake b/hal/hal-config.cmake +deleted file mode 100644 +index 97a574ebf..000000000 +--- a/hal/hal-config.cmake ++++ /dev/null +@@ -1,5 +0,0 @@ +-include(CMakeFindDependencyMacro) +-find_dependency(wpiutil) +- +-get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-include(${SELF_DIR}/hal.cmake) +diff --git a/hal/hal-config.cmake.in b/hal/hal-config.cmake.in +new file mode 100644 +index 000000000..ae5533c27 +--- /dev/null ++++ b/hal/hal-config.cmake.in +@@ -0,0 +1,5 @@ ++include(CMakeFindDependencyMacro) ++@FILENAME_DEP_REPLACE@ ++@WPIUTIL_DEP_REPLACE@ ++ ++include(${SELF_DIR}/hal.cmake) +diff --git a/ntcore/CMakeLists.txt b/ntcore/CMakeLists.txt +index 47e226401..aaf6159b2 100644 +--- a/ntcore/CMakeLists.txt ++++ b/ntcore/CMakeLists.txt +@@ -22,7 +22,8 @@ else() + set (ntcore_config_dir share/ntcore) + endif() + +-install(FILES ntcore-config.cmake DESTINATION ${ntcore_config_dir}) ++configure_file(ntcore-config.cmake.in ${CMAKE_BINARY_DIR}/ntcore-config.cmake ) ++install(FILES ${CMAKE_BINARY_DIR}/ntcore-config.cmake DESTINATION ${ntcore_config_dir}) + install(EXPORT ntcore DESTINATION ${ntcore_config_dir}) + + # Java bindings +diff --git a/ntcore/ntcore-config.cmake b/ntcore/ntcore-config.cmake +deleted file mode 100644 +index 6be1dda4a..000000000 +--- a/ntcore/ntcore-config.cmake ++++ /dev/null +@@ -1,5 +0,0 @@ +-include(CMakeFindDependencyMacro) +-find_dependency(wpiutil) +- +-get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-include(${SELF_DIR}/ntcore.cmake) +diff --git a/ntcore/ntcore-config.cmake.in b/ntcore/ntcore-config.cmake.in +new file mode 100644 +index 000000000..1e950e90c +--- /dev/null ++++ b/ntcore/ntcore-config.cmake.in +@@ -0,0 +1,5 @@ ++include(CMakeFindDependencyMacro) ++@FILENAME_DEP_REPLACE@ ++@WPIUTIL_DEP_REPLACE@ ++ ++include(${SELF_DIR}/ntcore.cmake) +diff --git a/wpilib-config.cmake.in b/wpilib-config.cmake.in +index 445db82d7..2c15dfe09 100644 +--- a/wpilib-config.cmake.in ++++ b/wpilib-config.cmake.in +@@ -1,8 +1,10 @@ + include(CMakeFindDependencyMacro) ++@FILENAME_DEP_REPLACE@ + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_dependency(Threads) +-find_dependency(wpiutil) +-find_dependency(ntcore) ++@LIBUV_VCPKG_REPLACE@ ++@WPIUTIL_DEP_REPLACE@ ++@NTCORE_DEP_REPLACE@ + @CSCORE_DEP_REPLACE@ + @CAMERASERVER_DEP_REPLACE@ + @HAL_DEP_REPLACE@ +diff --git a/wpilibc/CMakeLists.txt b/wpilibc/CMakeLists.txt +index da3587188..e04d3df3f 100644 +--- a/wpilibc/CMakeLists.txt ++++ b/wpilibc/CMakeLists.txt +@@ -26,5 +26,6 @@ else() + set (wpilibc_config_dir share/wpilibc) + endif() + +-install(FILES wpilibc-config.cmake DESTINATION ${wpilibc_config_dir}) ++configure_file(wpilibc-config.cmake.in ${CMAKE_BINARY_DIR}/wpilibc-config.cmake ) ++install(FILES ${CMAKE_BINARY_DIR}/wpilibc-config.cmake DESTINATION ${wpilibc_config_dir}) + install(EXPORT wpilibc DESTINATION ${wpilibc_config_dir}) +diff --git a/wpilibc/wpilibc-config.cmake b/wpilibc/wpilibc-config.cmake +deleted file mode 100644 +index 86f077c71..000000000 +--- a/wpilibc/wpilibc-config.cmake ++++ /dev/null +@@ -1,10 +0,0 @@ +-include(CMakeFindDependencyMacro) +-find_dependency(wpiutil) +-find_dependency(ntcore) +-find_dependency(cscore) +-find_dependency(cameraserver) +-find_dependency(hal) +-find_dependency(OpenCV) +- +-get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-include(${SELF_DIR}/wpilibc.cmake) +diff --git a/wpilibc/wpilibc-config.cmake.in b/wpilibc/wpilibc-config.cmake.in +new file mode 100644 +index 000000000..4332c550e +--- /dev/null ++++ b/wpilibc/wpilibc-config.cmake.in +@@ -0,0 +1,9 @@ ++include(CMakeFindDependencyMacro) ++@FILENAME_DEP_REPLACE@ ++@WPIUTIL_DEP_REPLACE@ ++@NTCORE_DEP_REPLACE@ ++@CSCORE_DEP_REPLACE@ ++@CAMERASERVER_DEP_REPLACE@ ++@HAL_DEP_REPLACE@ ++ ++include(${SELF_DIR}/wpilibc.cmake) +diff --git a/wpiutil/CMakeLists.txt b/wpiutil/CMakeLists.txt +index bcc0bcf5b..653ab141d 100644 +--- a/wpiutil/CMakeLists.txt ++++ b/wpiutil/CMakeLists.txt +@@ -130,7 +130,8 @@ else() + set (wpiutil_config_dir share/wpiutil) + endif() + +-install(FILES wpiutil-config.cmake DESTINATION ${wpiutil_config_dir}) ++configure_file(wpiutil-config.cmake.in ${CMAKE_BINARY_DIR}/wpiutil-config.cmake ) ++install(FILES ${CMAKE_BINARY_DIR}/wpiutil-config.cmake DESTINATION ${wpiutil_config_dir}) + install(EXPORT wpiutil DESTINATION ${wpiutil_config_dir}) + + SUBDIR_LIST(wpiutil_examples "${CMAKE_CURRENT_SOURCE_DIR}/examples") +diff --git a/wpiutil/wpiutil-config.cmake b/wpiutil/wpiutil-config.cmake +deleted file mode 100644 +index 91d01a77c..000000000 +--- a/wpiutil/wpiutil-config.cmake ++++ /dev/null +@@ -1,2 +0,0 @@ +-get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-include(${SELF_DIR}/wpiutil.cmake) +diff --git a/wpiutil/wpiutil-config.cmake.in b/wpiutil/wpiutil-config.cmake.in +new file mode 100644 +index 000000000..5d71bc192 +--- /dev/null ++++ b/wpiutil/wpiutil-config.cmake.in +@@ -0,0 +1,7 @@ ++include(CMakeFindDependencyMacro) ++@FILENAME_DEP_REPLACE@ ++set(THREADS_PREFER_PTHREAD_FLAG ON) ++find_dependency(Threads) ++@LIBUV_VCPKG_REPLACE@ ++ ++include(${SELF_DIR}/wpiutil.cmake) +-- +2.18.0.windows.1 + diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake index 36ba4aba6..752de1d07 100644 --- a/ports/wpilib/portfile.cmake +++ b/ports/wpilib/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REF v2019.42.42 SHA512 fd8d1030bffe67912c09e6dd9aedd71be10a5994aae9d371eb7a0b0faa67bc2743a16d9c31a4472f933819d3d109c676d506df7ca6df46ca68ec92290d3a8a47 HEAD_REF vcpkgrelease + PATCHES + 0001-Update-cmake-find-to-support-vcpkg-libuv.patch ) set(WITHOUT_JAVA ON) @@ -45,15 +47,23 @@ file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/cameraserver/ DESTINATION ${CUR file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/cscore/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) endif() -file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.dll") -file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.dll") +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.dll") + file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.dll") -file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.pdb") -file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.pdb") + file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.so") + file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.so") + + file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.dylib") + file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.dylib") +endif() file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib FILES_MATCHING PATTERN "*.lib") file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib FILES_MATCHING PATTERN "*.lib") +file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib FILES_MATCHING PATTERN "*.a") +file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib FILES_MATCHING PATTERN "*.a") + vcpkg_copy_pdbs() file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wpilib RENAME copyright) -- cgit v1.2.3 From 6500d20d482325a4ba2512ac00bdc27300ff98ed Mon Sep 17 00:00:00 2001 From: Thad House Date: Sun, 14 Apr 2019 10:05:22 -0700 Subject: Add flat install settings for wpulib --- ...-Update-cmake-find-to-support-vcpkg-libuv.patch | 162 ++++++++++++++++----- ports/wpilib/portfile.cmake | 3 +- 2 files changed, 125 insertions(+), 40 deletions(-) diff --git a/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch b/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch index 2d05db51d..6551be4ce 100644 --- a/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch +++ b/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch @@ -1,30 +1,31 @@ -From b560407ca2228da9f3c10f457800314a49336466 Mon Sep 17 00:00:00 2001 +From 090e7210fcb8ba91268a21f174a26a66762bbaee Mon Sep 17 00:00:00 2001 From: Thad House Date: Sat, 13 Apr 2019 22:04:31 -0700 Subject: [PATCH] Update cmake find to support vcpkg libuv --- - CMakeLists.txt | 18 ++++++++++++++---- - cameraserver/CMakeLists.txt | 3 ++- - cameraserver/cameraserver-config.cmake | 8 -------- - cameraserver/cameraserver-config.cmake.in | 9 +++++++++ - cscore/CMakeLists.txt | 3 ++- - cscore/cscore-config.cmake | 6 ------ - cscore/cscore-config.cmake.in | 6 ++++++ - hal/CMakeLists.txt | 3 ++- - hal/hal-config.cmake | 5 ----- - hal/hal-config.cmake.in | 5 +++++ - ntcore/CMakeLists.txt | 3 ++- - ntcore/ntcore-config.cmake | 5 ----- - ntcore/ntcore-config.cmake.in | 5 +++++ - wpilib-config.cmake.in | 6 ++++-- - wpilibc/CMakeLists.txt | 3 ++- - wpilibc/wpilibc-config.cmake | 10 ---------- - wpilibc/wpilibc-config.cmake.in | 9 +++++++++ - wpiutil/CMakeLists.txt | 3 ++- + CMakeLists.txt | 34 +++++++++++++++++++---- + cameraserver/CMakeLists.txt | 5 ++-- + cameraserver/cameraserver-config.cmake | 8 ------ + cameraserver/cameraserver-config.cmake.in | 9 ++++++ + cscore/CMakeLists.txt | 5 ++-- + cscore/cscore-config.cmake | 6 ---- + cscore/cscore-config.cmake.in | 6 ++++ + hal/CMakeLists.txt | 5 ++-- + hal/hal-config.cmake | 5 ---- + hal/hal-config.cmake.in | 5 ++++ + ntcore/CMakeLists.txt | 5 ++-- + ntcore/ntcore-config.cmake | 5 ---- + ntcore/ntcore-config.cmake.in | 5 ++++ + wpilib-config.cmake.in | 6 ++-- + wpilibc/CMakeLists.txt | 5 ++-- + wpilibc/wpilibc-config.cmake | 10 ------- + wpilibc/wpilibc-config.cmake.in | 9 ++++++ + wpilibj/CMakeLists.txt | 2 +- + wpiutil/CMakeLists.txt | 5 ++-- wpiutil/wpiutil-config.cmake | 2 -- - wpiutil/wpiutil-config.cmake.in | 7 +++++++ - 20 files changed, 71 insertions(+), 48 deletions(-) + wpiutil/wpiutil-config.cmake.in | 7 +++++ + 21 files changed, 93 insertions(+), 56 deletions(-) delete mode 100644 cameraserver/cameraserver-config.cmake create mode 100644 cameraserver/cameraserver-config.cmake.in delete mode 100644 cscore/cscore-config.cmake @@ -39,10 +40,25 @@ Subject: [PATCH] Update cmake find to support vcpkg libuv create mode 100644 wpiutil/wpiutil-config.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt -index a5b89d9ac..f4e348e56 100644 +index a5b89d9ac..a8f82f95e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -72,20 +72,30 @@ else() +@@ -51,6 +51,7 @@ option(WITHOUT_ALLWPILIB "Don't build allwpilib (removes OpenCV requirement)" ON + option(USE_EXTERNAL_HAL "Use a separately built HAL" OFF) + set(EXTERNAL_HAL_FILE "" CACHE FILEPATH "Location to look for an external HAL CMake File") + option(USE_VCPKG_LIBUV "Use vcpkg libuv" OFF) ++option(FLAT_INSTALL_WPILIB "Use a flat install directory" OFF) + + if (NOT WITHOUT_JAVA AND NOT BUILD_SHARED_LIBS) + message(FATAL_ERROR " +@@ -66,26 +67,49 @@ set( main_lib_dest wpilib/lib ) + set( java_lib_dest wpilib/java ) + set( jni_lib_dest wpilib/jni ) + +-if (MSVC) ++if (MSVC OR FLAT_INSTALL_WPILIB) + set (wpilib_config_dir ${wpilib_dest}) + else() set (wpilib_config_dir share/wpilib) endif() @@ -50,8 +66,21 @@ index a5b89d9ac..f4e348e56 100644 +set (LIBUV_VCPKG_REPLACE "find_package(unofficial-libuv CONFIG)") +endif() + ++if (FLAT_INSTALL_WPILIB) +set(WPIUTIL_DEP_REPLACE "include($\{SELF_DIR\}/wpiutil-config.cmake)") +set(NTCORE_DEP_REPLACE "include($\{SELF_DIR\}/ntcore-config.cmake)") ++set(CSCORE_DEP_REPLACE_IMPL "include(\${SELF_DIR}/cscore-config.cmake)") ++set(CAMERASERVER_DEP_REPLACE_IMPL "include(\${SELF_DIR}/cameraserver-config.cmake)") ++set(HAL_DEP_REPLACE_IMPL "include(\${SELF_DIR}/hal-config.cmake)") ++set(WPILIBC_DEP_REPLACE_IMPL "include(\${SELF_DIR}/wpilibc-config.cmake)") ++else() ++set(WPIUTIL_DEP_REPLACE "find_dependency(wpiutil)") ++set(NTCORE_DEP_REPLACE "find_dependency(ntcore)") ++set(CSCORE_DEP_REPLACE_IMPL "find_dependency(cscore)") ++set(CAMERASERVER_DEP_REPLACE_IMPL "find_dependency(cameraserver)") ++set(HAL_DEP_REPLACE_IMPL "find_dependency(hal)") ++set(WPILIBC_DEP_REPLACE_IMPL "find_dependency(wpilibc)") ++endif() + +set(FILENAME_DEP_REPLACE "get_filename_component(SELF_DIR \"$\{CMAKE_CURRENT_LIST_FILE\}\" PATH)") +set(SELF_DIR "$\{SELF_DIR\}") @@ -60,15 +89,15 @@ index a5b89d9ac..f4e348e56 100644 add_subdirectory(ntcore) if (NOT WITHOUT_CSCORE) -+ set (CSCORE_DEP_REPLACE "include(\${SELF_DIR}/wpiutil-config.cmake)") -+ set (CAMERASERVER_DEP_REPLACE "include(\${SELF_DIR}/wpiutil-config.cmake)") ++ set(CSCORE_DEP_REPLACE ${CSCORE_DEP_REPLACE_IMPL}) ++ set(CAMERASERVER_DEP_REPLACE ${CAMERASERVER_DEP_REPLACE_IMPL}) add_subdirectory(cscore) add_subdirectory(cameraserver) - set (CSCORE_DEP_REPLACE "find_dependency(cscore)") - set (CAMERASERVER_DEP_REPLACE "find_dependency(cameraserver)") if (NOT WITHOUT_ALLWPILIB) -+ set (HAL_DEP_REPLACE "include(\${SELF_DIR}/hal-config.cmake)") -+ set (WPILIBC_DEP_REPLACE "include(\${SELF_DIR}/wpilibc-config.cmake)") ++ set(HAL_DEP_REPLACE ${HAL_DEP_REPLACE_IMPL}) ++ set(WPILIBC_DEP_REPLACE ${WPILIBC_DEP_REPLACE_IMPL}) add_subdirectory(hal) add_subdirectory(wpilibj) add_subdirectory(wpilibc) @@ -78,10 +107,17 @@ index a5b89d9ac..f4e348e56 100644 endif() diff --git a/cameraserver/CMakeLists.txt b/cameraserver/CMakeLists.txt -index a3a74607a..75a45ce69 100644 +index a3a74607a..1a75ae48d 100644 --- a/cameraserver/CMakeLists.txt +++ b/cameraserver/CMakeLists.txt -@@ -49,7 +49,8 @@ else() +@@ -43,13 +43,14 @@ if (NOT WITHOUT_JAVA AND MSVC) + install(TARGETS cameraserver RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) + endif() + +-if (MSVC) ++if (MSVC OR FLAT_INSTALL_WPILIB) + set (cameraserver_config_dir ${wpilib_dest}) + else() set (cameraserver_config_dir share/cameraserver) endif() @@ -121,10 +157,17 @@ index 000000000..0c71fc58c +include(${SELF_DIR}/cameraserver.cmake) + diff --git a/cscore/CMakeLists.txt b/cscore/CMakeLists.txt -index 52bcb54a2..f6675e29c 100644 +index 52bcb54a2..805b3a583 100644 --- a/cscore/CMakeLists.txt +++ b/cscore/CMakeLists.txt -@@ -42,7 +42,8 @@ else() +@@ -36,13 +36,14 @@ set_property(TARGET cscore PROPERTY FOLDER "libraries") + install(TARGETS cscore EXPORT cscore DESTINATION "${main_lib_dest}") + install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/cscore") + +-if (MSVC) ++if (MSVC OR FLAT_INSTALL_WPILIB) + set (cscore_config_dir ${wpilib_dest}) + else() set (cscore_config_dir share/cscore) endif() @@ -159,10 +202,17 @@ index 000000000..7894fbaec + +include(${SELF_DIR}/cscore.cmake) diff --git a/hal/CMakeLists.txt b/hal/CMakeLists.txt -index e52d90ff0..3e338faec 100644 +index e52d90ff0..7394495db 100644 --- a/hal/CMakeLists.txt +++ b/hal/CMakeLists.txt -@@ -61,7 +61,8 @@ else() +@@ -55,13 +55,14 @@ install(TARGETS hal EXPORT hal DESTINATION "${main_lib_dest}") + install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/hal") + install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/gen DESTINATION "${include_dest}/hal") + +-if (MSVC) ++if (MSVC OR FLAT_INSTALL_WPILIB) + set (hal_config_dir ${wpilib_dest}) + else() set (hal_config_dir share/hal) endif() @@ -195,10 +245,17 @@ index 000000000..ae5533c27 + +include(${SELF_DIR}/hal.cmake) diff --git a/ntcore/CMakeLists.txt b/ntcore/CMakeLists.txt -index 47e226401..aaf6159b2 100644 +index 47e226401..1c00da138 100644 --- a/ntcore/CMakeLists.txt +++ b/ntcore/CMakeLists.txt -@@ -22,7 +22,8 @@ else() +@@ -16,13 +16,14 @@ set_property(TARGET ntcore PROPERTY FOLDER "libraries") + install(TARGETS ntcore EXPORT ntcore DESTINATION "${main_lib_dest}") + install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/ntcore") + +-if (MSVC) ++if (MSVC OR FLAT_INSTALL_WPILIB) + set (ntcore_config_dir ${wpilib_dest}) + else() set (ntcore_config_dir share/ntcore) endif() @@ -248,10 +305,17 @@ index 445db82d7..2c15dfe09 100644 @CAMERASERVER_DEP_REPLACE@ @HAL_DEP_REPLACE@ diff --git a/wpilibc/CMakeLists.txt b/wpilibc/CMakeLists.txt -index da3587188..e04d3df3f 100644 +index da3587188..7b131838b 100644 --- a/wpilibc/CMakeLists.txt +++ b/wpilibc/CMakeLists.txt -@@ -26,5 +26,6 @@ else() +@@ -20,11 +20,12 @@ set_property(TARGET wpilibc PROPERTY FOLDER "libraries") + install(TARGETS wpilibc EXPORT wpilibc DESTINATION "${main_lib_dest}") + install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/wpilibc") + +-if (MSVC) ++if (MSVC OR FLAT_INSTALL_WPILIB) + set (wpilibc_config_dir ${wpilib_dest}) + else() set (wpilibc_config_dir share/wpilibc) endif() @@ -290,11 +354,31 @@ index 000000000..4332c550e +@HAL_DEP_REPLACE@ + +include(${SELF_DIR}/wpilibc.cmake) +diff --git a/wpilibj/CMakeLists.txt b/wpilibj/CMakeLists.txt +index 61fb558fa..964fa0cc1 100644 +--- a/wpilibj/CMakeLists.txt ++++ b/wpilibj/CMakeLists.txt +@@ -23,7 +23,7 @@ if (NOT WITHOUT_JAVA) + + set_property(TARGET wpilibj_jar PROPERTY FOLDER "java") + +- if (MSVC) ++ if (MSVC OR FLAT_INSTALL_WPILIB) + set (wpilibj_config_dir ${wpilib_dest}) + else() + set (wpilibj_config_dir share/wpilibj) diff --git a/wpiutil/CMakeLists.txt b/wpiutil/CMakeLists.txt -index bcc0bcf5b..653ab141d 100644 +index bcc0bcf5b..de66a9671 100644 --- a/wpiutil/CMakeLists.txt +++ b/wpiutil/CMakeLists.txt -@@ -130,7 +130,8 @@ else() +@@ -124,13 +124,14 @@ if (NOT WITHOUT_JAVA AND MSVC) + install(TARGETS wpiutil RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) + endif() + +-if (MSVC) ++if (MSVC OR FLAT_INSTALL_WPILIB) + set (wpiutil_config_dir ${wpilib_dest}) + else() set (wpiutil_config_dir share/wpiutil) endif() diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake index 752de1d07..79853f6a0 100644 --- a/ports/wpilib/portfile.cmake +++ b/ports/wpilib/portfile.cmake @@ -31,6 +31,7 @@ vcpkg_configure_cmake( -DWITHOUT_CSCORE=${WITHOUT_CSCORE} -DWITHOUT_ALLWPILIB=${WITHOUT_ALLWPILIB} -DUSE_VCPKG_LIBUV=ON + -DFLAT_INSTALL_WPILIB=ON ) vcpkg_install_cmake() @@ -47,7 +48,7 @@ file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/cameraserver/ DESTINATION ${CUR file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/cscore/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.dll") file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.dll") -- cgit v1.2.3 From dd2100ee80b3dc458ecac5e55eaf00808651eb99 Mon Sep 17 00:00:00 2001 From: Thad House Date: Sun, 14 Apr 2019 10:44:42 -0700 Subject: VS 2019 support --- scripts/buildsystems/vcpkg.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index 29bbd7523..1a6345563 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -39,10 +39,12 @@ else() set(_VCPKG_TARGET_TRIPLET_ARCH x86) elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019 Win64$") set(_VCPKG_TARGET_TRIPLET_ARCH x64) + elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019 Win32$") + set(_VCPKG_TARGET_TRIPLET_ARCH x86) elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019 ARM$") set(_VCPKG_TARGET_TRIPLET_ARCH arm) elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019$") - set(_VCPKG_TARGET_TRIPLET_ARCH x86) + set(_VCPKG_TARGET_TRIPLET_ARCH x64) else() find_program(_VCPKG_CL cl) if(_VCPKG_CL MATCHES "amd64/cl.exe$" OR _VCPKG_CL MATCHES "x64/cl.exe$") -- cgit v1.2.3 From b0a7ab2c53856a040eebcce25d8c5a5e28c2c577 Mon Sep 17 00:00:00 2001 From: Thad House Date: Tue, 16 Apr 2019 08:03:18 -0700 Subject: Update patch --- ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch b/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch index 6551be4ce..a461052df 100644 --- a/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch +++ b/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch @@ -1,8 +1,9 @@ -From 090e7210fcb8ba91268a21f174a26a66762bbaee Mon Sep 17 00:00:00 2001 +From 1cc701c3620b24440fdd7ad95683dca09e575008 Mon Sep 17 00:00:00 2001 From: Thad House Date: Sat, 13 Apr 2019 22:04:31 -0700 Subject: [PATCH] Update cmake find to support vcpkg libuv +Fix install on MSVC --- CMakeLists.txt | 34 +++++++++++++++++++---- cameraserver/CMakeLists.txt | 5 ++-- @@ -40,7 +41,7 @@ Subject: [PATCH] Update cmake find to support vcpkg libuv create mode 100644 wpiutil/wpiutil-config.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt -index a5b89d9ac..a8f82f95e 100644 +index a5b89d9ac..20557d78e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,6 +51,7 @@ option(WITHOUT_ALLWPILIB "Don't build allwpilib (removes OpenCV requirement)" ON @@ -66,7 +67,7 @@ index a5b89d9ac..a8f82f95e 100644 +set (LIBUV_VCPKG_REPLACE "find_package(unofficial-libuv CONFIG)") +endif() + -+if (FLAT_INSTALL_WPILIB) ++if (MSVC OR FLAT_INSTALL_WPILIB) +set(WPIUTIL_DEP_REPLACE "include($\{SELF_DIR\}/wpiutil-config.cmake)") +set(NTCORE_DEP_REPLACE "include($\{SELF_DIR\}/ntcore-config.cmake)") +set(CSCORE_DEP_REPLACE_IMPL "include(\${SELF_DIR}/cscore-config.cmake)") -- cgit v1.2.3 From 50306ffe82b4d2bf432806fdfbff0b84f2a20a36 Mon Sep 17 00:00:00 2001 From: Thad House Date: Wed, 17 Apr 2019 11:45:44 -0700 Subject: More fixes --- ...ix-Gray-to-BGR-conversion-in-CameraServer.patch | 25 ++++++++++++++++++++++ ports/wpilib/portfile.cmake | 1 + 2 files changed, 26 insertions(+) create mode 100644 ports/wpilib/0001-Fix-Gray-to-BGR-conversion-in-CameraServer.patch diff --git a/ports/wpilib/0001-Fix-Gray-to-BGR-conversion-in-CameraServer.patch b/ports/wpilib/0001-Fix-Gray-to-BGR-conversion-in-CameraServer.patch new file mode 100644 index 000000000..d6e98cd24 --- /dev/null +++ b/ports/wpilib/0001-Fix-Gray-to-BGR-conversion-in-CameraServer.patch @@ -0,0 +1,25 @@ +From 087e27acc634e06860f8e32274d7eb01d90f6873 Mon Sep 17 00:00:00 2001 +From: Thad House +Date: Tue, 16 Apr 2019 13:31:15 -0700 +Subject: [PATCH] Fix Gray to BGR conversion in CameraServer + +--- + cscore/src/main/native/cpp/Frame.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cscore/src/main/native/cpp/Frame.cpp b/cscore/src/main/native/cpp/Frame.cpp +index 15f9b2d28..b21ec873a 100644 +--- a/cscore/src/main/native/cpp/Frame.cpp ++++ b/cscore/src/main/native/cpp/Frame.cpp +@@ -361,7 +361,7 @@ Image* Frame::ConvertBGRToGray(Image* image) { + } + + Image* Frame::ConvertGrayToBGR(Image* image) { +- if (!image || image->pixelFormat != VideoMode::kBGR) return nullptr; ++ if (!image || image->pixelFormat != VideoMode::kGray) return nullptr; + + // Allocate a BGR image + auto newImage = +-- +2.18.0.windows.1 + diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake index 79853f6a0..3289333fa 100644 --- a/ports/wpilib/portfile.cmake +++ b/ports/wpilib/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( HEAD_REF vcpkgrelease PATCHES 0001-Update-cmake-find-to-support-vcpkg-libuv.patch + 0001-Fix-Gray-to-BGR-conversion-in-CameraServer.patch ) set(WITHOUT_JAVA ON) -- cgit v1.2.3 From eb6513f27482d94d113e85523ce4362c7cac6846 Mon Sep 17 00:00:00 2001 From: Stijn Herfst Date: Mon, 13 May 2019 19:12:59 +0200 Subject: [stormlib] Add new port --- ports/stormlib/CONTROL | 3 +++ ports/stormlib/disable-building-tests.patch | 15 +++++++++++++++ ports/stormlib/portfile.cmake | 26 ++++++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 ports/stormlib/CONTROL create mode 100644 ports/stormlib/disable-building-tests.patch create mode 100644 ports/stormlib/portfile.cmake diff --git a/ports/stormlib/CONTROL b/ports/stormlib/CONTROL new file mode 100644 index 000000000..d40f16a5a --- /dev/null +++ b/ports/stormlib/CONTROL @@ -0,0 +1,3 @@ +Source: stormlib +Version: 9.22 +Description: StormLib is a library for opening and manipulating Blizzard MPQ files \ No newline at end of file diff --git a/ports/stormlib/disable-building-tests.patch b/ports/stormlib/disable-building-tests.patch new file mode 100644 index 000000000..fe0d7f70c --- /dev/null +++ b/ports/stormlib/disable-building-tests.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f5211b1..4025ea1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -358,10 +358,4 @@ install(TARGETS ${LIBRARY_NAME} + + INCLUDE(CPack) + +-if(STORM_BUILD_TESTS) +- target_link_libraries(storm_test ${LIBRARY_NAME}) +- install(TARGETS storm_test DESTINATION bin) +-endif() + +-add_executable(storm_test ${SRC_FILES} ${TOMCRYPT_FILES} ${TOMMATH_FILES} ${ZLIB_BZIP2_FILES} ${TEST_SRC_FILES}) +-install(TARGETS storm_test RUNTIME DESTINATION bin) diff --git a/ports/stormlib/portfile.cmake b/ports/stormlib/portfile.cmake new file mode 100644 index 000000000..116a894b3 --- /dev/null +++ b/ports/stormlib/portfile.cmake @@ -0,0 +1,26 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ladislav-zezula/StormLib + REF v9.22 + SHA512 e08571fca21be2e853d390b8feda32001df810b8f4b60d36822a9de2a877f2be9d3dadacfeec181a2eb80e00b8fed66d0dc9a0d8d9e043e2959478a41ed4d13a + HEAD_REF master +) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/disable-building-tests.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -STORM_BUILD_TESTS=OFF +) + +vcpkg_install_cmake() +set(STORM_BUILD_TESTS OFF) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/stormlib RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -- cgit v1.2.3 From f241acc7316ae9dedd40725be0aedd4395ac2501 Mon Sep 17 00:00:00 2001 From: Stijn Herfst Date: Tue, 14 May 2019 10:23:50 +0200 Subject: [stormlib] Fix for incorrectly setting variable --- ports/stormlib/portfile.cmake | 2 -- 1 file changed, 2 deletions(-) diff --git a/ports/stormlib/portfile.cmake b/ports/stormlib/portfile.cmake index 116a894b3..82e0aedf9 100644 --- a/ports/stormlib/portfile.cmake +++ b/ports/stormlib/portfile.cmake @@ -17,10 +17,8 @@ vcpkg_apply_patches( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS -STORM_BUILD_TESTS=OFF ) vcpkg_install_cmake() -set(STORM_BUILD_TESTS OFF) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/stormlib RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -- cgit v1.2.3 From 36babc4c9318f10424d45f712e7ecf24a1b9392d Mon Sep 17 00:00:00 2001 From: Norbert Nemec Date: Wed, 15 May 2019 23:18:32 +0200 Subject: [glibmm] fix upstream bugs in MSVC-specific glibmmconfig.h --- ports/glibmm/fix-define-glibmmconfig.patch | 43 ++++++++++++++++++++++++++++++ ports/glibmm/portfile.cmake | 4 ++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 ports/glibmm/fix-define-glibmmconfig.patch diff --git a/ports/glibmm/fix-define-glibmmconfig.patch b/ports/glibmm/fix-define-glibmmconfig.patch new file mode 100644 index 000000000..90b97d907 --- /dev/null +++ b/ports/glibmm/fix-define-glibmmconfig.patch @@ -0,0 +1,43 @@ +diff --git a/MSVC_Net2013/glibmm/glibmmconfig.h b/MSVC_Net2013/glibmm/glibmmconfig.h +index 61bb83e..7dbe809 100644 +--- a/MSVC_Net2013/glibmm/glibmmconfig.h ++++ b/MSVC_Net2013/glibmm/glibmmconfig.h +@@ -7,12 +7,17 @@ + # if defined(_MSC_VER) + # define GLIBMM_MSC 1 + # define GLIBMM_WIN32 1 +-# define GLIBMM_DLL 1 ++# if !defined(GLIBMM_STATIC_LIB) ++# define GLIBMM_DLL 1 ++# endif + # elif defined(__CYGWIN__) + # define GLIBMM_CONFIGURE 1 + # elif defined(__MINGW32__) + # define GLIBMM_WIN32 1 + # define GLIBMM_CONFIGURE 1 ++# if !defined(GLIBMM_STATIC_LIB) ++# define GLIBMM_DLL 1 ++# endif + # else + /* AIX clR compiler complains about this even though it doesn't get this far */ + # error "Unknown architecture (send me gcc --dumpspecs or equiv)" +@@ -108,6 +113,7 @@ + # define GLIBMM_HAVE_WIDE_STREAM 1 + # define GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS 1 + # define GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32 1 ++# define GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS 1 + # define GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1 + # define GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS 1 + # define GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC 1 +@@ -140,11 +146,6 @@ + * it to be defined. Remove after grace period. */ + #define GLIBMM_USING_STD(Symbol) + +-/* Enable DLL-specific stuff only when not building a static library */ +-#if !defined(__CYGWIN__) && defined(__MINGW32__) && !defined(GLIBMM_STATIC_LIB) +-# define GLIBMM_DLL 1 +-#endif +- + #ifdef GLIBMM_DLL + # if defined(GLIBMM_BUILD) && defined(_WINDLL) + /* Do not dllexport as it is handled by gendef on MSVC */ diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake index 40eee279c..58378907f 100644 --- a/ports/glibmm/portfile.cmake +++ b/ports/glibmm/portfile.cmake @@ -17,7 +17,9 @@ vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/glibmm-api-variant.patch + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/glibmm-api-variant.patch + ${CMAKE_CURRENT_LIST_DIR}/fix-define-glibmmconfig.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -- cgit v1.2.3 From aaae648571dac364d407929a2df6746118081ecb Mon Sep 17 00:00:00 2001 From: Norbert Nemec Date: Thu, 16 May 2019 21:56:34 +0200 Subject: [glibmm] Reintroduce CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS (#6550) (partially reverts change discussed in #5937) --- ports/glibmm/CMakeLists.txt | 5 +++++ ports/glibmm/CONTROL | 8 ++++---- ports/glibmm/portfile.cmake | 5 ++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt index 8e7f8f0fe..389ae8dfb 100644 --- a/ports/glibmm/CMakeLists.txt +++ b/ports/glibmm/CMakeLists.txt @@ -40,6 +40,11 @@ if(APPLE) link_libraries(${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${FOUNDATION_LIBRARY}) endif() +# A hacky solution for building Windows DLLs from sources ported from Linux. +# The cleaner approach would be to manually add __declspec(dllexport) to all public symbols in the header files or +# construct a .def file. +set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) + if(BUILD_SHARED_LIBS) add_definitions(-DGLIBMM_DLL -DGIOMM_DLL) else() diff --git a/ports/glibmm/CONTROL b/ports/glibmm/CONTROL index efef52d3f..ead483418 100644 --- a/ports/glibmm/CONTROL +++ b/ports/glibmm/CONTROL @@ -1,4 +1,4 @@ -Source: glibmm -Version: 2.52.1-8 -Description: This is glibmm, a C++ API for parts of glib that are useful for C++. See http://www.gtkmm.org. -Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp +Source: glibmm +Version: 2.52.1-9 +Description: This is glibmm, a C++ API for parts of glib that are useful for C++. See http://www.gtkmm.org. +Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake index 58378907f..ac5be799f 100644 --- a/ports/glibmm/portfile.cmake +++ b/ports/glibmm/portfile.cmake @@ -5,7 +5,10 @@ if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "Error: UWP builds are currently not supported.") endif() -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +# This library itself would would as static library, but it is used by gtkmm, atkmm & pangomm which are all set to ONLY_DYNAMIC LIBRARY +# Having multiple dynamic libaries linking the same static library causes multiple copies of its static data to be present in the executable +# leading to confusing and hard-to-debug runtime effects. +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/glibmm-2.52.1) vcpkg_download_distfile(ARCHIVE -- cgit v1.2.3 From 549bdaa57ccc8034cb802d2a45543cf45d22b5bf Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Sun, 26 May 2019 21:17:02 +0200 Subject: [any-lite] Add v0.2.0 --- ports/any-lite/CONTROL | 3 +++ ports/any-lite/portfile.cmake | 11 +++++++++++ 2 files changed, 14 insertions(+) create mode 100644 ports/any-lite/CONTROL create mode 100644 ports/any-lite/portfile.cmake diff --git a/ports/any-lite/CONTROL b/ports/any-lite/CONTROL new file mode 100644 index 000000000..6eaf3d167 --- /dev/null +++ b/ports/any-lite/CONTROL @@ -0,0 +1,3 @@ +Source: any-lite +Version: 0.2.0 +Description: A C++17-like any, a type-safe container for single values of any type for C++98, C++11 and later in a single-file header-only library diff --git a/ports/any-lite/portfile.cmake b/ports/any-lite/portfile.cmake new file mode 100644 index 000000000..b4689a3e3 --- /dev/null +++ b/ports/any-lite/portfile.cmake @@ -0,0 +1,11 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/any-lite + REF v0.2.0 + SHA512 703900d7bac96d41f903b6cabba4bce15ef3cf7ef0a6a66de76230498ededff110e43d68d4a3fd6996869b2edd001f69bd53039a214d06b774ce99518f384a68 +) + +file(INSTALL ${SOURCE_PATH}/include/nonstd/any.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/nonstd) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/any-lite RENAME copyright) -- cgit v1.2.3 From e9e6acb5313d37a4b86ba207254942ee3cda2ec4 Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Mon, 27 May 2019 10:04:47 +0200 Subject: [any-lite] Perform CMake install --- ports/any-lite/portfile.cmake | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/ports/any-lite/portfile.cmake b/ports/any-lite/portfile.cmake index b4689a3e3..25cb5704e 100644 --- a/ports/any-lite/portfile.cmake +++ b/ports/any-lite/portfile.cmake @@ -7,5 +7,25 @@ vcpkg_from_github( SHA512 703900d7bac96d41f903b6cabba4bce15ef3cf7ef0a6a66de76230498ededff110e43d68d4a3fd6996869b2edd001f69bd53039a214d06b774ce99518f384a68 ) -file(INSTALL ${SOURCE_PATH}/include/nonstd/any.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/nonstd) -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/any-lite RENAME copyright) +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DANY_LITE_OPT_BUILD_TESTS=OFF + -DANY_LITE_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/any-lite +) + +file( REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib +) + +file( INSTALL + ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/any-lite RENAME copyright +) -- cgit v1.2.3 From e50061816da5ed580b968aef592035e062f0b772 Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Mon, 27 May 2019 11:44:01 +0200 Subject: [any-lite] Use ${PORT} --- ports/any-lite/portfile.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/any-lite/portfile.cmake b/ports/any-lite/portfile.cmake index 25cb5704e..aba905134 100644 --- a/ports/any-lite/portfile.cmake +++ b/ports/any-lite/portfile.cmake @@ -18,7 +18,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_fixup_cmake_targets( - CONFIG_PATH lib/cmake/any-lite + CONFIG_PATH lib/cmake/${PORT} ) file( REMOVE_RECURSE @@ -27,5 +27,5 @@ file( REMOVE_RECURSE ) file( INSTALL - ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/any-lite RENAME copyright + ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright ) -- cgit v1.2.3 From 3e902f42b6530c3dea6bda1a561e137d29dd12fb Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Tue, 28 May 2019 08:32:49 +0200 Subject: [observer-ptr-lite] Add new port (0.3.0) --- ports/observer-ptr-lite/CONTROL | 3 +++ ports/observer-ptr-lite/portfile.cmake | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ports/observer-ptr-lite/CONTROL create mode 100644 ports/observer-ptr-lite/portfile.cmake diff --git a/ports/observer-ptr-lite/CONTROL b/ports/observer-ptr-lite/CONTROL new file mode 100644 index 000000000..26d40d4f7 --- /dev/null +++ b/ports/observer-ptr-lite/CONTROL @@ -0,0 +1,3 @@ +Source: observer-ptr-lite +Version: 0.3.0 +Description: A C++17-like observer_ptr for C++98 and later in a single-file header-only library diff --git a/ports/observer-ptr-lite/portfile.cmake b/ports/observer-ptr-lite/portfile.cmake new file mode 100644 index 000000000..7dd42a805 --- /dev/null +++ b/ports/observer-ptr-lite/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/observer-ptr-lite + REF v0.3.0 + SHA512 929a08946f3fe13de0456c241900d9924762bc4b963daf7f677dcc7ab2d860f5276742230079b99bd59cc320ff91f2e2eedbd56dfaa20ec35483bd56f2fc104c +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DNSOP_OPT_BUILD_TESTS=OFF + -DNSOP_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +#vcpkg_fixup_cmake_targets( +# CONFIG_PATH lib/cmake/${PORT} +#) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib +) + +file(INSTALL + ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright +) -- cgit v1.2.3 From 0efc4a1c008bbc490d2ea6172296b596b1836be6 Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Tue, 28 May 2019 10:24:16 +0200 Subject: [optional-bare] Add new port (1.1.0) --- ports/optional-bare/CONTROL | 3 +++ ports/optional-bare/portfile.cmake | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ports/optional-bare/CONTROL create mode 100644 ports/optional-bare/portfile.cmake diff --git a/ports/optional-bare/CONTROL b/ports/optional-bare/CONTROL new file mode 100644 index 000000000..0c9fe1411 --- /dev/null +++ b/ports/optional-bare/CONTROL @@ -0,0 +1,3 @@ +Source: optional-bare +Version: 1.1.0 +Description: A simple version of a C++17-like optional for default-constructible, copyable types, for C++98 and later in a single-file header-only library diff --git a/ports/optional-bare/portfile.cmake b/ports/optional-bare/portfile.cmake new file mode 100644 index 000000000..6474d81c7 --- /dev/null +++ b/ports/optional-bare/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/optional-bare + REF v1.1.0 + SHA512 0eed103c4e909991b596c0cd23d6206662e3ca71cd8148e27c19d8e071c2a16e18cc940a6cd4f8571510f5e64577157f94c561fb889330bb7a868af64c2f3aa0 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DOPTIONAL_BARE_OPT_BUILD_TESTS=OFF + -DOPTIONAL_BARE_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/${PORT} +) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib +) + +file(INSTALL + ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright +) -- cgit v1.2.3 From 9c8b0f93e45358335a651b53cc2de1e8900761b4 Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Tue, 28 May 2019 10:49:40 +0200 Subject: [optional-lite] Add new port (3.2.0) --- ports/optional-lite/CONTROL | 3 +++ ports/optional-lite/portfile.cmake | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ports/optional-lite/CONTROL create mode 100644 ports/optional-lite/portfile.cmake diff --git a/ports/optional-lite/CONTROL b/ports/optional-lite/CONTROL new file mode 100644 index 000000000..076a05640 --- /dev/null +++ b/ports/optional-lite/CONTROL @@ -0,0 +1,3 @@ +Source: optional-lite +Version: 3.2.0 +Description: A C++17-like optional, a nullable object for C++98, C++11 and later in a single-file header-only library diff --git a/ports/optional-lite/portfile.cmake b/ports/optional-lite/portfile.cmake new file mode 100644 index 000000000..1716c89ad --- /dev/null +++ b/ports/optional-lite/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/optional-lite + REF v3.2.0 + SHA512 7c3f93dc718953118ab18edb55f6c8dc1555febb6ee491d3f7df4a8d06aba245bbfba31883a711995bb6b8d6de9f44c805cbba44b9e322f3bb5c3272106f66ec +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DOPTIONAL_LITE_OPT_BUILD_TESTS=OFF + -DOPTIONAL_LITE_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/${PORT} +) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib +) + +file(INSTALL + ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright +) -- cgit v1.2.3 From c23105e854ae67a2daa1987f0ab2be6db7676a73 Mon Sep 17 00:00:00 2001 From: NancyLi1013 Date: Wed, 29 May 2019 00:53:00 -0700 Subject: [itpp] Add new port --- ports/itpp/CONTROL | 3 + ports/itpp/fix-uwp.patch | 12 ++ ports/itpp/msvc2013.patch | 284 ++++++++++++++++++++++++++++++++++++++++++++++ ports/itpp/portfile.cmake | 40 +++++++ 4 files changed, 339 insertions(+) create mode 100644 ports/itpp/CONTROL create mode 100644 ports/itpp/fix-uwp.patch create mode 100644 ports/itpp/msvc2013.patch create mode 100644 ports/itpp/portfile.cmake diff --git a/ports/itpp/CONTROL b/ports/itpp/CONTROL new file mode 100644 index 000000000..623b2fc6b --- /dev/null +++ b/ports/itpp/CONTROL @@ -0,0 +1,3 @@ +Source: itpp +Version: 4.3.1 +Description: IT++ is a C++ library of mathematical, signal processing and communication classes and functions. Its main use is in simulation of communication systems and for performing research in the area of communications. \ No newline at end of file diff --git a/ports/itpp/fix-uwp.patch b/ports/itpp/fix-uwp.patch new file mode 100644 index 000000000..18e5fe4eb --- /dev/null +++ b/ports/itpp/fix-uwp.patch @@ -0,0 +1,12 @@ +diff --git a/itpp/base/timing.cpp b/itpp/base/timing.cpp +index 58178e4..47d662e 100644 +--- a/itpp/base/timing.cpp ++++ b/itpp/base/timing.cpp +@@ -51,6 +51,7 @@ + + #if defined(_WIN32) && !defined(__CYGWIN__) + #include ++#include + + int gettimeofday(struct timeval* p, void*) + { diff --git a/ports/itpp/msvc2013.patch b/ports/itpp/msvc2013.patch new file mode 100644 index 000000000..9cd35e851 --- /dev/null +++ b/ports/itpp/msvc2013.patch @@ -0,0 +1,284 @@ + CMakeLists.txt | 2 ++ + itpp/base/algebra/eigen.cpp | 1 + + itpp/base/algebra/ls_solve.cpp | 2 +- + itpp/base/algebra/qr.cpp | 1 + + itpp/base/algebra/svd.cpp | 2 +- + itpp/base/bessel/gamma.cpp | 5 +++++ + itpp/base/itcompat.cpp | 11 ++++++++++- + itpp/base/itcompat.h | 14 ++++++++++++-- + itpp/base/matfunc.h | 1 + + itpp/base/svec.h | 1 + + itpp/comm/siso_dem.cpp | 6 ++++++ + itpp/comm/siso_eq.cpp | 6 ++++++ + itpp/comm/siso_mud.cpp | 7 +++++++ + itpp/comm/siso_nsc.cpp | 6 ++++++ + itpp/comm/siso_rsc.cpp | 7 +++++++ + 15 files changed, 67 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9f6a9a6..2360f86 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -122,7 +122,9 @@ CHECK_CXX_SYMBOL_EXISTS ( isnan "cmath" HAVE_DECL_ISNAN ) + CHECK_CXX_SYMBOL_EXISTS ( signgam "cmath" HAVE_DECL_SIGNGAM ) + + #check for functions ++if( NOT MSVC ) + set(CMAKE_REQUIRED_LIBRARIES m) ++endif() + include (CheckFunctionExists) + CHECK_FUNCTION_EXISTS ( acosh HAVE_ACOSH ) + CHECK_FUNCTION_EXISTS ( asinh HAVE_ASINH ) +diff --git a/itpp/base/algebra/eigen.cpp b/itpp/base/algebra/eigen.cpp +index 8c0c36b..54ae3e1 100644 +--- a/itpp/base/algebra/eigen.cpp ++++ b/itpp/base/algebra/eigen.cpp +@@ -39,6 +39,7 @@ + #include + #include + ++#include + + namespace itpp + { +diff --git a/itpp/base/algebra/ls_solve.cpp b/itpp/base/algebra/ls_solve.cpp +index dae38fc..95abf0a 100644 +--- a/itpp/base/algebra/ls_solve.cpp ++++ b/itpp/base/algebra/ls_solve.cpp +@@ -37,7 +37,7 @@ + #endif + + #include +- ++#include + + namespace itpp + { +diff --git a/itpp/base/algebra/qr.cpp b/itpp/base/algebra/qr.cpp +index 91dfb2b..0b47294 100644 +--- a/itpp/base/algebra/qr.cpp ++++ b/itpp/base/algebra/qr.cpp +@@ -39,6 +39,7 @@ + #include + #include + ++#include + + namespace itpp + { +diff --git a/itpp/base/algebra/svd.cpp b/itpp/base/algebra/svd.cpp +index aa21e36..b2e499c 100644 +--- a/itpp/base/algebra/svd.cpp ++++ b/itpp/base/algebra/svd.cpp +@@ -37,7 +37,7 @@ + #endif + + #include +- ++#include + + namespace itpp + { +diff --git a/itpp/base/bessel/gamma.cpp b/itpp/base/bessel/gamma.cpp +index 162c4ae..9405507 100644 +--- a/itpp/base/bessel/gamma.cpp ++++ b/itpp/base/bessel/gamma.cpp +@@ -34,6 +34,11 @@ + #include + #include + ++#if _MSC_VER ++//suppress warnings regarding the use infinity in fp arithmetic ++#pragma warning(disable: 4056) ++#pragma warning(disable: 4756) ++#endif + + /* + * Gamma function +diff --git a/itpp/base/itcompat.cpp b/itpp/base/itcompat.cpp +index f99ec81..aa34b28 100644 +--- a/itpp/base/itcompat.cpp ++++ b/itpp/base/itcompat.cpp +@@ -47,12 +47,21 @@ double tgamma(double x) + } + #endif + +-#if !defined(HAVE_LGAMMA) || (HAVE_DECL_SIGNGAM != 1) ++#if !defined(HAVE_LGAMMA) && (HAVE_DECL_SIGNGAM != 1) + // The sign of the Gamma function is returned in the external integer + // signgam declared in . It is 1 when the Gamma function is positive + // or zero, -1 when it is negative. However, MinGW definition of lgamma() + // function does not use the global signgam variable. ++//May 3rd 2015 (Andy Panov): ++//Nonetheless, I guess it would be smarter not to break the ODR rule and not to provide our own definition of lgamma ++//function when HAVE_LGAMMA is defined. If we still provide the definition, two definitions ++//of the same function will exist in the program (this is undefined behaviour, as C++ standard says), ++//so we can not ensure linker will choose our definition and user's code will work as expected. ++//I guess, error message from linker regarding the unresolved symbol is much better option, ++//since it clearly points to the math library limitations. Otherwise user can get a malfunctioning program ++//with really subtle error. + int signgam; ++ + // Logarithm of an absolute value of gamma function + double lgamma(double x) + { +diff --git a/itpp/base/itcompat.h b/itpp/base/itcompat.h +index e6be223..dcf2ed7 100644 +--- a/itpp/base/itcompat.h ++++ b/itpp/base/itcompat.h +@@ -41,8 +41,12 @@ + #if defined(_MSC_VER) + # include + # define finite(x) _finite(x) ++#ifndef HAVE_STD_ISFINITE + # define isfinite(x) _finite(x) ++#endif ++#ifndef HAVE_STD_ISNAN + # define isnan(x) _isnan(x) ++#endif + # define fpclass(x) _fpclass(x) + # define FP_NINF _FPCLASS_NINF + # define FP_PINF _FPCLASS_PINF +@@ -119,13 +123,19 @@ inline bool isfinite(double x) + double tgamma(double x); + #endif + +-#if !defined(HAVE_LGAMMA) || (HAVE_DECL_SIGNGAM != 1) ++#if !defined(HAVE_LGAMMA) && (HAVE_DECL_SIGNGAM != 1) ++//Provide own definitions if both conditions are met: ++//-lgammma is not defined ++//-signgam was not found ++//See ODR desicussion in itcompat.cpp ++ + //! Lograrithm of an absolute gamma function + double lgamma(double x); + //! Global variable needed by \c lgamma function + extern int signgam; + #endif + ++ + #ifndef HAVE_CBRT + //! Cubic root + double cbrt(double x); +@@ -141,7 +151,7 @@ inline double log1p(double x) { return std::log(1.0 + x); } + //! Base-2 logarithm + inline double log2(double x) + { +- static const double one_over_log2 = 1.0 / std::log(2.0); ++ const double one_over_log2 = 1.0 / std::log(2.0); + return std::log(x) * one_over_log2; + } + #endif +diff --git a/itpp/base/matfunc.h b/itpp/base/matfunc.h +index 8ae683e..60cf95f 100644 +--- a/itpp/base/matfunc.h ++++ b/itpp/base/matfunc.h +@@ -36,6 +36,7 @@ + #include + #include + #include ++#include + + namespace itpp + { +diff --git a/itpp/base/svec.h b/itpp/base/svec.h +index d105b2f..3a2c15b 100644 +--- a/itpp/base/svec.h ++++ b/itpp/base/svec.h +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + + namespace itpp + { +diff --git a/itpp/comm/siso_dem.cpp b/itpp/comm/siso_dem.cpp +index 666f38c..4fa03fd 100644 +--- a/itpp/comm/siso_dem.cpp ++++ b/itpp/comm/siso_dem.cpp +@@ -32,6 +32,12 @@ + #define INFINITY std::numeric_limits::infinity() + #endif + ++#if _MSC_VER ++//suppress warnings regarding the use infinity in fp arithmetic ++#pragma warning(disable: 4056) ++#endif ++ ++ + namespace itpp + { + void SISO::find_half_const(int &select_half, itpp::vec &re_part, itpp::bmat &re_bin_part, itpp::vec &im_part, itpp::bmat &im_bin_part) +diff --git a/itpp/comm/siso_eq.cpp b/itpp/comm/siso_eq.cpp +index 856c01a..6553b33 100644 +--- a/itpp/comm/siso_eq.cpp ++++ b/itpp/comm/siso_eq.cpp +@@ -32,6 +32,12 @@ + #define INFINITY std::numeric_limits::infinity() + #endif + ++#if _MSC_VER ++//suppress warnings regarding the use infinity in fp arithmetic ++#pragma warning(disable: 4056) ++#pragma warning(disable: 4756) ++#endif ++ + namespace itpp + { + void SISO::gen_chtrellis(void) +diff --git a/itpp/comm/siso_mud.cpp b/itpp/comm/siso_mud.cpp +index 60aa6d3..a7ff735 100644 +--- a/itpp/comm/siso_mud.cpp ++++ b/itpp/comm/siso_mud.cpp +@@ -32,6 +32,13 @@ + #define INFINITY std::numeric_limits::infinity() + #endif + ++#if _MSC_VER ++//suppress warnings regarding the use infinity in fp arithmetic ++#pragma warning(disable: 4056) ++#pragma warning(disable: 4756) ++#endif ++ ++ + namespace itpp + { + void SISO::descrambler(itpp::vec &extrinsic_coded, itpp::vec &extrinsic_data, const itpp::vec &intrinsic_coded, const itpp::vec &apriori_data) +diff --git a/itpp/comm/siso_nsc.cpp b/itpp/comm/siso_nsc.cpp +index ca7d19a..12ca62a 100644 +--- a/itpp/comm/siso_nsc.cpp ++++ b/itpp/comm/siso_nsc.cpp +@@ -33,6 +33,12 @@ + #define INFINITY std::numeric_limits::infinity() + #endif + ++#if _MSC_VER ++//suppress warnings regarding the use infinity in fp arithmetic ++#pragma warning(disable: 4056) ++#pragma warning(disable: 4756) ++#endif ++ + namespace itpp + { + void SISO::gen_nsctrellis(void) +diff --git a/itpp/comm/siso_rsc.cpp b/itpp/comm/siso_rsc.cpp +index e5003c7..9e3eea1 100644 +--- a/itpp/comm/siso_rsc.cpp ++++ b/itpp/comm/siso_rsc.cpp +@@ -29,6 +29,13 @@ + #include + #include + #include ++ ++#if _MSC_VER ++//suppress warnings regarding the use infinity in fp arithmetic ++#pragma warning(disable: 4056) ++#pragma warning(disable: 4756) ++#endif ++ + #ifndef INFINITY + #define INFINITY std::numeric_limits::infinity() + #endif + + #Remove this patch if the source has fixed these issues. diff --git a/ports/itpp/portfile.cmake b/ports/itpp/portfile.cmake new file mode 100644 index 000000000..8e4f4121a --- /dev/null +++ b/ports/itpp/portfile.cmake @@ -0,0 +1,40 @@ +include(vcpkg_common_functions) + +set(ITPP_VERSION 4.3.1) +vcpkg_download_distfile(ARCHIVE + URLS "https://sourceforge.net/projects/itpp/files/itpp/4.3.1/itpp-${ITPP_VERSION}.tar.bz2" + FILENAME "itpp-${ITPP_VERSION}.tar.bz2" + SHA512 b46d048fa7f33e80d2291a5e38e205c159791ea200f92c70d69e8ad8447ac2f0c847fece566a99af739853a1643cb16e226b4200c8bf115417f324e6d38c66bd +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${ITPP_VERSION} + PATCHES + msvc2013.patch +) + +if(VCPKG_CMAKE_SYSTEM_NAME AND VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES fix-uwp.patch +) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file -- cgit v1.2.3 From cf920575866d5485c2334e9afa069f07ad61d99f Mon Sep 17 00:00:00 2001 From: Stijn Herfst Date: Wed, 29 May 2019 14:22:50 +0200 Subject: Fixed dependencies --- ports/stormlib/CONTROL | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ports/stormlib/CONTROL b/ports/stormlib/CONTROL index d40f16a5a..348e09616 100644 --- a/ports/stormlib/CONTROL +++ b/ports/stormlib/CONTROL @@ -1,3 +1,4 @@ Source: stormlib Version: 9.22 -Description: StormLib is a library for opening and manipulating Blizzard MPQ files \ No newline at end of file +Build-Depends: zlib, bzip2 +Description: StormLib is a library for opening and manipulating Blizzard MPQ files -- cgit v1.2.3 From 7f3e185316f2c96cfc3e1168e30c9f6662e8f130 Mon Sep 17 00:00:00 2001 From: NancyLi1013 Date: Wed, 29 May 2019 19:21:29 -0700 Subject: fix the port build failed on Linux(Ubuntu 18.04). --- ports/itpp/fix-linux.patch | 13 +++++++++++++ ports/itpp/portfile.cmake | 5 +++++ 2 files changed, 18 insertions(+) create mode 100644 ports/itpp/fix-linux.patch diff --git a/ports/itpp/fix-linux.patch b/ports/itpp/fix-linux.patch new file mode 100644 index 000000000..5e7bb64c0 --- /dev/null +++ b/ports/itpp/fix-linux.patch @@ -0,0 +1,13 @@ +diff --git a/itpp/base/random_dsfmt.h b/itpp/base/random_dsfmt.h +index ccbf182..a3d5472 100644 +--- a/itpp/base/random_dsfmt.h ++++ b/itpp/base/random_dsfmt.h +@@ -299,7 +299,7 @@ private: + */ + static void do_recursion(typename Context::w128_t *r, typename Context::w128_t *a, typename Context::w128_t *b, typename Context::w128_t *lung) { + #if defined(__SSE2__) +- const unsigned int SSE2_SHUFF = 0x1bU; ++#define SSE2_SHUFF 0x1bU + + __m128i x = a->si; + __m128i z = _mm_slli_epi64(x, SL1); diff --git a/ports/itpp/portfile.cmake b/ports/itpp/portfile.cmake index 8e4f4121a..2ea68da89 100644 --- a/ports/itpp/portfile.cmake +++ b/ports/itpp/portfile.cmake @@ -20,6 +20,11 @@ vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES fix-uwp.patch ) +elseif(VCPKG_CMAKE_SYSTEM_NAME AND VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES fix-linux.patch +) endif() vcpkg_configure_cmake( -- cgit v1.2.3 From 516431de82a566e559e70c2e7742a072f8b035e6 Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Thu, 30 May 2019 10:39:20 +0200 Subject: Use dash in unit name for vcpkg_fixup_cmake_targets() --- ports/observer-ptr-lite/CONTROL | 2 +- ports/observer-ptr-lite/portfile.cmake | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ports/observer-ptr-lite/CONTROL b/ports/observer-ptr-lite/CONTROL index 26d40d4f7..547e64289 100644 --- a/ports/observer-ptr-lite/CONTROL +++ b/ports/observer-ptr-lite/CONTROL @@ -1,3 +1,3 @@ Source: observer-ptr-lite -Version: 0.3.0 +Version: 0.4.0 Description: A C++17-like observer_ptr for C++98 and later in a single-file header-only library diff --git a/ports/observer-ptr-lite/portfile.cmake b/ports/observer-ptr-lite/portfile.cmake index 7dd42a805..4fea768f5 100644 --- a/ports/observer-ptr-lite/portfile.cmake +++ b/ports/observer-ptr-lite/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO martinmoene/observer-ptr-lite - REF v0.3.0 - SHA512 929a08946f3fe13de0456c241900d9924762bc4b963daf7f677dcc7ab2d860f5276742230079b99bd59cc320ff91f2e2eedbd56dfaa20ec35483bd56f2fc104c + REF v0.4.0 + SHA512 4e53d8e0ce595604880bda423440071e7c207dd63e7b6bfa09cc7a870a010f09c51c31e640142c565ce261c4911acab13c6e9f5970853ad8fc2da3e4034ab7d7 ) vcpkg_configure_cmake( @@ -17,9 +17,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -#vcpkg_fixup_cmake_targets( -# CONFIG_PATH lib/cmake/${PORT} -#) +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/${PORT} +) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug -- cgit v1.2.3 From 34984a768017981ceb2da7e1c2210842ba2279c3 Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Thu, 30 May 2019 22:52:06 +0200 Subject: [ring-span-lite] Add new port (0.3.0) --- ports/ring-span-lite/CONTROL | 3 +++ ports/ring-span-lite/portfile.cmake | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ports/ring-span-lite/CONTROL create mode 100644 ports/ring-span-lite/portfile.cmake diff --git a/ports/ring-span-lite/CONTROL b/ports/ring-span-lite/CONTROL new file mode 100644 index 000000000..9d620b709 --- /dev/null +++ b/ports/ring-span-lite/CONTROL @@ -0,0 +1,3 @@ +Source: ring-span-lite +Version: 0.3.0 +Description: A C++yy-like ring_span type for C++98, C++11 and later in a single-file header-only library diff --git a/ports/ring-span-lite/portfile.cmake b/ports/ring-span-lite/portfile.cmake new file mode 100644 index 000000000..b9b993054 --- /dev/null +++ b/ports/ring-span-lite/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/ring-span-lite + REF v0.3.0 + SHA512 5ecbfc63b4a09cc382edc2acae41a45946c9c6a18aa48e855201366b7696df7cbf46c2de1b5aa5296ae2dde4360d5abd8efdc3e3a1c3d427fbbddadab7dcfe79 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DRING_SPAN_LITE_OPT_BUILD_TESTS=OFF + -DRING_SPAN_LITE_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/${PORT} +) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib +) + +file(INSTALL + ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright +) -- cgit v1.2.3 From 00477b276e96fbe0b463bf3a13a243dbcd8ee4d5 Mon Sep 17 00:00:00 2001 From: grdowns Date: Thu, 30 May 2019 17:10:11 -0700 Subject: Update to 4.1.1; Fix system dependencies message --- ports/nrf-ble-driver/portfile.cmake | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ports/nrf-ble-driver/portfile.cmake b/ports/nrf-ble-driver/portfile.cmake index 8a642b144..c451ba4d1 100644 --- a/ports/nrf-ble-driver/portfile.cmake +++ b/ports/nrf-ble-driver/portfile.cmake @@ -1,18 +1,18 @@ include(vcpkg_common_functions) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") message( - "nrf-ble-driver currently requires the following libraries from the system package manager: - libudev-dev - These can be installed on Ubuntu systems via sudo apt install libudev-dev" +"${PORT} currently requires the following libraries from the system package manager: + libudev-dev +These can be installed on Ubuntu systems via sudo apt install libudev-dev" ) endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO NordicSemiconductor/pc-ble-driver - REF v4.1.0 - SHA512 f8a995826caf4022f68b149d0f3619d1d656e3960a927eda29c634bf06cad8341c95a5b51ec7e50b28814f5332a4800faf88eb5b4e8ebec153f9cad05b3a703e + REF v4.1.1 + SHA512 bb1853993b3f37836a8f7402e5c0452e8423c3a1c6e651cf353025022a32e16c72f06e2266e283c72fa7ddb0da7cf8cecb875a7a7762565599f2908c4858ce8e HEAD_REF master PATCHES 001-arm64-support.patch -- cgit v1.2.3 From 08c7264cd5f2c127428290b6b3199cedfd7a7550 Mon Sep 17 00:00:00 2001 From: grdowns Date: Thu, 30 May 2019 17:34:48 -0700 Subject: Update control file --- ports/nrf-ble-driver/CONTROL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/nrf-ble-driver/CONTROL b/ports/nrf-ble-driver/CONTROL index 0386cede5..333907e8b 100644 --- a/ports/nrf-ble-driver/CONTROL +++ b/ports/nrf-ble-driver/CONTROL @@ -1,4 +1,4 @@ Source: nrf-ble-driver -Version: 4.1.0 +Version: 4.1.1 Description: BLE driver is a library for Bluetooth Low Energy communication using Nordic Semiconductor development kits. Build-Depends: asio, catch2 \ No newline at end of file -- cgit v1.2.3 From 6e1bc8fac05cee80cc64fbbf2f7de3dee1c5adec Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Fri, 31 May 2019 09:22:11 +0200 Subject: [span-lite] Add new port (0.5.0) --- ports/span-lite/CONTROL | 3 +++ ports/span-lite/portfile.cmake | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ports/span-lite/CONTROL create mode 100644 ports/span-lite/portfile.cmake diff --git a/ports/span-lite/CONTROL b/ports/span-lite/CONTROL new file mode 100644 index 000000000..e7001a83a --- /dev/null +++ b/ports/span-lite/CONTROL @@ -0,0 +1,3 @@ +Source: span-lite +Version: 0.5.0 +Description: A C++20-like span for C++98, C++11 and later in a single-file header-only library diff --git a/ports/span-lite/portfile.cmake b/ports/span-lite/portfile.cmake new file mode 100644 index 000000000..ad53591bd --- /dev/null +++ b/ports/span-lite/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/span-lite + REF v0.5.0 + SHA512 4221d9897736257077b8ff6a5246d70315bebb975a30a119778f22c1859d14cca5e3035447561ca9684bef6dbca5a00b3b5ca208dada4fcf1f3b31df2aa0cb1f +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DSPAN_LITE_OPT_BUILD_TESTS=OFF + -DSPAN_LITE_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/${PORT} +) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib +) + +file(INSTALL + ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright +) -- cgit v1.2.3 From 7340d6ac556a8f9084ea0bba255f5e35272ee462 Mon Sep 17 00:00:00 2001 From: Charlie Barto Date: Fri, 31 May 2019 02:50:05 -0700 Subject: make meson not download things (#6667) --- scripts/cmake/vcpkg_configure_meson.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index 3c6903c9d..f1ae0e65f 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -26,7 +26,7 @@ function(vcpkg_configure_meson) set(MESON_RELEASE_LDFLAGS "${MESON_RELEASE_LDFLAGS} /INCREMENTAL:NO /OPT:REF /OPT:ICF") # select meson cmd-line options - list(APPEND _vcm_OPTIONS --buildtype plain --backend ninja) + list(APPEND _vcm_OPTIONS --buildtype plain --backend ninja --wrap-mode nodownload) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) list(APPEND _vcm_OPTIONS --default-library shared) else() -- cgit v1.2.3 From 2e5e4818ea27cd03b1ef326e9dc9ffc73ad8b472 Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Fri, 31 May 2019 12:21:20 +0200 Subject: [byte-lite] Add new port (v0.2.0) (#6630) * [byte-lite] Add v0.2.0 * [byte-lite] Perform CMake install * [byte-lite] Use ${PORT} --- ports/byte-lite/CONTROL | 3 +++ ports/byte-lite/portfile.cmake | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ports/byte-lite/CONTROL create mode 100644 ports/byte-lite/portfile.cmake diff --git a/ports/byte-lite/CONTROL b/ports/byte-lite/CONTROL new file mode 100644 index 000000000..e16ff8e3c --- /dev/null +++ b/ports/byte-lite/CONTROL @@ -0,0 +1,3 @@ +Source: byte-lite +Version: 0.2.0 +Description: A C++17-like byte type for C++98, C++11 and later in a single-file header-only library diff --git a/ports/byte-lite/portfile.cmake b/ports/byte-lite/portfile.cmake new file mode 100644 index 000000000..7fd9f5620 --- /dev/null +++ b/ports/byte-lite/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/byte-lite + REF v0.2.0 + SHA512 eefc730a39453dfc367a4478a84d4825cd85721d3c332a57321d0a5c3040a4d45921603ff24220f968dd21df61acea856ae30db8bae6c1e835a1755fb03c84b7 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBYTE_LITE_OPT_BUILD_TESTS=OFF + -DBYTE_LITE_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/${PORT} +) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib +) + +file(INSTALL + ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright +) -- cgit v1.2.3 From a0108b715334f0672470484d1c79681dc5810caf Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Fri, 31 May 2019 12:22:06 +0200 Subject: [expected-lite] Add new port (0.3.0) (#6642) --- ports/expected-lite/CONTROL | 3 +++ ports/expected-lite/portfile.cmake | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ports/expected-lite/CONTROL create mode 100644 ports/expected-lite/portfile.cmake diff --git a/ports/expected-lite/CONTROL b/ports/expected-lite/CONTROL new file mode 100644 index 000000000..315f1d01a --- /dev/null +++ b/ports/expected-lite/CONTROL @@ -0,0 +1,3 @@ +Source: expected-lite +Version: 0.3.0 +Description: Expected objects in C++11 and later in a single-file header-only library diff --git a/ports/expected-lite/portfile.cmake b/ports/expected-lite/portfile.cmake new file mode 100644 index 000000000..b8f1ac440 --- /dev/null +++ b/ports/expected-lite/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/expected-lite + REF v0.3.0 + SHA512 b24b58ff7bd6d5f355935854b6b5e67c7e9b2f1b6383ecdd2a1655833f414fd1189a07000b40c45a6df8a8641602c5eca19eb5e8639ac6cfe59e3d94bc102ab3 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DEXPECTED_LITE_OPT_BUILD_TESTS=OFF + -DEXPECTED_LITE_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/${PORT} +) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib +) + +file(INSTALL + ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright +) -- cgit v1.2.3 From 26a9338c5055193915290527eacb37f2ac7fdcb8 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 1 Jun 2019 03:42:27 +0800 Subject: [robin-hood-hashing] Add new port (#6709) --- ports/robin-hood-hashing/CONTROL | 3 +++ ports/robin-hood-hashing/portfile.cmake | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 ports/robin-hood-hashing/CONTROL create mode 100644 ports/robin-hood-hashing/portfile.cmake diff --git a/ports/robin-hood-hashing/CONTROL b/ports/robin-hood-hashing/CONTROL new file mode 100644 index 000000000..d30871519 --- /dev/null +++ b/ports/robin-hood-hashing/CONTROL @@ -0,0 +1,3 @@ +Source: robin-hood-hashing +Version: 3.2.13 +Description: Fast & memory efficient hashtable based on robin hood hashing for C++14 diff --git a/ports/robin-hood-hashing/portfile.cmake b/ports/robin-hood-hashing/portfile.cmake new file mode 100644 index 000000000..890d6f86a --- /dev/null +++ b/ports/robin-hood-hashing/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinus/robin-hood-hashing + REF 3.2.13 + SHA512 5c508a1f43d2ca86c89b9aac3b17493a23b8ee3c7485438afc8e5eb4e697d663588e1945001ba3ba95dd1480b3c1b846079fadec5972e5ac4462117379052433 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/src/include/robin_hood.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) -- cgit v1.2.3 From f483ae4c7fd04eed671a1de595374f84175311e9 Mon Sep 17 00:00:00 2001 From: Thad House Date: Fri, 31 May 2019 13:46:43 -0700 Subject: Remove wpilib shims --- ...ix-Gray-to-BGR-conversion-in-CameraServer.patch | 25 -- ...-Update-cmake-find-to-support-vcpkg-libuv.patch | 415 --------------------- ports/wpilib/portfile.cmake | 8 +- 3 files changed, 2 insertions(+), 446 deletions(-) delete mode 100644 ports/wpilib/0001-Fix-Gray-to-BGR-conversion-in-CameraServer.patch delete mode 100644 ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch diff --git a/ports/wpilib/0001-Fix-Gray-to-BGR-conversion-in-CameraServer.patch b/ports/wpilib/0001-Fix-Gray-to-BGR-conversion-in-CameraServer.patch deleted file mode 100644 index d6e98cd24..000000000 --- a/ports/wpilib/0001-Fix-Gray-to-BGR-conversion-in-CameraServer.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 087e27acc634e06860f8e32274d7eb01d90f6873 Mon Sep 17 00:00:00 2001 -From: Thad House -Date: Tue, 16 Apr 2019 13:31:15 -0700 -Subject: [PATCH] Fix Gray to BGR conversion in CameraServer - ---- - cscore/src/main/native/cpp/Frame.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cscore/src/main/native/cpp/Frame.cpp b/cscore/src/main/native/cpp/Frame.cpp -index 15f9b2d28..b21ec873a 100644 ---- a/cscore/src/main/native/cpp/Frame.cpp -+++ b/cscore/src/main/native/cpp/Frame.cpp -@@ -361,7 +361,7 @@ Image* Frame::ConvertBGRToGray(Image* image) { - } - - Image* Frame::ConvertGrayToBGR(Image* image) { -- if (!image || image->pixelFormat != VideoMode::kBGR) return nullptr; -+ if (!image || image->pixelFormat != VideoMode::kGray) return nullptr; - - // Allocate a BGR image - auto newImage = --- -2.18.0.windows.1 - diff --git a/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch b/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch deleted file mode 100644 index a461052df..000000000 --- a/ports/wpilib/0001-Update-cmake-find-to-support-vcpkg-libuv.patch +++ /dev/null @@ -1,415 +0,0 @@ -From 1cc701c3620b24440fdd7ad95683dca09e575008 Mon Sep 17 00:00:00 2001 -From: Thad House -Date: Sat, 13 Apr 2019 22:04:31 -0700 -Subject: [PATCH] Update cmake find to support vcpkg libuv - -Fix install on MSVC ---- - CMakeLists.txt | 34 +++++++++++++++++++---- - cameraserver/CMakeLists.txt | 5 ++-- - cameraserver/cameraserver-config.cmake | 8 ------ - cameraserver/cameraserver-config.cmake.in | 9 ++++++ - cscore/CMakeLists.txt | 5 ++-- - cscore/cscore-config.cmake | 6 ---- - cscore/cscore-config.cmake.in | 6 ++++ - hal/CMakeLists.txt | 5 ++-- - hal/hal-config.cmake | 5 ---- - hal/hal-config.cmake.in | 5 ++++ - ntcore/CMakeLists.txt | 5 ++-- - ntcore/ntcore-config.cmake | 5 ---- - ntcore/ntcore-config.cmake.in | 5 ++++ - wpilib-config.cmake.in | 6 ++-- - wpilibc/CMakeLists.txt | 5 ++-- - wpilibc/wpilibc-config.cmake | 10 ------- - wpilibc/wpilibc-config.cmake.in | 9 ++++++ - wpilibj/CMakeLists.txt | 2 +- - wpiutil/CMakeLists.txt | 5 ++-- - wpiutil/wpiutil-config.cmake | 2 -- - wpiutil/wpiutil-config.cmake.in | 7 +++++ - 21 files changed, 93 insertions(+), 56 deletions(-) - delete mode 100644 cameraserver/cameraserver-config.cmake - create mode 100644 cameraserver/cameraserver-config.cmake.in - delete mode 100644 cscore/cscore-config.cmake - create mode 100644 cscore/cscore-config.cmake.in - delete mode 100644 hal/hal-config.cmake - create mode 100644 hal/hal-config.cmake.in - delete mode 100644 ntcore/ntcore-config.cmake - create mode 100644 ntcore/ntcore-config.cmake.in - delete mode 100644 wpilibc/wpilibc-config.cmake - create mode 100644 wpilibc/wpilibc-config.cmake.in - delete mode 100644 wpiutil/wpiutil-config.cmake - create mode 100644 wpiutil/wpiutil-config.cmake.in - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a5b89d9ac..20557d78e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -51,6 +51,7 @@ option(WITHOUT_ALLWPILIB "Don't build allwpilib (removes OpenCV requirement)" ON - option(USE_EXTERNAL_HAL "Use a separately built HAL" OFF) - set(EXTERNAL_HAL_FILE "" CACHE FILEPATH "Location to look for an external HAL CMake File") - option(USE_VCPKG_LIBUV "Use vcpkg libuv" OFF) -+option(FLAT_INSTALL_WPILIB "Use a flat install directory" OFF) - - if (NOT WITHOUT_JAVA AND NOT BUILD_SHARED_LIBS) - message(FATAL_ERROR " -@@ -66,26 +67,49 @@ set( main_lib_dest wpilib/lib ) - set( java_lib_dest wpilib/java ) - set( jni_lib_dest wpilib/jni ) - --if (MSVC) -+if (MSVC OR FLAT_INSTALL_WPILIB) - set (wpilib_config_dir ${wpilib_dest}) - else() - set (wpilib_config_dir share/wpilib) - endif() - -+if (USE_VCPKG_LIBUV) -+set (LIBUV_VCPKG_REPLACE "find_package(unofficial-libuv CONFIG)") -+endif() -+ -+if (MSVC OR FLAT_INSTALL_WPILIB) -+set(WPIUTIL_DEP_REPLACE "include($\{SELF_DIR\}/wpiutil-config.cmake)") -+set(NTCORE_DEP_REPLACE "include($\{SELF_DIR\}/ntcore-config.cmake)") -+set(CSCORE_DEP_REPLACE_IMPL "include(\${SELF_DIR}/cscore-config.cmake)") -+set(CAMERASERVER_DEP_REPLACE_IMPL "include(\${SELF_DIR}/cameraserver-config.cmake)") -+set(HAL_DEP_REPLACE_IMPL "include(\${SELF_DIR}/hal-config.cmake)") -+set(WPILIBC_DEP_REPLACE_IMPL "include(\${SELF_DIR}/wpilibc-config.cmake)") -+else() -+set(WPIUTIL_DEP_REPLACE "find_dependency(wpiutil)") -+set(NTCORE_DEP_REPLACE "find_dependency(ntcore)") -+set(CSCORE_DEP_REPLACE_IMPL "find_dependency(cscore)") -+set(CAMERASERVER_DEP_REPLACE_IMPL "find_dependency(cameraserver)") -+set(HAL_DEP_REPLACE_IMPL "find_dependency(hal)") -+set(WPILIBC_DEP_REPLACE_IMPL "find_dependency(wpilibc)") -+endif() -+ -+set(FILENAME_DEP_REPLACE "get_filename_component(SELF_DIR \"$\{CMAKE_CURRENT_LIST_FILE\}\" PATH)") -+set(SELF_DIR "$\{SELF_DIR\}") -+ - add_subdirectory(wpiutil) - add_subdirectory(ntcore) - - if (NOT WITHOUT_CSCORE) -+ set(CSCORE_DEP_REPLACE ${CSCORE_DEP_REPLACE_IMPL}) -+ set(CAMERASERVER_DEP_REPLACE ${CAMERASERVER_DEP_REPLACE_IMPL}) - add_subdirectory(cscore) - add_subdirectory(cameraserver) -- set (CSCORE_DEP_REPLACE "find_dependency(cscore)") -- set (CAMERASERVER_DEP_REPLACE "find_dependency(cameraserver)") - if (NOT WITHOUT_ALLWPILIB) -+ set(HAL_DEP_REPLACE ${HAL_DEP_REPLACE_IMPL}) -+ set(WPILIBC_DEP_REPLACE ${WPILIBC_DEP_REPLACE_IMPL}) - add_subdirectory(hal) - add_subdirectory(wpilibj) - add_subdirectory(wpilibc) -- set (HAL_DEP_REPLACE "find_dependency(hal)") -- set (WPILIBC_DEP_REPLACE "find_dependency(wpilibc)") - endif() - endif() - -diff --git a/cameraserver/CMakeLists.txt b/cameraserver/CMakeLists.txt -index a3a74607a..1a75ae48d 100644 ---- a/cameraserver/CMakeLists.txt -+++ b/cameraserver/CMakeLists.txt -@@ -43,13 +43,14 @@ if (NOT WITHOUT_JAVA AND MSVC) - install(TARGETS cameraserver RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) - endif() - --if (MSVC) -+if (MSVC OR FLAT_INSTALL_WPILIB) - set (cameraserver_config_dir ${wpilib_dest}) - else() - set (cameraserver_config_dir share/cameraserver) - endif() - --install(FILES cameraserver-config.cmake DESTINATION ${cameraserver_config_dir}) -+configure_file(cameraserver-config.cmake.in ${CMAKE_BINARY_DIR}/cameraserver-config.cmake ) -+install(FILES ${CMAKE_BINARY_DIR}/cameraserver-config.cmake DESTINATION ${cameraserver_config_dir}) - install(EXPORT cameraserver DESTINATION ${cameraserver_config_dir}) - - file(GLOB multiCameraServer_src multiCameraServer/src/main/native/cpp/*.cpp) -diff --git a/cameraserver/cameraserver-config.cmake b/cameraserver/cameraserver-config.cmake -deleted file mode 100644 -index 2c2b1cc33..000000000 ---- a/cameraserver/cameraserver-config.cmake -+++ /dev/null -@@ -1,8 +0,0 @@ --include(CMakeFindDependencyMacro) --find_dependency(wpiutil) --find_dependency(ntcore) --find_dependency(cscore) --find_dependency(OpenCV) -- --get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) --include(${SELF_DIR}/cameraserver.cmake) -diff --git a/cameraserver/cameraserver-config.cmake.in b/cameraserver/cameraserver-config.cmake.in -new file mode 100644 -index 000000000..0c71fc58c ---- /dev/null -+++ b/cameraserver/cameraserver-config.cmake.in -@@ -0,0 +1,9 @@ -+include(CMakeFindDependencyMacro) -+@FILENAME_DEP_REPLACE@ -+@WPIUTIL_DEP_REPLACE@ -+@NTCORE_DEP_REPLACE@ -+@CSCORE_DEP_REPLACE@ -+find_dependency(OpenCV) -+ -+include(${SELF_DIR}/cameraserver.cmake) -+ -diff --git a/cscore/CMakeLists.txt b/cscore/CMakeLists.txt -index 52bcb54a2..805b3a583 100644 ---- a/cscore/CMakeLists.txt -+++ b/cscore/CMakeLists.txt -@@ -36,13 +36,14 @@ set_property(TARGET cscore PROPERTY FOLDER "libraries") - install(TARGETS cscore EXPORT cscore DESTINATION "${main_lib_dest}") - install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/cscore") - --if (MSVC) -+if (MSVC OR FLAT_INSTALL_WPILIB) - set (cscore_config_dir ${wpilib_dest}) - else() - set (cscore_config_dir share/cscore) - endif() - --install(FILES cscore-config.cmake DESTINATION ${cscore_config_dir}) -+configure_file(cscore-config.cmake.in ${CMAKE_BINARY_DIR}/cscore-config.cmake ) -+install(FILES ${CMAKE_BINARY_DIR}/cscore-config.cmake DESTINATION ${cscore_config_dir}) - install(EXPORT cscore DESTINATION ${cscore_config_dir}) - - SUBDIR_LIST(cscore_examples "${CMAKE_CURRENT_SOURCE_DIR}/examples") -diff --git a/cscore/cscore-config.cmake b/cscore/cscore-config.cmake -deleted file mode 100644 -index 790633b87..000000000 ---- a/cscore/cscore-config.cmake -+++ /dev/null -@@ -1,6 +0,0 @@ --include(CMakeFindDependencyMacro) --find_dependency(wpiutil) --find_dependency(OpenCV) -- --get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) --include(${SELF_DIR}/cscore.cmake) -diff --git a/cscore/cscore-config.cmake.in b/cscore/cscore-config.cmake.in -new file mode 100644 -index 000000000..7894fbaec ---- /dev/null -+++ b/cscore/cscore-config.cmake.in -@@ -0,0 +1,6 @@ -+include(CMakeFindDependencyMacro) -+@FILENAME_DEP_REPLACE@ -+@WPIUTIL_DEP_REPLACE@ -+find_dependency(OpenCV) -+ -+include(${SELF_DIR}/cscore.cmake) -diff --git a/hal/CMakeLists.txt b/hal/CMakeLists.txt -index e52d90ff0..7394495db 100644 ---- a/hal/CMakeLists.txt -+++ b/hal/CMakeLists.txt -@@ -55,13 +55,14 @@ install(TARGETS hal EXPORT hal DESTINATION "${main_lib_dest}") - install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/hal") - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/gen DESTINATION "${include_dest}/hal") - --if (MSVC) -+if (MSVC OR FLAT_INSTALL_WPILIB) - set (hal_config_dir ${wpilib_dest}) - else() - set (hal_config_dir share/hal) - endif() - --install(FILES hal-config.cmake DESTINATION ${hal_config_dir}) -+configure_file(hal-config.cmake.in ${CMAKE_BINARY_DIR}/hal-config.cmake ) -+install(FILES ${CMAKE_BINARY_DIR}/hal-config.cmake DESTINATION ${hal_config_dir}) - install(EXPORT hal DESTINATION ${hal_config_dir}) - - # Java bindings -diff --git a/hal/hal-config.cmake b/hal/hal-config.cmake -deleted file mode 100644 -index 97a574ebf..000000000 ---- a/hal/hal-config.cmake -+++ /dev/null -@@ -1,5 +0,0 @@ --include(CMakeFindDependencyMacro) --find_dependency(wpiutil) -- --get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) --include(${SELF_DIR}/hal.cmake) -diff --git a/hal/hal-config.cmake.in b/hal/hal-config.cmake.in -new file mode 100644 -index 000000000..ae5533c27 ---- /dev/null -+++ b/hal/hal-config.cmake.in -@@ -0,0 +1,5 @@ -+include(CMakeFindDependencyMacro) -+@FILENAME_DEP_REPLACE@ -+@WPIUTIL_DEP_REPLACE@ -+ -+include(${SELF_DIR}/hal.cmake) -diff --git a/ntcore/CMakeLists.txt b/ntcore/CMakeLists.txt -index 47e226401..1c00da138 100644 ---- a/ntcore/CMakeLists.txt -+++ b/ntcore/CMakeLists.txt -@@ -16,13 +16,14 @@ set_property(TARGET ntcore PROPERTY FOLDER "libraries") - install(TARGETS ntcore EXPORT ntcore DESTINATION "${main_lib_dest}") - install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/ntcore") - --if (MSVC) -+if (MSVC OR FLAT_INSTALL_WPILIB) - set (ntcore_config_dir ${wpilib_dest}) - else() - set (ntcore_config_dir share/ntcore) - endif() - --install(FILES ntcore-config.cmake DESTINATION ${ntcore_config_dir}) -+configure_file(ntcore-config.cmake.in ${CMAKE_BINARY_DIR}/ntcore-config.cmake ) -+install(FILES ${CMAKE_BINARY_DIR}/ntcore-config.cmake DESTINATION ${ntcore_config_dir}) - install(EXPORT ntcore DESTINATION ${ntcore_config_dir}) - - # Java bindings -diff --git a/ntcore/ntcore-config.cmake b/ntcore/ntcore-config.cmake -deleted file mode 100644 -index 6be1dda4a..000000000 ---- a/ntcore/ntcore-config.cmake -+++ /dev/null -@@ -1,5 +0,0 @@ --include(CMakeFindDependencyMacro) --find_dependency(wpiutil) -- --get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) --include(${SELF_DIR}/ntcore.cmake) -diff --git a/ntcore/ntcore-config.cmake.in b/ntcore/ntcore-config.cmake.in -new file mode 100644 -index 000000000..1e950e90c ---- /dev/null -+++ b/ntcore/ntcore-config.cmake.in -@@ -0,0 +1,5 @@ -+include(CMakeFindDependencyMacro) -+@FILENAME_DEP_REPLACE@ -+@WPIUTIL_DEP_REPLACE@ -+ -+include(${SELF_DIR}/ntcore.cmake) -diff --git a/wpilib-config.cmake.in b/wpilib-config.cmake.in -index 445db82d7..2c15dfe09 100644 ---- a/wpilib-config.cmake.in -+++ b/wpilib-config.cmake.in -@@ -1,8 +1,10 @@ - include(CMakeFindDependencyMacro) -+@FILENAME_DEP_REPLACE@ - set(THREADS_PREFER_PTHREAD_FLAG ON) - find_dependency(Threads) --find_dependency(wpiutil) --find_dependency(ntcore) -+@LIBUV_VCPKG_REPLACE@ -+@WPIUTIL_DEP_REPLACE@ -+@NTCORE_DEP_REPLACE@ - @CSCORE_DEP_REPLACE@ - @CAMERASERVER_DEP_REPLACE@ - @HAL_DEP_REPLACE@ -diff --git a/wpilibc/CMakeLists.txt b/wpilibc/CMakeLists.txt -index da3587188..7b131838b 100644 ---- a/wpilibc/CMakeLists.txt -+++ b/wpilibc/CMakeLists.txt -@@ -20,11 +20,12 @@ set_property(TARGET wpilibc PROPERTY FOLDER "libraries") - install(TARGETS wpilibc EXPORT wpilibc DESTINATION "${main_lib_dest}") - install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/wpilibc") - --if (MSVC) -+if (MSVC OR FLAT_INSTALL_WPILIB) - set (wpilibc_config_dir ${wpilib_dest}) - else() - set (wpilibc_config_dir share/wpilibc) - endif() - --install(FILES wpilibc-config.cmake DESTINATION ${wpilibc_config_dir}) -+configure_file(wpilibc-config.cmake.in ${CMAKE_BINARY_DIR}/wpilibc-config.cmake ) -+install(FILES ${CMAKE_BINARY_DIR}/wpilibc-config.cmake DESTINATION ${wpilibc_config_dir}) - install(EXPORT wpilibc DESTINATION ${wpilibc_config_dir}) -diff --git a/wpilibc/wpilibc-config.cmake b/wpilibc/wpilibc-config.cmake -deleted file mode 100644 -index 86f077c71..000000000 ---- a/wpilibc/wpilibc-config.cmake -+++ /dev/null -@@ -1,10 +0,0 @@ --include(CMakeFindDependencyMacro) --find_dependency(wpiutil) --find_dependency(ntcore) --find_dependency(cscore) --find_dependency(cameraserver) --find_dependency(hal) --find_dependency(OpenCV) -- --get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) --include(${SELF_DIR}/wpilibc.cmake) -diff --git a/wpilibc/wpilibc-config.cmake.in b/wpilibc/wpilibc-config.cmake.in -new file mode 100644 -index 000000000..4332c550e ---- /dev/null -+++ b/wpilibc/wpilibc-config.cmake.in -@@ -0,0 +1,9 @@ -+include(CMakeFindDependencyMacro) -+@FILENAME_DEP_REPLACE@ -+@WPIUTIL_DEP_REPLACE@ -+@NTCORE_DEP_REPLACE@ -+@CSCORE_DEP_REPLACE@ -+@CAMERASERVER_DEP_REPLACE@ -+@HAL_DEP_REPLACE@ -+ -+include(${SELF_DIR}/wpilibc.cmake) -diff --git a/wpilibj/CMakeLists.txt b/wpilibj/CMakeLists.txt -index 61fb558fa..964fa0cc1 100644 ---- a/wpilibj/CMakeLists.txt -+++ b/wpilibj/CMakeLists.txt -@@ -23,7 +23,7 @@ if (NOT WITHOUT_JAVA) - - set_property(TARGET wpilibj_jar PROPERTY FOLDER "java") - -- if (MSVC) -+ if (MSVC OR FLAT_INSTALL_WPILIB) - set (wpilibj_config_dir ${wpilib_dest}) - else() - set (wpilibj_config_dir share/wpilibj) -diff --git a/wpiutil/CMakeLists.txt b/wpiutil/CMakeLists.txt -index bcc0bcf5b..de66a9671 100644 ---- a/wpiutil/CMakeLists.txt -+++ b/wpiutil/CMakeLists.txt -@@ -124,13 +124,14 @@ if (NOT WITHOUT_JAVA AND MSVC) - install(TARGETS wpiutil RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) - endif() - --if (MSVC) -+if (MSVC OR FLAT_INSTALL_WPILIB) - set (wpiutil_config_dir ${wpilib_dest}) - else() - set (wpiutil_config_dir share/wpiutil) - endif() - --install(FILES wpiutil-config.cmake DESTINATION ${wpiutil_config_dir}) -+configure_file(wpiutil-config.cmake.in ${CMAKE_BINARY_DIR}/wpiutil-config.cmake ) -+install(FILES ${CMAKE_BINARY_DIR}/wpiutil-config.cmake DESTINATION ${wpiutil_config_dir}) - install(EXPORT wpiutil DESTINATION ${wpiutil_config_dir}) - - SUBDIR_LIST(wpiutil_examples "${CMAKE_CURRENT_SOURCE_DIR}/examples") -diff --git a/wpiutil/wpiutil-config.cmake b/wpiutil/wpiutil-config.cmake -deleted file mode 100644 -index 91d01a77c..000000000 ---- a/wpiutil/wpiutil-config.cmake -+++ /dev/null -@@ -1,2 +0,0 @@ --get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) --include(${SELF_DIR}/wpiutil.cmake) -diff --git a/wpiutil/wpiutil-config.cmake.in b/wpiutil/wpiutil-config.cmake.in -new file mode 100644 -index 000000000..5d71bc192 ---- /dev/null -+++ b/wpiutil/wpiutil-config.cmake.in -@@ -0,0 +1,7 @@ -+include(CMakeFindDependencyMacro) -+@FILENAME_DEP_REPLACE@ -+set(THREADS_PREFER_PTHREAD_FLAG ON) -+find_dependency(Threads) -+@LIBUV_VCPKG_REPLACE@ -+ -+include(${SELF_DIR}/wpiutil.cmake) --- -2.18.0.windows.1 - diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake index 3289333fa..2e77c0165 100644 --- a/ports/wpilib/portfile.cmake +++ b/ports/wpilib/portfile.cmake @@ -2,13 +2,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO thadhouse/allwpilib - REF v2019.42.42 + REPO wpilibsuite/allwpilib + REF 221011494d202770ad275c88cd7380119505e65d SHA512 fd8d1030bffe67912c09e6dd9aedd71be10a5994aae9d371eb7a0b0faa67bc2743a16d9c31a4472f933819d3d109c676d506df7ca6df46ca68ec92290d3a8a47 - HEAD_REF vcpkgrelease - PATCHES - 0001-Update-cmake-find-to-support-vcpkg-libuv.patch - 0001-Fix-Gray-to-BGR-conversion-in-CameraServer.patch ) set(WITHOUT_JAVA ON) -- cgit v1.2.3 From 94cf18d119e2f76ed429a78852d69890f70db8bc Mon Sep 17 00:00:00 2001 From: Thad House Date: Fri, 31 May 2019 13:50:30 -0700 Subject: Fix vcpkg things --- scripts/buildsystems/vcpkg.cmake | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index b83fcb1ca..f657e2710 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -107,11 +107,7 @@ if(NOT EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" AND NOT _CMAKE_I message(WARNING "There are no libraries installed for the Vcpkg triplet ${VCPKG_TARGET_TRIPLET}.") endif() -<<<<<<< HEAD -if(CMAKE_BUILD_TYPE MATCHES "^Debug$" OR NOT DEFINED CMAKE_BUILD_TYPE) #Debug build: Put Debug paths before Release paths. -======= if(CMAKE_BUILD_TYPE MATCHES "^[Dd][Ee][Bb][Uu][Gg]$" OR NOT DEFINED CMAKE_BUILD_TYPE) #Debug build: Put Debug paths before Release paths. ->>>>>>> upstream/master list(APPEND CMAKE_PREFIX_PATH ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET} ) -- cgit v1.2.3 From d21b44f019d483f579ce7ba33c31420727fd474c Mon Sep 17 00:00:00 2001 From: Thad House Date: Fri, 31 May 2019 14:21:22 -0700 Subject: Add hash for wpilib --- ports/wpilib/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake index 2e77c0165..4bb8b80a5 100644 --- a/ports/wpilib/portfile.cmake +++ b/ports/wpilib/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO wpilibsuite/allwpilib REF 221011494d202770ad275c88cd7380119505e65d - SHA512 fd8d1030bffe67912c09e6dd9aedd71be10a5994aae9d371eb7a0b0faa67bc2743a16d9c31a4472f933819d3d109c676d506df7ca6df46ca68ec92290d3a8a47 + SHA512 97ec277b2e7d0a287e1d4eef4f60b5f5b5a70a861f984d0bfb17610ca8f43c723e1ba3cc1b428d243db62b50307edcf509e496f15cccdda78f962bf91aa4568a ) set(WITHOUT_JAVA ON) -- cgit v1.2.3 From 5898891125b00a3ec2b698bc496735ab997669f5 Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Sat, 1 Jun 2019 00:48:17 +0200 Subject: [openexr,openimageio,suitesparse,theia] updates for non-win32 (#6371) * [openexr,openimageio,suitesparse,theia] updates for non-win32 * [theia] use only valid cmake symbols * [suitesparse] Fix build * [lapack] still not properly integrating with other ports * [lapack] intercept cmake module calls and substitute them with our defs * [suitesparse,clapack] fixes for proper integration * [ceres,clapack] bump CONTROL * [suitesparse] remove unnecessary defs * [clapack] improve wrapper logic * [WIN32] remove wrong symbol * [clapack] fix wrapper integration * [Accelerate] use best framework when available * [clapack] separate config from wrapper * [clapack] fix paths and filenames * [mlpack,armadillo,clapack] improve library handling * [mlpack] remove unnecessary cmake option * [clp,coinutils,osi,liblemon] dependencies of openmvg, improve compatibility with non-win32 * [openmvg] fix for case-sensitive filesystems * [clp,coinutils,osi] simplify CMakeLists removing many unnecessary steps * [sophus] Force rebuild * [theia] fixes for linux, part1 * [io2d] remove broken sintax * [fontconfig] bump version to remove CI cached failure * [theia] fixes for linux, part2 * [theia] remove unnecessary empty folders and comments from portfile * [theia] use correct build type removing forced vars in cmakelists.txt * [openmvg] add missing suitesparse target detection * [sophus] fix Suitesparse dependency * [sophus,openmvg] use suitesparse lowercase for module compatibility on case-sensitive filesystems * [suitesparse] fixes for case-sensitive filesystems * [openmvg] use correct Eigen3 name for case-sensitive filesystems * [sophus] trigger rebuild * [shogun] use modern vcpkg style * [shogun] add missing cmake system processor symbol --- ports/armadillo/CONTROL | 3 +- ports/armadillo/portfile.cmake | 64 +- ports/armadillo/remove_custom_modules.patch | 17 + ports/assimp/portfile.cmake | 2 +- ports/blaze/CONTROL | 2 +- .../0003_remove_unnecessary_cmake_modules.patch | 949 ------------- ports/ceres/0003_use_glog_target.patch | 25 + ports/ceres/0004_fix_exported_ceres_config.patch | 92 ++ ports/ceres/0004_use_glog_target.patch | 25 - ports/ceres/0005_fix_exported_ceres_config.patch | 92 -- ports/ceres/CONTROL | 5 +- ports/ceres/portfile.cmake | 17 +- ports/clapack/CONTROL | 2 +- ports/clapack/FindLAPACK.cmake | 198 +++ ports/clapack/fix-lack-library.patch | 18 - ports/clapack/fix-linux-build.patch | 46 - ports/clapack/lapack.def | 1453 -------------------- ports/clapack/link-to-math-lib.patch | 12 - ports/clapack/openblas_linux.patch | 12 + ports/clapack/portfile.cmake | 48 +- ports/clapack/remove_internal_blas.patch | 84 ++ .../use-other-blas-and-install-include.patch | 103 -- ports/clapack/vcpkg-cmake-wrapper.cmake | 4 + ports/clp/CMakeLists.txt | 260 ++-- ports/clp/CONTROL | 8 +- ports/clp/Config.cmake.in | 10 +- ports/clp/portfile.cmake | 8 +- ports/coinutils/CMakeLists.txt | 108 +- ports/coinutils/CONTROL | 2 +- ports/coinutils/Config.cmake.in | 2 +- ports/coinutils/portfile.cmake | 8 +- ports/dlib/CONTROL | 2 +- ports/ebml/portfile.cmake | 56 +- ports/ensmallen/CONTROL | 9 +- ports/exiv2/portfile.cmake | 4 +- ports/ffmpeg/portfile.cmake | 6 +- ports/fmilib/portfile.cmake | 52 +- ports/fontconfig/CONTROL | 2 +- ports/fontconfig/portfile.cmake | 2 +- ports/g2o/CONTROL | 2 +- ports/gdal/portfile.cmake | 88 +- ports/geogram/CONTROL | 2 +- ports/graphqlparser/portfile.cmake | 4 +- ports/gsoap/portfile.cmake | 10 +- ports/highfive/portfile.cmake | 2 +- ports/io2d/portfile.cmake | 25 +- ports/jsonnet/portfile.cmake | 2 +- ports/liblemon/CONTROL | 6 +- ports/liblemon/portfile.cmake | 1 + ports/mlpack/CONTROL | 14 +- ports/mlpack/cmakelists.patch | 96 +- ports/mlpack/portfile.cmake | 34 +- ports/moos-core/portfile.cmake | 2 +- ports/octomap/portfile.cmake | 2 +- ports/openblas/portfile.cmake | 14 +- .../fix_clang_not_setting_modern_cplusplus.patch | 13 + ports/openexr/portfile.cmake | 6 +- ports/openimageio/portfile.cmake | 3 +- ports/openimageio/remove_wrong_dependency.patch | 23 + ports/openmvg/CONTROL | 4 +- ports/openmvg/fixcmake.patch | 16 +- ports/openssl-windows/portfile.cmake | 50 +- ports/osi/CMakeLists.txt | 197 ++- ports/osi/CONTROL | 8 +- ports/osi/Config.cmake.in | 10 +- ports/osi/portfile.cmake | 7 +- ports/platform-folders/portfile.cmake | 2 +- ports/portaudio/portfile.cmake | 2 +- ports/rttr/portfile.cmake | 4 +- ports/shogun/CONTROL | 8 +- ports/shogun/portfile.cmake | 18 +- ports/shogun/use_proper_cmake_symbol.patch | 22 + ports/sndfile/portfile.cmake | 2 +- ports/sophus/CONTROL | 4 +- ports/sophus/fix_cmakelists.patch | 12 + ports/sophus/portfile.cmake | 10 +- ports/suitesparse/CONTROL | 2 +- ports/suitesparse/fix-install-suitesparse.patch | 29 - ports/suitesparse/portfile.cmake | 77 +- ports/suitesparse/remove-debug-postfix.patch | 11 - ports/suitesparse/suitesparse.patch | 73 + ports/tgui/portfile.cmake | 6 +- ports/theia/CONTROL | 8 +- ports/theia/fix-cmakelists.patch | 310 ----- ports/theia/fix-external-dependencies.patch | 405 ++++++ ports/theia/fix-find-suitesparse.patch | 227 --- ports/theia/fix-glog-error.patch | 12 - ports/theia/fix-oiio.patch | 391 ------ ports/theia/fix-vlfeat-static.patch | 49 - ports/theia/portfile.cmake | 35 +- ports/x265/portfile.cmake | 8 +- ports/zxing-cpp/portfile.cmake | 6 +- 92 files changed, 1701 insertions(+), 4485 deletions(-) create mode 100644 ports/armadillo/remove_custom_modules.patch delete mode 100644 ports/ceres/0003_remove_unnecessary_cmake_modules.patch create mode 100644 ports/ceres/0003_use_glog_target.patch create mode 100644 ports/ceres/0004_fix_exported_ceres_config.patch delete mode 100644 ports/ceres/0004_use_glog_target.patch delete mode 100644 ports/ceres/0005_fix_exported_ceres_config.patch create mode 100644 ports/clapack/FindLAPACK.cmake delete mode 100644 ports/clapack/fix-lack-library.patch delete mode 100644 ports/clapack/fix-linux-build.patch delete mode 100644 ports/clapack/lapack.def delete mode 100644 ports/clapack/link-to-math-lib.patch create mode 100644 ports/clapack/openblas_linux.patch create mode 100644 ports/clapack/remove_internal_blas.patch delete mode 100644 ports/clapack/use-other-blas-and-install-include.patch create mode 100644 ports/clapack/vcpkg-cmake-wrapper.cmake create mode 100644 ports/openexr/fix_clang_not_setting_modern_cplusplus.patch create mode 100644 ports/openimageio/remove_wrong_dependency.patch create mode 100644 ports/shogun/use_proper_cmake_symbol.patch create mode 100644 ports/sophus/fix_cmakelists.patch delete mode 100644 ports/suitesparse/fix-install-suitesparse.patch delete mode 100644 ports/suitesparse/remove-debug-postfix.patch create mode 100644 ports/suitesparse/suitesparse.patch delete mode 100644 ports/theia/fix-cmakelists.patch create mode 100644 ports/theia/fix-external-dependencies.patch delete mode 100644 ports/theia/fix-find-suitesparse.patch delete mode 100644 ports/theia/fix-glog-error.patch delete mode 100644 ports/theia/fix-oiio.patch delete mode 100644 ports/theia/fix-vlfeat-static.patch diff --git a/ports/armadillo/CONTROL b/ports/armadillo/CONTROL index d8edd620e..a162b1ced 100644 --- a/ports/armadillo/CONTROL +++ b/ports/armadillo/CONTROL @@ -1,3 +1,4 @@ Source: armadillo -Version: 2019-04-16-f00d3225 +Version: 2019-04-16-1 Description: Armadillo is a high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use +Build-Depends: openblas (!osx), clapack (!osx) diff --git a/ports/armadillo/portfile.cmake b/ports/armadillo/portfile.cmake index 172984712..6b9b3790a 100644 --- a/ports/armadillo/portfile.cmake +++ b/ports/armadillo/portfile.cmake @@ -1,29 +1,35 @@ -include(vcpkg_common_functions) - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_gitlab( - GITLAB_URL https://gitlab.com - OUT_SOURCE_PATH SOURCE_PATH - REPO conradsnicta/armadillo-code - REF f00d3225b1c005775044369723f31cecc3cd6569 - SHA512 ca3574edf5de8c752867403c3856ed9569fbed2ce9729585cae59be5751493c2e71121319b0a812e2ea56baada6b6f62fbc84ce6f1efb362347e5fd4141ccf1b - HEAD_REF 9.400.x -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DDETECT_HDF5=false -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/Armadillo/CMake TARGET_PATH share/armadillo) - -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/Armadillo RENAME copyright) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com + OUT_SOURCE_PATH SOURCE_PATH + REPO conradsnicta/armadillo-code + REF f00d3225b1c005775044369723f31cecc3cd6569 + SHA512 ca3574edf5de8c752867403c3856ed9569fbed2ce9729585cae59be5751493c2e71121319b0a812e2ea56baada6b6f62fbc84ce6f1efb362347e5fd4141ccf1b + HEAD_REF 9.400.x + PATCHES + remove_custom_modules.patch +) + +file(REMOVE ${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindBLAS.cmake) +file(REMOVE ${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindLAPACK.cmake) +file(REMOVE ${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindOpenBLAS.cmake) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DDETECT_HDF5=false +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/armadillo/CMake TARGET_PATH share/armadillo) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/armadillo RENAME copyright) diff --git a/ports/armadillo/remove_custom_modules.patch b/ports/armadillo/remove_custom_modules.patch new file mode 100644 index 000000000..0723dbeb5 --- /dev/null +++ b/ports/armadillo/remove_custom_modules.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0959127..9fea721 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -176,10 +176,9 @@ else() + include(ARMA_FindMKL) + include(ARMA_FindACMLMP) + include(ARMA_FindACML) +- include(ARMA_FindOpenBLAS) + include(ARMA_FindATLAS) +- include(ARMA_FindBLAS) +- include(ARMA_FindLAPACK) ++ find_package(BLAS) ++ find_package(LAPACK) + + message(STATUS " MKL_FOUND = ${MKL_FOUND}" ) + message(STATUS " ACMLMP_FOUND = ${ACMLMP_FOUND}" ) diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake index 2945f51f9..1c40efe7e 100644 --- a/ports/assimp/portfile.cmake +++ b/ports/assimp/portfile.cmake @@ -50,7 +50,7 @@ file(READ ${CURRENT_PACKAGES_DIR}/share/assimp/assimp-config.cmake ASSIMP_CONFIG string(REPLACE "get_filename_component(ASSIMP_ROOT_DIR \"\${_PREFIX}\" PATH)" "set(ASSIMP_ROOT_DIR \${_PREFIX})" ASSIMP_CONFIG ${ASSIMP_CONFIG}) -if(WIN32) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})" "set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES}.lib debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/\${ASSIMP_LIBRARIES}d.lib)" ASSIMP_CONFIG ${ASSIMP_CONFIG}) else() diff --git a/ports/blaze/CONTROL b/ports/blaze/CONTROL index 89af7e7d3..c70a72a6c 100644 --- a/ports/blaze/CONTROL +++ b/ports/blaze/CONTROL @@ -1,4 +1,4 @@ Source: blaze Version: 3.5 -Build-Depends: clapack, boost-exception +Build-Depends: clapack (!osx), boost-exception Description: Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic. diff --git a/ports/ceres/0003_remove_unnecessary_cmake_modules.patch b/ports/ceres/0003_remove_unnecessary_cmake_modules.patch deleted file mode 100644 index 698d410b9..000000000 --- a/ports/ceres/0003_remove_unnecessary_cmake_modules.patch +++ /dev/null @@ -1,949 +0,0 @@ -diff --git a/cmake/FindGflags.cmake b/cmake/FindGflags.cmake -deleted file mode 100644 -index 32c04ea..0000000 ---- a/cmake/FindGflags.cmake -+++ /dev/null -@@ -1,591 +0,0 @@ --# Ceres Solver - A fast non-linear least squares minimizer --# Copyright 2015 Google Inc. All rights reserved. --# http://ceres-solver.org/ --# --# Redistribution and use in source and binary forms, with or without --# modification, are permitted provided that the following conditions are met: --# --# * Redistributions of source code must retain the above copyright notice, --# this list of conditions and the following disclaimer. --# * Redistributions in binary form must reproduce the above copyright notice, --# this list of conditions and the following disclaimer in the documentation --# and/or other materials provided with the distribution. --# * Neither the name of Google Inc. nor the names of its contributors may be --# used to endorse or promote products derived from this software without --# specific prior written permission. --# --# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" --# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE --# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE --# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE --# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR --# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF --# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS --# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN --# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) --# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE --# POSSIBILITY OF SUCH DAMAGE. --# --# Author: alexs.mac@gmail.com (Alex Stewart) --# -- --# FindGflags.cmake - Find Google gflags logging library. --# --# This module will attempt to find gflags, either via an exported CMake --# configuration (generated by gflags >= 2.1 which are built with CMake), or --# by performing a standard search for all gflags components. The order of --# precedence for these two methods of finding gflags is controlled by: --# GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION. --# --# This module defines the following variables: --# --# GFLAGS_FOUND: TRUE iff gflags is found. --# GFLAGS_INCLUDE_DIRS: Include directories for gflags. --# GFLAGS_LIBRARIES: Libraries required to link gflags. --# GFLAGS_NAMESPACE: The namespace in which gflags is defined. In versions of --# gflags < 2.1, this was google, for versions >= 2.1 it is --# by default gflags, although can be configured when building --# gflags to be something else (i.e. google for legacy --# compatibility). --# FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION: True iff the version of gflags --# found was built & installed / --# exported as a CMake package. --# --# The following variables control the behaviour of this module when an exported --# gflags CMake configuration is not found. --# --# GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION: TRUE/FALSE, iff TRUE then --# then prefer using an exported CMake configuration --# generated by gflags >= 2.1 over searching for the --# gflags components manually. Otherwise (FALSE) --# ignore any exported gflags CMake configurations and --# always perform a manual search for the components. --# Default: TRUE iff user does not define this variable --# before we are called, and does NOT specify either --# GFLAGS_INCLUDE_DIR_HINTS or GFLAGS_LIBRARY_DIR_HINTS --# otherwise FALSE. --# GFLAGS_INCLUDE_DIR_HINTS: List of additional directories in which to --# search for gflags includes, e.g: /timbuktu/include. --# GFLAGS_LIBRARY_DIR_HINTS: List of additional directories in which to --# search for gflags libraries, e.g: /timbuktu/lib. --# --# The following variables are also defined by this module, but in line with --# CMake recommended FindPackage() module style should NOT be referenced directly --# by callers (use the plural variables detailed above instead). These variables --# do however affect the behaviour of the module via FIND_[PATH/LIBRARY]() which --# are NOT re-called (i.e. search for library is not repeated) if these variables --# are set with valid values _in the CMake cache_. This means that if these --# variables are set directly in the cache, either by the user in the CMake GUI, --# or by the user passing -DVAR=VALUE directives to CMake when called (which --# explicitly defines a cache variable), then they will be used verbatim, --# bypassing the HINTS variables and other hard-coded search locations. --# --# GFLAGS_INCLUDE_DIR: Include directory for gflags, not including the --# include directory of any dependencies. --# GFLAGS_LIBRARY: gflags library, not including the libraries of any --# dependencies. -- --# Reset CALLERS_CMAKE_FIND_LIBRARY_PREFIXES to its value when FindGflags was --# invoked, necessary for MSVC. --macro(GFLAGS_RESET_FIND_LIBRARY_PREFIX) -- if (MSVC AND CALLERS_CMAKE_FIND_LIBRARY_PREFIXES) -- set(CMAKE_FIND_LIBRARY_PREFIXES "${CALLERS_CMAKE_FIND_LIBRARY_PREFIXES}") -- endif() --endmacro(GFLAGS_RESET_FIND_LIBRARY_PREFIX) -- --# Called if we failed to find gflags or any of it's required dependencies, --# unsets all public (designed to be used externally) variables and reports --# error message at priority depending upon [REQUIRED/QUIET/] argument. --macro(GFLAGS_REPORT_NOT_FOUND REASON_MSG) -- unset(GFLAGS_FOUND) -- unset(GFLAGS_INCLUDE_DIRS) -- unset(GFLAGS_LIBRARIES) -- # Do not use unset, as we want to keep GFLAGS_NAMESPACE in the cache, -- # but simply clear its value. -- set(GFLAGS_NAMESPACE "" CACHE STRING -- "gflags namespace (google or gflags)" FORCE) -- -- # Make results of search visible in the CMake GUI if gflags has not -- # been found so that user does not have to toggle to advanced view. -- mark_as_advanced(CLEAR GFLAGS_INCLUDE_DIR -- GFLAGS_LIBRARY -- GFLAGS_NAMESPACE) -- -- gflags_reset_find_library_prefix() -- -- # Note _FIND_[REQUIRED/QUIETLY] variables defined by FindPackage() -- # use the camelcase library name, not uppercase. -- if (Gflags_FIND_QUIETLY) -- message(STATUS "Failed to find gflags - " ${REASON_MSG} ${ARGN}) -- elseif (Gflags_FIND_REQUIRED) -- message(FATAL_ERROR "Failed to find gflags - " ${REASON_MSG} ${ARGN}) -- else() -- # Neither QUIETLY nor REQUIRED, use no priority which emits a message -- # but continues configuration and allows generation. -- message("-- Failed to find gflags - " ${REASON_MSG} ${ARGN}) -- endif () -- return() --endmacro(GFLAGS_REPORT_NOT_FOUND) -- --# Verify that all variable names passed as arguments are defined (can be empty --# but must be defined) or raise a fatal error. --macro(GFLAGS_CHECK_VARS_DEFINED) -- foreach(CHECK_VAR ${ARGN}) -- if (NOT DEFINED ${CHECK_VAR}) -- message(FATAL_ERROR "Ceres Bug: ${CHECK_VAR} is not defined.") -- endif() -- endforeach() --endmacro(GFLAGS_CHECK_VARS_DEFINED) -- --# Use check_cxx_source_compiles() to compile trivial test programs to determine --# the gflags namespace. This works on all OSs except Windows. If using Visual --# Studio, it fails because msbuild forces check_cxx_source_compiles() to use --# CMAKE_BUILD_TYPE=Debug for the test project, which usually breaks detection --# because MSVC requires that the test project use the same build type as gflags, --# which would normally be built in Release. --# --# Defines: GFLAGS_NAMESPACE in the caller's scope with the detected namespace, --# which is blank (empty string, will test FALSE is CMake conditionals) --# if detection failed. --function(GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_TRY_COMPILE) -- # Verify that all required variables are defined. -- gflags_check_vars_defined( -- GFLAGS_INCLUDE_DIR GFLAGS_LIBRARY) -- # Ensure that GFLAGS_NAMESPACE is always unset on completion unless -- # we explicitly set if after having the correct namespace. -- set(GFLAGS_NAMESPACE "" PARENT_SCOPE) -- -- include(CheckCXXSourceCompiles) -- # Setup include path & link library for gflags for CHECK_CXX_SOURCE_COMPILES. -- set(CMAKE_REQUIRED_INCLUDES ${GFLAGS_INCLUDE_DIR}) -- set(CMAKE_REQUIRED_LIBRARIES ${GFLAGS_LIBRARY} ${GFLAGS_LINK_LIBRARIES}) -- # First try the (older) google namespace. Note that the output variable -- # MUST be unique to the build type as otherwise the test is not repeated as -- # it is assumed to have already been performed. -- check_cxx_source_compiles( -- "#include -- int main(int argc, char * argv[]) { -- google::ParseCommandLineFlags(&argc, &argv, true); -- return 0; -- }" -- GFLAGS_IN_GOOGLE_NAMESPACE) -- if (GFLAGS_IN_GOOGLE_NAMESPACE) -- set(GFLAGS_NAMESPACE google PARENT_SCOPE) -- return() -- endif() -- -- # Try (newer) gflags namespace instead. Note that the output variable -- # MUST be unique to the build type as otherwise the test is not repeated as -- # it is assumed to have already been performed. -- set(CMAKE_REQUIRED_INCLUDES ${GFLAGS_INCLUDE_DIR}) -- set(CMAKE_REQUIRED_LIBRARIES ${GFLAGS_LIBRARY} ${GFLAGS_LINK_LIBRARIES}) -- check_cxx_source_compiles( -- "#include -- int main(int argc, char * argv[]) { -- gflags::ParseCommandLineFlags(&argc, &argv, true); -- return 0; -- }" -- GFLAGS_IN_GFLAGS_NAMESPACE) -- if (GFLAGS_IN_GFLAGS_NAMESPACE) -- set(GFLAGS_NAMESPACE gflags PARENT_SCOPE) -- return() -- endif (GFLAGS_IN_GFLAGS_NAMESPACE) --endfunction(GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_TRY_COMPILE) -- --# Use regex on the gflags headers to attempt to determine the gflags namespace. --# Checks both gflags.h (contained namespace on versions < 2.1.2) and --# gflags_declare.h, which contains the namespace on versions >= 2.1.2. --# In general, this method should only be used when --# GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_TRY_COMPILE() cannot be used, or has --# failed. --# --# Defines: GFLAGS_NAMESPACE in the caller's scope with the detected namespace, --# which is blank (empty string, will test FALSE is CMake conditionals) --# if detection failed. --function(GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_REGEX) -- # Verify that all required variables are defined. -- gflags_check_vars_defined(GFLAGS_INCLUDE_DIR) -- # Ensure that GFLAGS_NAMESPACE is always undefined on completion unless -- # we explicitly set if after having the correct namespace. -- set(GFLAGS_NAMESPACE "" PARENT_SCOPE) -- -- # Scan gflags.h to identify what namespace gflags was built with. On -- # versions of gflags < 2.1.2, gflags.h was configured with the namespace -- # directly, on >= 2.1.2, gflags.h uses the GFLAGS_NAMESPACE #define which -- # is defined in gflags_declare.h, we try each location in turn. -- set(GFLAGS_HEADER_FILE ${GFLAGS_INCLUDE_DIR}/gflags/gflags.h) -- if (NOT EXISTS ${GFLAGS_HEADER_FILE}) -- gflags_report_not_found( -- "Could not find file: ${GFLAGS_HEADER_FILE} " -- "containing namespace information in gflags install located at: " -- "${GFLAGS_INCLUDE_DIR}.") -- endif() -- file(READ ${GFLAGS_HEADER_FILE} GFLAGS_HEADER_FILE_CONTENTS) -- -- string(REGEX MATCH "namespace [A-Za-z]+" -- GFLAGS_NAMESPACE "${GFLAGS_HEADER_FILE_CONTENTS}") -- string(REGEX REPLACE "namespace ([A-Za-z]+)" "\\1" -- GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}") -- -- if (NOT GFLAGS_NAMESPACE) -- gflags_report_not_found( -- "Failed to extract gflags namespace from header file: " -- "${GFLAGS_HEADER_FILE}.") -- endif (NOT GFLAGS_NAMESPACE) -- -- if (GFLAGS_NAMESPACE STREQUAL "google" OR -- GFLAGS_NAMESPACE STREQUAL "gflags") -- # Found valid gflags namespace from gflags.h. -- set(GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}" PARENT_SCOPE) -- return() -- endif() -- -- # Failed to find gflags namespace from gflags.h, gflags is likely a new -- # version, check gflags_declare.h, which in newer versions (>= 2.1.2) contains -- # the GFLAGS_NAMESPACE #define, which is then referenced in gflags.h. -- set(GFLAGS_DECLARE_FILE ${GFLAGS_INCLUDE_DIR}/gflags/gflags_declare.h) -- if (NOT EXISTS ${GFLAGS_DECLARE_FILE}) -- gflags_report_not_found( -- "Could not find file: ${GFLAGS_DECLARE_FILE} " -- "containing namespace information in gflags install located at: " -- "${GFLAGS_INCLUDE_DIR}.") -- endif() -- file(READ ${GFLAGS_DECLARE_FILE} GFLAGS_DECLARE_FILE_CONTENTS) -- -- string(REGEX MATCH "#define GFLAGS_NAMESPACE [A-Za-z]+" -- GFLAGS_NAMESPACE "${GFLAGS_DECLARE_FILE_CONTENTS}") -- string(REGEX REPLACE "#define GFLAGS_NAMESPACE ([A-Za-z]+)" "\\1" -- GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}") -- -- if (NOT GFLAGS_NAMESPACE) -- gflags_report_not_found( -- "Failed to extract gflags namespace from declare file: " -- "${GFLAGS_DECLARE_FILE}.") -- endif (NOT GFLAGS_NAMESPACE) -- -- if (GFLAGS_NAMESPACE STREQUAL "google" OR -- GFLAGS_NAMESPACE STREQUAL "gflags") -- # Found valid gflags namespace from gflags.h. -- set(GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}" PARENT_SCOPE) -- return() -- endif() --endfunction(GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_REGEX) -- --# Protect against any alternative find_package scripts for this library having --# been called previously (in a client project) which set GFLAGS_FOUND, but not --# the other variables we require / set here which could cause the search logic --# here to fail. --unset(GFLAGS_FOUND) -- --# ----------------------------------------------------------------- --# By default, if the user has expressed no preference for using an exported --# gflags CMake configuration over performing a search for the installed --# components, and has not specified any hints for the search locations, then --# prefer a gflags exported configuration if available. --if (NOT DEFINED GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION -- AND NOT GFLAGS_INCLUDE_DIR_HINTS -- AND NOT GFLAGS_LIBRARY_DIR_HINTS) -- message(STATUS "No preference for use of exported gflags CMake configuration " -- "set, and no hints for include/library directories provided. " -- "Defaulting to preferring an installed/exported gflags CMake configuration " -- "if available.") -- set(GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION TRUE) --endif() -- --if (GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION) -- # Try to find an exported CMake configuration for gflags, as generated by -- # gflags versions >= 2.1. -- # -- # We search twice, s/t we can invert the ordering of precedence used by -- # find_package() for exported package build directories, and installed -- # packages (found via CMAKE_SYSTEM_PREFIX_PATH), listed as items 6) and 7) -- # respectively in [1]. -- # -- # By default, exported build directories are (in theory) detected first, and -- # this is usually the case on Windows. However, on OS X & Linux, the install -- # path (/usr/local) is typically present in the PATH environment variable -- # which is checked in item 4) in [1] (i.e. before both of the above, unless -- # NO_SYSTEM_ENVIRONMENT_PATH is passed). As such on those OSs installed -- # packages are usually detected in preference to exported package build -- # directories. -- # -- # To ensure a more consistent response across all OSs, and as users usually -- # want to prefer an installed version of a package over a locally built one -- # where both exist (esp. as the exported build directory might be removed -- # after installation), we first search with NO_CMAKE_PACKAGE_REGISTRY which -- # means any build directories exported by the user are ignored, and thus -- # installed directories are preferred. If this fails to find the package -- # we then research again, but without NO_CMAKE_PACKAGE_REGISTRY, so any -- # exported build directories will now be detected. -- # -- # To prevent confusion on Windows, we also pass NO_CMAKE_BUILDS_PATH (which -- # is item 5) in [1]), to not preferentially use projects that were built -- # recently with the CMake GUI to ensure that we always prefer an installed -- # version if available. -- # -- # [1] http://www.cmake.org/cmake/help/v2.8.11/cmake.html#command:find_package -- find_package(gflags QUIET -- NO_MODULE -- NO_CMAKE_PACKAGE_REGISTRY -- NO_CMAKE_BUILDS_PATH) -- if (gflags_FOUND) -- message(STATUS "Found installed version of gflags: ${gflags_DIR}") -- else(gflags_FOUND) -- # Failed to find an installed version of gflags, repeat search allowing -- # exported build directories. -- message(STATUS "Failed to find installed gflags CMake configuration, " -- "searching for gflags build directories exported with CMake.") -- # Again pass NO_CMAKE_BUILDS_PATH, as we know that gflags is exported and -- # do not want to treat projects built with the CMake GUI preferentially. -- find_package(gflags QUIET -- NO_MODULE -- NO_CMAKE_BUILDS_PATH) -- if (gflags_FOUND) -- message(STATUS "Found exported gflags build directory: ${gflags_DIR}") -- endif(gflags_FOUND) -- endif(gflags_FOUND) -- -- set(FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION ${gflags_FOUND}) -- -- # gflags v2.1 - 2.1.2 shipped with a bug in their gflags-config.cmake [1] -- # whereby gflags_LIBRARIES = "gflags", but there was no imported target -- # called "gflags", they were called: gflags[_nothreads]-[static/shared]. -- # As this causes linker errors when gflags is not installed in a location -- # on the current library paths, detect if this problem is present and -- # fix it. -- # -- # [1] https://github.com/gflags/gflags/issues/110 -- if (gflags_FOUND) -- # NOTE: This is not written as additional conditions in the outer -- # if (gflags_FOUND) as the NOT TARGET "${gflags_LIBRARIES}" -- # condition causes problems if gflags is not found. -- if (${gflags_VERSION} VERSION_LESS 2.1.3 AND -- NOT TARGET "${gflags_LIBRARIES}") -- message(STATUS "Detected broken gflags install in: ${gflags_DIR}, " -- "version: ${gflags_VERSION} <= 2.1.2 which defines gflags_LIBRARIES = " -- "${gflags_LIBRARIES} which is not an imported CMake target, see: " -- "https://github.com/gflags/gflags/issues/110. Attempting to fix by " -- "detecting correct gflags target.") -- # Ordering here expresses preference for detection, specifically we do not -- # want to use the _nothreads variants if the full library is available. -- list(APPEND CHECK_GFLAGS_IMPORTED_TARGET_NAMES -- gflags-shared gflags-static -- gflags_nothreads-shared gflags_nothreads-static) -- foreach(CHECK_GFLAGS_TARGET ${CHECK_GFLAGS_IMPORTED_TARGET_NAMES}) -- if (TARGET ${CHECK_GFLAGS_TARGET}) -- message(STATUS "Found valid gflags target: ${CHECK_GFLAGS_TARGET}, " -- "updating gflags_LIBRARIES.") -- set(gflags_LIBRARIES ${CHECK_GFLAGS_TARGET}) -- break() -- endif() -- endforeach() -- if (NOT TARGET ${gflags_LIBRARIES}) -- message(STATUS "Failed to fix detected broken gflags install in: " -- "${gflags_DIR}, version: ${gflags_VERSION} <= 2.1.2, none of the " -- "imported targets for gflags: ${CHECK_GFLAGS_IMPORTED_TARGET_NAMES} " -- "are defined. Will continue with a manual search for gflags " -- "components. We recommend you build/install a version of gflags > " -- "2.1.2 (or master).") -- set(FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION FALSE) -- endif() -- endif() -- endif() -- -- if (FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION) -- message(STATUS "Detected gflags version: ${gflags_VERSION}") -- set(GFLAGS_FOUND ${gflags_FOUND}) -- set(GFLAGS_INCLUDE_DIR ${gflags_INCLUDE_DIR}) -- set(GFLAGS_LIBRARY ${gflags_LIBRARIES}) -- -- # gflags does not export the namespace in their CMake configuration, so -- # use our function to determine what it should be, as it can be either -- # gflags or google dependent upon version & configuration. -- # -- # NOTE: We use the regex method to determine the namespace here, as -- # check_cxx_source_compiles() will not use imported targets, which -- # is what gflags will be in this case. -- gflags_check_gflags_namespace_using_regex() -- -- if (NOT GFLAGS_NAMESPACE) -- gflags_report_not_found( -- "Failed to determine gflags namespace using regex for gflags " -- "version: ${gflags_VERSION} exported here: ${gflags_DIR} using CMake.") -- endif (NOT GFLAGS_NAMESPACE) -- else (FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION) -- message(STATUS "Failed to find an installed/exported CMake configuration " -- "for gflags, will perform search for installed gflags components.") -- endif (FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION) --endif(GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION) -- --if (NOT GFLAGS_FOUND) -- # Either failed to find an exported gflags CMake configuration, or user -- # told us not to use one. Perform a manual search for all gflags components. -- -- # Handle possible presence of lib prefix for libraries on MSVC, see -- # also GFLAGS_RESET_FIND_LIBRARY_PREFIX(). -- if (MSVC) -- # Preserve the caller's original values for CMAKE_FIND_LIBRARY_PREFIXES -- # s/t we can set it back before returning. -- set(CALLERS_CMAKE_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}") -- # The empty string in this list is important, it represents the case when -- # the libraries have no prefix (shared libraries / DLLs). -- set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "" "${CMAKE_FIND_LIBRARY_PREFIXES}") -- endif (MSVC) -- -- # Search user-installed locations first, so that we prefer user installs -- # to system installs where both exist. -- list(APPEND GFLAGS_CHECK_INCLUDE_DIRS -- /usr/local/include -- /usr/local/homebrew/include # Mac OS X -- /opt/local/var/macports/software # Mac OS X. -- /opt/local/include -- /usr/include) -- list(APPEND GFLAGS_CHECK_PATH_SUFFIXES -- gflags/include # Windows (for C:/Program Files prefix). -- gflags/Include ) # Windows (for C:/Program Files prefix). -- -- list(APPEND GFLAGS_CHECK_LIBRARY_DIRS -- /usr/local/lib -- /usr/local/homebrew/lib # Mac OS X. -- /opt/local/lib -- /usr/lib) -- list(APPEND GFLAGS_CHECK_LIBRARY_SUFFIXES -- gflags/lib # Windows (for C:/Program Files prefix). -- gflags/Lib ) # Windows (for C:/Program Files prefix). -- -- # Search supplied hint directories first if supplied. -- find_path(GFLAGS_INCLUDE_DIR -- NAMES gflags/gflags.h -- HINTS ${GFLAGS_INCLUDE_DIR_HINTS} -- PATHS ${GFLAGS_CHECK_INCLUDE_DIRS} -- PATH_SUFFIXES ${GFLAGS_CHECK_PATH_SUFFIXES}) -- if (NOT GFLAGS_INCLUDE_DIR OR -- NOT EXISTS ${GFLAGS_INCLUDE_DIR}) -- gflags_report_not_found( -- "Could not find gflags include directory, set GFLAGS_INCLUDE_DIR " -- "to directory containing gflags/gflags.h") -- endif (NOT GFLAGS_INCLUDE_DIR OR -- NOT EXISTS ${GFLAGS_INCLUDE_DIR}) -- -- find_library(GFLAGS_LIBRARY NAMES gflags -- HINTS ${GFLAGS_LIBRARY_DIR_HINTS} -- PATHS ${GFLAGS_CHECK_LIBRARY_DIRS} -- PATH_SUFFIXES ${GFLAGS_CHECK_LIBRARY_SUFFIXES}) -- if (NOT GFLAGS_LIBRARY OR -- NOT EXISTS ${GFLAGS_LIBRARY}) -- gflags_report_not_found( -- "Could not find gflags library, set GFLAGS_LIBRARY " -- "to full path to libgflags.") -- endif (NOT GFLAGS_LIBRARY OR -- NOT EXISTS ${GFLAGS_LIBRARY}) -- -- # gflags typically requires a threading library (which is OS dependent), note -- # that this defines the CMAKE_THREAD_LIBS_INIT variable. If we are able to -- # detect threads, we assume that gflags requires it. -- find_package(Threads QUIET) -- set(GFLAGS_LINK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) -- # On Windows (including MinGW), the Shlwapi library is used by gflags if -- # available. -- if (WIN32) -- include(CheckIncludeFileCXX) -- check_include_file_cxx("shlwapi.h" HAVE_SHLWAPI) -- if (HAVE_SHLWAPI) -- list(APPEND GFLAGS_LINK_LIBRARIES shlwapi.lib) -- endif(HAVE_SHLWAPI) -- endif (WIN32) -- -- # Mark internally as found, then verify. GFLAGS_REPORT_NOT_FOUND() unsets -- # if called. -- set(GFLAGS_FOUND TRUE) -- -- # Identify what namespace gflags was built with. -- if (GFLAGS_INCLUDE_DIR AND NOT GFLAGS_NAMESPACE) -- # To handle Windows peculiarities / CMake bugs on MSVC we try two approaches -- # to detect the gflags namespace: -- # -- # 1) Try to use check_cxx_source_compiles() to compile a trivial program -- # with the two choices for the gflags namespace. -- # -- # 2) [In the event 1) fails] Use regex on the gflags headers to try to -- # determine the gflags namespace. Whilst this is less robust than 1), -- # it does avoid any interaction with msbuild. -- gflags_check_gflags_namespace_using_try_compile() -- -- if (NOT GFLAGS_NAMESPACE) -- # Failed to determine gflags namespace using check_cxx_source_compiles() -- # method, try and obtain it using regex on the gflags headers instead. -- message(STATUS "Failed to find gflags namespace using using " -- "check_cxx_source_compiles(), trying namespace regex instead, " -- "this is expected on Windows.") -- gflags_check_gflags_namespace_using_regex() -- -- if (NOT GFLAGS_NAMESPACE) -- gflags_report_not_found( -- "Failed to determine gflags namespace either by " -- "check_cxx_source_compiles(), or namespace regex.") -- endif (NOT GFLAGS_NAMESPACE) -- endif (NOT GFLAGS_NAMESPACE) -- endif (GFLAGS_INCLUDE_DIR AND NOT GFLAGS_NAMESPACE) -- -- # Make the GFLAGS_NAMESPACE a cache variable s/t the user can view it, and could -- # overwrite it in the CMake GUI. -- set(GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}" CACHE STRING -- "gflags namespace (google or gflags)" FORCE) -- -- # gflags does not seem to provide any record of the version in its -- # source tree, thus cannot extract version. -- -- # Catch case when caller has set GFLAGS_NAMESPACE in the cache / GUI -- # with an invalid value. -- if (GFLAGS_NAMESPACE AND -- NOT GFLAGS_NAMESPACE STREQUAL "google" AND -- NOT GFLAGS_NAMESPACE STREQUAL "gflags") -- gflags_report_not_found( -- "Caller defined GFLAGS_NAMESPACE:" -- " ${GFLAGS_NAMESPACE} is not valid, not google or gflags.") -- endif () -- # Catch case when caller has set GFLAGS_INCLUDE_DIR in the cache / GUI and -- # thus FIND_[PATH/LIBRARY] are not called, but specified locations are -- # invalid, otherwise we would report the library as found. -- if (GFLAGS_INCLUDE_DIR AND -- NOT EXISTS ${GFLAGS_INCLUDE_DIR}/gflags/gflags.h) -- gflags_report_not_found( -- "Caller defined GFLAGS_INCLUDE_DIR:" -- " ${GFLAGS_INCLUDE_DIR} does not contain gflags/gflags.h header.") -- endif (GFLAGS_INCLUDE_DIR AND -- NOT EXISTS ${GFLAGS_INCLUDE_DIR}/gflags/gflags.h) -- # TODO: This regex for gflags library is pretty primitive, we use lowercase -- # for comparison to handle Windows using CamelCase library names, could -- # this check be better? -- string(TOLOWER "${GFLAGS_LIBRARY}" LOWERCASE_GFLAGS_LIBRARY) -- if (GFLAGS_LIBRARY AND -- NOT "${LOWERCASE_GFLAGS_LIBRARY}" MATCHES ".*gflags[^/]*") -- gflags_report_not_found( -- "Caller defined GFLAGS_LIBRARY: " -- "${GFLAGS_LIBRARY} does not match gflags.") -- endif (GFLAGS_LIBRARY AND -- NOT "${LOWERCASE_GFLAGS_LIBRARY}" MATCHES ".*gflags[^/]*") -- -- gflags_reset_find_library_prefix() -- --endif(NOT GFLAGS_FOUND) -- --# Set standard CMake FindPackage variables if found. --if (GFLAGS_FOUND) -- set(GFLAGS_INCLUDE_DIRS ${GFLAGS_INCLUDE_DIR}) -- set(GFLAGS_LIBRARIES ${GFLAGS_LIBRARY} ${GFLAGS_LINK_LIBRARIES}) --endif (GFLAGS_FOUND) -- --# Handle REQUIRED / QUIET optional arguments. --include(FindPackageHandleStandardArgs) --find_package_handle_standard_args(Gflags DEFAULT_MSG -- GFLAGS_INCLUDE_DIRS GFLAGS_LIBRARIES GFLAGS_NAMESPACE) -- --# Only mark internal variables as advanced if we found gflags, otherwise --# leave them visible in the standard GUI for the user to set manually. --if (GFLAGS_FOUND) -- mark_as_advanced(FORCE GFLAGS_INCLUDE_DIR -- GFLAGS_LIBRARY -- GFLAGS_NAMESPACE -- gflags_DIR) # Autogenerated by find_package(gflags) --endif (GFLAGS_FOUND) -diff --git a/cmake/FindGlog.cmake b/cmake/FindGlog.cmake -deleted file mode 100644 -index 979dced..0000000 ---- a/cmake/FindGlog.cmake -+++ /dev/null -@@ -1,346 +0,0 @@ --# Ceres Solver - A fast non-linear least squares minimizer --# Copyright 2015 Google Inc. All rights reserved. --# http://ceres-solver.org/ --# --# Redistribution and use in source and binary forms, with or without --# modification, are permitted provided that the following conditions are met: --# --# * Redistributions of source code must retain the above copyright notice, --# this list of conditions and the following disclaimer. --# * Redistributions in binary form must reproduce the above copyright notice, --# this list of conditions and the following disclaimer in the documentation --# and/or other materials provided with the distribution. --# * Neither the name of Google Inc. nor the names of its contributors may be --# used to endorse or promote products derived from this software without --# specific prior written permission. --# --# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" --# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE --# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE --# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE --# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR --# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF --# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS --# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN --# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) --# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE --# POSSIBILITY OF SUCH DAMAGE. --# --# Author: alexs.mac@gmail.com (Alex Stewart) --# -- --# FindGlog.cmake - Find Google glog logging library. --# --# This module defines the following variables: --# --# GLOG_FOUND: TRUE iff glog is found. --# GLOG_INCLUDE_DIRS: Include directories for glog. --# GLOG_LIBRARIES: Libraries required to link glog. --# FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION: True iff the version of glog found --# was built & installed / exported --# as a CMake package. --# --# The following variables control the behaviour of this module: --# --# GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION: TRUE/FALSE, iff TRUE then --# then prefer using an exported CMake configuration --# generated by glog > 0.3.4 over searching for the --# glog components manually. Otherwise (FALSE) --# ignore any exported glog CMake configurations and --# always perform a manual search for the components. --# Default: TRUE iff user does not define this variable --# before we are called, and does NOT specify either --# GLOG_INCLUDE_DIR_HINTS or GLOG_LIBRARY_DIR_HINTS --# otherwise FALSE. --# GLOG_INCLUDE_DIR_HINTS: List of additional directories in which to --# search for glog includes, e.g: /timbuktu/include. --# GLOG_LIBRARY_DIR_HINTS: List of additional directories in which to --# search for glog libraries, e.g: /timbuktu/lib. --# --# The following variables are also defined by this module, but in line with --# CMake recommended FindPackage() module style should NOT be referenced directly --# by callers (use the plural variables detailed above instead). These variables --# do however affect the behaviour of the module via FIND_[PATH/LIBRARY]() which --# are NOT re-called (i.e. search for library is not repeated) if these variables --# are set with valid values _in the CMake cache_. This means that if these --# variables are set directly in the cache, either by the user in the CMake GUI, --# or by the user passing -DVAR=VALUE directives to CMake when called (which --# explicitly defines a cache variable), then they will be used verbatim, --# bypassing the HINTS variables and other hard-coded search locations. --# --# GLOG_INCLUDE_DIR: Include directory for glog, not including the --# include directory of any dependencies. --# GLOG_LIBRARY: glog library, not including the libraries of any --# dependencies. -- --# Reset CALLERS_CMAKE_FIND_LIBRARY_PREFIXES to its value when --# FindGlog was invoked. --macro(GLOG_RESET_FIND_LIBRARY_PREFIX) -- if (MSVC AND CALLERS_CMAKE_FIND_LIBRARY_PREFIXES) -- set(CMAKE_FIND_LIBRARY_PREFIXES "${CALLERS_CMAKE_FIND_LIBRARY_PREFIXES}") -- endif() --endmacro(GLOG_RESET_FIND_LIBRARY_PREFIX) -- --# Called if we failed to find glog or any of it's required dependencies, --# unsets all public (designed to be used externally) variables and reports --# error message at priority depending upon [REQUIRED/QUIET/] argument. --macro(GLOG_REPORT_NOT_FOUND REASON_MSG) -- unset(GLOG_FOUND) -- unset(GLOG_INCLUDE_DIRS) -- unset(GLOG_LIBRARIES) -- # Make results of search visible in the CMake GUI if glog has not -- # been found so that user does not have to toggle to advanced view. -- mark_as_advanced(CLEAR GLOG_INCLUDE_DIR -- GLOG_LIBRARY) -- -- glog_reset_find_library_prefix() -- -- # Note _FIND_[REQUIRED/QUIETLY] variables defined by FindPackage() -- # use the camelcase library name, not uppercase. -- if (Glog_FIND_QUIETLY) -- message(STATUS "Failed to find glog - " ${REASON_MSG} ${ARGN}) -- elseif (Glog_FIND_REQUIRED) -- message(FATAL_ERROR "Failed to find glog - " ${REASON_MSG} ${ARGN}) -- else() -- # Neither QUIETLY nor REQUIRED, use no priority which emits a message -- # but continues configuration and allows generation. -- message("-- Failed to find glog - " ${REASON_MSG} ${ARGN}) -- endif () -- return() --endmacro(GLOG_REPORT_NOT_FOUND) -- --# Protect against any alternative find_package scripts for this library having --# been called previously (in a client project) which set GLOG_FOUND, but not --# the other variables we require / set here which could cause the search logic --# here to fail. --unset(GLOG_FOUND) -- --# ----------------------------------------------------------------- --# By default, if the user has expressed no preference for using an exported --# glog CMake configuration over performing a search for the installed --# components, and has not specified any hints for the search locations, then --# prefer a glog exported configuration if available. --if (NOT DEFINED GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION -- AND NOT GLOG_INCLUDE_DIR_HINTS -- AND NOT GLOG_LIBRARY_DIR_HINTS) -- message(STATUS "No preference for use of exported glog CMake configuration " -- "set, and no hints for include/library directories provided. " -- "Defaulting to preferring an installed/exported glog CMake configuration " -- "if available.") -- set(GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION TRUE) --endif() -- --if (GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION) -- # Try to find an exported CMake configuration for glog, as generated by -- # glog versions > 0.3.4 -- # -- # We search twice, s/t we can invert the ordering of precedence used by -- # find_package() for exported package build directories, and installed -- # packages (found via CMAKE_SYSTEM_PREFIX_PATH), listed as items 6) and 7) -- # respectively in [1]. -- # -- # By default, exported build directories are (in theory) detected first, and -- # this is usually the case on Windows. However, on OS X & Linux, the install -- # path (/usr/local) is typically present in the PATH environment variable -- # which is checked in item 4) in [1] (i.e. before both of the above, unless -- # NO_SYSTEM_ENVIRONMENT_PATH is passed). As such on those OSs installed -- # packages are usually detected in preference to exported package build -- # directories. -- # -- # To ensure a more consistent response across all OSs, and as users usually -- # want to prefer an installed version of a package over a locally built one -- # where both exist (esp. as the exported build directory might be removed -- # after installation), we first search with NO_CMAKE_PACKAGE_REGISTRY which -- # means any build directories exported by the user are ignored, and thus -- # installed directories are preferred. If this fails to find the package -- # we then research again, but without NO_CMAKE_PACKAGE_REGISTRY, so any -- # exported build directories will now be detected. -- # -- # To prevent confusion on Windows, we also pass NO_CMAKE_BUILDS_PATH (which -- # is item 5) in [1]), to not preferentially use projects that were built -- # recently with the CMake GUI to ensure that we always prefer an installed -- # version if available. -- # -- # NOTE: We use the NAMES option as glog erroneously uses 'google-glog' as its -- # project name when built with CMake, but exports itself as just 'glog'. -- # On Linux/OS X this does not break detection as the project name is -- # not used as part of the install path for the CMake package files, -- # e.g. /usr/local/lib/cmake/glog, where the suffix is hardcoded -- # in glog's CMakeLists. However, on Windows the project name *is* -- # part of the install prefix: C:/Program Files/google-glog/[include,lib]. -- # However, by default CMake checks: -- # C:/Program Files/ which does not -- # exist and thus detection fails. Thus we use the NAMES to force the -- # search to use both google-glog & glog. -- # -- # [1] http://www.cmake.org/cmake/help/v2.8.11/cmake.html#command:find_package -- find_package(glog QUIET -- NAMES google-glog glog -- NO_MODULE -- NO_CMAKE_PACKAGE_REGISTRY -- NO_CMAKE_BUILDS_PATH) -- if (glog_FOUND) -- message(STATUS "Found installed version of glog: ${glog_DIR}") -- else() -- # Failed to find an installed version of glog, repeat search allowing -- # exported build directories. -- message(STATUS "Failed to find installed glog CMake configuration, " -- "searching for glog build directories exported with CMake.") -- # Again pass NO_CMAKE_BUILDS_PATH, as we know that glog is exported and -- # do not want to treat projects built with the CMake GUI preferentially. -- find_package(glog QUIET -- NAMES google-glog glog -- NO_MODULE -- NO_CMAKE_BUILDS_PATH) -- if (glog_FOUND) -- message(STATUS "Found exported glog build directory: ${glog_DIR}") -- endif(glog_FOUND) -- endif(glog_FOUND) -- -- set(FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION ${glog_FOUND}) -- -- if (FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION) -- message(STATUS "Detected glog version: ${glog_VERSION}") -- set(GLOG_FOUND ${glog_FOUND}) -- # glog wraps the include directories into the exported glog::glog target. -- set(GLOG_INCLUDE_DIR "") -- set(GLOG_LIBRARY glog::glog) -- else (FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION) -- message(STATUS "Failed to find an installed/exported CMake configuration " -- "for glog, will perform search for installed glog components.") -- endif (FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION) --endif(GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION) -- --if (NOT GLOG_FOUND) -- # Either failed to find an exported glog CMake configuration, or user -- # told us not to use one. Perform a manual search for all glog components. -- -- # Handle possible presence of lib prefix for libraries on MSVC, see -- # also GLOG_RESET_FIND_LIBRARY_PREFIX(). -- if (MSVC) -- # Preserve the caller's original values for CMAKE_FIND_LIBRARY_PREFIXES -- # s/t we can set it back before returning. -- set(CALLERS_CMAKE_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}") -- # The empty string in this list is important, it represents the case when -- # the libraries have no prefix (shared libraries / DLLs). -- set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "" "${CMAKE_FIND_LIBRARY_PREFIXES}") -- endif (MSVC) -- -- # Search user-installed locations first, so that we prefer user installs -- # to system installs where both exist. -- list(APPEND GLOG_CHECK_INCLUDE_DIRS -- /usr/local/include -- /usr/local/homebrew/include # Mac OS X -- /opt/local/var/macports/software # Mac OS X. -- /opt/local/include -- /usr/include) -- # Windows (for C:/Program Files prefix). -- list(APPEND GLOG_CHECK_PATH_SUFFIXES -- glog/include -- glog/Include -- Glog/include -- Glog/Include -- google-glog/include # CMake installs with project name prefix. -- google-glog/Include) -- -- list(APPEND GLOG_CHECK_LIBRARY_DIRS -- /usr/local/lib -- /usr/local/homebrew/lib # Mac OS X. -- /opt/local/lib -- /usr/lib) -- # Windows (for C:/Program Files prefix). -- list(APPEND GLOG_CHECK_LIBRARY_SUFFIXES -- glog/lib -- glog/Lib -- Glog/lib -- Glog/Lib -- google-glog/lib # CMake installs with project name prefix. -- google-glog/Lib) -- -- # Search supplied hint directories first if supplied. -- find_path(GLOG_INCLUDE_DIR -- NAMES glog/logging.h -- HINTS ${GLOG_INCLUDE_DIR_HINTS} -- PATHS ${GLOG_CHECK_INCLUDE_DIRS} -- PATH_SUFFIXES ${GLOG_CHECK_PATH_SUFFIXES}) -- if (NOT GLOG_INCLUDE_DIR OR -- NOT EXISTS ${GLOG_INCLUDE_DIR}) -- glog_report_not_found( -- "Could not find glog include directory, set GLOG_INCLUDE_DIR " -- "to directory containing glog/logging.h") -- endif (NOT GLOG_INCLUDE_DIR OR -- NOT EXISTS ${GLOG_INCLUDE_DIR}) -- -- find_library(GLOG_LIBRARY NAMES glog -- HINTS ${GLOG_LIBRARY_DIR_HINTS} -- PATHS ${GLOG_CHECK_LIBRARY_DIRS} -- PATH_SUFFIXES ${GLOG_CHECK_LIBRARY_SUFFIXES}) -- if (NOT GLOG_LIBRARY OR -- NOT EXISTS ${GLOG_LIBRARY}) -- glog_report_not_found( -- "Could not find glog library, set GLOG_LIBRARY " -- "to full path to libglog.") -- endif (NOT GLOG_LIBRARY OR -- NOT EXISTS ${GLOG_LIBRARY}) -- -- # Mark internally as found, then verify. GLOG_REPORT_NOT_FOUND() unsets -- # if called. -- set(GLOG_FOUND TRUE) -- -- # Glog does not seem to provide any record of the version in its -- # source tree, thus cannot extract version. -- -- # Catch case when caller has set GLOG_INCLUDE_DIR in the cache / GUI and -- # thus FIND_[PATH/LIBRARY] are not called, but specified locations are -- # invalid, otherwise we would report the library as found. -- if (GLOG_INCLUDE_DIR AND -- NOT EXISTS ${GLOG_INCLUDE_DIR}/glog/logging.h) -- glog_report_not_found( -- "Caller defined GLOG_INCLUDE_DIR:" -- " ${GLOG_INCLUDE_DIR} does not contain glog/logging.h header.") -- endif (GLOG_INCLUDE_DIR AND -- NOT EXISTS ${GLOG_INCLUDE_DIR}/glog/logging.h) -- # TODO: This regex for glog library is pretty primitive, we use lowercase -- # for comparison to handle Windows using CamelCase library names, could -- # this check be better? -- string(TOLOWER "${GLOG_LIBRARY}" LOWERCASE_GLOG_LIBRARY) -- if (GLOG_LIBRARY AND -- NOT "${LOWERCASE_GLOG_LIBRARY}" MATCHES ".*glog[^/]*") -- glog_report_not_found( -- "Caller defined GLOG_LIBRARY: " -- "${GLOG_LIBRARY} does not match glog.") -- endif (GLOG_LIBRARY AND -- NOT "${LOWERCASE_GLOG_LIBRARY}" MATCHES ".*glog[^/]*") -- -- glog_reset_find_library_prefix() -- --endif(NOT GLOG_FOUND) -- --# Set standard CMake FindPackage variables if found. --if (GLOG_FOUND) -- set(GLOG_INCLUDE_DIRS ${GLOG_INCLUDE_DIR}) -- set(GLOG_LIBRARIES ${GLOG_LIBRARY}) --endif (GLOG_FOUND) -- --# If we are using an exported CMake glog target, the include directories are --# wrapped into the target itself, and do not have to be (and are not) --# separately specified. In which case, we should not add GLOG_INCLUDE_DIRS --# to the list of required variables in order that glog be reported as found. --if (FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION) -- set(GLOG_REQUIRED_VARIABLES GLOG_LIBRARIES) --else() -- set(GLOG_REQUIRED_VARIABLES GLOG_INCLUDE_DIRS GLOG_LIBRARIES) --endif() -- --# Handle REQUIRED / QUIET optional arguments. --include(FindPackageHandleStandardArgs) --find_package_handle_standard_args(Glog DEFAULT_MSG -- ${GLOG_REQUIRED_VARIABLES}) -- --# Only mark internal variables as advanced if we found glog, otherwise --# leave them visible in the standard GUI for the user to set manually. --if (GLOG_FOUND) -- mark_as_advanced(FORCE GLOG_INCLUDE_DIR -- GLOG_LIBRARY -- glog_DIR) # Autogenerated by find_package(glog) --endif (GLOG_FOUND) diff --git a/ports/ceres/0003_use_glog_target.patch b/ports/ceres/0003_use_glog_target.patch new file mode 100644 index 000000000..6ca328a8e --- /dev/null +++ b/ports/ceres/0003_use_glog_target.patch @@ -0,0 +1,25 @@ +diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt +index cc43fec..18b415b 100644 +--- a/internal/ceres/CMakeLists.txt ++++ b/internal/ceres/CMakeLists.txt +@@ -152,17 +152,9 @@ else (SCHUR_SPECIALIZATIONS) + endif (SCHUR_SPECIALIZATIONS) + + # Build the list of dependencies for Ceres based on the current configuration. +-if (NOT MINIGLOG AND GLOG_FOUND) +- list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES ${GLOG_LIBRARIES}) +- if (GFLAGS_FOUND) +- # If glog & gflags are both found, we assume that glog was built with +- # gflags, as it is awkward to perform a try_compile() to verify this +- # when gflags is an imported target (as it is in newer versions). +- # As glog #includes gflags/gflags.h in glog/logging.h if compiled with +- # gflags, it is thus a public dependency for Ceres in this case. +- list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES ${GFLAGS_LIBRARIES}) +- endif() +-endif (NOT MINIGLOG AND GLOG_FOUND) ++if (NOT MINIGLOG) ++ list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES glog::glog) ++endif (NOT MINIGLOG) + + if (SUITESPARSE AND SUITESPARSE_FOUND) + # Define version information for use in Solver::FullReport. diff --git a/ports/ceres/0004_fix_exported_ceres_config.patch b/ports/ceres/0004_fix_exported_ceres_config.patch new file mode 100644 index 000000000..5cc41013e --- /dev/null +++ b/ports/ceres/0004_fix_exported_ceres_config.patch @@ -0,0 +1,92 @@ +diff --git a/cmake/CeresConfig.cmake.in b/cmake/CeresConfig.cmake.in +index d0380de..bf4c2eb 100644 +--- a/cmake/CeresConfig.cmake.in ++++ b/cmake/CeresConfig.cmake.in +@@ -237,85 +237,8 @@ endif (EIGEN_FOUND) + list(APPEND CERES_INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS}) + + # Glog. +-# Flag set during configuration and build of Ceres. +-set(CERES_USES_MINIGLOG @MINIGLOG@) +-set(CERES_USES_GFLAGS @GFLAGS@) +-if (CERES_USES_MINIGLOG) +- set(MINIGLOG_INCLUDE_DIR ${CERES_INCLUDE_DIR}/ceres/internal/miniglog) +- if (NOT CERES_WAS_INSTALLED) +- # When Ceres was exported from the build tree, the miniglog headers +- # will be in Ceres internal source directory, not in the public headers +- # directory (they are copied with the public headers when installed). +- set(MINIGLOG_INCLUDE_DIR +- ${CERES_EXPORTED_SOURCE_DIR}/internal/ceres/miniglog) +- endif() +- if (NOT EXISTS ${MINIGLOG_INCLUDE_DIR}) +- ceres_report_not_found( +- "Failed to find miniglog headers in expected include directory: " +- "${MINIGLOG_INCLUDE_DIR}, but Ceres was compiled with MINIGLOG enabled " +- "(in place of glog).") +- endif (NOT EXISTS ${MINIGLOG_INCLUDE_DIR}) +- list(APPEND CERES_INCLUDE_DIRS ${MINIGLOG_INCLUDE_DIR}) +- # Output message at standard log level (not the lower STATUS) so that +- # the message is output in GUI during configuration to warn user. +- message("-- Found Ceres compiled with miniglog substitute " +- "for glog, beware this will likely cause problems if glog is later linked.") +-else (CERES_USES_MINIGLOG) +- # Append the locations of glog when Ceres was built to the search path hints. +- set(GLOG_WAS_BUILT_WITH_CMAKE @FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION@) +- if (GLOG_WAS_BUILT_WITH_CMAKE) +- set(glog_DIR @glog_DIR@) +- set(GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION TRUE) +- else() +- list(APPEND GLOG_INCLUDE_DIR_HINTS @GLOG_INCLUDE_DIR@) +- get_filename_component(CERES_BUILD_GLOG_LIBRARY_DIR @GLOG_LIBRARY@ PATH) +- list(APPEND GLOG_LIBRARY_DIR_HINTS ${CERES_BUILD_GLOG_LIBRARY_DIR}) +- endif() +- +- # Search quietly s/t we control the timing of the error message if not found. +- find_package(Glog QUIET) +- if (GLOG_FOUND) +- message(STATUS "Found required Ceres dependency: glog") +- else (GLOG_FOUND) +- ceres_report_not_found("Missing required Ceres " +- "dependency: glog. Searched using GLOG_INCLUDE_DIR_HINTS: " +- "${GLOG_INCLUDE_DIR_HINTS} and glog_DIR: ${glog_DIR}.") +- endif (GLOG_FOUND) +- list(APPEND CERES_INCLUDE_DIRS ${GLOG_INCLUDE_DIRS}) +- +- # gflags is only a public dependency of Ceres via glog, thus is not required +- # if Ceres was built with MINIGLOG. +- if (CERES_USES_GFLAGS) +- # If gflags was found as an imported CMake target, we need to call +- # find_packge(Gflags) again here, as imported CMake targets are not +- # re-exported. Without this, the 'gflags-shared' target name which is +- # present in CERES_LIBRARIES in this case would not be defined, and so +- # CMake will assume it is a library name (which it is not) and fail to link. +- # +- # Append the locations of gflags when Ceres was built to the search path +- # hints. +- set(GFLAGS_WAS_BUILT_WITH_CMAKE @FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION@) +- if (GFLAGS_WAS_BUILT_WITH_CMAKE) +- set(gflags_DIR @gflags_DIR@) +- set(GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION TRUE) +- else() +- list(APPEND GFLAGS_INCLUDE_DIR_HINTS @GFLAGS_INCLUDE_DIR@) +- get_filename_component(CERES_BUILD_GFLAGS_LIBRARY_DIR @GFLAGS_LIBRARY@ PATH) +- list(APPEND GFLAGS_LIBRARY_DIR_HINTS ${CERES_BUILD_GFLAGS_LIBRARY_DIR}) +- endif() +- +- # Search quietly s/t we control the timing of the error message if not found. +- find_package(Gflags QUIET) +- if (GFLAGS_FOUND) +- message(STATUS "Found required Ceres dependency: gflags") +- else() +- ceres_report_not_found("Missing required Ceres " +- "dependency: gflags. Searched using GFLAGS_INCLUDE_DIR_HINTS: " +- "${GFLAGS_INCLUDE_DIR_HINTS} and gflags_DIR: ${gflags_DIR}.") +- endif() +- list(APPEND CERES_INCLUDE_DIRS ${GFLAGS_INCLUDE_DIR_HINTS}) +- endif() +-endif (CERES_USES_MINIGLOG) ++include (CMakeFindDependencyMacro) ++find_dependency (glog NO_MODULE) + + # Import exported Ceres targets, if they have not already been imported. + if (NOT TARGET ceres AND NOT Ceres_BINARY_DIR) diff --git a/ports/ceres/0004_use_glog_target.patch b/ports/ceres/0004_use_glog_target.patch deleted file mode 100644 index 6ca328a8e..000000000 --- a/ports/ceres/0004_use_glog_target.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt -index cc43fec..18b415b 100644 ---- a/internal/ceres/CMakeLists.txt -+++ b/internal/ceres/CMakeLists.txt -@@ -152,17 +152,9 @@ else (SCHUR_SPECIALIZATIONS) - endif (SCHUR_SPECIALIZATIONS) - - # Build the list of dependencies for Ceres based on the current configuration. --if (NOT MINIGLOG AND GLOG_FOUND) -- list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES ${GLOG_LIBRARIES}) -- if (GFLAGS_FOUND) -- # If glog & gflags are both found, we assume that glog was built with -- # gflags, as it is awkward to perform a try_compile() to verify this -- # when gflags is an imported target (as it is in newer versions). -- # As glog #includes gflags/gflags.h in glog/logging.h if compiled with -- # gflags, it is thus a public dependency for Ceres in this case. -- list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES ${GFLAGS_LIBRARIES}) -- endif() --endif (NOT MINIGLOG AND GLOG_FOUND) -+if (NOT MINIGLOG) -+ list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES glog::glog) -+endif (NOT MINIGLOG) - - if (SUITESPARSE AND SUITESPARSE_FOUND) - # Define version information for use in Solver::FullReport. diff --git a/ports/ceres/0005_fix_exported_ceres_config.patch b/ports/ceres/0005_fix_exported_ceres_config.patch deleted file mode 100644 index 5cc41013e..000000000 --- a/ports/ceres/0005_fix_exported_ceres_config.patch +++ /dev/null @@ -1,92 +0,0 @@ -diff --git a/cmake/CeresConfig.cmake.in b/cmake/CeresConfig.cmake.in -index d0380de..bf4c2eb 100644 ---- a/cmake/CeresConfig.cmake.in -+++ b/cmake/CeresConfig.cmake.in -@@ -237,85 +237,8 @@ endif (EIGEN_FOUND) - list(APPEND CERES_INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS}) - - # Glog. --# Flag set during configuration and build of Ceres. --set(CERES_USES_MINIGLOG @MINIGLOG@) --set(CERES_USES_GFLAGS @GFLAGS@) --if (CERES_USES_MINIGLOG) -- set(MINIGLOG_INCLUDE_DIR ${CERES_INCLUDE_DIR}/ceres/internal/miniglog) -- if (NOT CERES_WAS_INSTALLED) -- # When Ceres was exported from the build tree, the miniglog headers -- # will be in Ceres internal source directory, not in the public headers -- # directory (they are copied with the public headers when installed). -- set(MINIGLOG_INCLUDE_DIR -- ${CERES_EXPORTED_SOURCE_DIR}/internal/ceres/miniglog) -- endif() -- if (NOT EXISTS ${MINIGLOG_INCLUDE_DIR}) -- ceres_report_not_found( -- "Failed to find miniglog headers in expected include directory: " -- "${MINIGLOG_INCLUDE_DIR}, but Ceres was compiled with MINIGLOG enabled " -- "(in place of glog).") -- endif (NOT EXISTS ${MINIGLOG_INCLUDE_DIR}) -- list(APPEND CERES_INCLUDE_DIRS ${MINIGLOG_INCLUDE_DIR}) -- # Output message at standard log level (not the lower STATUS) so that -- # the message is output in GUI during configuration to warn user. -- message("-- Found Ceres compiled with miniglog substitute " -- "for glog, beware this will likely cause problems if glog is later linked.") --else (CERES_USES_MINIGLOG) -- # Append the locations of glog when Ceres was built to the search path hints. -- set(GLOG_WAS_BUILT_WITH_CMAKE @FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION@) -- if (GLOG_WAS_BUILT_WITH_CMAKE) -- set(glog_DIR @glog_DIR@) -- set(GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION TRUE) -- else() -- list(APPEND GLOG_INCLUDE_DIR_HINTS @GLOG_INCLUDE_DIR@) -- get_filename_component(CERES_BUILD_GLOG_LIBRARY_DIR @GLOG_LIBRARY@ PATH) -- list(APPEND GLOG_LIBRARY_DIR_HINTS ${CERES_BUILD_GLOG_LIBRARY_DIR}) -- endif() -- -- # Search quietly s/t we control the timing of the error message if not found. -- find_package(Glog QUIET) -- if (GLOG_FOUND) -- message(STATUS "Found required Ceres dependency: glog") -- else (GLOG_FOUND) -- ceres_report_not_found("Missing required Ceres " -- "dependency: glog. Searched using GLOG_INCLUDE_DIR_HINTS: " -- "${GLOG_INCLUDE_DIR_HINTS} and glog_DIR: ${glog_DIR}.") -- endif (GLOG_FOUND) -- list(APPEND CERES_INCLUDE_DIRS ${GLOG_INCLUDE_DIRS}) -- -- # gflags is only a public dependency of Ceres via glog, thus is not required -- # if Ceres was built with MINIGLOG. -- if (CERES_USES_GFLAGS) -- # If gflags was found as an imported CMake target, we need to call -- # find_packge(Gflags) again here, as imported CMake targets are not -- # re-exported. Without this, the 'gflags-shared' target name which is -- # present in CERES_LIBRARIES in this case would not be defined, and so -- # CMake will assume it is a library name (which it is not) and fail to link. -- # -- # Append the locations of gflags when Ceres was built to the search path -- # hints. -- set(GFLAGS_WAS_BUILT_WITH_CMAKE @FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION@) -- if (GFLAGS_WAS_BUILT_WITH_CMAKE) -- set(gflags_DIR @gflags_DIR@) -- set(GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION TRUE) -- else() -- list(APPEND GFLAGS_INCLUDE_DIR_HINTS @GFLAGS_INCLUDE_DIR@) -- get_filename_component(CERES_BUILD_GFLAGS_LIBRARY_DIR @GFLAGS_LIBRARY@ PATH) -- list(APPEND GFLAGS_LIBRARY_DIR_HINTS ${CERES_BUILD_GFLAGS_LIBRARY_DIR}) -- endif() -- -- # Search quietly s/t we control the timing of the error message if not found. -- find_package(Gflags QUIET) -- if (GFLAGS_FOUND) -- message(STATUS "Found required Ceres dependency: gflags") -- else() -- ceres_report_not_found("Missing required Ceres " -- "dependency: gflags. Searched using GFLAGS_INCLUDE_DIR_HINTS: " -- "${GFLAGS_INCLUDE_DIR_HINTS} and gflags_DIR: ${gflags_DIR}.") -- endif() -- list(APPEND CERES_INCLUDE_DIRS ${GFLAGS_INCLUDE_DIR_HINTS}) -- endif() --endif (CERES_USES_MINIGLOG) -+include (CMakeFindDependencyMacro) -+find_dependency (glog NO_MODULE) - - # Import exported Ceres targets, if they have not already been imported. - if (NOT TARGET ceres AND NOT Ceres_BINARY_DIR) diff --git a/ports/ceres/CONTROL b/ports/ceres/CONTROL index 3c890ff53..47ae7051e 100644 --- a/ports/ceres/CONTROL +++ b/ports/ceres/CONTROL @@ -1,11 +1,10 @@ Source: ceres -Version: 1.14.0-3 -# eigen is always required by CMake, even if it isn't used. +Version: 1.14.0-4 Build-Depends: glog, eigen3 Description: non-linear optimization package Feature: lapack -Build-Depends: clapack +Build-Depends: clapack (!osx) Description: Use Lapack in Ceres Feature: suitesparse diff --git a/ports/ceres/portfile.cmake b/ports/ceres/portfile.cmake index 1c52b2d93..f1b21d647 100644 --- a/ports/ceres/portfile.cmake +++ b/ports/ceres/portfile.cmake @@ -17,11 +17,16 @@ vcpkg_from_github( PATCHES 0001_add_missing_include_path.patch 0002_cmakelists_fixes.patch - 0003_remove_unnecessary_cmake_modules.patch - 0004_use_glog_target.patch - 0005_fix_exported_ceres_config.patch + 0003_use_glog_target.patch + 0004_fix_exported_ceres_config.patch ) +file(REMOVE ${SOURCE_PATH}/cmake/FindGflags.cmake) +file(REMOVE ${SOURCE_PATH}/cmake/FindGlog.cmake) +#file(REMOVE ${SOURCE_PATH}/cmake/FindEigen.cmake) +file(REMOVE ${SOURCE_PATH}/cmake/FindSuiteSparse.cmake) +#file(REMOVE ${SOURCE_PATH}/cmake/FindTBB.cmake) + set(SUITESPARSE OFF) if("suitesparse" IN_LIST FEATURES) set(SUITESPARSE ON) @@ -59,14 +64,12 @@ vcpkg_configure_cmake( -DEIGENSPARSE=${EIGENSPARSE} -DLAPACK=${LAPACK} -DSUITESPARSE=${SUITESPARSE} - -DGFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION=ON - -DGLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION=OFF # TheiaSfm doesn't work well with this. -DMSVC_USE_STATIC_CRT=${MSVC_USE_STATIC_CRT_VALUE} ) vcpkg_install_cmake() -if(WIN32) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake") else() vcpkg_fixup_cmake_targets(CONFIG_PATH "lib${LIB_SUFFIX}/cmake/Ceres") @@ -75,7 +78,7 @@ endif() vcpkg_copy_pdbs() # Changes target search path -if(WIN32) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") file(READ ${CURRENT_PACKAGES_DIR}/share/ceres/CeresConfig.cmake CERES_TARGETS) string(REPLACE "get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${CERES_CURRENT_CONFIG_DIR}/../" "get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${CERES_CURRENT_CONFIG_DIR}/../../" CERES_TARGETS "${CERES_TARGETS}") diff --git a/ports/clapack/CONTROL b/ports/clapack/CONTROL index 1a862a113..9cdebdf74 100644 --- a/ports/clapack/CONTROL +++ b/ports/clapack/CONTROL @@ -1,4 +1,4 @@ Source: clapack -Version: 3.2.1-4 +Version: 3.2.1-6 Description: CLAPACK (f2c'ed version of LAPACK) Build-Depends: openblas (!osx) diff --git a/ports/clapack/FindLAPACK.cmake b/ports/clapack/FindLAPACK.cmake new file mode 100644 index 000000000..dfbf2c73e --- /dev/null +++ b/ports/clapack/FindLAPACK.cmake @@ -0,0 +1,198 @@ +#.rst: +# clapack config for vcpkg +# ------------ +# +# Find the clapack includes and library. +# +# Result Variables +# ^^^^^^^^^^^^^^^^ +# +# This script defines the following variables: +# +# ``CLAPACK_FOUND`` +# True if clapack library found +# +# ``CLAPACK_VERSION`` +# Containing the clapack version tag (manually defined) +# +# ``CLAPACK_INCLUDE_DIR`` +# Location of clapack headers +# +# ``CLAPACK_LIBRARY`` +# List of libraries to link with when using clapack +# +# Result Targets +# ^^^^^^^^^^^^^^ +# +# This script defines the following targets: +# +# ``clapack::clapack`` +# Target to use clapack +# +# Compatibility Variables +# ^^^^^^^^^^^^^^^^^^^^^^^ +# +# This script defines the following variables for compatibility reasons: +# +# ``F2C_FOUND`` +# True if f2c (fortran-to-c wrap layer) library found +# +# ``F2C_INCLUDE_DIR`` +# Location of clapack headers +# +# ``F2C_LIBRARY`` +# Library containing the fortran-to-c wrap layer, necessary for clapack and automatically included when used +# +# ``LAPACK_FOUND`` +# True if clapack library found +# +# ``LAPACK_VERSION`` +# Containing the clapack version tag (manually defined) +# +# ``LAPACK_INCLUDE_DIR`` +# Location of clapack headers +# +# ``LAPACK_LIBRARY`` +# List of libraries to link with when using clapack +# +# Compatibility Targets +# ^^^^^^^^^^^^^^ +# +# This script defines the following targets for compatibility reasons: +# +# ``lapack`` +# Target to use lapack + +include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) +include(${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake) +include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) + +set(CLAPACK_VERSION "3.2.1") + +if(UNIX) + find_library(ADDITIONAL_LAPACK_LIBRARY m) +endif() + +if(NOT F2C_LIBRARY) + find_library(F2C_LIBRARY_RELEASE NAMES f2c libf2c) + find_library(F2C_LIBRARY_DEBUG NAMES f2cd libf2cd) + list(APPEND F2C_LIBRARY_RELEASE ${ADDITIONAL_LAPACK_LIBRARY}) + list(APPEND F2C_LIBRARY_DEBUG ${ADDITIONAL_LAPACK_LIBRARY}) + select_library_configurations(F2C) +endif() + +find_package(BLAS) + +if(NOT LAPACK_LIBRARY) + find_library(LAPACK_LIBRARY_RELEASE NAMES lapack) + find_library(LAPACK_LIBRARY_DEBUG NAMES lapackd) + list(APPEND LAPACK_LIBRARY_RELEASE ${F2C_LIBRARY_RELEASE}) + list(APPEND LAPACK_LIBRARY_DEBUG ${F2C_LIBRARY_DEBUG}) + select_library_configurations(LAPACK) +endif() + +list(APPEND LAPACK_LIBRARY ${BLAS_LIBRARIES}) + +set(F2C_LIBRARIES "${F2C_LIBRARY}" CACHE STRING "" FORCE) +set(LAPACK_VERSION "${CLAPACK_VERSION}" CACHE STRING "" FORCE) +set(LAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) +set(CLAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) +set(CLAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) + +if(NOT F2C_INCLUDE_DIR) + find_path(F2C_INCLUDE_DIR NAMES f2c.h) +endif() + +if(NOT LAPACK_INCLUDE_DIR) + find_path(LAPACK_INCLUDE_DIR NAMES clapack.h) +endif() + +list(APPEND LAPACK_INCLUDE_DIR ${F2C_INCLUDE_DIR}) +set(LAPACK_INCLUDE_DIRS "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) +set(CLAPACK_INCLUDE_DIR "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) +set(CLAPACK_INCLUDE_DIRS "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) +set(F2C_INCLUDE_DIRS "${F2C_INCLUDE_DIR}" CACHE PATH "" FORCE) + +if(WIN32) + string( REPLACE ".lib" ".dll" LAPACK_LIBRARY_RELEASE_DLL "${LAPACK_LIBRARY_RELEASE}" ) + string( REPLACE ".lib" ".dll" LAPACK_LIBRARY_DEBUG_DLL "${LAPACK_LIBRARY_DEBUG}" ) + string( REPLACE ".lib" ".dll" F2C_LIBRARY_RELEASE_DLL "${F2C_LIBRARY_RELEASE}" ) + string( REPLACE ".lib" ".dll" F2C_LIBRARY_DEBUG_DLL "${F2C_LIBRARY_DEBUG}" ) +endif() + +find_package_handle_standard_args(CLAPACK DEFAULT_MSG CLAPACK_LIBRARY CLAPACK_INCLUDE_DIR) +mark_as_advanced(CLAPACK_INCLUDE_DIR CLAPACK_LIBRARY) + +find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARY LAPACK_INCLUDE_DIR) +mark_as_advanced(LAPACK_INCLUDE_DIR LAPACK_LIBRARY) + +find_package_handle_standard_args(F2C DEFAULT_MSG F2C_LIBRARY F2C_INCLUDE_DIR) +mark_as_advanced(F2C_INCLUDE_DIR F2C_LIBRARY) + +#TARGETS +if( CLAPACK_FOUND AND NOT TARGET clapack::clapack ) + if( EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}" ) + add_library( clapack::clapack SHARED IMPORTED ) + set_target_properties( clapack::clapack PROPERTIES + IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" + IMPORTED_IMPLIB "${LAPACK_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}" ) + set_property( TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( clapack::clapack PROPERTIES + IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" + IMPORTED_IMPLIB_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) + endif() + else() + add_library( clapack::clapack UNKNOWN IMPORTED ) + set_target_properties( clapack::clapack PROPERTIES + IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${LAPACK_LIBRARY_DEBUG}" ) + set_property( TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( clapack::clapack PROPERTIES + IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) + endif() + endif() +endif() + +if( CLAPACK_FOUND AND NOT TARGET lapack ) + if( EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}" ) + add_library( lapack SHARED IMPORTED ) + set_target_properties( lapack PROPERTIES + IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" + IMPORTED_IMPLIB "${LAPACK_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}" ) + set_property( TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( lapack PROPERTIES + IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" + IMPORTED_IMPLIB_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) + endif() + else() + add_library( lapack UNKNOWN IMPORTED ) + set_target_properties( lapack PROPERTIES + IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${LAPACK_LIBRARY_DEBUG}" ) + set_property( TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( lapack PROPERTIES + IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) + endif() + endif() +endif() + +set(LAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) +set(F2C_LIBRARY "${F2C_LIBRARY}" CACHE STRING "" FORCE) +set(LAPACK_LIBRARY_RELEASE "${LAPACK_LIBRARY_RELEASE}" CACHE STRING "" FORCE) +set(LAPACK_LIBRARY_DEBUG "${LAPACK_LIBRARY_DEBUG}" CACHE STRING "" FORCE) +set(F2C_LIBRARY_RELEASE "${F2C_LIBRARY_RELEASE}" CACHE STRING "" FORCE) +set(F2C_LIBRARY_DEBUG "${F2C_LIBRARY_DEBUG}" CACHE STRING "" FORCE) diff --git a/ports/clapack/fix-lack-library.patch b/ports/clapack/fix-lack-library.patch deleted file mode 100644 index 8e9bd5178..000000000 --- a/ports/clapack/fix-lack-library.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt -index ca1473f..fa54e94 100644 ---- a/F2CLIBS/libf2c/CMakeLists.txt -+++ b/F2CLIBS/libf2c/CMakeLists.txt -@@ -63,3 +63,13 @@ if(UNIX) - target_link_libraries(f2c m) - endif() - set_property(TARGET f2c PROPERTY PREFIX lib) -+install(TARGETS f2c -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+install(TARGETS arithchk -+ RUNTIME DESTINATION tools -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ diff --git a/ports/clapack/fix-linux-build.patch b/ports/clapack/fix-linux-build.patch deleted file mode 100644 index 230fa9bf6..000000000 --- a/ports/clapack/fix-linux-build.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8c53def..9e0e398 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,10 +1,10 @@ - cmake_minimum_required(VERSION 2.6) - project(CLAPACK C) --enable_testing() -+#enable_testing() - include(CTest) - - # BLAS_LIBRARIES --find_package(BLAS REQUIRED) -+find_package(OpenBLAS REQUIRED) - - if(WIN32 AND NOT CYGWIN) - set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c) -@@ -14,7 +14,7 @@ else() - set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/second.c) - set(DSECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/dsecnd.c) - endif() --enable_testing() -+#enable_testing() - option(USE_BLAS_WRAP "pre-pend f2c_ to each function in blas" OFF) - if(NOT USE_BLAS_WRAP) - # _zrotg_ seems to be missing in the wrap header -@@ -25,7 +25,7 @@ add_subdirectory(F2CLIBS) - - # add_subdirectory(BLAS) - add_subdirectory(SRC) --add_subdirectory(TESTING) -+#add_subdirectory(TESTING) - set(CLAPACK_VERSION 3.2.1) - set(CPACK_PACKAGE_VERSION_MAJOR 3) - set(CPACK_PACKAGE_VERSION_MINOR 2) -@@ -38,6 +38,6 @@ include(CPack) - # ${CLAPACK_BINARY_DIR}/clapack-config.cmake @ONLY) - - install(FILES -- ${CMAKE_CURRENT_LIST_DIR}/include/clapack.h -- ${CMAKE_CURRENT_LIST_DIR}/include/f2c.h -- DESTINATION include) -\ No newline at end of file -+ ${CMAKE_CURRENT_LIST_DIR}/INCLUDE/clapack.h -+ ${CMAKE_CURRENT_LIST_DIR}/INCLUDE/f2c.h -+ DESTINATION include) diff --git a/ports/clapack/lapack.def b/ports/clapack/lapack.def deleted file mode 100644 index e2070d99b..000000000 --- a/ports/clapack/lapack.def +++ /dev/null @@ -1,1453 +0,0 @@ -EXPORTS -sgbbrd_ -sgbcon_ -sgbequ_ -sgbrfs_ -sgbsv_ -sgbsvx_ -sgbtf2_ -sgbtrf_ -sgbtrs_ -sgebak_ -sgebal_ -sgebd2_ -sgebrd_ -sgecon_ -sgeequ_ -sgees_ -sgeesx_ -sgeev_ -sgeevx_ -sgegs_ -sgegv_ -sgehd2_ -sgehrd_ -sgelq2_ -sgelqf_ -sgels_ -sgelsd_ -sgelss_ -sgelsx_ -sgelsy_ -sgeql2_ -sgeqlf_ -sgeqp3_ -sgeqpf_ -sgeqr2_ -sgeqrf_ -sgerfs_ -sgerq2_ -sgerqf_ -sgesc2_ -sgesdd_ -sgesv_ -sgesvd_ -sgesvx_ -sgetc2_ -sgetf2_ -sgetrf_ -sgetri_ -sgetrs_ -sggbak_ -sggbal_ -sgges_ -sggesx_ -sggev_ -sggevx_ -sggglm_ -sgghrd_ -sgglse_ -sggqrf_ -sggrqf_ -sggsvd_ -sggsvp_ -sgtcon_ -sgtrfs_ -sgtsv_ -sgtsvx_ -sgttrf_ -sgttrs_ -sgtts2_ -shgeqz_ -shsein_ -shseqr_ -slabrd_ -slacon_ -slacn2_ -slaein_ -slaexc_ -slag2_ -slags2_ -slagtm_ -slagv2_ -slahqr_ -slahrd_ -slahr2_ -slaic1_ -slaln2_ -slals0_ -slalsa_ -slalsd_ -slangb_ -slange_ -slangt_ -slanhs_ -slansb_ -slansp_ -slansy_ -slantb_ -slantp_ -slantr_ -slanv2_ -slapll_ -slapmt_ -slaqgb_ -slaqge_ -slaqp2_ -slaqps_ -slaqsb_ -slaqsp_ -slaqsy_ -slaqr0_ -slaqr1_ -slaqr2_ -slaqr3_ -slaqr4_ -slaqr5_ -slaqtr_ -slar1v_ -slar2v_ -ilaslr_ -ilaslc_ -slarf_ -slarfb_ -slarfg_ -slarft_ -slarfx_ -slargv_ -slarrv_ -slartv_ -slarfp_ -slarz_ -slarzb_ -slarzt_ -slaswp_ -slasy2_ -slasyf_ -slatbs_ -slatdf_ -slatps_ -slatrd_ -slatrs_ -slatrz_ -slatzm_ -slauu2_ -slauum_ -sopgtr_ -sopmtr_ -sorg2l_ -sorg2r_ -sorgbr_ -sorghr_ -sorgl2_ -sorglq_ -sorgql_ -sorgqr_ -sorgr2_ -sorgrq_ -sorgtr_ -sorm2l_ -sorm2r_ -sormbr_ -sormhr_ -sorml2_ -sormlq_ -sormql_ -sormqr_ -sormr2_ -sormr3_ -sormrq_ -sormrz_ -sormtr_ -spbcon_ -spbequ_ -spbrfs_ -spbstf_ -spbsv_ -spbsvx_ -spbtf2_ -spbtrf_ -spbtrs_ -spocon_ -spoequ_ -sporfs_ -sposv_ -sposvx_ -spotf2_ -spotrf_ -spotri_ -spotrs_ -spstrf_ -spstf2_ -sppcon_ -sppequ_ -spprfs_ -sppsv_ -sppsvx_ -spptrf_ -spptri_ -spptrs_ -sptcon_ -spteqr_ -sptrfs_ -sptsv_ -sptsvx_ -spttrs_ -sptts2_ -srscl_ -ssbev_ -ssbevd_ -ssbevx_ -ssbgst_ -ssbgv_ -ssbgvd_ -ssbgvx_ -ssbtrd_ -sspcon_ -sspev_ -sspevd_ -sspevx_ -sspgst_ -sspgv_ -sspgvd_ -sspgvx_ -ssprfs_ -sspsv_ -sspsvx_ -ssptrd_ -ssptrf_ -ssptri_ -ssptrs_ -sstegr_ -sstein_ -sstev_ -sstevd_ -sstevr_ -sstevx_ -ssycon_ -ssyev_ -ssyevd_ -ssyevr_ -ssyevx_ -ssygs2_ -ssygst_ -ssygv_ -ssygvd_ -ssygvx_ -ssyrfs_ -ssysv_ -ssysvx_ -ssytd2_ -ssytf2_ -ssytrd_ -ssytrf_ -ssytri_ -ssytrs_ -stbcon_ -stbrfs_ -stbtrs_ -stgevc_ -stgex2_ -stgexc_ -stgsen_ -stgsja_ -stgsna_ -stgsy2_ -stgsyl_ -stpcon_ -stprfs_ -stptri_ -stptrs_ -strcon_ -strevc_ -strexc_ -strrfs_ -strsen_ -strsna_ -strsyl_ -strti2_ -strtri_ -strtrs_ -stzrqf_ -stzrzf_ -sstemr_ -slansf_ -spftrf_ -spftri_ -spftrs_ -ssfrk_ -stfsm_ -stftri_ -stfttp_ -stfttr_ -stpttf_ -stpttr_ -strttf_ -strttp_ -sgejsv_ -sgesvj_ -sgsvj0_ -sgsvj1_ -sgeequb_ -ssyequb_ -spoequb_ -sgbequb_ -dgbbrd_ -dgbcon_ -dgbequ_ -dgbrfs_ -dgbsv_ -dgbsvx_ -dgbtf2_ -dgbtrf_ -dgbtrs_ -dgebak_ -dgebal_ -dgebd2_ -dgebrd_ -dgecon_ -dgeequ_ -dgees_ -dgeesx_ -dgeev_ -dgeevx_ -dgegs_ -dgegv_ -dgehd2_ -dgehrd_ -dgelq2_ -dgelqf_ -dgels_ -dgelsd_ -dgelss_ -dgelsx_ -dgelsy_ -dgeql2_ -dgeqlf_ -dgeqp3_ -dgeqpf_ -dgeqr2_ -dgeqrf_ -dgerfs_ -dgerq2_ -dgerqf_ -dgesc2_ -dgesdd_ -dgesv_ -dgesvd_ -dgesvx_ -dgetc2_ -dgetf2_ -dgetrf_ -dgetri_ -dgetrs_ -dggbak_ -dggbal_ -dgges_ -dggesx_ -dggev_ -dggevx_ -dggglm_ -dgghrd_ -dgglse_ -dggqrf_ -dggrqf_ -dggsvd_ -dggsvp_ -dgtcon_ -dgtrfs_ -dgtsv_ -dgtsvx_ -dgttrf_ -dgttrs_ -dgtts2_ -dhgeqz_ -dhsein_ -dhseqr_ -dlabrd_ -dlacon_ -dlacn2_ -dlaein_ -dlaexc_ -dlag2_ -dlags2_ -dlagtm_ -dlagv2_ -dlahqr_ -dlahrd_ -dlahr2_ -dlaic1_ -dlaln2_ -dlals0_ -dlalsa_ -dlalsd_ -dlangb_ -dlange_ -dlangt_ -dlanhs_ -dlansb_ -dlansp_ -dlansy_ -dlantb_ -dlantp_ -dlantr_ -dlanv2_ -dlapll_ -dlapmt_ -dlaqgb_ -dlaqge_ -dlaqp2_ -dlaqps_ -dlaqsb_ -dlaqsp_ -dlaqsy_ -dlaqr0_ -dlaqr1_ -dlaqr2_ -dlaqr3_ -dlaqr4_ -dlaqr5_ -dlaqtr_ -dlar1v_ -dlar2v_ -iladlr_ -iladlc_ -dlarf_ -dlarfb_ -dlarfg_ -dlarft_ -dlarfx_ -dlargv_ -dlarrv_ -dlartv_ -dlarfp_ -dlarz_ -dlarzb_ -dlarzt_ -dlaswp_ -dlasy2_ -dlasyf_ -dlatbs_ -dlatdf_ -dlatps_ -dlatrd_ -dlatrs_ -dlatrz_ -dlatzm_ -dlauu2_ -dlauum_ -dopgtr_ -dopmtr_ -dorg2l_ -dorg2r_ -dorgbr_ -dorghr_ -dorgl2_ -dorglq_ -dorgql_ -dorgqr_ -dorgr2_ -dorgrq_ -dorgtr_ -dorm2l_ -dorm2r_ -dormbr_ -dormhr_ -dorml2_ -dormlq_ -dormql_ -dormqr_ -dormr2_ -dormr3_ -dormrq_ -dormrz_ -dormtr_ -dpbcon_ -dpbequ_ -dpbrfs_ -dpbstf_ -dpbsv_ -dpbsvx_ -dpbtf2_ -dpbtrf_ -dpbtrs_ -dpocon_ -dpoequ_ -dporfs_ -dposv_ -dposvx_ -dpotf2_ -dpotrf_ -dpotri_ -dpotrs_ -dpstrf_ -dpstf2_ -dppcon_ -dppequ_ -dpprfs_ -dppsv_ -dppsvx_ -dpptrf_ -dpptri_ -dpptrs_ -dptcon_ -dpteqr_ -dptrfs_ -dptsv_ -dptsvx_ -dpttrs_ -dptts2_ -drscl_ -dsbev_ -dsbevd_ -dsbevx_ -dsbgst_ -dsbgv_ -dsbgvd_ -dsbgvx_ -dsbtrd_ -dspcon_ -dspev_ -dspevd_ -dspevx_ -dspgst_ -dspgv_ -dspgvd_ -dspgvx_ -dsprfs_ -dspsv_ -dspsvx_ -dsptrd_ -dsptrf_ -dsptri_ -dsptrs_ -dstegr_ -dstein_ -dstev_ -dstevd_ -dstevr_ -dstevx_ -dsycon_ -dsyev_ -dsyevd_ -dsyevr_ -dsyevx_ -dsygs2_ -dsygst_ -dsygv_ -dsygvd_ -dsygvx_ -dsyrfs_ -dsysv_ -dsysvx_ -dsytd2_ -dsytf2_ -dsytrd_ -dsytrf_ -dsytri_ -dsytrs_ -dtbcon_ -dtbrfs_ -dtbtrs_ -dtgevc_ -dtgex2_ -dtgexc_ -dtgsen_ -dtgsja_ -dtgsna_ -dtgsy2_ -dtgsyl_ -dtpcon_ -dtprfs_ -dtptri_ -dtptrs_ -dtrcon_ -dtrevc_ -dtrexc_ -dtrrfs_ -dtrsen_ -dtrsna_ -dtrsyl_ -dtrti2_ -dtrtri_ -dtrtrs_ -dtzrqf_ -dtzrzf_ -dstemr_ -dsgesv_ -dsposv_ -dlag2s_ -slag2d_ -dlat2s_ -dlansf_ -dpftrf_ -dpftri_ -dpftrs_ -dsfrk_ -dtfsm_ -dtftri_ -dtfttp_ -dtfttr_ -dtpttf_ -dtpttr_ -dtrttf_ -dtrttp_ -dgejsv_ -dgesvj_ -dgsvj0_ -dgsvj1_ -dgeequb_ -dsyequb_ -dpoequb_ -dgbequb_ -cbdsqr_ -cgbbrd_ -cgbcon_ -cgbequ_ -cgbrfs_ -cgbsv_ -cgbsvx_ -cgbtf2_ -cgbtrf_ -cgbtrs_ -cgebak_ -cgebal_ -cgebd2_ -cgebrd_ -cgecon_ -cgeequ_ -cgees_ -cgeesx_ -cgeev_ -cgeevx_ -cgegs_ -cgegv_ -cgehd2_ -cgehrd_ -cgelq2_ -cgelqf_ -cgels_ -cgelsd_ -cgelss_ -cgelsx_ -cgelsy_ -cgeql2_ -cgeqlf_ -cgeqp3_ -cgeqpf_ -cgeqr2_ -cgeqrf_ -cgerfs_ -cgerq2_ -cgerqf_ -cgesc2_ -cgesdd_ -cgesv_ -cgesvd_ -cgesvx_ -cgetc2_ -cgetf2_ -cgetrf_ -cgetri_ -cgetrs_ -cggbak_ -cggbal_ -cgges_ -cggesx_ -cggev_ -cggevx_ -cggglm_ -cgghrd_ -cgglse_ -cggqrf_ -cggrqf_ -cggsvd_ -cggsvp_ -cgtcon_ -cgtrfs_ -cgtsv_ -cgtsvx_ -cgttrf_ -cgttrs_ -cgtts2_ -chbev_ -chbevd_ -chbevx_ -chbgst_ -chbgv_ -chbgvd_ -chbgvx_ -chbtrd_ -checon_ -cheev_ -cheevd_ -cheevr_ -cheevx_ -chegs2_ -chegst_ -chegv_ -chegvd_ -chegvx_ -cherfs_ -chesv_ -chesvx_ -chetd2_ -chetf2_ -chetrd_ -chetrf_ -chetri_ -chetrs_ -chgeqz_ -chpcon_ -chpev_ -chpevd_ -chpevx_ -chpgst_ -chpgv_ -chpgvd_ -chpgvx_ -chprfs_ -chpsv_ -chpsvx_ -chptrd_ -chptrf_ -chptri_ -chptrs_ -chsein_ -chseqr_ -clabrd_ -clacgv_ -clacon_ -clacn2_ -clacp2_ -clacpy_ -clacrm_ -clacrt_ -cladiv_ -claed0_ -claed7_ -claed8_ -claein_ -claesy_ -claev2_ -clags2_ -clagtm_ -clahef_ -clahqr_ -clahrd_ -clahr2_ -claic1_ -clals0_ -clalsa_ -clalsd_ -clangb_ -clange_ -clangt_ -clanhb_ -clanhe_ -clanhp_ -clanhs_ -clanht_ -clansb_ -clansp_ -clansy_ -clantb_ -clantp_ -clantr_ -clapll_ -clapmt_ -clarcm_ -claqgb_ -claqge_ -claqhb_ -claqhe_ -claqhp_ -claqp2_ -claqps_ -claqsb_ -claqr0_ -claqr1_ -claqr2_ -claqr3_ -claqr4_ -claqr5_ -claqsp_ -claqsy_ -clar1v_ -clar2v_ -ilaclr_ -ilaclc_ -clarf_ -clarfb_ -clarfg_ -clarft_ -clarfp_ -clarfx_ -clargv_ -clarnv_ -clarrv_ -clartg_ -clartv_ -clarz_ -clarzb_ -clarzt_ -clascl_ -claset_ -clasr_ -classq_ -claswp_ -clasyf_ -clatbs_ -clatdf_ -clatps_ -clatrd_ -clatrs_ -clatrz_ -clatzm_ -clauu2_ -clauum_ -cpbcon_ -cpbequ_ -cpbrfs_ -cpbstf_ -cpbsv_ -cpbsvx_ -cpbtf2_ -cpbtrf_ -cpbtrs_ -cpocon_ -cpoequ_ -cporfs_ -cposv_ -cposvx_ -cpotf2_ -cpotrf_ -cpotri_ -cpotrs_ -cpstrf_ -cpstf2_ -cppcon_ -cppequ_ -cpprfs_ -cppsv_ -cppsvx_ -cpptrf_ -cpptri_ -cpptrs_ -cptcon_ -cpteqr_ -cptrfs_ -cptsv_ -cptsvx_ -cpttrf_ -cpttrs_ -cptts2_ -crot_ -cspcon_ -cspmv_ -cspr_ -csprfs_ -cspsv_ -cspsvx_ -csptrf_ -csptri_ -csptrs_ -csrscl_ -cstedc_ -cstegr_ -cstein_ -csteqr_ -csycon_ -csymv_ -csyr_ -csyrfs_ -csysv_ -csysvx_ -csytf2_ -csytrf_ -csytri_ -csytrs_ -ctbcon_ -ctbrfs_ -ctbtrs_ -ctgevc_ -ctgex2_ -ctgexc_ -ctgsen_ -ctgsja_ -ctgsna_ -ctgsy2_ -ctgsyl_ -ctpcon_ -ctprfs_ -ctptri_ -ctptrs_ -ctrcon_ -ctrevc_ -ctrexc_ -ctrrfs_ -ctrsen_ -ctrsna_ -ctrsyl_ -ctrti2_ -ctrtri_ -ctrtrs_ -ctzrqf_ -ctzrzf_ -cung2l_ -cung2r_ -cungbr_ -cunghr_ -cungl2_ -cunglq_ -cungql_ -cungqr_ -cungr2_ -cungrq_ -cungtr_ -cunm2l_ -cunm2r_ -cunmbr_ -cunmhr_ -cunml2_ -cunmlq_ -cunmql_ -cunmqr_ -cunmr2_ -cunmr3_ -cunmrq_ -cunmrz_ -cunmtr_ -cupgtr_ -cupmtr_ -icmax1_ -scsum1_ -cstemr_ -chfrk_ -ctfttp_ -clanhf_ -cpftrf_ -cpftri_ -cpftrs_ -ctfsm_ -ctftri_ -ctfttr_ -ctpttf_ -ctpttr_ -ctrttf_ -ctrttp_ -cgeequb_ -cgbequb_ -csyequb_ -cpoequb_ -cheequb_ -zbdsqr_ -zgbbrd_ -zgbcon_ -zgbequ_ -zgbrfs_ -zgbsv_ -zgbsvx_ -zgbtf2_ -zgbtrf_ -zgbtrs_ -zgebak_ -zgebal_ -zgebd2_ -zgebrd_ -zgecon_ -zgeequ_ -zgees_ -zgeesx_ -zgeev_ -zgeevx_ -zgegs_ -zgegv_ -zgehd2_ -zgehrd_ -zgelq2_ -zgelqf_ -zgels_ -zgelsd_ -zgelss_ -zgelsx_ -zgelsy_ -zgeql2_ -zgeqlf_ -zgeqp3_ -zgeqpf_ -zgeqr2_ -zgeqrf_ -zgerfs_ -zgerq2_ -zgerqf_ -zgesc2_ -zgesdd_ -zgesv_ -zgesvd_ -zgesvx_ -zgetc2_ -zgetf2_ -zgetrf_ -zgetri_ -zgetrs_ -zggbak_ -zggbal_ -zgges_ -zggesx_ -zggev_ -zggevx_ -zggglm_ -zgghrd_ -zgglse_ -zggqrf_ -zggrqf_ -zggsvd_ -zggsvp_ -zgtcon_ -zgtrfs_ -zgtsv_ -zgtsvx_ -zgttrf_ -zgttrs_ -zgtts2_ -zhbev_ -zhbevd_ -zhbevx_ -zhbgst_ -zhbgv_ -zhbgvd_ -zhbgvx_ -zhbtrd_ -zhecon_ -zheev_ -zheevd_ -zheevr_ -zheevx_ -zhegs2_ -zhegst_ -zhegv_ -zhegvd_ -zhegvx_ -zherfs_ -zhesv_ -zhesvx_ -zhetd2_ -zhetf2_ -zhetrd_ -zhetrf_ -zhetri_ -zhetrs_ -zhgeqz_ -zhpcon_ -zhpev_ -zhpevd_ -zhpevx_ -zhpgst_ -zhpgv_ -zhpgvd_ -zhpgvx_ -zhprfs_ -zhpsv_ -zhpsvx_ -zhptrd_ -zhptrf_ -zhptri_ -zhptrs_ -zhsein_ -zhseqr_ -zlabrd_ -zlacgv_ -zlacon_ -zlacn2_ -zlacp2_ -zlacpy_ -zlacrm_ -zlacrt_ -zladiv_ -zlaed0_ -zlaed7_ -zlaed8_ -zlaein_ -zlaesy_ -zlaev2_ -zlags2_ -zlagtm_ -zlahef_ -zlahqr_ -zlahrd_ -zlahr2_ -zlaic1_ -zlals0_ -zlalsa_ -zlalsd_ -zlangb_ -zlange_ -zlangt_ -zlanhb_ -zlanhe_ -zlanhp_ -zlanhs_ -zlanht_ -zlansb_ -zlansp_ -zlansy_ -zlantb_ -zlantp_ -zlantr_ -zlapll_ -zlapmt_ -zlaqgb_ -zlaqge_ -zlaqhb_ -zlaqhe_ -zlaqhp_ -zlaqp2_ -zlaqps_ -zlaqsb_ -zlaqr0_ -zlaqr1_ -zlaqr2_ -zlaqr3_ -zlaqr4_ -zlaqr5_ -zlaqsp_ -zlaqsy_ -zlar1v_ -zlar2v_ -ilazlr_ -ilazlc_ -zlarcm_ -zlarf_ -zlarfb_ -zlarfg_ -zlarft_ -zlarfp_ -zlarfx_ -zlargv_ -zlarnv_ -zlarrv_ -zlartg_ -zlartv_ -zlarz_ -zlarzb_ -zlarzt_ -zlascl_ -zlaset_ -zlasr_ -zlassq_ -zlaswp_ -zlasyf_ -zlatbs_ -zlatdf_ -zlatps_ -zlatrd_ -zlatrs_ -zlatrz_ -zlatzm_ -zlauu2_ -zlauum_ -zpbcon_ -zpbequ_ -zpbrfs_ -zpbstf_ -zpbsv_ -zpbsvx_ -zpbtf2_ -zpbtrf_ -zpbtrs_ -zpocon_ -zpoequ_ -zporfs_ -zposv_ -zposvx_ -zpotf2_ -zpotrf_ -zpotri_ -zpotrs_ -zpstrf_ -zpstf2_ -zppcon_ -zppequ_ -zpprfs_ -zppsv_ -zppsvx_ -zpptrf_ -zpptri_ -zpptrs_ -zptcon_ -zpteqr_ -zptrfs_ -zptsv_ -zptsvx_ -zpttrf_ -zpttrs_ -zptts2_ -zrot_ -zspcon_ -zspmv_ -zspr_ -zsprfs_ -zspsv_ -zspsvx_ -zsptrf_ -zsptri_ -zsptrs_ -zdrscl_ -zstedc_ -zstegr_ -zstein_ -zsteqr_ -zsycon_ -zsymv_ -zsyr_ -zsyrfs_ -zsysv_ -zsysvx_ -zsytf2_ -zsytrf_ -zsytri_ -zsytrs_ -ztbcon_ -ztbrfs_ -ztbtrs_ -ztgevc_ -ztgex2_ -ztgexc_ -ztgsen_ -ztgsja_ -ztgsna_ -ztgsy2_ -ztgsyl_ -ztpcon_ -ztprfs_ -ztptri_ -ztptrs_ -ztrcon_ -ztrevc_ -ztrexc_ -ztrrfs_ -ztrsen_ -ztrsna_ -ztrsyl_ -ztrti2_ -ztrtri_ -ztrtrs_ -ztzrqf_ -ztzrzf_ -zung2l_ -zung2r_ -zungbr_ -zunghr_ -zungl2_ -zunglq_ -zungql_ -zungqr_ -zungr2_ -zungrq_ -zungtr_ -zunm2l_ -zunm2r_ -zunmbr_ -zunmhr_ -zunml2_ -zunmlq_ -zunmql_ -zunmqr_ -zunmr2_ -zunmr3_ -zunmrq_ -zunmrz_ -zunmtr_ -zupgtr_ -zupmtr_ -izmax1_ -dzsum1_ -zstemr_ -zcgesv_ -zcposv_ -zlag2c_ -clag2z_ -zlat2c_ -zhfrk_ -ztfttp_ -zlanhf_ -zpftrf_ -zpftri_ -zpftrs_ -ztfsm_ -ztftri_ -ztfttr_ -ztpttf_ -ztpttr_ -ztrttf_ -ztrttp_ -zgeequb_ -zgbequb_ -zsyequb_ -zpoequb_ -zheequb_ -sbdsdc_ -sbdsqr_ -sdisna_ -slabad_ -slacpy_ -sladiv_ -slae2_ -slaebz_ -slaed0_ -slaed1_ -slaed2_ -slaed3_ -slaed4_ -slaed5_ -slaed6_ -slaed7_ -slaed8_ -slaed9_ -slaeda_ -slaev2_ -slagtf_ -slagts_ -slamrg_ -slanst_ -slapy2_ -slapy3_ -slarnv_ -slarra_ -slarrb_ -slarrc_ -slarrd_ -slarre_ -slarrf_ -slarrj_ -slarrk_ -slarrr_ -slaneg_ -slartg_ -slaruv_ -slas2_ -slascl_ -slasd0_ -slasd1_ -slasd2_ -slasd3_ -slasd4_ -slasd5_ -slasd6_ -slasd7_ -slasd8_ -slasda_ -slasdq_ -slasdt_ -slaset_ -slasq1_ -slasq2_ -slasq3_ -slasq4_ -slasq5_ -slasq6_ -slasr_ -slasrt_ -slassq_ -slasv2_ -spttrf_ -sstebz_ -sstedc_ -ssteqr_ -ssterf_ -slaisnan_ -sisnan_ -slamch_ -dbdsdc_ -dbdsqr_ -ddisna_ -dlabad_ -dlacpy_ -dladiv_ -dlae2_ -dlaebz_ -dlaed0_ -dlaed1_ -dlaed2_ -dlaed3_ -dlaed4_ -dlaed5_ -dlaed6_ -dlaed7_ -dlaed8_ -dlaed9_ -dlaeda_ -dlaev2_ -dlagtf_ -dlagts_ -dlamrg_ -dlanst_ -dlapy2_ -dlapy3_ -dlarnv_ -dlarra_ -dlarrb_ -dlarrc_ -dlarrd_ -dlarre_ -dlarrf_ -dlarrj_ -dlarrk_ -dlarrr_ -dlaneg_ -dlartg_ -dlaruv_ -dlas2_ -dlascl_ -dlasd0_ -dlasd1_ -dlasd2_ -dlasd3_ -dlasd4_ -dlasd5_ -dlasd6_ -dlasd7_ -dlasd8_ -dlasda_ -dlasdq_ -dlasdt_ -dlaset_ -dlasq1_ -dlasq2_ -dlasq3_ -dlasq4_ -dlasq5_ -dlasq6_ -dlasr_ -dlasrt_ -dlassq_ -dlasv2_ -dpttrf_ -dstebz_ -dstedc_ -dsteqr_ -dsterf_ -dlaisnan_ -disnan_ -dlamch_ -ilaenv_ -ieeeck_ -lsamen_ -iparmq_ -ilaprec_ -ilatrans_ -ilauplo_ -iladiag_ -ilaver_ -lsame_ diff --git a/ports/clapack/link-to-math-lib.patch b/ports/clapack/link-to-math-lib.patch deleted file mode 100644 index c80a8d4ed..000000000 --- a/ports/clapack/link-to-math-lib.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt -index 2bdbd05..ca1473f 100644 ---- a/F2CLIBS/libf2c/CMakeLists.txt -+++ b/F2CLIBS/libf2c/CMakeLists.txt -@@ -59,4 +59,7 @@ endif() - include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c) - include_directories(${CLAPACK_BINARY_DIR}/F2CLIBS/libf2c) - add_library(f2c STATIC ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h) -+if(UNIX) -+ target_link_libraries(f2c m) -+endif() - set_property(TARGET f2c PROPERTY PREFIX lib) diff --git a/ports/clapack/openblas_linux.patch b/ports/clapack/openblas_linux.patch new file mode 100644 index 000000000..e2b7b6e82 --- /dev/null +++ b/ports/clapack/openblas_linux.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c729d95..2b15e31 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,6 @@ + cmake_minimum_required(VERSION 2.6) + project(CLAPACK C) +-find_package(BLAS REQUIRED) ++find_package(OpenBLAS REQUIRED) + + if(WIN32 AND NOT CYGWIN) + set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c) diff --git a/ports/clapack/portfile.cmake b/ports/clapack/portfile.cmake index 3c4608848..ecdf51c87 100644 --- a/ports/clapack/portfile.cmake +++ b/ports/clapack/portfile.cmake @@ -1,45 +1,43 @@ include(vcpkg_common_functions) -if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - message(FATAL_ERROR "openblas can only be built for x64 currently") -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/clapack-3.2.1-CMAKE) vcpkg_download_distfile(ARCHIVE - URLS "http://www.netlib.org/clapack/clapack-3.2.1-CMAKE.tgz" - FILENAME "clapack-3.2.1.tgz" - SHA512 cf19c710291ddff3f6ead7d86bdfdeaebca21291d9df094bf0a8ef599546b007757fb2dbb19b56511bb53ef7456eac0c73973b9627bf4d02982c856124428b49 + URLS "http://www.netlib.org/clapack/clapack-3.2.1-CMAKE.tgz" + FILENAME "clapack-3.2.1.tgz" + SHA512 cf19c710291ddff3f6ead7d86bdfdeaebca21291d9df094bf0a8ef599546b007757fb2dbb19b56511bb53ef7456eac0c73973b9627bf4d02982c856124428b49 ) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(ADDITIONAL_PATCH "openblas_linux.patch") +endif() + vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} PATCHES - use-other-blas-and-install-include.patch - link-to-math-lib.patch + remove_internal_blas.patch + ${ADDITIONAL_PATCH} ) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-linux-build.patch" - ) -endif() - -if(NOT VCPKG_CMAKE_SYSTEM_NAME) - file(COPY ${CMAKE_CURRENT_LIST_DIR}/lapack.def DESTINATION ${SOURCE_PATH}/SRC) -endif() - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCMAKE_DEBUG_POSTFIX=d ) vcpkg_install_cmake() +vcpkg_copy_pdbs() + +#TODO: fix the official exported targets, since they are broken (luckily it seems that no-one uses them for now) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/clapack) + +#we install a cmake wrapper since the official FindLAPACK module in cmake does find clapack easily, unfortunately... +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/lapack) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/FindLAPACK.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/lapack) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/clapack) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/clapack/COPYING ${CURRENT_PACKAGES_DIR}/share/clapack/copyright) - -vcpkg_copy_pdbs() +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/clapack RENAME copyright) diff --git a/ports/clapack/remove_internal_blas.patch b/ports/clapack/remove_internal_blas.patch new file mode 100644 index 000000000..471d87a87 --- /dev/null +++ b/ports/clapack/remove_internal_blas.patch @@ -0,0 +1,84 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 320ccc6..284e9d3 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,6 @@ + cmake_minimum_required(VERSION 2.6) + project(CLAPACK C) +-enable_testing() +-include(CTest) ++find_package(BLAS REQUIRED) + + if(WIN32 AND NOT CYGWIN) + set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c) +@@ -11,7 +10,6 @@ else() + set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/second.c) + set(DSECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/dsecnd.c) + endif() +-enable_testing() + option(USE_BLAS_WRAP "pre-pend f2c_ to each function in blas" OFF) + if(NOT USE_BLAS_WRAP) + # _zrotg_ seems to be missing in the wrap header +@@ -19,16 +17,15 @@ if(NOT USE_BLAS_WRAP) + endif() + include_directories(${CLAPACK_SOURCE_DIR}/INCLUDE) + add_subdirectory(F2CLIBS) +-add_subdirectory(BLAS) + add_subdirectory(SRC) +-add_subdirectory(TESTING) + set(CLAPACK_VERSION 3.2.1) +-set(CPACK_PACKAGE_VERSION_MAJOR 3) +-set(CPACK_PACKAGE_VERSION_MINOR 2) +-set(CPACK_PACKAGE_VERSION_PATCH 1) +-include(CPack) +-export(TARGETS f2c blas lapack FILE clapack-targets.cmake) ++export(TARGETS f2c lapack FILE ${CMAKE_INSTALL_PREFIX}/share/clapack/clapack-targets.cmake) + configure_file(${CLAPACK_SOURCE_DIR}/clapack-config-version.cmake.in +- ${CLAPACK_BINARY_DIR}/clapack-config-version.cmake @ONLY) ++ ${CMAKE_INSTALL_PREFIX}/share/clapack/clapack-config-version.cmake @ONLY) + configure_file(${CLAPACK_SOURCE_DIR}/clapack-config.cmake.in +- ${CLAPACK_BINARY_DIR}/clapack-config.cmake @ONLY) ++ ${CMAKE_INSTALL_PREFIX}/share/clapack/clapack-config.cmake @ONLY) ++install(FILES ++ ${CMAKE_CURRENT_LIST_DIR}/INCLUDE/clapack.h ++ ${CMAKE_CURRENT_LIST_DIR}/INCLUDE/f2c.h ++ DESTINATION include) ++ +diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt +index 43d7b3f..6fa3598 100755 +--- a/F2CLIBS/libf2c/CMakeLists.txt ++++ b/F2CLIBS/libf2c/CMakeLists.txt +@@ -60,3 +60,11 @@ include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c) + include_directories(${CLAPACK_BINARY_DIR}/F2CLIBS/libf2c) + add_library(f2c ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h) + set_property(TARGET f2c PROPERTY PREFIX lib) ++if(UNIX) ++ target_link_libraries(f2c m) ++endif() ++install(TARGETS f2c ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) ++ +diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt +index ac4cce3..07dc8c7 100755 +--- a/SRC/CMakeLists.txt ++++ b/SRC/CMakeLists.txt +@@ -376,5 +376,9 @@ if(BUILD_COMPLEX16) + set(ALLOBJ ${ZLASRC} ${ALLAUX} ${DZLAUX}) + endif() + add_library(lapack ${ALLOBJ} ${ALLXOBJ}) +-target_link_libraries(lapack blas) ++target_link_libraries(lapack ${BLAS_LIBRARIES} f2c) ++install(TARGETS lapack ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) + +diff --git a/clapack-config.cmake.in b/clapack-config.cmake.in +index cd19f1d..597f474 100755 +--- a/clapack-config.cmake.in ++++ b/clapack-config.cmake.in +@@ -1 +1 @@ +-include("@CLAPACK_BINARY_DIR@/clapack-targets.cmake") ++include("@CLAPACK_BINARY_DIR@/clapack-targets.cmake") diff --git a/ports/clapack/use-other-blas-and-install-include.patch b/ports/clapack/use-other-blas-and-install-include.patch deleted file mode 100644 index 0f81e64fe..000000000 --- a/ports/clapack/use-other-blas-and-install-include.patch +++ /dev/null @@ -1,103 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 320ccc6..8c53def 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -3,6 +3,9 @@ project(CLAPACK C) - enable_testing() - include(CTest) - -+# BLAS_LIBRARIES -+find_package(BLAS REQUIRED) -+ - if(WIN32 AND NOT CYGWIN) - set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c) - set(DSECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/windsecnd.c) -@@ -19,7 +22,8 @@ if(NOT USE_BLAS_WRAP) - endif() - include_directories(${CLAPACK_SOURCE_DIR}/INCLUDE) - add_subdirectory(F2CLIBS) --add_subdirectory(BLAS) -+ -+# add_subdirectory(BLAS) - add_subdirectory(SRC) - add_subdirectory(TESTING) - set(CLAPACK_VERSION 3.2.1) -@@ -27,8 +31,13 @@ set(CPACK_PACKAGE_VERSION_MAJOR 3) - set(CPACK_PACKAGE_VERSION_MINOR 2) - set(CPACK_PACKAGE_VERSION_PATCH 1) - include(CPack) --export(TARGETS f2c blas lapack FILE clapack-targets.cmake) --configure_file(${CLAPACK_SOURCE_DIR}/clapack-config-version.cmake.in -- ${CLAPACK_BINARY_DIR}/clapack-config-version.cmake @ONLY) --configure_file(${CLAPACK_SOURCE_DIR}/clapack-config.cmake.in -- ${CLAPACK_BINARY_DIR}/clapack-config.cmake @ONLY) -+# export(TARGETS f2c blas lapack FILE clapack-targets.cmake) -+# configure_file(${CLAPACK_SOURCE_DIR}/clapack-config-version.cmake.in -+# ${CLAPACK_BINARY_DIR}/clapack-config-version.cmake @ONLY) -+# configure_file(${CLAPACK_SOURCE_DIR}/clapack-config.cmake.in -+# ${CLAPACK_BINARY_DIR}/clapack-config.cmake @ONLY) -+ -+install(FILES -+ ${CMAKE_CURRENT_LIST_DIR}/include/clapack.h -+ ${CMAKE_CURRENT_LIST_DIR}/include/f2c.h -+ DESTINATION include) -\ No newline at end of file -diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt -index 43d7b3f..2bdbd05 100644 ---- a/F2CLIBS/libf2c/CMakeLists.txt -+++ b/F2CLIBS/libf2c/CMakeLists.txt -@@ -58,5 +58,5 @@ if(WIN32) - endif() - include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c) - include_directories(${CLAPACK_BINARY_DIR}/F2CLIBS/libf2c) --add_library(f2c ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h) -+add_library(f2c STATIC ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h) - set_property(TARGET f2c PROPERTY PREFIX lib) -diff --git a/INCLUDE/clapack.h b/INCLUDE/clapack.h -index d22da98..5ef0a5b 100644 ---- a/INCLUDE/clapack.h -+++ b/INCLUDE/clapack.h -@@ -3,6 +3,8 @@ - #ifndef __CLAPACK_H - #define __CLAPACK_H - -+#include "f2c.h" -+ - /* Subroutine */ int caxpy_(integer *n, complex *ca, complex *cx, integer * - incx, complex *cy, integer *incy); - -diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt -index ac4cce3..0548c8d 100644 ---- a/SRC/CMakeLists.txt -+++ b/SRC/CMakeLists.txt -@@ -375,6 +375,17 @@ endif() - if(BUILD_COMPLEX16) - set(ALLOBJ ${ZLASRC} ${ALLAUX} ${DZLAUX}) - endif() --add_library(lapack ${ALLOBJ} ${ALLXOBJ}) --target_link_libraries(lapack blas) -+if(BUILD_SHARED_LIBS AND MSVC) -+ add_library(lapack SHARED ${ALLOBJ} ${ALLXOBJ} ${CMAKE_CURRENT_LIST_DIR}/lapack.def) -+else() -+ add_library(lapack ${ALLOBJ} ${ALLXOBJ}) -+endif(BUILD_SHARED_LIBS AND MSVC) -+ -+ -+target_link_libraries(lapack ${BLAS_LIBRARIES} f2c) -+ -+install(TARGETS lapack -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) - -diff --git a/TESTING/MATGEN/CMakeLists.txt b/TESTING/MATGEN/CMakeLists.txt -index b2cb47a..54fa7a8 100644 ---- a/TESTING/MATGEN/CMakeLists.txt -+++ b/TESTING/MATGEN/CMakeLists.txt -@@ -65,5 +65,5 @@ endif() - if(BUILD_COMPLEX16) - set(ALLOBJ $(ZMATGEN) $(DZATGEN)) - endif() --add_library(tmglib ${ALLOBJ} ) -+add_library(tmglib STATIC ${ALLOBJ} ) - diff --git a/ports/clapack/vcpkg-cmake-wrapper.cmake b/ports/clapack/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..69c54ea0d --- /dev/null +++ b/ports/clapack/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,4 @@ +set(LAPACK_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) +_find_package(${ARGS}) +set(CMAKE_MODULE_PATH ${LAPACK_PREV_MODULE_PATH}) diff --git a/ports/clp/CMakeLists.txt b/ports/clp/CMakeLists.txt index 86305aa58..94f6559d9 100644 --- a/ports/clp/CMakeLists.txt +++ b/ports/clp/CMakeLists.txt @@ -1,139 +1,121 @@ -cmake_minimum_required(VERSION 3.11) - -project(Clp LANGUAGES C CXX) - -set(PROJECT_VERSION 1.16.11) -set(PROJECT_VERSION_MAJOR 1) -set(PROJECT_VERSION_MINOR 16) -set(PROJECT_VERSION_PATCH 11) - -set(CMAKE_CXX_STANDARD 14) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) -set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake") - -if(MSVC) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275" - ) -endif(MSVC) -if(APPLE) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions" - ) - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" - CACHE STRING "Minimum OS X deployment version") -endif(APPLE) - -set_property(GLOBAL PROPERTY USE_FOLDERS ON) - -# options -option(BUILD_SHARED_LIBS "" ON) - -# -# Introduce variables: * CMAKE_INSTALL_LIBDIR * CMAKE_INSTALL_BINDIR -include(GNUInstallDirs) - -# Include module with fuction 'write_basic_package_version_file' -include(CMakePackageConfigHelpers) - -# Layout. This works for all platforms: * /lib*/cmake/ * -# /lib*/ * /include/ -set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") -set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated") -# Configuration -set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake") -set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake") -set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") -set(namespace "Coin::") - -# Packages -find_package(CoinUtils REQUIRED) -find_package(Osi REQUIRED) - -# Add sources -include_directories(Clp/src/) -include_directories(Clp/src/OsiClp) - -file(GLOB CLP_SOURCES - Clp/src/*.hpp - Clp/src/*.cpp - Clp/src/OsiClp/*.hpp - Clp/src/OsiClp/*.cpp) -file(GLOB CLP_REMOVE - Clp/src/ClpCholeskyMumps.cpp - Clp/src/ClpCholeskyUfl.cpp - Clp/src/ClpCholeskyWssmp.cpp - Clp/src/ClpCholeskyWssmpKKT.cpp - Clp/src/ClpMain.cpp - Clp/src/*Abc*.cpp - Clp/src/ClpCholeskyMumps.hpp - Clp/src/ClpCholeskyUfl.hpp - Clp/src/ClpCholeskyWssmp.hpp - Clp/src/ClpCholeskyWssmpKKT.hpp - Clp/src/ClpMain.hpp - Clp/src/*Abc*.hpp - Clp/src/*Abc*.h) -list(REMOVE_ITEM CLP_SOURCES ${CLP_REMOVE}) - -add_library(${PROJECT_NAME} ${CLP_SOURCES}) - -target_include_directories(${PROJECT_NAME} - PUBLIC $) -target_compile_definitions(${PROJECT_NAME} - PUBLIC - -DHAVE_CMATH - -D_CRT_SECURE_NO_WARNINGS - -DCOIN_HAS_CLP) -target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils Coin::Osi) - -install(TARGETS ${PROJECT_NAME} - EXPORT "${TARGETS_EXPORT_NAME}" - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin - INCLUDES - DESTINATION include) - -install(DIRECTORY Clp/src/ - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/coin - FILES_MATCHING - PATTERN "*.h" - PATTERN "*.hpp" - PATTERN "config_default.h" - EXCLUDE) - -install(DIRECTORY Clp/src/OsiClp/ - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/coin - FILES_MATCHING - PATTERN "*.h" - PATTERN "*.hpp" - PATTERN "config_default.h" - EXCLUDE) - -# -# Install Libraries -# -# Configure 'ConfigVersion.cmake' Use: * PROJECT_VERSION -write_basic_package_version_file("${version_config}" - COMPATIBILITY SameMajorVersion) - -# Configure 'Config.cmake' Use variables: * TARGETS_EXPORT_NAME * -# PROJECT_NAME -configure_package_config_file("Config.cmake.in" - "${project_config}" - INSTALL_DESTINATION - "${config_install_dir}") - -# Config * /lib/cmake/Foo/FooConfig.cmake * -# /lib/cmake/Foo/FooConfigVersion.cmake -install(FILES "${project_config}" "${version_config}" - DESTINATION "${config_install_dir}") - -# Config * /lib/cmake/Foo/FooTargets.cmake -install(EXPORT "${TARGETS_EXPORT_NAME}" - NAMESPACE "${namespace}" - DESTINATION "${config_install_dir}") +cmake_minimum_required(VERSION 3.11) + +project(Clp LANGUAGES C CXX) + +set(PROJECT_VERSION 1.16.11) +set(PROJECT_VERSION_MAJOR 1) +set(PROJECT_VERSION_MINOR 16) +set(PROJECT_VERSION_PATCH 11) + +set(CMAKE_CXX_STANDARD 14) + +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/Coin" CACHE PATH "Path where headers will be installed") +set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed") + +# Make relative paths absolute (needed later on) +set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) +foreach(p LIB BIN INCLUDE CMAKE) + set(var INSTALL_${p}_DIR) + if(NOT IS_ABSOLUTE "${${var}}") + set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") + endif() +endforeach() + +if(MSVC) + set( + CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275" + ) +endif() + +if(APPLE) + set( + CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions" + ) + set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" + CACHE STRING "Minimum OS X deployment version") +endif() + +find_package(CoinUtils REQUIRED) +find_package(Osi REQUIRED) + +file(GLOB CLP_SOURCES + Clp/src/*.hpp + Clp/src/*.cpp + Clp/src/OsiClp/*.hpp + Clp/src/OsiClp/*.cpp) +file(GLOB CLP_REMOVE + Clp/src/ClpCholeskyMumps.cpp + Clp/src/ClpCholeskyUfl.cpp + Clp/src/ClpCholeskyWssmp.cpp + Clp/src/ClpCholeskyWssmpKKT.cpp + Clp/src/ClpMain.cpp + Clp/src/*Abc*.cpp + Clp/src/ClpCholeskyMumps.hpp + Clp/src/ClpCholeskyUfl.hpp + Clp/src/ClpCholeskyWssmp.hpp + Clp/src/ClpCholeskyWssmpKKT.hpp + Clp/src/ClpMain.hpp + Clp/src/*Abc*.hpp + Clp/src/*Abc*.h) +list(REMOVE_ITEM CLP_SOURCES ${CLP_REMOVE}) + +add_library(${PROJECT_NAME} ${CLP_SOURCES}) + +target_include_directories(${PROJECT_NAME} + PUBLIC + $ + $ + $) + +if(MSVC) + target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS) +endif() +target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CMATH) +target_compile_definitions(${PROJECT_NAME} PUBLIC COIN_HAS_CLP) + +target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils Coin::Osi) + +install(DIRECTORY Clp/src/ + DESTINATION ${INSTALL_INCLUDE_DIR} + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.hpp" + PATTERN "config_default.h" EXCLUDE) + +install(DIRECTORY Clp/src/OsiClp/ + DESTINATION ${INSTALL_INCLUDE_DIR} + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.hpp" + PATTERN "config_default.h" EXCLUDE) + +install(TARGETS ${PROJECT_NAME} + EXPORT "${PROJECT_NAME}Targets" + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin) + +include(CMakePackageConfigHelpers) + +set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}ConfigVersion.cmake") +set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}Config.cmake") +set(namespace "Coin::") + +write_basic_package_version_file("${version_config}" + COMPATIBILITY SameMajorVersion) + +configure_package_config_file("Config.cmake.in" + "${project_config}" + INSTALL_DESTINATION + "${INSTALL_CMAKE_DIR}") + +install(FILES "${project_config}" "${version_config}" + DESTINATION "${INSTALL_CMAKE_DIR}") + +install(EXPORT "${PROJECT_NAME}Targets" + NAMESPACE "${namespace}" + DESTINATION "${INSTALL_CMAKE_DIR}") diff --git a/ports/clp/CONTROL b/ports/clp/CONTROL index b10b63561..a0bdee5d3 100644 --- a/ports/clp/CONTROL +++ b/ports/clp/CONTROL @@ -1,4 +1,4 @@ -Source: clp -Version: 1.17.2 -Description: Clp (Coin-or linear programming) is an open-source linear programming solver written in C++. It is primarily meant to be used as a callable library, but a basic, stand-alone executable version is also available. -Build-Depends: coinutils, osi +Source: clp +Version: 1.17.2-1 +Description: Clp (Coin-or linear programming) is an open-source linear programming solver written in C++. It is primarily meant to be used as a callable library, but a basic, stand-alone executable version is also available. +Build-Depends: coinutils, osi diff --git a/ports/clp/Config.cmake.in b/ports/clp/Config.cmake.in index ec01d2e5b..2c12f83f0 100644 --- a/ports/clp/Config.cmake.in +++ b/ports/clp/Config.cmake.in @@ -1,5 +1,5 @@ - -@PACKAGE_INIT@ - -include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") -check_required_components("@PROJECT_NAME@") + +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +check_required_components("@PROJECT_NAME@") diff --git a/ports/clp/portfile.cmake b/ports/clp/portfile.cmake index b76a9435c..83581af35 100644 --- a/ports/clp/portfile.cmake +++ b/ports/clp/portfile.cmake @@ -19,8 +19,12 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") #on case-sensitive filesystems, it's necessary to rename and make it lowercase + vcpkg_fixup_cmake_targets(CONFIG_PATH share/Clp) +else() + vcpkg_fixup_cmake_targets() +endif() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Clp") -# Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/clp RENAME copyright) diff --git a/ports/coinutils/CMakeLists.txt b/ports/coinutils/CMakeLists.txt index 1a090c94d..bdaf5969b 100644 --- a/ports/coinutils/CMakeLists.txt +++ b/ports/coinutils/CMakeLists.txt @@ -8,17 +8,28 @@ set(PROJECT_VERSION_MINOR 10) set(PROJECT_VERSION_PATCH 14) set(CMAKE_CXX_STANDARD 14) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) -set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +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/Coin" CACHE PATH "Path where headers will be installed") +set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed") + +# Make relative paths absolute (needed later on) +set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) +foreach(p LIB BIN INCLUDE CMAKE) + set(var INSTALL_${p}_DIR) + if(NOT IS_ABSOLUTE "${${var}}") + set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") + endif() +endforeach() if(MSVC) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275" ) -endif(MSVC) +endif() + if(APPLE) set( CMAKE_CXX_FLAGS @@ -26,84 +37,59 @@ if(APPLE) ) set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "Minimum OS X deployment version") -endif(APPLE) - -set_property(GLOBAL PROPERTY USE_FOLDERS ON) - -# options -option(BUILD_SHARED_LIBS "" ON) - -# -# 设置用于 install 的变量 -# -# Introduce variables: * CMAKE_INSTALL_LIBDIR * CMAKE_INSTALL_BINDIR -include(GNUInstallDirs) +endif() -# Include module with fuction 'write_basic_package_version_file' -include(CMakePackageConfigHelpers) - -# Layout. This works for all platforms: * /lib*/cmake/ * -# /lib*/ * /include/ -set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") -set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated") -# Configuration -set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake") -set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake") -set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") -set(namespace "Coin::") - -# -# Add sources -# -include_directories(CoinUtils/src) +include(CheckIncludeFileCXX) +include(CheckIncludeFile) +check_include_file_cxx("cmath" HAVE_CMATH) +check_include_file_cxx("cfloat" HAVE_CFLOAT) +if(NOT HAVE_CMATH OR NOT HAVE_CFLOAT) + message(FATAL_ERROR "Missing necessary include files, like cmath or cfloat") +endif() file(GLOB UTILS_SOURCES CoinUtils/src/*.hpp CoinUtils/src/*.cpp CoinUtils/src/*.h) + add_library(${PROJECT_NAME} ${UTILS_SOURCES}) -target_include_directories(${PROJECT_NAME} - PUBLIC $) -target_compile_definitions(${PROJECT_NAME} - PUBLIC - $ - $) +target_include_directories(${PROJECT_NAME} PUBLIC $ $) -install(TARGETS ${PROJECT_NAME} - EXPORT "${TARGETS_EXPORT_NAME}" - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin - INCLUDES - DESTINATION include) +if(MSVC) + target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS) +endif() +target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CMATH HAVE_CFLOAT) install(DIRECTORY CoinUtils/src/ - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/coin + DESTINATION ${INSTALL_INCLUDE_DIR} FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp") -# -# Install Libraries -# -# Configure 'ConfigVersion.cmake' Use: * PROJECT_VERSION +install(TARGETS ${PROJECT_NAME} + EXPORT "${PROJECT_NAME}Targets" + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin) + +include(CMakePackageConfigHelpers) + +set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}ConfigVersion.cmake") +set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}Config.cmake") +set(namespace "Coin::") + write_basic_package_version_file("${version_config}" COMPATIBILITY SameMajorVersion) -# Configure 'Config.cmake' Use variables: * TARGETS_EXPORT_NAME * -# PROJECT_NAME configure_package_config_file("Config.cmake.in" "${project_config}" INSTALL_DESTINATION - "${config_install_dir}") + "${INSTALL_CMAKE_DIR}") -# Config * /lib/cmake/Foo/FooConfig.cmake * -# /lib/cmake/Foo/FooConfigVersion.cmake install(FILES "${project_config}" "${version_config}" - DESTINATION "${config_install_dir}") + DESTINATION "${INSTALL_CMAKE_DIR}") -# Config * /lib/cmake/Foo/FooTargets.cmake -install(EXPORT "${TARGETS_EXPORT_NAME}" +install(EXPORT "${PROJECT_NAME}Targets" NAMESPACE "${namespace}" - DESTINATION "${config_install_dir}") + DESTINATION "${INSTALL_CMAKE_DIR}") diff --git a/ports/coinutils/CONTROL b/ports/coinutils/CONTROL index 9ea94ddf5..fd495d62d 100644 --- a/ports/coinutils/CONTROL +++ b/ports/coinutils/CONTROL @@ -1,3 +1,3 @@ Source: coinutils -Version: 2.11.2 +Version: 2.11.2-1 Description: CoinUtils (Coin-or Utilities) is an open-source collection of classes and functions that are generally useful to more than one COIN-OR project diff --git a/ports/coinutils/Config.cmake.in b/ports/coinutils/Config.cmake.in index a53c57495..2c12f83f0 100644 --- a/ports/coinutils/Config.cmake.in +++ b/ports/coinutils/Config.cmake.in @@ -1,5 +1,5 @@ @PACKAGE_INIT@ -include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") check_required_components("@PROJECT_NAME@") diff --git a/ports/coinutils/portfile.cmake b/ports/coinutils/portfile.cmake index 109ff7994..42bd8d2d1 100644 --- a/ports/coinutils/portfile.cmake +++ b/ports/coinutils/portfile.cmake @@ -19,10 +19,12 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/CoinUtils") +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") #on case-sensitive filesystems, it's necessary to rename and make it lowercase + vcpkg_fixup_cmake_targets(CONFIG_PATH share/CoinUtils) +else() + vcpkg_fixup_cmake_targets() +endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/coinutils RENAME copyright) diff --git a/ports/dlib/CONTROL b/ports/dlib/CONTROL index 43c689bc4..713de97bb 100644 --- a/ports/dlib/CONTROL +++ b/ports/dlib/CONTROL @@ -1,5 +1,5 @@ Source: dlib -Version: 19.17 +Version: 19.17-1 Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3, openblas (!osx), clapack (!osx) Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ diff --git a/ports/ebml/portfile.cmake b/ports/ebml/portfile.cmake index f4817db1a..578e5d5e2 100644 --- a/ports/ebml/portfile.cmake +++ b/ports/ebml/portfile.cmake @@ -1,28 +1,28 @@ -include(vcpkg_common_functions) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "ebml does not currently support UWP") -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Matroska-Org/libebml - REF release-1.3.9 - SHA512 3ae22ed491024b276edde9237df0e41a8e5a4e142ec6783c77d5286d7825fb59be62f336d07f7042baac8fc7ac004ad7cc4605754c5801d65547449ea04c287f - HEAD_REF master -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DDISABLE_PKGCONFIG=1 -) - -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/EBML) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/ebml RENAME copyright) +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 Matroska-Org/libebml + REF release-1.3.9 + SHA512 3ae22ed491024b276edde9237df0e41a8e5a4e142ec6783c77d5286d7825fb59be62f336d07f7042baac8fc7ac004ad7cc4605754c5801d65547449ea04c287f + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DDISABLE_PKGCONFIG=1 +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/EBML) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE.LGPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/ensmallen/CONTROL b/ports/ensmallen/CONTROL index b2525e2f9..9e0245aa9 100644 --- a/ports/ensmallen/CONTROL +++ b/ports/ensmallen/CONTROL @@ -1,5 +1,4 @@ -Source: ensmallen -Version: 1.15.0 -Description: A header-only C++ library for mathematical optimization. -Build-Depends: openblas, clapack, armadillo - +Source: ensmallen +Version: 1.15.0-1 +Description: A header-only C++ library for mathematical optimization. +Build-Depends: openblas (!osx), clapack (!osx), armadillo diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake index 96cec76cb..44daf8717 100644 --- a/ports/exiv2/portfile.cmake +++ b/ports/exiv2/portfile.cmake @@ -10,7 +10,7 @@ vcpkg_from_github( iconv.patch ) -if(WIN32 AND ("unicode" IN_LIST FEATURES)) +if((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND ("unicode" IN_LIST FEATURES)) set(enable_win_unicode TRUE) elseif() set(enable_win_unicode FALSE) @@ -46,6 +46,6 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -# Handle copyright +# Handle copyright file(COPY ${SOURCE_PATH}/ABOUT-NLS DESTINATION ${CURRENT_PACKAGES_DIR}/share/exiv2) file(RENAME ${CURRENT_PACKAGES_DIR}/share/exiv2/ABOUT-NLS ${CURRENT_PACKAGES_DIR}/share/exiv2/copyright) diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index ed1203c1d..13572aff1 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -26,7 +26,7 @@ endif() vcpkg_find_acquire_program(YASM) get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY) -if (WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}") set(BUILD_SCRIPT ${CMAKE_CURRENT_LIST_DIR}\\build.sh) @@ -35,7 +35,7 @@ if (WIN32) else() vcpkg_acquire_msys(MSYS_ROOT PACKAGES diffutils make) endif() - + set(BASH ${MSYS_ROOT}/usr/bin/bash.exe) else() set(ENV{PATH} "$ENV{PATH}:${YASM_EXE_PATH}") @@ -140,7 +140,7 @@ endif() message(STATUS "Building Options: ${OPTIONS}") -if(WIN32) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MDd --extra-cxxflags=-MDd") set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MD --extra-cxxflags=-MD") diff --git a/ports/fmilib/portfile.cmake b/ports/fmilib/portfile.cmake index 5692b7d12..46912d440 100644 --- a/ports/fmilib/portfile.cmake +++ b/ports/fmilib/portfile.cmake @@ -23,9 +23,9 @@ vcpkg_extract_source_archive(${ARCHIVE}) # Note that if you have configured and built both static and shared library on Windows # but want to link with the static library compile time define "FMILIB_BUILDING_LIBRARY" must be set. -if (WIN32 AND VCPKG_LIBRARY_LINKAGE STREQUAL static) +if ((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND VCPKG_LIBRARY_LINKAGE STREQUAL static) SET(FMILIB_BUILDING_LIBRARY ON) -else() +else() SET(FMILIB_BUILDING_LIBRARY OFF) endif() @@ -33,7 +33,7 @@ endif() # This is only used when generating Microsoft Visual Studio solutions. If the options is on then the library will # be built against static runtime, otherwise - dynamic runtime (/MD or /MDd). Make sure the client code is using # matching runtime -if (WIN32 AND VCPKG_CRT_LINKAGE STREQUAL static) +if ((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND VCPKG_CRT_LINKAGE STREQUAL static) SET(FMILIB_BUILD_WITH_STATIC_RTLIB ON) else() SET(FMILIB_BUILD_WITH_STATIC_RTLIB OFF) @@ -42,9 +42,9 @@ endif() # On LINUX position independent code (-fPIC) must be used on all files to be linked into a shared library (.so file). # On other systems this is not needed (either is default or relocation is done). Set this option to OFF if you # are building an application on Linux and use static library only -if (UNIX AND VCPKG_LIBRARY_LINKAGE STREQUAL static) +if ((VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") AND VCPKG_LIBRARY_LINKAGE STREQUAL static) SET(FMILIB_BUILD_FOR_SHARED_LIBS OFF) -else() +else() SET(FMILIB_BUILD_FOR_SHARED_LIBS ON) endif() @@ -59,17 +59,17 @@ endif() SET(OPTIONS -DFMILIB_BUILD_TESTS=OFF - -DFMILIB_BUILD_STATIC_LIB=${FMILIB_BUILD_STATIC_LIB} + -DFMILIB_BUILD_STATIC_LIB=${FMILIB_BUILD_STATIC_LIB} -DFMILIB_BUILD_SHARED_LIB=${FMILIB_BUILD_SHARED_LIB} - -DFMILIB_BUILDING_LIBRARY=${FMILIB_BUILDING_LIBRARY} - -DFMILIB_BUILD_WITH_STATIC_RTLIB=${FMILIB_BUILD_WITH_STATIC_RTLIB} + -DFMILIB_BUILDING_LIBRARY=${FMILIB_BUILDING_LIBRARY} + -DFMILIB_BUILD_WITH_STATIC_RTLIB=${FMILIB_BUILD_WITH_STATIC_RTLIB} ) # Reset package dir file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}) -if (WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") if(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120") set(GENERATOR "Visual Studio 12 2013") @@ -109,30 +109,30 @@ foreach(BUILDTYPE "rel" "dbg") # Reset working dir file(REMOVE_RECURSE ${BUILD_DIR}) - file(MAKE_DIRECTORY ${BUILD_DIR}) + file(MAKE_DIRECTORY ${BUILD_DIR}) SET(FMILIB_INSTALL_PREFIX ${CURRENT_PACKAGES_DIR}) - if(WIN32) + if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") SET(OPTIONS ${OPTIONS} -G ${GENERATOR}) - endif() + endif() if(NOT RELEASE_BUILD) STRING(APPEND FMILIB_INSTALL_PREFIX "/debug") endif() # Step 1: Configure - vcpkg_execute_required_process(COMMAND - cmake + vcpkg_execute_required_process(COMMAND + cmake -DFMILIB_INSTALL_PREFIX=${FMILIB_INSTALL_PREFIX} - -DFMILIB_DEFAULT_BUILD_TYPE_RELEASE=${RELEASE_BUILD} + -DFMILIB_DEFAULT_BUILD_TYPE_RELEASE=${RELEASE_BUILD} ${OPTIONS} ${SOURCE_PATH} - WORKING_DIRECTORY + WORKING_DIRECTORY ${BUILD_DIR} ) # Step 2: Build # Custom build - becouse vcpkg_configure_cmake() + vcpkg_install_cmake() fails on Linux for some unknown reason - if (UNIX) + if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") find_program(MAKE make) if(NOT MAKE) message(FATAL_ERROR "Could not find make. Please install it through your package manager.") @@ -144,12 +144,12 @@ foreach(BUILDTYPE "rel" "dbg") else() SET(CONFIG "Debug") endif() - vcpkg_execute_required_process(COMMAND - cmake - --build . - --config ${CONFIG} - --target "install" - WORKING_DIRECTORY + vcpkg_execute_required_process(COMMAND + cmake + --build . + --config ${CONFIG} + --target "install" + WORKING_DIRECTORY ${BUILD_DIR} ) endif() @@ -159,9 +159,9 @@ foreach(BUILDTYPE "rel" "dbg") # remove /doc folder file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/doc) - # Move .dll files (if any) from /lib to /bin + # Move .dll files (if any) from /lib to /bin file(GLOB TMP ${CURRENT_PACKAGES_DIR}/lib/*.dll) - if (TMP) + if (TMP) file(COPY ${TMP} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) file(REMOVE ${TMP}) @@ -175,7 +175,7 @@ foreach(BUILDTYPE "rel" "dbg") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc) - # Move .dll files (if any) from /lib to /bin + # Move .dll files (if any) from /lib to /bin file(GLOB TMP ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll) if (TMP) file(COPY ${TMP} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) diff --git a/ports/fontconfig/CONTROL b/ports/fontconfig/CONTROL index 5d75462c5..ec63c3a22 100644 --- a/ports/fontconfig/CONTROL +++ b/ports/fontconfig/CONTROL @@ -1,4 +1,4 @@ Source: fontconfig -Version: 2.12.4-8 +Version: 2.12.4-9 Description: Library for configuring and customizing font access. Build-Depends: freetype, expat, libiconv, dirent diff --git a/ports/fontconfig/portfile.cmake b/ports/fontconfig/portfile.cmake index 4637f112c..772e741fd 100644 --- a/ports/fontconfig/portfile.cmake +++ b/ports/fontconfig/portfile.cmake @@ -36,7 +36,7 @@ vcpkg_copy_pdbs() if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) foreach(HEADER fcfreetype.h fontconfig.h) file(READ ${CURRENT_PACKAGES_DIR}/include/fontconfig/${HEADER} FC_HEADER) - if(WIN32) + if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") string(REPLACE "#define FcPublic" "#define FcPublic __declspec(dllimport)" FC_HEADER "${FC_HEADER}") else() string(REPLACE "#define FcPublic" "#define FcPublic __attribute__((visibility(\"default\")))" FC_HEADER "${FC_HEADER}") diff --git a/ports/g2o/CONTROL b/ports/g2o/CONTROL index 57999aece..9bc511479 100644 --- a/ports/g2o/CONTROL +++ b/ports/g2o/CONTROL @@ -1,4 +1,4 @@ Source: g2o Version: 20170730_git-4 -Build-Depends: suitesparse, eigen3, clapack, ceres +Build-Depends: suitesparse, eigen3, clapack (!osx), ceres Description: g2o: A General Framework for Graph Optimization http://openslam.org/g2o.html diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index b880c9184..61609d3d3 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -54,24 +54,24 @@ foreach(BUILD_TYPE IN LISTS BUILD_TYPES) ) endforeach() -if (WIN32) # Build in WINDOWS +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # Check build system first find_program(NMAKE nmake REQUIRED) - + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/share/gdal" NATIVE_DATA_DIR) file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/share/gdal/html" NATIVE_HTML_DIR) - + # Setup proj4 libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PROJ_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/proj.lib" PROJ_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/projd.lib" PROJ_LIBRARY_DBG) - + # Setup libpng libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PNG_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpng16.lib" PNG_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.lib" PNG_LIBRARY_DBG) - + # Setup zlib libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" ZLIB_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/zlib.lib" ZLIB_LIBRARY_REL) @@ -86,12 +86,12 @@ if (WIN32) # Build in WINDOWS file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib" GEOS_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib" GEOS_LIBRARY_DBG) endif() - + # Setup expat libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" EXPAT_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/expat.lib" EXPAT_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/expat.lib" EXPAT_LIBRARY_DBG) - + # Setup curl libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" CURL_INCLUDE_DIR) if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib") @@ -104,37 +104,37 @@ if (WIN32) # Build in WINDOWS elseif(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d_imp.lib") file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d_imp.lib" CURL_LIBRARY_DBG) endif() - + # Setup sqlite3 libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" SQLITE_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib" SQLITE_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib" SQLITE_LIBRARY_DBG) - + # Setup PostgreSQL libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PGSQL_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpq.lib" PGSQL_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.lib" PGSQL_LIBRARY_DBG) - + # Setup OpenJPEG libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" OPENJPEG_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/openjp2.lib" OPENJPEG_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/openjp2.lib" OPENJPEG_LIBRARY_DBG) - + # Setup WebP libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" WEBP_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/webp.lib" WEBP_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/webpd.lib" WEBP_LIBRARY_DBG) - + # Setup libxml2 libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" XML2_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib" XML2_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib" XML2_LIBRARY_DBG) - + # Setup liblzma libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" LZMA_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/lzma.lib" LZMA_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/lzma.lib" LZMA_LIBRARY_DBG) - + if("mysql-libmysql" IN_LIST FEATURES OR "mysql-libmariadb" IN_LIST FEATURES) # Setup MySQL libraries + include path if("mysql-libmysql" IN_LIST FEATURES) @@ -142,18 +142,18 @@ if (WIN32) # Build in WINDOWS file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmysql.lib" MYSQL_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmysql.lib" MYSQL_LIBRARY_DBG) endif() - + if("mysql-libmariadb" IN_LIST FEATURES) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/mysql" MYSQL_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmariadb.lib" MYSQL_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmariadb.lib" MYSQL_LIBRARY_DBG) endif() - + list(APPEND NMAKE_OPTIONS MYSQL_INC_DIR=${MYSQL_INCLUDE_DIR}) list(APPEND NMAKE_OPTIONS_REL MYSQL_LIB=${MYSQL_LIBRARY_REL}) list(APPEND NMAKE_OPTIONS_DBG MYSQL_LIB=${MYSQL_LIBRARY_DBG}) endif() - + if ("libspatialite" IN_LIST FEATURES) # Setup spatialite libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/spatialite" SPATIALITE_INCLUDE_DIR) @@ -161,7 +161,7 @@ if (WIN32) # Build in WINDOWS file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/spatialite.lib" SPATIALITE_LIBRARY_DBG) set(HAVE_SPATIALITE "-DHAVE_SPATIALITE") endif() - + list(APPEND NMAKE_OPTIONS GDAL_HOME=${NATIVE_PACKAGES_DIR} DATADIR=${NATIVE_DATA_DIR} @@ -186,11 +186,11 @@ if (WIN32) # Build in WINDOWS ZLIB_EXTERNAL_LIB=1 MSVC_VER=1900 ) - + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") list(APPEND NMAKE_OPTIONS WIN64=YES) endif() - + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) list(APPEND NMAKE_OPTIONS PROJ_FLAGS=-DPROJ_STATIC) list(APPEND NMAKE_OPTIONS CURL_CFLAGS=-DCURL_STATICLIB) @@ -198,13 +198,13 @@ if (WIN32) # Build in WINDOWS # Enables PDBs for release and debug builds list(APPEND NMAKE_OPTIONS WITH_PDB=1) endif() - + if (VCPKG_CRT_LINKAGE STREQUAL static) set(LINKAGE_FLAGS "/MT") else() set(LINKAGE_FLAGS "/MD") endif() - + list(APPEND NMAKE_OPTIONS_REL ${NMAKE_OPTIONS} CXX_CRT_FLAGS=${LINKAGE_FLAGS} @@ -223,7 +223,7 @@ if (WIN32) # Build in WINDOWS # Static Build does not like PG_LIB list(APPEND NMAKE_OPTIONS_REL PG_LIB=${PGSQL_LIBRARY_REL}) endif() - + list(APPEND NMAKE_OPTIONS_DBG ${NMAKE_OPTIONS} CXX_CRT_FLAGS="${LINKAGE_FLAGS}d" @@ -257,12 +257,12 @@ if (WIN32) # Build in WINDOWS ) message(STATUS "Building ${TARGET_TRIPLET}-rel done") endif() - + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") ################ # Debug build ################ - + message(STATUS "Building ${TARGET_TRIPLET}-dbg") vcpkg_execute_required_process( COMMAND ${NMAKE} /G -f makefile.vc @@ -272,9 +272,9 @@ if (WIN32) # Build in WINDOWS ) message(STATUS "Building ${TARGET_TRIPLET}-dbg done") endif() - + message(STATUS "Packaging ${TARGET_TRIPLET}") - + if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/gdal/html) endif() @@ -287,31 +287,31 @@ if (WIN32) # Build in WINDOWS WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} LOGNAME nmake-install-${TARGET_TRIPLET} ) - + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib) - + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") file(COPY ${SOURCE_PATH_RELEASE}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) endif() - + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") file(COPY ${SOURCE_PATH_DEBUG}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib) endif() - + else() - + set(GDAL_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/gdal) file(MAKE_DIRECTORY ${GDAL_TOOL_PATH}) - + file(GLOB GDAL_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe) file(COPY ${GDAL_TOOLS} DESTINATION ${GDAL_TOOL_PATH}) file(REMOVE_RECURSE ${GDAL_TOOLS}) - + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal.lib) - + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/lib/gdal.lib) endif() @@ -321,17 +321,17 @@ if (WIN32) # Build in WINDOWS file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib) endif() endif() - + # Copy over PDBs vcpkg_copy_pdbs() -elseif (UNIX) # Build in UNIX +elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") # Build in UNIX # Check build system first find_program(MAKE make) if (NOT MAKE) message(FATAL_ERROR "MAKE not found") endif() - + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") ################ # Release build @@ -344,21 +344,21 @@ elseif (UNIX) # Build in UNIX WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} LOGNAME config-${TARGET_TRIPLET}-rel ) - + message(STATUS "Building ${TARGET_TRIPLET}-rel") vcpkg_execute_required_process( COMMAND make WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} LOGNAME make-build-${TARGET_TRIPLET}-release ) - + message(STATUS "Installing ${TARGET_TRIPLET}-rel") vcpkg_execute_required_process( COMMAND make install WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} LOGNAME make-install-${TARGET_TRIPLET}-release ) - + file(REMOVE_RECURSE ${OUT_PATH_RELEASE}/lib/gdalplugins) file(COPY ${OUT_PATH_RELEASE}/lib/pkgconfig DESTINATION ${OUT_PATH_RELEASE}/share/gdal) file(REMOVE_RECURSE ${OUT_PATH_RELEASE}/lib/pkgconfig) @@ -380,21 +380,21 @@ elseif (UNIX) # Build in UNIX WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} LOGNAME config-${TARGET_TRIPLET}-debug ) - + message(STATUS "Building ${TARGET_TRIPLET}-dbg") vcpkg_execute_required_process( COMMAND make WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} LOGNAME make-build-${TARGET_TRIPLET}-debug ) - + message(STATUS "Installing ${TARGET_TRIPLET}-dbg") vcpkg_execute_required_process( COMMAND make -j install WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} LOGNAME make-install-${TARGET_TRIPLET}-debug ) - + file(REMOVE_RECURSE ${OUT_PATH_DEBUG}/lib/gdalplugins) file(REMOVE_RECURSE ${OUT_PATH_DEBUG}/lib/pkgconfig) file(COPY ${OUT_PATH_DEBUG}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) diff --git a/ports/geogram/CONTROL b/ports/geogram/CONTROL index 87688018b..1a3daf4f9 100644 --- a/ports/geogram/CONTROL +++ b/ports/geogram/CONTROL @@ -1,7 +1,7 @@ Source: geogram Version: 1.6.9-3 Description: Geogram is a programming library of geometric algorithms. -Build-Depends: openblas (!osx), clapack +Build-Depends: openblas (!osx), clapack (!osx) Feature: graphics Description: Build viewers and geogram_gfx library. diff --git a/ports/graphqlparser/portfile.cmake b/ports/graphqlparser/portfile.cmake index bab77a0c7..a90959f5d 100644 --- a/ports/graphqlparser/portfile.cmake +++ b/ports/graphqlparser/portfile.cmake @@ -11,12 +11,12 @@ vcpkg_from_github( static-compile-fix.patch ) -if(UNIX) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA ) -elseif(WIN32) +elseif(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") vcpkg_find_acquire_program(PYTHON2) vcpkg_find_acquire_program(FLEX) # vcpkg_find_acquire_program(BISON) diff --git a/ports/gsoap/portfile.cmake b/ports/gsoap/portfile.cmake index dc7547eb2..5924ff5ad 100644 --- a/ports/gsoap/portfile.cmake +++ b/ports/gsoap/portfile.cmake @@ -26,7 +26,7 @@ endif() # Handle binary files and includes file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/gsoap ${CURRENT_PACKAGES_DIR}/debug/tools) -if (WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") vcpkg_build_msbuild( USE_VCPKG_INTEGRATION PROJECT_PATH ${SOURCE_PATH}/gsoap/VisualStudio2005/soapcpp2/soapcpp2.sln @@ -39,7 +39,7 @@ if (WIN32) PLATFORM ${BUILD_ARCH} TARGET Build ) - + file(COPY ${SOURCE_PATH}/gsoap/VisualStudio2005/soapcpp2/release/soapcpp2.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/gsoap/) file(COPY ${SOURCE_PATH}/gsoap/VisualStudio2005/wsdl2h/release/wsdl2h.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/gsoap/) file(COPY ${SOURCE_PATH}/gsoap/VisualStudio2005/soapcpp2/debug/soapcpp2.exe DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/gsoap/) @@ -48,7 +48,7 @@ else() message(FATAL_ERROR "Sorry but gsoap only can be build in Windows temporary") endif() - + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include) file(COPY ${SOURCE_PATH}/gsoap/stdsoap2.h ${SOURCE_PATH}/gsoap/stdsoap2.c ${SOURCE_PATH}/gsoap/stdsoap2.cpp ${SOURCE_PATH}/gsoap/dom.c ${SOURCE_PATH}/gsoap/dom.cpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) @@ -62,6 +62,6 @@ file(COPY ${SOURCE_PATH}/gsoap/plugin DESTINATION ${CURRENT_PACKAGES_DIR}/share/ file(COPY ${SOURCE_PATH}/LICENSE.txt ${SOURCE_PATH}/INSTALL.txt ${SOURCE_PATH}/README.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/gsoap) file(RENAME ${CURRENT_PACKAGES_DIR}/share/gsoap/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/gsoap/copyright) file(RENAME ${CURRENT_PACKAGES_DIR}/share/gsoap/INSTALL.txt ${CURRENT_PACKAGES_DIR}/share/gsoap/install) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/gsoap/README.txt ${CURRENT_PACKAGES_DIR}/share/gsoap/readme) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/gsoap/README.txt ${CURRENT_PACKAGES_DIR}/share/gsoap/readme) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/highfive/portfile.cmake b/ports/highfive/portfile.cmake index ed88a45c9..db6f4a012 100644 --- a/ports/highfive/portfile.cmake +++ b/ports/highfive/portfile.cmake @@ -28,7 +28,7 @@ vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH share/HighFive/CMake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -if(NOT WIN32 AND NOT APPLE) +if(NOT (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/HighFive) endif() diff --git a/ports/io2d/portfile.cmake b/ports/io2d/portfile.cmake index 0375a9689..3411620f5 100644 --- a/ports/io2d/portfile.cmake +++ b/ports/io2d/portfile.cmake @@ -5,23 +5,14 @@ include(vcpkg_common_functions) # For now, io2d is always a static library. vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -# Optionally, uncomment and modify one of the 'set(...)' calls below -# to use io2d sources from a local directory, rather than Github. -# set(SOURCE_PATH "C:\\Path\\To\\P0267_RefImpl\\") -# set(SOURCE_PATH "/Path/To/P0267_RefImpl") - -# Retrieve and validate io2d source code, as-needed -if ("${SOURCE_PATH}" STREQUAL "") - # TODO: point at cpp-io2d/(whatever), if and as needed - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO cpp-io2d/P0267_RefImpl - REF 21ae92c8be6916034e6e18f08aa57899a975dfb0 - SHA512 5b674f98ca7705d6901af339a4189d5ce4f2c3118bfb99430734f355159602f177bc8d1b345c3a2f17947a62547553f7b91747a1f16da063707a4da7f990391d - HEAD_REF master - PATCHES find-package.patch - ) -endif() +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cpp-io2d/P0267_RefImpl + REF 21ae92c8be6916034e6e18f08aa57899a975dfb0 + SHA512 5b674f98ca7705d6901af339a4189d5ce4f2c3118bfb99430734f355159602f177bc8d1b345c3a2f17947a62547553f7b91747a1f16da063707a4da7f990391d + HEAD_REF master + PATCHES find-package.patch +) # Configure the library, using CMake if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL Darwin) diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake index d1f9ca153..5472445da 100644 --- a/ports/jsonnet/portfile.cmake +++ b/ports/jsonnet/portfile.cmake @@ -14,7 +14,7 @@ vcpkg_from_github( 001-enable-msvc.patch ) -if (WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") vcpkg_execute_required_process( COMMAND Powershell -Command "((Get-Content -Encoding Byte \"${SOURCE_PATH}/stdlib/std.jsonnet\") -join ',') + ',0' > \"${SOURCE_PATH}/core/std.jsonnet.h\"" WORKING_DIRECTORY "${SOURCE_PATH}" diff --git a/ports/liblemon/CONTROL b/ports/liblemon/CONTROL index c21960b72..87234c68a 100644 --- a/ports/liblemon/CONTROL +++ b/ports/liblemon/CONTROL @@ -1,3 +1,3 @@ -Source: liblemon -Version: 1.3.1-4 -Description: Library for Efficient Modeling and Optimization in Networks +Source: liblemon +Version: 1.3.1-5 +Description: Library for Efficient Modeling and Optimization in Networks diff --git a/ports/liblemon/portfile.cmake b/ports/liblemon/portfile.cmake index b41322a87..1fe64d3fe 100644 --- a/ports/liblemon/portfile.cmake +++ b/ports/liblemon/portfile.cmake @@ -38,6 +38,7 @@ file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/liblemon/) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/liblemon) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) # Handle copyright diff --git a/ports/mlpack/CONTROL b/ports/mlpack/CONTROL index d57aa4ca3..75cc21eb4 100644 --- a/ports/mlpack/CONTROL +++ b/ports/mlpack/CONTROL @@ -1,7 +1,7 @@ -Source: mlpack -Version: 3.1.0-1 -Description: mlpack is a fast, flexible machine learning library, written in C++, that aims to provide fast, extensible implementations of cutting-edge machine learning algorithms. -Build-Depends: openblas, clapack, boost, armadillo - -Feature: tools -Description: Build command-line executables and tests. +Source: mlpack +Version: 3.1.0-1 +Description: mlpack is a fast, flexible machine learning library, written in C++, that aims to provide fast, extensible implementations of cutting-edge machine learning algorithms. +Build-Depends: openblas (!osx), clapack (!osx), boost, armadillo, ensmallen + +Feature: tools +Description: Build command-line executables and tests. diff --git a/ports/mlpack/cmakelists.patch b/ports/mlpack/cmakelists.patch index 6c39a4293..a4ef8f119 100644 --- a/ports/mlpack/cmakelists.patch +++ b/ports/mlpack/cmakelists.patch @@ -1,42 +1,54 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -284,7 +284,7 @@ - # script Armadillo uses to find these. - if (WIN32) - find_library(LAPACK_LIBRARY -- NAMES lapack liblapack lapack_win32_MT lapack_win32 -+ NAMES clapack lapack liblapack lapack_win32_MT lapack_win32 - PATHS "C:/Program Files/Armadillo" - PATH_SUFFIXES "examples/lib_win32/") - -@@ -293,7 +293,7 @@ - endif () - - find_library(BLAS_LIBRARY -- NAMES blas libblas blas_win32_MT blas_win32 -+ NAMES openblas blas libblas blas_win32_MT blas_win32 - PATHS "C:/Program Files/Armadillo" - PATH_SUFFIXES "examples/lib_win32/") - -@@ -392,19 +392,11 @@ - REQUIRED - ) - --link_directories(${Boost_LIBRARY_DIRS}) -- --# In Visual Studio, automatic linking is performed, so we don't need to worry --# about it. Clear the list of libraries to link against and let Visual Studio --# handle it. --if (MSVC) -- link_directories(${Boost_LIBRARY_DIRS}) -- set(Boost_LIBRARIES "") --endif () -+link_directories(${Boost_LIBRARIES}) - - set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) - set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} ${Boost_LIBRARIES}) --set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS}) -+set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARIES}) - - # For Boost testing framework (will have no effect on non-testing executables). - # This specifies to Boost that we are dynamically linking to the Boost test +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 26dfd6e..5e287d8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -283,25 +283,8 @@ endif() + # and find LAPACK and BLAS ourselves, using a slightly modified variant of the + # script Armadillo uses to find these. + if (WIN32) +- find_library(LAPACK_LIBRARY +- NAMES lapack liblapack lapack_win32_MT lapack_win32 +- PATHS "C:/Program Files/Armadillo" +- PATH_SUFFIXES "examples/lib_win32/") +- +- if (NOT LAPACK_LIBRARY) +- message(FATAL_ERROR "Cannot find LAPACK library (.lib)!") +- endif () +- +- find_library(BLAS_LIBRARY +- NAMES blas libblas blas_win32_MT blas_win32 +- PATHS "C:/Program Files/Armadillo" +- PATH_SUFFIXES "examples/lib_win32/") +- +- if (NOT BLAS_LIBRARY) +- message(FATAL_ERROR "Cannot find BLAS library (.lib)!") +- endif () +- +- # Piggyback LAPACK and BLAS linking into Armadillo link. ++ find_package(LAPACK) ++ find_package(BLAS) + set(ARMADILLO_LIBRARIES + ${ARMADILLO_LIBRARIES} ${BLAS_LIBRARY} ${LAPACK_LIBRARY}) + endif () +@@ -392,19 +375,11 @@ find_package(Boost 1.49 + REQUIRED + ) + +-link_directories(${Boost_LIBRARY_DIRS}) +- +-# In Visual Studio, automatic linking is performed, so we don't need to worry +-# about it. Clear the list of libraries to link against and let Visual Studio +-# handle it. +-if (MSVC) +- link_directories(${Boost_LIBRARY_DIRS}) +- set(Boost_LIBRARIES "") +-endif () ++link_directories(${Boost_LIBRARIES}) + + set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) + set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} ${Boost_LIBRARIES}) +-set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS}) ++set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARIES}) + + # For Boost testing framework (will have no effect on non-testing executables). + # This specifies to Boost that we are dynamically linking to the Boost test diff --git a/ports/mlpack/portfile.cmake b/ports/mlpack/portfile.cmake index c7bf89bc1..20cbc882e 100644 --- a/ports/mlpack/portfile.cmake +++ b/ports/mlpack/portfile.cmake @@ -6,11 +6,20 @@ vcpkg_from_github( REF mlpack-3.1.0 SHA512 dc305a9a2f7232d3957206a346d0ac97ba13b933d5dbef45329002b8380ecc0982621c0b97f6c5ee82d0a26ad53b1cdd7a9b991fb749efc8546394988ac40a5b HEAD_REF master - PATCHES - cmakelists.patch + PATCHES + cmakelists.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" MLPACK_SHARED_LIBS) +file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindACML.cmake) +file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindACMLMP.cmake) +file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindARPACK.cmake) +file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindBLAS.cmake) +file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindCBLAS.cmake) +file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindCLAPACK.cmake) +file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindLAPACK.cmake) +file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindMKL.cmake) +file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindOpenBLAS.cmake) +file(REMOVE ${SOURCE_PATH}/CMake/FindArmadillo.cmake) set(BUILD_TOOLS OFF) if("tools" IN_LIST FEATURES) @@ -20,10 +29,9 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - -DBUILD_TESTS=${BUILD_TOOLS} - -DBUILD_CLI_EXECUTABLES=${BUILD_TOOLS} - -DBUILD_SHARED_LIBS=${MLPACK_SHARED_LIBS} + OPTIONS + -DBUILD_TESTS=${BUILD_TOOLS} + -DBUILD_CLI_EXECUTABLES=${BUILD_TOOLS} ) vcpkg_install_cmake() vcpkg_copy_pdbs() @@ -31,12 +39,12 @@ vcpkg_copy_pdbs() file(INSTALL ${SOURCE_PATH}/COPYRIGHT.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/mlpack RENAME copyright) if(BUILD_TOOLS) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) - file(GLOB MLPACK_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe) - file(COPY ${MLPACK_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - file(REMOVE ${MLPACK_TOOLS}) - file(GLOB MLPACK_TOOLS_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) - file(REMOVE ${MLPACK_TOOLS_DEBUG}) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) + file(GLOB MLPACK_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe) + file(COPY ${MLPACK_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(REMOVE ${MLPACK_TOOLS}) + file(GLOB MLPACK_TOOLS_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) + file(REMOVE ${MLPACK_TOOLS_DEBUG}) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/moos-core/portfile.cmake b/ports/moos-core/portfile.cmake index 196b3e648..646fde9e2 100644 --- a/ports/moos-core/portfile.cmake +++ b/ports/moos-core/portfile.cmake @@ -28,7 +28,7 @@ vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/MOOS") set(MOOS_EXEC_SUFFIX "") -if (WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(MOOS_EXEC_SUFFIX ".exe") endif() diff --git a/ports/octomap/portfile.cmake b/ports/octomap/portfile.cmake index 113f6fc04..d260d4409 100644 --- a/ports/octomap/portfile.cmake +++ b/ports/octomap/portfile.cmake @@ -26,7 +26,7 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/octomap) -if(WIN32) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") file(RENAME ${CURRENT_PACKAGES_DIR}/bin/binvox2bt.exe ${CURRENT_PACKAGES_DIR}/tools/octomap/binvox2bt.exe) file(RENAME ${CURRENT_PACKAGES_DIR}/bin/bt2vrml.exe ${CURRENT_PACKAGES_DIR}/tools/octomap/bt2vrml.exe) file(RENAME ${CURRENT_PACKAGES_DIR}/bin/compare_octrees.exe ${CURRENT_PACKAGES_DIR}/tools/octomap/compare_octrees.exe) diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake index cccb5e3b1..1bd7b6157 100644 --- a/ports/openblas/portfile.cmake +++ b/ports/openblas/portfile.cmake @@ -1,15 +1,3 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") @@ -94,6 +82,8 @@ endif() vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/OpenBLAS TARGET_PATH share/openblas) +#maybe we need also to write a wrapper inside share/blas to search implicitly for openblas, whenever we feel it's ready for its own -config.cmake file # openblas do not make the config file , so I manually made this # but I think in most case, libraries will not include these files, they define their own used function prototypes diff --git a/ports/openexr/fix_clang_not_setting_modern_cplusplus.patch b/ports/openexr/fix_clang_not_setting_modern_cplusplus.patch new file mode 100644 index 000000000..05e86b50c --- /dev/null +++ b/ports/openexr/fix_clang_not_setting_modern_cplusplus.patch @@ -0,0 +1,13 @@ +diff --git a/IlmBase/CMakeLists.txt b/IlmBase/CMakeLists.txt +index e13c768..95942c8 100644 +--- a/IlmBase/CMakeLists.txt ++++ b/IlmBase/CMakeLists.txt +@@ -110,7 +110,7 @@ ENDIF () + + IF (OPENEXR_FORCE_CXX03) + FILE ( APPEND ${ILMBASE_TMP_CONFIG} "#define ILMBASE_FORCE_CXX03 1\n" ) +-ELSEIF (NOT WIN32) ++ELSEIF (NOT WIN32 AND NOT APPLE) + # really only care about c++11 right now for the threading bits, but this can be changed to 14 + # when needed... + # Note that the __cplusplus check is not valid under MSVC diff --git a/ports/openexr/portfile.cmake b/ports/openexr/portfile.cmake index 256a133b4..e3bfc9592 100644 --- a/ports/openexr/portfile.cmake +++ b/ports/openexr/portfile.cmake @@ -13,7 +13,9 @@ vcpkg_from_github( REF v${OPENEXR_VERSION} SHA512 ${OPENEXR_HASH} HEAD_REF master - PATCHES "fix_install_ilmimf.patch" + PATCHES + fix_clang_not_setting_modern_cplusplus.patch + fix_install_ilmimf.patch ) vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} @@ -32,7 +34,7 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) # NOTE: Only use ".exe" extension on Windows executables. # Is there a cleaner way to do this? -if(WIN32) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(EXECUTABLE_SUFFIX ".exe") else() set(EXECUTABLE_SUFFIX "") diff --git a/ports/openimageio/portfile.cmake b/ports/openimageio/portfile.cmake index 93b04e627..790273975 100644 --- a/ports/openimageio/portfile.cmake +++ b/ports/openimageio/portfile.cmake @@ -7,10 +7,9 @@ vcpkg_from_github( SHA512 a919341df7d9625a869cad266d8434881b63a47f3da8daccf4bbab6675d45bd121ff780dd911a7447450fee44cd7bdd42d73aec59a99b667d6d98e79682db2c7 HEAD_REF master PATCHES - # fix_libraw: replace 'LibRaw_r_LIBRARIES' occurences by 'LibRaw_LIBRARIES' - # since libraw port installs 'raw_r' library as 'raw' fix_libraw.patch use-webp.patch + remove_wrong_dependency.patch ) file(REMOVE_RECURSE "${SOURCE_PATH}/ext") diff --git a/ports/openimageio/remove_wrong_dependency.patch b/ports/openimageio/remove_wrong_dependency.patch new file mode 100644 index 000000000..dabf47b1e --- /dev/null +++ b/ports/openimageio/remove_wrong_dependency.patch @@ -0,0 +1,23 @@ +diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt +index c528adc..bc133b6 100644 +--- a/src/libOpenImageIO/CMakeLists.txt ++++ b/src/libOpenImageIO/CMakeLists.txt +@@ -162,9 +162,6 @@ if (WIN32) + target_link_libraries (OpenImageIO psapi.lib) + endif () + +-if (VISIBILITY_MAP_FILE) +- add_dependencies (OpenImageIO "${VISIBILITY_MAP_FILE}") +-endif () + + if (USE_EXTERNAL_PUGIXML) + target_link_libraries (OpenImageIO ${PUGIXML_LIBRARIES}) +@@ -230,7 +227,7 @@ if (OIIO_BUILD_TESTS) + set_target_properties (imagespec_test PROPERTIES FOLDER "Unit Tests") + target_link_libraries (imagespec_test OpenImageIO ${Boost_LIBRARIES}) + add_test (unit_imagespec imagespec_test) +- ++ + add_executable (imagespeed_test imagespeed_test.cpp) + set_target_properties (imagespeed_test PROPERTIES FOLDER "Unit Tests") + target_link_libraries (imagespeed_test OpenImageIO ${Boost_LIBRARIES}) diff --git a/ports/openmvg/CONTROL b/ports/openmvg/CONTROL index 5006dc8dd..90c10f3cd 100644 --- a/ports/openmvg/CONTROL +++ b/ports/openmvg/CONTROL @@ -1,7 +1,7 @@ Source: openmvg -Version: 1.4-2 +Version: 1.4-4 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 +Build-Depends: coinutils, clp, osi, liblemon, flann, eigen3, ceres, cereal, libjpeg-turbo, tiff, libpng, zlib, suitesparse Feature: opencv Build-Depends: opencv[contrib] diff --git a/ports/openmvg/fixcmake.patch b/ports/openmvg/fixcmake.patch index 66eff4fd3..2dd5201ec 100644 --- a/ports/openmvg/fixcmake.patch +++ b/ports/openmvg/fixcmake.patch @@ -1,5 +1,5 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 654bebd..5264bfc 100644 +index 654bebd..ab7dd90 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -17,27 +17,16 @@ endif() @@ -110,7 +110,7 @@ index 654bebd..5264bfc 100644 -else() - set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) -endif() -+find_package(eigen3 REQUIRED) ++find_package(Eigen3 REQUIRED) +set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) # ============================================================================== @@ -218,11 +218,11 @@ index 654bebd..5264bfc 100644 - ${PROJECT_BINARY_DIR}/third_party/lemon) - set(LEMON_LIBRARY openMVG_lemon) -endif() -+find_package(Lemon REQUIRED) ++find_package(LEMON REQUIRED) # ============================================================================== # OpenCV -@@ -369,12 +270,7 @@ endif() +@@ -369,14 +270,13 @@ endif() # - only external and enabled only if OpenMVG_USE_OPENCV is set to ON # ============================================================================== if (OpenMVG_USE_OPENCV) @@ -235,8 +235,14 @@ index 654bebd..5264bfc 100644 + find_package( OpenCV REQUIRED ) endif() ++# ============================================================================== ++# Suitesparse ++# ============================================================================== ++find_package(suitesparse REQUIRED) -@@ -469,67 +365,67 @@ message("** Use OpenCV SIFT features: " ${OpenMVG_USE_OCVSIFT}) + # ============================================================================== + # Third-party libraries: +@@ -469,67 +369,67 @@ message("** Use OpenCV SIFT features: " ${OpenMVG_USE_OCVSIFT}) message("\n") diff --git a/ports/openssl-windows/portfile.cmake b/ports/openssl-windows/portfile.cmake index 4331c2eab..b5e505a3d 100644 --- a/ports/openssl-windows/portfile.cmake +++ b/ports/openssl-windows/portfile.cmake @@ -4,28 +4,27 @@ endif() include(vcpkg_common_functions) set(OPENSSL_VERSION 1.0.2q) -set(MASTER_COPY_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-${OPENSSL_VERSION}) -vcpkg_find_acquire_program(PERL) +vcpkg_find_acquire_program(PERL) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}") -vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE +vcpkg_download_distfile(ARCHIVE URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz" FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" SHA512 403e6cad42db3ba860c3fa4fa81c1b7b02f0b873259e5c19a7fc8e42de0854602555f1b1ca74f4e3a7737a4cbd3aac063061e628ec86534586500819fae7fec0 ) -vcpkg_extract_source_archive(${OPENSSL_SOURCE_ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${MASTER_COPY_SOURCE_PATH} - PATCHES - ConfigureIncludeQuotesFix.patch - STRINGIFYPatch.patch - EnableWinARM32.patch - EmbedSymbolsInStaticLibsZ7.patch - EnableWinARM64.patch +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + ConfigureIncludeQuotesFix.patch + STRINGIFYPatch.patch + EnableWinARM32.patch + EmbedSymbolsInStaticLibsZ7.patch + EnableWinARM64.patch ) vcpkg_find_acquire_program(NASM) @@ -75,8 +74,16 @@ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BU if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/openssl-${OPENSSL_VERSION}) + + # Copy openssl sources. + message(STATUS "Copying openssl release source files...") + file(GLOB OPENSSL_SOURCE_FILES ${SOURCE_PATH}/*) + foreach(SOURCE_FILE ${OPENSSL_SOURCE_FILES}) + file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + endforeach() + message(STATUS "Copying openssl release source files... done") + set(SOURCE_PATH_RELEASE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + set(OPENSSLDIR_RELEASE ${CURRENT_PACKAGES_DIR}) message(STATUS "Configure ${TARGET_TRIPLET}-rel") @@ -112,11 +119,18 @@ endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - message(STATUS "Configure ${TARGET_TRIPLET}-dbg") - file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/openssl-${OPENSSL_VERSION}) + # Copy openssl sources. + message(STATUS "Copying openssl debug source files...") + file(GLOB OPENSSL_SOURCE_FILES ${SOURCE_PATH}/*) + foreach(SOURCE_FILE ${OPENSSL_SOURCE_FILES}) + file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + endforeach() + message(STATUS "Copying openssl debug source files... done") + set(SOURCE_PATH_DEBUG "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + set(OPENSSLDIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug) + message(STATUS "Configure ${TARGET_TRIPLET}-dbg") vcpkg_execute_required_process( COMMAND ${CONFIGURE_COMMAND} debug-${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" -FS WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} @@ -175,6 +189,6 @@ file(WRITE "${CURRENT_PACKAGES_DIR}/include/openssl/rand.h" "${_contents}") vcpkg_copy_pdbs() file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL ${MASTER_COPY_SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_test_cmake(PACKAGE_NAME OpenSSL MODULE) diff --git a/ports/osi/CMakeLists.txt b/ports/osi/CMakeLists.txt index 7f4ca5ed1..1aa44d262 100644 --- a/ports/osi/CMakeLists.txt +++ b/ports/osi/CMakeLists.txt @@ -1,108 +1,89 @@ -cmake_minimum_required(VERSION 3.11) - -project(Osi LANGUAGES C CXX) - -set(PROJECT_VERSION 0.107.9) -set(PROJECT_VERSION_MAJOR 0) -set(PROJECT_VERSION_MINOR 107) -set(PROJECT_VERSION_PATCH 9) - -set(CMAKE_CXX_STANDARD 14) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) -set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake") - -if(MSVC) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275" - ) -endif(MSVC) -if(APPLE) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions" - ) - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" - CACHE STRING "Minimum OS X deployment version") -endif(APPLE) - -set_property(GLOBAL PROPERTY USE_FOLDERS ON) - -# options -option(BUILD_SHARED_LIBS "" ON) - -# -# Introduce variables: * CMAKE_INSTALL_LIBDIR * CMAKE_INSTALL_BINDIR -include(GNUInstallDirs) - -# Include module with fuction 'write_basic_package_version_file' -include(CMakePackageConfigHelpers) - -# Layout. This works for all platforms: * /lib*/cmake/ * -# /lib*/ * /include/ -set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") -set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated") -# Configuration -set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake") -set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake") -set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") -set(namespace "Coin::") - -# Packages -find_package(CoinUtils REQUIRED) - -# Add sources -include_directories(Osi/src/Osi) - -file(GLOB OSI_SOURCES Osi/src/Osi/*.hpp Osi/src/Osi/*.cpp) - -add_library(${PROJECT_NAME} ${OSI_SOURCES}) - -target_include_directories(${PROJECT_NAME} - PUBLIC $) -target_compile_definitions(${PROJECT_NAME} - PUBLIC - $ - $) -target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils) - -install(TARGETS ${PROJECT_NAME} - EXPORT "${TARGETS_EXPORT_NAME}" - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin - INCLUDES - DESTINATION include) - -install(DIRECTORY Osi/src/Osi/ - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/coin - FILES_MATCHING - PATTERN "*.h" - PATTERN "*.hpp" - PATTERN "config_default.h" EXCLUDE) - -# -# Install Libraries -# -# Configure 'ConfigVersion.cmake' Use: * PROJECT_VERSION -write_basic_package_version_file("${version_config}" - COMPATIBILITY SameMajorVersion) - -# Configure 'Config.cmake' Use variables: * TARGETS_EXPORT_NAME * -# PROJECT_NAME -configure_package_config_file("Config.cmake.in" - "${project_config}" - INSTALL_DESTINATION - "${config_install_dir}") - -# Config * /lib/cmake/Foo/FooConfig.cmake * -# /lib/cmake/Foo/FooConfigVersion.cmake -install(FILES "${project_config}" "${version_config}" - DESTINATION "${config_install_dir}") - -# Config * /lib/cmake/Foo/FooTargets.cmake -install(EXPORT "${TARGETS_EXPORT_NAME}" - NAMESPACE "${namespace}" - DESTINATION "${config_install_dir}") +cmake_minimum_required(VERSION 3.11) + +project(Osi LANGUAGES C CXX) + +set(PROJECT_VERSION 0.107.9) +set(PROJECT_VERSION_MAJOR 0) +set(PROJECT_VERSION_MINOR 107) +set(PROJECT_VERSION_PATCH 9) + +set(CMAKE_CXX_STANDARD 14) + +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/Coin" CACHE PATH "Path where headers will be installed") +set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed") + +# Make relative paths absolute (needed later on) +set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) +foreach(p LIB BIN INCLUDE CMAKE) + set(var INSTALL_${p}_DIR) + if(NOT IS_ABSOLUTE "${${var}}") + set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") + endif() +endforeach() + +if(MSVC) + set( + CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275" + ) +endif() + +if(APPLE) + set( + CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions" + ) + set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" + CACHE STRING "Minimum OS X deployment version") +endif() + +find_package(CoinUtils REQUIRED) + +file(GLOB OSI_SOURCES Osi/src/Osi/*.hpp Osi/src/Osi/*.cpp) + +add_library(${PROJECT_NAME} ${OSI_SOURCES}) + +target_include_directories(${PROJECT_NAME} PUBLIC $ $) + +if(MSVC) + target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS) +endif() +target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CMATH) + +target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils) + +install(DIRECTORY Osi/src/Osi/ + DESTINATION ${INSTALL_INCLUDE_DIR} + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.hpp" + PATTERN "config_default.h" EXCLUDE) + +install(TARGETS ${PROJECT_NAME} + EXPORT "${PROJECT_NAME}Targets" + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin) + +include(CMakePackageConfigHelpers) + +set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}ConfigVersion.cmake") +set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}Config.cmake") +set(namespace "Coin::") + +write_basic_package_version_file("${version_config}" + COMPATIBILITY SameMajorVersion) + +configure_package_config_file("Config.cmake.in" + "${project_config}" + INSTALL_DESTINATION + "${INSTALL_CMAKE_DIR}") + +install(FILES "${project_config}" "${version_config}" + DESTINATION "${INSTALL_CMAKE_DIR}") + +install(EXPORT "${PROJECT_NAME}Targets" + NAMESPACE "${namespace}" + DESTINATION "${INSTALL_CMAKE_DIR}") diff --git a/ports/osi/CONTROL b/ports/osi/CONTROL index f75de858a..01190fb21 100644 --- a/ports/osi/CONTROL +++ b/ports/osi/CONTROL @@ -1,4 +1,4 @@ -Source: osi -Version: 0.108.4 -Description: Osi (Open Solver Interface) provides an abstract base class to a generic linear programming (LP) solver, along with derived classes for specific solvers. Many applications may be able to use the Osi to insulate themselves from a specific LP solver. -Build-Depends: coinutils +Source: osi +Version: 0.108.4-1 +Description: Osi (Open Solver Interface) provides an abstract base class to a generic linear programming (LP) solver, along with derived classes for specific solvers. Many applications may be able to use the Osi to insulate themselves from a specific LP solver. +Build-Depends: coinutils diff --git a/ports/osi/Config.cmake.in b/ports/osi/Config.cmake.in index ec01d2e5b..2c12f83f0 100644 --- a/ports/osi/Config.cmake.in +++ b/ports/osi/Config.cmake.in @@ -1,5 +1,5 @@ - -@PACKAGE_INIT@ - -include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") -check_required_components("@PROJECT_NAME@") + +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +check_required_components("@PROJECT_NAME@") diff --git a/ports/osi/portfile.cmake b/ports/osi/portfile.cmake index 793e0d94c..dc0dc7857 100644 --- a/ports/osi/portfile.cmake +++ b/ports/osi/portfile.cmake @@ -19,8 +19,13 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") #on case-sensitive filesystems, it's necessary to rename and make it lowercase + vcpkg_fixup_cmake_targets(CONFIG_PATH "share/Osi") +else() + vcpkg_fixup_cmake_targets() +endif() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Osi") # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/osi RENAME copyright) diff --git a/ports/platform-folders/portfile.cmake b/ports/platform-folders/portfile.cmake index c66848096..fef2bf327 100644 --- a/ports/platform-folders/portfile.cmake +++ b/ports/platform-folders/portfile.cmake @@ -26,7 +26,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(INSTALL ${TARGET_BUILD_PATH}-dbg/platform_folders.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/) endif() -if (WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") vcpkg_fixup_cmake_targets(CONFIG_PATH cmake/ TARGET_PATH /share/platform_folders) else() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ TARGET_PATH /share/) diff --git a/ports/portaudio/portfile.cmake b/ports/portaudio/portfile.cmake index 9bb86005d..6fcbdf437 100644 --- a/ports/portaudio/portfile.cmake +++ b/ports/portaudio/portfile.cmake @@ -33,7 +33,7 @@ vcpkg_install_cmake() # Remove static builds from dynamic builds and otherwise # Remove x86 and x64 from resulting files -if (WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file (REMOVE ${CURRENT_PACKAGES_DIR}/lib/portaudio_static_${VCPKG_TARGET_ARCHITECTURE}.lib) file (REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio_static_${VCPKG_TARGET_ARCHITECTURE}.lib) diff --git a/ports/rttr/portfile.cmake b/ports/rttr/portfile.cmake index 2c2c7e863..a85a2b157 100644 --- a/ports/rttr/portfile.cmake +++ b/ports/rttr/portfile.cmake @@ -23,9 +23,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -if(UNIX) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") vcpkg_fixup_cmake_targets(CONFIG_PATH share/rttr/cmake) -elseif(WIN32) +elseif(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) else() message(FATAL_ERROR "RTTR does not support this platform") diff --git a/ports/shogun/CONTROL b/ports/shogun/CONTROL index 5188892da..9854596b5 100644 --- a/ports/shogun/CONTROL +++ b/ports/shogun/CONTROL @@ -1,4 +1,4 @@ -Source: shogun -Version: 6.1.3-1 -Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas (x64), nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent -Description: Unified and efficient Machine Learning +Source: shogun +Version: 6.1.3-2 +Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas (x64&!osx), nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent +Description: Unified and efficient Machine Learning diff --git a/ports/shogun/portfile.cmake b/ports/shogun/portfile.cmake index b207116c8..68d3ddf74 100644 --- a/ports/shogun/portfile.cmake +++ b/ports/shogun/portfile.cmake @@ -8,11 +8,9 @@ vcpkg_from_github( REF shogun_6.1.3 SHA512 11aeed456b13720099ca820ab9742c90ce4af2dc049602a425f8c44d2fa155327c7f1d3af2ec840666f600a91e75902d914ffe784d76ed35810da4f3a5815673 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/cmake.patch + PATCHES + cmake.patch + use_proper_cmake_symbol.patch ) file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/external) @@ -25,6 +23,14 @@ else() set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 1) endif() +if(NOT CMAKE_SYSTEM_PROCESSOR) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_SYSTEM_PROCESSOR "__x86_64__") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(CMAKE_SYSTEM_PROCESSOR "__i386__") + endif() +endif() + vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}") @@ -38,6 +44,7 @@ vcpkg_configure_cmake( -DUSE_SVMLIGHT=OFF -DENABLE_TESTING=OFF -DLICENSE_GPL_SHOGUN=OFF + -DLIBSHOGUN_BUILD_STATIC=ON # Conflicting definitions in OpenBLAS and Eigen -DENABLE_EIGEN_LAPACK=OFF @@ -57,6 +64,7 @@ vcpkg_configure_cmake( -DCMAKE_DISABLE_FIND_PACKAGE_BLAS=${CMAKE_DISABLE_FIND_PACKAGE_BLAS} -DINSTALL_TARGETS=shogun-static + -DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR} ) vcpkg_install_cmake() diff --git a/ports/shogun/use_proper_cmake_symbol.patch b/ports/shogun/use_proper_cmake_symbol.patch new file mode 100644 index 000000000..627c5bd77 --- /dev/null +++ b/ports/shogun/use_proper_cmake_symbol.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6f97c8b..a10b599 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -145,7 +145,7 @@ ENDIF() + DetectSystemName() + + # Get processor type, sets MACHINE macro +-SET(MACHINE ${CMAKE_SYSTEM_PROCESSOR}) ++add_definitions(-DMACHINE=${CMAKE_SYSTEM_PROCESSOR}) + + SET(EXT_LIB_SWIG_RUBY ".so") + if(DARWIN) +@@ -174,7 +174,7 @@ ENDIF() + + IF(CMAKE_COMPILER_IS_GNUCXX) + SET(RELEASE_COMPILER_FLAGS "-fexpensive-optimizations -frerun-cse-after-loop -fcse-follow-jumps -finline-functions -fschedule-insns2 -fthread-jumps -fforce-addr -fstrength-reduce -funroll-loops") +- IF (${MACHINE} MATCHES "x86_64" OR ${MACHINE} MATCHES "i686") ++ IF (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "i686") + SET(RELEASE_COMPILER_FLAGS "${RELEASE_COMPILER_FLAGS} -mfpmath=sse") + ENDIF() + ELSEIF(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") diff --git a/ports/sndfile/portfile.cmake b/ports/sndfile/portfile.cmake index 22f1579e8..f11a8695e 100644 --- a/ports/sndfile/portfile.cmake +++ b/ports/sndfile/portfile.cmake @@ -37,7 +37,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -if(WIN32) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) else() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SndFile) diff --git a/ports/sophus/CONTROL b/ports/sophus/CONTROL index f6433e410..e6cf512f2 100644 --- a/ports/sophus/CONTROL +++ b/ports/sophus/CONTROL @@ -1,4 +1,4 @@ Source: sophus -Version: 1.0.0-1 -Build-Depends: eigen3, ceres +Version: 1.0.0-3 +Build-Depends: eigen3, ceres, suitesparse Description: Lie group library for C++ diff --git a/ports/sophus/fix_cmakelists.patch b/ports/sophus/fix_cmakelists.patch new file mode 100644 index 000000000..33916cf1d --- /dev/null +++ b/ports/sophus/fix_cmakelists.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fa51e2c..3e07396 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,6 +39,7 @@ SET( Sophus_INCLUDE_DIR ${PROJECT_SOURCE_DIR} ) + + ################################################################################ + FIND_PACKAGE( Eigen3 REQUIRED ) ++FIND_PACKAGE( suitesparse REQUIRED ) + LIST( APPEND Sophus_INCLUDE_DIR ${EIGEN3_INCLUDE_DIR} ) + + ################################################################################ diff --git a/ports/sophus/portfile.cmake b/ports/sophus/portfile.cmake index 9a45e62b8..f33260c4d 100644 --- a/ports/sophus/portfile.cmake +++ b/ports/sophus/portfile.cmake @@ -3,9 +3,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO strasdat/Sophus - REF v1.0.0 + REF v1.0.0 SHA512 569634a8be9237d2240cf30c01e2677ece75d55f1196030f1228baca62fa22460e8ceb2a63bd46afdf7f02d8eb79c59d6ed666228b852da78590de897b278fab HEAD_REF master + PATCHES + fix_cmakelists.patch ) vcpkg_configure_cmake( @@ -14,14 +16,10 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Sophus") - vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) -# Put the license file where vcpkg expects it -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/Sophus/) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/Sophus/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/Sophus/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright) diff --git a/ports/suitesparse/CONTROL b/ports/suitesparse/CONTROL index 43621f9fe..5182a90cd 100644 --- a/ports/suitesparse/CONTROL +++ b/ports/suitesparse/CONTROL @@ -1,5 +1,5 @@ Source: suitesparse -Version: 5.1.2-2 +Version: 5.4.0-1 Build-Depends: clapack (!osx) Description: algebra library diff --git a/ports/suitesparse/fix-install-suitesparse.patch b/ports/suitesparse/fix-install-suitesparse.patch deleted file mode 100644 index a5b5400fa..000000000 --- a/ports/suitesparse/fix-install-suitesparse.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8227298..c0eb354 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -222,7 +222,7 @@ ELSE() - ENDIF() - ENDIF() - --IF(BUILD_METIS) -+IF(BUILD_METIS OR USE_VCPKG_METIS) - set(SuiteSparse_LINKER_METIS_LIBS "metis") - else() - set(SuiteSparse_LINKER_METIS_LIBS "") -diff --git a/SuiteSparse/CMakeLists.txt b/SuiteSparse/CMakeLists.txt -index 7361363..8a48cf3 100644 ---- a/SuiteSparse/CMakeLists.txt -+++ b/SuiteSparse/CMakeLists.txt -@@ -10,7 +10,11 @@ ENDIF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_BUILD_TYPE MATCHES "Debug") - IF (BUILD_METIS) - INCLUDE_DIRECTORIES("${METIS_SOURCE_DIR}/include") - ELSE (BUILD_METIS) -+ IF(USE_VCPKG_METIS) -+ INCLUDE_DIRECTORIES("${METIS_SOURCE_DIR}/include") -+ ELSE (USE_VCPKG_METIS) - ADD_DEFINITIONS(-DNPARTITION) -+ ENDIF(USE_VCPKG_METIS) - ENDIF ( BUILD_METIS) - - # Disable COMPLEX numbers: disable it by default, since it causes problems in some platforms. diff --git a/ports/suitesparse/portfile.cmake b/ports/suitesparse/portfile.cmake index 45ad7a6e5..a527f8825 100644 --- a/ports/suitesparse/portfile.cmake +++ b/ports/suitesparse/portfile.cmake @@ -2,83 +2,68 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SUITESPARSE_VER SuiteSparse-5.1.2) #if you change the version, becarefull of changing the SHA512 checksum accordingly +set(SUITESPARSE_VER 5.4.0) set(SUITESPARSEWIN_VER 1.4.0) -set(SUITESPARSEWIN_PATH ${CURRENT_BUILDTREES_DIR}/src/suitesparse-metis-for-windows-${SUITESPARSEWIN_VER}) -set(SUITESPARSE_PATH ${SUITESPARSEWIN_PATH}/SuiteSparse) -#download suitesparse libary vcpkg_download_distfile(SUITESPARSE - URLS "http://faculty.cse.tamu.edu/davis/SuiteSparse/${SUITESPARSE_VER}.tar.gz" - FILENAME "${SUITESPARSE_VER}.tar.gz" - SHA512 38c7f9847cf161390f73de39ed3d9fd07f7bcec2d6d4e6f141af6a015826215843db9f2e16ca255eeb233c593ffc19ffa04816aa5b6ba200b55b9472ac33ba85 + URLS "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${SUITESPARSE_VER}.tar.gz" + FILENAME "SuiteSparse-${SUITESPARSE_VER}.tar.gz" + SHA512 8328bcc2ef5eb03febf91b9c71159f091ff405c1ba7522e53714120fcf857ceab2d2ecf8bf9a2e1fc45e1a934665a341e3a47f954f87b59934f4fce6164775d6 ) -#download suitesparse-metis-for-windows scripts, suitesparse does not have CMake build system, jlblancoc has made one for it -vcpkg_download_distfile(SUITESPARSEWIN - URLS "https://github.com/jlblancoc/suitesparse-metis-for-windows/archive/v${SUITESPARSEWIN_VER}.zip" - FILENAME "suitesparse-metis-for-windows-${SUITESPARSEWIN_VER}.zip" - SHA512 2859d534200ab9b76fca1530eae5de2f9328aa867c727dbc83a96c6f16e1f87e70123fb2decbb84531d75dac58b6f0ce7323e48c57aeede324fd9a1f77ba74c6 +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${SUITESPARSE} ) -#extract suitesparse-metis-for-windows first and merge with suitesparse library -vcpkg_extract_source_archive(${SUITESPARSEWIN}) -vcpkg_extract_source_archive(${SUITESPARSE} ${SUITESPARSEWIN_PATH}) - -vcpkg_apply_patches( - SOURCE_PATH ${SUITESPARSEWIN_PATH} +vcpkg_from_github( + OUT_SOURCE_PATH SUITESPARSEWIN_SOURCE_PATH + REPO jlblancoc/suitesparse-metis-for-windows + REF v${SUITESPARSEWIN_VER} + SHA512 35a2563d6e33ebe8157f8d023167abd8d2512e2a627b8dbea798c59afefc56b8f01c7d10553529b03a7b4759e200ca82bb26ebce5cefce6983ffb057a8622162 + HEAD_REF master PATCHES - remove-debug-postfix.patch + suitesparse.patch ) +# Copy suitesparse sources. +message(STATUS "Copying SuiteSparse source files...") +# Should probably remove everything but CMakeLists.txt files? +file(GLOB SUITESPARSE_SOURCE_FILES ${SOURCE_PATH}/*) +foreach(SOURCE_FILE ${SUITESPARSE_SOURCE_FILES}) + file(COPY ${SOURCE_FILE} DESTINATION "${SUITESPARSEWIN_SOURCE_PATH}/SuiteSparse") +endforeach() +message(STATUS "Copying SuiteSparse source files... done") + set(USE_VCPKG_METIS OFF) if("metis" IN_LIST FEATURES) set(USE_VCPKG_METIS ON) + set(ADDITIONAL_BUILD_OPTIONS "-DMETIS_SOURCE_DIR=${CURRENT_INSTALLED_DIR}") endif() -if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(LIB_EXT a) - set(LIB_PREFIX lib) -else() - set(LIB_EXT lib) - set(LIB_PREFIX) -endif() - -if(WIN32) - set(ENABLE_CUSTOM_BLAS_LAPACK_PATHS "-DSUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS=ON") - set(SUITESPARSE_CUSTOM_BLAS_PATH "-DSUITESPARSE_CUSTOM_BLAS_LIB=${CURRENT_INSTALLED_DIR}/lib/openblas.lib") - set(SUITESPARSE_CUSTOM_LAPACK_PATH "-DSUITESPARSE_CUSTOM_LAPACK_LIB=${CURRENT_INSTALLED_DIR}/lib/lapack.lib") -endif() - -message(STATUS "Use CMakeLists.txt in ${SUITESPARSEWIN_PATH}") vcpkg_configure_cmake( - SOURCE_PATH ${SUITESPARSEWIN_PATH} + SOURCE_PATH ${SUITESPARSEWIN_SOURCE_PATH} PREFER_NINJA OPTIONS -DBUILD_METIS=OFF -DUSE_VCPKG_METIS=${USE_VCPKG_METIS} - -DMETIS_SOURCE_DIR=${CURRENT_INSTALLED_DIR} - -DSUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS=ON + ${ADDITIONAL_BUILD_OPTIONS} OPTIONS_DEBUG - -DSUITESPARSE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug - -DSUITESPARSE_CUSTOM_BLAS_LIB=${CURRENT_INSTALLED_DIR}/debug/lib/${LIB_PREFIX}openblas_d.${LIB_EXT} - -DSUITESPARSE_CUSTOM_LAPACK_LIB=${CURRENT_INSTALLED_DIR}/debug/lib/${LIB_PREFIX}lapack.${LIB_EXT} + -DSUITESPARSE_INSTALL_PREFIX="${CURRENT_PACKAGES_DIR}/debug" OPTIONS_RELEASE - -DSUITESPARSE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR} - -DSUITESPARSE_CUSTOM_BLAS_LIB=${CURRENT_INSTALLED_DIR}/lib/${LIB_PREFIX}openblas.${LIB_EXT} - -DSUITESPARSE_CUSTOM_LAPACK_LIB=${CURRENT_INSTALLED_DIR}/lib/${LIB_PREFIX}lapack.${LIB_EXT} + -DSUITESPARSE_INSTALL_PREFIX="${CURRENT_PACKAGES_DIR}" ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/suitesparse-${SUITESPARSE_VER}" TARGET_PATH "share/suitesparse") #clean folders file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright of suitesparse and suitesparse-metis-for-windows -file(COPY ${SUITESPARSE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse) +file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse) file(RENAME ${CURRENT_PACKAGES_DIR}/share/suitesparse/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/suitesparse/copyright) -file(COPY ${SUITESPARSEWIN_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse) +file(COPY ${SUITESPARSEWIN_SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse) file(RENAME ${CURRENT_PACKAGES_DIR}/share/suitesparse/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/suitesparse/copyright_suitesparse-metis-for-windows) diff --git a/ports/suitesparse/remove-debug-postfix.patch b/ports/suitesparse/remove-debug-postfix.patch deleted file mode 100644 index 1b41139da..000000000 --- a/ports/suitesparse/remove-debug-postfix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- CMakeLists.txt Mon Feb 22 22:18:25 2016 -+++ CMakeLists.txt Wed Jul 05 14:14:21 2017 -@@ -35,7 +35,7 @@ - - # We want libraries to be named "libXXX" and "libXXXd" in all compilers: - # ------------------------------------------------------------------------ --set(CMAKE_DEBUG_POSTFIX "d") -+#set(CMAKE_DEBUG_POSTFIX "d") - IF(MSVC) - set(SP_LIB_PREFIX "lib") # Libs are: "libXXX" - ENDIF(MSVC) diff --git a/ports/suitesparse/suitesparse.patch b/ports/suitesparse/suitesparse.patch new file mode 100644 index 000000000..394355606 --- /dev/null +++ b/ports/suitesparse/suitesparse.patch @@ -0,0 +1,73 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3486f05..98badb6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -252,7 +252,7 @@ if(SuiteSparse_LAPACK_BLAS_LIB_DIR) # "Export" the imported targets in config.cm + set_property(TARGET lapack PROPERTY IMPORTED_IMPLIB \${_SuiteSparse_PREFIX}/${SuiteSparse_LAPACK_BLAS_LIB_DIR}/liblapack.lib)") + endif() + +-IF(BUILD_METIS) ++IF(BUILD_METIS OR USE_VCPKG_METIS) + set(SuiteSparse_LINKER_METIS_LIBS "metis") + ## namespaced library target for config + set(SuiteSparse_EXPORTED_METIS_LIBS "SuiteSparse::metis") +@@ -311,7 +311,7 @@ configure_file(cmake/SuiteSparse-config-install.cmake.in + ## do the EXPORT for allowing other project to easily use suitesparse with cmake + install(EXPORT SuiteSparseTargets + FILE +- SuiteSparse-targets.cmake ++ suitesparse-targets.cmake + NAMESPACE + SuiteSparse:: + DESTINATION +diff --git a/SuiteSparse/CMakeLists.txt b/SuiteSparse/CMakeLists.txt +index c6e2834..5ef08a6 100644 +--- a/SuiteSparse/CMakeLists.txt ++++ b/SuiteSparse/CMakeLists.txt +@@ -12,11 +12,11 @@ IF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_BUILD_TYPE MATCHES "Debug") + ENDIF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_BUILD_TYPE MATCHES "Debug") + + # Global flags: +-IF (BUILD_METIS) ++IF (BUILD_METIS OR USE_VCPKG_METIS) + INCLUDE_DIRECTORIES("${METIS_SOURCE_DIR}/include") +-ELSE (BUILD_METIS) ++ELSE () + ADD_DEFINITIONS(-DNPARTITION) +-ENDIF ( BUILD_METIS) ++ENDIF () + + # Disable COMPLEX numbers: disable it by default, since it causes problems in some platforms. + SET(HAVE_COMPLEX OFF CACHE BOOL "Enables building SuiteSparse with complex numbers (disabled by default to avoid problems in some platforms)") +diff --git a/cmake/SuiteSparse-config-install.cmake.in b/cmake/SuiteSparse-config-install.cmake.in +index cb1f51f..49387b8 100644 +--- a/cmake/SuiteSparse-config-install.cmake.in ++++ b/cmake/SuiteSparse-config-install.cmake.in +@@ -4,13 +4,10 @@ get_filename_component(_SuiteSparse_PREFIX "${_SuiteSparse_SELF_DIR}" PATH) + get_filename_component(_SuiteSparse_PREFIX "${_SuiteSparse_PREFIX}" PATH) + get_filename_component(_SuiteSparse_PREFIX "${_SuiteSparse_PREFIX}" PATH) + +-find_package(LAPACK CONFIG) +-if (NOT LAPACK_FOUND) # Load the LAPACK package with which we were built. +- @ExternConfig@ +-endif () ++find_package(LAPACK REQUIRED) + + # Load targets from the install tree. +-include(${_SuiteSparse_SELF_DIR}/SuiteSparse-targets.cmake) ++include(${_SuiteSparse_SELF_DIR}/suitesparse-targets.cmake) + + # Report SuiteSparse header search locations. + set(SuiteSparse_INCLUDE_DIRS ${_SuiteSparse_PREFIX}/include) +@@ -31,6 +28,11 @@ set(SuiteSparse_LIBRARIES + SuiteSparse::spqr + @SuiteSparse_EXPORTED_METIS_LIBS@ + ) ++set(SUITESPARSE_LIBRARIES ${SuiteSparse_LIBRARIES}) + + unset(_SuiteSparse_PREFIX) + unset(_SuiteSparse_SELF_DIR) ++ ++set(SUITESPARSE_FOUND TRUE) ++set(SuiteSparse_FOUND TRUE) ++ diff --git a/ports/tgui/portfile.cmake b/ports/tgui/portfile.cmake index e87bfaaa9..dd326c9ae 100644 --- a/ports/tgui/portfile.cmake +++ b/ports/tgui/portfile.cmake @@ -36,15 +36,15 @@ vcpkg_copy_pdbs() if(BUILD_GUI_BUILDER) set(EXECUTABLE_SUFFIX "") - if (WIN32) + if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(EXECUTABLE_SUFFIX ".exe") endif() message(STATUS "Check for: ${TGUI_SHARE_PATH}/gui-builder/gui-builder${EXECUTABLE_SUFFIX}") if(EXISTS "${TGUI_SHARE_PATH}/gui-builder/gui-builder${EXECUTABLE_SUFFIX}") file(MAKE_DIRECTORY "${TGUI_TOOLS_PATH}") - file(RENAME - "${TGUI_SHARE_PATH}/gui-builder/gui-builder${EXECUTABLE_SUFFIX}" + file(RENAME + "${TGUI_SHARE_PATH}/gui-builder/gui-builder${EXECUTABLE_SUFFIX}" "${TGUI_TOOLS_PATH}/gui-builder${EXECUTABLE_SUFFIX}") # Need to copy `resources` and `themes` directories file(COPY "${TGUI_SHARE_PATH}/gui-builder/resources" DESTINATION "${TGUI_TOOLS_PATH}") diff --git a/ports/theia/CONTROL b/ports/theia/CONTROL index 070ed0a81..d29e6b3fe 100644 --- a/ports/theia/CONTROL +++ b/ports/theia/CONTROL @@ -1,4 +1,4 @@ -Source: theia -Version: 0.8 -Build-Depends: flann, cereal, ceres[suitesparse] (!x86&!uwp&!arm&!linux&!osx), openimageio, glew, freeglut -Description: An open source library for multiview geometry and structure from motion +Source: theia +Version: 0.8-2 +Build-Depends: flann, cereal, ceres[suitesparse], openimageio, glew, freeglut (!osx) +Description: An open source library for multiview geometry and structure from motion diff --git a/ports/theia/fix-cmakelists.patch b/ports/theia/fix-cmakelists.patch deleted file mode 100644 index 674543c68..000000000 --- a/ports/theia/fix-cmakelists.patch +++ /dev/null @@ -1,310 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9c1b150..367fbbc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -218,24 +218,71 @@ include_directories( - # as system headers. - include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS}) - -+ -+set(THEIA_USE_EXTERNAL_CEREAL OFF CACHE BOOL "Use a system Cereal library") -+set(THEIA_USE_EXTERNAL_FLANN OFF CACHE BOOL "Use a system Flann library") -+ - # build Third party libraries included in distro. --add_subdirectory(libraries) --include_directories( -- libraries -- libraries/spectra -- ${akaze_SOURCE_DIR} -- ${akaze_INCLUDE_DIR} -- ${cereal_SOURCE_DIR} -- ${cereal_SOURCE_DIR}/include -- ${flann_SOURCE_DIR} -- ${flann_SOURCE_DIR}/src/cpp -- ${gtest_SOURCE_DIR}/include -- ${gtest_SOURCE_DIR} -- ${optimo_SOURCE_DIR} -- ${statx_SOURCE_DIR} -- ${stlplus3_SOURCE_DIR} -- ${vlfeat_SOURCE_DIR} -- ${visual_sfm_SOURCE_DIR}) -+if (BUILD_TESTING) -+ add_subdirectory(libraries/gtest) -+endif (BUILD_TESTING) -+ -+# AKAZE feature extractor. -+add_subdirectory(libraries/akaze) -+ -+include_directories(${akaze_SOURCE_DIR} ${akaze_INCLUDE_DIR}) -+ -+# Cereal for portable IO. -+if(NOT THEIA_USE_EXTERNAL_CEREAL) -+ add_subdirectory(libraries/cereal) -+ -+ include_directories(${cereal_SOURCE_DIR} ${cereal_SOURCE_DIR}/include) -+ set(THEIA_INTERNAL_CEREAL_LIB ${THEIA_INTERNAL_LIB_PREFIX}/cereal ${THEIA_INTERNAL_LIB_PREFIX}/cereal/include) -+else() -+ find_package(cereal REQUIRED) -+ -+ set(_THEIA_CEREAL_LIBRARIES cereal) -+endif() -+ -+# Flann for fast approximate nearest neighbor searches. -+if(NOT THEIA_USE_EXTERNAL_FLANN) -+ add_subdirectory(libraries/flann) -+ -+ include_directories(${flann_SOURCE_DIR} ${flann_SOURCE_DIR}/src/cpp) -+ set(_THEIA_FLANN_LIBRARIES flann_cpp) -+ set(THEIA_INTERNAL_FLANN_LIB ${THEIA_INTERNAL_LIB_PREFIX}/flann) -+else() -+ find_package(Flann REQUIRED) -+ -+ include_directories(${FLANN_INCLUDE_DIR}) -+ set(_THEIA_FLANN_LIBRARIES ${FLANN_LIBRARY}) -+endif() -+ -+# Add Optimo. -+add_subdirectory(libraries/optimo) -+include_directories(${optimo_SOURCE_DIR}) -+ -+# Add Spectra. -+include_directories(libraries/spectra) -+ -+# Add Statx. -+add_subdirectory(libraries/statx) -+include_directories(${statx_SOURCE_DIR}) -+ -+# STLPlus for filepath tools. -+add_subdirectory(libraries/stlplus3) -+include_directories(${stlplus3_SOURCE_DIR}) -+ -+# Add VLFeat. -+add_subdirectory(libraries/vlfeat) -+include_directories(${vlfeat_SOURCE_DIR}) -+ -+# Add VisualSfM files. -+add_subdirectory(libraries/visual_sfm) -+include_directories(${visual_sfm_SOURCE_DIR}) -+ -+include_directories(libraries) -+ - - list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") - include(OptimizeTheiaCompilerFlags) -@@ -260,7 +307,19 @@ install(FILES ${THEIA_HDRS} DESTINATION include/theia) - file(GLOB_RECURSE THEIA_INTERNAL_HDRS ${CMAKE_SOURCE_DIR}/src/theia/*.h) - install(DIRECTORY src/theia/ DESTINATION include/theia FILES_MATCHING PATTERN "*.h") - --install(DIRECTORY libraries/ DESTINATION include/theia/libraries FILES_MATCHING PATTERN "*.h*") -+install(DIRECTORY libraries/akaze/ DESTINATION include/theia/libraries/akaze FILES_MATCHING PATTERN "*.h*") -+if(NOT THEIA_USE_EXTERNAL_CEREAL) -+ install(DIRECTORY libraries/cereal/ DESTINATION include/theia/libraries/cereal FILES_MATCHING PATTERN "*.h*") -+endif() -+if(NOT THEIA_USE_EXTERNAL_FLANN) -+ install(DIRECTORY libraries/flann/ DESTINATION include/theia/libraries/flann FILES_MATCHING PATTERN "*.h*") -+endif() -+install(DIRECTORY libraries/optimo/ DESTINATION include/theia/libraries/optimo FILES_MATCHING PATTERN "*.h*") -+install(DIRECTORY libraries/spectra/ DESTINATION include/theia/libraries/spectra FILES_MATCHING PATTERN "*.h*") -+install(DIRECTORY libraries/statx/ DESTINATION include/theia/libraries/statx FILES_MATCHING PATTERN "*.h*") -+install(DIRECTORY libraries/stlplus3/ DESTINATION include/theia/libraries/stlplus3 FILES_MATCHING PATTERN "*.h*") -+install(DIRECTORY libraries/visual_sfm/ DESTINATION include/theia/libraries/visual_sfm FILES_MATCHING PATTERN "*.h*") -+install(DIRECTORY libraries/vlfeat/ DESTINATION include/theia/libraries/vlfeat FILES_MATCHING PATTERN "*.h*") - - # Add an uninstall target to remove all installed files. - configure_file("${CMAKE_SOURCE_DIR}/cmake/uninstall.cmake.in" -@@ -320,8 +379,9 @@ configure_file("${CMAKE_SOURCE_DIR}/cmake/TheiaConfigVersion.cmake.in" - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/TheiaConfig.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/TheiaConfigVersion.cmake" - "${CMAKE_SOURCE_DIR}/cmake/FindEigen.cmake" -- "${CMAKE_SOURCE_DIR}/cmake/FindGlog.cmake" -+ "${CMAKE_SOURCE_DIR}/cmake/FindFlann.cmake" - "${CMAKE_SOURCE_DIR}/cmake/FindGflags.cmake" -- "${CMAKE_SOURCE_DIR}/cmake/FindOpenImageIO.cmake" -+ "${CMAKE_SOURCE_DIR}/cmake/FindGlog.cmake" -+ "${CMAKE_SOURCE_DIR}/cmake/FindOpenImageIO.cmake" - "${CMAKE_SOURCE_DIR}/cmake/FindSuiteSparse.cmake" - DESTINATION ${CMAKECONFIG_INSTALL_DIR}) -diff --git a/cmake/FindFlann.cmake b/cmake/FindFlann.cmake -new file mode 100644 -index 0000000..5d19ef7 ---- /dev/null -+++ b/cmake/FindFlann.cmake -@@ -0,0 +1,63 @@ -+############################################################################### -+# Find FLANN -+# -+# This sets the following variables: -+# FLANN_FOUND - True if FLANN was found. -+# FLANN_INCLUDE_DIRS - Directories containing the FLANN include files. -+# FLANN_LIBRARIES - Libraries needed to use FLANN. -+# FLANN_DEFINITIONS - Compiler flags for FLANN. -+# If FLANN_USE_STATIC is specified and then look for static libraries ONLY else -+# look for shared ones -+ -+if(FLANN_USE_STATIC) -+ set(FLANN_RELEASE_NAME flann_cpp_s flann_cpp) -+ set(FLANN_DEBUG_NAME flann_cpp_s-gd flann_cpp-gd) -+else(FLANN_USE_STATIC) -+ set(FLANN_RELEASE_NAME flann_cpp) -+ set(FLANN_DEBUG_NAME flann_cpp-gd) -+endif(FLANN_USE_STATIC) -+ -+find_package(PkgConfig QUIET) -+if (FLANN_FIND_VERSION) -+ pkg_check_modules(PC_FLANN flann>=${FLANN_FIND_VERSION}) -+else(FLANN_FIND_VERSION) -+ pkg_check_modules(PC_FLANN flann) -+endif(FLANN_FIND_VERSION) -+ -+set(FLANN_DEFINITIONS ${PC_FLANN_CFLAGS_OTHER}) -+ -+find_path(FLANN_INCLUDE_DIR flann/flann.hpp -+ HINTS ${PC_FLANN_INCLUDEDIR} ${PC_FLANN_INCLUDE_DIRS} "${FLANN_ROOT}" "$ENV{FLANN_ROOT}" -+ PATHS "$ENV{PROGRAMFILES}/Flann" "$ENV{PROGRAMW6432}/Flann" -+ PATH_SUFFIXES include) -+ -+find_library(FLANN_LIBRARY -+ NAMES ${FLANN_RELEASE_NAME} -+ HINTS ${PC_FLANN_LIBDIR} ${PC_FLANN_LIBRARY_DIRS} "${FLANN_ROOT}" "$ENV{FLANN_ROOT}" -+ PATHS "$ENV{PROGRAMFILES}/Flann" "$ENV{PROGRAMW6432}/Flann" -+ PATH_SUFFIXES lib) -+ -+find_library(FLANN_LIBRARY_DEBUG -+ NAMES ${FLANN_DEBUG_NAME} ${FLANN_RELEASE_NAME} -+ HINTS ${PC_FLANN_LIBDIR} ${PC_FLANN_LIBRARY_DIRS} "${FLANN_ROOT}" "$ENV{FLANN_ROOT}" -+ PATHS "$ENV{PROGRAMFILES}/Flann" "$ENV{PROGRAMW6432}/Flann" -+ PATH_SUFFIXES lib) -+ -+if(NOT FLANN_LIBRARY_DEBUG) -+ set(FLANN_LIBRARY_DEBUG ${FLANN_LIBRARY}) -+endif(NOT FLANN_LIBRARY_DEBUG) -+ -+set(FLANN_INCLUDE_DIRS ${FLANN_INCLUDE_DIR}) -+set(FLANN_LIBRARIES optimized ${FLANN_LIBRARY} debug ${FLANN_LIBRARY_DEBUG}) -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(FLANN DEFAULT_MSG FLANN_LIBRARY FLANN_INCLUDE_DIR) -+ -+mark_as_advanced(FLANN_LIBRARY FLANN_LIBRARY_DEBUG FLANN_INCLUDE_DIR) -+ -+if(FLANN_FOUND) -+ message(STATUS "Flann found (include: ${FLANN_INCLUDE_DIRS}, lib: ${FLANN_LIBRARIES})") -+ if(FLANN_USE_STATIC) -+ add_definitions(-DFLANN_STATIC) -+ endif(FLANN_USE_STATIC) -+endif(FLANN_FOUND) -diff --git a/cmake/TheiaConfig.cmake.in b/cmake/TheiaConfig.cmake.in -index a3ea187..9195da1 100644 ---- a/cmake/TheiaConfig.cmake.in -+++ b/cmake/TheiaConfig.cmake.in -@@ -207,22 +207,47 @@ endif (NOT TARGET theia AND NOT Theia_BINARY_DIR) - # Set the expected XX_LIBRARIES variable for FindPackage(). - set(THEIA_LIBRARIES theia) - -+set(THEIA_USE_EXTERNAL_CEREAL @THEIA_USE_EXTERNAL_CEREAL@) -+set(THEIA_USE_EXTERNAL_FLANN @THEIA_USE_EXTERNAL_FLANN@) -+ -+# Cereal. -+if (THEIA_USE_EXTERNAL_CEREAL) -+ find_package(cereal QUIET) -+ if (TARGET cereal) -+ message(STATUS "Found required Theia dependency: Cereal") -+ else (TARGET cereal) -+ theia_report_not_found("Missing required Theia dependency: Cereal.") -+ endif (TARGET cereal) -+ list(APPEND THEIA_LIBRARIES cereal) -+endif (THEIA_USE_EXTERNAL_CEREAL) -+ -+# Flann. -+if (THEIA_USE_EXTERNAL_FLANN) -+ find_package(Flann QUIET) -+ if (FLANN_FOUND) -+ message(STATUS "Found required Theia dependency: Flann") -+ else (FLANN_FOUND) -+ theia_report_not_found("Missing required Theia dependency: Flann.") -+ endif (FLANN_FOUND) -+ list(APPEND THEIA_INCLUDE_DIRS ${FLANN_INCLUDE_DIR}) -+ list(APPEND THEIA_LIBRARIES ${FLANN_LIBRARY}) -+endif (THEIA_USE_EXTERNAL_FLANN) -+ - # Add the libraries included with the distribution. - set(THEIA_INTERNAL_LIB_PREFIX ${THEIA_INCLUDE_DIR}/theia/libraries) - set(THEIA_INTERNAL_LIBS_INCLUDES - ${THEIA_INTERNAL_LIB_PREFIX} - ${THEIA_INTERNAL_LIB_PREFIX}/akaze -- ${THEIA_INTERNAL_LIB_PREFIX}/cereal -- ${THEIA_INTERNAL_LIB_PREFIX}/cereal/include -- ${THEIA_INTERNAL_LIB_PREFIX}/flann -+ @THEIA_INTERNAL_CEREAL_LIB@ -+ @THEIA_INTERNAL_FLANN_LIB@ - ${THEIA_INTERNAL_LIB_PREFIX}/gtest - ${THEIA_INTERNAL_LIB_PREFIX}/gtest/include - ${THEIA_INTERNAL_LIB_PREFIX}/optimo - ${THEIA_INTERNAL_LIB_PREFIX}/spectra - ${THEIA_INTERNAL_LIB_PREFIX}/statx - ${THEIA_INTERNAL_LIB_PREFIX}/stlplus3 -- ${THEIA_INTERNAL_LIB_PREFIX}/vlfeat -- ${THEIA_INTERNAL_LIB_PREFIX}/visual_sfm) -+ ${THEIA_INTERNAL_LIB_PREFIX}/visual_sfm -+ ${THEIA_INTERNAL_LIB_PREFIX}/vlfeat) - - list(APPEND THEIA_INCLUDE_DIRS ${THEIA_INTERNAL_LIBS_INCLUDES}) - -diff --git a/libraries/CMakeLists.txt b/libraries/CMakeLists.txt -deleted file mode 100644 -index 84f3829..0000000 ---- a/libraries/CMakeLists.txt -+++ /dev/null -@@ -1,27 +0,0 @@ --if (${BUILD_TESTING}) -- add_subdirectory(gtest) --endif (${BUILD_TESTING}) -- --# AKAZE feature extractor. --add_subdirectory(akaze) -- --# Cereal for portable IO. --add_subdirectory(cereal) -- --# Flann for fast approximate nearest neighbor searches. --add_subdirectory(flann) -- --# Add Optimo. --add_subdirectory(optimo) -- --# Add Statx. --add_subdirectory(statx) -- --# STLPlus for filepath tools. --add_subdirectory(stlplus3) -- --# Add VLFeat. --add_subdirectory(vlfeat) -- --# Add VisualSfM files. --add_subdirectory(visual_sfm) -\ No newline at end of file -diff --git a/src/theia/CMakeLists.txt b/src/theia/CMakeLists.txt -index 65787eb..07c54a4 100644 ---- a/src/theia/CMakeLists.txt -+++ b/src/theia/CMakeLists.txt -@@ -174,14 +174,15 @@ set(THEIA_LIBRARY_DEPENDENCIES - ${CERES_LIBRARIES} - ${GFLAGS_LIBRARIES} - ${GLOG_LIBRARIES} -- ${SUITESPARSE_LIBRARIES} - ${OPENIMAGEIO_LIBRARIES} -+ ${SUITESPARSE_LIBRARIES} -+ ${_THEIA_CEREAL_LIBRARIES} -+ ${_THEIA_FLANN_LIBRARIES} - akaze -- flann_cpp - statx - stlplus3 -- vlfeat -- visual_sfm) -+ visual_sfm -+ vlfeat) - - set(THEIA_LIBRARY_SOURCE - ${THEIA_SRC} diff --git a/ports/theia/fix-external-dependencies.patch b/ports/theia/fix-external-dependencies.patch new file mode 100644 index 000000000..7a4b00961 --- /dev/null +++ b/ports/theia/fix-external-dependencies.patch @@ -0,0 +1,405 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9c1b150..5810156 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -129,70 +129,27 @@ endif () + + # GFlags. The namespace patch is borrow from Ceres Solver (see license in + # FindGflags.cmake) ++message("-- Check for Google Flags") + find_package(Gflags REQUIRED) +-if (GFLAGS_FOUND) +- message("-- Found Google Flags: ${GFLAGS_INCLUDE_DIRS} in namespace: ${GFLAGS_NAMESPACE}") +- add_definitions(-DTHEIA_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE}) +-else (GFLAGS_FOUND) +- message(FATAL_ERROR "Can't find Google FLAGS.") +-endif (GFLAGS_FOUND) + + # Google Logging + message("-- Check for Google Log") + find_package(Glog REQUIRED) +-if (GLOG_FOUND) +- message("-- Found Google Logging: ${GLOG_INCLUDE_DIRS}") +-else (GLOG_FOUND) +- message(FATAL_ERROR "Can't find Google Logging. Please set GLOG_INCLUDE_DIR & " +- "GLOG_LIBRARY") +-endif (GLOG_FOUND) ++ ++# Flann ++message("-- Check for Flann") ++find_package(Flann REQUIRED) + + # Ceres + message("-- Check for Ceres") + find_package(Ceres REQUIRED SuiteSparse) +-if (CERES_FOUND) +- message("-- Found Ceres: ${CERES_INCLUDE_DIRS}") +-else (CERES_FOUND) +- message(FATAL_ERROR "Can't find Ceres. Please set CERES_INCLUDE_DIR & " +- "CERES_LIBRARY") +-endif (CERES_FOUND) + + # OpenImageIO + message("-- Check for OpenImageIO") + find_package(OpenImageIO REQUIRED) +-if (OPENIMAGEIO_FOUND) +- message("-- Found OpenImageIO: ${OPENIMAGEIO_INCLUDE_DIRS}") +-else (OPENIMAGEIO_FOUND) +- message(FATAL_ERROR "Can't find OpenImageIO. Please set OPENIMAGEIO_INCLUDE_DIR & " +- "OPENIMAGEIO_LIBRARY") +-endif (OPENIMAGEIO_FOUND) + + # Suitesparse + find_package(SuiteSparse REQUIRED) +-if (SUITESPARSE_FOUND) +- # On Ubuntu the system install of SuiteSparse (v3.4.0) up to at least +- # Ubuntu 13.10 cannot be used to link shared libraries. +- if (BUILD_SHARED_LIBS AND +- SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION) +- message(FATAL_ERROR "You are attempting to build Theia as a shared " +- "library on Ubuntu using a system package install of SuiteSparse " +- "3.4.0. This package is broken and does not support the " +- "construction of shared libraries (you can still build Theia as " +- "a static library). If you wish to build a shared version of Theia " +- "you should uninstall the system install of SuiteSparse " +- "(libsuitesparse-dev) and perform a source install of SuiteSparse " +- "(we recommend that you use the latest version), " +- "see http://theia-solver.org/building.html for more information.") +- endif (BUILD_SHARED_LIBS AND +- SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION) +- message("-- Found SuiteSparse ${SUITESPARSE_VERSION}") +- add_definitions(-DTHEIA_SUITESPARSE_VERSION="${SUITESPARSE_VERSION}") +-else (SUITESPARSE_FOUND) +- # Disable use of SuiteSparse if it cannot be found and continue. +- message(FATAL ERROR "Can't find SuiteSparse. This library is required " +- "for bundle adjustment and for solving convex optimization problems. " +- "Please set SUITESPARSE_INCLUDE_DIR & SUITESPARSE_LIBRARY") +-endif (SUITESPARSE_FOUND) + + include_directories( + include +@@ -225,24 +182,19 @@ include_directories( + libraries/spectra + ${akaze_SOURCE_DIR} + ${akaze_INCLUDE_DIR} +- ${cereal_SOURCE_DIR} +- ${cereal_SOURCE_DIR}/include +- ${flann_SOURCE_DIR} +- ${flann_SOURCE_DIR}/src/cpp +- ${gtest_SOURCE_DIR}/include +- ${gtest_SOURCE_DIR} + ${optimo_SOURCE_DIR} + ${statx_SOURCE_DIR} + ${stlplus3_SOURCE_DIR} + ${vlfeat_SOURCE_DIR} +- ${visual_sfm_SOURCE_DIR}) ++ ${visual_sfm_SOURCE_DIR} ++) + + list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") + include(OptimizeTheiaCompilerFlags) + optimizetheiacompilerflags() + + add_subdirectory(src/theia) +-add_subdirectory(applications) ++#add_subdirectory(applications) + + if (BUILD_DOCUMENTATION) + message("-- Documentation building is enabled") +@@ -260,7 +212,13 @@ install(FILES ${THEIA_HDRS} DESTINATION include/theia) + file(GLOB_RECURSE THEIA_INTERNAL_HDRS ${CMAKE_SOURCE_DIR}/src/theia/*.h) + install(DIRECTORY src/theia/ DESTINATION include/theia FILES_MATCHING PATTERN "*.h") + +-install(DIRECTORY libraries/ DESTINATION include/theia/libraries FILES_MATCHING PATTERN "*.h*") ++install(DIRECTORY libraries/akaze/ DESTINATION include/theia/libraries/akaze FILES_MATCHING PATTERN "*.h*") ++install(DIRECTORY libraries/optimo/ DESTINATION include/theia/libraries/optimo FILES_MATCHING PATTERN "*.h*") ++install(DIRECTORY libraries/spectra/ DESTINATION include/theia/libraries/spectra FILES_MATCHING PATTERN "*.h*") ++install(DIRECTORY libraries/statx/ DESTINATION include/theia/libraries/statx FILES_MATCHING PATTERN "*.h*") ++install(DIRECTORY libraries/stlplus3/ DESTINATION include/theia/libraries/stlplus3 FILES_MATCHING PATTERN "*.h*") ++install(DIRECTORY libraries/visual_sfm/ DESTINATION include/theia/libraries/visual_sfm FILES_MATCHING PATTERN "*.h*") ++install(DIRECTORY libraries/vlfeat/ DESTINATION include/theia/libraries/vlfeat FILES_MATCHING PATTERN "*.h*") + + # Add an uninstall target to remove all installed files. + configure_file("${CMAKE_SOURCE_DIR}/cmake/uninstall.cmake.in" +@@ -272,17 +230,10 @@ add_custom_target(uninstall + + # Set up install directories. INCLUDE_INSTALL_DIR, LIB_INSTALL_DIR and + # CMAKECONFIG_INSTALL_DIR must not be absolute paths. +-if (WIN32) +- set(INCLUDE_INSTALL_DIR Include) +- set(LIB_INSTALL_DIR Lib) +- set(CMAKECONFIG_INSTALL_DIR CMake) +- set(RELATIVE_CMAKECONFIG_INSTALL_DIR CMake) +-else () +- set(INCLUDE_INSTALL_DIR include) +- set(LIB_INSTALL_DIR lib) +- set(CMAKECONFIG_INSTALL_DIR share/Theia) +- set(RELATIVE_CMAKECONFIG_INSTALL_DIR share/Theia) +-endif () ++set(INCLUDE_INSTALL_DIR include) ++set(LIB_INSTALL_DIR lib) ++set(CMAKECONFIG_INSTALL_DIR share/theia) ++set(RELATIVE_CMAKECONFIG_INSTALL_DIR share/theia) + + # This "exports" all targets which have been put into the export set + # "TheiaExport". This means that CMake generates a file with the given +@@ -319,9 +270,5 @@ configure_file("${CMAKE_SOURCE_DIR}/cmake/TheiaConfigVersion.cmake.in" + # in the public API of Theia and should thus be present in THEIA_INCLUDE_DIRS. + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/TheiaConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/TheiaConfigVersion.cmake" +- "${CMAKE_SOURCE_DIR}/cmake/FindEigen.cmake" +- "${CMAKE_SOURCE_DIR}/cmake/FindGlog.cmake" +- "${CMAKE_SOURCE_DIR}/cmake/FindGflags.cmake" +- "${CMAKE_SOURCE_DIR}/cmake/FindOpenImageIO.cmake" +- "${CMAKE_SOURCE_DIR}/cmake/FindSuiteSparse.cmake" ++ "${CMAKE_SOURCE_DIR}/cmake/FindOpenImageIO.cmake" + DESTINATION ${CMAKECONFIG_INSTALL_DIR}) +diff --git a/cmake/TheiaConfig.cmake.in b/cmake/TheiaConfig.cmake.in +index a3ea187..7e9d912 100644 +--- a/cmake/TheiaConfig.cmake.in ++++ b/cmake/TheiaConfig.cmake.in +@@ -124,14 +124,7 @@ list(APPEND CERES_INCLUDE_DIR_HINTS @CERES_INCLUDE_DIR@) + get_filename_component(THEIA_BUILD_CERES_LIBRARY_DIR @CERES_LIBRARIES@ PATH) + list(APPEND CERES_LIBRARY_DIR_HINTS ${THEIA_BUILD_CERES_LIBRARY_DIR}) + # Search quietly s/t we control the timing of the error message if not found. +-find_package(Ceres QUIET) +-if (CERES_FOUND) +- message(STATUS "Found required Theia dependency: " +- "Ceres in ${CERES_INCLUDE_DIRS}") +-else (CERES_FOUND) +- theia_report_not_found("Missing required Theia " +- "dependency: Ceres, please set CERES_INCLUDE_DIR.") +-endif (CERES_FOUND) ++find_package(Ceres REQUIRED) + list(APPEND THEIA_INCLUDE_DIRS ${CERES_INCLUDE_DIRS}) + + # Glog. +@@ -140,64 +133,19 @@ list(APPEND GLOG_INCLUDE_DIR_HINTS @GLOG_INCLUDE_DIR@) + get_filename_component(THEIA_BUILD_GLOG_LIBRARY_DIR @GLOG_LIBRARY@ PATH) + list(APPEND GLOG_LIBRARY_DIR_HINTS ${THEIA_BUILD_GLOG_LIBRARY_DIR}) + # Search quietly s/t we control the timing of the error message if not found. +-find_package(Glog QUIET) +-if (GLOG_FOUND) +- message(STATUS "Found required Theia dependency: " +- "Glog in ${GLOG_INCLUDE_DIRS}") +-else (GLOG_FOUND) +- theia_report_not_found("Missing required Theia " +- "dependency: Glog, please set GLOG_INCLUDE_DIR.") +-endif (GLOG_FOUND) ++find_package(Glog REQUIRED) + list(APPEND THEIA_INCLUDE_DIRS ${GLOG_INCLUDE_DIRS}) + + # GFlags. The namespace patch is borrow from Ceres Solver (see license in + # FindGflags.cmake) +-find_package(Gflags QUIET) +-if (GFLAGS_FOUND) +- message(STATUS "Found required Theia dependency: Google Flags in " +- "${GFLAGS_INCLUDE_DIRS} in namespace: ${GFLAGS_NAMESPACE}") +- add_definitions(-DTHEIA_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE}) +-else (GFLAGS_FOUND) +- theia_report_not_found("Missing required Theia dependency: Google Flags, please set " +- "GFLAGS_INCLUDE_DIR.") +-endif (GFLAGS_FOUND) ++find_package(Gflags REQUIRED) + list(APPEND THEIA_INCLUDE_DIRS ${GFLAGS_INCLUDE_DIRS}) + + # OpenImageIO +-find_package(OpenImageIO QUIET) +-if (OPENIMAGEIO_FOUND) +- message(STATUS "Found Theia dependency: OpenImageIO in ${OPENIMAGEIO_INCLUDE_DIRS}") +-else (OPENIMAGEIO_FOUND) +- theia_report_not_found("Missing required Theia dependency: OpenImageIO. Please set " +- "OPENIMAGEIO_INCLUDE_DIR & OPENIMAGEIO_LIBRARY") +-endif (OPENIMAGEIO_FOUND) ++find_package(OpenImageIO REQUIRED) + list(APPEND THEIA_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIRS}) + +-find_package(SuiteSparse QUIET) +-if (SUITESPARSE_FOUND) +- # On Ubuntu the system install of SuiteSparse (v3.4.0) up to at least +- # Ubuntu 13.10 cannot be used to link shared libraries. +- if (BUILD_SHARED_LIBS AND +- SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION) +- theia_report_not_found("You are attempting to build Theia as a shared " +- "library on Ubuntu using a system package install of SuiteSparse " +- "3.4.0. This package is broken and does not support the " +- "construction of shared libraries (you can still build Theia as " +- "a static library). If you wish to build a shared version of Theia " +- "you should uninstall the system install of SuiteSparse " +- "(libsuitesparse-dev) and perform a source install of SuiteSparse " +- "(we recommend that you use the latest version), " +- "see http://theia-solver.org/building.html for more information.") +- endif (BUILD_SHARED_LIBS AND +- SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION) +- message("-- Found SuiteSparse ${SUITESPARSE_VERSION}") +- add_definitions(-DTHEIA_SUITESPARSE_VERSION="${SUITESPARSE_VERSION}") +-else (SUITESPARSE_FOUND) +- # Disable use of SuiteSparse if it cannot be found and continue. +- theia_report_not_found("Can't find SuiteSparse. This library is required " +- "for bundle adjustment and for solving convex optimization problems. " +- "Please set SUITESPARSE_INCLUDE_DIR & SUITESPARSE_LIBRARY") +-endif (SUITESPARSE_FOUND) ++find_package(SuiteSparse REQUIRED) + list(APPEND THEIA_INCLUDE_DIRS ${SUITESPARSE_INCLUDE_DIRS}) + + # Import exported Theia targets. +@@ -207,22 +155,24 @@ endif (NOT TARGET theia AND NOT Theia_BINARY_DIR) + # Set the expected XX_LIBRARIES variable for FindPackage(). + set(THEIA_LIBRARIES theia) + ++find_package(cereal REQUIRED) ++list(APPEND THEIA_LIBRARIES cereal) ++ ++find_package(Flann REQUIRED) ++list(APPEND THEIA_INCLUDE_DIRS ${FLANN_INCLUDE_DIR}) ++list(APPEND THEIA_LIBRARIES ${FLANN_LIBRARY}) ++ + # Add the libraries included with the distribution. + set(THEIA_INTERNAL_LIB_PREFIX ${THEIA_INCLUDE_DIR}/theia/libraries) + set(THEIA_INTERNAL_LIBS_INCLUDES + ${THEIA_INTERNAL_LIB_PREFIX} + ${THEIA_INTERNAL_LIB_PREFIX}/akaze +- ${THEIA_INTERNAL_LIB_PREFIX}/cereal +- ${THEIA_INTERNAL_LIB_PREFIX}/cereal/include +- ${THEIA_INTERNAL_LIB_PREFIX}/flann +- ${THEIA_INTERNAL_LIB_PREFIX}/gtest +- ${THEIA_INTERNAL_LIB_PREFIX}/gtest/include + ${THEIA_INTERNAL_LIB_PREFIX}/optimo + ${THEIA_INTERNAL_LIB_PREFIX}/spectra + ${THEIA_INTERNAL_LIB_PREFIX}/statx + ${THEIA_INTERNAL_LIB_PREFIX}/stlplus3 +- ${THEIA_INTERNAL_LIB_PREFIX}/vlfeat +- ${THEIA_INTERNAL_LIB_PREFIX}/visual_sfm) ++ ${THEIA_INTERNAL_LIB_PREFIX}/visual_sfm ++ ${THEIA_INTERNAL_LIB_PREFIX}/vlfeat) + + list(APPEND THEIA_INCLUDE_DIRS ${THEIA_INTERNAL_LIBS_INCLUDES}) + +diff --git a/libraries/CMakeLists.txt b/libraries/CMakeLists.txt +index 84f3829..f88d75a 100644 +--- a/libraries/CMakeLists.txt ++++ b/libraries/CMakeLists.txt +@@ -5,12 +5,6 @@ endif (${BUILD_TESTING}) + # AKAZE feature extractor. + add_subdirectory(akaze) + +-# Cereal for portable IO. +-add_subdirectory(cereal) +- +-# Flann for fast approximate nearest neighbor searches. +-add_subdirectory(flann) +- + # Add Optimo. + add_subdirectory(optimo) + +@@ -24,4 +18,4 @@ add_subdirectory(stlplus3) + add_subdirectory(vlfeat) + + # Add VisualSfM files. +-add_subdirectory(visual_sfm) +\ No newline at end of file ++add_subdirectory(visual_sfm) +diff --git a/libraries/statx/CMakeLists.txt b/libraries/statx/CMakeLists.txt +index 23b9e49..af236a3 100644 +--- a/libraries/statx/CMakeLists.txt ++++ b/libraries/statx/CMakeLists.txt +@@ -103,7 +103,11 @@ if(STATX_WITH_CERES) + endif(CERES_FOUND) + + # BLAS +- find_package(BLAS REQUIRED) ++ if(UNIX AND NOT APPLE) ++ find_package(OpenBLAS REQUIRED) ++ else() ++ find_package(BLAS REQUIRED) ++ endif() + + # LAPACK + find_package(LAPACK REQUIRED) +@@ -129,7 +133,6 @@ set(XGAMMA_FILES ${XGAMMA_FUNCS}/asa121.cpp ${XGAMMA_FUNCS}/asa103.cpp) + + # Setting CXX FLAGS appropriately. The code below was inspired from + # Google CERES and modified for this library. +-set (CMAKE_BUILD_TYPE Release) + set (STATX_CXX_FLAGS) + + if (CMAKE_BUILD_TYPE STREQUAL "Release") +diff --git a/libraries/vlfeat/CMakeLists.txt b/libraries/vlfeat/CMakeLists.txt +index 7f4ffc7..15bca12 100644 +--- a/libraries/vlfeat/CMakeLists.txt ++++ b/libraries/vlfeat/CMakeLists.txt +@@ -18,14 +18,19 @@ set(vl_sources + vl/random.c + vl/sift.c + vl/vlad.c) ++ + set_source_files_properties(${vl_sources} PROPERTIES LANGUAGE C) + ++add_library(vlfeat ${vl_sources}) ++ + if (MSVC) +- add_definitions(-DVL_BUILD_DLL) +- add_definitions(-DVL_DISABLE_SSE2) ++ if(BUILD_SHARED_LIBS) ++ target_compile_definitions(vlfeat PRIVATE VL_BUILD_DLL) ++ target_compile_definitions(vlfeat INTERFACE BUILD_DLL) ++ endif() ++ target_compile_definitions(vlfeat PUBLIC VL_DISABLE_SSE2) + endif (MSVC) + +-add_library(vlfeat SHARED ${vl_sources}) + install(TARGETS vlfeat + EXPORT TheiaExport + RUNTIME DESTINATION bin +diff --git a/libraries/vlfeat/vl/host.h b/libraries/vlfeat/vl/host.h +index 293fe1f..0ea3d42 100644 +--- a/libraries/vlfeat/vl/host.h ++++ b/libraries/vlfeat/vl/host.h +@@ -312,27 +312,31 @@ defined(__DOXYGEN__) + #if defined(VL_COMPILER_MSC) & ! defined(__DOXYGEN__) + # define VL_UNUSED + # define VL_INLINE static __inline +-# define snprintf _snprintf + # define isnan _isnan +-# ifdef VL_BUILD_DLL ++# if defined(VL_BUILD_DLL) + # ifdef __cplusplus + # define VL_EXPORT extern "C" __declspec(dllexport) + # else + # define VL_EXPORT extern __declspec(dllexport) + # endif +-# else ++# elif defined(VL_DLL) + # ifdef __cplusplus + # define VL_EXPORT extern "C" __declspec(dllimport) + # else + # define VL_EXPORT extern __declspec(dllimport) + # endif ++# else ++# ifdef __cplusplus ++# define VL_EXPORT extern "C" ++# else ++# define VL_EXPORT extern ++# endif + # endif + #endif + + #if defined(VL_COMPILER_LCC) & ! defined(__DOXYGEN__) + # define VL_UNUSED + # define VL_INLINE static __inline +-# define snprintf _snprintf + # define isnan _isnan + VL_INLINE float fabsf(float x) { return (float) fabs((double) x) ; } + # ifdef VL_BUILD_DLL +diff --git a/src/theia/CMakeLists.txt b/src/theia/CMakeLists.txt +index 6830f71..768586d 100644 +--- a/src/theia/CMakeLists.txt ++++ b/src/theia/CMakeLists.txt +@@ -209,7 +209,6 @@ set(THEIA_LIBRARY_DEPENDENCIES + ${SUITESPARSE_LIBRARIES} + ${OPENIMAGEIO_LIBRARIES} + akaze +- flann_cpp + statx + stlplus3 + vlfeat diff --git a/ports/theia/fix-find-suitesparse.patch b/ports/theia/fix-find-suitesparse.patch deleted file mode 100644 index f7de44aa0..000000000 --- a/ports/theia/fix-find-suitesparse.patch +++ /dev/null @@ -1,227 +0,0 @@ ---- a/cmake/FindSuiteSparse.cmake Mon Feb 06 18:05:05 2017 -+++ b/cmake/FindSuiteSparse.cmake Fri Jul 07 02:13:31 2017 -@@ -152,6 +152,12 @@ - # the first. - endmacro(SUITESPARSE_REPORT_NOT_FOUND) - -+# Protect against any alternative find_package scripts for this library having -+# been called previously (in a client project) which set SUITESPARSE_FOUND, but -+# not the other variables we require / set here which could cause the search -+# logic here to fail. -+unset(SUITESPARSE_FOUND) -+ - # Handle possible presence of lib prefix for libraries on MSVC, see - # also SUITESPARSE_RESET_FIND_LIBRARY_PREFIX(). - if (MSVC) -@@ -173,8 +179,6 @@ - /opt/local/include/ufsparse # Mac OS X - /usr/local/homebrew/include # Mac OS X - /usr/local/include -- /usr/local/include/suitesparse -- /usr/include/suitesparse # Ubuntu - /usr/include) - list(APPEND SUITESPARSE_CHECK_LIBRARY_DIRS - ${SUITESPARSE_LIBRARY_DIR_HINTS} -@@ -182,9 +186,10 @@ - /opt/local/lib/ufsparse # Mac OS X - /usr/local/homebrew/lib # Mac OS X - /usr/local/lib -- /usr/local/lib/suitesparse -- /usr/lib/suitesparse # Ubuntu - /usr/lib) -+# Additional suffixes to try appending to each search path. -+list(APPEND SUITESPARSE_CHECK_PATH_SUFFIXES -+ suitesparse) # Windows/Ubuntu - - # Given the number of components of SuiteSparse, and to ensure that the - # automatic failure message generated by FindPackageHandleStandardArgs() -@@ -212,7 +217,8 @@ - set(AMD_FOUND TRUE) - list(APPEND SUITESPARSE_FOUND_REQUIRED_VARS AMD_FOUND) - find_library(AMD_LIBRARY NAMES amd -- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${AMD_LIBRARY}) - message(STATUS "Found AMD library: ${AMD_LIBRARY}") - else (EXISTS ${AMD_LIBRARY}) -@@ -223,7 +229,8 @@ - mark_as_advanced(AMD_LIBRARY) - - find_path(AMD_INCLUDE_DIR NAMES amd.h -- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${AMD_INCLUDE_DIR}) - message(STATUS "Found AMD header in: ${AMD_INCLUDE_DIR}") - else (EXISTS ${AMD_INCLUDE_DIR}) -@@ -237,7 +244,8 @@ - set(CAMD_FOUND TRUE) - list(APPEND SUITESPARSE_FOUND_REQUIRED_VARS CAMD_FOUND) - find_library(CAMD_LIBRARY NAMES camd -- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${CAMD_LIBRARY}) - message(STATUS "Found CAMD library: ${CAMD_LIBRARY}") - else (EXISTS ${CAMD_LIBRARY}) -@@ -248,7 +256,8 @@ - mark_as_advanced(CAMD_LIBRARY) - - find_path(CAMD_INCLUDE_DIR NAMES camd.h -- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${CAMD_INCLUDE_DIR}) - message(STATUS "Found CAMD header in: ${CAMD_INCLUDE_DIR}") - else (EXISTS ${CAMD_INCLUDE_DIR}) -@@ -262,7 +271,8 @@ - set(COLAMD_FOUND TRUE) - list(APPEND SUITESPARSE_FOUND_REQUIRED_VARS COLAMD_FOUND) - find_library(COLAMD_LIBRARY NAMES colamd -- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${COLAMD_LIBRARY}) - message(STATUS "Found COLAMD library: ${COLAMD_LIBRARY}") - else (EXISTS ${COLAMD_LIBRARY}) -@@ -273,7 +283,8 @@ - mark_as_advanced(COLAMD_LIBRARY) - - find_path(COLAMD_INCLUDE_DIR NAMES colamd.h -- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${COLAMD_INCLUDE_DIR}) - message(STATUS "Found COLAMD header in: ${COLAMD_INCLUDE_DIR}") - else (EXISTS ${COLAMD_INCLUDE_DIR}) -@@ -287,7 +298,8 @@ - set(CCOLAMD_FOUND TRUE) - list(APPEND SUITESPARSE_FOUND_REQUIRED_VARS CCOLAMD_FOUND) - find_library(CCOLAMD_LIBRARY NAMES ccolamd -- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${CCOLAMD_LIBRARY}) - message(STATUS "Found CCOLAMD library: ${CCOLAMD_LIBRARY}") - else (EXISTS ${CCOLAMD_LIBRARY}) -@@ -298,7 +310,8 @@ - mark_as_advanced(CCOLAMD_LIBRARY) - - find_path(CCOLAMD_INCLUDE_DIR NAMES ccolamd.h -- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${CCOLAMD_INCLUDE_DIR}) - message(STATUS "Found CCOLAMD header in: ${CCOLAMD_INCLUDE_DIR}") - else (EXISTS ${CCOLAMD_INCLUDE_DIR}) -@@ -312,7 +325,8 @@ - set(CHOLMOD_FOUND TRUE) - list(APPEND SUITESPARSE_FOUND_REQUIRED_VARS CHOLMOD_FOUND) - find_library(CHOLMOD_LIBRARY NAMES cholmod -- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${CHOLMOD_LIBRARY}) - message(STATUS "Found CHOLMOD library: ${CHOLMOD_LIBRARY}") - else (EXISTS ${CHOLMOD_LIBRARY}) -@@ -323,7 +337,8 @@ - mark_as_advanced(CHOLMOD_LIBRARY) - - find_path(CHOLMOD_INCLUDE_DIR NAMES cholmod.h -- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${CHOLMOD_INCLUDE_DIR}) - message(STATUS "Found CHOLMOD header in: ${CHOLMOD_INCLUDE_DIR}") - else (EXISTS ${CHOLMOD_INCLUDE_DIR}) -@@ -337,7 +352,8 @@ - set(SUITESPARSEQR_FOUND TRUE) - list(APPEND SUITESPARSE_FOUND_REQUIRED_VARS SUITESPARSEQR_FOUND) - find_library(SUITESPARSEQR_LIBRARY NAMES spqr -- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${SUITESPARSEQR_LIBRARY}) - message(STATUS "Found SuiteSparseQR library: ${SUITESPARSEQR_LIBRARY}") - else (EXISTS ${SUITESPARSEQR_LIBRARY}) -@@ -348,7 +364,8 @@ - mark_as_advanced(SUITESPARSEQR_LIBRARY) - - find_path(SUITESPARSEQR_INCLUDE_DIR NAMES SuiteSparseQR.hpp -- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${SUITESPARSEQR_INCLUDE_DIR}) - message(STATUS "Found SuiteSparseQR header in: ${SUITESPARSEQR_INCLUDE_DIR}") - else (EXISTS ${SUITESPARSEQR_INCLUDE_DIR}) -@@ -364,7 +381,8 @@ - # support for it, this will do no harm if it wasn't. - set(TBB_FOUND TRUE) - find_library(TBB_LIBRARIES NAMES tbb -- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${TBB_LIBRARIES}) - message(STATUS "Found Intel Thread Building Blocks (TBB) library: " - "${TBB_LIBRARIES}, assuming SuiteSparseQR was compiled with TBB.") -@@ -377,7 +395,8 @@ - - if (TBB_FOUND) - find_library(TBB_MALLOC_LIB NAMES tbbmalloc -- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${TBB_MALLOC_LIB}) - message(STATUS "Found Intel Thread Building Blocks (TBB) Malloc library: " - "${TBB_MALLOC_LIB}") -@@ -407,7 +426,8 @@ - # If SuiteSparse version is >= 4 then SuiteSparse_config is required. - # For SuiteSparse 3, UFconfig.h is required. - find_library(SUITESPARSE_CONFIG_LIBRARY NAMES suitesparseconfig -- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${SUITESPARSE_CONFIG_LIBRARY}) - message(STATUS "Found SuiteSparse_config library: " - "${SUITESPARSE_CONFIG_LIBRARY}") -@@ -415,7 +435,8 @@ - mark_as_advanced(SUITESPARSE_CONFIG_LIBRARY) - - find_path(SUITESPARSE_CONFIG_INCLUDE_DIR NAMES SuiteSparse_config.h -- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${SUITESPARSE_CONFIG_INCLUDE_DIR}) - message(STATUS "Found SuiteSparse_config header in: " - "${SUITESPARSE_CONFIG_INCLUDE_DIR}") -@@ -433,7 +454,8 @@ - # does not have librt). - if (CMAKE_SYSTEM_NAME MATCHES "Linux" OR UNIX AND NOT APPLE) - find_library(LIBRT_LIBRARY NAMES rt -- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (LIBRT_LIBRARY) - message(STATUS "Adding librt: ${LIBRT_LIBRARY} to " - "SuiteSparse_config libraries (required on Linux & Unix [not OSX] if " -@@ -452,7 +474,8 @@ - # UFconfig header which should be present in < v4 installs. - set(SUITESPARSE_CONFIG_FOUND FALSE) - find_path(UFCONFIG_INCLUDE_DIR NAMES UFconfig.h -- PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_INCLUDE_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${UFCONFIG_INCLUDE_DIR}) - message(STATUS "Found UFconfig header in: ${UFCONFIG_INCLUDE_DIR}") - set(UFCONFIG_FOUND TRUE) -@@ -543,7 +566,8 @@ - - # METIS (Optional dependency). - find_library(METIS_LIBRARY NAMES metis -- PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS}) -+ PATHS ${SUITESPARSE_CHECK_LIBRARY_DIRS} -+ PATH_SUFFIXES ${SUITESPARSE_CHECK_PATH_SUFFIXES}) - if (EXISTS ${METIS_LIBRARY}) - message(STATUS "Found METIS library: ${METIS_LIBRARY}.") - set(METIS_FOUND TRUE) diff --git a/ports/theia/fix-glog-error.patch b/ports/theia/fix-glog-error.patch deleted file mode 100644 index 1e72c9f35..000000000 --- a/ports/theia/fix-glog-error.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9c1b150..6518e6a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -146,6 +146,7 @@ else (GLOG_FOUND) - message(FATAL_ERROR "Can't find Google Logging. Please set GLOG_INCLUDE_DIR & " - "GLOG_LIBRARY") - endif (GLOG_FOUND) -+add_definitions(-DGLOG_NO_ABBREVIATED_SEVERITIES) - - # Ceres - message("-- Check for Ceres") diff --git a/ports/theia/fix-oiio.patch b/ports/theia/fix-oiio.patch deleted file mode 100644 index 7cba45db7..000000000 --- a/ports/theia/fix-oiio.patch +++ /dev/null @@ -1,391 +0,0 @@ -diff --git a/src/theia/image/image.cc b/src/theia/image/image.cc -index df6aba4..5e2b8dc 100644 ---- a/src/theia/image/image.cc -+++ b/src/theia/image/image.cc -@@ -60,18 +60,18 @@ FloatImage::FloatImage(const FloatImage& image_to_copy) { - } - - FloatImage::FloatImage(const int width, const int height, const int channels) { -- OpenImageIO::ImageSpec image_spec(width, height, channels, -- OpenImageIO::TypeDesc::FLOAT); -+ OIIO_NAMESPACE::ImageSpec image_spec(width, height, channels, -+ OIIO_NAMESPACE::TypeDesc::FLOAT); - image_.reset(image_spec); - } - - FloatImage::FloatImage(const int width, const int height, const int channels, - float* buffer) -- : image_(OpenImageIO::ImageSpec(width, height, channels, -- OpenImageIO::TypeDesc::FLOAT), -+ : image_(OIIO_NAMESPACE::ImageSpec(width, height, channels, -+ OIIO_NAMESPACE::TypeDesc::FLOAT), - reinterpret_cast(buffer)) {} - --FloatImage::FloatImage(const OpenImageIO::ImageBuf& image) { -+FloatImage::FloatImage(const OIIO_NAMESPACE::ImageBuf& image) { - image_.copy(image); - } - -@@ -80,11 +80,11 @@ FloatImage& FloatImage::operator=(const FloatImage& image2) { - return *this; - } - --OpenImageIO::ImageBuf& FloatImage::GetOpenImageIOImageBuf() { -+OIIO_NAMESPACE::ImageBuf& FloatImage::GetOpenImageIOImageBuf() { - return image_; - } - --const OpenImageIO::ImageBuf& FloatImage::GetOpenImageIOImageBuf() const { -+const OIIO_NAMESPACE::ImageBuf& FloatImage::GetOpenImageIOImageBuf() const { - return image_; - } - -@@ -110,7 +110,7 @@ void FloatImage::SetXY(const int x, - DCHECK_LT(c, Channels()); - - // Set the ROI to be the precise pixel location in the correct channel. -- OpenImageIO::ImageBuf::Iterator it(image_, x, y, 0); -+ OIIO_NAMESPACE::ImageBuf::Iterator it(image_, x, y, 0); - it[c] = value; - } - -@@ -195,9 +195,9 @@ void FloatImage::ConvertToGrayscaleImage() { - // Compute luminance via a weighted sum of R,G,B (assuming Rec709 primaries - // and a linear scale) - const float luma_weights[3] = {.2126, .7152, .0722}; -- OpenImageIO::ImageBuf source = image_; -+ OIIO_NAMESPACE::ImageBuf source = image_; - image_.clear(); -- OpenImageIO::ImageBufAlgo::channel_sum(image_, source, luma_weights); -+ OIIO_NAMESPACE::ImageBufAlgo::channel_sum(image_, source, luma_weights); - } - - void FloatImage::ConvertToRGBImage() { -@@ -207,13 +207,13 @@ void FloatImage::ConvertToRGBImage() { - } - - // Copy the single grayscale channel into r, g, and b. -- const OpenImageIO::ImageBuf source(image_); -- OpenImageIO::ImageSpec image_spec(Width(), Height(), 3, -- OpenImageIO::TypeDesc::FLOAT); -+ const OIIO_NAMESPACE::ImageBuf source(image_); -+ OIIO_NAMESPACE::ImageSpec image_spec(Width(), Height(), 3, -+ OIIO_NAMESPACE::TypeDesc::FLOAT); - image_.reset(image_spec); -- OpenImageIO::ImageBufAlgo::paste(image_, 0, 0, 0, 0, source); -- OpenImageIO::ImageBufAlgo::paste(image_, 0, 0, 0, 1, source); -- OpenImageIO::ImageBufAlgo::paste(image_, 0, 0, 0, 2, source); -+ OIIO_NAMESPACE::ImageBufAlgo::paste(image_, 0, 0, 0, 0, source); -+ OIIO_NAMESPACE::ImageBufAlgo::paste(image_, 0, 0, 0, 1, source); -+ OIIO_NAMESPACE::ImageBufAlgo::paste(image_, 0, 0, 0, 2, source); - } - - FloatImage FloatImage::AsGrayscaleImage() const { -@@ -238,12 +238,12 @@ FloatImage FloatImage::AsRGBImage() const { - } - - void FloatImage::ScalePixels(float scale) { -- OpenImageIO::ImageBufAlgo::mul(image_, image_, scale); -+ OIIO_NAMESPACE::ImageBufAlgo::mul(image_, image_, scale); - } - - void FloatImage::Read(const std::string& filename) { - image_.reset(filename); -- image_.read(0, 0, true, OpenImageIO::TypeDesc::FLOAT); -+ image_.read(0, 0, true, OIIO_NAMESPACE::TypeDesc::FLOAT); - } - - void FloatImage::Write(const std::string& filename) const { -@@ -259,19 +259,19 @@ const float* FloatImage::Data() const { - - FloatImage FloatImage::ComputeGradientX() const { - float sobel_filter_x[9] = {-.125, 0, .125, -.25, 0, .25, -.125, 0, .125}; -- OpenImageIO::ImageSpec spec(3, 3, 1, OpenImageIO::TypeDesc::FLOAT); -- OpenImageIO::ImageBuf kernel_x(spec, sobel_filter_x); -- OpenImageIO::ImageBuf gradient_x; -- OpenImageIO::ImageBufAlgo::convolve(gradient_x, image_, kernel_x, false); -+ OIIO_NAMESPACE::ImageSpec spec(3, 3, 1, OIIO_NAMESPACE::TypeDesc::FLOAT); -+ OIIO_NAMESPACE::ImageBuf kernel_x(spec, sobel_filter_x); -+ OIIO_NAMESPACE::ImageBuf gradient_x; -+ OIIO_NAMESPACE::ImageBufAlgo::convolve(gradient_x, image_, kernel_x, false); - return FloatImage(gradient_x); - } - - FloatImage FloatImage::ComputeGradientY() const { - float sobel_filter_y[9] = {-.125, -.25, -.125, 0, 0, 0, .125, .25, .125}; -- OpenImageIO::ImageSpec spec(3, 3, 1, OpenImageIO::TypeDesc::FLOAT); -- OpenImageIO::ImageBuf kernel_y(spec, sobel_filter_y); -- OpenImageIO::ImageBuf gradient_y; -- OpenImageIO::ImageBufAlgo::convolve(gradient_y, image_, kernel_y, false); -+ OIIO_NAMESPACE::ImageSpec spec(3, 3, 1, OIIO_NAMESPACE::TypeDesc::FLOAT); -+ OIIO_NAMESPACE::ImageBuf kernel_y(spec, sobel_filter_y); -+ OIIO_NAMESPACE::ImageBuf gradient_y; -+ OIIO_NAMESPACE::ImageBufAlgo::convolve(gradient_y, image_, kernel_y, false); - return FloatImage(gradient_y); - } - -@@ -280,28 +280,28 @@ FloatImage FloatImage::ComputeGradient() const { - float sobel_filter_x[9] = {-.125, 0, .125, -.25, 0, .25, -.125, 0, .125}; - float sobel_filter_y[9] = {-.125, -.25, -.125, 0, 0, 0, .125, .25, .125}; - -- OpenImageIO::ImageSpec spec(3, 3, 1, OpenImageIO::TypeDesc::FLOAT); -- OpenImageIO::ImageBuf kernel_x(spec, sobel_filter_x); -- OpenImageIO::ImageBuf kernel_y(spec, sobel_filter_y); -+ OIIO_NAMESPACE::ImageSpec spec(3, 3, 1, OIIO_NAMESPACE::TypeDesc::FLOAT); -+ OIIO_NAMESPACE::ImageBuf kernel_x(spec, sobel_filter_x); -+ OIIO_NAMESPACE::ImageBuf kernel_y(spec, sobel_filter_y); - -- OpenImageIO::ImageBuf gradient, gradient_x, gradient_y; -- OpenImageIO::ImageBufAlgo::convolve(gradient_x, image_, kernel_x, false); -- OpenImageIO::ImageBufAlgo::abs(gradient_x, gradient_x); -- OpenImageIO::ImageBufAlgo::convolve(gradient_y, image_, kernel_y, false); -- OpenImageIO::ImageBufAlgo::abs(gradient_y, gradient_y); -- OpenImageIO::ImageBufAlgo::add(gradient, gradient_x, gradient_y); -+ OIIO_NAMESPACE::ImageBuf gradient, gradient_x, gradient_y; -+ OIIO_NAMESPACE::ImageBufAlgo::convolve(gradient_x, image_, kernel_x, false); -+ OIIO_NAMESPACE::ImageBufAlgo::abs(gradient_x, gradient_x); -+ OIIO_NAMESPACE::ImageBufAlgo::convolve(gradient_y, image_, kernel_y, false); -+ OIIO_NAMESPACE::ImageBufAlgo::abs(gradient_y, gradient_y); -+ OIIO_NAMESPACE::ImageBufAlgo::add(gradient, gradient_x, gradient_y); - - return FloatImage(gradient); - } - - void FloatImage::ApproximateGaussianBlur(const double sigma) { -- OpenImageIO::ImageBuf kernel; -- OpenImageIO::ImageBufAlgo::make_kernel(kernel, "gaussian", 5.0f, 5.0f); -- OpenImageIO::ImageBufAlgo::convolve(image_, image_, kernel); -+ OIIO_NAMESPACE::ImageBuf kernel; -+ OIIO_NAMESPACE::ImageBufAlgo::make_kernel(kernel, "gaussian", 5.0f, 5.0f); -+ OIIO_NAMESPACE::ImageBufAlgo::convolve(image_, image_, kernel); - } - - void FloatImage::MedianFilter(const int patch_width) { -- CHECK(OpenImageIO::ImageBufAlgo::median_filter(image_, image_, patch_width)); -+ CHECK(OIIO_NAMESPACE::ImageBufAlgo::median_filter(image_, image_, patch_width)); - } - - void FloatImage::Integrate(FloatImage* integral) const { -@@ -327,14 +327,14 @@ void FloatImage::Resize(int new_width, int new_height) { - // If the image has not been initialized then initialize it with the image - // spec. Otherwise resize the image and interpolate pixels accordingly. - if (!image_.initialized()) { -- OpenImageIO::ImageSpec image_spec(new_width, new_height, Channels(), -- OpenImageIO::TypeDesc::FLOAT); -+ OIIO_NAMESPACE::ImageSpec image_spec(new_width, new_height, Channels(), -+ OIIO_NAMESPACE::TypeDesc::FLOAT); - image_.reset(image_spec); - } else { -- OpenImageIO::ROI roi(0, new_width, 0, new_height, 0, 1, 0, Channels()); -- OpenImageIO::ImageBuf dst; -- CHECK(OpenImageIO::ImageBufAlgo::resize(dst, image_, nullptr, roi)) -- << OpenImageIO::geterror(); -+ OIIO_NAMESPACE::ROI roi(0, new_width, 0, new_height, 0, 1, 0, Channels()); -+ OIIO_NAMESPACE::ImageBuf dst; -+ CHECK(OIIO_NAMESPACE::ImageBufAlgo::resize(dst, image_, nullptr, roi)) -+ << OIIO_NAMESPACE::geterror(); - image_.copy(dst); - } - } -diff --git a/src/theia/image/image.h b/src/theia/image/image.h -index e4f22cc..29122d2 100644 ---- a/src/theia/image/image.h -+++ b/src/theia/image/image.h -@@ -64,7 +64,7 @@ class FloatImage { - - // Copy function. This is a deep copy of the image. - FloatImage(const FloatImage& image_to_copy); -- explicit FloatImage(const OpenImageIO::ImageBuf& image); -+ explicit FloatImage(const OIIO_NAMESPACE::ImageBuf& image); - FloatImage& operator=(const FloatImage& image2); - ~FloatImage() {} - -@@ -74,8 +74,8 @@ class FloatImage { - // wrapper for all algorithms. Getting a reference to the ImageBuf provides - // efficient access to the image data so that the image processing algorithms - // or other manipulations may be executed on the pixels. -- OpenImageIO::ImageBuf& GetOpenImageIOImageBuf(); -- const OpenImageIO::ImageBuf& GetOpenImageIOImageBuf() const; -+ OIIO_NAMESPACE::ImageBuf& GetOpenImageIOImageBuf(); -+ const OIIO_NAMESPACE::ImageBuf& GetOpenImageIOImageBuf() const; - - // Image information - int Rows() const; -@@ -171,7 +171,7 @@ class FloatImage { - void Resize(double scale); - - protected: -- OpenImageIO::ImageBuf image_; -+ OIIO_NAMESPACE::ImageBuf image_; - }; - } // namespace theia - -diff --git a/src/theia/image/image_test.cc b/src/theia/image/image_test.cc -index 894dc30..340488d 100644 ---- a/src/theia/image/image_test.cc -+++ b/src/theia/image/image_test.cc -@@ -53,11 +53,11 @@ RandomNumberGenerator rng(51); - std::string img_filename = THEIA_DATA_DIR + std::string("/") + FLAGS_test_img; - - #define ASSERT_IMG_EQ(oiio_img, theia_img, rows, cols) \ -- oiio_img.read(0, 0, true, OpenImageIO::TypeDesc::FLOAT); \ -+ oiio_img.read(0, 0, true, OIIO_NAMESPACE::TypeDesc::FLOAT); \ - ASSERT_EQ(oiio_img.oriented_width(), theia_img.Cols()); \ - ASSERT_EQ(oiio_img.oriented_height(), theia_img.Rows()); \ - ASSERT_EQ(oiio_img.nchannels(), theia_img.Channels()); \ -- OpenImageIO::ImageBuf::ConstIterator it(oiio_img); \ -+ OIIO_NAMESPACE::ImageBuf::ConstIterator it(oiio_img); \ - for (; !it.done(); ++it) { \ - for (int c = 0; c < oiio_img.nchannels(); c++) { \ - ASSERT_EQ(it[c], theia_img.GetXY(it.x(), it.y(), c)); \ -@@ -89,7 +89,7 @@ float Interpolate(const FloatImage& image, - - // Test that inputting the old fashioned way is the same as through our class. - TEST(Image, RGBInput) { -- OpenImageIO::ImageBuf oiio_img(img_filename.c_str()); -+ OIIO_NAMESPACE::ImageBuf oiio_img(img_filename.c_str()); - oiio_img.read(); - FloatImage theia_img(img_filename); - -@@ -102,7 +102,7 @@ TEST(Image, RGBInput) { - - // Test that width and height methods work. - TEST(Image, RGBColsRows) { -- OpenImageIO::ImageBuf oiio_img(img_filename.c_str()); -+ OIIO_NAMESPACE::ImageBuf oiio_img(img_filename.c_str()); - FloatImage theia_img(img_filename); - - int true_height = oiio_img.oriented_height(); -@@ -114,10 +114,10 @@ TEST(Image, RGBColsRows) { - - // Test that inputting the old fashioned way is the same as through our class. - TEST(Image, ConvertToGrayscaleImage) { -- OpenImageIO::ImageBuf oiio_img(img_filename.c_str()); -- OpenImageIO::ImageBuf gray_img; -+ OIIO_NAMESPACE::ImageBuf oiio_img(img_filename.c_str()); -+ OIIO_NAMESPACE::ImageBuf gray_img; - const float luma_weights[3] = {.2126, .7152, .0722}; -- OpenImageIO::ImageBufAlgo::channel_sum(gray_img, oiio_img, luma_weights); -+ OIIO_NAMESPACE::ImageBufAlgo::channel_sum(gray_img, oiio_img, luma_weights); - - FloatImage theia_img(img_filename); - theia_img.ConvertToGrayscaleImage(); -@@ -131,10 +131,10 @@ TEST(Image, ConvertToGrayscaleImage) { - } - - TEST(Image, ConvertToRGBImage) { -- OpenImageIO::ImageBuf oiio_img(img_filename.c_str()); -- OpenImageIO::ImageBuf gray_img; -+ OIIO_NAMESPACE::ImageBuf oiio_img(img_filename.c_str()); -+ OIIO_NAMESPACE::ImageBuf gray_img; - const float luma_weights[3] = {.2126, .7152, .0722}; -- OpenImageIO::ImageBufAlgo::channel_sum(gray_img, oiio_img, luma_weights); -+ OIIO_NAMESPACE::ImageBufAlgo::channel_sum(gray_img, oiio_img, luma_weights); - - // This should result in an image with the grayscale image copied in each - // channel. -@@ -148,7 +148,7 @@ TEST(Image, ConvertToRGBImage) { - - // Check that all channels have equal value and that the value is equal to the - // grayscale image. -- for (OpenImageIO::ImageBuf::ConstIterator it(gray_img); -+ for (OIIO_NAMESPACE::ImageBuf::ConstIterator it(gray_img); - !it.done(); - ++it) { - ASSERT_EQ(it[0], rgb_img.GetXY(it.x(), it.y(), 0)); -diff --git a/src/theia/sfm/exif_reader.cc b/src/theia/sfm/exif_reader.cc -index 48c049a..fea884d 100644 ---- a/src/theia/sfm/exif_reader.cc -+++ b/src/theia/sfm/exif_reader.cc -@@ -127,8 +127,8 @@ bool ExifReader::ExtractEXIFMetadata( - CameraIntrinsicsPrior* camera_intrinsics_prior) const { - CHECK_NOTNULL(camera_intrinsics_prior); - -- OpenImageIO::ImageBuf image(image_file); -- OpenImageIO::ImageSpec image_spec = image.spec(); -+ OIIO_NAMESPACE::ImageBuf image(image_file); -+ OIIO_NAMESPACE::ImageSpec image_spec = image.spec(); - - // Set the image dimensions. - camera_intrinsics_prior->image_width = image_spec.width; -@@ -154,7 +154,7 @@ bool ExifReader::ExtractEXIFMetadata( - camera_intrinsics_prior->focal_length.is_set = true; - - // Set GPS latitude. -- const OpenImageIO::ImageIOParameter* latitude = -+ const OIIO_NAMESPACE::ImageIOParameter* latitude = - image_spec.find_attribute("GPS:Latitude"); - if (latitude != nullptr) { - camera_intrinsics_prior->latitude.is_set = true; -@@ -173,7 +173,7 @@ bool ExifReader::ExtractEXIFMetadata( - } - - // Set GPS longitude. -- const OpenImageIO::ImageIOParameter* longitude = -+ const OIIO_NAMESPACE::ImageIOParameter* longitude = - image_spec.find_attribute("GPS:Longitude"); - if (longitude != nullptr) { - camera_intrinsics_prior->longitude.is_set = true; -@@ -193,7 +193,7 @@ bool ExifReader::ExtractEXIFMetadata( - - - // Set GSP altitude. -- const OpenImageIO::ImageIOParameter* altitude = -+ const OIIO_NAMESPACE::ImageIOParameter* altitude = - image_spec.find_attribute("GPS:Altitude"); - if (altitude != nullptr) { - camera_intrinsics_prior->altitude.is_set = true; -@@ -205,7 +205,7 @@ bool ExifReader::ExtractEXIFMetadata( - } - - bool ExifReader::SetFocalLengthFromExif( -- const OpenImageIO::ImageSpec& image_spec, -+ const OIIO_NAMESPACE::ImageSpec& image_spec, - CameraIntrinsicsPrior* camera_intrinsics_prior) const { - static const float kMinFocalLength = 1e-2; - -@@ -268,7 +268,7 @@ bool ExifReader::SetFocalLengthFromExif( - } - - bool ExifReader::SetFocalLengthFromSensorDatabase( -- const OpenImageIO::ImageSpec& image_spec, -+ const OIIO_NAMESPACE::ImageSpec& image_spec, - CameraIntrinsicsPrior* camera_intrinsics_prior) const { - const int max_image_dimension = std::max(image_spec.width, image_spec.height); - const float exif_focal_length = -diff --git a/src/theia/sfm/exif_reader.h b/src/theia/sfm/exif_reader.h -index 3049cf4..d9d3108 100644 ---- a/src/theia/sfm/exif_reader.h -+++ b/src/theia/sfm/exif_reader.h -@@ -74,13 +74,13 @@ class ExifReader { - // Sets the focal length from the focal plane resolution. Returns true if a - // valid focal length is found and false otherwise. - bool SetFocalLengthFromExif( -- const OpenImageIO::ImageSpec& image_spec, -+ const OIIO_NAMESPACE::ImageSpec& image_spec, - CameraIntrinsicsPrior* camera_intrinsics_prior) const; - - // Sets the focal length from a look up in the sensor width database. Returns - // true if a valid focal length is found and false otherwise. - bool SetFocalLengthFromSensorDatabase( -- const OpenImageIO::ImageSpec& image_spec, -+ const OIIO_NAMESPACE::ImageSpec& image_spec, - CameraIntrinsicsPrior* camera_intrinsics_prior) const; - - std::unordered_map sensor_width_database_; -diff --git a/src/theia/sfm/undistort_image.cc b/src/theia/sfm/undistort_image.cc -index 95a061d..ae0690e 100644 ---- a/src/theia/sfm/undistort_image.cc -+++ b/src/theia/sfm/undistort_image.cc -@@ -160,9 +160,9 @@ void RemoveImageLensDistortion(const Camera& distorted_camera, - // For each pixel in the undistorted image, find the coordinate in the - // distorted image and set the pixel color accordingly. - const int num_channels = distorted_image.Channels(); -- OpenImageIO::ImageBuf& undistorted_img = -+ OIIO_NAMESPACE::ImageBuf& undistorted_img = - undistorted_image->GetOpenImageIOImageBuf(); -- OpenImageIO::ImageBuf::Iterator undistorted_it(undistorted_img); -+ OIIO_NAMESPACE::ImageBuf::Iterator undistorted_it(undistorted_img); - for (; !undistorted_it.done(); ++undistorted_it) { - Eigen::Vector2d image_point(undistorted_it.x() + 0.5, - undistorted_it.y() + 0.5); diff --git a/ports/theia/fix-vlfeat-static.patch b/ports/theia/fix-vlfeat-static.patch deleted file mode 100644 index cbade039f..000000000 --- a/ports/theia/fix-vlfeat-static.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/libraries/vlfeat/CMakeLists.txt b/libraries/vlfeat/CMakeLists.txt -index d248bcf..24469c9 100644 ---- a/libraries/vlfeat/CMakeLists.txt -+++ b/libraries/vlfeat/CMakeLists.txt -@@ -16,11 +16,11 @@ set(vl_sources - set_source_files_properties(${vl_sources} PROPERTIES LANGUAGE C) - - if (MSVC) -- add_definitions(-DVL_BUILD_DLL) -+ #add_definitions(-DVL_BUILD_DLL) - add_definitions(-DVL_DISABLE_SSE2) - endif (MSVC) - --add_library(vlfeat SHARED ${vl_sources}) -+add_library(vlfeat ${vl_sources}) - install(TARGETS vlfeat - EXPORT TheiaExport - RUNTIME DESTINATION bin -diff --git a/libraries/vlfeat/vl/host.h b/libraries/vlfeat/vl/host.h -index 4fdb86c..01c1134 100644 ---- a/libraries/vlfeat/vl/host.h -+++ b/libraries/vlfeat/vl/host.h -@@ -316,18 +316,24 @@ defined(__DOXYGEN__) - # define snprintf _snprintf - # define isnan _isnan - #endif --# ifdef VL_BUILD_DLL -+# if defined(VL_BUILD_DLL) - # ifdef __cplusplus - # define VL_EXPORT extern "C" __declspec(dllexport) - # else - # define VL_EXPORT extern __declspec(dllexport) - # endif --# else -+# elif defined(VL_DLL) - # ifdef __cplusplus - # define VL_EXPORT extern "C" __declspec(dllimport) - # else - # define VL_EXPORT extern __declspec(dllimport) - # endif -+# else -+# ifdef __cplusplus -+# define VL_EXPORT extern "C" -+# else -+# define VL_EXPORT extern -+# endif - # endif - #endif - diff --git a/ports/theia/portfile.cmake b/ports/theia/portfile.cmake index a6dc5d02f..c131ac095 100644 --- a/ports/theia/portfile.cmake +++ b/ports/theia/portfile.cmake @@ -2,31 +2,23 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if(VCPKG_TARGET_ARCHIECTURE STREQUAL "x86") - message(FATAL_ERROR "theia requires ceres[suitesparse] which depends on suitesparse which depends on openblas which is unavailable on x86.") -endif() - - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sweeneychris/TheiaSfM REF v0.8 SHA512 2f620389c415badec36f4b44be0378fc62761dd6b2ee4cd7033b13573c372f098e248553575fb2cceb757b1ca00e86a11c67e03b6077e0a4b0f8797065746312 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-vlfeat-static.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-glog-error.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-find-suitesparse.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-oiio.patch + fix-external-dependencies.patch ) +file(REMOVE ${SOURCE_PATH}/cmake/FindSuiteSparse.cmake) +file(REMOVE ${SOURCE_PATH}/cmake/FindGflags.cmake) +file(REMOVE ${SOURCE_PATH}/cmake/FindGlog.cmake) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DBUILD_TESTING=OFF -DTHEIA_USE_EXTERNAL_CEREAL=ON @@ -34,28 +26,19 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake") - -# Changes target search path -file(READ ${CURRENT_PACKAGES_DIR}/share/theia/TheiaConfig.cmake THEIA_TARGETS) -string(REPLACE "get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${THEIA_CURRENT_CONFIG_INSTALL_DIR}/../ ABSOLUTE)" - "get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${THEIA_CURRENT_CONFIG_INSTALL_DIR}/../../ ABSOLUTE)" THEIA_TARGETS "${THEIA_TARGETS}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/theia/TheiaConfig.cmake "${THEIA_TARGETS}") - +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() # Clean file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/optimo) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/optimo) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/theia/libraries/akaze/cimg/cmake-modules) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/theia/libraries/akaze/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/theia/libraries/akaze/datasets) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/theia/libraries/spectra/doxygen) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/optimo) # Handle copyright -file(COPY ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/theia) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/theia/license.txt ${CURRENT_PACKAGES_DIR}/share/theia/copyright) +file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/theia RENAME copyright) file(COPY ${SOURCE_PATH}/data/camera_sensor_database_license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/theia) diff --git a/ports/x265/portfile.cmake b/ports/x265/portfile.cmake index 6b207baf3..987e72246 100644 --- a/ports/x265/portfile.cmake +++ b/ports/x265/portfile.cmake @@ -14,7 +14,7 @@ vcpkg_apply_patches( ) set(ENABLE_ASSEMBLY OFF) -if (WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") vcpkg_find_acquire_program(NASM) get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}") @@ -41,9 +41,9 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/x265) -if(UNIX) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") file(RENAME ${CURRENT_PACKAGES_DIR}/bin/x265 ${CURRENT_PACKAGES_DIR}/tools/x265/x265) -elseif(WIN32) +elseif(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") file(RENAME ${CURRENT_PACKAGES_DIR}/bin/x265.exe ${CURRENT_PACKAGES_DIR}/tools/x265/x265.exe) endif() @@ -55,4 +55,4 @@ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/x265) # Handle copyright file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/x265) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/x265/COPYING ${CURRENT_PACKAGES_DIR}/share/x265/copyright) \ No newline at end of file +file(RENAME ${CURRENT_PACKAGES_DIR}/share/x265/COPYING ${CURRENT_PACKAGES_DIR}/share/x265/copyright) diff --git a/ports/zxing-cpp/portfile.cmake b/ports/zxing-cpp/portfile.cmake index 06a2e6b49..40f1aca5b 100644 --- a/ports/zxing-cpp/portfile.cmake +++ b/ports/zxing-cpp/portfile.cmake @@ -23,11 +23,11 @@ vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/zxing/cmake" TARGET_PATH share/zxing) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/zxing) -if (WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing) -else(WIN32) +else() file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing) -endif(WIN32) +endif() vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/zxing) vcpkg_copy_pdbs() -- cgit v1.2.3 From f2e1c52db8fe100ef91313760d6a59a13ac6e05e Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Sat, 1 Jun 2019 01:14:23 +0200 Subject: [gdcm,jbig2dec] move patches from #5169 (#6710) * [gdcm,jbig2dec] minor fixes * [libmupdf] remove wrong vs define * [gdcm] internal libs do not export symbols and fail to build when non-static --- ports/gdcm/CONTROL | 2 +- ports/gdcm/find-openjpeg.patch | 48 --------------------------------- ports/gdcm/portfile.cmake | 19 +++++-------- ports/gdcm/use-openjpeg-config.patch | 16 +++++++++++ ports/jbig2dec/CMakeLists.txt | 2 -- ports/jbig2dec/CONTROL | 3 +-- ports/jbig2dec/portfile.cmake | 4 ++- ports/libmupdf/CONTROL | 8 +++--- ports/libmupdf/portfile.cmake | 3 ++- ports/libmupdf/remove_opj_defines.patch | 16 +++++++++++ 10 files changed, 50 insertions(+), 71 deletions(-) delete mode 100644 ports/gdcm/find-openjpeg.patch create mode 100644 ports/gdcm/use-openjpeg-config.patch create mode 100644 ports/libmupdf/remove_opj_defines.patch diff --git a/ports/gdcm/CONTROL b/ports/gdcm/CONTROL index 127a89c67..d0dbcc652 100644 --- a/ports/gdcm/CONTROL +++ b/ports/gdcm/CONTROL @@ -1,4 +1,4 @@ Source: gdcm -Version: 3.0.0 +Version: 3.0.0-1 Description: Grassroots DICOM library Build-Depends: zlib, expat, openjpeg diff --git a/ports/gdcm/find-openjpeg.patch b/ports/gdcm/find-openjpeg.patch deleted file mode 100644 index c3fff18f5..000000000 --- a/ports/gdcm/find-openjpeg.patch +++ /dev/null @@ -1,48 +0,0 @@ ---- a/CMake/FindOpenJPEG.cmake -+++ b/CMake/FindOpenJPEG.cmake -@@ -20,14 +20,38 @@ - - # Try with pkg-config first - find_package(PkgConfig) --pkg_check_modules(OPENJPEG libopenjp2) -+if (PKG_CONFIG_FOUND) -+ pkg_check_modules(OPENJPEG libopenjp2) -+ include(FindPackageHandleStandardArgs) -+ find_package_handle_standard_args(OpenJPEG REQUIRED_VARS -+ OPENJPEG_LIBRARIES -+ OPENJPEG_INCLUDE_DIRS -+ VERSION_VAR OPENJPEG_VERSION -+ ) -+endif() - --include(FindPackageHandleStandardArgs) --find_package_handle_standard_args(OpenJPEG REQUIRED_VARS -- OPENJPEG_LIBRARIES -- OPENJPEG_INCLUDE_DIRS -- VERSION_VAR OPENJPEG_VERSION --) -+find_path(OPENJPEG_INCLUDE_DIR NAMES openjpeg.h) -+find_library(OPENJPEG_LIBRARY NAMES openjp2) -+if (OPENJPEG_LIBRARY) -+ string(FIND ${OPENJPEG_LIBRARY} debug _debug_substrpos) -+ if (_debug_substrpos EQUAL -1) -+ set(OPENJPEG_LIBRARY_RELEASE ${OPENJPEG_LIBRARY}) -+ string(REPLACE "/lib" "/debug/lib" OPENJPEG_LIBRARY_DEBUG ${OPENJPEG_LIBRARY_RELEASE}) -+ else() -+ set(OPENJPEG_LIBRARY_DEBUG ${OPENJPEG_LIBRARY}) -+ string(REPLACE "/debug/lib" "/lib" OPENJPEG_LIBRARY_RELEASE ${OPENJPEG_LIBRARY_DEBUG}) -+ endif() -+ set(OPENJPEG_LIBRARY optimized ${OPENJPEG_LIBRARY_RELEASE} debug ${OPENJPEG_LIBRARY_DEBUG}) -+ set(OPENJPEG_FOUND TRUE) -+endif() -+ -+if (OPENJPEG_FOUND) -+ set(OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARY}) -+ set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_DIR}) -+ message(STATUS "Found OPENJPEG library ${OPENJPEG_LIBRARIES}") -+else() -+ message(FATAL_ERROR "NOT found OPENJPEG") -+endif() - - mark_as_advanced( - OPENJPEG_LIBRARIES diff --git a/ports/gdcm/portfile.cmake b/ports/gdcm/portfile.cmake index 80b0ab6d8..3fba69409 100644 --- a/ports/gdcm/portfile.cmake +++ b/ports/gdcm/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO malaterre/GDCM @@ -7,22 +9,18 @@ vcpkg_from_github( SHA512 2ac076dd49011234f4431ffe67fcba84a1ca9042ec5fc4dfc8aed2ed16bec5f499fa7aa666e5630796afc266ce76741d931cca333534b55fdc477e25a9189d33 HEAD_REF master PATCHES - find-openjpeg.patch + use-openjpeg-config.patch fix-share-path.patch ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(GDCM_BUILD_SHARED_LIBS ON) -else() - set(GDCM_BUILD_SHARED_LIBS OFF) -endif() +file(REMOVE ${SOURCE_PATH}/CMake/FindOpenJPEG.cmake) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja + PREFER_NINJA OPTIONS -DGDCM_BUILD_DOCBOOK_MANPAGES=OFF - -DGDCM_BUILD_SHARED_LIBS=${GDCM_BUILD_SHARED_LIBS} + -DGDCM_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -DGDCM_INSTALL_INCLUDE_DIR=include -DGDCM_USE_SYSTEM_EXPAT=ON -DGDCM_USE_SYSTEM_ZLIB=ON @@ -31,8 +29,8 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/gdcm TARGET_PATH share/gdcm) +vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include @@ -43,7 +41,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -# Handle copyright file(INSTALL ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/gdcm RENAME copyright) - -vcpkg_copy_pdbs() diff --git a/ports/gdcm/use-openjpeg-config.patch b/ports/gdcm/use-openjpeg-config.patch new file mode 100644 index 000000000..ff64bb1c2 --- /dev/null +++ b/ports/gdcm/use-openjpeg-config.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f82bfd2..a062170 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -375,7 +375,10 @@ else() + endif() + + if(GDCM_USE_SYSTEM_OPENJPEG) +- find_package(OpenJPEG 2.0.0 REQUIRED) ++ find_package(OpenJPEG REQUIRED) ++ if(OPENJPEG_MAJOR_VERSION VERSION_LESS 2) ++ message( FATAL_ERROR "You need at least OpenJPEG 2") ++ endif() + set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) + else() + set(GDCM_OPENJPEG_LIBRARIES gdcmopenjp2) diff --git a/ports/jbig2dec/CMakeLists.txt b/ports/jbig2dec/CMakeLists.txt index a2a8376de..14b1be671 100644 --- a/ports/jbig2dec/CMakeLists.txt +++ b/ports/jbig2dec/CMakeLists.txt @@ -3,8 +3,6 @@ project(jbig2dec C) set(CMAKE_DEBUG_POSTFIX d) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - file(GLOB SOURCES jbig2*.c) list(REMOVE_ITEM SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/jbig2dec.c" diff --git a/ports/jbig2dec/CONTROL b/ports/jbig2dec/CONTROL index 4b6a2e2f0..5045673b3 100644 --- a/ports/jbig2dec/CONTROL +++ b/ports/jbig2dec/CONTROL @@ -1,4 +1,3 @@ Source: jbig2dec -Version: 0.16 +Version: 0.16-1 Description: a decoder library and example utility implementing the JBIG2 bi-level image compression spec. Also known as ITU T.88 and ISO IEC 14492, and included by reference in Adobe's PDF version 1.4 and later. - diff --git a/ports/jbig2dec/portfile.cmake b/ports/jbig2dec/portfile.cmake index c54bf69f1..a9d767937 100644 --- a/ports/jbig2dec/portfile.cmake +++ b/ports/jbig2dec/portfile.cmake @@ -1,9 +1,11 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ArtifexSoftware/jbig2dec - REF 0.16 + REF 0.16 SHA512 a8aa1b1f14466104eed412c38604b2450d1acc1c73faaaf81d5211ac7f4d636bf8d177285f6550f1f5211b31d14f1c14d83571e3e899700ebfc9af00912ed874 HEAD_REF master ) diff --git a/ports/libmupdf/CONTROL b/ports/libmupdf/CONTROL index 12060296d..ea253427f 100644 --- a/ports/libmupdf/CONTROL +++ b/ports/libmupdf/CONTROL @@ -1,4 +1,4 @@ -Source: libmupdf -Version: 1.12.0-2 -Build-Depends: freetype, libjpeg-turbo, harfbuzz, zlib, curl, glfw3, openjpeg, jbig2dec -Description: a lightweight PDF, XPS, and E-book library +Source: libmupdf +Version: 1.12.0-2 +Build-Depends: freetype, libjpeg-turbo, harfbuzz, zlib, curl, glfw3, openjpeg, jbig2dec +Description: a lightweight PDF, XPS, and E-book library diff --git a/ports/libmupdf/portfile.cmake b/ports/libmupdf/portfile.cmake index b2a56c808..0569b5505 100644 --- a/ports/libmupdf/portfile.cmake +++ b/ports/libmupdf/portfile.cmake @@ -9,7 +9,8 @@ vcpkg_from_github( SHA512 893a1958e34355acf73624e9c47f4a97adf13d5fe33604ac384df9ac22a56ef7c18e02143eaffc3c2a08f460e4c71fee00c094b6d6696f8446977bb18f65e3da HEAD_REF master PATCHES - "${CURRENT_PORT_DIR}/Fix-error-C2169.patch" + Fix-error-C2169.patch + remove_opj_defines.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/libmupdf/remove_opj_defines.patch b/ports/libmupdf/remove_opj_defines.patch new file mode 100644 index 000000000..ec591d367 --- /dev/null +++ b/ports/libmupdf/remove_opj_defines.patch @@ -0,0 +1,16 @@ +diff --git a/source/fitz/load-jpx.c b/source/fitz/load-jpx.c +index 65699ba..ea84778 100644 +--- a/source/fitz/load-jpx.c ++++ b/source/fitz/load-jpx.c +@@ -445,11 +445,6 @@ fz_load_jpx_info(fz_context *ctx, const unsigned char *data, size_t size, int *w + + #else /* HAVE_LURATECH */ + +-#define OPJ_STATIC +-#define OPJ_HAVE_INTTYPES_H +-#if !defined(_MSC_VER) || _MSC_VER >= 1600 +-#define OPJ_HAVE_STDINT_H +-#endif + #define USE_JPIP + + #include -- cgit v1.2.3 From 9356be6b5ade7056858c92012e58443aec6269d1 Mon Sep 17 00:00:00 2001 From: Curtis J Bezault Date: Fri, 31 May 2019 16:25:56 -0700 Subject: [ffmpeg] Correctly set environment variables for gcc/clang/icc (#6694) * Correctly set environment variables for gcc/clang/icc * refactor out some if statements --- ports/ffmpeg/fixed-debug-bzip2-link.patch | 33 ------------------------------- ports/ffmpeg/portfile.cmake | 27 +++++++++++++++++++------ 2 files changed, 21 insertions(+), 39 deletions(-) delete mode 100644 ports/ffmpeg/fixed-debug-bzip2-link.patch diff --git a/ports/ffmpeg/fixed-debug-bzip2-link.patch b/ports/ffmpeg/fixed-debug-bzip2-link.patch deleted file mode 100644 index 29e2913fa..000000000 --- a/ports/ffmpeg/fixed-debug-bzip2-link.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -urN a/configure b/configure ---- a/configure 2018-09-08 20:53:33.556275600 +0800 -+++ b/configure 2018-09-08 20:55:46.238584400 +0800 -@@ -4753,6 +4753,8 @@ - enable $subarch - enabled spic && enable_weak pic - -+bzlib_name=bz2 -+ - # OS specific - case $target_os in - aix) -@@ -4914,6 +4916,11 @@ - objformat="win32" - ranlib=: - enable dos_paths -+ if [ -z "${extra_cflags##*-MDd*}" ] || [ -z "${extra_cflags##*-MTd*}" ]; then -+ bzlib_name=bz2d -+ else -+ bzlib_name=bz2 -+ fi - ;; - cygwin*) - target_os=cygwin -@@ -5734,7 +5741,7 @@ - check_builtin sem_timedwait semaphore.h "sem_t *s; sem_init(s,0,0); sem_timedwait(s,0); sem_destroy(s)" - - disabled zlib || check_lib zlib.h zlibVersion -lz || disable zlib --disabled bzlib || check_lib bzlib.h BZ2_bzlibVersion -lbz2 || disable bzlib -+disabled bzlib || check_lib bzlib.h BZ2_bzlibVersion -l$bzlib_name || disable bzlib - disabled lzma || check_lib lzma.h lzma_version_number -llzma || disable lzma - - check_lib math.h sin -lm && LIBM="-lm" diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index 13572aff1..f2d0e5f93 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -16,7 +16,6 @@ vcpkg_extract_source_archive_ex( fix_windowsinclude-in-ffmpegexe-1.patch fix_windowsinclude-in-ffmpegexe-2.patch fix_windowsinclude-in-ffmpegexe-3.patch - fixed-debug-bzip2-link.patch ) if (${SOURCE_PATH} MATCHES " ") @@ -26,8 +25,23 @@ endif() vcpkg_find_acquire_program(YASM) get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY) -if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR (NOT VCPKG_CMAKE_SYSTEM_NAME)) + set(SEP ";") +else() + set(SEP ":") +endif() + +if($CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + set(INCLUDE_VAR "INCLUDE") + set(LIB_PATH_VAR "LIB") +else() + set(INCLUDE_VAR "CPATH") + set(LIB_PATH_VAR "LIBRARY_PATH") +endif() + +if (WIN32) set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}") + set(BUILD_SCRIPT ${CMAKE_CURRENT_LIST_DIR}\\build.sh) if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") @@ -43,7 +57,7 @@ else() set(BUILD_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/build_linux.sh) endif() -set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}") +set(ENV{${INCLUDE_VAR}} "${CURRENT_INSTALLED_DIR}/include${SEP}$ENV{${INCLUDE_VAR}}") set(_csc_PROJECT_PATH ffmpeg) @@ -150,9 +164,9 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore endif() endif() -set(ENV_LIB "$ENV{LIB}") +set(ENV_LIB_PATH "$ENV{${LIB_PATH_VAR}}") +set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/lib${SEP}${ENV_LIB_PATH}") -set(ENV{LIB} "${CURRENT_INSTALLED_DIR}/lib;${ENV_LIB}") message(STATUS "Building ${_csc_PROJECT_PATH} for Release") file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) vcpkg_execute_required_process( @@ -165,7 +179,8 @@ vcpkg_execute_required_process( LOGNAME build-${TARGET_TRIPLET}-rel ) -set(ENV{LIB} "${CURRENT_INSTALLED_DIR}/debug/lib;${ENV_LIB}") +set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/debug/lib${SEP}${ENV_LIB_PATH}") + message(STATUS "Building ${_csc_PROJECT_PATH} for Debug") file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) vcpkg_execute_required_process( -- cgit v1.2.3 From c62dfa26ccff3031494d1c8819d78a42dd719c5c Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Sat, 1 Jun 2019 14:19:32 +0800 Subject: [DOXYGEN]Upgrade doxygen to 1.8.15. (#6704) --- scripts/cmake/vcpkg_find_acquire_program.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index d5e95eb4b..1e14ae175 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -223,9 +223,9 @@ function(vcpkg_find_acquire_program VAR) elseif(VAR MATCHES "DOXYGEN") set(PROGNAME doxygen) set(PATHS ${DOWNLOADS}/tools/doxygen) - set(URL "http://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.14.windows.bin.zip") - set(ARCHIVE "doxygen-1.8.14.windows.bin.zip") - set(HASH d0d706501e7112045b1f401f22d12a2c8d9b7728edee9ad1975a17dff914c16494ae48a70beab6f6304643779935843f268c7afed3b9da7d403b5cb11cac0c50) + set(URL "http://doxygen.nl/files/doxygen-1.8.15.windows.bin.zip") + set(ARCHIVE "doxygen-1.8.15.windows.bin.zip") + set(HASH 89482dcb1863d381d47812c985593e736d703931d49994e09c7c03ef67e064115d0222b8de1563a7930404c9bc2d3be323f3d13a01ef18861be584db3d5a953c) # Download Tools elseif(VAR MATCHES "ARIA2") set(PROGNAME aria2c) -- cgit v1.2.3 From 6633185eed843707e3516d4d5ef6f7ac6f753cb5 Mon Sep 17 00:00:00 2001 From: cDc Date: Sat, 1 Jun 2019 09:20:27 +0300 Subject: update to v1.0 (#6692) --- ports/openmvs/CONTROL | 4 ++-- ports/openmvs/portfile.cmake | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/openmvs/CONTROL b/ports/openmvs/CONTROL index 2b6c20b71..f4863e175 100644 --- a/ports/openmvs/CONTROL +++ b/ports/openmvs/CONTROL @@ -1,4 +1,4 @@ Source: openmvs -Version: 0.9 +Version: 1.0 Description: OpenMVS: open Multi-View Stereo reconstruction library -Build-Depends: zlib, boost, eigen3, ceres, opencv, cgal, glew, glfw3, vcglib +Build-Depends: zlib, boost-iostreams, boost-program-options, boost-system, boost-serialization, eigen3, ceres, opencv, cgal[core], glew, glfw3, vcglib diff --git a/ports/openmvs/portfile.cmake b/ports/openmvs/portfile.cmake index 790951b18..22945ab2e 100644 --- a/ports/openmvs/portfile.cmake +++ b/ports/openmvs/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cdcseacave/openMVS - REF v0.9 - SHA512 a1081ee8562324137273846526c6570c77b35dba6a1a46df4e67f19cf7d0a1a4d4f6091b9444b66e0ca322f466b418ce4535d0c7ce10000df389cbe615f0c0b6 + REF v1.0 + SHA512 d5743660286068d2ec9e80b8cfdf1dd612d76f12f1f10c95d32bab55ae65032a200d820f2c76e4781068c61597e2533df8755fd5d9076d3aac9223134eb5b561 HEAD_REF master PATCHES glfw3_target_compat.patch -- cgit v1.2.3 From d605091f75a4657630c370cc72cfa8d14dad8e39 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Sat, 1 Jun 2019 15:11:06 +0800 Subject: [assimp]Fix lrrXML library dependencies. (#6593) * [assimp]Fix lrrXML library dependencies. * [assimp]Use FindZLIB.cmake instead of setting the zlib path. * [assimp]Delete useless path. * [assimp]Reserve macros to enable irrlich dependencies in the future. --- ports/assimp/CONTROL | 2 +- ports/assimp/portfile.cmake | 21 ++++++++++----------- ports/assimp/remove-useless-path.patch | 12 ++++++++++++ 3 files changed, 23 insertions(+), 12 deletions(-) create mode 100644 ports/assimp/remove-useless-path.patch diff --git a/ports/assimp/CONTROL b/ports/assimp/CONTROL index 504cae234..0756978d6 100644 --- a/ports/assimp/CONTROL +++ b/ports/assimp/CONTROL @@ -1,4 +1,4 @@ Source: assimp -Version: 4.1.0-4 +Version: 4.1.0-5 Description: The Open Asset import library Build-Depends: zlib, rapidjson diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake index 1c40efe7e..95aefe020 100644 --- a/ports/assimp/portfile.cmake +++ b/ports/assimp/portfile.cmake @@ -9,6 +9,7 @@ vcpkg_from_github( PATCHES dont-overwrite-prefix-path.patch uninitialized-variable.patch + remove-useless-path.patch ) file(REMOVE ${SOURCE_PATH}/cmake-modules/FindZLIB.cmake) @@ -26,14 +27,7 @@ vcpkg_configure_cmake( -DASSIMP_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_INSTALL_PDB=OFF - -DZLIB_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include - -DZLIB_FOUND=1 - OPTIONS_RELEASE - -DZLIB_LIBRARIES=${CURRENT_INSTALLED_DIR}/lib/zlib.lib - -DZLIB_LIBRARY=${CURRENT_INSTALLED_DIR}/lib/zlib.lib - OPTIONS_DEBUG - -DZLIB_LIBRARIES=${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib - -DZLIB_LIBRARY=${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib + #-DSYSTEM_IRRXML=ON # Wait for the built-in irrxml to synchronize with port irrlich, add dependencies and enable this macro ) vcpkg_install_cmake() @@ -50,9 +44,14 @@ file(READ ${CURRENT_PACKAGES_DIR}/share/assimp/assimp-config.cmake ASSIMP_CONFIG string(REPLACE "get_filename_component(ASSIMP_ROOT_DIR \"\${_PREFIX}\" PATH)" "set(ASSIMP_ROOT_DIR \${_PREFIX})" ASSIMP_CONFIG ${ASSIMP_CONFIG}) -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})" - "set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES}.lib debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/\${ASSIMP_LIBRARIES}d.lib)" ASSIMP_CONFIG ${ASSIMP_CONFIG}) +if(WIN32) + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})" + "set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES}.lib debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/\${ASSIMP_LIBRARIES}d.lib)" ASSIMP_CONFIG ${ASSIMP_CONFIG}) + else() + string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})" + "set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES}.lib \${ASSIMP_LIBRARY_DIRS}/IrrXML.lib debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/\${ASSIMP_LIBRARIES}d.lib \${ASSIMP_LIBRARY_DIRS}/../debug/lib/IrrXMLd.lib)" ASSIMP_CONFIG ${ASSIMP_CONFIG}) + endif() else() string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})" "set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/lib\${ASSIMP_LIBRARIES}.a \${ASSIMP_LIBRARY_DIRS}/libIrrXML.a \${ASSIMP_LIBRARY_DIRS}/libz.a debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/lib\${ASSIMP_LIBRARIES}d.a \${ASSIMP_LIBRARY_DIRS}/../debug/lib/libIrrXMLd.a \${ASSIMP_LIBRARY_DIRS}/../debug/lib/libz.a)" ASSIMP_CONFIG ${ASSIMP_CONFIG}) diff --git a/ports/assimp/remove-useless-path.patch b/ports/assimp/remove-useless-path.patch new file mode 100644 index 000000000..d16494f98 --- /dev/null +++ b/ports/assimp/remove-useless-path.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4a20cee..4fcb8dd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -108,7 +108,6 @@ if (WIN32) + endif() + + IF(MSVC) +- SET (CMAKE_PREFIX_PATH "D:\\libs\\devil") + OPTION( ASSIMP_INSTALL_PDB + "Install MSVC debug files." + ON -- cgit v1.2.3 From 046f8383efd70f57814faf1a8b7ef628c92ed959 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 1 Jun 2019 15:19:52 +0800 Subject: [json-c] Add new port (#6446) * [json-c] Add new port * [json-c] Export CMake module file * [json-c] Update to 2019-05-31 --- ports/json-c/CONTROL | 3 +++ ports/json-c/portfile.cmake | 28 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 ports/json-c/CONTROL create mode 100644 ports/json-c/portfile.cmake diff --git a/ports/json-c/CONTROL b/ports/json-c/CONTROL new file mode 100644 index 000000000..ebd0ed02d --- /dev/null +++ b/ports/json-c/CONTROL @@ -0,0 +1,3 @@ +Source: json-c +Version: 2019-05-31 +Description: A JSON implementation in C diff --git a/ports/json-c/portfile.cmake b/ports/json-c/portfile.cmake new file mode 100644 index 000000000..75ad6da61 --- /dev/null +++ b/ports/json-c/portfile.cmake @@ -0,0 +1,28 @@ +include(vcpkg_common_functions) + +# https://github.com/json-c/json-c/issues/488 +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO json-c/json-c + REF 2b1903cc6941fb87db7526680829486f27fb1073 + SHA512 0ee71a0c2f75f5114b65f06ef921ac7a66173d66592fa880336896de64f3a325b251028b35396184cd7c3ffd15db3826bed83200fa80f4d11607fdf758138bf9 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) -- cgit v1.2.3 From e251b22f266cfd9115d784c34bf7294b3cc41137 Mon Sep 17 00:00:00 2001 From: Alexej Harm Date: Sat, 1 Jun 2019 16:28:38 +0200 Subject: [reproc] Enabled C++ target for version 6.0.0. (#6711) * enabled reproc++ target * added version suffix --- ports/reproc/CONTROL | 6 ++--- ports/reproc/portfile.cmake | 59 ++++++++++++++++++++++++--------------------- 2 files changed, 34 insertions(+), 31 deletions(-) diff --git a/ports/reproc/CONTROL b/ports/reproc/CONTROL index 825ba92f9..d55102f55 100644 --- a/ports/reproc/CONTROL +++ b/ports/reproc/CONTROL @@ -1,3 +1,3 @@ -Source: reproc -Version: 6.0.0 -Description: Cross-platform library that simplifies working with external CLI applications from C and C++ +Source: reproc +Version: 6.0.0-1 +Description: Cross-platform library that simplifies working with external CLI applications from C and C++ diff --git a/ports/reproc/portfile.cmake b/ports/reproc/portfile.cmake index 89cf5f491..e263c194c 100644 --- a/ports/reproc/portfile.cmake +++ b/ports/reproc/portfile.cmake @@ -1,29 +1,32 @@ -include(vcpkg_common_functions) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO DaanDeMeyer/reproc +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DaanDeMeyer/reproc REF v6.0.0 - SHA512 482eb7b52961878877d1e4a4f1e1a5a867ff5b83f0df3ce47c0eb68f43eabcde720ea7ccb2eeb960dbc29fc61c888db62751984425e9b27c7498dfa4441aa801 - HEAD_REF master -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DREPROC_BUILD_CXX_WRAPPER=ON - -DREPROC_INSTALL=ON -) - -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/reproc) - - -# Debug -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle License -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/reproc) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/reproc/LICENSE ${CURRENT_PACKAGES_DIR}/share/reproc/copyright) \ No newline at end of file + SHA512 482eb7b52961878877d1e4a4f1e1a5a867ff5b83f0df3ce47c0eb68f43eabcde720ea7ccb2eeb960dbc29fc61c888db62751984425e9b27c7498dfa4441aa801 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DREPROC++=ON + -DREPROC++_INSTALL=ON + -DREPROC_INSTALL=ON +) + +vcpkg_install_cmake() + +file(GLOB REPROC_CMAKE_FILES ${CURRENT_PACKAGES_DIR}/lib/cmake/reproc++/*) +file(COPY ${REPROC_CMAKE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/cmake/reproc) + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/reproc) + +# Debug +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle License +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/reproc) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/reproc/LICENSE ${CURRENT_PACKAGES_DIR}/share/reproc/copyright) -- cgit v1.2.3 From e224d34cb96b4fcdc903e78e50e62dc6ad6de67b Mon Sep 17 00:00:00 2001 From: Krzysztof Kawa Date: Sat, 1 Jun 2019 22:21:44 +0200 Subject: Copying debugging symbols for libvpx. --- ports/libvpx/CONTROL | 2 +- ports/libvpx/portfile.cmake | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ports/libvpx/CONTROL b/ports/libvpx/CONTROL index 50d23a717..fabd02095 100644 --- a/ports/libvpx/CONTROL +++ b/ports/libvpx/CONTROL @@ -1,3 +1,3 @@ Source: libvpx -Version: 1.7.0-2 +Version: 1.7.0-3 Description: The reference software implementation for the video coding formats VP8 and VP9. diff --git a/ports/libvpx/portfile.cmake b/ports/libvpx/portfile.cmake index 009a0161d..959f7b3ba 100644 --- a/ports/libvpx/portfile.cmake +++ b/ports/libvpx/portfile.cmake @@ -78,9 +78,13 @@ vcpkg_build_msbuild( if(VCPKG_CRT_LINKAGE STREQUAL dynamic) file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmdd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmd.pdb") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmdd.pdb") else() file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmt.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmtd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmt.pdb") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmtd.pdb") endif() if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm) -- cgit v1.2.3 From 1e0942f5007c08dca1daa953820b43981815274f Mon Sep 17 00:00:00 2001 From: Krzysztof Kawa Date: Sun, 2 Jun 2019 00:56:43 +0200 Subject: Fixed copy/paste file extension error --- ports/libvpx/portfile.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/libvpx/portfile.cmake b/ports/libvpx/portfile.cmake index 959f7b3ba..a985ea123 100644 --- a/ports/libvpx/portfile.cmake +++ b/ports/libvpx/portfile.cmake @@ -83,8 +83,8 @@ if(VCPKG_CRT_LINKAGE STREQUAL dynamic) else() file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmt.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmtd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmt.pdb") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmtd.pdb") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmt.pdb") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmtd.pdb") endif() if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm) -- cgit v1.2.3 From 64d6b21c78b2da474fa88b08c6abde86f7603ae5 Mon Sep 17 00:00:00 2001 From: Daniel Marshall Date: Sun, 2 Jun 2019 01:04:47 +0100 Subject: fix casing (#6722) --- ports/rs-core-lib/portfile.cmake | 2 +- ports/unicorn-lib/portfile.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/rs-core-lib/portfile.cmake b/ports/rs-core-lib/portfile.cmake index 1f0713a02..239d61126 100644 --- a/ports/rs-core-lib/portfile.cmake +++ b/ports/rs-core-lib/portfile.cmake @@ -11,4 +11,4 @@ vcpkg_from_github( file(INSTALL ${SOURCE_PATH}/rs-core DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.hpp") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/rs-core-lib RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/rs-core-lib RENAME copyright) \ No newline at end of file diff --git a/ports/unicorn-lib/portfile.cmake b/ports/unicorn-lib/portfile.cmake index dff094ef8..305d659ac 100644 --- a/ports/unicorn-lib/portfile.cmake +++ b/ports/unicorn-lib/portfile.cmake @@ -28,4 +28,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/unicorn-lib RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/unicorn-lib RENAME copyright) \ No newline at end of file -- cgit v1.2.3 From c76cc635dc412963dcfd203d0f67ea29f82d68bb Mon Sep 17 00:00:00 2001 From: emptyVoid Date: Sun, 2 Jun 2019 22:26:04 +0700 Subject: Move gpg-agent termination to vcpkg_acquire_msys. --- ports/icu/portfile.cmake | 8 -------- scripts/cmake/vcpkg_acquire_msys.cmake | 8 ++++++++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ports/icu/portfile.cmake b/ports/icu/portfile.cmake index 91cba5db7..2061111e9 100644 --- a/ports/icu/portfile.cmake +++ b/ports/icu/portfile.cmake @@ -209,11 +209,3 @@ vcpkg_copy_pdbs() # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/icu) file(RENAME ${CURRENT_PACKAGES_DIR}/share/icu/LICENSE ${CURRENT_PACKAGES_DIR}/share/icu/copyright) - -# Deal with a stale process created by MSYS -if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_execute_required_process( - COMMAND TASKKILL /F /IM gpg-agent.exe /fi "memusage gt 2" - WORKING_DIRECTORY ${SOURCE_PATH} - ) -endif() diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake index adbd58ca5..09090db68 100644 --- a/scripts/cmake/vcpkg_acquire_msys.cmake +++ b/scripts/cmake/vcpkg_acquire_msys.cmake @@ -113,5 +113,13 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) message(STATUS "Acquiring MSYS Packages... OK") endif() + # Deal with a stale process created by MSYS + if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_execute_required_process( + COMMAND TASKKILL /F /IM gpg-agent.exe /fi "memusage gt 2" + WORKING_DIRECTORY ${SOURCE_PATH} + ) + endif() + set(${PATH_TO_ROOT_OUT} ${PATH_TO_ROOT} PARENT_SCOPE) endfunction() -- cgit v1.2.3 From 66169e3f0d5f69a853c5f5c9d9c78af04d47ddfd Mon Sep 17 00:00:00 2001 From: Norbert Nemec Date: Mon, 3 Jun 2019 15:02:21 +0200 Subject: [glibmm] Rephrase comment --- ports/glibmm/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt index 389ae8dfb..d48d9261b 100644 --- a/ports/glibmm/CMakeLists.txt +++ b/ports/glibmm/CMakeLists.txt @@ -40,9 +40,9 @@ if(APPLE) link_libraries(${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${FOUNDATION_LIBRARY}) endif() -# A hacky solution for building Windows DLLs from sources ported from Linux. -# The cleaner approach would be to manually add __declspec(dllexport) to all public symbols in the header files or -# construct a .def file. +# Activate workaround for exporting all symbols from Windows DLLs to mimic the +# behavior on Linux, where dynamic libraries always export all symbols. +# The same approach was already used by the upstream MSVC build (see MSVC_NMake/gendef/gendef.cc) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) if(BUILD_SHARED_LIBS) -- cgit v1.2.3 From 35c8538e2cae64d79ec48c2c16b9bf97365ec21d Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 3 Jun 2019 22:31:35 +0200 Subject: [pdal] delete and replace different find modules (#6603) * [pdal] delete and replace different find modules * [pdal] add geotiff as a dependency to the config of pdal * remove version --- ports/pdal/FindGDAL.cmake | 13 ------------- ports/pdal/PDALConfig.patch | 13 +++++++++++++ ports/pdal/portfile.cmake | 16 ++++++++++++---- 3 files changed, 25 insertions(+), 17 deletions(-) delete mode 100644 ports/pdal/FindGDAL.cmake create mode 100644 ports/pdal/PDALConfig.patch diff --git a/ports/pdal/FindGDAL.cmake b/ports/pdal/FindGDAL.cmake deleted file mode 100644 index 9683cb0e5..000000000 --- a/ports/pdal/FindGDAL.cmake +++ /dev/null @@ -1,13 +0,0 @@ -find_path(GDAL_INCLUDE_DIR gdal.h) - -find_library(GDAL_LIBRARY_DEBUG NAMES gdald) -find_library(GDAL_LIBRARY_RELEASE NAMES gdal) - -include(SelectLibraryConfigurations) -select_library_configurations(GDAL) - -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS( - GDAL DEFAULT_MSG - GDAL_LIBRARY GDAL_INCLUDE_DIR -) diff --git a/ports/pdal/PDALConfig.patch b/ports/pdal/PDALConfig.patch new file mode 100644 index 000000000..ea7681dc1 --- /dev/null +++ b/ports/pdal/PDALConfig.patch @@ -0,0 +1,13 @@ +diff --git a/PDALConfig.cmake.in b/PDALConfig.cmake.in +index a03ef142e..2d06a2937 100644 +--- a/PDALConfig.cmake.in ++++ b/PDALConfig.cmake.in +@@ -15,6 +15,8 @@ foreach(_dir @PDAL_CONFIG_LIBRARY_DIRS@) + list(APPEND PDAL_LIBRARY_DIRS ${_foo}) + endforeach(_dir) + ++include(CMakeFindDependencyMacro) ++find_dependency(GeoTIFF) + include("${CMAKE_CURRENT_LIST_DIR}/PDALTargets.cmake") + + if (WIN32) diff --git a/ports/pdal/portfile.cmake b/ports/pdal/portfile.cmake index 2ceaf99ab..566fc08e4 100644 --- a/ports/pdal/portfile.cmake +++ b/ports/pdal/portfile.cmake @@ -18,13 +18,21 @@ vcpkg_extract_source_archive_ex( 0001-win32_compiler_options.cmake.patch 0002-no-source-dir-writes.patch 0003-fix-copy-vendor.patch + PDALConfig.patch ) file(REMOVE "${SOURCE_PATH}/pdal/gitsha.cpp") -file(REMOVE "${SOURCE_PATH}/cmake/modules/FindGDAL.cmake") -file(REMOVE "${SOURCE_PATH}/cmake/modules/FindGEOS.cmake") -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindGDAL.cmake DESTINATION ${SOURCE_PATH}/cmake/modules/) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindGEOS.cmake DESTINATION ${SOURCE_PATH}/cmake/modules/) + +# Deploy custom CMake modules to enforce expected dependencies look-up +foreach(_module IN ITEMS FindGDAL FindGEOS FindGeoTIFF FindCurl) # Outdated; Supplied by CMake + file(REMOVE "${SOURCE_PATH}/cmake/modules/${_module}.cmake") +endforeach() +foreach(_module IN ITEMS FindGEOS) # Overwritten Modules. + file(REMOVE "${SOURCE_PATH}/cmake/modules/${_module}.cmake") + file(COPY ${CMAKE_CURRENT_LIST_DIR}/${_module}.cmake + DESTINATION ${SOURCE_PATH}/cmake/modules/ + ) +endforeach() # NOTE: CMake native BUILD_SHARED_LIBS option will be set by vcpkg_configure_cmake # TODO: Remove this as soon as PDAL switches to use BUILD_SHARED_LIBS -- cgit v1.2.3 From ba259efd89a03d8bf7ab4f9e1d19af870e3d06b0 Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Tue, 4 Jun 2019 00:09:09 +0200 Subject: [polyclipping] new port (#6636) * [clipper] add port * [clipper] works only if built as a static library * [clipper] rename to polyclipping --- ports/polyclipping/CONTROL | 3 +++ ports/polyclipping/portfile.cmake | 28 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 ports/polyclipping/CONTROL create mode 100644 ports/polyclipping/portfile.cmake diff --git a/ports/polyclipping/CONTROL b/ports/polyclipping/CONTROL new file mode 100644 index 000000000..0e97f0a32 --- /dev/null +++ b/ports/polyclipping/CONTROL @@ -0,0 +1,3 @@ +Source: polyclipping +Version: 6.4.2 +Description: The Clipper library performs clipping and offsetting for both lines and polygons. All four boolean clipping operations are supported - intersection, union, difference and exclusive-or. Polygons can be of any shape including self-intersecting polygons. diff --git a/ports/polyclipping/portfile.cmake b/ports/polyclipping/portfile.cmake new file mode 100644 index 000000000..b1b1997cf --- /dev/null +++ b/ports/polyclipping/portfile.cmake @@ -0,0 +1,28 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_download_distfile(ARCHIVE + URLS "https://sourceforge.net/projects/polyclipping/files/clipper_ver6.4.2.zip/download" + FILENAME "clipper_ver6.4.2.zip" + SHA512 ffc88818c44a38aa278d5010db6cfd505796f39664919f1e48c7fa9267563f62135868993e88f7246dcd688241d1172878e4a008a390648acb99738452e3e5dd +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL + REF 6.4.2 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/cpp + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -- cgit v1.2.3 From 12d202099e906b77a4f852328f55fb90d08ef450 Mon Sep 17 00:00:00 2001 From: Curtis J Bezault Date: Mon, 3 Jun 2019 16:42:09 -0700 Subject: [ffmpeg] Fix regression on windows (#6743) * Correctly set environment variables for gcc/clang/icc * refactor out some if statements * Assume windows * Make windows check consistent --- ports/ffmpeg/portfile.cmake | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index f2d0e5f93..af67764e6 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -25,16 +25,13 @@ endif() vcpkg_find_acquire_program(YASM) get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR (NOT VCPKG_CMAKE_SYSTEM_NAME)) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(SEP ";") -else() - set(SEP ":") -endif() - -if($CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + #We're assuming that if we're building for Windows we're using MSVC set(INCLUDE_VAR "INCLUDE") set(LIB_PATH_VAR "LIB") else() + set(SEP ":") set(INCLUDE_VAR "CPATH") set(LIB_PATH_VAR "LIBRARY_PATH") endif() -- cgit v1.2.3 From c52522983c6d684531741880a8b4f27e69112ba0 Mon Sep 17 00:00:00 2001 From: emptyVoid Date: Tue, 4 Jun 2019 09:23:55 +0700 Subject: [icu] Bump version number --- ports/icu/CONTROL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/icu/CONTROL b/ports/icu/CONTROL index d60dbf04b..3fa81fd4d 100644 --- a/ports/icu/CONTROL +++ b/ports/icu/CONTROL @@ -1,3 +1,3 @@ Source: icu -Version: 61.1-6 +Version: 61.1-7 Description: Mature and widely used Unicode and localization library. -- cgit v1.2.3 From c5dbc68a38fdc77a4004bcf453eac3f53c8e441c Mon Sep 17 00:00:00 2001 From: eao197 Date: Tue, 4 Jun 2019 12:15:39 +0300 Subject: RESTinio updated to v.0.5.0 (#6749) --- ports/restinio/CONTROL | 2 +- ports/restinio/portfile.cmake | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/restinio/CONTROL b/ports/restinio/CONTROL index db9057456..23abf439e 100644 --- a/ports/restinio/CONTROL +++ b/ports/restinio/CONTROL @@ -1,4 +1,4 @@ Source: restinio -Version: 0.4.9.1 +Version: 0.5.0 Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests. Build-Depends: asio, fmt, http-parser diff --git a/ports/restinio/portfile.cmake b/ports/restinio/portfile.cmake index cbb9315fb..33895629f 100644 --- a/ports/restinio/portfile.cmake +++ b/ports/restinio/portfile.cmake @@ -2,9 +2,9 @@ include(vcpkg_common_functions) vcpkg_from_bitbucket( OUT_SOURCE_PATH SOURCE_PATH - REPO sobjectizerteam/restinio-0.4 - REF v.0.4.9.1 - SHA512 e1bd27c08331b2994ce1be140502c9d7166cc997fd79f4380ea3400106f11a2cad25c72b9d0a0b2bf11c15ce9f895522e7aea41a5f2620e30752eded78869a62 + REPO sobjectizerteam/restinio + REF v.0.5.0 + SHA512 2031abf6928456d9f93b965c0fd0114070b0aeac055edc78442284ad8a2dea47d9eaa8cb1761e76fa31286e7881559fa7d99e404e3c0d2639e6a0afab6bedd4f ) vcpkg_configure_cmake( -- cgit v1.2.3 From 3ab376957a64aae98e3c0d0fe4b0f80e91a46afb Mon Sep 17 00:00:00 2001 From: chausner Date: Tue, 4 Jun 2019 11:18:26 +0200 Subject: [liblsl] Update liblsl port to 1.13.0-b6 (#6745) --- ports/liblsl/CONTROL | 2 +- ports/liblsl/fix-runtime-destination.patch | 13 ------------- ports/liblsl/hardcode-version.patch | 31 ------------------------------ ports/liblsl/portfile.cmake | 7 +++---- 4 files changed, 4 insertions(+), 49 deletions(-) delete mode 100644 ports/liblsl/fix-runtime-destination.patch delete mode 100644 ports/liblsl/hardcode-version.patch diff --git a/ports/liblsl/CONTROL b/ports/liblsl/CONTROL index 0d2d95b1d..995b9fbd6 100644 --- a/ports/liblsl/CONTROL +++ b/ports/liblsl/CONTROL @@ -1,3 +1,3 @@ Source: liblsl -Version: 1.13.0-b4 +Version: 1.13.0-b6 Description: C++ lsl library for multi-modal time-synched data transmission over the local network diff --git a/ports/liblsl/fix-runtime-destination.patch b/ports/liblsl/fix-runtime-destination.patch deleted file mode 100644 index a2bdbfbbe..000000000 --- a/ports/liblsl/fix-runtime-destination.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5832a0e6..497dacd1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -170,7 +170,7 @@ endif() - install(TARGETS lsl - COMPONENT liblsl - EXPORT "${PROJECT_NAME}Config" -- RUNTIME DESTINATION ${LSLPREFIX}lib -+ RUNTIME DESTINATION ${LSLPREFIX}bin - LIBRARY DESTINATION ${LSLPREFIX}lib - INCLUDES DESTINATION ${LSLPREFIX}include - ARCHIVE DESTINATION ${LSLPREFIX}lib diff --git a/ports/liblsl/hardcode-version.patch b/ports/liblsl/hardcode-version.patch deleted file mode 100644 index e7343271e..000000000 --- a/ports/liblsl/hardcode-version.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 73e4a7a0..0f8e19f4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -106,26 +106,6 @@ if(LSL_NO_FANCY_LIBNAME) - set(CMAKE_DEBUG_POSTFIX "") - endif() - --# try to find out which revision is currently checked out --find_package(Git) --if(GIT_FOUND) -- execute_process( -- COMMAND ${GIT_EXECUTABLE} describe --tags HEAD -- WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}" -- OUTPUT_VARIABLE lslgitrevision -- OUTPUT_STRIP_TRAILING_WHITESPACE -- ) -- execute_process( -- COMMAND ${GIT_EXECUTABLE} rev-parse --symbolic-full-name --abbrev-ref @ -- WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}" -- OUTPUT_VARIABLE lslgitbranch -- OUTPUT_STRIP_TRAILING_WHITESPACE -- ) -- message(STATUS "Git version information: ${lslgitbranch}/${lslgitrevision}") --else() -- set(lslgitrevision "unknown") -- set(lslgitbranch "unknown") --endif() - set(LSL_VERSION_INFO "\"git:${lslgitrevision}/branch:${lslgitbranch}/build:${CMAKE_BUILD_TYPE}/compiler:${CMAKE_CXX_COMPILER_ID}-${CMAKE_CXX_COMPILER_VERSION}/boost:\" BOOST_LIB_VERSION") - set_source_files_properties("src/lsl_freefuncs_c.cpp" PROPERTIES COMPILE_DEFINITIONS LSL_LIBRARY_INFO_STR=${LSL_VERSION_INFO}) - diff --git a/ports/liblsl/portfile.cmake b/ports/liblsl/portfile.cmake index d8670d7e3..1b6890a14 100644 --- a/ports/liblsl/portfile.cmake +++ b/ports/liblsl/portfile.cmake @@ -5,10 +5,9 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sccn/liblsl - REF v1.13.0-b4 # NOTE: when updating version, also change it in the parameter to vcpkg_configure_cmake - SHA512 19bc587afcff315385e7bab1f88cf4edd315acfda61a630b23ffe4c59bc0f5aa570f0a979071f2b60009bb4d4b8ce08c98c414dc5b88042556b2501f4b8dcb79 + REF 1.13.0-b6 # NOTE: when updating version, also change it in the parameter to vcpkg_configure_cmake + SHA512 fb98cdd73de5f13e97f639ba3f2f836d46ce28cdcb2246584728f296eb647e2c9c069534470a603b10d7dc34ab8978bf246e2187428ab231a925feb0b7024c89 HEAD_REF master - PATCHES hardcode-version.patch fix-runtime-destination.patch ) vcpkg_configure_cmake( @@ -18,7 +17,7 @@ vcpkg_configure_cmake( -DLSL_BUILD_STATIC=OFF -DLSL_UNIXFOLDERS=ON -DLSL_NO_FANCY_LIBNAME=ON - -Dlslgitrevision="v1.13.0-b4" + -Dlslgitrevision="1.13.0-b6" -Dlslgitbranch="master" ) -- cgit v1.2.3 From f36b356ce9e8d81665a9379ba30837f10cf42866 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Tue, 4 Jun 2019 17:20:32 +0800 Subject: [libopusenc]Upgrade version to 0.2.1 (#6748) --- ports/libopusenc/CMakeLists.txt | 3 ++- ports/libopusenc/CONTROL | 2 +- ports/libopusenc/portfile.cmake | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ports/libopusenc/CMakeLists.txt b/ports/libopusenc/CMakeLists.txt index 10f425821..4ab1a4e9d 100644 --- a/ports/libopusenc/CMakeLists.txt +++ b/ports/libopusenc/CMakeLists.txt @@ -11,7 +11,8 @@ add_library(opusenc src/opus_header.c src/opusenc.c src/picture.c - src/resample.c) + src/resample.c + src/unicode_support.c) get_filename_component(FOLDER ${CMAKE_CURRENT_SOURCE_DIR} NAME) string(REPLACE "libopusenc-" "" VERSION ${FOLDER}) diff --git a/ports/libopusenc/CONTROL b/ports/libopusenc/CONTROL index 93b2a7544..9ca75cde2 100644 --- a/ports/libopusenc/CONTROL +++ b/ports/libopusenc/CONTROL @@ -1,4 +1,4 @@ Source: libopusenc -Version: 0.1-1 +Version: 0.2.1 Description: Library for encoding .opus audio files and live streams. Build-Depends: opus diff --git a/ports/libopusenc/portfile.cmake b/ports/libopusenc/portfile.cmake index d41880e01..f3c226aea 100644 --- a/ports/libopusenc/portfile.cmake +++ b/ports/libopusenc/portfile.cmake @@ -6,8 +6,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xiph/libopusenc - REF v0.1 - SHA512 6abc5cd9e87ad41409f844d350cf43ee0067ad05a768aa9ef1d726a7e98ef9b006cbc42a6601d05a51dba6386a1361751a9a367a902c52eff8b4e56c3bf8a04b + REF v0.2.1 + SHA512 9681421a967b93770796dd3503c00e1418de86438d2bfe77011dc68f6db5d666508d33c0df7308db3b7ea18f5e1b14a3115fd63837987e16347ec801c3771d26 HEAD_REF master) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -- cgit v1.2.3 From 99ee8b71a81b352e187cfa677ff1220936931d0e Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Tue, 4 Jun 2019 11:21:22 +0200 Subject: [variant-lite] Add new port (1.2.2, was: 1.2.1) (#6720) * [variant-lite] Add new port (1.2.1) * [variant-lite] Add new port (1.2.2, was: 1.2.1) --- ports/variant-lite/CONTROL | 3 +++ ports/variant-lite/portfile.cmake | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ports/variant-lite/CONTROL create mode 100644 ports/variant-lite/portfile.cmake diff --git a/ports/variant-lite/CONTROL b/ports/variant-lite/CONTROL new file mode 100644 index 000000000..8654b8a34 --- /dev/null +++ b/ports/variant-lite/CONTROL @@ -0,0 +1,3 @@ +Source: variant-lite +Version: 1.2.2 +Description: A C++17-like variant, a type-safe union for C++98, C++11 and later in a single-file header-only library diff --git a/ports/variant-lite/portfile.cmake b/ports/variant-lite/portfile.cmake new file mode 100644 index 000000000..764fd74ef --- /dev/null +++ b/ports/variant-lite/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/variant-lite + REF v1.2.2 + SHA512 f0a0760b858d5fdd3cbd6be29e64fdca69222c4e3f6f4f856fa99e7352ede817648c6d698ebde25dec10bf99fc304b1b5ce232c5ffd4fab12aaf444b68c04f02 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DVARIANT_LITE_OPT_BUILD_TESTS=OFF + -DVARIANT_LITE_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/${PORT} +) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib +) + +file(INSTALL + ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright +) -- cgit v1.2.3 From 8fe8cf468bb936d331fc72d0b388ed36a7e61dd0 Mon Sep 17 00:00:00 2001 From: Cheney Wang <38240633+Cheney-W@users.noreply.github.com> Date: Tue, 4 Jun 2019 17:23:04 +0800 Subject: [entityx][entt] Disable parallel configure (#6736) * [entityx][entt] Disable parallel configure * [entityx][entt] Remove the invalid patch --- ports/entityx/CONTROL | 2 +- ports/entityx/fix-cmake.patch | 40 ---------------------------------------- ports/entityx/portfile.cmake | 2 +- ports/entt/CONTROL | 2 +- ports/entt/portfile.cmake | 1 + 5 files changed, 4 insertions(+), 43 deletions(-) delete mode 100644 ports/entityx/fix-cmake.patch diff --git a/ports/entityx/CONTROL b/ports/entityx/CONTROL index 0a41ad86d..b381966b5 100644 --- a/ports/entityx/CONTROL +++ b/ports/entityx/CONTROL @@ -1,3 +1,3 @@ Source: entityx -Version: 1.3.0 +Version: 1.3.0-1 Description: EntityX - A fast, type-safe C++ Entity-Component system. diff --git a/ports/entityx/fix-cmake.patch b/ports/entityx/fix-cmake.patch deleted file mode 100644 index 143cc52b1..000000000 --- a/ports/entityx/fix-cmake.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 87309bf..23f5063 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -25,6 +25,7 @@ include(${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake) - include(CheckCXXSourceCompiles) - - # Default compiler args -+if(0) - if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(GNU|.*Clang)") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Werror -Wall -Wextra -Wno-unused-parameter -Wno-error=unused-variable -Wno-error=sign-compare -std=c++11") - set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") -@@ -41,6 +42,7 @@ elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - set(CMAKE_CXX_FLAGS_RELEASE "/Ox -DNDEBUG") - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/Ox /Zi /FS /DEBUG") - endif() -+endif() - - # if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything -Wno-c++98-compat -Wno-shadow -Wno-padded -Wno-missing-noreturn -Wno-global-constructors") -@@ -156,9 +158,9 @@ endif (ENTITYX_BUILD_TESTING) - - configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/entityx/config.h.in -- ${CMAKE_CURRENT_SOURCE_DIR}/entityx/config.h -+ ${CMAKE_CURRENT_BINARY_DIR}/entityx/config.h - ) -- -+include_directories(${CMAKE_CURRENT_BINARY_DIR}) - - if (NOT WINDOWS OR CYGWIN) - set(entityx_libs -lentityx) -@@ -179,6 +181,7 @@ install( - DESTINATION "include" - FILES_MATCHING PATTERN "*.h" - ) -+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/entityx/config.h DESTINATION include/entityx) - - install( - TARGETS ${install_libs} diff --git a/ports/entityx/portfile.cmake b/ports/entityx/portfile.cmake index 36e3ddf19..b55f5f602 100644 --- a/ports/entityx/portfile.cmake +++ b/ports/entityx/portfile.cmake @@ -9,12 +9,12 @@ vcpkg_from_github( SHA512 724a3f421f802e60a1106ff8a69435c9a9da14e35c3e88565bbc17bff3a17f2d9771818aac83320cc4f14de0ec770a66f1eb7cbf4318f43abd516c63e077c07d HEAD_REF master PATCHES - fix-cmake.patch enable-std14.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + DISABLE_PARALLEL_CONFIGURE PREFER_NINJA OPTIONS -DENTITYX_BUILD_TESTING=false diff --git a/ports/entt/CONTROL b/ports/entt/CONTROL index 47770ebd1..37f95a699 100644 --- a/ports/entt/CONTROL +++ b/ports/entt/CONTROL @@ -1,3 +1,3 @@ Source: entt -Version: 3.0.0 +Version: 3.0.0-1 Description: Gaming meets modern C++ - a fast and reliable entity-component system and much more. diff --git a/ports/entt/portfile.cmake b/ports/entt/portfile.cmake index af331821d..3aed9147f 100644 --- a/ports/entt/portfile.cmake +++ b/ports/entt/portfile.cmake @@ -11,6 +11,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + DISABLE_PARALLEL_CONFIGURE PREFER_NINJA OPTIONS -DBUILD_TESTING=OFF -- cgit v1.2.3 From 42d7dd7ee8974bbafe569be964a7dc2670f8fabb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20=C5=81oskot?= Date: Tue, 4 Jun 2019 22:55:57 +0200 Subject: LibRaw: Switch from release to snapshot Update from the latest release 0.19 to use the latest snapshot LibRaw-201903 (SHA-1:d4f05dd1b9b2d44c8f7e82043cbad3c724db2416). The rationale is that LibRaw publishes: - snapshots every 5-7 months (in master branch) - releases (0.18, 0.19, etc.) every 1-1.5 years. - security hotfixes for releases (0.19.1, 0.19.2, etc.) Hence, from user point of view, it is practical to refer to the latest snapshot, instead of the latest release. Another issue is that the latest release 0.19 does not include support for C++17 (does not allow to replace std::auto_ptr with std::unique_ptr). The latest LibRaw-201903 includes related fixes. --- ports/libraw/CONTROL | 2 +- ports/libraw/portfile.cmake | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ports/libraw/CONTROL b/ports/libraw/CONTROL index 0e4eda530..6b27ce223 100644 --- a/ports/libraw/CONTROL +++ b/ports/libraw/CONTROL @@ -1,4 +1,4 @@ Source: libraw -Version: 0.19.2 +Version: 201903 Build-Depends: lcms, jasper Description: raw image decoder library diff --git a/ports/libraw/portfile.cmake b/ports/libraw/portfile.cmake index ccb5b1ccf..d834b80e9 100644 --- a/ports/libraw/portfile.cmake +++ b/ports/libraw/portfile.cmake @@ -1,10 +1,17 @@ include(vcpkg_common_functions) +# Update to latest LibRaw-201903 snapshot at d4f05dd1b9b2d44c8f7e82043cbad3c724db2416 +# LibRaw publishes: +# - snapshots every 5-7 months (in master branch) +# - releases (0.18, 0.19, etc.) every 1-1.5 years. +# - security hotfixes for releases (0.19.1, 0.19.2, etc.) +# Hence, from user point of view, it is practical to refer to the latest snapshot, +# instead of the latest release. vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LibRaw/LibRaw - REF 0.19.2 - SHA512 78808a0d5f8a2b0f8e52699783d677c645abfdbcf824ea118542ae047767512b7a3d9a3ccfcb786bbfae6ce788df9b2c58afb89dd78e78e755061b742b50bea6 + REF d4f05dd1b9b2d44c8f7e82043cbad3c724db2416 + SHA512 5794521f535163afd7815ad005295301c5e0e2f8b2f34ef0a911d9dd1572c1f456b292777548203f9767957a55782b5bc9041c033190d25d1e9b4240d7df32b9 HEAD_REF master ) -- cgit v1.2.3 From 82352ff65cd26744b387efecb9391ae9237454d3 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Tue, 4 Jun 2019 17:04:30 -0500 Subject: Updating HPX to V1.3.0 (#6755) --- ports/hpx/CONTROL | 4 ++-- ports/hpx/portfile.cmake | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/hpx/CONTROL b/ports/hpx/CONTROL index d77e210b6..cb25e174b 100644 --- a/ports/hpx/CONTROL +++ b/ports/hpx/CONTROL @@ -1,5 +1,5 @@ Source: hpx -Version: 1.2.1-1 -Build-Depends: hwloc, boost-accumulators, boost-algorithm, boost-asio, boost-assign, boost-atomic, boost-bimap, boost-chrono, boost-config, boost-context, boost-dynamic-bitset, boost-exception, boost-filesystem, boost-iostreams, boost-lockfree, boost-program-options, boost-range, boost-regex, boost-signals2, boost-smart-ptr, boost-spirit, boost-system, boost-throw-exception, boost-variant, boost-winapi +Version: 1.3.0-1 +Build-Depends: hwloc, boost-accumulators, boost-algorithm, boost-asio, boost-assign, boost-bimap, boost-chrono, boost-config, boost-context, boost-dynamic-bitset, boost-exception, boost-filesystem, boost-iostreams, boost-lockfree, boost-program-options, boost-range, boost-spirit, boost-system, boost-throw-exception, boost-variant, boost-winapi Description: The C++ Standards Library for Concurrency and Parallelism HPX is a C++ Standards Library for Concurrency and Parallelism. It implements all of the corresponding facilities as defined by the C++ Standard. Additionally, in HPX we implement functionalities proposed as part of the ongoing C++ standardization process. We also extend the C++ Standard APIs to the distributed case. diff --git a/ports/hpx/portfile.cmake b/ports/hpx/portfile.cmake index 3e687e50d..80e79bac6 100644 --- a/ports/hpx/portfile.cmake +++ b/ports/hpx/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO STEllAR-GROUP/hpx - REF 1.2.1 - SHA512 46e9e36cbd9bec935b2a1efce8167c641de88aca8e4dd9c2e3269a1d82ab2965812b5483b6dff4465634f454757b19ad4f73ddcc5ddd73d6efbf28d0819f7dc7 + REF 1.3.0 + SHA512 e55ca0c6fe1716b6ee72b0c4a9234a1136455ddc2f5509925395a80442d564b0db251968fef53d202a1f5140e12d0941d0173ab20a7b181632eac20cb925bf31 HEAD_REF master ) -- cgit v1.2.3 From dc45f21f9f156b5f716cfb9dba60e13745ddf782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Schau?= Date: Wed, 5 Jun 2019 00:04:59 +0200 Subject: update to 2.8.84 (#6756) --- ports/gsoap/CONTROL | 2 +- ports/gsoap/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/gsoap/CONTROL b/ports/gsoap/CONTROL index ae1d1625b..364deb380 100644 --- a/ports/gsoap/CONTROL +++ b/ports/gsoap/CONTROL @@ -1,4 +1,4 @@ Source: gsoap -Version: 2.8.82-2 +Version: 2.8.84-1 Build-Depends: curl Description: The gSOAP toolkit is a C and C++ software development toolkit for SOAP and REST XML Web services and generic C/C++ XML data bindings. \ No newline at end of file diff --git a/ports/gsoap/portfile.cmake b/ports/gsoap/portfile.cmake index 5924ff5ad..79270c7cb 100644 --- a/ports/gsoap/portfile.cmake +++ b/ports/gsoap/portfile.cmake @@ -1,12 +1,12 @@ include(vcpkg_common_functions) set(GSOAP_VERSION 2.8) -set(GSOAP_SUB_VERSION .82) +set(GSOAP_SUB_VERSION .84) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gsoap-${GSOAP_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "https://ayera.dl.sourceforge.net/project/gsoap2/gsoap-${GSOAP_VERSION}/gsoap_${GSOAP_VERSION}${GSOAP_SUB_VERSION}.zip" FILENAME "gsoap_${GSOAP_VERSION}${GSOAP_SUB_VERSION}.zip" - SHA512 daf6a1870fe43beb20d0faf646b171c92629885708baabea5bbce79fa5a8030f014dbe5c0bf4024031df993dd3ed3a90449db813946cfdfa9c12318096b57eec + SHA512 ec050119cd3e480b266cad36823f4862fe0ac21045ce901c3c91a552eae2fbf9e1cd515458835807cce54c04df7835a980a299d37f418190cd57684fd6bdcf79 ) vcpkg_extract_source_archive_ex( -- cgit v1.2.3 From fadd52d2a86a075d8fa5d1de206323196975fce9 Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Wed, 5 Jun 2019 00:05:53 +0200 Subject: [string-view-lite] Add new port (1.3.0) (#6758) --- ports/string-view-lite/CONTROL | 3 +++ ports/string-view-lite/portfile.cmake | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ports/string-view-lite/CONTROL create mode 100644 ports/string-view-lite/portfile.cmake diff --git a/ports/string-view-lite/CONTROL b/ports/string-view-lite/CONTROL new file mode 100644 index 000000000..f14d36c97 --- /dev/null +++ b/ports/string-view-lite/CONTROL @@ -0,0 +1,3 @@ +Source: string-view-lite +Version: 1.3.0 +Description: A C++17-like string_view for C++98, C++11 and later in a single-file header-only library diff --git a/ports/string-view-lite/portfile.cmake b/ports/string-view-lite/portfile.cmake new file mode 100644 index 000000000..068b16c08 --- /dev/null +++ b/ports/string-view-lite/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/string-view-lite + REF v1.3.0 + SHA512 52fb76198249ade5352d95af4a4e305b3e22b464a5d0a702e4b2228b1ca30df98b90bb01d5bfd16ae6ebb7bab5aecac5bd4a867898c362e82e57c2aaf938e07a +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DSTRING_VIEW_LITE_OPT_BUILD_TESTS=OFF + -DSTRING_VIEW_LITE_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/${PORT} +) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib +) + +file(INSTALL + ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright +) -- cgit v1.2.3 From e3e495d65f954ee04a4be5d4124c293188d0dd5c Mon Sep 17 00:00:00 2001 From: Helco Date: Wed, 5 Jun 2019 01:01:27 +0200 Subject: [asio] Add cmake target (#6751) * [asio] Add cmake target * [asio] Export both asio and asio::asio * [asio] Also export include dir variable --- ports/asio/CMakeLists.txt | 33 +++++++++++++++++++++++++++++++++ ports/asio/CONTROL | 2 +- ports/asio/asio-config.cmake | 6 ++++++ ports/asio/portfile.cmake | 22 +++++++++++++++------- 4 files changed, 55 insertions(+), 8 deletions(-) create mode 100644 ports/asio/CMakeLists.txt create mode 100644 ports/asio/asio-config.cmake diff --git a/ports/asio/CMakeLists.txt b/ports/asio/CMakeLists.txt new file mode 100644 index 000000000..aa7354e76 --- /dev/null +++ b/ports/asio/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.8) +project(asio) + +add_library(asio INTERFACE) + +# Always use "ASIO_STANDALONE" to avoid boost dependency +file(READ "asio/include/asio/detail/config.hpp" _contents) +string(REPLACE "defined(ASIO_STANDALONE)" "!defined(VCPKG_DISABLE_ASIO_STANDALONE)" _contents "${_contents}") +file(WRITE "asio/include/asio/detail/config.hpp" "${_contents}") + +# Export target +install(TARGETS asio + EXPORT asio + INCLUDES DESTINATION include/ +) + +install(EXPORT asio + DESTINATION "share/asio" + FILE asio-targets.cmake +) + +install(DIRECTORY + asio/include/asio + DESTINATION include/ + FILES_MATCHING + PATTERN "*.hpp" + PATTERN "*.ipp" +) + +install(FILES + asio/include/asio.hpp + DESTINATION include/ +) diff --git a/ports/asio/CONTROL b/ports/asio/CONTROL index 6ba9e4318..951c80e29 100644 --- a/ports/asio/CONTROL +++ b/ports/asio/CONTROL @@ -1,3 +1,3 @@ Source: asio -Version: 1.12.2 +Version: 1.12.2-1 Description: Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. diff --git a/ports/asio/asio-config.cmake b/ports/asio/asio-config.cmake new file mode 100644 index 000000000..32e00095a --- /dev/null +++ b/ports/asio/asio-config.cmake @@ -0,0 +1,6 @@ +include ("${CMAKE_CURRENT_LIST_DIR}/asio-targets.cmake") +add_library(asio::asio INTERFACE IMPORTED) +target_link_libraries(asio::asio INTERFACE asio) + +get_target_property(_ASIO_INCLUDE_DIR asio INTERFACE_INCLUDE_DIRECTORIES) +set(ASIO_INCLUDE_DIR "${_ASIO_INCLUDE_DIR}") diff --git a/ports/asio/portfile.cmake b/ports/asio/portfile.cmake index bd5f5af2a..f9b3b739d 100644 --- a/ports/asio/portfile.cmake +++ b/ports/asio/portfile.cmake @@ -9,13 +9,21 @@ vcpkg_from_github( HEAD_REF master ) +# CMake install +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH "share/asio") +file(INSTALL + ${CMAKE_CURRENT_LIST_DIR}/asio-config.cmake + DESTINATION ${CURRENT_PACKAGES_DIR}/share/asio/ +) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + # Handle copyright file(INSTALL ${SOURCE_PATH}/asio/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -# Copy the asio header files -file(INSTALL ${SOURCE_PATH}/asio/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp" PATTERN "*.ipp") - -# Always use "ASIO_STANDALONE" to avoid boost dependency -file(READ "${CURRENT_PACKAGES_DIR}/include/asio/detail/config.hpp" _contents) -string(REPLACE "defined(ASIO_STANDALONE)" "!defined(VCPKG_DISABLE_ASIO_STANDALONE)" _contents "${_contents}") -file(WRITE "${CURRENT_PACKAGES_DIR}/include/asio/detail/config.hpp" "${_contents}") -- cgit v1.2.3 From daa13e58ae615daebdc19e747fd04b3b00f23925 Mon Sep 17 00:00:00 2001 From: grdowns Date: Tue, 4 Jun 2019 18:39:08 -0700 Subject: Only set CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS to true on win32 --- ports/glibmm/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt index d48d9261b..c6fa7027a 100644 --- a/ports/glibmm/CMakeLists.txt +++ b/ports/glibmm/CMakeLists.txt @@ -43,7 +43,9 @@ endif() # Activate workaround for exporting all symbols from Windows DLLs to mimic the # behavior on Linux, where dynamic libraries always export all symbols. # The same approach was already used by the upstream MSVC build (see MSVC_NMake/gendef/gendef.cc) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) +if (WIN32) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) +endif() if(BUILD_SHARED_LIBS) add_definitions(-DGLIBMM_DLL -DGIOMM_DLL) -- cgit v1.2.3 From 9ef14efbcd1bc4e513055f65f9b96bf178a3f6b4 Mon Sep 17 00:00:00 2001 From: grdowns Date: Tue, 4 Jun 2019 18:40:11 -0700 Subject: Whitespace change to retrigger build --- ports/libvpx/portfile.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/ports/libvpx/portfile.cmake b/ports/libvpx/portfile.cmake index a985ea123..1290d415a 100644 --- a/ports/libvpx/portfile.cmake +++ b/ports/libvpx/portfile.cmake @@ -100,6 +100,5 @@ file( RENAME "vpx") - file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libvpx) file(RENAME ${CURRENT_PACKAGES_DIR}/share/libvpx/LICENSE ${CURRENT_PACKAGES_DIR}/share/libvpx/copyright) -- cgit v1.2.3 From af4671ea6472409f47568cd0459d145cafdbb6b4 Mon Sep 17 00:00:00 2001 From: grdowns Date: Tue, 4 Jun 2019 18:58:37 -0700 Subject: Replace use of hardcoded version; Formatting; Remove variable existence test --- ports/itpp/portfile.cmake | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/ports/itpp/portfile.cmake b/ports/itpp/portfile.cmake index 2ea68da89..10faf4882 100644 --- a/ports/itpp/portfile.cmake +++ b/ports/itpp/portfile.cmake @@ -2,7 +2,7 @@ include(vcpkg_common_functions) set(ITPP_VERSION 4.3.1) vcpkg_download_distfile(ARCHIVE - URLS "https://sourceforge.net/projects/itpp/files/itpp/4.3.1/itpp-${ITPP_VERSION}.tar.bz2" + URLS "https://sourceforge.net/projects/itpp/files/itpp/${ITPP_VERSION}/itpp-${ITPP_VERSION}.tar.bz2" FILENAME "itpp-${ITPP_VERSION}.tar.bz2" SHA512 b46d048fa7f33e80d2291a5e38e205c159791ea200f92c70d69e8ad8447ac2f0c847fece566a99af739853a1643cb16e226b4200c8bf115417f324e6d38c66bd ) @@ -15,16 +15,16 @@ vcpkg_extract_source_archive_ex( msvc2013.patch ) -if(VCPKG_CMAKE_SYSTEM_NAME AND VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES fix-uwp.patch -) -elseif(VCPKG_CMAKE_SYSTEM_NAME AND VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES fix-linux.patch -) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES fix-uwp.patch + ) +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES fix-linux.patch + ) endif() vcpkg_configure_cmake( @@ -42,4 +42,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -- cgit v1.2.3 From d46b696071d13c2d43784243aad83edeea177176 Mon Sep 17 00:00:00 2001 From: grdowns Date: Tue, 4 Jun 2019 19:03:08 -0700 Subject: Move comment to correct line --- ports/glibmm/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake index ac5be799f..693a77278 100644 --- a/ports/glibmm/portfile.cmake +++ b/ports/glibmm/portfile.cmake @@ -1,6 +1,6 @@ -# Glib uses winapi functions not available in WindowsStore, so glibmm also include(vcpkg_common_functions) +# Glib uses winapi functions not available in WindowsStore if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "Error: UWP builds are currently not supported.") endif() -- cgit v1.2.3 From e633c4c45e83b2febd1ddb115d5b64e59c1c99b5 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 6 Jun 2019 02:15:11 +0800 Subject: [lz4]Fix conflict file xxhash.h (#6735) * [lz4]Fix conflict file xxhash.h * [lz4]Use xxhash dependency to install xxhash.h --- ports/lz4/CMakeLists.txt | 1 + ports/lz4/CONTROL | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ports/lz4/CMakeLists.txt b/ports/lz4/CMakeLists.txt index 8f94cbeb6..b36a3574e 100644 --- a/ports/lz4/CMakeLists.txt +++ b/ports/lz4/CMakeLists.txt @@ -36,6 +36,7 @@ install(TARGETS lz4 ) FILE(GLOB lz4h "${CMAKE_CURRENT_LIST_DIR}/lib/*.h") +list(REMOVE_ITEM lz4h "${CMAKE_CURRENT_LIST_DIR}/lib/xxhash.h") INSTALL(FILES ${lz4h} DESTINATION "${INSTALL_INCLUDE_DIR}") install(EXPORT lz4Config diff --git a/ports/lz4/CONTROL b/ports/lz4/CONTROL index cdfb882ae..2e69cbd25 100644 --- a/ports/lz4/CONTROL +++ b/ports/lz4/CONTROL @@ -1,3 +1,4 @@ Source: lz4 -Version: 1.9.1-1 +Version: 1.9.1-2 Description: Lossless compression algorithm, providing compression speed at 400 MB/s per core. +Build-Depends: xxhash \ No newline at end of file -- cgit v1.2.3 From b3b526afc70660ee983eb0641d6b6142fa7afa78 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 6 Jun 2019 02:35:14 +0800 Subject: [xxhash]Upgrade version to 0.7.0 and fix arm/uwp build errors. (#6750) --- ports/xxhash/CONTROL | 2 +- ports/xxhash/fix-arm-uwp.patch | 34 ++++++++++++++++++++++++++++++++++ ports/xxhash/portfile.cmake | 9 ++++++--- 3 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 ports/xxhash/fix-arm-uwp.patch diff --git a/ports/xxhash/CONTROL b/ports/xxhash/CONTROL index 4cdbf5435..4b4f46172 100644 --- a/ports/xxhash/CONTROL +++ b/ports/xxhash/CONTROL @@ -1,3 +1,3 @@ Source: xxhash -Version: 0.6.4-1 +Version: 0.7.0 Description: Extremely fast hash algorithm diff --git a/ports/xxhash/fix-arm-uwp.patch b/ports/xxhash/fix-arm-uwp.patch new file mode 100644 index 000000000..51bbc7474 --- /dev/null +++ b/ports/xxhash/fix-arm-uwp.patch @@ -0,0 +1,34 @@ +diff --git a/xxh3.h b/xxh3.h +index 0972c46..e5c7101 100644 +--- a/xxh3.h ++++ b/xxh3.h +@@ -40,7 +40,7 @@ + #ifndef XXH3_H + #define XXH3_H + +- ++#pragma warning (disable : 4146) + /* === Dependencies === */ + + #undef XXH_INLINE_ALL /* in case it's already defined */ +@@ -97,7 +97,7 @@ + #endif + + /* U64 XXH_mult32to64(U32 a, U64 b) { return (U64)a * (U64)b; } */ +-#ifdef _MSC_VER ++#if defined(_MSC_VER) && (!_WIN32_WINNT >= 0x0A00) + # include + /* MSVC doesn't do a good job with the mull detection. */ + # define XXH_mult32to64 __emulu +diff --git a/xxhsum.c b/xxhsum.c +index 0ec11c0..7d39c24 100644 +--- a/xxhsum.c ++++ b/xxhsum.c +@@ -31,6 +31,7 @@ + #ifndef XXHASH_C_2097394837 + #define XXHASH_C_2097394837 + ++#pragma warning (disable : 4146) + /* ************************************ + * Compiler Options + **************************************/ diff --git a/ports/xxhash/portfile.cmake b/ports/xxhash/portfile.cmake index 91f713578..74b19715f 100644 --- a/ports/xxhash/portfile.cmake +++ b/ports/xxhash/portfile.cmake @@ -5,9 +5,11 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Cyan4973/xxHash - REF v0.6.4 - SHA512 6c914bac5092dfd01349c8223c382d3c13ba1b22e08300ce86ea9663a9a934f930debdeb71c14365ec57d72b95088a4354da92dfb7fcf7d07ec01c0f4fb70ca7 - HEAD_REF dev) + REF a728fc9fe895460ff0e5f1efc2ce233d2095fd20 + SHA512 7795be00054d5f7abf4afab5912cc532bfc47f0bc8278cf09a44feb854f11e921d3d43e734efda1edbae0722450e4f9f02eeb5954220293eac930b4fa13ff737 + HEAD_REF dev + PATCHES fix-arm-uwp.patch +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/cmake_unofficial @@ -18,6 +20,7 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/xxhash) -- cgit v1.2.3 From aeebab7dc5558ec6315dcc463a70cad692e4e8c1 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 6 Jun 2019 02:49:40 +0800 Subject: [arb]Upgrade version to 2.16.0 and fix build error. (#6763) --- ports/arb/CONTROL | 2 +- ports/arb/fix-build-error.patch | 24 ++++++++++++++++++++++++ ports/arb/portfile.cmake | 10 +++++----- 3 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 ports/arb/fix-build-error.patch diff --git a/ports/arb/CONTROL b/ports/arb/CONTROL index 540eedaee..750543298 100644 --- a/ports/arb/CONTROL +++ b/ports/arb/CONTROL @@ -1,4 +1,4 @@ Source: arb -Version: 2.11.1-2 +Version: 2.16.0 Description: a C library for arbitrary-precision interval arithmetic Build-Depends: flint diff --git a/ports/arb/fix-build-error.patch b/ports/arb/fix-build-error.patch new file mode 100644 index 000000000..7ed2428cf --- /dev/null +++ b/ports/arb/fix-build-error.patch @@ -0,0 +1,24 @@ +diff --git a/acb_dirichlet/stieltjes.c b/acb_dirichlet/stieltjes.c +index ad6937b..4ca9690 100644 +--- a/acb_dirichlet/stieltjes.c ++++ b/acb_dirichlet/stieltjes.c +@@ -340,16 +340,16 @@ stieltjes_mag(double n) + return t; + } + +-static double _hypot(double x, double y) { return sqrt(x * x + y * y); } ++static double __hypot(double x, double y) { return sqrt(x * x + y * y); } + + /* log2 magnitude of integrand at z = x+yi; alpha = a+bi */ + static double + integrand_mag(double n, double x, double y, double a, double b) + { + double t, u; +- t = log(_hypot(a - y, b + x)); ++ t = log(__hypot(a - y, b + x)); + u = atan2(b + x, a - y); +- t = log(_hypot(t,u)) * (n+1) - 2.0 * 3.1415926535897932 * x; ++ t = log(__hypot(t,u)) * (n+1) - 2.0 * 3.1415926535897932 * x; + return t * 1.44269504088896341; + } + diff --git a/ports/arb/portfile.cmake b/ports/arb/portfile.cmake index 847120318..3c1196283 100644 --- a/ports/arb/portfile.cmake +++ b/ports/arb/portfile.cmake @@ -5,9 +5,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fredrik-johansson/arb - REF 2.11.1 - SHA512 7a014da5208b55f20c7a3cd3eb51070b09ae107b04cbbd6329925780c2ab4d7c38e1fb3619f21456fa806939818370fcae921f59eb013661b6bdd3d0971e3353 + REF 2.16.0 + SHA512 171c965aeb03cd2830df8a53990403c6da480a94d44385dadfbb2d02697f7c03e8b9a217094b0ad93f796d889a1564f4b9ae9db35ef9de90f61bb2e3220911be HEAD_REF master + PATCHES fix-build-error.patch ) file(REMOVE ${SOURCE_PATH}/CMakeLists.txt) @@ -21,9 +22,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +# Remove duplicate headers +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/arb RENAME copyright) - -# Remove duplicate headers -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -- cgit v1.2.3 From 97fd1135e56f1eabffbd8ffad35c7585420e5965 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 6 Jun 2019 02:50:51 +0800 Subject: [harfbuzz]Upgrade version to 2.5.1 and fix patches. (#6761) --- ports/harfbuzz/0001-fix-cmake-export.patch | 26 +++++++++++++------------- ports/harfbuzz/0003-remove-broken-test.patch | 9 ++++++--- ports/harfbuzz/CONTROL | 2 +- ports/harfbuzz/find-package-freetype-2.patch | 26 +++++++++++++------------- ports/harfbuzz/portfile.cmake | 4 ++-- 5 files changed, 35 insertions(+), 32 deletions(-) diff --git a/ports/harfbuzz/0001-fix-cmake-export.patch b/ports/harfbuzz/0001-fix-cmake-export.patch index 0ba0245d0..c3264dfd5 100644 --- a/ports/harfbuzz/0001-fix-cmake-export.patch +++ b/ports/harfbuzz/0001-fix-cmake-export.patch @@ -1,13 +1,13 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 019e205..8a464a5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -795,7 +795,7 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) - ) - install(EXPORT harfbuzzConfig - NAMESPACE harfbuzz:: -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/harfbuzz -+ DESTINATION share/harfbuzz - ) - if (HB_BUILD_UTILS) - if (WIN32 AND BUILD_SHARED_LIBS) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 019e205..8a464a5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -795,7 +795,7 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) + ) + install(EXPORT harfbuzzConfig + NAMESPACE harfbuzz:: +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/harfbuzz ++ DESTINATION share/harfbuzz + ) + if (HB_BUILD_UTILS) + if (WIN32 AND BUILD_SHARED_LIBS) diff --git a/ports/harfbuzz/0003-remove-broken-test.patch b/ports/harfbuzz/0003-remove-broken-test.patch index 2e5b78fa7..2a3b234ee 100644 --- a/ports/harfbuzz/0003-remove-broken-test.patch +++ b/ports/harfbuzz/0003-remove-broken-test.patch @@ -1,6 +1,8 @@ +diff --git a/src/hb-coretext.cc b/src/hb-coretext.cc +index 85993d1..3e8e642 100644 --- a/src/hb-coretext.cc +++ b/src/hb-coretext.cc -@@ -1059,20 +1059,6 @@ +@@ -1059,21 +1059,6 @@ resize_and_retry: buffer->len += num_glyphs; } @@ -14,10 +16,11 @@ - if (false) - { - /* Make sure all runs had the expected direction. */ -- bool backward = HB_DIRECTION_IS_BACKWARD (buffer->props.direction); +- HB_UNUSED bool backward = HB_DIRECTION_IS_BACKWARD (buffer->props.direction); - assert (bool (status_and & kCTRunStatusRightToLeft) == backward); - assert (bool (status_or & kCTRunStatusRightToLeft) == backward); - } - +- buffer->clear_positions (); + unsigned int count = buffer->len; diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL index a0fdfdd95..133d0bc0e 100644 --- a/ports/harfbuzz/CONTROL +++ b/ports/harfbuzz/CONTROL @@ -1,5 +1,5 @@ Source: harfbuzz -Version: 2.4.0 +Version: 2.5.1 Description: HarfBuzz OpenType text shaping engine Build-Depends: freetype, ragel, gettext (osx) Default-Features: ucdn diff --git a/ports/harfbuzz/find-package-freetype-2.patch b/ports/harfbuzz/find-package-freetype-2.patch index 85dbbdeec..608e9c890 100644 --- a/ports/harfbuzz/find-package-freetype-2.patch +++ b/ports/harfbuzz/find-package-freetype-2.patch @@ -1,13 +1,13 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index defd5d6..03f9d4e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -267,7 +267,7 @@ set (subset_project_headers - - ## Find and include needed header folders and libraries - if (HB_HAVE_FREETYPE) -- include (FindFreetype) -+ find_package(Freetype REQUIRED) - if (NOT FREETYPE_FOUND) - message(FATAL_ERROR "HB_HAVE_FREETYPE was set, but we failed to find it. Maybe add a CMAKE_PREFIX_PATH= to your Freetype2 install prefix") - endif () +diff --git a/CMakeLists.txt b/CMakeLists.txt +index defd5d6..03f9d4e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -267,7 +267,7 @@ set (subset_project_headers + + ## Find and include needed header folders and libraries + if (HB_HAVE_FREETYPE) +- include (FindFreetype) ++ find_package(Freetype REQUIRED) + if (NOT FREETYPE_FOUND) + message(FATAL_ERROR "HB_HAVE_FREETYPE was set, but we failed to find it. Maybe add a CMAKE_PREFIX_PATH= to your Freetype2 install prefix") + endif () diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake index bfcd3cea0..d28bd656f 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO harfbuzz/harfbuzz - REF 2.4.0 - SHA512 dd3a5caec689cffdd887bd3ca646ceaee804a0501d1d4ad1e9d9d48d9e4a87a02b76a9aa354dc69528b7d2a17c2431fce67c1681c72ad8246c2f5a1be498d52a + REF 2.5.1 + SHA512 e8b4b98e65d809579456551e4dd70bdd847d02cbfa80df479f6f544eff2bdbfaa7502f22e5f4e5217f063badc8874f6e568d49e9c40ab752b233fafa9e74aeab HEAD_REF master PATCHES 0001-fix-cmake-export.patch -- cgit v1.2.3 From 311ac99e48d9b46b86d0e8022bd782c9d533c912 Mon Sep 17 00:00:00 2001 From: Christophe Delacourt Date: Wed, 5 Jun 2019 21:07:39 +0200 Subject: update spirv cross (#6690) --- ports/spirv-cross/CONTROL | 2 +- ports/spirv-cross/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/spirv-cross/CONTROL b/ports/spirv-cross/CONTROL index cfba267dd..665637d43 100644 --- a/ports/spirv-cross/CONTROL +++ b/ports/spirv-cross/CONTROL @@ -1,3 +1,3 @@ Source: spirv-cross -Version: 2018-08-07-1 +Version: 2019-05-09 Description: SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages. diff --git a/ports/spirv-cross/portfile.cmake b/ports/spirv-cross/portfile.cmake index 6495e82bc..f40c6b2de 100644 --- a/ports/spirv-cross/portfile.cmake +++ b/ports/spirv-cross/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Cross - REF 2018-08-07 - SHA512 1ac6ee6b2864d950199d4e856ae1576f9435827501baa5d53821a973cd68aaa03ec428094bf74c570784997baac5b2e3802ddc7f02844e2ee546741fa726bf91 + REF fce83b7e8b0f6599efd4481992b2eb30f69f21de + SHA512 24bdb965f0248b57081d314f078a522ef8da842ee5480e1276da7bc70cae002cfe7a58903f99d13bcdee1e3863f77dfcd5a74e084e63a9c20edf42a833b2a874 HEAD_REF master ) -- cgit v1.2.3 From 8ad8f08836f2982534535b9293fba003f4b12074 Mon Sep 17 00:00:00 2001 From: huangqinjin Date: Thu, 6 Jun 2019 05:23:09 +0800 Subject: [vcpkg] Fix install from head when no-downloads (#6653) --- scripts/cmake/vcpkg_from_github.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake index 48bfd828a..c0d657bbc 100644 --- a/scripts/cmake/vcpkg_from_github.cmake +++ b/scripts/cmake/vcpkg_from_github.cmake @@ -161,7 +161,7 @@ function(vcpkg_from_github) # Parse the github refs response with regex. # TODO: use some JSON swiss-army-knife utility instead. - file(READ "${ARCHIVE_VERSION}" _contents) + file(READ "${downloaded_file_path}.version" _contents) string(REGEX MATCH "\"sha\": \"[a-f0-9]+\"" x "${_contents}") string(REGEX REPLACE "\"sha\": \"([a-f0-9]+)\"" "\\1" _version ${x}) -- cgit v1.2.3 From f6f127eb00fb6b5d43d307bec01e02da570b0631 Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Wed, 5 Jun 2019 19:38:37 -0400 Subject: Upgrade google-cloud-cpp to 0.10.0. (#6785) With the new version we should not need the patch, so I removed it. We also moved the repository from GoogleCloudPlatform to the googleapis/ GitHub organization, save a redirect in the download by fixing that. --- ports/google-cloud-cpp/CONTROL | 2 +- .../cmake-libcurl-find-config.patch | 142 --------------------- ports/google-cloud-cpp/portfile.cmake | 8 +- 3 files changed, 4 insertions(+), 148 deletions(-) delete mode 100644 ports/google-cloud-cpp/cmake-libcurl-find-config.patch diff --git a/ports/google-cloud-cpp/CONTROL b/ports/google-cloud-cpp/CONTROL index ca4078bf2..6c1b23391 100644 --- a/ports/google-cloud-cpp/CONTROL +++ b/ports/google-cloud-cpp/CONTROL @@ -1,4 +1,4 @@ Source: google-cloud-cpp -Version: 0.9.0 +Version: 0.10.0 Build-Depends: grpc, curl[ssl], crc32c Description: C++ Client Libraries for Google Cloud Platform APIs. diff --git a/ports/google-cloud-cpp/cmake-libcurl-find-config.patch b/ports/google-cloud-cpp/cmake-libcurl-find-config.patch deleted file mode 100644 index 0c1d6dd6f..000000000 --- a/ports/google-cloud-cpp/cmake-libcurl-find-config.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff --git a/cmake/IncludeCurl.cmake b/cmake/IncludeCurl.cmake -index 6ea7ca3e6..3c2db6b28 100644 ---- a/cmake/IncludeCurl.cmake -+++ b/cmake/IncludeCurl.cmake -@@ -34,49 +34,57 @@ set_property(CACHE GOOGLE_CLOUD_CPP_CURL_PROVIDER - if ("${GOOGLE_CLOUD_CPP_CURL_PROVIDER}" STREQUAL "external") - include(external/curl) - elseif("${GOOGLE_CLOUD_CPP_CURL_PROVIDER}" STREQUAL "package") -- # Search for libcurl, in CMake 3.5 this does not define a target, but it -- # will in 3.12 (see https://cmake.org/cmake/help/git- -- # stage/module/FindCURL.html for details). Until then, define the target -- # ourselves if it is missing. -- find_package(CURL REQUIRED) -- if (NOT TARGET CURL::libcurl) -- add_library(CURL::libcurl UNKNOWN IMPORTED) -- set_property(TARGET CURL::libcurl -- APPEND -- PROPERTY INTERFACE_INCLUDE_DIRECTORIES -- "${CURL_INCLUDE_DIR}") -- set_property(TARGET CURL::libcurl -- APPEND -- PROPERTY IMPORTED_LOCATION "${CURL_LIBRARY}") -- endif () -- # If the library is static, we need to explicitly link its dependencies. -- # However, we should not do so for shared libraries, because the version of -- # OpenSSL (for example) found by find_package() may be newer than the -- # version linked against libcurl. -- if ("${CURL_LIBRARY}" MATCHES "${CMAKE_STATIC_LIBRARY_SUFFIX}$") -- find_package(OpenSSL REQUIRED) -- find_package(ZLIB REQUIRED) -- set_property(TARGET CURL::libcurl -- APPEND -- PROPERTY INTERFACE_LINK_LIBRARIES -- OpenSSL::SSL -- OpenSSL::Crypto -- ZLIB::ZLIB) -- message(STATUS "CURL linkage will be static") -- if (WIN32) -+ # Search for libcurl, first using CONFIG mode, and retrying -+ # using MODULE mode if that fails -+ find_package(CURL CONFIG QUIET) # Deliberately quiet, so we can handle the result -+ if(CURL_FOUND) -+ message(STATUS "CURL library found via CONFIG mode") -+ else() -+ # CONFIG mode failed - fallback to MODULE mode -+ # In CMake 3.5 this does not define a target, but it -+ # will in 3.12 (see https://cmake.org/cmake/help/git- -+ # stage/module/FindCURL.html for details). Until then, define the target -+ # ourselves if it is missing. -+ find_package(CURL MODULE REQUIRED) # Use REQUIRED the second time to fail out -+ if (NOT TARGET CURL::libcurl) -+ add_library(CURL::libcurl UNKNOWN IMPORTED) - set_property(TARGET CURL::libcurl - APPEND -- PROPERTY INTERFACE_LINK_LIBRARIES -- crypt32 -- wsock32 -- ws2_32) -+ PROPERTY INTERFACE_INCLUDE_DIRECTORIES -+ "${CURL_INCLUDE_DIR}") -+ set_property(TARGET CURL::libcurl -+ APPEND -+ PROPERTY IMPORTED_LOCATION "${CURL_LIBRARY}") - endif () -- if (APPLE) -+ # If the library is static, we need to explicitly link its dependencies. -+ # However, we should not do so for shared libraries, because the version of -+ # OpenSSL (for example) found by find_package() may be newer than the -+ # version linked against libcurl. -+ if ("${CURL_LIBRARY}" MATCHES "${CMAKE_STATIC_LIBRARY_SUFFIX}$") -+ find_package(OpenSSL REQUIRED) -+ find_package(ZLIB REQUIRED) - set_property(TARGET CURL::libcurl - APPEND -- PROPERTY INTERFACE_LINK_LIBRARIES ldap) -+ PROPERTY INTERFACE_LINK_LIBRARIES -+ OpenSSL::SSL -+ OpenSSL::Crypto -+ ZLIB::ZLIB) -+ message(STATUS "CURL linkage will be static") -+ if (WIN32) -+ set_property(TARGET CURL::libcurl -+ APPEND -+ PROPERTY INTERFACE_LINK_LIBRARIES -+ crypt32 -+ wsock32 -+ ws2_32) -+ endif () -+ if (APPLE) -+ set_property(TARGET CURL::libcurl -+ APPEND -+ PROPERTY INTERFACE_LINK_LIBRARIES ldap) -+ endif () -+ else() -+ message(STATUS "CURL linkage will be non-static") - endif () -- else() -- message(STATUS "CURL linkage will be non-static") - endif () - endif () -diff --git a/google/cloud/storage/config.cmake.in b/google/cloud/storage/config.cmake.in -index a4d261815..640089e09 100644 ---- a/google/cloud/storage/config.cmake.in -+++ b/google/cloud/storage/config.cmake.in -@@ -13,21 +13,25 @@ - # limitations under the License. - - include(CMakeFindDependencyMacro) --find_dependency(CURL) -+# Search for libcurl, first using CONFIG mode, and retrying -+# using MODULE mode if that fails -+find_package(CURL CONFIG QUIET) # find_package so we can explicitly specify QUIET -+if(NOT CURL_FOUND) -+ find_dependency(CURL MODULE) -+ # Some versions of FindCURL do not define CURL::libcurl, so we define it ourselves. -+ if (NOT TARGET CURL::libcurl) -+ add_library(CURL::libcurl UNKNOWN IMPORTED) -+ set_property(TARGET CURL::libcurl -+ APPEND -+ PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIR}") -+ set_property(TARGET CURL::libcurl -+ APPEND -+ PROPERTY IMPORTED_LOCATION "${CURL_LIBRARY}") -+ endif () -+endif() - find_dependency(Crc32c) - find_dependency(google_cloud_cpp_common) - find_dependency(OpenSSL) - find_dependency(ZLIB) - --# Some versions of FindCURL do not define CURL::libcurl, so we define it ourselves. --if (NOT TARGET CURL::libcurl) -- add_library(CURL::libcurl UNKNOWN IMPORTED) -- set_property(TARGET CURL::libcurl -- APPEND -- PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIR}") -- set_property(TARGET CURL::libcurl -- APPEND -- PROPERTY IMPORTED_LOCATION "${CURL_LIBRARY}") --endif () -- - include("${CMAKE_CURRENT_LIST_DIR}/storage-targets.cmake") diff --git a/ports/google-cloud-cpp/portfile.cmake b/ports/google-cloud-cpp/portfile.cmake index 289c51a01..84c5c0240 100644 --- a/ports/google-cloud-cpp/portfile.cmake +++ b/ports/google-cloud-cpp/portfile.cmake @@ -4,12 +4,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO GoogleCloudPlatform/google-cloud-cpp - REF v0.9.0 - SHA512 b62051b9396efe8af8063d28ac958524b762a90c053f82030834bd38f018f0755487f6b39ceb5a0082d7cbf8784854c4effd81de27633086857330dc9bda182b + REPO googleapis/google-cloud-cpp + REF v0.10.0 + SHA512 9a1774dcc39d1626c8a9cf8630fe3b3110df7e21e452c7b137e1911d10b304997571aadff5fc0216715729db4a29621066a5236a0b2cb027bba4ce3c56492fb3 HEAD_REF master - PATCHES - cmake-libcurl-find-config.patch ) vcpkg_configure_cmake( -- cgit v1.2.3 From dc008d14a902bd5ae1d2b51d10d16020e461b7f7 Mon Sep 17 00:00:00 2001 From: grdowns Date: Wed, 5 Jun 2019 18:24:16 -0700 Subject: Remove unneeded symbol export; Fix Linux build --- ports/glibmm/CMakeLists.txt | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt index c6fa7027a..942776c6d 100644 --- a/ports/glibmm/CMakeLists.txt +++ b/ports/glibmm/CMakeLists.txt @@ -40,16 +40,7 @@ if(APPLE) link_libraries(${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${FOUNDATION_LIBRARY}) endif() -# Activate workaround for exporting all symbols from Windows DLLs to mimic the -# behavior on Linux, where dynamic libraries always export all symbols. -# The same approach was already used by the upstream MSVC build (see MSVC_NMake/gendef/gendef.cc) -if (WIN32) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) -endif() - -if(BUILD_SHARED_LIBS) - add_definitions(-DGLIBMM_DLL -DGIOMM_DLL) -else() +if(NOT BUILD_SHARED_LIBS) add_definitions(-DGLIBMM_STATIC_LIB -DGIOMM_STATIC_LIB) endif() -- cgit v1.2.3 From 4fab470553366c5f4282f9d948625f85980ca0c6 Mon Sep 17 00:00:00 2001 From: grdowns Date: Wed, 5 Jun 2019 18:24:39 -0700 Subject: Stop forcing static linkage --- ports/glibmm/portfile.cmake | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake index 693a77278..460e32cac 100644 --- a/ports/glibmm/portfile.cmake +++ b/ports/glibmm/portfile.cmake @@ -5,11 +5,6 @@ if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "Error: UWP builds are currently not supported.") endif() -# This library itself would would as static library, but it is used by gtkmm, atkmm & pangomm which are all set to ONLY_DYNAMIC LIBRARY -# Having multiple dynamic libaries linking the same static library causes multiple copies of its static data to be present in the executable -# leading to confusing and hard-to-debug runtime effects. -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/glibmm-2.52.1) vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.52/glibmm-2.52.1.tar.xz" -- cgit v1.2.3 From 4c613a085ce819200b9d2f4da85da530ef08201c Mon Sep 17 00:00:00 2001 From: Philipp Hasper Date: Thu, 6 Jun 2019 20:52:02 +0200 Subject: [zxing-cpp] Fixed renaming zxing -> zxing-cpp (#6779) Referenced file vcpkg/installed/x64-windows/tools/zxing-cpp/zxing.exe did not exist, because it was created at vcpkg/installed/x64-windows/tools/zxing/zxing.exe Closes #6616 --- ports/zxing-cpp/CONTROL | 2 +- ports/zxing-cpp/portfile.cmake | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ports/zxing-cpp/CONTROL b/ports/zxing-cpp/CONTROL index fec8e63e5..c51ccb60d 100644 --- a/ports/zxing-cpp/CONTROL +++ b/ports/zxing-cpp/CONTROL @@ -1,4 +1,4 @@ Source: zxing-cpp -Version: 3.3.3-3 +Version: 3.3.3-4 Build-Depends: opencv[core] Description: Barcode detection and decoding library. diff --git a/ports/zxing-cpp/portfile.cmake b/ports/zxing-cpp/portfile.cmake index 40f1aca5b..1d063de7c 100644 --- a/ports/zxing-cpp/portfile.cmake +++ b/ports/zxing-cpp/portfile.cmake @@ -22,13 +22,13 @@ vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/zxing/cmake" TARGET_PATH share/zxing) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/zxing) +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/zxing-cpp) if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing-cpp) else() - file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing-cpp) endif() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/zxing) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/zxing-cpp) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) -- cgit v1.2.3 From db9e1af47b5b8a68b4502ce6871bf134cbcabcf2 Mon Sep 17 00:00:00 2001 From: Rodrigo Hernandez Cordoba Date: Thu, 6 Jun 2019 12:54:15 -0600 Subject: [gdk-pixbuf] Fix Linux compilation. (#6663) * [gdk-pixbuf] Fix Linux compilation. Unlike #6625 this version contains the minimal changes required to keep other dependencies as untouched as possible. * [gdk-pixbuf] Bumping CONTROL versions * [libcroco] Added copy pdbs to portfile. * [libcroco] Fix missing unoficial-libcroco-targets-debug.cmake... ... file from installation. --- ports/gdk-pixbuf/CMakeLists.txt | 48 ++++--- ports/gdk-pixbuf/CONTROL | 2 +- ports/gdk-pixbuf/config.h.linux | 158 +++++++++++++++++++++++ ports/gdk-pixbuf/portfile.cmake | 1 + ports/glib/CMakeLists.txt | 4 +- ports/glib/CONTROL | 2 +- ports/glib/cmake/unofficial-glib-config.in.cmake | 6 +- ports/libcroco/CMakeLists.txt | 14 +- ports/libcroco/CONTROL | 2 +- ports/libcroco/portfile.cmake | 6 +- 10 files changed, 210 insertions(+), 33 deletions(-) create mode 100644 ports/gdk-pixbuf/config.h.linux diff --git a/ports/gdk-pixbuf/CMakeLists.txt b/ports/gdk-pixbuf/CMakeLists.txt index 0d56b7fad..04524cb4f 100644 --- a/ports/gdk-pixbuf/CMakeLists.txt +++ b/ports/gdk-pixbuf/CMakeLists.txt @@ -9,20 +9,19 @@ set(GLIB_LIB_VERSION 2.0) find_package(ZLIB REQUIRED) find_package(PNG REQUIRED) +find_package(unofficial-glib CONFIG REQUIRED) find_path(GLIB_INCLUDE_DIR glib.h) -find_library(GLIB_GLIB_LIBRARY glib-${GLIB_LIB_VERSION}) -find_library(GLIB_GIO_LIBRARY gio-${GLIB_LIB_VERSION}) -find_library(GLIB_GOBJECT_LIBRARY gobject-${GLIB_LIB_VERSION}) -find_library(GLIB_GMODULE_LIBRARY gmodule-${GLIB_LIB_VERSION}) -set(GLIB_LIBRARIES ${GLIB_GLIB_LIBRARY} ${GLIB_GOBJECT_LIBRARY} ${GLIB_GMODULE_LIBRARY} ${GLIB_GIO_LIBRARY}) -find_path(LIBINTL_INCLUDE_DIR libintl.h) -find_library(LIBINTL_LIBRARY NAMES libintl intl) - -configure_file(./config.h.win32 ${CMAKE_SOURCE_DIR}/config.h COPYONLY) +if(WIN32) + find_package(unofficial-gettext CONFIG REQUIRED) + find_path(LIBINTL_INCLUDE_DIR libintl.h) + configure_file(${CMAKE_SOURCE_DIR}/config.h.win32 ${CMAKE_SOURCE_DIR}/config.h COPYONLY) +else() + configure_file(${CMAKE_SOURCE_DIR}/config.h.linux ${CMAKE_SOURCE_DIR}/config.h COPYONLY) +endif() include_directories(. ./gdk-pixbuf) -add_library(gdk-pixbuf +set(SOURCES gdk-pixbuf/gdk-pixbuf.c gdk-pixbuf/gdk-pixbuf-animation.c gdk-pixbuf/gdk-pixbuf-data.c @@ -46,6 +45,9 @@ add_library(gdk-pixbuf gdk-pixbuf/io-xpm.c gdk-pixbuf/io-xbm.c gdk-pixbuf/pixops/pixops.c +) +if(WIN32) + list(APPEND SOURCES gdk-pixbuf/io-gdip-animation.c gdk-pixbuf/io-gdip-bmp.c gdk-pixbuf/io-gdip-emf.c @@ -54,7 +56,10 @@ add_library(gdk-pixbuf gdk-pixbuf/io-gdip-jpeg.c gdk-pixbuf/io-gdip-tiff.c gdk-pixbuf/io-gdip-utils.c - gdk-pixbuf/io-gdip-wmf.c) + gdk-pixbuf/io-gdip-wmf.c +) +endif() +add_library(gdk-pixbuf ${SOURCES}) target_include_directories(gdk-pixbuf PRIVATE ${GLIB_INCLUDE_DIR} @@ -62,14 +67,20 @@ target_include_directories(gdk-pixbuf PRIVATE ${ZLIB_INCLUDE_DIRS} ${LIBINTL_INCLUDE_DIR}) -target_link_libraries(gdk-pixbuf - ${GLIB_LIBRARIES} +set(LIBS + unofficial::glib::gio unofficial::glib::glib unofficial::glib::gmodule unofficial::glib::gobject ${ZLIB_LIBRARIES} ${PNG_LIBRARIES} - ${LIBINTL_LIBRARY} - Gdiplus) +) +if(WIN32) + list(APPEND LIBS Gdiplus unofficial::gettext::libintl) +else() + list(APPEND LIBS m) +endif() + +target_link_libraries(gdk-pixbuf ${LIBS}) -target_compile_definitions(gdk-pixbuf PRIVATE +set(DEFS HAVE_CONFIG_H GDK_PIXBUF_COMPILATION GDK_PIXBUF_ENABLE_BACKEND @@ -85,9 +96,12 @@ target_compile_definitions(gdk-pixbuf PRIVATE INCLUDE_pnm INCLUDE_icns INCLUDE_xpm - INCLUDE_gdiplus G_DISABLE_SINGLE_INCLUDES GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) +if(WIN32) + list(APPEND DEFS INCLUDE_gdiplus) +endif() +target_compile_definitions(gdk-pixbuf PRIVATE ${DEFS}) set_target_properties(gdk-pixbuf PROPERTIES OUTPUT_NAME gdk_pixbuf-${GDK_PIXBUF_DLL_SUFFIX} diff --git a/ports/gdk-pixbuf/CONTROL b/ports/gdk-pixbuf/CONTROL index 7d485d95b..759dd57b0 100644 --- a/ports/gdk-pixbuf/CONTROL +++ b/ports/gdk-pixbuf/CONTROL @@ -1,4 +1,4 @@ Source: gdk-pixbuf -Version: 2.36.9-2 +Version: 2.36.9-3 Description: Image loading library. Build-Depends: gettext, zlib, libpng, glib diff --git a/ports/gdk-pixbuf/config.h.linux b/ports/gdk-pixbuf/config.h.linux new file mode 100644 index 000000000..f67387328 --- /dev/null +++ b/ports/gdk-pixbuf/config.h.linux @@ -0,0 +1,158 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 to replace the build-time prefix in modules */ +/* #undef GDK_PIXBUF_RELOCATABLE */ + +/* Define if gio can sniff image data */ +#define GDK_PIXBUF_USE_GIO_MIME 1 + +/* The prefix for our gettext translation domains. */ +#define GETTEXT_PACKAGE "gdk-pixbuf" + +/* Define to 1 if you have the `bind_textdomain_codeset' function. */ +#define HAVE_BIND_TEXTDOMAIN_CODESET 1 + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYCURRENT */ + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +#define HAVE_DCGETTEXT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#define HAVE_GETTEXT 1 + +/* Define if you have the iconv() function and it works. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if libm has lrint */ +#define HAVE_LRINT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 is libjpeg supports progressive JPEG */ +#define HAVE_PROGRESSIVE_JPEG 1 + +/* Define to 1 if libm has round */ +#define HAVE_ROUND 1 + +/* Define to 1 if you have the `setrlimit' function. */ +#define HAVE_SETRLIMIT 1 + +/* Define to 1 if sigsetjmp is available */ +#define HAVE_SIGSETJMP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if sys/sysinfo.h is available */ +#define HAVE_SYS_SYSINFO_H 1 + +/* Define to 1 if sys/systeminfo.h is available */ +/* #undef HAVE_SYS_SYSTEMINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to 1 if it's a darwin platform */ +/* #undef OS_DARWIN */ + +/* Define to 1 if it's a Linux platform */ +#define OS_LINUX 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=gdk-pixbuf" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "gdk-pixbuf" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "gdk-pixbuf 2.36.9" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "gdk-pixbuf" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "2.36.9" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if gmodule works and should be used */ +#define USE_GMODULE 1 + +/* Whether to load modules via .la files rather than directly */ +/* #undef USE_LA_MODULES */ + +/* Define to 1 if medialib is available and should be used */ +/* #undef USE_MEDIALIB */ + +/* Define to 1 if medialib 2.5 is available */ +/* #undef USE_MEDIALIB25 */ + +/* Define to 1 if MMX is available and should be used */ +/* #undef USE_MMX */ + +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* defines how to decorate public symbols while building */ +#define _GDK_PIXBUF_EXTERN __attribute__((visibility("default"))) extern + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ diff --git a/ports/gdk-pixbuf/portfile.cmake b/ports/gdk-pixbuf/portfile.cmake index 06f06cb5d..ef65115d0 100644 --- a/ports/gdk-pixbuf/portfile.cmake +++ b/ports/gdk-pixbuf/portfile.cmake @@ -12,6 +12,7 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h.linux ${SOURCE_PATH}/config.h.linux) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/glib/CMakeLists.txt b/ports/glib/CMakeLists.txt index 49e4e1112..ccc2a77e2 100644 --- a/ports/glib/CMakeLists.txt +++ b/ports/glib/CMakeLists.txt @@ -330,8 +330,8 @@ install( DESTINATION share/unofficial-glib ) configure_file( - cmake/unofficial-glib-config.in.cmake - cmake/unofficial-glib-config.cmake + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/unofficial-glib-config.in.cmake + ${CMAKE_CURRENT_BINARY_DIR}/cmake/unofficial-glib-config.cmake @ONLY ) install( diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL index 9197a6037..f2a619c9c 100644 --- a/ports/glib/CONTROL +++ b/ports/glib/CONTROL @@ -1,4 +1,4 @@ Source: glib -Version: 2.52.3-14-1 +Version: 2.52.3-14-2 Description: Portable, general-purpose utility library. Build-Depends: zlib, pcre, libffi, gettext, libiconv diff --git a/ports/glib/cmake/unofficial-glib-config.in.cmake b/ports/glib/cmake/unofficial-glib-config.in.cmake index 976e52a9b..ea87ea0b2 100644 --- a/ports/glib/cmake/unofficial-glib-config.in.cmake +++ b/ports/glib/cmake/unofficial-glib-config.in.cmake @@ -1,7 +1,7 @@ -if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") - include(CMakeFindDependencyMacro) +include(CMakeFindDependencyMacro) +find_dependency(unofficial-iconv) +if(NOT WIN32) find_dependency(Threads) - find_dependency(unofficial-iconv) endif() include("${CMAKE_CURRENT_LIST_DIR}/unofficial-glib-targets.cmake") diff --git a/ports/libcroco/CMakeLists.txt b/ports/libcroco/CMakeLists.txt index cb29f04cb..ff11792ff 100644 --- a/ports/libcroco/CMakeLists.txt +++ b/ports/libcroco/CMakeLists.txt @@ -1,11 +1,12 @@ cmake_minimum_required(VERSION 3.11) project(libcroco C) +find_package(unofficial-iconv REQUIRED) +find_package(unofficial-gettext CONFIG REQUIRED) find_package(unofficial-glib CONFIG REQUIRED) find_package(LibXml2 REQUIRED) if(NOT WIN32) find_package(Threads REQUIRED) - find_package(unofficial-iconv REQUIRED) endif() find_path(GLIB_INCLUDE_DIR glib.h) @@ -67,10 +68,10 @@ file(GLOB SOURCES set(CMAKE_DEBUG_POSTFIX "d") -add_library(libcroco ${SOURCES}) +add_library(croco-0.6 ${SOURCES}) -target_include_directories(libcroco PRIVATE ${GLIB_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR}) -target_link_libraries(libcroco PRIVATE +target_include_directories(croco-0.6 PRIVATE ${GLIB_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR}) +target_link_libraries(croco-0.6 PRIVATE unofficial::glib::gio unofficial::glib::glib unofficial::glib::gmodule @@ -78,7 +79,7 @@ target_link_libraries(libcroco PRIVATE ${LIBXML2_LIBRARIES} ) -install(TARGETS libcroco +install(TARGETS croco-0.6 EXPORT libcroco-targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib @@ -126,11 +127,12 @@ install( file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-libcroco-config.cmake " include(CMakeFindDependencyMacro) +find_dependency(unofficial-gettext) +find_dependency(unofficial-iconv CONFIG) find_dependency(unofficial-glib CONFIG) find_dependency(LibXml2) if(NOT WIN32) find_dependency(Threads) - find_dependency(unofficial-iconv) endif() include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-libcroco-targets.cmake) ") diff --git a/ports/libcroco/CONTROL b/ports/libcroco/CONTROL index a0d05daaf..8badbeccc 100644 --- a/ports/libcroco/CONTROL +++ b/ports/libcroco/CONTROL @@ -1,4 +1,4 @@ Source: libcroco -Version: 0.6.13 +Version: 0.6.13-1 Description: A standalone css2 parsing and manipulation library Build-Depends: glib, libxml2 diff --git a/ports/libcroco/portfile.cmake b/ports/libcroco/portfile.cmake index e8da1e612..b5c332306 100644 --- a/ports/libcroco/portfile.cmake +++ b/ports/libcroco/portfile.cmake @@ -24,11 +24,13 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-libcroco TARGET_PATH share/unofficial-libcroco) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcroco RENAME copyright) +vcpkg_copy_pdbs() + # Post-build test for cmake libraries - vcpkg_test_cmake(PACKAGE_NAME libcroco) +vcpkg_test_cmake(PACKAGE_NAME libcroco) -- cgit v1.2.3 From a260c2dafba9a2ef822985376da612567c6029fa Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 7 Jun 2019 04:09:14 +0800 Subject: [pprint] Add new port (#6678) * [pprint] Add new port * [pprint] Rerun tests --- ports/pprint/CONTROL | 3 +++ ports/pprint/portfile.cmake | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 ports/pprint/CONTROL create mode 100644 ports/pprint/portfile.cmake diff --git a/ports/pprint/CONTROL b/ports/pprint/CONTROL new file mode 100644 index 000000000..0f06b8c4c --- /dev/null +++ b/ports/pprint/CONTROL @@ -0,0 +1,3 @@ +Source: pprint +Version: 2019-06-01 +Description: Pretty Printer for Modern C++ diff --git a/ports/pprint/portfile.cmake b/ports/pprint/portfile.cmake new file mode 100644 index 000000000..792b4851b --- /dev/null +++ b/ports/pprint/portfile.cmake @@ -0,0 +1,27 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO p-ranav/pprint + REF 71d85f0cd4ec2012c9cf19bfa741e094fcecfa3e + SHA512 6b0ff7a75a09226f775fa01fd9753d0f69c4838b40253fe9fc824eeee3c2efa1884e711188858f185f9c765f1dadace0bb72227d71e4d2218c493ddfb60224fa + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DPPRINT_BUILD_TESTS=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) -- cgit v1.2.3 From 25a04acf11335b314a38f33764341e096adb6d22 Mon Sep 17 00:00:00 2001 From: Griffin Downs Date: Thu, 6 Jun 2019 13:13:15 -0700 Subject: Reapply introduction of CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS --- ports/glibmm/CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt index 942776c6d..f1ff5ea9a 100644 --- a/ports/glibmm/CMakeLists.txt +++ b/ports/glibmm/CMakeLists.txt @@ -40,7 +40,14 @@ if(APPLE) link_libraries(${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${FOUNDATION_LIBRARY}) endif() -if(NOT BUILD_SHARED_LIBS) +# Activate workaround for exporting all symbols from Windows DLLs to mimic the +# behavior on Linux, where dynamic libraries always export all symbols. +# The same approach was already used by the upstream MSVC build (see MSVC_NMake/gendef/gendef.cc) +if (WIN32) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) +endif() + +if(BUILD_SHARED_LIBS) add_definitions(-DGLIBMM_STATIC_LIB -DGIOMM_STATIC_LIB) endif() -- cgit v1.2.3 From 99825d9ebfb3880be8782a898026c33e15fb2d28 Mon Sep 17 00:00:00 2001 From: Norbert Nemec Date: Thu, 6 Jun 2019 22:58:41 +0200 Subject: [bdwgc] New port (#6405) * [bdwgc] New port * [bdwgc] Fix x64-windows-static build * [bdwgc] Patch CMakeLists.txt to install libraries * [bdwgc] Rename produced binaries to gc * [bdwgc] Export library symbols using GC_DLL * [bdwgc] Disable installation of extra tools * [bdwgc] Fix installation path for header files * [bdwgc] Use latest commit and CMake patch * [bdwgc] Update patch * [bdwgc] Disable tests and cord * [bdwgc] Use local patch * [bdwgc] Remove unsupported MacOS architecture --- ports/bdwgc/001-install-libraries.patch | 257 ++++++++++++++++++++++++++++++++ ports/bdwgc/CONTROL | 3 + ports/bdwgc/portfile.cmake | 31 ++++ 3 files changed, 291 insertions(+) create mode 100644 ports/bdwgc/001-install-libraries.patch create mode 100644 ports/bdwgc/CONTROL create mode 100644 ports/bdwgc/portfile.cmake diff --git a/ports/bdwgc/001-install-libraries.patch b/ports/bdwgc/001-install-libraries.patch new file mode 100644 index 000000000..2cc87f5be --- /dev/null +++ b/ports/bdwgc/001-install-libraries.patch @@ -0,0 +1,257 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8d386ca5..b94d6358 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,6 +27,10 @@ include(CTest) + + cmake_minimum_required(VERSION 3.1) + ++# Customize CMake options by passing "-D=ON|OFF" in your command line ++option(build_cord "Install cord" ON) ++option(build_tests "Install library tests" ON) ++option(install_headers "Install header files" ON) + option(enable_threads "TODO" OFF) #TODO Support it + option(enable_parallel_mark "Parallelize marking and free list construction" ON) + option(enable_thread_local_alloc "Turn on thread-local allocation optimization" ON) +@@ -52,22 +56,13 @@ add_definitions("-DALL_INTERIOR_POINTERS -DNO_EXECUTE_PERMISSION") + + if (APPLE) + if ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "") +- set(CMAKE_OSX_ARCHITECTURES "ppc;i386;x86_64" ++ set(CMAKE_OSX_ARCHITECTURES "x86_64;i386" + CACHE STRING "Build architectures for Mac OS X" FORCE) + endif() +-elseif (WIN32) ++elseif (MSVC) + add_definitions("-D_CRT_SECURE_NO_DEPRECATE") + endif() + +-#LIBATOMIC #TODO +-#ADD_LIBRARY(atomic_ops STATIC ) +-#SET_TARGET_PROPERTIES(atomic_ops PROPERTIES COMPILE_FLAGS -DNO_DEBUGGING) +- +- +-#LIBGC +- +-include_directories(include) +-include_directories(libatomic_ops/src) + + set(SRC alloc.c reclaim.c allchblk.c misc.c mach_dep.c os_dep.c + mark_rts.c headers.c mark.c obj_map.c blacklst.c finalize.c +@@ -82,12 +77,6 @@ if (enable_threads) + set(LIBS ${LIBS} ${Threads_LIBRARIES}) + endif() + +-#IF(Threads_FOUND) +-# ADD_DEFINITIONS("") +-#ELSE +-# MESSAGE("Parallel mark requires enable_threads ON" ) +-#ENDIF(Threads_FOUND) +- + if (enable_cplusplus) + set(SRC ${SRC} gc_cpp.cc) + endif() +@@ -141,7 +130,7 @@ if (CMAKE_USE_PTHREADS_INIT) + if (enable_parallel_mark) + add_definitions("-DHANDLE_FORK") + endif() +- endif(enable_handle_fork) ++ endif() + set(SRC ${SRC} darwin_stop_world.c) + #TODO darwin_threads=true + endif() +@@ -158,10 +147,10 @@ if (CMAKE_USE_WIN32_THREADS_INIT) + add_definitions("-DTHREAD_LOCAL_ALLOC") + set(SRC ${SRC} thread_local_alloc.c) + endif() +- endif(enable_parallel_mark) ++ endif() + add_definitions("-DEMPTY_GETENV_RESULTS") + set(SRC ${SRC} win32_threads.c) +-endif(CMAKE_USE_WIN32_THREADS_INIT) ++endif() + + if (enable_gcj_support) + add_definitions("-DGC_GCJ_SUPPORT") +@@ -169,7 +158,7 @@ if (enable_gcj_support) + add_definitions("-DGC_ENABLE_SUSPEND_THREAD") + endif() + set(SRC ${SRC} gcj_mlc.c) +-endif(enable_gcj_support) ++endif() + + if (enable_disclaim) + add_definitions("-DENABLE_DISCLAIM") +@@ -195,7 +184,7 @@ if (enable_gc_debug) + add_definitions("-DMAKE_BACK_GRAPH") + set(SRC ${SRC} backgraph.c) + endif() +-endif(enable_gc_debug) ++endif() + + if (enable_redirect_malloc) + if (enable_gc_debug) +@@ -206,7 +195,7 @@ if (enable_redirect_malloc) + add_definitions("-DREDIRECT_MALLOC=GC_malloc") + endif() + add_definitions("-DGC_USE_DLOPEN_WRAP") +-endif(enable_redirect_malloc) ++endif() + + if (enable_munmap) + add_definitions("-DUSE_MMAP -DUSE_MUNMAP") +@@ -240,19 +229,44 @@ if (enable_checksums) + endif() + add_definitions("-DCHECKSUMS") + set(SRC ${SRC} checksums.c) +-endif(enable_checksums) +- +-add_library(gc-lib STATIC ${SRC}) +-set_target_properties(gc-lib PROPERTIES +- COMPILE_DEFINITIONS GC_NOT_DLL) +-#TODO TARGET_LINK_LIBRARIES(... ... ${LIBS}) ++endif() + +-add_library(gcmt-lib STATIC ${SRC}) +-set_target_properties(gcmt-lib PROPERTIES +- COMPILE_DEFINITIONS GC_NOT_DLL) ++# Create target ++add_library(gc ${SRC}) ++target_include_directories(gc ++ PUBLIC ++ $ ++ $ ++) ++if (NOT BUILD_SHARED_LIBS) ++ target_compile_definitions(gc PRIVATE GC_NOT_DLL) ++else() ++ target_compile_definitions(gc PRIVATE GC_DLL) ++endif() + +-add_library(gcmt-dll SHARED ${SRC}) ++# Install library ++install( ++ TARGETS gc ++ EXPORT gcExports ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ RUNTIME DESTINATION bin ++ INCLUDES DESTINATION include ++) ++ ++# Install headers ++if (install_headers) ++ file(GLOB BDWGC_HEADERS "include/*.h") ++ install(FILES ${BDWGC_HEADERS} DESTINATION include/gc) ++ ++ file(GLOB BDWGC_EXTRA_HEADERS "include/extra/*.h") ++ install(FILES ${BDWGC_EXTRA_HEADERS} DESTINATION include) ++endif() + +-add_subdirectory(cord) ++if (build_cord) ++ add_subdirectory(cord) ++endif() + +-add_subdirectory(tests) ++if (build_tests) ++ add_subdirectory(tests) ++endif() +diff --git a/cord/CMakeLists.txt b/cord/CMakeLists.txt +index 17077370..21818d4e 100644 +--- a/cord/CMakeLists.txt ++++ b/cord/CMakeLists.txt +@@ -11,11 +11,11 @@ + # modified is included with the above copyright notice. + ## + ++add_executable(cord cordbscs.c cordxtra.c tests/de.c tests/de_win.c) ++set_target_properties(cord PROPERTIES COMPILE_DEFINITIONS GC_NOT_DLL) ++target_link_libraries(cord PRIVATE gc) ++ + if (WIN32) +- add_executable(cord cordbscs.c cordxtra.c +- tests/de.c tests/de_win.c) + set_target_properties(cord PROPERTIES WIN32_EXECUTABLE TRUE) +- set_target_properties(cord PROPERTIES COMPILE_DEFINITIONS GC_NOT_DLL) +- target_link_libraries(cord gc-lib) +- target_link_libraries(cord gdi32) ++ target_link_libraries(cord PRIVATE gdi32) + endif() +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index c6bcc7d7..32a021e7 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -14,8 +14,6 @@ + # modified is included with the above copyright notice. + ## + +-add_definitions("-DGC_NOT_DLL") +- + # Compile some tests as C++ to test extern "C" in header files. + if (enable_cplusplus) + set_source_files_properties(leak_test.c test.c +@@ -23,51 +21,51 @@ if (enable_cplusplus) + endif() + + add_executable(gctest WIN32 test.c) +-target_link_libraries(gctest gc-lib) ++target_link_libraries(gctest PRIVATE gc) + add_test(NAME gctest COMMAND gctest) + + add_executable(hugetest huge_test.c) +-target_link_libraries(hugetest gc-lib) ++target_link_libraries(hugetest PRIVATE gc) + add_test(NAME hugetest COMMAND hugetest) + + add_executable(leaktest leak_test.c) +-target_link_libraries(leaktest gc-lib) ++target_link_libraries(leaktest PRIVATE gc) + add_test(NAME leaktest COMMAND leaktest) + + add_executable(middletest middle.c) +-target_link_libraries(middletest gc-lib) ++target_link_libraries(middletest PRIVATE gc) + add_test(NAME middletest COMMAND middletest) + + add_executable(realloc_test realloc_test.c) +-target_link_libraries(realloc_test gc-lib) ++target_link_libraries(realloc_test PRIVATE gc) + add_test(NAME realloc_test COMMAND realloc_test) + + add_executable(smashtest smash_test.c) +-target_link_libraries(smashtest gc-lib) ++target_link_libraries(smashtest PRIVATE gc) + add_test(NAME smashtest COMMAND smashtest) + + if (enable_gc_debug) + add_executable(tracetest trace_test.c) +- target_link_libraries(tracetest gc-lib) ++ target_link_libraries(tracetest PRIVATE gc) + add_test(NAME tracetest COMMAND tracetest) + endif() + + if (enable_cplusplus) + # TODO add_executable(test_cpp test_cpp.cc) +- # target_link_libraries(test_cpp gc-lib) ++ # target_link_libraries(test_cpp PRIVATE gc) + # add_test(NAME test_cpp COMMAND test_cpp) + endif() + + if (enable_disclaim) + add_executable(disclaim_bench disclaim_bench.c) +- target_link_libraries(disclaim_bench gc-lib) ++ target_link_libraries(disclaim_bench PRIVATE gc) + add_test(NAME disclaim_bench COMMAND disclaim_bench) + + add_executable(disclaim_test disclaim_test.c) +- target_link_libraries(disclaim_test gc-lib) ++ target_link_libraries(disclaim_test PRIVATE gc) + add_test(NAME disclaim_test COMMAND disclaim_test) + + add_executable(disclaim_weakmap_test disclaim_weakmap_test.c) +- target_link_libraries(disclaim_weakmap_test gc-lib) ++ target_link_libraries(disclaim_weakmap_test PRIVATE gc) + add_test(NAME disclaim_weakmap_test COMMAND disclaim_weakmap_test) + endif() + \ No newline at end of file diff --git a/ports/bdwgc/CONTROL b/ports/bdwgc/CONTROL new file mode 100644 index 000000000..973076004 --- /dev/null +++ b/ports/bdwgc/CONTROL @@ -0,0 +1,3 @@ +Source: bdwgc +Version: 8.0.4-1 +Description: The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc) diff --git a/ports/bdwgc/portfile.cmake b/ports/bdwgc/portfile.cmake new file mode 100644 index 000000000..8fdbbf72a --- /dev/null +++ b/ports/bdwgc/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ivmai/bdwgc + # REF v8.0.4 + # SHA512 f3c178c9cab9d9df9ecdad5ac5661c916518d29b0eaca24efe569cb757c386c118ad4389851107597d99ff1bbe99b46383cce73dfd01be983196aa57c9626a4a + REF 0c8905e84d16bd5e14ed91e21904fd7ab9d197e2 + SHA512 b38fe86d0dfaacd502971e39ea7df83a3dbf5542711f6b0462b7a6d48dbcf43da07a41a60ee96bca6403a2d2adaac0815a64667f3c80549ca57c5ebbe0e9672d + HEAD_REF master + PATCHES + 001-install-libraries.patch +) + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -Dbuild_tests=OFF + -Dbuild_cord=OFF + OPTIONS_DEBUG + -Dinstall_headers=OFF +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/README.QUICK DESTINATION ${CURRENT_PACKAGES_DIR}/share/bdwgc RENAME copyright) -- cgit v1.2.3 From 16840aa123d4d9daf9eaaef8c5c659a16263145d Mon Sep 17 00:00:00 2001 From: Griffin Downs Date: Thu, 6 Jun 2019 15:51:46 -0700 Subject: Negate BUILD_SHARED_LIBS --- ports/glibmm/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt index f1ff5ea9a..10839260a 100644 --- a/ports/glibmm/CMakeLists.txt +++ b/ports/glibmm/CMakeLists.txt @@ -47,7 +47,7 @@ if (WIN32) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) endif() -if(BUILD_SHARED_LIBS) +if(NOT BUILD_SHARED_LIBS) add_definitions(-DGLIBMM_STATIC_LIB -DGIOMM_STATIC_LIB) endif() -- cgit v1.2.3 From a85359f7d30cd7caf60671916e2e1f178d329b52 Mon Sep 17 00:00:00 2001 From: driver1998 Date: Fri, 7 Jun 2019 07:04:28 +0800 Subject: ffmpeg: enable arm/arm64 windows support (#6590) * ffmpeg: enable arm/arm64 windows support * ffmpeg: fix x64-uwp * ffmpeg: remove outdated patch * ffmpeg: remove outdated patch --- .../ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch | 4 +-- .../ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch | 4 +-- .../ffmpeg/fix_windowsinclude-in-ffmpegexe-3.patch | 19 ------------ ports/ffmpeg/portfile.cmake | 36 +++++++++++++--------- scripts/cmake/vcpkg_find_acquire_program.cmake | 4 +-- 5 files changed, 27 insertions(+), 40 deletions(-) delete mode 100644 ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-3.patch diff --git a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch b/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch index 345061c3f..09ee1219f 100644 --- a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch +++ b/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch @@ -1,5 +1,5 @@ ---- a/cmdutils.c 2017-07-29 19:49:29.000000000 +0200 -+++ b/cmdutils.c 2018-09-02 20:31:42.509408400 +0200 +--- a/fftools/cmdutils.c 2017-07-29 19:49:29.000000000 +0200 ++++ b/fftools/cmdutils.c 2018-09-02 20:31:42.509408400 +0200 @@ -62,6 +62,8 @@ #include #endif diff --git a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch b/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch index fc63f1486..69d725e2a 100644 --- a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch +++ b/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch @@ -1,5 +1,5 @@ ---- a/ffmpeg.c 2017-07-29 19:49:29.000000000 +0200 -+++ b/ffmpeg.c 2018-09-02 20:32:27.666725200 +0200 +--- a/fftools/ffmpeg.c 2017-07-29 19:49:29.000000000 +0200 ++++ b/fftools/ffmpeg.c 2018-09-02 20:32:27.666725200 +0200 @@ -23,6 +23,11 @@ * multimedia converter based on the FFmpeg libraries */ diff --git a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-3.patch b/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-3.patch deleted file mode 100644 index 78aa3d2d0..000000000 --- a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-3.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/ffmpeg_dxva2.c 2017-07-29 19:49:29.000000000 +0200 -+++ b/ffmpeg_dxva2.c 2018-09-02 20:33:48.248716100 +0200 -@@ -16,12 +16,14 @@ - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - --#include -- - #ifdef _WIN32_WINNT - #undef _WIN32_WINNT - #endif - #define _WIN32_WINNT 0x0600 -+#define WIN32_LEAN_AND_MEAN -+ -+#include -+ - #define DXVA2API_USE_BITFIELDS - #define COBJMACROS - diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index af67764e6..c87da38c0 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -15,7 +15,6 @@ vcpkg_extract_source_archive_ex( configure_opencv.patch fix_windowsinclude-in-ffmpegexe-1.patch fix_windowsinclude-in-ffmpegexe-2.patch - fix_windowsinclude-in-ffmpegexe-3.patch ) if (${SOURCE_PATH} MATCHES " ") @@ -41,7 +40,7 @@ if (WIN32) set(BUILD_SCRIPT ${CMAKE_CURRENT_LIST_DIR}\\build.sh) - if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") vcpkg_acquire_msys(MSYS_ROOT PACKAGES perl gcc diffutils make) else() vcpkg_acquire_msys(MSYS_ROOT PACKAGES diffutils make) @@ -119,27 +118,32 @@ else() set(OPTIONS "${OPTIONS} --disable-bzlib") endif() +set(OPTIONS_CROSS "") + +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(OPTIONS_CROSS " --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}") + vcpkg_find_acquire_program(GASPREPROCESSOR) + foreach(GAS_PATH ${GASPREPROCESSOR}) + get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY) + set(ENV{PATH} "$ENV{PATH};${GAS_ITEM_PATH}") + endforeach(GAS_PATH) +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") +else() + message(FATAL_ERROR "Unsupported architecture") +endif() + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(ENV{LIBPATH} "$ENV{LIBPATH};$ENV{_WKITS10}references\\windows.foundation.foundationcontract\\2.0.0.0\\;$ENV{_WKITS10}references\\windows.foundation.universalapicontract\\3.0.0.0\\") - set(OPTIONS "${OPTIONS} --disable-programs --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}") + set(OPTIONS "${OPTIONS} --disable-programs") set(OPTIONS "${OPTIONS} --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00") - - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - vcpkg_find_acquire_program(GASPREPROCESSOR) - foreach(GAS_PATH ${GASPREPROCESSOR}) - get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY) - set(ENV{PATH} "$ENV{PATH};${GAS_ITEM_PATH}") - endforeach(GAS_PATH) - elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - else() - message(FATAL_ERROR "Unsupported architecture") - endif() + set(OPTIONS_CROSS " --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}") endif() set(OPTIONS_DEBUG "") # Note: --disable-optimizations can't be used due to http://ffmpeg.org/pipermail/libav-user/2013-March/003945.html set(OPTIONS_RELEASE "") +set(OPTIONS "${OPTIONS} ${OPTIONS_CROSS}") set(OPTIONS "${OPTIONS} --extra-cflags=-DHAVE_UNISTD_H=0") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") @@ -194,6 +198,8 @@ file(GLOB DEF_FILES ${CURRENT_PACKAGES_DIR}/lib/*.def ${CURRENT_PACKAGES_DIR}/de if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") set(LIB_MACHINE_ARG /machine:ARM) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(LIB_MACHINE_ARG /machine:ARM64) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(LIB_MACHINE_ARG /machine:x86) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 1e14ae175..4a77b4b8e 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -202,9 +202,9 @@ function(vcpkg_find_acquire_program VAR) set(REQUIRED_INTERPRETER PERL) set(SCRIPTNAME "gas-preprocessor.pl") set(PATHS ${DOWNLOADS}/tools/gas-preprocessor) - set(URL "https://raw.githubusercontent.com/FFmpeg/gas-preprocessor/36bacb4cba27003c572e5bf7a9c4dfe3c9a8d40d/gas-preprocessor.pl") + set(URL "https://raw.githubusercontent.com/FFmpeg/gas-preprocessor/cbe88474ec196370161032a3863ec65050f70ba4/gas-preprocessor.pl") set(ARCHIVE "gas-preprocessor.pl") - set(HASH a25caadccd1457a0fd2abb5a0da9aca1713b2c351d76daf87a4141e52021f51aa09e95a62942c6f0764f79cc1fa65bf71584955b09e62ee7da067b5c82baf6b3) + set(HASH f6965875608bf2a3ee337e00c3f16e06cd9b5d10013da600d2a70887e47a7b4668af87b3524acf73dd122475712af831495a613a2128c1adb5fe0b4a11d96cd3) elseif(VAR MATCHES "DARK") set(PROGNAME dark) set(SUBDIR "wix311-binaries") -- cgit v1.2.3 From da6d601d1c2161a455de0e572000633316962003 Mon Sep 17 00:00:00 2001 From: Brock Mammen Date: Thu, 6 Jun 2019 20:07:55 -0500 Subject: [cairo] Fix linker errors on Linux and MacOS (#6806) On Linux and MacOS, the cairo port was attempting to link to some Windows-only libraries. --- ports/cairo/CMakeLists.txt | 9 +++++---- ports/cairo/CONTROL | 2 +- ports/cairo/cairo-features.h | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ports/cairo/CMakeLists.txt b/ports/cairo/CMakeLists.txt index a23d776ed..750a9850d 100644 --- a/ports/cairo/CMakeLists.txt +++ b/ports/cairo/CMakeLists.txt @@ -167,9 +167,6 @@ find_package(Freetype REQUIRED) find_package(unofficial-glib CONFIG REQUIRED) find_package(unofficial-fontconfig CONFIG REQUIRED) find_package(unofficial-pixman CONFIG REQUIRED) -if(APPLE) - find_package(Threads REQUIRED) -endif() # Cairo needs to be told which features of FreeType are availible add_definitions( @@ -193,7 +190,11 @@ endif() add_library(cairo ${SOURCES}) -target_link_libraries(cairo PRIVATE gdi32 msimg32 user32 ZLIB::ZLIB PNG::PNG Freetype::Freetype unofficial::pixman::pixman-1 unofficial::fontconfig::fontconfig) +target_link_libraries(cairo PRIVATE ZLIB::ZLIB PNG::PNG Freetype::Freetype unofficial::pixman::pixman-1 unofficial::fontconfig::fontconfig) + +if(CMAKE_SYSTEM_NAME STREQUAL "Windows") + target_link_libraries(cairo PRIVATE gdi32 msimg32 user32) +endif() # GObject support module diff --git a/ports/cairo/CONTROL b/ports/cairo/CONTROL index fd3ce1187..3a82ccc97 100644 --- a/ports/cairo/CONTROL +++ b/ports/cairo/CONTROL @@ -1,4 +1,4 @@ Source: cairo -Version: 1.16.0 +Version: 1.16.0-1 Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB. Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig diff --git a/ports/cairo/cairo-features.h b/ports/cairo/cairo-features.h index 3a1963974..e3eb31c13 100644 --- a/ports/cairo/cairo-features.h +++ b/ports/cairo/cairo-features.h @@ -5,8 +5,10 @@ */ /* Always for Win32 */ +#ifdef _WIN32 #define CAIRO_HAS_WIN32_SURFACE 1 #define CAIRO_HAS_WIN32_FONT 1 +#endif /* Require libpng */ #define CAIRO_HAS_PNG_FUNCTIONS 1 -- cgit v1.2.3