2024-06-05 04:35:41 +08:00
vcpkg_download_distfile ( FIX_IMPLICIT_INT_PATCH
U R L S h t t p s : / / g i t h u b . c o m / B r u n o L e v y / g e o g r a m / c o m m i t / 3 8 2 d a 2 d 2 f 0 d 3 9 b f 8 d f 2 f 6 5 0 5 1 c 3 3 8 e 7 e 8 2 7 e 3 1 d b . p a t c h ? f u l l _ i n d e x = 1
F I L E N A M E g e o g r a m - i m p l i c i t - i n i - 3 8 2 d a 2 d 2 f 0 d 3 9 b f 8 d f 2 f 6 5 0 5 1 c 3 3 8 e 7 e 8 2 7 e 3 1 d b . p a t c h
S H A 5 1 2 1 a 8 5 1 9 5 b 7 6 c d 7 1 4 0 f e 8 9 0 8 9 3 b f 1 f 5 7 a 1 f 9 c 3 0 d b c 2 8 6 5 b a b 2 8 b 7 e d a 9 d 9 7 b 9 b a b 5 b e 7 c b c 6 3 8 b 2 4 d 8 d a 4 8 9 a e e 1 e 2 5 e 0 e 7 2 8 9 6 5 5 a d e 1 3 8 9 3 b d c 2 2 5 d 1 b 3 3 2 f 1 d 8 4 5 a 0
)
2021-10-17 03:14:34 +08:00
vcpkg_from_github (
2018-12-14 09:43:20 +08:00
O U T _ S O U R C E _ P A T H S O U R C E _ P A T H
2023-03-25 13:59:15 +08:00
R E P O B r u n o L e v y / g e o g r a m
R E F " v $ { V E R S I O N } "
S H A 5 1 2 a e 3 d 9 5 b e 1 c 5 0 6 1 a c e 9 2 9 2 1 b 3 f c f b 0 0 2 7 d 2 3 c 5 9 5 b 1 3 1 b 0 d 3 1 f 1 7 8 8 a d b e 0 d 8 f 9 2 3 6 7 b e f 7 1 7 3 6 d 6 c 9 3 6 5 0 4 b d 3 7 e b a 5 f c d a e 6 5 8 3 6 9 f 0 3 7 3 4 e 2 3 3 b f 3 e a b 1 4 b c a 6 f 9 e 5
[many ports] improvements for linux/wsl (#6730)
* [many ports] improve compatibility with WSL and mixed case filesystems
* [treehopper] express dependency on libusb, which was not working on non-win32 platforms and is still broken there
* [libharu] add compatibility with non-win32 platforms
* [geogram] fix openblas on linux
[clapack] better integration with linux environment
[visit-struct] put cmake config file in the expected folder
[geogram] remove trailing underscore to enable compatibility with OpenBLAS
* [openblas] playing with underscore, without success
* [openblas/lapack] fix library integration
* [clapack] improve target handling in cmake module
* [openblas] promote self-generated config to default cmake module, otherwise internal ones thinks wrongly that openblas can also solve lapack libs
* [clapack,openblas] improve libraries integration
* [many ports] fix cmake unnecessary target paths, wrong config paths, empty default dependencies, unnecessary [core] tags
* [suitesparse] improve integration with new lapack/openblas mechanism
* [suitesparse] add no underscore postfix also for linux
* [ceres] fix integration with newer openblas/lapack configs
* [aws-c-event-stream] fix regression
* [systemc] fix regression
* [libwebp,geogram] trigger rebuild
* [libwebp,pthread4w] fix regressions
* [glbinding] fix cmake module installation
* [globjects] disentangle unnecessary dependency from qt5
* [jasper] remove broken and unnecessary patches
* [libwebp] fix regression
* [many ports] avoid using BUILD_SHARED_LIBS which is uninitialized in port files
* [clapack] correctly find dlls
* [clapack] use a generic blas as dependency
* [fizz,g2o] restore expected version
* fix mistake
* [many ports] remove WIN32, APPLE and UNIX (again, they keep creeping in) from ports since they are broken and usually break non-win32 ports
* [libressl,openssl] do not try to build one if the other is already installed
* [itk] update ref and patch to avoid regression
* [libressl,openssl] implement full strategy to fix CI
* [libwebp] disable components that are broken on macOS
* [ogre] enable macOS build
* [freeimage,jxrlib,ogre,openexr,protobuf] port patches from #5169
* [ogre] add missing install command
* [ffmpeg] enable wrapper for cmake module
* [ffmpeg] add avresample module finder
* [ffmpeg] improve module detection and exported symbols
* [ffmpeg] add variables to cache
* [thrift] remove unnecessary build option
* [allegro5] fix shared/static inversion
* [protobuf] cleanup
* [libressl] cleanup
* [moos-core] cleanup
* commented features must not be separated from other features, otherwise vcpkg complains
* [itk] fix regression
* [shogun,itk] fix regressions
* [ogre] fix regression
* [opusfile] add compatibility with non-win32
* [itk] fix regression
* [sndfile,libsndfile] remove duplicate, redirect sndfile to libsndfile
* add missing dependencies
* [ismrmrd] fix regression
* [ffmpeg] trigger rebuild
* [clapack,openblas,libogg] fix regressions on macOS
* [libtins] fix regression
* force rebuild windows regressions, unable to reproduce locally
* [mosquitto] enable non-win32 builds
* [json-dto] force rebuild, unable to reproduce regression locally
* [many ports] uniform naming and path length requests
* fix regression
* fix regression
* [ffmpeg] fixes for downstream projects
* clean up - thanks to reviewers
* trigger rebuild of regressions on macOS
* trigger rebuild of regressions on macOS - part2
* Add core back
* Use VCPKG_CONCURRENCY
* Add core back to suitesparse
* Add core back to curl
* Add core back to magnum
* Add core back to magnum
* Add core back to magnum
* Add core back to cgal
2019-06-21 10:11:54 +08:00
P A T C H E S
2021-10-17 03:14:34 +08:00
f i x - v c p k g - i n s t a l l . p a t c h
2024-06-05 04:35:41 +08:00
" $ { F I X _ I M P L I C I T _ I N T _ P A T C H } "
2017-07-25 13:00:02 +08:00
)
2023-03-25 13:59:15 +08:00
#third_party: amgcl
vcpkg_from_github (
O U T _ S O U R C E _ P A T H A M G C L _ S O U R C E _ P A T H
R E P O d d e m i d o v / a m g c l
R E F 8 0 8 3 b 2 3 f b e 6 9 c 4 3 c e e 0 d 4 b c 1 7 e 4 3 3 4 5 7 2 e 2 9 2 c 9 3
S H A 5 1 2 1 b 2 9 8 7 1 a c e 6 8 c 5 3 b 4 6 7 1 1 0 1 2 9 2 1 2 6 1 9 2 9 f 8 b d 6 1 2 f 9 3 b 4 7 d 2 c 5 9 5 2 3 c d 3 d 6 8 3 6 6 9 5 6 f e 1 c 9 e c 8 1 a 9 4 b 3 a a a b 6 3 3 5 7 0 0 1 7 9 9 c 9 e 3 4 a f 7 9 3 7 6 b 9 4 0 f a 6 b 7 a 5 3 c d f 1 3 6 8 9 7
)
#third_party: libMeshb
vcpkg_from_github (
O U T _ S O U R C E _ P A T H L I B M E S H B _ S O U R C E _ P A T H
R E P O L o i c M a r e c h a l / l i b M e s h b
R E F b 4 a 9 1 5 1 3 3 1 7 1 1 9 f f 7 1 a 1 1 8 6 9 0 6 a 0 5 2 d a 0 e 5 3 5 9 1 3
S H A 5 1 2 b f f 3 0 a 2 3 3 c 2 7 4 6 a 4 5 4 d 5 5 2 b e 6 6 f 5 6 5 4 b f 4 a f 9 9 5 d 6 f 1 e b 0 0 a 4 d 2 1 e d 1 0 c 8 6 2 3 4 a 5 b e 4 d 6 f 3 1 2 8 2 6 4 5 8 5 8 e 0 a 8 2 9 b 1 0 f d 9 8 c a d 7 1 8 8 c 6 9 b e 6 5 c d a b b d 1 8 4 7 8 f c 2 6 b a d 1 f
)
#third_party: rply
vcpkg_from_github (
O U T _ S O U R C E _ P A T H R P L Y _ S O U R C E _ P A T H
R E P O d i e g o n e h a b / r p l y
R E F 4 2 9 6 c c 9 1 b 5 c 8 c 2 6 d 4 e 7 d 7 a a c 0 c e e 2 b 1 9 4 f f c 5 8 0 0
S H A 5 1 2 b 2 3 6 2 7 9 d 3 f 0 e 6 e 1 0 6 2 7 0 3 5 5 5 4 1 5 2 3 6 1 8 3 d a 3 1 a 9 e 4 0 c 4 9 d 4 7 8 9 5 4 5 8 6 7 2 5 f 8 d c 6 c 0 5 8 2 a e f 0 d b 7 b 6 0 5 c b 7 9 6 7 c 3 b d 4 a 9 6 d 2 f e 8 e 6 6 0 1 c c 5 6 b 8 a 1 d 5 3 1 2 9 a 2 5 e f a 7 d 1 f 2
)
file ( REMOVE_RECURSE "${SOURCE_PATH}/src/lib/geogram/third_party/amgcl"
" $ { S O U R C E _ P A T H } / s r c / l i b / g e o g r a m / t h i r d _ p a r t y / l i b M e s h b "
" $ { S O U R C E _ P A T H } / s r c / l i b / g e o g r a m / t h i r d _ p a r t y / r p l y " )
file ( RENAME "${AMGCL_SOURCE_PATH}" "${SOURCE_PATH}/src/lib/geogram/third_party/amgcl" )
file ( RENAME "${LIBMESHB_SOURCE_PATH}" "${SOURCE_PATH}/src/lib/geogram/third_party/libMeshb" )
file ( RENAME "${RPLY_SOURCE_PATH}" "${SOURCE_PATH}/src/lib/geogram/third_party/rply" )
2022-10-04 05:01:27 +08:00
file ( COPY "${CURRENT_PORT_DIR}/Config.cmake.in" DESTINATION "${SOURCE_PATH}/cmake" )
2018-12-14 09:43:20 +08:00
2020-08-15 01:25:01 +08:00
vcpkg_check_features ( OUT_FEATURE_OPTIONS FEATURE_OPTIONS
F E A T U R E S
" g r a p h i c s " G E O G R A M _ W I T H _ G R A P H I C S
)
2018-07-04 12:26:54 +08:00
2018-12-14 09:43:20 +08:00
if ( VCPKG_LIBRARY_LINKAGE STREQUAL "static" )
set ( VORPALINE_BUILD_DYNAMIC FALSE )
2020-08-15 01:25:01 +08:00
if ( VCPKG_TARGET_IS_WINDOWS )
2019-05-10 02:53:13 +08:00
set ( VORPALINE_PLATFORM Win-vs-generic )
endif ( )
2020-10-07 00:24:52 +08:00
if ( VCPKG_CRT_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS )
message ( "geogram on Windows with CRT dynamic linkage only supports dynamic library linkage. Building dynamic." )
set ( VCPKG_LIBRARY_LINKAGE dynamic )
set ( VORPALINE_PLATFORM Win-vs-dynamic-generic )
endif ( )
2020-08-15 01:25:01 +08:00
if ( VCPKG_TARGET_IS_LINUX )
2019-05-10 02:53:13 +08:00
message ( "geogram on Linux only supports dynamic library linkage. Building dynamic." )
set ( VCPKG_LIBRARY_LINKAGE dynamic )
set ( VORPALINE_PLATFORM Linux64-gcc-dynamic )
endif ( )
2020-08-15 01:25:01 +08:00
if ( VCPKG_TARGET_IS_OSX )
2019-05-10 02:53:13 +08:00
message ( "geogram on Darwin only supports dynamic library linkage. Building dynamic." )
set ( VCPKG_LIBRARY_LINKAGE dynamic )
set ( VORPALINE_PLATFORM Darwin-clang-dynamic )
endif ( )
2017-07-25 13:00:02 +08:00
else ( )
2018-12-14 09:43:20 +08:00
set ( VORPALINE_BUILD_DYNAMIC TRUE )
2020-08-15 01:25:01 +08:00
if ( VCPKG_TARGET_IS_WINDOWS )
2019-05-10 02:53:13 +08:00
set ( VORPALINE_PLATFORM Win-vs-generic )
endif ( )
2020-08-15 01:25:01 +08:00
if ( VCPKG_TARGET_IS_LINUX )
2019-05-10 02:53:13 +08:00
set ( VORPALINE_PLATFORM Linux64-gcc-dynamic )
endif ( )
2020-08-15 01:25:01 +08:00
if ( VCPKG_TARGET_IS_OSX )
2019-05-10 02:53:13 +08:00
set ( VORPALINE_PLATFORM Darwin-clang-dynamic )
endif ( )
2017-07-25 13:00:02 +08:00
endif ( )
2018-12-14 09:43:20 +08:00
2022-10-04 05:01:27 +08:00
vcpkg_cmake_configure (
S O U R C E _ P A T H " $ { S O U R C E _ P A T H } "
2018-12-14 09:43:20 +08:00
# Geogram cannot be built with ninja because it embeds $(Configuration) in some of the generated paths. These require MSBuild in order to be evaluated.
2022-10-04 05:01:27 +08:00
W I N D O W S _ U S E _ M S B U I L D
2018-12-14 09:43:20 +08:00
O P T I O N S
- D V O R P A L I N E _ B U I L D _ D Y N A M I C = $ { V O R P A L I N E _ B U I L D _ D Y N A M I C }
- D G E O G R A M _ L I B _ O N L Y = O N
- D G E O G R A M _ U S E _ S Y S T E M _ G L F W 3 = O N
- D V O R P A L I N E _ P L A T F O R M = $ { V O R P A L I N E _ P L A T F O R M }
- D G E O G R A M _ W I T H _ V O R P A L I N E = O F F
2020-08-15 01:25:01 +08:00
$ { F E A T U R E _ O P T I O N S }
2018-12-14 09:43:20 +08:00
)
2022-10-04 05:01:27 +08:00
vcpkg_cmake_install ( )
2017-07-25 13:00:02 +08:00
vcpkg_copy_pdbs ( )
2022-10-04 05:01:27 +08:00
vcpkg_cmake_config_fixup ( )
2017-07-25 13:00:02 +08:00
2022-10-04 05:01:27 +08:00
file ( MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share" )
file ( REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/doc" )
file ( REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/doc" )
file ( REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" )
2017-07-25 13:00:02 +08:00
2023-03-25 13:59:15 +08:00
# Remove all empty directories.
function ( auto_clean dir )
file ( GLOB entries "${dir}/*" )
file ( GLOB files LIST_DIRECTORIES false "${dir}/*" )
foreach ( entry IN LISTS entries )
if ( entry IN_LIST files )
continue ( )
endif ( )
file ( GLOB_RECURSE children "${entry}/*" )
if ( children )
auto_clean ( "${entry}" )
else ( )
file ( REMOVE_RECURSE "${entry}" )
endif ( )
endforeach ( )
endfunction ( )
auto_clean ( "${CURRENT_PACKAGES_DIR}/include" )
2020-08-15 01:25:01 +08:00
vcpkg_replace_string (
2022-10-04 05:01:27 +08:00
" $ { C U R R E N T _ P A C K A G E S _ D I R } / s h a r e / g e o g r a m / G e o g r a m T a r g e t s . c m a k e "
2020-08-15 01:25:01 +08:00
[ [ I N T E R F A C E _ I N C L U D E _ D I R E C T O R I E S " / s r c / l i b ; $ { _ I M P O R T _ P R E F I X } / i n c l u d e " ] ]
[ [ I N T E R F A C E _ I N C L U D E _ D I R E C T O R I E S " $ { _ I M P O R T _ P R E F I X } / i n c l u d e " ] ]
)
2019-09-30 04:07:50 +08:00
2017-07-25 13:00:02 +08:00
# Handle copyright
2023-03-25 13:59:15 +08:00
vcpkg_install_copyright ( FILE_LIST "${SOURCE_PATH}/doc/devkit/license.dox" )
2021-10-28 06:19:28 +08:00
vcpkg_fixup_pkgconfig ( )