diff --git a/ports/osgearth/CONTROL b/ports/osgearth/CONTROL index c6d7b7a13cb5ae..fbc86238f31659 100644 --- a/ports/osgearth/CONTROL +++ b/ports/osgearth/CONTROL @@ -1,5 +1,10 @@ Source: osgearth Version: 3.1 -Homepage: https://github.com/gwaldron/osgearth +Port-Version: 1 +Homepage: https://github.com/gwaldron/osgearth Description: osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2015 Pelican Mapping. -Build-Depends: osg[plugins] \ No newline at end of file +Build-Depends: osg[plugins] + +Feature: draco +Description: Build with Draco +Build-Depends: draco diff --git a/ports/osgearth/find-draco.patch b/ports/osgearth/find-draco.patch new file mode 100644 index 00000000000000..eaa6478f990f57 --- /dev/null +++ b/ports/osgearth/find-draco.patch @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 049e37e..93bd89f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -134,7 +134,6 @@ find_package(GDAL REQUIRED) + # optional + find_package(GEOS) + find_package(Sqlite3) +-find_package(Draco) + find_package(BASISU) + find_package(GLEW) + find_package(Protobuf) +@@ -162,9 +161,25 @@ IF(SQLITE3_FOUND) + ENDIF(SQLITE3_FOUND) + + # DRACO enables geometry compression sometimes used in glTF: ++if(BUILD_WITH_DRACO) ++ include(FindPackageHandleStandardArgs) ++ include(SelectLibraryConfigurations) ++ ++ find_path(DRACO_INCLUDE_DIR draco/core/draco_version.h) ++ find_library(DRACO_LIBRARY_DEBUG NAMES draco dracodec dracoenc libdraco libdracodec libdracoenc NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH REQUIRED) ++ find_library(DRACO_LIBRARY_RELEASE NAMES draco dracodec dracoenc libdraco libdracodec libdracoenc NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH REQUIRED) ++ ++ select_library_configurations(DRACO) ++ ++ set(draco_INCLUDE_DIRS ${DRACO_INCLUDE_DIR}) ++ set(draco_LIBRARIES ${DRACO_LIBRARY}) ++ if(DRACO_LIBRARY) ++ set(draco_FOUND 1) ++ endif() + IF(draco_FOUND) + ADD_DEFINITIONS(-DOSGEARTH_HAVE_DRACO) + ENDIF(draco_FOUND) ++endif() + + # GDAL is the underlying geospatial processing SDK + IF(GDAL_FOUND) diff --git a/ports/osgearth/portfile.cmake b/ports/osgearth/portfile.cmake index 7f8f9be1e3ff10..e10e5f529adf53 100644 --- a/ports/osgearth/portfile.cmake +++ b/ports/osgearth/portfile.cmake @@ -13,12 +13,18 @@ vcpkg_from_github( REF 342fcadf4c8892ba84841cb5b4162bdc51519e3c #version 3.1 SHA512 03378a918306846d2144e545785c783b01e33fa2dd5c77d16d390a275217b6ce7a3a743c35ae99a497b272a7516b055442c0a891bd312cce727a5538b40364f5 HEAD_REF master + PATCHES + find-draco.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + draco BUILD_WITH_DRACO ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS ${FEATURE_OPTIONS} -DOSGEARTH_BUILD_EXAMPLES=OFF -DOSGEARTH_BUILD_TESTS=OFF -DOSGEARTH_BUILD_DOCS=OFF @@ -64,4 +70,4 @@ file(REMOVE_RECURSE ${OSGEARTH_DEBUG_TOOLS}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/${OSG_PLUGINS_SUBDIR}) # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)