Skip to content

Commit

Permalink
[s2geometry] Add new port (#22107)
Browse files Browse the repository at this point in the history
* [abseil] Upgrade to 2021.1102

* revert portfile.cmake

* update version

* update portfile.cmake

* update version

* [s2geometry] google s2 for for manipulating geometric shapes

* [libevent] no absolute paths (#21179)

* [Pcre2] Check if files exists before call vcpkg_replace_string. (#22003)

* Check if files exists before call vcpkg_replace_string.

* Update per comments.

Only guard debug.

* Update ports/pcre2/portfile.cmake

Co-authored-by: Jack·Boos·Yu <[email protected]>

* Bump port-version.

Co-authored-by: GLUD Lars <[email protected]>
Co-authored-by: Jack·Boos·Yu <[email protected]>
Co-authored-by: Billy Robert O'Neal III <[email protected]>

* [lodepng] Fix cannot open include file "lodepng.h" (#22007)

* [lodepng] Fix cannot open include file "lodepng.h"

* update version

Co-authored-by: Lily Wang <[email protected]>

* [MyGUI] update to 3.4.1 (#22015)

* [MyGUI] update to 3.4.1

* update version

* [s2n] Update, add openssl dependency (#21484)

* Update to 1.3.0, add openssl dependency

* Add 'tests' feature

* Update versions

Co-authored-by: Billy Robert O'Neal III <[email protected]>

* Libpq update and VCPKG_OSX_SYSROOT fix (#21583)

* [libpq] Update to 12.9

* [libpq] Use VCPKG_OSX_SYSROOT if set

otherwise configure set the default sysroot in addition, ignoring the
sysroot set by vcpkg_configure_cmake.

* [libpq] remove comment only chunks from patches

* [libpq] update version registry

* [qhttpengine] New port (#22009)

* [qhttpengine] New port

* Update version database

* Fix the format of portfile.cmake

* Fix the format of portfile.cmake

* update version

* Remove duplicate build_shared_libs setting.

Co-authored-by: LilyWangLL <[email protected]>
Co-authored-by: Lily Wang <[email protected]>
Co-authored-by: Billy Robert O'Neal III <[email protected]>

* [ xtensor-io ] Fix wrong hash (#22018)

* [xtensor-io] Fix wrong hash

* update version

* [vcpkg] Update VMs for December 2021 Patch Tuesday (#22013)

* Add Microsoft.VisualStudio.ComponentGroup.UWP.VC.BuildTools to VS as requested by #19554

* Cherry pick python changes from #21912

* Update linux pool.

* Update windows pool.

* [starlink] Veggiesaurus/starlink ast cminpack fix (#20559)

* add CMINPACK_NO_DLL flag back

* bump port version

* updated versions JSON

* quotation mark adjustment

* git-tree update

* adjusted c flags configuration

* hash update

* whitespace fix

* git-tree hash update

* updated to ast 9.2.5, added external-cminpack flag

* updated version hash

* removed old version entry

* removed $schema element from json

* updated port git-tree hash

* [libunifex] Update to 2021-12-07 (#21995)

* updated libunifex version

* remove comment

* run x-add-versions --all

* Update ports/libunifex/vcpkg.json

Co-authored-by: JonLiu1993 <[email protected]>

* rerun x-add-version libunifex

* Update versions/l-/libunifex.json

Co-authored-by: JonLiu1993 <[email protected]>

* update libunifex to 12-07

* x-add-version

* libunifex port update

force cpp20 as cpp17 build doesn't work with msvc. added a compile fix for externConstexpr and removed warnings with /EHsc

* Update libunifex.json

version update

* Update fix-compile-error.patch

relax clang warnings

* Update libunifex.json

git x-add-version libunifex

* remove unused

* x-add-versions

* remove old version log

Co-authored-by: JonLiu1993 <[email protected]>
Co-authored-by: Billy Robert O'Neal III <[email protected]>

* [tensorflow] update to 2.7, including bazel latest 4.x update (#22022)

* Revert "incorporate changes from microsoft:master"

* Revert "Revert "incorporate changes from microsoft:master""

* update tensorflow to 2.7 and bazel to latest 4.x

* Update version database.

Co-authored-by: jgehw <[email protected]>
Co-authored-by: Billy Robert O'Neal III <[email protected]>

* [hiredis] Fix static build (#22038)

* [hiredis] Fix static build

* Update version database

* [vcpkg baseline] Fix mpg123 build failed on Linux (#22028)

* [baseline] Fix mpg123 build failed on Linux

* update version

* Fix misspelled "module".

* Actually fix the misspelling this time Bill.

Co-authored-by: Lily Wang <[email protected]>
Co-authored-by: Billy Robert O'Neal III <[email protected]>

* [qt5-base] no _debug lib suffixes on macOS (#14225) (#21695)

* [qt5-base] no _debug lib suffixes on macOS (#14225)

* [qt5-base] patch qt5-base to remove _debug postfix on osx

* Apply suggestions from code review

Co-authored-by: Alexander Neumann <[email protected]>

* [qt5-base] create link to _debug.pc file from .pc file without _debug

* update version

* [qt5-base] create forward pkgconfig file

Co-authored-by: Billy Robert O'Neal III <[email protected]>
Co-authored-by: Alexander Neumann <[email protected]>

* [python3] Support arm (#21528)

* [python3] Support arm on non Windows

* Support arm on all platform, add host dependency

* version

* [pybind11] Add supports

* version

Co-authored-by: NancyLi1013 <[email protected]>
Co-authored-by: JackBoosY <[email protected]>

* [openmvg] update to 2.0 (#22020)

* [openmvg] update to 2.0

* update version

* update patch

* update version

* [brynet] Update to 1.11.1 (#22021)

* brynet: upgrade to 1.11.1

* Update portfile.cmake

* Update brynet.json

* [graphicsmagick] update to version 1.3.37 (#22024)

* [graphicsmagick] update to version 1.3.37

* [graphicsmagick] manifest format

* [graphicsmagick] version database update

* [graphicsmagick] version-string -> version

* [graphicsmagick] version database update

* [meson] fix windows linker detection (#22032)

* fix meson linker detection .....

* bit of code cleanup in vcpkg_configure_meson

* forgot the version stuff

* put cmake back on path because meson is buggy as hell

* [libgpg-error] Release-only build support (#22036)

* [libgpg-error] Release-only build support

* Update version database

* Fix protfile spaces

* Update version database

* [elfutils] provide static or shared libraries correctly (#22055)

The logic for keeping the static or shared libraries according to
VCPKG_LIBRARY_LINKAGE was backwards, and it was providing shared
libraries when they should have been static, and vice versa.

* [gl3w] Use khrplatform.h from the egl-registry port (#22056)

* [gl3w] use khrplatform.h from the egl-registry port

The file was changed yesterday, invalidating the hash: KhronosGroup/EGL-Registry@57b4876.

* [gl3w] migrate to new functions from vcpkg-cmake{,-config}

* [gl3w] bump port version

* [caf] Update to 0.18.5 (#22046)

* [caf] Update to 0.18.5

* Remove setting of BUILD_SHARED_LIBS already handled by vcpkg_cmake_configure.

Co-authored-by: Billy Robert O'Neal III <[email protected]>

* [gmsh] Add new port (#21896)

* add: gmsh

* add: versioning for gmsh.

* [gmsh] Re-factory code

* Fix install, remove some features due to lack required dependencies.

* version

* Do not support uwp officially

* version

* Update ports/gmsh/portfile.cmake

* Update versions/g-/gmsh.json

* Group the options

* version

* version

Co-authored-by: JackBoosY <[email protected]>
Co-authored-by: Jack·Boos·Yu <[email protected]>

* [kf5] upgrade to 5.89 (#21890)

* [kf5*] Update to 5.89

* [kf5*] Update versions

* [kf5kio] update tag to rc2

* [kf5kio] update versions

* [kf5*] final 5.89 released

* [kf5*] update versions

* Clean up trailing whitespace and add quotes when naming .clang-format.

Co-authored-by: Billy Robert O'Neal III <[email protected]>

* [ompl] Add vcpkg_check_linkage (#21659)

* [ompl] Add vcpkg_check_linkage

* version

* version

* [pcl] Add feature apps, visualization, simulation, examples and add usage (#21788)

* [pcl] Add feature apps, visualization and examples

* version

* Add simulation

* Enable more apps, install examples, add usage

* format manifest file

* version

* set feature vtk as a alias for feature visualization

* version

* [activemq-cpp] Added missing libuuid dependency (#22059)

This is a mandatory dependency according to
https://github.com/apache/activemq-cpp/blob/master/README.txt

* [optimus-cpp] New port: ID hashing and Obfuscation using Knuth's Algorithm for C++ (#22025)

* [optimus-cpp] New port: ID hashing and Obfuscation using Knuth's Algorithm for C++

* Changed reference

* Update version database

* Fix hash

* Update version database

* Review changes and update lib version

* fixver

* Update version database

* Update version database 2

* Fix vcpkg deps

* Update version database

* [tensorflow-common] remove single quotes from vcpkg flags (#21869)

* [vcpkg_acquire_msys] Update bzip2 to 1.0.8-2

* [tensorflow-common] remove single quotes from vcpkg flags

They are escaped like '\'-mtune=native\''  which leads to a compiler error:
cc: error: unrecognized command line option '-mtune=native'
Set via: set(VCPKG_CXX_FLAGS "-mtune=native")

* [sdl2-mixer] Fix link mpg123 error (#22049)

* [sdl2-mixer] Fix link mpg123 error

* update version

Co-authored-by: Lily Wang <[email protected]>

* [s2geometry]: new port

* [s2geometry]: new port

* [s2geometry]: new port

* [s2geometry]: new port

* [s2geometry] new port

Co-authored-by: Jonliu1993 <[email protected]>
Co-authored-by: autoantwort <[email protected]>
Co-authored-by: Lars Glud <[email protected]>
Co-authored-by: GLUD Lars <[email protected]>
Co-authored-by: Jack·Boos·Yu <[email protected]>
Co-authored-by: Billy Robert O'Neal III <[email protected]>
Co-authored-by: LilyWangLL <[email protected]>
Co-authored-by: Lily Wang <[email protected]>
Co-authored-by: Frank <[email protected]>
Co-authored-by: Kai Pastor <[email protected]>
Co-authored-by: Daniel Schürmann <[email protected]>
Co-authored-by: Vitaly <[email protected]>
Co-authored-by: JonLiu1993 <[email protected]>
Co-authored-by: Angus Comrie <[email protected]>
Co-authored-by: Li Zeyang <[email protected]>
Co-authored-by: Joachim Gehweiler <[email protected]>
Co-authored-by: jgehw <[email protected]>
Co-authored-by: Alexander Neumann <[email protected]>
Co-authored-by: NancyLi1013 <[email protected]>
Co-authored-by: NancyLi1013 <[email protected]>
Co-authored-by: JackBoosY <[email protected]>
Co-authored-by: IronsDu <[email protected]>
Co-authored-by: Josue Andrade Gomes <[email protected]>
Co-authored-by: Clayton Wheeler <[email protected]>
Co-authored-by: Christian Fillion <[email protected]>
Co-authored-by: Phoebe <[email protected]>
Co-authored-by: X.ZhaoMa <[email protected]>
Co-authored-by: Dawid Wróbel <[email protected]>
  • Loading branch information
1 parent 7cbac84 commit 92f4679
Show file tree
Hide file tree
Showing 7 changed files with 190 additions and 0 deletions.
118 changes: 118 additions & 0 deletions ports/s2geometry/CMakeLists.txt.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5ecd280..9859890 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,16 +20,8 @@ set(CMAKE_CXX_EXTENSIONS OFF)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/third_party/cmake")

-option(WITH_GFLAGS "Use gflags to change command line flags." OFF)
-add_feature_info(GFLAGS WITH_GFLAGS
- "allows changing command line flags.")

-# glog option can only be turned on if gflags is on.
-cmake_dependent_option(WITH_GLOG "Use glog for logging." ON
- "WITH_GFLAGS" OFF)
-add_feature_info(GLOG WITH_GLOG "provides logging configurability.")
-
-option(BUILD_SHARED_LIBS "Build shared libraries instead of static." ON)
+option(BUILD_SHARED_LIBS "Build shared libraries instead of static." OFF)
add_feature_info(SHARED_LIBS BUILD_SHARED_LIBS
"builds shared libraries instead of static.")

@@ -37,26 +29,19 @@ option(BUILD_EXAMPLES "Build s2 documentation examples." ON)

feature_summary(WHAT ALL)

-if (WITH_GLOG)
- find_package(Glog REQUIRED)
- # FindGFlags.cmake and FindGlog.cmake do not seem to implement REQUIRED;
- # check manually.
- if (NOT ${GLOG_FOUND})
- message(FATAL_ERROR "Glog requested but not found")
- endif()
- add_definitions(-DS2_USE_GLOG)
-else()
- # Don't output anything for LOG(INFO).
- add_definitions(-DABSL_MIN_LOG_LEVEL=1)
+find_package(glog CONFIG REQUIRED)
+# FindGFlags.cmake and FindGlog.cmake do not seem to implement REQUIRED;
+# check manually.
+if (NOT ${GLOG_FOUND})
+ message(FATAL_ERROR "Glog requested but not found")
endif()
+add_definitions(-DS2_USE_GLOG)

-if (WITH_GFLAGS)
- find_package(GFlags REQUIRED)
- if (NOT ${GFLAGS_FOUND})
- message(FATAL_ERROR "GFlags requested but not found")
- endif()
- add_definitions(-DS2_USE_GFLAGS)
+find_package(gflags CONFIG REQUIRED)
+if (NOT ${GFLAGS_FOUND})
+ message(FATAL_ERROR "GFlags requested but not found")
endif()
+add_definitions(-DS2_USE_GFLAGS)

find_package(OpenSSL REQUIRED)
# pthreads isn't used directly, but this is still required for std::thread.
@@ -204,14 +189,18 @@ add_library(s2testing STATIC
src/s2/s2testing.cc)
target_link_libraries(
s2
- ${GFLAGS_LIBRARIES} ${GLOG_LIBRARIES} ${OPENSSL_LIBRARIES}
+ gflags::gflags glog::glog OpenSSL::SSL OpenSSL::Crypto
${CMAKE_THREAD_LIBS_INIT})

# Allow other CMake projects to use this one with:
# list(APPEND CMAKE_MODULE_PATH "<path_to_s2geometry_dir>/third_party/cmake")
# add_subdirectory(<path_to_s2geometry_dir> s2geometry)
# target_link_libraries(<target_name> s2)
-target_include_directories(s2 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src)
+target_include_directories(s2 PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
+ $<INSTALL_INTERFACE:include>
+)
+

# We don't need to install all headers, only those
# transitively included by s2 headers we are exporting.
@@ -407,7 +396,18 @@ install(FILES src/s2/util/math/mathutil.h
install(FILES src/s2/util/units/length-units.h
src/s2/util/units/physical-units.h
DESTINATION include/s2/util/units)
-install(TARGETS s2 s2testing DESTINATION lib)
+ install(TARGETS s2 s2testing
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib)
+install(TARGETS s2
+ EXPORT unofficial-s2Targets
+ )
+install(EXPORT unofficial-s2Targets
+ NAMESPACE unofficial-s2
+ FILE unofficial-s2Targets.cmake
+ DESTINATION share/unofficial-s2/
+)

message("GTEST_ROOT: ${GTEST_ROOT}")
if (GTEST_ROOT)
@@ -534,3 +534,17 @@ endif()
if (${SWIG_FOUND} AND ${PYTHONLIBS_FOUND})
add_subdirectory("src/python" python)
endif()
+
+
+include(CMakePackageConfigHelpers)
+# generate the config file that is includes the exports
+configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
+ "${CMAKE_CURRENT_BINARY_DIR}/unofficial-s2Config.cmake"
+ INSTALL_DESTINATION "share/unofficial-s2/"
+ NO_SET_AND_CHECK_MACRO
+ NO_CHECK_REQUIRED_COMPONENTS_MACRO
+ )
+ install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/unofficial-s2Config.cmake
+ DESTINATION "share/unofficial-s2/"
+ )
9 changes: 9 additions & 0 deletions ports/s2geometry/Config.cmake.in.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
diff --git a/Config.cmake.in b/Config.cmake.in
new file mode 100644
index 0000000..42bcf00
--- /dev/null
+++ b/Config.cmake.in
@@ -0,0 +1,3 @@
+@PACKAGE_INIT@
+
+include ( "${CMAKE_CURRENT_LIST_DIR}/unofficial-s2Targets.cmake" )
29 changes: 29 additions & 0 deletions ports/s2geometry/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
vcpkg_fail_port_install(ON_TARGET "Windows")

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/s2geometry
REF v0.9.0
SHA512 854ec84a54aff036b3092a6233be0f5fc0e4846ac5f882326bbb3f2b9ce88bd5c866a80ae352d8e7d5ae00b9c9a8ab1cff6a95412f990b7bc1fdc5ca3d632b9c
HEAD_REF main
PATCHES
CMakeLists.txt.patch
Config.cmake.in.patch
)


vcpkg_cmake_configure(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DBUILD_EXAMPLES=OFF
-DBUILD_TESTING=OFF
MAYBE_UNUSED_VARIABLES BUILD_TESTING
)

vcpkg_cmake_install()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")


file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/s2geometry/" RENAME copyright)
file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/s2geometry/")
4 changes: 4 additions & 0 deletions ports/s2geometry/usage
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
The package s2geometry provides CMake targets:

find_package(unofficial-s2 CONFIG REQUIRED)
target_link_libraries(main PRIVATE unofficial-s2::s2)
17 changes: 17 additions & 0 deletions ports/s2geometry/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"name": "s2geometry",
"version": "0.9.0",
"description": "S2 is a library for spherical geometry that aims to have the same robustness, flexibility, and performance as the very best planar geometry libraries.",
"homepage": "https://s2geometry.io",
"supports": "!windows",
"dependencies": [
"gflags",
"glog",
"gtest",
"openssl",
{
"name": "vcpkg-cmake",
"host": true
}
]
}
4 changes: 4 additions & 0 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -6144,6 +6144,10 @@
"baseline": "2.0",
"port-version": 5
},
"s2geometry": {
"baseline": "0.9.0",
"port-version": 0
},
"s2n": {
"baseline": "1.3.0",
"port-version": 0
Expand Down
9 changes: 9 additions & 0 deletions versions/s-/s2geometry.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "3cfb53e7df6cf6c9602e63606daa377568c52cd8",
"version": "0.9.0",
"port-version": 0
}
]
}

0 comments on commit 92f4679

Please sign in to comment.