Techt3o commited on
Commit
38efe77
·
verified ·
1 Parent(s): ec93a38

ef4556e26a9f630ec7ce811d9ee93586e8ea9e7e5ab7fd74bc8d59f535f16681

Browse files
Files changed (50) hide show
  1. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pegtl-2/portfile.cmake +31 -0
  2. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pegtl-2/vcpkg.json +7 -0
  3. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pffft/CMakeLists.txt +25 -0
  4. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pffft/copyright +52 -0
  5. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pffft/portfile.cmake +22 -0
  6. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pffft/vcpkg.json +17 -0
  7. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pfring/makefile.patch +59 -0
  8. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pfring/portfile.cmake +63 -0
  9. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pfring/use-vcpkg-libpcap.patch +146 -0
  10. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pfring/vcpkg.json +11 -0
  11. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pfultz2-linq/portfile.cmake +25 -0
  12. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pfultz2-linq/vcpkg.json +18 -0
  13. third-party/DPVO/Pangolin/scripts/vcpkg/ports/phnt/portfile.cmake +12 -0
  14. third-party/DPVO/Pangolin/scripts/vcpkg/ports/phnt/vcpkg.json +6 -0
  15. third-party/DPVO/Pangolin/scripts/vcpkg/ports/physfs/001-fix-lzmasdk-arm64-windows.patch +20 -0
  16. third-party/DPVO/Pangolin/scripts/vcpkg/ports/physfs/002-fix-posix-eintr.patch +73 -0
  17. third-party/DPVO/Pangolin/scripts/vcpkg/ports/physfs/003-fix-posix-cloexec.patch +34 -0
  18. third-party/DPVO/Pangolin/scripts/vcpkg/ports/physfs/portfile.cmake +38 -0
  19. third-party/DPVO/Pangolin/scripts/vcpkg/ports/physfs/vcpkg.json +14 -0
  20. third-party/DPVO/Pangolin/scripts/vcpkg/ports/physx/fix-compiler-flag.patch +58 -0
  21. third-party/DPVO/Pangolin/scripts/vcpkg/ports/physx/portfile.cmake +139 -0
  22. third-party/DPVO/Pangolin/scripts/vcpkg/ports/physx/remove-werror.patch +66 -0
  23. third-party/DPVO/Pangolin/scripts/vcpkg/ports/physx/vcpkg.json +14 -0
  24. third-party/DPVO/Pangolin/scripts/vcpkg/ports/picojson/portfile.cmake +13 -0
  25. third-party/DPVO/Pangolin/scripts/vcpkg/ports/picojson/vcpkg.json +7 -0
  26. third-party/DPVO/Pangolin/scripts/vcpkg/ports/picosha2/portfile.cmake +10 -0
  27. third-party/DPVO/Pangolin/scripts/vcpkg/ports/picosha2/vcpkg.json +7 -0
  28. third-party/DPVO/Pangolin/scripts/vcpkg/ports/piex/CMakeLists.txt +45 -0
  29. third-party/DPVO/Pangolin/scripts/vcpkg/ports/piex/portfile.cmake +22 -0
  30. third-party/DPVO/Pangolin/scripts/vcpkg/ports/piex/vcpkg.json +13 -0
  31. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pistache/portfile.cmake +21 -0
  32. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pistache/vcpkg.json +15 -0
  33. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixel/001-prevent-examples.patch +38 -0
  34. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixel/portfile.cmake +29 -0
  35. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixel/vcpkg.json +27 -0
  36. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixman/no-host-cpu-checks.patch +108 -0
  37. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixman/portfile.cmake +59 -0
  38. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixman/remove_test_demos.patch +15 -0
  39. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixman/vcpkg.json +15 -0
  40. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pkgconf/portfile.cmake +80 -0
  41. third-party/DPVO/Pangolin/scripts/vcpkg/ports/pkgconf/vcpkg.json +14 -0
  42. third-party/DPVO/Pangolin/scripts/vcpkg/ports/platform-folders/portfile.cmake +36 -0
  43. third-party/DPVO/Pangolin/scripts/vcpkg/ports/platform-folders/vcpkg.json +6 -0
  44. third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-colony/portfile.cmake +13 -0
  45. third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-colony/vcpkg.json +6 -0
  46. third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-hive/portfile.cmake +13 -0
  47. third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-hive/vcpkg.json +6 -0
  48. third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-list/portfile.cmake +14 -0
  49. third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-list/vcpkg.json +7 -0
  50. third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-nanotimer/portfile.cmake +14 -0
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pegtl-2/portfile.cmake ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ vcpkg_from_github(
2
+ OUT_SOURCE_PATH SOURCE_PATH
3
+ REPO taocpp/pegtl
4
+ REF 47e878ad4fd72c91253c9d47b6f17e001ca2dfcf # 2.8.3
5
+ SHA512 c7761e36dd28914d89a2d5e2a5ce5ea84bab50b7f7ad235b18dbeca41a675503b00b0fe152247515f81ec380f3c68cf827e667cb3b9a7e34c6d2f5dd60fb4106
6
+ HEAD_REF master
7
+ )
8
+
9
+ vcpkg_configure_cmake(
10
+ SOURCE_PATH ${SOURCE_PATH}
11
+ PREFER_NINJA
12
+ OPTIONS
13
+ -DPEGTL_BUILD_TESTS=OFF
14
+ -DPEGTL_BUILD_EXAMPLES=OFF
15
+ -DPEGTL_INSTALL_INCLUDE_DIR=include/pegtl-2
16
+ -DPEGTL_INSTALL_DOC_DIR=share/pegtl-2
17
+ -DPEGTL_INSTALL_CMAKE_DIR=share/pegtl-2/cmake
18
+ )
19
+
20
+ vcpkg_install_cmake()
21
+
22
+ vcpkg_fixup_cmake_targets(CONFIG_PATH share/pegtl-2/cmake)
23
+
24
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
25
+
26
+ # Handle copyright
27
+ file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
28
+
29
+ # Handle collision with latest pegtl
30
+ file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/pegtl-config.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake)
31
+ file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/pegtl-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config-version.cmake)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pegtl-2/vcpkg.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "pegtl-2",
3
+ "version-string": "2.8.3",
4
+ "port-version": 1,
5
+ "description": "The Parsing Expression Grammar Template Library (PEGTL) is a zero-dependency C++ header-only parser combinator library for creating parsers according to a Parsing Expression Grammar (PEG). This version maintains compatibility with C++11.",
6
+ "homepage": "https://github.com/taocpp/PEGTL"
7
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pffft/CMakeLists.txt ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ cmake_minimum_required(VERSION 3.12.4)
2
+ project(pffft C)
3
+
4
+ add_library(pffft pffft.c)
5
+
6
+ if(MSVC)
7
+ target_compile_definitions(pffft PRIVATE _USE_MATH_DEFINES)
8
+ endif()
9
+
10
+ target_include_directories(pffft PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include>)
11
+
12
+ install(
13
+ TARGETS pffft
14
+ EXPORT pffft-config
15
+ )
16
+
17
+ install(
18
+ EXPORT pffft-config
19
+ NAMESPACE pffft::
20
+ DESTINATION share/pffft
21
+ )
22
+
23
+ if(NOT DISABLE_INSTALL_HEADERS)
24
+ install(FILES pffft.h DESTINATION include/pffft)
25
+ endif()
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pffft/copyright ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Copyright (c) 2013 Julien Pommier ( [email protected] )
2
+
3
+ Based on original fortran 77 code from FFTPACKv4 from NETLIB
4
+ (http://www.netlib.org/fftpack), authored by Dr Paul Swarztrauber
5
+ of NCAR, in 1985.
6
+
7
+ As confirmed by the NCAR fftpack software curators, the following
8
+ FFTPACKv5 license applies to FFTPACKv4 sources. My changes are
9
+ released under the same terms.
10
+
11
+ FFTPACK license:
12
+
13
+ http://www.cisl.ucar.edu/css/software/fftpack5/ftpk.html
14
+
15
+ Copyright (c) 2004 the University Corporation for Atmospheric
16
+ Research ("UCAR"). All rights reserved. Developed by NCAR's
17
+ Computational and Information Systems Laboratory, UCAR,
18
+ www.cisl.ucar.edu.
19
+
20
+ Redistribution and use of the Software in source and binary forms,
21
+ with or without modification, is permitted provided that the
22
+ following conditions are met:
23
+
24
+ - Neither the names of NCAR's Computational and Information Systems
25
+ Laboratory, the University Corporation for Atmospheric Research,
26
+ nor the names of its sponsors or contributors may be used to
27
+ endorse or promote products derived from this Software without
28
+ specific prior written permission.
29
+
30
+ - Redistributions of source code must retain the above copyright
31
+ notices, this list of conditions, and the disclaimer below.
32
+
33
+ - Redistributions in binary form must reproduce the above copyright
34
+ notice, this list of conditions, and the disclaimer below in the
35
+ documentation and/or other materials provided with the
36
+ distribution.
37
+
38
+ THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
39
+ EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE WARRANTIES OF
40
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41
+ NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT
42
+ HOLDERS BE LIABLE FOR ANY CLAIM, INDIRECT, INCIDENTAL, SPECIAL,
43
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES OR OTHER LIABILITY, WHETHER IN AN
44
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
45
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
46
+ SOFTWARE.
47
+
48
+
49
+ PFFFT : a Pretty Fast FFT.
50
+
51
+ This file is largerly based on the original FFTPACK implementation, modified in
52
+ order to take advantage of SIMD instructions of modern CPUs.
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pffft/portfile.cmake ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
2
+
3
+ vcpkg_from_bitbucket(
4
+ OUT_SOURCE_PATH SOURCE_PATH
5
+ REPO jpommier/pffft
6
+ REF ed78751d751e51bbd94c41d24f748b400f272d69
7
+ SHA512 44f65c7f7e5b71f549dca2e03d58b1fd64e698858f79e4c2833a9ae3dff8a835cf9d5e14be2341c6370f800012cb69b05b9226d6918b12e67f7f7e81ed8e9ad4
8
+ HEAD_REF master
9
+ )
10
+
11
+ file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
12
+
13
+ vcpkg_cmake_configure(
14
+ SOURCE_PATH "${SOURCE_PATH}"
15
+ OPTIONS_DEBUG
16
+ -DDISABLE_INSTALL_HEADERS=ON
17
+ )
18
+
19
+ vcpkg_cmake_install()
20
+ vcpkg_cmake_config_fixup()
21
+
22
+ file(COPY "${CMAKE_CURRENT_LIST_DIR}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pffft/vcpkg.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "pffft",
3
+ "version-date": "2021-10-09",
4
+ "description": "PFFFT, a pretty fast Fourier Transform.",
5
+ "homepage": "https://bitbucket.org/jpommier/pffft/",
6
+ "supports": "static",
7
+ "dependencies": [
8
+ {
9
+ "name": "vcpkg-cmake",
10
+ "host": true
11
+ },
12
+ {
13
+ "name": "vcpkg-cmake-config",
14
+ "host": true
15
+ }
16
+ ]
17
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pfring/makefile.patch ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/Makefile b/Makefile
2
+ index 4b377c628..39cbf5cb4 100644
3
+ --- a/Makefile
4
+ +++ b/Makefile
5
+ @@ -1,10 +1,12 @@
6
+ all:
7
+ - cd kernel; make
8
+ - cd userland; ./configure; make
9
+ - cd drivers; make
10
+ + $(MAKE) -C kernel;
11
+ + #cd kernel; make
12
+ + cd userland; ./configure;
13
+ + $(MAKE) -C userland;
14
+ + $(MAKE) -C drivers;
15
+
16
+ install:
17
+ - cd userland; make install
18
+ + $(MAKE) install -C userland;
19
+
20
+ clean:
21
+ -cd kernel; make clean
22
+ diff --git a/userland/Makefile b/userland/Makefile
23
+ index 959470c0f..e35ca8de7 100644
24
+ --- a/userland/Makefile
25
+ +++ b/userland/Makefile
26
+ @@ -9,22 +9,22 @@ lib/Makefile:
27
+ config: lib/Makefile
28
+
29
+ libpfring: config
30
+ - cd lib; make
31
+ + $(MAKE) -C lib
32
+
33
+ build_nbpf: config
34
+ - cd nbpf; make
35
+ + $(MAKE) -C nbpf
36
+
37
+ build_c++: libpfring
38
+ - cd c++; make
39
+ + $(MAKE) -C c++
40
+
41
+ tcpdump/Makefile:
42
+ cd tcpdump; ./configure --with_system_libpcap=yes
43
+
44
+ build_tcpdump: libpfring tcpdump/Makefile
45
+ - cd tcpdump; make
46
+ + $(MAKE) -C tcpdump
47
+
48
+ build_extcap: libpfring
49
+ - cd wireshark/extcap; make
50
+ + $(MAKE) -C wireshark/extcap
51
+
52
+ ###################
53
+
54
+ @@ -46,4 +46,4 @@ extcap_clean:
55
+ cd wireshark/extcap; make clean
56
+
57
+ install: libpfring
58
+ - cd lib; make install
59
+ + $(MAKE) -C lib install
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pfring/portfile.cmake ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ vcpkg_from_github(
2
+ OUT_SOURCE_PATH SOURCE_PATH
3
+ REPO ntop/PF_RING
4
+ REF 582fa09bc58411cfe6f27facd7e6438924f779d2
5
+ SHA512 78dd2d2f9df259483196905f80a904534632a835f742d1f8b3ad645ea80f2dad78356960a2b35e2678525786a7344fa248b708bd3f86101c43fb36c7abc05598
6
+ HEAD_REF dev
7
+ PATCHES
8
+ use-vcpkg-libpcap.patch
9
+ makefile.patch
10
+ )
11
+
12
+ file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
13
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
14
+ file(COPY "${SOURCE_PATH}/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
15
+ endif()
16
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
17
+ file(COPY "${SOURCE_PATH}/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
18
+ endif()
19
+ set(ENV{VCPKG_LIBPCAP_DIR} "${CURRENT_INSTALLED_DIR}")
20
+ vcpkg_build_make()
21
+ vcpkg_fixup_pkgconfig()
22
+
23
+ vcpkg_copy_pdbs()
24
+
25
+ # Install manually because pfring cannot set prefix
26
+ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug)
27
+ set(PFRING_OBJ_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
28
+
29
+ if (VCPKG_BUILD_TYPE STREQUAL debug)
30
+ file(GLOB_RECURSE PFRING_KO_FILES "${PFRING_OBJ_DIR}/*.ko")
31
+ file(INSTALL ${PFRING_KO_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/share/${PORT})
32
+
33
+ file(INSTALL ${SOURCE_PATH}/userland/lib/pfring.h DESTINATION ${CURRENT_PACKAGES_DIR}/debug/include)
34
+ endif()
35
+
36
+ file(GLOB_RECURSE PFRING_LIBS "${PFRING_OBJ_DIR}/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}")
37
+ file(INSTALL ${PFRING_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
38
+
39
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
40
+ file(GLOB_RECURSE PFRING_DLLS "${PFRING_OBJ_DIR}/*${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}")
41
+ file(INSTALL ${PFRING_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
42
+ endif()
43
+ endif()
44
+
45
+ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release)
46
+ set(PFRING_OBJ_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
47
+
48
+ file(GLOB_RECURSE PFRING_KO_FILES "${PFRING_OBJ_DIR}/*.ko")
49
+ file(INSTALL ${PFRING_KO_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
50
+
51
+ file(GLOB_RECURSE PFRING_LIBS "${PFRING_OBJ_DIR}/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}")
52
+ file(INSTALL ${PFRING_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
53
+
54
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
55
+ file(GLOB_RECURSE PFRING_DLLS "${PFRING_OBJ_DIR}/*${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}")
56
+ file(INSTALL ${PFRING_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
57
+ endif()
58
+
59
+ file(INSTALL ${SOURCE_PATH}/userland/lib/pfring.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
60
+ endif()
61
+
62
+ #Handle copyright
63
+ file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pfring/use-vcpkg-libpcap.patch ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/userland/Makefile b/userland/Makefile
2
+ index d5392c09..959470c0 100644
3
+ --- a/userland/Makefile
4
+ +++ b/userland/Makefile
5
+ @@ -1,4 +1,4 @@
6
+ -all: libpfring pcap build_examples build_examples_zc build_examples_ft build_extcap
7
+ +all: libpfring build_extcap
8
+ # build_tcpdump build_c++
9
+
10
+ ###################
11
+ @@ -14,52 +14,25 @@ libpfring: config
12
+ build_nbpf: config
13
+ cd nbpf; make
14
+
15
+ -libpcap/Makefile:
16
+ - cd libpcap; ./configure --enable-ipv6 --enable-dbus=no --without-libnl --with-snf=no --disable-bluetooth --disable-canusb --with-dag=no
17
+ -
18
+ -pcap: libpfring libpcap/Makefile
19
+ - cd libpcap; make
20
+ -
21
+ -build_examples: config
22
+ - cd examples; make
23
+ -
24
+ -build_examples_zc: config
25
+ - cd examples_zc; make
26
+ -
27
+ -build_examples_ft: config
28
+ - cd examples_ft; make
29
+ -
30
+ build_c++: libpfring
31
+ cd c++; make
32
+
33
+ tcpdump/Makefile:
34
+ - cd tcpdump; ./configure
35
+ + cd tcpdump; ./configure --with_system_libpcap=yes
36
+
37
+ -build_tcpdump: libpfring pcap tcpdump/Makefile
38
+ +build_tcpdump: libpfring tcpdump/Makefile
39
+ cd tcpdump; make
40
+
41
+ -build_extcap: libpfring pcap
42
+ +build_extcap: libpfring
43
+ cd wireshark/extcap; make
44
+
45
+ ###################
46
+
47
+ -clean: libpfring_clean pcap_clean examples_clean examples_ft_clean examples_zc_clean c++_clean tcpdump_clean nbpf_clean extcap_clean
48
+ +clean: libpfring_clean c++_clean tcpdump_clean nbpf_clean extcap_clean
49
+
50
+ libpfring_clean:
51
+ cd lib; make clean
52
+
53
+ -pcap_clean:
54
+ - if test -f libpcap/config.status; then cd libpcap; make clean; fi
55
+ -
56
+ -examples_clean:
57
+ - cd examples; make clean
58
+ -
59
+ -examples_zc_clean:
60
+ - cd examples_zc; make clean
61
+ -
62
+ -examples_ft_clean:
63
+ - cd examples_ft; make clean
64
+ -
65
+ c++_clean:
66
+ cd c++; make clean
67
+
68
+ @@ -72,8 +45,5 @@ nbpf_clean:
69
+ extcap_clean:
70
+ cd wireshark/extcap; make clean
71
+
72
+ -install: libpfring pcap examples examples_zc examples_ft
73
+ +install: libpfring
74
+ cd lib; make install
75
+ - cd libpcap; make install
76
+ - cd examples; make install
77
+ - cd examples_zc; make install
78
+ diff --git a/userland/c++/Makefile.in b/userland/c++/Makefile.in
79
+ index 02bf5164..b0442d84 100644
80
+ --- a/userland/c++/Makefile.in
81
+ +++ b/userland/c++/Makefile.in
82
+ @@ -1,8 +1,7 @@
83
+ CPP=g++ -g
84
+
85
+ KERNEL_DIR=../../kernel
86
+ -LIBPCAP_DIR=../libpcap
87
+ -INCLUDE=-I$(KERNEL_DIR) -I$(LIBPCAP_DIR) -I../lib `../lib/pfring_config --include`
88
+ +INCLUDE=-I$(KERNEL_DIR) -I$(VCPKG_LIBPCAP_DIR)/include -I../lib `../lib/pfring_config --include`
89
+ LIBPFRING_CPP=libpfring_cpp.a
90
+ RANLIB=ranlib
91
+ OBJ=PFring.o
92
+ @@ -11,7 +10,7 @@ LIBS=../lib/libpfring.a `../lib/pfring_config --libs` -lpthread
93
+ all: $(LIBPFRING_CPP) pf_test
94
+
95
+ pf_test: pf_test.cpp $(LIBPFRING_CPP)
96
+ - $(CPP) $(INCLUDE) $< $(LIBPFRING_CPP) -o $@ $(LIBS) $(LIBPCAP_DIR)/libpcap.a @SYSLIBS@
97
+ + $(CPP) $(INCLUDE) $< $(LIBPFRING_CPP) -o $@ $(LIBS) $(VCPKG_LIBPCAP_DIR)/lib/libpcap.a @SYSLIBS@
98
+
99
+ $(LIBPFRING_CPP): $(OBJ)
100
+ @rm -f $@
101
+ diff --git a/userland/snort/pfring-daq-module-zc/Makefile.am b/userland/snort/pfring-daq-module-zc/Makefile.am
102
+ index 7123de18..45998688 100644
103
+ --- a/userland/snort/pfring-daq-module-zc/Makefile.am
104
+ +++ b/userland/snort/pfring-daq-module-zc/Makefile.am
105
+ @@ -4,5 +4,5 @@ ACLOCAL_AMFLAGS = -I m4
106
+
107
+ pkglib_LTLIBRARIES = daq_pfring_zc.la
108
+ daq_pfring_zc_la_SOURCES = daq_pfring_zc.c
109
+ -daq_pfring_zc_la_CFLAGS = -DBUILDING_SO -I../../libpcap
110
+ -daq_pfring_zc_la_LDFLAGS = -module -export-dynamic -avoid-version -shared -lrt ../../libpcap/libpcap.a
111
+ +daq_pfring_zc_la_CFLAGS = -DBUILDING_SO -I${VCPKG_LIBPCAP_DIR}/include
112
+ +daq_pfring_zc_la_LDFLAGS = -module -export-dynamic -avoid-version -shared -lrt ${VCPKG_LIBPCAP_DIR}/lib/libpcap.a
113
+ diff --git a/userland/tcpdump-4.9.2/Makefile.in b/userland/tcpdump-4.9.2/Makefile.in
114
+ index e2c74d13..47d9e2cc 100644
115
+ --- a/userland/tcpdump-4.9.2/Makefile.in
116
+ +++ b/userland/tcpdump-4.9.2/Makefile.in
117
+ @@ -373,7 +373,7 @@ TEST_DIST= `find tests \( -name 'DIFF' -prune \) -o \( -name NEW -prune \) -o -t
118
+
119
+ all: $(PROG) $(LIBNETDISSECT)
120
+
121
+ -$(PROG): $(OBJ) @V_PCAPDEP@
122
+ +$(PROG): $(OBJ) $(VCPKG_LIBPCAP_DIR)/lib/libpcap.a
123
+ @rm -f $@
124
+ $(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
125
+
126
+ diff --git a/userland/wireshark/extcap/Makefile.in b/userland/wireshark/extcap/Makefile.in
127
+ index 970b9680..3e34ccc8 100644
128
+ --- a/userland/wireshark/extcap/Makefile.in
129
+ +++ b/userland/wireshark/extcap/Makefile.in
130
+ @@ -20,14 +20,13 @@ LIBPFRING = ${PFRINGDIR}/libpfring.a
131
+ #
132
+ O_FLAG = -O2 -DHAVE_PF_RING
133
+ EXTRA_LIBS =
134
+ -PCAPDIR = ../../libpcap
135
+ -LIBPCAP = ${PCAPDIR}/libpcap.a ${EXTRA_LIBS}
136
+ +LIBPCAP = ${VCPKG_LIBPCAP_DIR}/lib/libpcap.a ${EXTRA_LIBS}
137
+
138
+ #
139
+ # Search directories
140
+ #
141
+ PFRING_KERNEL=../../../kernel
142
+ -INCLUDE = -I${PFRING_KERNEL} -I${PFRINGDIR} -I${PCAPDIR} -Ithird-party `../../lib/pfring_config --include`
143
+ +INCLUDE = -I${PFRING_KERNEL} -I${PFRINGDIR} -I${VCPKG_LIBPCAP_DIR}/include -Ithird-party `../../lib/pfring_config --include`
144
+
145
+ #
146
+ # C compiler and flags
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pfring/vcpkg.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "pfring",
3
+ "version-date": "2019-10-17",
4
+ "port-version": 4,
5
+ "description": "PF_RING™ is a Linux kernel module and user-space framework that allows you to process packets at high-rates while providing you a consistent API for packet processing applications.",
6
+ "homepage": "https://github.com/ntop/PF_RING",
7
+ "supports": "!windows",
8
+ "dependencies": [
9
+ "libpcap"
10
+ ]
11
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pfultz2-linq/portfile.cmake ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # header-only library
2
+
3
+ vcpkg_from_github(
4
+ OUT_SOURCE_PATH SOURCE_PATH
5
+ REPO pfultz2/Linq
6
+ REF 7ff0a73fed52be5e11df3d79128ce7b11f430af2
7
+ SHA512 6768e28bf17568436b4c3fed18f6b1edbe048b871ebee25580419b805498beb0800e473ecdc5acc0f9f89bec47d16fd3806018ce6395bdf14a8e2975cde9381f
8
+ HEAD_REF master
9
+ )
10
+
11
+ vcpkg_configure_cmake(
12
+ SOURCE_PATH ${SOURCE_PATH}
13
+ PREFER_NINJA
14
+ OPTIONS
15
+ -DBUILD_TESTING=OFF
16
+ )
17
+
18
+ vcpkg_install_cmake()
19
+
20
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/linq TARGET_PATH share/linq)
21
+
22
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
23
+
24
+ # Handle copyright
25
+ configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pfultz2-linq/vcpkg.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "pfultz2-linq",
3
+ "version-string": "2019-05-14",
4
+ "port-version": 1,
5
+ "description": "Linq for list comprehension in C++",
6
+ "dependencies": [
7
+ "boost-fusion",
8
+ "boost-iterator",
9
+ "boost-mpl",
10
+ "boost-optional",
11
+ "boost-preprocessor",
12
+ "boost-range",
13
+ "boost-static-assert",
14
+ "boost-type-traits",
15
+ "boost-unordered",
16
+ "boost-utility"
17
+ ]
18
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/phnt/portfile.cmake ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ vcpkg_from_github(
2
+ OUT_SOURCE_PATH SOURCE_PATH
3
+ REPO processhacker/phnt
4
+ REF 3f19efe9fd402378c7cd12fe1c0aacd154c8cd3c
5
+ SHA512 88f1f5ab1f2c8b3100e47f43cee7bdcb412ef9f688e3840ddc8a78d8b75b4baf714aadc27829e0ea95d97a22031019d25f9916d09bb63cea37304e9c9c08285a
6
+ HEAD_REF master
7
+ )
8
+
9
+ file(GLOB HEADER_FILES ${SOURCE_PATH}/*.h)
10
+ file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
11
+
12
+ configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/phnt/vcpkg.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "name": "phnt",
3
+ "version-date": "2020-12-21",
4
+ "description": "Windows Native API header files",
5
+ "homepage": "https://github.com/processhacker/phnt"
6
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/physfs/001-fix-lzmasdk-arm64-windows.patch ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/src/physfs_lzmasdk.h b/src/physfs_lzmasdk.h
2
+ --- a/src/physfs_lzmasdk.h
3
+ +++ b/src/physfs_lzmasdk.h
4
+ @@ -506,6 +506,7 @@ MY_CPU_LE_UNALIGN means that CPU is LITTLE ENDIAN and CPU supports unaligned mem
5
+ #endif
6
+
7
+ #if defined(MY_CPU_AMD64) \
8
+ + || defined(_M_ARM64) \
9
+ || defined(_M_IA64) \
10
+ || defined(__AARCH64EL__) \
11
+ || defined(__AARCH64EB__)
12
+ @@ -531,6 +532,8 @@ MY_CPU_LE_UNALIGN means that CPU is LITTLE ENDIAN and CPU supports unaligned mem
13
+
14
+ #if defined(_WIN32) && defined(_M_ARM)
15
+ #define MY_CPU_ARM_LE
16
+ +#elif defined(_WIN64) && defined(_M_ARM64)
17
+ +#define MY_CPU_ARM_LE
18
+ #endif
19
+
20
+ #if defined(_WIN32) && defined(_M_IA64)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/physfs/002-fix-posix-eintr.patch ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/src/physfs_platform_posix.c b/src/physfs_platform_posix.c
2
+ --- a/src/physfs_platform_posix.c
3
+ +++ b/src/physfs_platform_posix.c
4
+ @@ -6,8 +6,6 @@
5
+ * This file written by Ryan C. Gordon.
6
+ */
7
+
8
+ -/* !!! FIXME: check for EINTR? */
9
+ -
10
+ #define __PHYSICSFS_INTERNAL__
11
+ #include "physfs_platforms.h"
12
+
13
+ @@ -167,7 +165,9 @@ static void *doOpen(const char *filename, int mode)
14
+ /* O_APPEND doesn't actually behave as we'd like. */
15
+ mode &= ~O_APPEND;
16
+
17
+ - fd = open(filename, mode, S_IRUSR | S_IWUSR);
18
+ + do {
19
+ + fd = open(filename, mode, S_IRUSR | S_IWUSR);
20
+ + } while ((fd < 0) && (errno == EINTR));
21
+ BAIL_IF(fd < 0, errcodeFromErrno(), NULL);
22
+
23
+ if (appending)
24
+ @@ -219,7 +219,9 @@ PHYSFS_sint64 __PHYSFS_platformRead(void *opaque, void *buffer,
25
+ if (!__PHYSFS_ui64FitsAddressSpace(len))
26
+ BAIL(PHYSFS_ERR_INVALID_ARGUMENT, -1);
27
+
28
+ - rc = read(fd, buffer, (size_t) len);
29
+ + do {
30
+ + rc = read(fd, buffer, (size_t) len);
31
+ + } while ((rc == -1) && (errno == EINTR));
32
+ BAIL_IF(rc == -1, errcodeFromErrno(), -1);
33
+ assert(rc >= 0);
34
+ assert(rc <= len);
35
+ @@ -236,7 +238,9 @@ PHYSFS_sint64 __PHYSFS_platformWrite(void *opaque, const void *buffer,
36
+ if (!__PHYSFS_ui64FitsAddressSpace(len))
37
+ BAIL(PHYSFS_ERR_INVALID_ARGUMENT, -1);
38
+
39
+ - rc = write(fd, (void *) buffer, (size_t) len);
40
+ + do {
41
+ + rc = write(fd, (void *) buffer, (size_t) len);
42
+ + } while ((rc == -1) && (errno == EINTR));
43
+ BAIL_IF(rc == -1, errcodeFromErrno(), rc);
44
+ assert(rc >= 0);
45
+ assert(rc <= len);
46
+ @@ -275,8 +279,13 @@ PHYSFS_sint64 __PHYSFS_platformFileLength(void *opaque)
47
+ int __PHYSFS_platformFlush(void *opaque)
48
+ {
49
+ const int fd = *((int *) opaque);
50
+ - if ((fcntl(fd, F_GETFL) & O_ACCMODE) != O_RDONLY)
51
+ - BAIL_IF(fsync(fd) == -1, errcodeFromErrno(), 0);
52
+ + int rc = -1;
53
+ + if ((fcntl(fd, F_GETFL) & O_ACCMODE) != O_RDONLY) {
54
+ + do {
55
+ + rc = fsync(fd);
56
+ + } while ((rc == -1) && (errno == EINTR));
57
+ + BAIL_IF(rc == -1, errcodeFromErrno(), 0);
58
+ + }
59
+ return 1;
60
+ } /* __PHYSFS_platformFlush */
61
+
62
+ @@ -284,7 +293,10 @@ int __PHYSFS_platformFlush(void *opaque)
63
+ void __PHYSFS_platformClose(void *opaque)
64
+ {
65
+ const int fd = *((int *) opaque);
66
+ - (void) close(fd); /* we don't check this. You should have used flush! */
67
+ + int rc = -1;
68
+ + do {
69
+ + rc = close(fd); /* we don't check this. You should have used flush! */
70
+ + } while ((rc == -1) && (errno == EINTR));
71
+ allocator.Free(opaque);
72
+ } /* __PHYSFS_platformClose */
73
+
third-party/DPVO/Pangolin/scripts/vcpkg/ports/physfs/003-fix-posix-cloexec.patch ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/src/physfs_platform_posix.c b/src/physfs_platform_posix.c
2
+ --- a/src/physfs_platform_posix.c
3
+ +++ b/src/physfs_platform_posix.c
4
+ @@ -160,16 +160,30 @@ static void *doOpen(const char *filename, int mode)
5
+ const int appending = (mode & O_APPEND);
6
+ int fd;
7
+ int *retval;
8
+ + int flags;
9
+ + flags = -1;
10
+ errno = 0;
11
+
12
+ /* O_APPEND doesn't actually behave as we'd like. */
13
+ mode &= ~O_APPEND;
14
+ +
15
+ +#ifdef O_CLOEXEC
16
+ + /* Add O_CLOEXEC if defined */
17
+ + mode |= O_CLOEXEC;
18
+ +#endif
19
+
20
+ do {
21
+ fd = open(filename, mode, S_IRUSR | S_IWUSR);
22
+ } while ((fd < 0) && (errno == EINTR));
23
+ BAIL_IF(fd < 0, errcodeFromErrno(), NULL);
24
+
25
+ +#if !defined(O_CLOEXEC) && defined(FD_CLOEXEC)
26
+ + flags = fcntl(fd, F_GETFD);
27
+ + if (flags != -1) {
28
+ + fcntl(fd, F_SETFD, flags | FD_CLOEXEC);
29
+ + }
30
+ +#endif
31
+ +
32
+ if (appending)
33
+ {
34
+ if (lseek(fd, 0, SEEK_END) < 0)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/physfs/portfile.cmake ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ set(PHYSFS_VERSION 3.0.2)
2
+
3
+ vcpkg_download_distfile(ARCHIVE
4
+ URLS "https://icculus.org/physfs/downloads/physfs-${PHYSFS_VERSION}.tar.bz2"
5
+ "https://hg.icculus.org/icculus/physfs/archive/release-${PHYSFS_VERSION}.tar.bz2"
6
+ FILENAME "physfs-${PHYSFS_VERSION}.tar.bz2"
7
+ SHA512 4024b6c3348e0b6fc1036aac330192112dfe17de3e3d14773be9f06e9a062df5a1006869f21162b4e0b584989f463788a35e64186b1913225c073fea62754472
8
+ )
9
+
10
+ vcpkg_extract_source_archive_ex(
11
+ OUT_SOURCE_PATH SOURCE_PATH
12
+ ARCHIVE ${ARCHIVE}
13
+ REF ${PHYSFS_VERSION}
14
+ PATCHES
15
+ "001-fix-lzmasdk-arm64-windows.patch"
16
+ "002-fix-posix-eintr.patch" # Remove this patch in the next update
17
+ "003-fix-posix-cloexec.patch" # Remove this patch in the next update
18
+ )
19
+
20
+ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PHYSFS_STATIC)
21
+ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PHYSFS_SHARED)
22
+
23
+ vcpkg_cmake_configure(
24
+ SOURCE_PATH ${SOURCE_PATH}
25
+ OPTIONS
26
+ -DPHYSFS_BUILD_STATIC=${PHYSFS_STATIC}
27
+ -DPHYSFS_BUILD_SHARED=${PHYSFS_SHARED}
28
+ -DPHYSFS_BUILD_TEST=OFF
29
+ )
30
+
31
+ vcpkg_cmake_install()
32
+ vcpkg_copy_pdbs()
33
+
34
+ vcpkg_fixup_pkgconfig()
35
+
36
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
37
+
38
+ file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/physfs/vcpkg.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "physfs",
3
+ "version-semver": "3.0.2",
4
+ "port-version": 6,
5
+ "description": "a library to provide abstract access to various archives",
6
+ "homepage": "https://icculus.org/physfs/",
7
+ "dependencies": [
8
+ {
9
+ "name": "vcpkg-cmake",
10
+ "host": true
11
+ },
12
+ "zlib"
13
+ ]
14
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/physx/fix-compiler-flag.patch ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/physx/compiler/public/CMakeLists.txt b/physx/compiler/public/CMakeLists.txt
2
+ index 77776ca7..bd7b496d 100644
3
+ --- a/physx/compiler/public/CMakeLists.txt
4
+ +++ b/physx/compiler/public/CMakeLists.txt
5
+ @@ -33,6 +33,8 @@ ENDIF()
6
+
7
+ project(PhysXSDK C CXX)
8
+
9
+ +SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE INTERNAL "PhysX Debug CXX Flags")
10
+ +
11
+ OPTION(PX_BUILDSNIPPETS "Generate the snippets" OFF)
12
+ OPTION(PX_BUILDPUBLICSAMPLES "Generate the samples" OFF)
13
+ OPTION(PX_CMAKE_SUPPRESS_REGENERATION "Disable zero_check projects" OFF)
14
+ diff --git a/physx/source/compiler/cmake/uwp/CMakeLists.txt b/physx/source/compiler/cmake/uwp/CMakeLists.txt
15
+ index 20dcb6ae..c7e03c3e 100644
16
+ --- a/physx/source/compiler/cmake/uwp/CMakeLists.txt
17
+ +++ b/physx/source/compiler/cmake/uwp/CMakeLists.txt
18
+ @@ -39,11 +39,13 @@ ELSE()
19
+ ENDIF()
20
+
21
+ # Cache the CXX flags so the other CMakeLists.txt can use them if needed
22
+ -SET(PHYSX_CXX_FLAGS "/Wall /d2Zi+ /MP /WX /W4 /GF /GS- /GR- /Gd ${PHYSX_FP_MODE} ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
23
+ +SET(PHYSX_CXX_FLAGS "${PHYSX_CXX_FLAGS} ${PHYSX_FP_MODE} ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
24
+ +if(FALSE)
25
+ SET(PHYSX_CXX_FLAGS_DEBUG "/Od ${WINCRT_DEBUG} /Zi" CACHE INTERNAL "PhysX Debug CXX Flags")
26
+ SET(PHYSX_CXX_FLAGS_CHECKED "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Checked CXX Flags")
27
+ SET(PHYSX_CXX_FLAGS_PROFILE "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Profile CXX Flags")
28
+ SET(PHYSX_CXX_FLAGS_RELEASE "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Release CXX Flags")
29
+ +endif()
30
+
31
+ # These flags are local to the directory the CMakeLists.txt is in, so don't get carried over to OTHER CMakeLists.txt (thus the CACHE variables above)
32
+ SET(CMAKE_CXX_FLAGS ${PHYSX_CXX_FLAGS})
33
+ diff --git a/physx/source/compiler/cmake/windows/CMakeLists.txt b/physx/source/compiler/cmake/windows/CMakeLists.txt
34
+ index a1ab3596..dbd20fb0 100644
35
+ --- a/physx/source/compiler/cmake/windows/CMakeLists.txt
36
+ +++ b/physx/source/compiler/cmake/windows/CMakeLists.txt
37
+ @@ -41,17 +41,19 @@ ELSE()
38
+ SET(PHYSX_FP_MODE "/fp:fast")
39
+ ENDIF()
40
+ IF(CMAKE_CL_64)
41
+ - SET(PHYSX_CXX_FLAGS "/d2Zi+ /MP /WX /W4 /GF /GS- /GR- /Gd ${PHYSX_FP_MODE} /Oy ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
42
+ + SET(PHYSX_CXX_FLAGS "${PHYSX_CXX_FLAGS} ${PHYSX_FP_MODE} ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
43
+ ELSE()
44
+ - SET(PHYSX_CXX_FLAGS "/arch:SSE2 /d2Zi+ /MP /WX /W4 /GF /GS- /GR- /Gd ${PHYSX_FP_MODE} /Oy ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
45
+ + SET(PHYSX_CXX_FLAGS "${PHYSX_CXX_FLAGS} /arch:SSE2 ${PHYSX_FP_MODE} ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
46
+ ENDIF()
47
+
48
+ +if(FALSE)
49
+ SET(PHYSX_CXX_FLAGS_DEBUG "/Od ${WINCRT_DEBUG} /RTCu /Zi" CACHE INTERNAL "PhysX Debug CXX Flags")
50
+ # PT: changed /Ox to /O2 because "the /Ox compiler option enables only a subset of the speed optimization options enabled by /O2."
51
+ # See https://docs.microsoft.com/en-us/cpp/build/reference/ox-full-optimization?view=vs-2019
52
+ SET(PHYSX_CXX_FLAGS_CHECKED "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Checked CXX Flags")
53
+ SET(PHYSX_CXX_FLAGS_PROFILE "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Profile CXX Flags")
54
+ SET(PHYSX_CXX_FLAGS_RELEASE "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Release CXX Flags")
55
+ +endif()
56
+
57
+ # cache lib type defs
58
+ IF(PX_GENERATE_STATIC_LIBRARIES)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/physx/portfile.cmake ADDED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ vcpkg_from_github(
2
+ OUT_SOURCE_PATH SOURCE_PATH
3
+ REPO NVIDIAGameWorks/PhysX
4
+ REF 93c6dd21b545605185f2febc8eeacebe49a99479
5
+ SHA512 c9f50255ca9e0f1ebdb9926992315a62b77e2eea3addd4e65217283490714e71e24f2f687717dd8eb155078a1a6b25c9fadc123ce8bc4c5615f7ac66cd6b11aa
6
+ HEAD_REF master
7
+ PATCHES
8
+ fix-compiler-flag.patch
9
+ remove-werror.patch
10
+ )
11
+
12
+ if(NOT DEFINED RELEASE_CONFIGURATION)
13
+ set(RELEASE_CONFIGURATION "release")
14
+ endif()
15
+ set(DEBUG_CONFIGURATION "debug")
16
+
17
+ set(OPTIONS
18
+ "-DPHYSX_ROOT_DIR=${SOURCE_PATH}/physx"
19
+ "-DPXSHARED_PATH=${SOURCE_PATH}/pxshared"
20
+ "-DPXSHARED_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}"
21
+ "-DCMAKEMODULES_PATH=${SOURCE_PATH}/externals/cmakemodules"
22
+ "-DCMAKEMODULES_NAME=CMakeModules"
23
+ "-DCMAKE_MODULES_VERSION=1.27"
24
+ "-DPX_BUILDSNIPPETS=OFF"
25
+ "-DPX_BUILDPUBLICSAMPLES=OFF"
26
+ "-DPX_FLOAT_POINT_PRECISE_MATH=OFF"
27
+ "-DPX_COPY_EXTERNAL_DLL=OFF"
28
+ "-DGPU_DLL_COPIED=ON"
29
+ )
30
+
31
+ set(OPTIONS_RELEASE
32
+ "-DPX_OUTPUT_BIN_DIR=${CURRENT_PACKAGES_DIR}"
33
+ "-DPX_OUTPUT_LIB_DIR=${CURRENT_PACKAGES_DIR}"
34
+ )
35
+ set(OPTIONS_DEBUG
36
+ "-DPX_OUTPUT_BIN_DIR=${CURRENT_PACKAGES_DIR}/debug"
37
+ "-DPX_OUTPUT_LIB_DIR=${CURRENT_PACKAGES_DIR}/debug"
38
+ "-DNV_USE_DEBUG_WINCRT=ON"
39
+ )
40
+
41
+ if(VCPKG_TARGET_IS_UWP)
42
+ list(APPEND OPTIONS "-DTARGET_BUILD_PLATFORM=uwp")
43
+ elseif(VCPKG_TARGET_IS_WINDOWS)
44
+ list(APPEND OPTIONS "-DTARGET_BUILD_PLATFORM=windows")
45
+ elseif(VCPKG_TARGET_IS_OSX)
46
+ list(APPEND OPTIONS "-DTARGET_BUILD_PLATFORM=mac")
47
+ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_FREEBSD)
48
+ list(APPEND OPTIONS "-DTARGET_BUILD_PLATFORM=linux")
49
+ elseif(VCPKG_TARGET_IS_ANDROID)
50
+ list(APPEND OPTIONS "-DTARGET_BUILD_PLATFORM=android")
51
+ else()
52
+ message(FATAL_ERROR "Unhandled or unsupported target platform.")
53
+ endif()
54
+
55
+ if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS)
56
+ list(APPEND OPTIONS "-DNV_FORCE_64BIT_SUFFIX=ON" "-DNV_FORCE_32BIT_SUFFIX=OFF")
57
+ endif()
58
+
59
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
60
+ list(APPEND OPTIONS "-DPX_GENERATE_STATIC_LIBRARIES=OFF")
61
+ else()
62
+ list(APPEND OPTIONS "-DPX_GENERATE_STATIC_LIBRARIES=ON")
63
+ endif()
64
+
65
+ if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
66
+ list(APPEND OPTIONS "-DNV_USE_STATIC_WINCRT=OFF")
67
+ else()
68
+ list(APPEND OPTIONS "-DNV_USE_STATIC_WINCRT=ON")
69
+ endif()
70
+
71
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
72
+ list(APPEND OPTIONS "-DPX_OUTPUT_ARCH=arm")
73
+ else()
74
+ list(APPEND OPTIONS "-DPX_OUTPUT_ARCH=x86")
75
+ endif()
76
+
77
+ vcpkg_cmake_configure(
78
+ SOURCE_PATH "${SOURCE_PATH}/physx/compiler/public"
79
+ DISABLE_PARALLEL_CONFIGURE
80
+ OPTIONS ${OPTIONS}
81
+ OPTIONS_DEBUG ${OPTIONS_DEBUG}
82
+ OPTIONS_RELEASE ${OPTIONS_RELEASE}
83
+ )
84
+ vcpkg_cmake_install()
85
+
86
+ # NVIDIA Gameworks release structure is generally something like <compiler>/<configuration>/[artifact]
87
+ # It would be nice to patch this out, but that directory structure is hardcoded over many cmake files.
88
+ # So, we have this helpful helper to copy the bins and libs out.
89
+ function(fixup_physx_artifacts)
90
+ macro(_fixup _IN_DIRECTORY _OUT_DIRECTORY)
91
+ foreach(_SUFFIX IN LISTS _fpa_SUFFIXES)
92
+ file(GLOB_RECURSE _ARTIFACTS
93
+ LIST_DIRECTORIES false
94
+ "${CURRENT_PACKAGES_DIR}/${_IN_DIRECTORY}/*${_SUFFIX}"
95
+ )
96
+ if(_ARTIFACTS)
97
+ file(COPY ${_ARTIFACTS} DESTINATION "${CURRENT_PACKAGES_DIR}/${_OUT_DIRECTORY}")
98
+ endif()
99
+ endforeach()
100
+ endmacro()
101
+
102
+ cmake_parse_arguments(_fpa "" "DIRECTORY" "SUFFIXES" ${ARGN})
103
+ _fixup("bin" ${_fpa_DIRECTORY})
104
+ _fixup("debug/bin" "debug/${_fpa_DIRECTORY}")
105
+ endfunction()
106
+
107
+ fixup_physx_artifacts(
108
+ DIRECTORY "lib"
109
+ SUFFIXES ${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}
110
+ )
111
+ fixup_physx_artifacts(
112
+ DIRECTORY "bin"
113
+ SUFFIXES ${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX} ".pdb"
114
+ )
115
+
116
+ # Remove compiler directory and descendents.
117
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
118
+ file(REMOVE_RECURSE
119
+ "${CURRENT_PACKAGES_DIR}/bin/"
120
+ "${CURRENT_PACKAGES_DIR}/debug/bin/"
121
+ )
122
+ else()
123
+ file(GLOB PHYSX_ARTIFACTS LIST_DIRECTORIES true
124
+ "${CURRENT_PACKAGES_DIR}/bin/*"
125
+ "${CURRENT_PACKAGES_DIR}/debug/bin/*"
126
+ )
127
+ foreach(_ARTIFACT IN LISTS PHYSX_ARTIFACTS)
128
+ if(IS_DIRECTORY ${_ARTIFACT})
129
+ file(REMOVE_RECURSE ${_ARTIFACT})
130
+ endif()
131
+ endforeach()
132
+ endif()
133
+
134
+ file(REMOVE_RECURSE
135
+ "${CURRENT_PACKAGES_DIR}/debug/include"
136
+ "${CURRENT_PACKAGES_DIR}/debug/source"
137
+ "${CURRENT_PACKAGES_DIR}/source"
138
+ )
139
+ file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/physx/remove-werror.patch ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/physx/source/compiler/cmake/android/CMakeLists.txt b/physx/source/compiler/cmake/android/CMakeLists.txt
2
+ index 06e0d98b..e6a77f17 100644
3
+ --- a/physx/source/compiler/cmake/android/CMakeLists.txt
4
+ +++ b/physx/source/compiler/cmake/android/CMakeLists.txt
5
+ @@ -33,15 +33,15 @@ STRING(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWERCASE)
6
+ SET(PHYSX_WARNING_DISABLES "-Wno-invalid-offsetof -Wno-maybe-uninitialized -Wno-unused-variable -Wno-variadic-macros -Wno-array-bounds -Wno-strict-aliasing")
7
+
8
+ IF(${ANDROID_ABI} STREQUAL "armeabi-v7a")
9
+ - SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -funwind-tables -fomit-frame-pointer -funswitch-loops -finline-limit=300 -fno-strict-aliasing -fstack-protector ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
10
+ + SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -funwind-tables -fomit-frame-pointer -funswitch-loops -finline-limit=300 -fno-strict-aliasing -fstack-protector ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
11
+ ELSEIF(${ANDROID_ABI} STREQUAL "armeabi-v7a with NEON")
12
+ - SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -funwind-tables -fomit-frame-pointer -funswitch-loops -finline-limit=300 -fno-strict-aliasing -fstack-protector ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
13
+ + SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -funwind-tables -fomit-frame-pointer -funswitch-loops -finline-limit=300 -fno-strict-aliasing -fstack-protector ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
14
+ ELSEIF(${ANDROID_ABI} STREQUAL "arm64-v8a")
15
+ - SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} " CACHE INTERNAL "PhysX CXX")
16
+ + SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} " CACHE INTERNAL "PhysX CXX")
17
+ ELSEIF(${ANDROID_ABI} STREQUAL "x86")
18
+ - SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} -fpack-struct=8 -malign-double " CACHE INTERNAL "PhysX CXX")
19
+ + SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} -fpack-struct=8 -malign-double " CACHE INTERNAL "PhysX CXX")
20
+ ELSEIF(${ANDROID_ABI} STREQUAL "x86_64")
21
+ - SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} -mstackrealign -msse3 " CACHE INTERNAL "PhysX CXX")
22
+ + SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} -mstackrealign -msse3 " CACHE INTERNAL "PhysX CXX")
23
+ ENDIF()
24
+
25
+ # Build debug info for all configurations
26
+ diff --git a/physx/source/compiler/cmake/ios/CMakeLists.txt b/physx/source/compiler/cmake/ios/CMakeLists.txt
27
+ index 5605e9af..3d2fe6f0 100644
28
+ --- a/physx/source/compiler/cmake/ios/CMakeLists.txt
29
+ +++ b/physx/source/compiler/cmake/ios/CMakeLists.txt
30
+ @@ -26,7 +26,7 @@
31
+ ## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
32
+
33
+
34
+ -SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -ferror-limit=0 -Wall -Wextra -Werror -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-unknown-warning-option -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-undefined-reinterpret-cast -Wno-invalid-offsetof -Wno-zero-as-null-pointer-constant -Wno-atomic-implicit-seq-cst -gdwarf-2" CACHE INTERNAL "PhysX CXX")
35
+ +SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -ferror-limit=0 -Wall -Wextra -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-unknown-warning-option -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-undefined-reinterpret-cast -Wno-invalid-offsetof -Wno-zero-as-null-pointer-constant -Wno-atomic-implicit-seq-cst -gdwarf-2" CACHE INTERNAL "PhysX CXX")
36
+
37
+ SET(CMAKE_SHARED_LINKER_FLAGS_CHECKED "")
38
+ SET(CMAKE_SHARED_LINKER_FLAGS_PROFILE "")
39
+ diff --git a/physx/source/compiler/cmake/linux/CMakeLists.txt b/physx/source/compiler/cmake/linux/CMakeLists.txt
40
+ index aba53365..6246e488 100644
41
+ --- a/physx/source/compiler/cmake/linux/CMakeLists.txt
42
+ +++ b/physx/source/compiler/cmake/linux/CMakeLists.txt
43
+ @@ -28,8 +28,8 @@
44
+ STRING(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWERCASE)
45
+
46
+ #TODO: Fix warnings
47
+ -SET(CLANG_WARNINGS "-ferror-limit=0 -Wall -Wextra -Werror -Wno-alloca -Wno-anon-enum-enum-conversion -Wstrict-aliasing=2 -Weverything -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-gnu-anonymous-struct -Wno-undef -Wno-unused-function -Wno-nested-anon-types -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-format-nonliteral -Wno-implicit-fallthrough -Wno-undefined-reinterpret-cast -Wno-disabled-macro-expansion -Wno-zero-as-null-pointer-constant -Wno-shadow -Wno-unknown-warning-option -Wno-atomic-implicit-seq-cst -Wno-extra-semi-stmt")
48
+ -SET(GCC_WARNINGS "-Wall -Werror -Wno-invalid-offsetof -Wno-uninitialized")
49
+ +SET(CLANG_WARNINGS "-ferror-limit=0 -Wall -Wextra -Wno-alloca -Wno-anon-enum-enum-conversion -Wstrict-aliasing=2 -Weverything -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-gnu-anonymous-struct -Wno-undef -Wno-unused-function -Wno-nested-anon-types -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-format-nonliteral -Wno-implicit-fallthrough -Wno-undefined-reinterpret-cast -Wno-disabled-macro-expansion -Wno-zero-as-null-pointer-constant -Wno-shadow -Wno-unknown-warning-option -Wno-atomic-implicit-seq-cst -Wno-extra-semi-stmt")
50
+ +SET(GCC_WARNINGS "-Wall -Wno-invalid-offsetof -Wno-uninitialized")
51
+
52
+ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
53
+ # using Clang
54
+ diff --git a/physx/source/compiler/cmake/mac/CMakeLists.txt b/physx/source/compiler/cmake/mac/CMakeLists.txt
55
+ index 36799700..97cb4c7f 100644
56
+ --- a/physx/source/compiler/cmake/mac/CMakeLists.txt
57
+ +++ b/physx/source/compiler/cmake/mac/CMakeLists.txt
58
+ @@ -28,7 +28,7 @@
59
+ SET(OSX_BITNESS "-arch x86_64")
60
+ SET(CMAKE_OSX_ARCHITECTURES "x86_64")
61
+
62
+ -SET(PHYSX_CXX_FLAGS "${OSX_BITNESS} -msse2 -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -Werror -ferror-limit=0 -Wall -Wextra -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-unknown-warning-option -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-undefined-reinterpret-cast -Wno-invalid-offsetof -Wno-zero-as-null-pointer-constant -Wno-atomic-implicit-seq-cst -gdwarf-2" CACHE INTERNAL "PhysX CXX")
63
+ +SET(PHYSX_CXX_FLAGS "${OSX_BITNESS} -msse2 -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -ferror-limit=0 -Wall -Wextra -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-unknown-warning-option -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-undefined-reinterpret-cast -Wno-invalid-offsetof -Wno-zero-as-null-pointer-constant -Wno-atomic-implicit-seq-cst -gdwarf-2" CACHE INTERNAL "PhysX CXX")
64
+
65
+ SET(CMAKE_SHARED_LINKER_FLAGS_CHECKED "")
66
+ SET(CMAKE_SHARED_LINKER_FLAGS_PROFILE "")
third-party/DPVO/Pangolin/scripts/vcpkg/ports/physx/vcpkg.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "physx",
3
+ "version-semver": "4.1.2",
4
+ "port-version": 1,
5
+ "description": "The NVIDIA PhysX SDK is a scalable multi-platform physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs",
6
+ "homepage": "https://github.com/NVIDIAGameWorks/PhysX",
7
+ "supports": "!mingw",
8
+ "dependencies": [
9
+ {
10
+ "name": "vcpkg-cmake",
11
+ "host": true
12
+ }
13
+ ]
14
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/picojson/portfile.cmake ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ vcpkg_from_github(
2
+ OUT_SOURCE_PATH SOURCE_PATH
3
+ REPO kazuho/picojson
4
+ REF v1.3.0
5
+ SHA512 76d5a6b3b9e1151198eee707faffcbbba28a2842daccf03d99a5d02ae017f9517ef3ac9da4acc74a4fc1357feaf19e14a15c34698a1d4cb65acb6d23b566b284
6
+ HEAD_REF master
7
+ )
8
+
9
+ file(INSTALL ${SOURCE_PATH}/picojson.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT})
10
+
11
+ file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
12
+
13
+ vcpkg_copy_pdbs()
third-party/DPVO/Pangolin/scripts/vcpkg/ports/picojson/vcpkg.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "picojson",
3
+ "version-string": "1.3.0",
4
+ "port-version": 2,
5
+ "description": "A header-file-only, JSON parser serializer in C++.",
6
+ "homepage": "https://github.com/kazuho/picojson"
7
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/picosha2/portfile.cmake ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ vcpkg_from_github(
2
+ OUT_SOURCE_PATH SOURCE_PATH
3
+ REPO okdshin/PicoSHA2
4
+ REF b699e6c900be6e00152db5a3d123c1db42ea13d0
5
+ SHA512 5972dfe7675c560a0c58491e72938e8e5ea46eabb2e2f564086001eda21b237035aa0deef94bb36a21154a4b5cbc160b9b0f6b5988f6580d693ad74cfbc53bb5
6
+ HEAD_REF master
7
+ )
8
+
9
+ file(INSTALL ${SOURCE_PATH}/picosha2.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
10
+ file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/picosha2 RENAME copyright)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/picosha2/vcpkg.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "picosha2",
3
+ "version-string": "2018-07-30",
4
+ "port-version": 1,
5
+ "description": "PicoSHA2 - a C++ SHA256 hash generator",
6
+ "homepage": "https://github.com/okdshin/PicoSHA2"
7
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/piex/CMakeLists.txt ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ cmake_minimum_required(VERSION 3.8.0)
2
+ project(piex)
3
+
4
+ if(MSVC)
5
+ add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
6
+ endif()
7
+
8
+ include_directories(".")
9
+
10
+ add_library(binary_parse
11
+ src/binary_parse/cached_paged_byte_array.cc
12
+ src/binary_parse/range_checked_byte_ptr.cc
13
+ )
14
+
15
+ add_library(image_type_recognition
16
+ src/image_type_recognition/image_type_recognition_lite.cc
17
+ )
18
+
19
+ target_link_libraries(image_type_recognition binary_parse)
20
+ target_compile_features(image_type_recognition PUBLIC cxx_std_11)
21
+
22
+ add_library(tiff_directory
23
+ src/tiff_directory/tiff_directory.cc
24
+ )
25
+
26
+ target_link_libraries(tiff_directory binary_parse)
27
+
28
+ add_library(piex
29
+ src/piex.cc
30
+ src/tiff_parser.cc
31
+ )
32
+
33
+ target_link_libraries(piex tiff_directory image_type_recognition binary_parse)
34
+ target_compile_features(piex PUBLIC cxx_std_11)
35
+
36
+ install(
37
+ TARGETS piex
38
+ RUNTIME DESTINATION bin
39
+ LIBRARY DESTINATION lib
40
+ ARCHIVE DESTINATION lib
41
+ )
42
+
43
+ if(NOT DISABLE_INSTALL_HEADERS)
44
+ install(FILES src/piex.h src/piex_types.h DESTINATION include/src)
45
+ endif()
third-party/DPVO/Pangolin/scripts/vcpkg/ports/piex/portfile.cmake ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
2
+
3
+ vcpkg_from_github(
4
+ OUT_SOURCE_PATH SOURCE_PATH
5
+ REPO google/piex
6
+ REF 256bd102be288c19b4165e0ecc7097a18c004e92
7
+ SHA512 ae948588a99d586593788c995c3d65a488faaf99b2ab6c51ec39df7e11a42c89454dd505117e90b1f152f6abfc2e3e11f61b0af97e42ecdff0d978934e20f582
8
+ HEAD_REF master
9
+ )
10
+
11
+ file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
12
+
13
+ vcpkg_cmake_configure(
14
+ SOURCE_PATH "${SOURCE_PATH}"
15
+ OPTIONS_DEBUG
16
+ -DDISABLE_INSTALL_HEADERS=ON
17
+ )
18
+
19
+ vcpkg_cmake_install()
20
+ vcpkg_copy_pdbs()
21
+
22
+ file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/piex" RENAME copyright)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/piex/vcpkg.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "piex",
3
+ "version-date": "2019-07-11",
4
+ "port-version": 2,
5
+ "description": "The Preview Image Extractor (PIEX) is designed to find and extract the largest",
6
+ "homepage": "https://github.com/google/piex",
7
+ "dependencies": [
8
+ {
9
+ "name": "vcpkg-cmake",
10
+ "host": true
11
+ }
12
+ ]
13
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pistache/portfile.cmake ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ if(NOT VCPKG_TARGET_IS_LINUX)
2
+ message(FATAL_ERROR "${PORT} currently only supports Linux platform.")
3
+ endif()
4
+
5
+ vcpkg_from_github(
6
+ OUT_SOURCE_PATH SOURCE_PATH
7
+ REPO pistacheio/pistache
8
+ REF 9dc080b9ebbe6fc1726b45e9db1550305938313e #2021-03-31
9
+ SHA512 b55c395fb98af85317590ed2502564af5e92e30a35618132568c6ab589a6d0971570ad20ddbd1f49d9dd8cf54692866c69cfc1350c6fdccf9efb039aacf153b4
10
+ HEAD_REF master
11
+ )
12
+
13
+ vcpkg_configure_meson(
14
+ SOURCE_PATH "${SOURCE_PATH}"
15
+ )
16
+ vcpkg_install_meson()
17
+
18
+ vcpkg_fixup_pkgconfig()
19
+
20
+ # Handle copyright
21
+ file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pistache/vcpkg.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "pistache",
3
+ "version-date": "2021-03-31",
4
+ "port-version": 3,
5
+ "description": "Pistache is a modern and elegant HTTP and REST framework for C++. It is entirely written in pure-C++11 and provides a clear and pleasant API",
6
+ "homepage": "https://github.com/oktal/pistache",
7
+ "supports": "linux",
8
+ "dependencies": [
9
+ "rapidjson",
10
+ {
11
+ "name": "vcpkg-tool-meson",
12
+ "host": true
13
+ }
14
+ ]
15
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixel/001-prevent-examples.patch ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/CMakeLists.txt b/CMakeLists.txt
2
+ index b910231..71f7ddf 100755
3
+ --- a/CMakeLists.txt
4
+ +++ b/CMakeLists.txt
5
+ @@ -34,6 +34,8 @@ else()
6
+ target_link_libraries(pixel PUBLIC SDL2::SDL2)
7
+ endif()
8
+
9
+ +option(BUILD_EXAMPLES "Build examples" OFF)
10
+ +if(BUILD_EXAMPLES)
11
+ add_executable(image_swap examples/image_swap/src/image_swap.cpp)
12
+ target_link_libraries(image_swap PRIVATE pixel)
13
+ add_executable(randomdots examples/randomdots/src/randomdots.cpp)
14
+ @@ -50,7 +52,11 @@ add_executable(simple examples/simple/src/simple.cpp)
15
+ target_link_libraries(simple PRIVATE pixel)
16
+ add_executable(starfield examples/starfield/src/starfield.cpp)
17
+ target_link_libraries(starfield PRIVATE pixel)
18
+ +endif()
19
+
20
+ +if(MSVC)
21
+ + add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
22
+ +endif()
23
+
24
+ # Install Section
25
+ include(GNUInstallDirs)
26
+ @@ -87,12 +93,6 @@ install(
27
+ DESTINATION ${CMAKE_INSTALL_PREFIX}
28
+ )
29
+
30
+ -install(
31
+ - FILES
32
+ - ${PROJECT_SOURCE_DIR}/LICENSE
33
+ - DESTINATION ${CMAKE_INSTALL_DATADIR}/pixel/copyright
34
+ - )
35
+ -
36
+ install(
37
+ FILES
38
+ ${PROJECT_BINARY_DIR}/pixelConfig.cmake
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixel/portfile.cmake ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ if(VCPKG_TARGET_IS_LINUX)
2
+ message(WARNING"${PORT} currently requires libglu1-mesa from the system package manager:
3
+ This can be installed on Ubuntu systems via sudo apt install libglu1-mesa-dev")
4
+ endif()
5
+
6
+ vcpkg_from_github(
7
+ OUT_SOURCE_PATH SOURCE_PATH
8
+ REPO dascandy/pixel
9
+ REF c4411f67746fdd811aa5f8c102ac340e9eaf4ec5
10
+ SHA512 e4f704c076bb61220349524b0b1033a92c44128bb81e79dbd32ea2d1aa9d4abb0d6daab3617f69b59d1c1e50d750767153174fea015d8718804612f4d9f68ff6
11
+ HEAD_REF master
12
+ PATCHES
13
+ 001-prevent-examples.patch
14
+ )
15
+
16
+ vcpkg_cmake_configure(
17
+ SOURCE_PATH "${SOURCE_PATH}"
18
+ OPTIONS
19
+ -DBUILD_EXAMPLES=OFF
20
+ )
21
+
22
+ vcpkg_cmake_install()
23
+
24
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
25
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
26
+
27
+ vcpkg_copy_pdbs()
28
+
29
+ file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixel/vcpkg.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "pixel",
3
+ "version-date": "2022-03-15",
4
+ "description": "Simple 2D Graphics based on standard and portable OpenGL.",
5
+ "homepage": "https://github.com/dascandy/pixel",
6
+ "license": "Apache-2.0",
7
+ "dependencies": [
8
+ "glew",
9
+ "opengl",
10
+ {
11
+ "name": "sdl2",
12
+ "default-features": false,
13
+ "features": [
14
+ "x11"
15
+ ],
16
+ "platform": "linux"
17
+ },
18
+ {
19
+ "name": "sdl2",
20
+ "platform": "!linux"
21
+ },
22
+ {
23
+ "name": "vcpkg-cmake",
24
+ "host": true
25
+ }
26
+ ]
27
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixman/no-host-cpu-checks.patch ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/meson.build b/meson.build
2
+ index 1cec227..1b07ca8 100644
3
+ --- a/meson.build
4
+ +++ b/meson.build
5
+ @@ -95,44 +95,7 @@ else
6
+ mmx_flags = ['-mmmx', '-Winline']
7
+ endif
8
+ if not use_mmx.disabled()
9
+ - if host_machine.cpu_family() == 'x86_64' or cc.get_id() == 'msvc'
10
+ - have_mmx = true
11
+ - elif host_machine.cpu_family() == 'x86' and cc.compiles('''
12
+ - #include <mmintrin.h>
13
+ - #include <stdint.h>
14
+ -
15
+ - /* Check support for block expressions */
16
+ - #define _mm_shuffle_pi16(A, N) \
17
+ - ({ \
18
+ - __m64 ret; \
19
+ - \
20
+ - /* Some versions of clang will choke on K */ \
21
+ - asm ("pshufw %2, %1, %0\n\t" \
22
+ - : "=y" (ret) \
23
+ - : "y" (A), "K" ((const int8_t)N) \
24
+ - ); \
25
+ - \
26
+ - ret; \
27
+ - })
28
+ -
29
+ - int main () {
30
+ - __m64 v = _mm_cvtsi32_si64 (1);
31
+ - __m64 w;
32
+ -
33
+ - w = _mm_shuffle_pi16(v, 5);
34
+ -
35
+ - /* Some versions of clang will choke on this */
36
+ - asm ("pmulhuw %1, %0\n\t"
37
+ - : "+y" (w)
38
+ - : "y" (v)
39
+ - );
40
+ -
41
+ - return _mm_cvtsi64_si32 (v);
42
+ - }''',
43
+ - args : mmx_flags,
44
+ - name : 'MMX Intrinsic Support')
45
+ - have_mmx = true
46
+ - endif
47
+ + have_mmx = true
48
+ endif
49
+
50
+ if have_mmx
51
+ @@ -154,29 +117,7 @@ elif cc.get_id() != 'msvc'
52
+ sse2_flags = ['-msse2', '-Winline']
53
+ endif
54
+ if not use_sse2.disabled()
55
+ - if host_machine.cpu_family() == 'x86'
56
+ - if cc.compiles('''
57
+ - #if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2))
58
+ - # if !defined(__amd64__) && !defined(__x86_64__)
59
+ - # error "Need GCC >= 4.2 for SSE2 intrinsics on x86"
60
+ - # endif
61
+ - #endif
62
+ - #include <mmintrin.h>
63
+ - #include <xmmintrin.h>
64
+ - #include <emmintrin.h>
65
+ - int param;
66
+ - int main () {
67
+ - __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c;
68
+ - c = _mm_xor_si128 (a, b);
69
+ - return _mm_cvtsi128_si32(c);
70
+ - }''',
71
+ - args : sse2_flags,
72
+ - name : 'SSE2 Intrinsic Support')
73
+ - have_sse2 = true
74
+ - endif
75
+ - elif host_machine.cpu_family() == 'x86_64'
76
+ - have_sse2 = true
77
+ - endif
78
+ + have_sse2 = true
79
+ endif
80
+
81
+ if have_sse2
82
+ @@ -192,24 +133,8 @@ if cc.get_id() != 'msvc'
83
+ ssse3_flags = ['-mssse3', '-Winline']
84
+ endif
85
+
86
+ -# x64 pre-2010 MSVC compilers crashes when building the ssse3 code
87
+ -if not use_ssse3.disabled() and not (cc.get_id() == 'msvc' and cc.version().version_compare('<16') and host_machine.cpu_family() == 'x86_64')
88
+ - if host_machine.cpu_family().startswith('x86')
89
+ - if cc.compiles('''
90
+ - #include <mmintrin.h>
91
+ - #include <xmmintrin.h>
92
+ - #include <emmintrin.h>
93
+ - int param;
94
+ - int main () {
95
+ - __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c;
96
+ - c = _mm_xor_si128 (a, b);
97
+ - return _mm_cvtsi128_si32(c);
98
+ - }''',
99
+ - args : ssse3_flags,
100
+ - name : 'SSSE3 Intrinsic Support')
101
+ - have_ssse3 = true
102
+ - endif
103
+ - endif
104
+ +if use_ssse3.enabled()
105
+ + have_ssse3 = true
106
+ endif
107
+
108
+ if have_ssse3
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixman/portfile.cmake ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ if(VCPKG_TARGET_IS_WINDOWS)
2
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # Meson is not able to automatically export symbols for DLLs
3
+ endif()
4
+
5
+ if(VCPKG_TARGET_IS_UWP)
6
+ list(APPEND OPTIONS
7
+ -Dmmx=disabled
8
+ -Dsse2=disabled
9
+ -Dssse3=disabled)
10
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
11
+ set(VCPKG_CXX_FLAGS "/arch:SSE2 ${VCPKG_CXX_FLAGS}")
12
+ set(VCPKG_C_FLAGS "/arch:SSE2 ${VCPKG_C_FLAGS}")
13
+ list(APPEND OPTIONS
14
+ -Dmmx=enabled
15
+ -Dsse2=enabled
16
+ -Dssse3=enabled)
17
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
18
+ #x64 in general has all those intrinsics. (except for UWP for some reason)
19
+ list(APPEND OPTIONS
20
+ -Dmmx=enabled
21
+ -Dsse2=enabled
22
+ -Dssse3=enabled)
23
+ elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm")
24
+ list(APPEND OPTIONS
25
+ #-Darm-simd=enabled does not work with arm64-windows
26
+ -Dmmx=disabled
27
+ -Dsse2=disabled
28
+ -Dssse3=disabled
29
+ )
30
+ endif()
31
+
32
+ set(PIXMAN_VERSION 0.40.0)
33
+ vcpkg_download_distfile(ARCHIVE
34
+ URLS "https://www.cairographics.org/releases/pixman-${PIXMAN_VERSION}.tar.gz"
35
+ FILENAME "pixman-${PIXMAN_VERSION}.tar.gz"
36
+ SHA512 063776e132f5d59a6d3f94497da41d6fc1c7dca0d269149c78247f0e0d7f520a25208d908cf5e421d1564889a91da44267b12d61c0bd7934cd54261729a7de5f
37
+ )
38
+ vcpkg_extract_source_archive_ex(
39
+ OUT_SOURCE_PATH SOURCE_PATH
40
+ ARCHIVE ${ARCHIVE}
41
+ REF ${PIXMAN_VERSION}
42
+ PATCHES
43
+ remove_test_demos.patch
44
+ no-host-cpu-checks.patch
45
+ )
46
+ # Meson install wrongly pkgconfig file!
47
+ vcpkg_configure_meson(
48
+ SOURCE_PATH "${SOURCE_PATH}"
49
+ OPTIONS ${OPTIONS}
50
+ -Dlibpng=enabled
51
+ )
52
+ vcpkg_install_meson()
53
+ vcpkg_fixup_pkgconfig()
54
+
55
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
56
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
57
+
58
+ # # Handle copyright
59
+ file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixman/remove_test_demos.patch ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/meson.build b/meson.build
2
+ index 1cec22728..fa6199ed0 100644
3
+ --- a/meson.build
4
+ +++ b/meson.build
5
+ @@ -528,8 +528,8 @@ version_conf.set('PIXMAN_VERSION_MICRO', split[2])
6
+ add_project_arguments('-DHAVE_CONFIG_H', language : ['c'])
7
+
8
+ subdir('pixman')
9
+ -subdir('test')
10
+ -subdir('demos')
11
+ +# subdir('test')
12
+ +# subdir('demos')
13
+
14
+ pkg = import('pkgconfig')
15
+ pkg.generate(
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pixman/vcpkg.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "pixman",
3
+ "version": "0.40.0",
4
+ "port-version": 2,
5
+ "description": "Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization.",
6
+ "homepage": "https://www.cairographics.org/releases",
7
+ "license": "MIT",
8
+ "dependencies": [
9
+ "libpng",
10
+ {
11
+ "name": "vcpkg-tool-meson",
12
+ "host": true
13
+ }
14
+ ]
15
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pkgconf/portfile.cmake ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ vcpkg_from_github(
2
+ OUT_SOURCE_PATH SOURCE_PATH
3
+ REPO pkgconf/pkgconf
4
+ REF cef30268e1a3f79efd607c26abcf556aa314c9c4
5
+ SHA512 ea03b81d01521201bdc471a39cdc8b13f9452f7cc78706d5c57056595f3e4e8a3562c022ebb72ce6444f2c7a8dfc778114814ef5064eaef770a70cc294c7f7ee
6
+ HEAD_REF master
7
+ )
8
+
9
+ vcpkg_configure_meson(
10
+ SOURCE_PATH "${SOURCE_PATH}"
11
+ NO_PKG_CONFIG
12
+ OPTIONS -Dtests=false
13
+ )
14
+
15
+ set(systemsuffix "")
16
+ set(architectureprefix "")
17
+
18
+ set(SYSTEM_LIBDIR "")
19
+ set(PKG_DEFAULT_PATH "")
20
+ set(SYSTEM_INCLUDEDIR "")
21
+ set(PERSONALITY_PATH "personality.d")
22
+
23
+
24
+ if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_CROSSCOMPILING AND VCPKG_TARGET_ARCHITECTURE MATCHES "x64")
25
+ # These defaults are obtained from pkgconf/pkg-config on Ubuntu and OpenSuse
26
+ # vcpkg cannot do system introspection to obtain/set these values since it would break binary caching.
27
+ set(SYSTEM_INCLUDEDIR "/usr/include")
28
+ # System lib dirs will be stripped from -L from the pkg-config output
29
+ set(SYSTEM_LIBDIR "/lib:/lib/i386-linux-gnu:/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnux32:/lib64:/lib32:/libx32:/usr/lib:/usr/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnux32:/usr/lib64:/usr/lib32:/usr/libx32")
30
+ set(PKG_DEFAULT_PATH "/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig")
31
+ set(PERSONALITY_PATH "/usr/share/pkgconfig/personality.d:/etc/pkgconfig/personality.d")
32
+ endif()
33
+
34
+ if(DEFINED VCPKG_pkgconf_SYSTEM_LIBDIR)
35
+ set(SYSTEM_LIBDIR "${VCPKG_pkgconf_SYSTEM_LIBDIR}")
36
+ endif()
37
+ if(DEFINED VCPKG_pkgconf_PKG_DEFAULT_PATH)
38
+ set(PKG_DEFAULT_PATH "${VCPKG_pkgconf_PKG_DEFAULT_PATH}")
39
+ endif()
40
+ if(DEFINED VCPKG_pkgconf_SYSTEM_INCLUDEDIR)
41
+ set(SYSTEM_INCLUDEDIR "${VCPKG_pkgconf_SYSTEM_INCLUDEDIR}")
42
+ endif()
43
+ if(DEFINED VCPKG_pkgconf_PERSONALITY_PATH)
44
+ set(PERSONALITY_PATH "${VCPKG_pkgconf_PERSONALITY_PATH}")
45
+ endif()
46
+
47
+
48
+ set(pkgconfig_file "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libpkgconf/config.h")
49
+ if(EXISTS "${pkgconfig_file}")
50
+ file(READ "${pkgconfig_file}" contents)
51
+ string(REGEX REPLACE "#define PKG_DEFAULT_PATH [^\n]+" "#define PKG_DEFAULT_PATH \"${PKG_DEFAULT_PATH}\"" contents "${contents}")
52
+ string(REGEX REPLACE "#define SYSTEM_INCLUDEDIR [^\n]+" "#define SYSTEM_INCLUDEDIR \"${SYSTEM_INCLUDEDIR}\"" contents "${contents}")
53
+ string(REGEX REPLACE "#define SYSTEM_LIBDIR [^\n]+" "#define SYSTEM_LIBDIR \"${SYSTEM_LIBDIR}\"" contents "${contents}")
54
+ string(REGEX REPLACE "#define PERSONALITY_PATH [^\n]+" "#define PERSONALITY_PATH \"${PERSONALITY_PATH}\"" contents "${contents}")
55
+ file(WRITE "${pkgconfig_file}" "${contents}")
56
+ endif()
57
+ set(pkgconfig_file "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libpkgconf/config.h")
58
+ if(EXISTS "${pkgconfig_file}")
59
+ file(READ "${pkgconfig_file}" contents)
60
+ string(REGEX REPLACE "#define PKG_DEFAULT_PATH [^\n]+" "#define PKG_DEFAULT_PATH \"${PKG_DEFAULT_PATH}\"" contents "${contents}")
61
+ string(REGEX REPLACE "#define SYSTEM_INCLUDEDIR [^\n]+" "#define SYSTEM_INCLUDEDIR \"${SYSTEM_INCLUDEDIR}\"" contents "${contents}")
62
+ string(REGEX REPLACE "#define SYSTEM_LIBDIR [^\n]+" "#define SYSTEM_LIBDIR \"${SYSTEM_LIBDIR}\"" contents "${contents}")
63
+ string(REGEX REPLACE "#define PERSONALITY_PATH [^\n]+" "#define PERSONALITY_PATH \"${PERSONALITY_PATH}\"" contents "${contents}")
64
+ file(WRITE "${pkgconfig_file}" "${contents}")
65
+ endif()
66
+
67
+ vcpkg_install_meson()
68
+ vcpkg_fixup_pkgconfig(SKIP_CHECK)
69
+
70
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
71
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
72
+
73
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
74
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/pkgconf/libpkgconf/libpkgconf-api.h" "#if defined(PKGCONFIG_IS_STATIC)" "#if 1")
75
+ endif()
76
+
77
+ vcpkg_copy_tools(TOOL_NAMES pkgconf AUTO_CLEAN)
78
+
79
+ # Handle copyright
80
+ file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/pkgconf/vcpkg.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "pkgconf",
3
+ "version": "1.8.0",
4
+ "port-version": 2,
5
+ "description": "pkgconf is a program which helps to configure compiler and linker flags for development libraries. It is similar to pkg-config from freedesktop.org.",
6
+ "homepage": "https://github.com/pkgconf/pkgconf",
7
+ "supports": "!uwp",
8
+ "dependencies": [
9
+ {
10
+ "name": "vcpkg-tool-meson",
11
+ "host": true
12
+ }
13
+ ]
14
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/platform-folders/portfile.cmake ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
2
+
3
+ set(TARGET_BUILD_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}")
4
+ vcpkg_from_github(
5
+ OUT_SOURCE_PATH SOURCE_PATH
6
+ REPO sago007/PlatformFolders
7
+ REF 4.1.0
8
+ SHA512 B2C7983399D9EAA8EF95F45E51B7B70626466FC14A0E53C8B497E683D63E40683CC995C75FC9529C7E969BB802CF9C92051B663901326985722AEBF7618C48EB
9
+ HEAD_REF master
10
+ )
11
+
12
+ vcpkg_configure_cmake(
13
+ SOURCE_PATH "${SOURCE_PATH}"
14
+ PREFER_NINJA
15
+ OPTIONS
16
+ -DBUILD_TESTING=OFF
17
+ )
18
+
19
+ vcpkg_install_cmake()
20
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
21
+ file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin")
22
+ file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin")
23
+ file(INSTALL "${TARGET_BUILD_PATH}-rel/platform_folders.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin/")
24
+ file(INSTALL "${TARGET_BUILD_PATH}-dbg/platform_folders.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/")
25
+ endif()
26
+
27
+ if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_MinGW)
28
+ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake/ TARGET_PATH /share/platform_folders)
29
+ else()
30
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ TARGET_PATH /share/)
31
+ endif()
32
+
33
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
34
+ file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
35
+
36
+ vcpkg_copy_pdbs()
third-party/DPVO/Pangolin/scripts/vcpkg/ports/platform-folders/vcpkg.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "name": "platform-folders",
3
+ "version": "4.1.0",
4
+ "description": "A C++ library to look for special directories like \"My Documents\" and \"%APPDATA%\"",
5
+ "homepage": "https://github.com/sago007/PlatformFolders"
6
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-colony/portfile.cmake ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # header-only library
2
+
3
+ vcpkg_from_github(
4
+ OUT_SOURCE_PATH SOURCE_PATH
5
+ REPO mattreecebentley/plf_colony
6
+ REF 7243b4601b5d7e989550c158a9918ea5a05feaf4
7
+ SHA512 aaf898ac5a37720545a7b7226c8bd09be80dcdd03d9c77a2c64cfe0aedbb59ede4042001c616c4b5d29f13717ae5b637c0608d83819c2bceae5606c8555a64da
8
+ HEAD_REF master
9
+ )
10
+
11
+ file(COPY "${SOURCE_PATH}/plf_colony.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include")
12
+
13
+ file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-colony/vcpkg.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "name": "plf-colony",
3
+ "version": "6.33",
4
+ "description": "An unordered C++ data container providing fast iteration/insertion/erasure while maintaining pointer/iterator validity to non-erased elements regardless of insertions/erasures.",
5
+ "homepage": "https://plflib.org/colony.htm"
6
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-hive/portfile.cmake ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # header-only library
2
+
3
+ vcpkg_from_github(
4
+ OUT_SOURCE_PATH SOURCE_PATH
5
+ REPO mattreecebentley/plf_hive
6
+ REF 39dfcc5712125cc645df123c120006b7a6fd95d6
7
+ SHA512 81a1f185ca8293b6fb83605c05ecf14d024194334cb64932daa29ecae064918241fa7f3e4a688dc2b19b4b5dd8a2605d60947bd513f7cd30299fd6ba25aa8b35
8
+ HEAD_REF master
9
+ )
10
+
11
+ file(COPY "${SOURCE_PATH}/plf_hive.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include")
12
+
13
+ file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-hive/vcpkg.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "name": "plf-hive",
3
+ "version-date": "2021-12-11",
4
+ "description": "plf::hive is a fork of plf::colony to match the current C++ standards proposal.",
5
+ "homepage": "https://plflib.org/colony.htm"
6
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-list/portfile.cmake ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # header-only library
2
+
3
+ vcpkg_from_github(
4
+ OUT_SOURCE_PATH SOURCE_PATH
5
+ REPO mattreecebentley/plf_list
6
+ REF 42fcfca9890598d1c1fda45eb9dbe2b2b2d4dd2b
7
+ SHA512 879157aac16dc1b76db942a8ddf25dc33ede10e769496b7f300a070913c6c6946cb40853dd3071ecf3d9c870e1dee5d420d42fbb388e83361235659171f6bd44
8
+ HEAD_REF master
9
+ )
10
+
11
+ file(COPY ${SOURCE_PATH}/plf_list.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
12
+
13
+ # Handle copyright
14
+ configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-list/vcpkg.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "plf-list",
3
+ "version-string": "2019-08-10",
4
+ "port-version": 1,
5
+ "description": "A drop-in replacement for std::list with 293% faster insertion, 57% faster erasure, 17% faster iteration and 77% faster sorting on average",
6
+ "homepage": "https://www.plflib.org/"
7
+ }
third-party/DPVO/Pangolin/scripts/vcpkg/ports/plf-nanotimer/portfile.cmake ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # header-only library
2
+
3
+ vcpkg_from_github(
4
+ OUT_SOURCE_PATH SOURCE_PATH
5
+ REPO mattreecebentley/plf_nanotimer
6
+ REF bc8b44d2befc4395f63701c923ece89835d8415c
7
+ SHA512 ec816e82ab855dd7029b03931ffb1e945d3e77f7bb446c4985c4a8404afe20e9de8fac02f64459c47c34e31c06fa8838dba310263197d309e39ec1b0b5da0b6d
8
+ HEAD_REF master
9
+ )
10
+
11
+ file(COPY ${SOURCE_PATH}/plf_nanotimer.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
12
+
13
+ # Handle copyright
14
+ configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)