vcpkg/ports/osgearth/portfile.cmake

102 lines
3.9 KiB
CMake
Raw Normal View History

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO gwaldron/osgearth
REF "osgearth-${VERSION}"
SHA512 f65c31922bebcbf722474a047dc29c8c1ceec9c037b0704811af2627fc2d0a124b6e95888e7d3b9b0e5acc146a88ebf8669e3f864a75a91751c3a4571d05a630
HEAD_REF master
PATCHES
[osg] Cleanup, export unofficial config (#24720) * Revise portfile * Plugins are a default feature; fix disabling * Remove line continuations from pc file vcpkg_fixup_pkgconfig cannot handle it. * Control nvtt plugin via feature * Control dae plugin, not find_package * Control fontconfig via feature Use CMake's (3.14) find module for which vcpkg provides a wrapper. OSG links to Fontconfig::Fontconfig. OSG default is to use Fontconfig except for ios and android. * Control freetype via feature Use CMake's find module for which vcpkg provides a wrapper. OSG links to FREETYPE_LIBRARIES. * Control RestHttpDevice via feature Only this plugin needs boost. * Drop unused liblas dependency * Drop unused coin dependency Coin was meant to be used for the inventor plugin, but this plugin is disabled. * Control sdl1 via feature * Enable apps on linux * Disable apps and docs for debug * Drop example application patch * Use option, not patch, to disable DLL versioning * Fix osg plugin PDB installation * Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * Curl patches are obsolete now. We leverage CURL_LIBRARIES via link-libraries.patch. * Add unofficial config export * Use toolchain's windows version Fixes mingw build. * Avoid extra dependency lookups * Silence warnings about plugin control variables * Define OSG_LIBRARY_STATIC * Revise copying of plugins * Control OpenEXR via feature Unblock uwp. * Allow jasper without opengl * [osgearth] Remove obsolete geos patching The build uses exported geos config. * [osgearth] Serialize linking to avoid OOM errors * [osgearth] Fix minor portfile issues * [osgearth] Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * [osgearth] Use unofficial osg config * [osgearth] Fix lib installation dir * [osgearth] Revise OSGEARTH_LIBRARY_STATIC * [osgearth] Revise find_package patching * [osgearth] Revise copying of plugins * [osgearth] Disable tools for debug variant * [osgearth] Control Blend2D via feature * Update versions * Fix plugin lookup * Update versions * CR request * Update versions * [osgearth] Remove tools from default features * Update versions
2022-06-21 04:49:37 +08:00
link-libraries.patch
find-package.patch
remove-tool-debug-suffix.patch
remove-lerc-gltf.patch
export-plugins.patch
[grpc/protobuf] Update grpc to 1.60.0 and update protobuf to 3.25.1 (#35781) Resolves https://github.com/microsoft/vcpkg/issues/35566 This pr includes https://github.com/microsoft/vcpkg/pull/31159 and https://github.com/microsoft/vcpkg/pull/35399 Ports changed in this pr: Most of these changes stem from the fact that protobuf now depends on abseil and requires c++14 while ports consume protobuf using `target_link_libraries(lib ${Protobuf_LIBRARIES})` instead of `target_link_libraries(lib PUBLIC protobuf::libprotobuf)`. * **abseil** Updated to 03/04/2024 to address MSVC build issue in openvino * **arcus** Updated to 4.13.2 * **braft** Patched to use `find_package(Protobuf` instead of custom FindProtobuf module. also link with `PUBLIC protobuf::libprotobuf)`. * **brpc** Patch several `target_link_library` calls to include `PUBLIC` instead of nothing. Patch some warnings that are treated as errors by some OSX compiler. Patch usage of changed protobuf features most importantly removal of `SetLogHandler`, tbd whether this patch is acceptable with upstream. * **cld3** Use CONFIG to find protobuf to propagate dependent abseil libs and cxx14 correctly. * **ecal** Use CONFIG to find protobuf. Use PUBLIC when linking it. * **gamenetworkingsockets** Add `-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=on` for protobuf. * **gz-transport12** Update to fix usage of removed protobuf features. * **ignition-msgs1/5/6** Remove protobuf version check which is confused by the duplicate versioning scheme (v25.1 vs. 3.25.1 vs 4.x). Why are we even maintaining this no longer maintained major version of this port? I would welcome a more strict policy on removing ports/adding them to ci.baseline.txt * **ignition-transport4/8/9** Same as above + cherry-pick a protobuf deprecation patch. * **libprotobuf-mutator** Cherry-pick two commits to address altered protobuf functionality. Add CONFIG and PUBLIC to protobuf handling in CMake. * **marble** Explicitly set protobuf to not found since it is not part of the vcpkg.json but is made available transitively but another dependency. * **mysql-connector-cpp** Several CMake changes and removal of protobuf::SetLogHandler patch. * **openvino** Find protobuf using CONFIG * **osgearth** Link libraries using PUBLIC and link with protobuf::libprotobuf instead of Protobuf_LIBRARIES * **paraview** Find protobuf using CONFIG and remove version check * **pulsar-client-cpp** Add protobuf linkage to PULSAR_OBJECT_LIB. Simplify protoc patch. Remove -Werror. * **shogun** Update and patch as much as possible. Users are required to override bitsery version to 4.x to use shogun since it does not support 5.x provided by vcpkg. Therefore add shogun to ci.baseline.txt. * **srpc** Update and fix static crt linkage. Patch protobuf linkage and remove hardcoded `-std=c++11` flag. Protobuf requires c++14 and CMake does not recognize the hardcoded c++11 flag and will therefore not add a c++14 flag when the compiler uses c++14 by default. * **upb** Update to align version with protobuf/grpc and use new github repo. Patch usual CMake mess (they do not support CMake officially) which should probably be `unofficial-upbConfig.cmake` but I didn't dig into downstream implications so I kept it at `upbConfig.cmake` as before. * **utf8-range** Update to allign version with protobuf.
2024-06-22 04:39:50 +08:00
protobuf.patch
blend2d.patch
)
if("tools" IN_LIST FEATURES)
message(STATUS "Downloading submodules")
# Download submodules from github manually since vpckg doesn't support submodules natively.
# IMGUI
#osgEarth is currently using imgui docking branch for osgearth_imgui example
vcpkg_from_github(
OUT_SOURCE_PATH IMGUI_SOURCE_PATH
REPO ocornut/imgui
REF 9e8e5ac36310607012e551bb04633039c2125c87 #docking branch
SHA512 1f1f743833c9a67b648922f56a638a11683b02765d86f14a36bc6c242cc524c4c5c5c0b7356b8053eb923fafefc53f4c116b21fb3fade7664554a1ad3b25e5ff
HEAD_REF master
)
# Remove exisiting folder in case it was not cleaned
file(REMOVE_RECURSE "${SOURCE_PATH}/src/third_party/imgui")
# Copy the submodules to the right place
file(COPY "${IMGUI_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/third_party/imgui")
endif()
[osg] Cleanup, export unofficial config (#24720) * Revise portfile * Plugins are a default feature; fix disabling * Remove line continuations from pc file vcpkg_fixup_pkgconfig cannot handle it. * Control nvtt plugin via feature * Control dae plugin, not find_package * Control fontconfig via feature Use CMake's (3.14) find module for which vcpkg provides a wrapper. OSG links to Fontconfig::Fontconfig. OSG default is to use Fontconfig except for ios and android. * Control freetype via feature Use CMake's find module for which vcpkg provides a wrapper. OSG links to FREETYPE_LIBRARIES. * Control RestHttpDevice via feature Only this plugin needs boost. * Drop unused liblas dependency * Drop unused coin dependency Coin was meant to be used for the inventor plugin, but this plugin is disabled. * Control sdl1 via feature * Enable apps on linux * Disable apps and docs for debug * Drop example application patch * Use option, not patch, to disable DLL versioning * Fix osg plugin PDB installation * Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * Curl patches are obsolete now. We leverage CURL_LIBRARIES via link-libraries.patch. * Add unofficial config export * Use toolchain's windows version Fixes mingw build. * Avoid extra dependency lookups * Silence warnings about plugin control variables * Define OSG_LIBRARY_STATIC * Revise copying of plugins * Control OpenEXR via feature Unblock uwp. * Allow jasper without opengl * [osgearth] Remove obsolete geos patching The build uses exported geos config. * [osgearth] Serialize linking to avoid OOM errors * [osgearth] Fix minor portfile issues * [osgearth] Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * [osgearth] Use unofficial osg config * [osgearth] Fix lib installation dir * [osgearth] Revise OSGEARTH_LIBRARY_STATIC * [osgearth] Revise find_package patching * [osgearth] Revise copying of plugins * [osgearth] Disable tools for debug variant * [osgearth] Control Blend2D via feature * Update versions * Fix plugin lookup * Update versions * CR request * Update versions * [osgearth] Remove tools from default features * Update versions
2022-06-21 04:49:37 +08:00
file(REMOVE
"${SOURCE_PATH}/CMakeModules/FindBlend2D.cmake"
"${SOURCE_PATH}/CMakeModules/FindGEOS.cmake"
"${SOURCE_PATH}/CMakeModules/FindLibZip.cmake"
"${SOURCE_PATH}/CMakeModules/FindOSG.cmake"
"${SOURCE_PATH}/CMakeModules/FindSqlite3.cmake"
"${SOURCE_PATH}/CMakeModules/FindWEBP.cmake"
[osg] Cleanup, export unofficial config (#24720) * Revise portfile * Plugins are a default feature; fix disabling * Remove line continuations from pc file vcpkg_fixup_pkgconfig cannot handle it. * Control nvtt plugin via feature * Control dae plugin, not find_package * Control fontconfig via feature Use CMake's (3.14) find module for which vcpkg provides a wrapper. OSG links to Fontconfig::Fontconfig. OSG default is to use Fontconfig except for ios and android. * Control freetype via feature Use CMake's find module for which vcpkg provides a wrapper. OSG links to FREETYPE_LIBRARIES. * Control RestHttpDevice via feature Only this plugin needs boost. * Drop unused liblas dependency * Drop unused coin dependency Coin was meant to be used for the inventor plugin, but this plugin is disabled. * Control sdl1 via feature * Enable apps on linux * Disable apps and docs for debug * Drop example application patch * Use option, not patch, to disable DLL versioning * Fix osg plugin PDB installation * Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * Curl patches are obsolete now. We leverage CURL_LIBRARIES via link-libraries.patch. * Add unofficial config export * Use toolchain's windows version Fixes mingw build. * Avoid extra dependency lookups * Silence warnings about plugin control variables * Define OSG_LIBRARY_STATIC * Revise copying of plugins * Control OpenEXR via feature Unblock uwp. * Allow jasper without opengl * [osgearth] Remove obsolete geos patching The build uses exported geos config. * [osgearth] Serialize linking to avoid OOM errors * [osgearth] Fix minor portfile issues * [osgearth] Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * [osgearth] Use unofficial osg config * [osgearth] Fix lib installation dir * [osgearth] Revise OSGEARTH_LIBRARY_STATIC * [osgearth] Revise find_package patching * [osgearth] Revise copying of plugins * [osgearth] Disable tools for debug variant * [osgearth] Control Blend2D via feature * Update versions * Fix plugin lookup * Update versions * CR request * Update versions * [osgearth] Remove tools from default features * Update versions
2022-06-21 04:49:37 +08:00
"${SOURCE_PATH}/src/osgEarth/tinyxml.h" # https://github.com/gwaldron/osgearth/issues/1002
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
[osg] Cleanup, export unofficial config (#24720) * Revise portfile * Plugins are a default feature; fix disabling * Remove line continuations from pc file vcpkg_fixup_pkgconfig cannot handle it. * Control nvtt plugin via feature * Control dae plugin, not find_package * Control fontconfig via feature Use CMake's (3.14) find module for which vcpkg provides a wrapper. OSG links to Fontconfig::Fontconfig. OSG default is to use Fontconfig except for ios and android. * Control freetype via feature Use CMake's find module for which vcpkg provides a wrapper. OSG links to FREETYPE_LIBRARIES. * Control RestHttpDevice via feature Only this plugin needs boost. * Drop unused liblas dependency * Drop unused coin dependency Coin was meant to be used for the inventor plugin, but this plugin is disabled. * Control sdl1 via feature * Enable apps on linux * Disable apps and docs for debug * Drop example application patch * Use option, not patch, to disable DLL versioning * Fix osg plugin PDB installation * Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * Curl patches are obsolete now. We leverage CURL_LIBRARIES via link-libraries.patch. * Add unofficial config export * Use toolchain's windows version Fixes mingw build. * Avoid extra dependency lookups * Silence warnings about plugin control variables * Define OSG_LIBRARY_STATIC * Revise copying of plugins * Control OpenEXR via feature Unblock uwp. * Allow jasper without opengl * [osgearth] Remove obsolete geos patching The build uses exported geos config. * [osgearth] Serialize linking to avoid OOM errors * [osgearth] Fix minor portfile issues * [osgearth] Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * [osgearth] Use unofficial osg config * [osgearth] Fix lib installation dir * [osgearth] Revise OSGEARTH_LIBRARY_STATIC * [osgearth] Revise find_package patching * [osgearth] Revise copying of plugins * [osgearth] Disable tools for debug variant * [osgearth] Control Blend2D via feature * Update versions * Fix plugin lookup * Update versions * CR request * Update versions * [osgearth] Remove tools from default features * Update versions
2022-06-21 04:49:37 +08:00
FEATURES
tools OSGEARTH_BUILD_TOOLS
blend2d WITH_BLEND2D
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
[osg] Cleanup, export unofficial config (#24720) * Revise portfile * Plugins are a default feature; fix disabling * Remove line continuations from pc file vcpkg_fixup_pkgconfig cannot handle it. * Control nvtt plugin via feature * Control dae plugin, not find_package * Control fontconfig via feature Use CMake's (3.14) find module for which vcpkg provides a wrapper. OSG links to Fontconfig::Fontconfig. OSG default is to use Fontconfig except for ios and android. * Control freetype via feature Use CMake's find module for which vcpkg provides a wrapper. OSG links to FREETYPE_LIBRARIES. * Control RestHttpDevice via feature Only this plugin needs boost. * Drop unused liblas dependency * Drop unused coin dependency Coin was meant to be used for the inventor plugin, but this plugin is disabled. * Control sdl1 via feature * Enable apps on linux * Disable apps and docs for debug * Drop example application patch * Use option, not patch, to disable DLL versioning * Fix osg plugin PDB installation * Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * Curl patches are obsolete now. We leverage CURL_LIBRARIES via link-libraries.patch. * Add unofficial config export * Use toolchain's windows version Fixes mingw build. * Avoid extra dependency lookups * Silence warnings about plugin control variables * Define OSG_LIBRARY_STATIC * Revise copying of plugins * Control OpenEXR via feature Unblock uwp. * Allow jasper without opengl * [osgearth] Remove obsolete geos patching The build uses exported geos config. * [osgearth] Serialize linking to avoid OOM errors * [osgearth] Fix minor portfile issues * [osgearth] Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * [osgearth] Use unofficial osg config * [osgearth] Fix lib installation dir * [osgearth] Revise OSGEARTH_LIBRARY_STATIC * [osgearth] Revise find_package patching * [osgearth] Revise copying of plugins * [osgearth] Disable tools for debug variant * [osgearth] Control Blend2D via feature * Update versions * Fix plugin lookup * Update versions * CR request * Update versions * [osgearth] Remove tools from default features * Update versions
2022-06-21 04:49:37 +08:00
OPTIONS
${FEATURE_OPTIONS}
-DLIB_POSTFIX=
-DOSGEARTH_BUILD_SHARED_LIBS=${BUILD_SHARED}
-DOSGEARTH_BUILD_EXAMPLES=OFF
-DOSGEARTH_BUILD_TESTS=OFF
-DOSGEARTH_BUILD_DOCS=OFF
-DOSGEARTH_BUILD_PROCEDURAL_NODEKIT=OFF
-DOSGEARTH_BUILD_TRITON_NODEKIT=OFF
-DOSGEARTH_BUILD_SILVERLINING_NODEKIT=OFF
-DWITH_EXTERNAL_TINYXML=ON
[osg] Cleanup, export unofficial config (#24720) * Revise portfile * Plugins are a default feature; fix disabling * Remove line continuations from pc file vcpkg_fixup_pkgconfig cannot handle it. * Control nvtt plugin via feature * Control dae plugin, not find_package * Control fontconfig via feature Use CMake's (3.14) find module for which vcpkg provides a wrapper. OSG links to Fontconfig::Fontconfig. OSG default is to use Fontconfig except for ios and android. * Control freetype via feature Use CMake's find module for which vcpkg provides a wrapper. OSG links to FREETYPE_LIBRARIES. * Control RestHttpDevice via feature Only this plugin needs boost. * Drop unused liblas dependency * Drop unused coin dependency Coin was meant to be used for the inventor plugin, but this plugin is disabled. * Control sdl1 via feature * Enable apps on linux * Disable apps and docs for debug * Drop example application patch * Use option, not patch, to disable DLL versioning * Fix osg plugin PDB installation * Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * Curl patches are obsolete now. We leverage CURL_LIBRARIES via link-libraries.patch. * Add unofficial config export * Use toolchain's windows version Fixes mingw build. * Avoid extra dependency lookups * Silence warnings about plugin control variables * Define OSG_LIBRARY_STATIC * Revise copying of plugins * Control OpenEXR via feature Unblock uwp. * Allow jasper without opengl * [osgearth] Remove obsolete geos patching The build uses exported geos config. * [osgearth] Serialize linking to avoid OOM errors * [osgearth] Fix minor portfile issues * [osgearth] Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * [osgearth] Use unofficial osg config * [osgearth] Fix lib installation dir * [osgearth] Revise OSGEARTH_LIBRARY_STATIC * [osgearth] Revise find_package patching * [osgearth] Revise copying of plugins * [osgearth] Disable tools for debug variant * [osgearth] Control Blend2D via feature * Update versions * Fix plugin lookup * Update versions * CR request * Update versions * [osgearth] Remove tools from default features * Update versions
2022-06-21 04:49:37 +08:00
-DCMAKE_JOB_POOL_LINK=console # Serialize linking to avoid OOM
OPTIONS_DEBUG
-DOSGEARTH_BUILD_TOOLS=OFF
[grpc/protobuf] Update grpc to 1.60.0 and update protobuf to 3.25.1 (#35781) Resolves https://github.com/microsoft/vcpkg/issues/35566 This pr includes https://github.com/microsoft/vcpkg/pull/31159 and https://github.com/microsoft/vcpkg/pull/35399 Ports changed in this pr: Most of these changes stem from the fact that protobuf now depends on abseil and requires c++14 while ports consume protobuf using `target_link_libraries(lib ${Protobuf_LIBRARIES})` instead of `target_link_libraries(lib PUBLIC protobuf::libprotobuf)`. * **abseil** Updated to 03/04/2024 to address MSVC build issue in openvino * **arcus** Updated to 4.13.2 * **braft** Patched to use `find_package(Protobuf` instead of custom FindProtobuf module. also link with `PUBLIC protobuf::libprotobuf)`. * **brpc** Patch several `target_link_library` calls to include `PUBLIC` instead of nothing. Patch some warnings that are treated as errors by some OSX compiler. Patch usage of changed protobuf features most importantly removal of `SetLogHandler`, tbd whether this patch is acceptable with upstream. * **cld3** Use CONFIG to find protobuf to propagate dependent abseil libs and cxx14 correctly. * **ecal** Use CONFIG to find protobuf. Use PUBLIC when linking it. * **gamenetworkingsockets** Add `-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=on` for protobuf. * **gz-transport12** Update to fix usage of removed protobuf features. * **ignition-msgs1/5/6** Remove protobuf version check which is confused by the duplicate versioning scheme (v25.1 vs. 3.25.1 vs 4.x). Why are we even maintaining this no longer maintained major version of this port? I would welcome a more strict policy on removing ports/adding them to ci.baseline.txt * **ignition-transport4/8/9** Same as above + cherry-pick a protobuf deprecation patch. * **libprotobuf-mutator** Cherry-pick two commits to address altered protobuf functionality. Add CONFIG and PUBLIC to protobuf handling in CMake. * **marble** Explicitly set protobuf to not found since it is not part of the vcpkg.json but is made available transitively but another dependency. * **mysql-connector-cpp** Several CMake changes and removal of protobuf::SetLogHandler patch. * **openvino** Find protobuf using CONFIG * **osgearth** Link libraries using PUBLIC and link with protobuf::libprotobuf instead of Protobuf_LIBRARIES * **paraview** Find protobuf using CONFIG and remove version check * **pulsar-client-cpp** Add protobuf linkage to PULSAR_OBJECT_LIB. Simplify protoc patch. Remove -Werror. * **shogun** Update and patch as much as possible. Users are required to override bitsery version to 4.x to use shogun since it does not support 5.x provided by vcpkg. Therefore add shogun to ci.baseline.txt. * **srpc** Update and fix static crt linkage. Patch protobuf linkage and remove hardcoded `-std=c++11` flag. Protobuf requires c++14 and CMake does not recognize the hardcoded c++11 flag and will therefore not add a c++14 flag when the compiler uses c++14 by default. * **upb** Update to align version with protobuf/grpc and use new github repo. Patch usual CMake mess (they do not support CMake officially) which should probably be `unofficial-upbConfig.cmake` but I didn't dig into downstream implications so I kept it at `upbConfig.cmake` as before. * **utf8-range** Update to allign version with protobuf.
2024-06-22 04:39:50 +08:00
MAYBE_UNUSED_VARIABLES
LIB_POSTFIX
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH cmake/)
[osg] Cleanup, export unofficial config (#24720) * Revise portfile * Plugins are a default feature; fix disabling * Remove line continuations from pc file vcpkg_fixup_pkgconfig cannot handle it. * Control nvtt plugin via feature * Control dae plugin, not find_package * Control fontconfig via feature Use CMake's (3.14) find module for which vcpkg provides a wrapper. OSG links to Fontconfig::Fontconfig. OSG default is to use Fontconfig except for ios and android. * Control freetype via feature Use CMake's find module for which vcpkg provides a wrapper. OSG links to FREETYPE_LIBRARIES. * Control RestHttpDevice via feature Only this plugin needs boost. * Drop unused liblas dependency * Drop unused coin dependency Coin was meant to be used for the inventor plugin, but this plugin is disabled. * Control sdl1 via feature * Enable apps on linux * Disable apps and docs for debug * Drop example application patch * Use option, not patch, to disable DLL versioning * Fix osg plugin PDB installation * Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * Curl patches are obsolete now. We leverage CURL_LIBRARIES via link-libraries.patch. * Add unofficial config export * Use toolchain's windows version Fixes mingw build. * Avoid extra dependency lookups * Silence warnings about plugin control variables * Define OSG_LIBRARY_STATIC * Revise copying of plugins * Control OpenEXR via feature Unblock uwp. * Allow jasper without opengl * [osgearth] Remove obsolete geos patching The build uses exported geos config. * [osgearth] Serialize linking to avoid OOM errors * [osgearth] Fix minor portfile issues * [osgearth] Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * [osgearth] Use unofficial osg config * [osgearth] Fix lib installation dir * [osgearth] Revise OSGEARTH_LIBRARY_STATIC * [osgearth] Revise find_package patching * [osgearth] Revise copying of plugins * [osgearth] Disable tools for debug variant * [osgearth] Control Blend2D via feature * Update versions * Fix plugin lookup * Update versions * CR request * Update versions * [osgearth] Remove tools from default features * Update versions
2022-06-21 04:49:37 +08:00
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/osgEarth/Export" "defined( OSGEARTH_LIBRARY_STATIC )" "1")
endif()
[osg] Cleanup, export unofficial config (#24720) * Revise portfile * Plugins are a default feature; fix disabling * Remove line continuations from pc file vcpkg_fixup_pkgconfig cannot handle it. * Control nvtt plugin via feature * Control dae plugin, not find_package * Control fontconfig via feature Use CMake's (3.14) find module for which vcpkg provides a wrapper. OSG links to Fontconfig::Fontconfig. OSG default is to use Fontconfig except for ios and android. * Control freetype via feature Use CMake's find module for which vcpkg provides a wrapper. OSG links to FREETYPE_LIBRARIES. * Control RestHttpDevice via feature Only this plugin needs boost. * Drop unused liblas dependency * Drop unused coin dependency Coin was meant to be used for the inventor plugin, but this plugin is disabled. * Control sdl1 via feature * Enable apps on linux * Disable apps and docs for debug * Drop example application patch * Use option, not patch, to disable DLL versioning * Fix osg plugin PDB installation * Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * Curl patches are obsolete now. We leverage CURL_LIBRARIES via link-libraries.patch. * Add unofficial config export * Use toolchain's windows version Fixes mingw build. * Avoid extra dependency lookups * Silence warnings about plugin control variables * Define OSG_LIBRARY_STATIC * Revise copying of plugins * Control OpenEXR via feature Unblock uwp. * Allow jasper without opengl * [osgearth] Remove obsolete geos patching The build uses exported geos config. * [osgearth] Serialize linking to avoid OOM errors * [osgearth] Fix minor portfile issues * [osgearth] Prefer <Pkg>_LIBRARIES for linking <Pkg>_LIBRARIES carries debug+release config and transitive usage requirements. * [osgearth] Use unofficial osg config * [osgearth] Fix lib installation dir * [osgearth] Revise OSGEARTH_LIBRARY_STATIC * [osgearth] Revise find_package patching * [osgearth] Revise copying of plugins * [osgearth] Disable tools for debug variant * [osgearth] Control Blend2D via feature * Update versions * Fix plugin lookup * Update versions * CR request * Update versions * [osgearth] Remove tools from default features * Update versions
2022-06-21 04:49:37 +08:00
set(osg_plugin_pattern "${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}osgdb*${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}")
if("tools" IN_LIST FEATURES)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
file(GLOB osg_plugins "${CURRENT_PACKAGES_DIR}/plugins/${osg_plugins_subdir}/${osg_plugin_pattern}")
file(INSTALL ${osg_plugins} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${osg_plugins_subdir}")
if(NOT VCPKG_BUILD_TYPE)
file(GLOB osg_plugins "${CURRENT_PACKAGES_DIR}/debug/plugins/${osg_plugins_subdir}/${osg_plugin_pattern}")
file(INSTALL ${osg_plugins} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/${osg_plugins_subdir}")
endif()
endif()
vcpkg_copy_tools(TOOL_NAMES osgearth_3pv osgearth_atlas osgearth_bakefeaturetiles osgearth_boundarygen
osgearth_clamp osgearth_conv osgearth_imgui osgearth_tfs osgearth_toc osgearth_version osgearth_viewer
osgearth_createtile osgearth_mvtindex
AUTO_CLEAN
)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug")
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
[grpc/protobuf] Update grpc to 1.60.0 and update protobuf to 3.25.1 (#35781) Resolves https://github.com/microsoft/vcpkg/issues/35566 This pr includes https://github.com/microsoft/vcpkg/pull/31159 and https://github.com/microsoft/vcpkg/pull/35399 Ports changed in this pr: Most of these changes stem from the fact that protobuf now depends on abseil and requires c++14 while ports consume protobuf using `target_link_libraries(lib ${Protobuf_LIBRARIES})` instead of `target_link_libraries(lib PUBLIC protobuf::libprotobuf)`. * **abseil** Updated to 03/04/2024 to address MSVC build issue in openvino * **arcus** Updated to 4.13.2 * **braft** Patched to use `find_package(Protobuf` instead of custom FindProtobuf module. also link with `PUBLIC protobuf::libprotobuf)`. * **brpc** Patch several `target_link_library` calls to include `PUBLIC` instead of nothing. Patch some warnings that are treated as errors by some OSX compiler. Patch usage of changed protobuf features most importantly removal of `SetLogHandler`, tbd whether this patch is acceptable with upstream. * **cld3** Use CONFIG to find protobuf to propagate dependent abseil libs and cxx14 correctly. * **ecal** Use CONFIG to find protobuf. Use PUBLIC when linking it. * **gamenetworkingsockets** Add `-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=on` for protobuf. * **gz-transport12** Update to fix usage of removed protobuf features. * **ignition-msgs1/5/6** Remove protobuf version check which is confused by the duplicate versioning scheme (v25.1 vs. 3.25.1 vs 4.x). Why are we even maintaining this no longer maintained major version of this port? I would welcome a more strict policy on removing ports/adding them to ci.baseline.txt * **ignition-transport4/8/9** Same as above + cherry-pick a protobuf deprecation patch. * **libprotobuf-mutator** Cherry-pick two commits to address altered protobuf functionality. Add CONFIG and PUBLIC to protobuf handling in CMake. * **marble** Explicitly set protobuf to not found since it is not part of the vcpkg.json but is made available transitively but another dependency. * **mysql-connector-cpp** Several CMake changes and removal of protobuf::SetLogHandler patch. * **openvino** Find protobuf using CONFIG * **osgearth** Link libraries using PUBLIC and link with protobuf::libprotobuf instead of Protobuf_LIBRARIES * **paraview** Find protobuf using CONFIG and remove version check * **pulsar-client-cpp** Add protobuf linkage to PULSAR_OBJECT_LIB. Simplify protoc patch. Remove -Werror. * **shogun** Update and patch as much as possible. Users are required to override bitsery version to 4.x to use shogun since it does not support 5.x provided by vcpkg. Therefore add shogun to ci.baseline.txt. * **srpc** Update and fix static crt linkage. Patch protobuf linkage and remove hardcoded `-std=c++11` flag. Protobuf requires c++14 and CMake does not recognize the hardcoded c++11 flag and will therefore not add a c++14 flag when the compiler uses c++14 by default. * **upb** Update to align version with protobuf/grpc and use new github repo. Patch usual CMake mess (they do not support CMake officially) which should probably be `unofficial-upbConfig.cmake` but I didn't dig into downstream implications so I kept it at `upbConfig.cmake` as before. * **utf8-range** Update to allign version with protobuf.
2024-06-22 04:39:50 +08:00
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")