vcpkg/ports/seacas/portfile.cmake
Alexander Neumann 9e36a44338
[seacas/vtkm/vtk/paraview] Add/update ports. (#27928)
* [cgns] update to 4.2.0

* [vtk-m] update to 1.6.0

* [vtk] Update to 9.0.1-pv5.9.1
- VTK update to match release version of ParaView

* [ParaView] Update to 5.9.1

* version stuff

* fix automatic svg linkage in static builds

* update qt5-svg

* revisit vtk
- fix build with vtk-m 1.6
- remove unused patches
- remove comments

* bump version

* remove two commented lines

* version stuff

* remove old PR version

* commit stuff

* commit stuff

* update notes

* wip commit

* update paraview

* fix hdf5 patch

* fix patch

* fix patch

* fix portfile

* add mpi feature

* format manifest

* use relativ path

* trace

* retry

* move qml files again

* try with host triplet

* - use VCPKG_CRT_LINKAGE
- use METIS not metis

* fix casing Zlib

* hopefully more fixes on other platforms.

* fix patch

* fix missing ws

* fix typos

* scale down to warning

* revert jsoncpp change
fix zoltan on osx?

* move trace option to failing port

* move trace option to failing port

* Revert "trilinos vcpkg.json changes"

* verdict fix osx build ?

* fix patch

* fix internal find_package call

* also apply correct case for metis

* disable METIS on osx

* vtk-m don't support arm.

* force more features in Ci

* fix missing ,

* more fixes

* more vtk python try and error.

* - paraview python setup same as vtk
- remove openvr from platforms not supporting it
- trace openimageio

* fix case and remove fmt for openimageio.

* trying to fix stuff

* set hash to 0

* [skip actions] add missing module

* WebCore module moved to paraview&python

* fixes

* remove patch in vtk-dicom

* add var to maybe unused

* use correct 5.11 ref instead of the one in release

* Patch cleanup round 1

* remove empty patch parts

* fix vtkm configs

* reintegrate jsoncpp.patch

* fix patch

* add single seacas/kokkos/zoltan ports

* throw out trilinos, zoltan, kokkos
replace trilinos with seacas
make seacas work for dynamic windows

* fix mpi feature

* fix dependency

* retry dep fix

* rename target

* remove double line

* fix target

* fix patch

* retry

* remove cgns config

* fix cgns

* no seacas trace

* lowercase hdf5 target

* fix case of metis

* disable Fortran

* add iotr patch

* add additional config folder

* handel case sensitive Seacas again

* get trace again and force jsoncpp

* update cmake to 3.25.0

* bump port-version

* add patch from vtk upstream

* cleanup, format-manifest

* fix port version

* v db

* opencv4 always inject deps.

* fix test port to not require stuff which is not supported on x86

* Fix HDF5 lookup in opencv4

* only delete bin folder in static builds

* add license field

* v db

* add missing "

* v db

* trace again

* fix rtabmap python dep

* fix openimageio by deleting the find module

* v db

* cr cleanup

* v db

* opencv4 v db due to merge with master. Had to bump port version

* v db

* v db

* v db

* CR comments

* v db for cr comments

* trace theia output

* revert theia trace

* v db

* try without patch

* revert rtabmap changes

* v db after merge

* v db for all
2023-01-19 17:55:56 -08:00

119 lines
4.2 KiB
CMake

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO sandialabs/seacas
REF 47120843900fd7ef845688fa145ebf76a825bc51
SHA512 13677746457edbd4b3619576a6c474f5d8ab2eb24f648fac687e655e3121282b62994575723d18db8d18b42266d219aa4d83344ecff53f5e9a737513a3461180
HEAD_REF master
PATCHES fix_tpl_libs.patch
fix-ioss-includes.patch
deps-and-shared.patch
fix-mpi.patch
)
if(NOT VCPKG_TARGET_IS_OSX)
set(MPI_FEATURES mpi TPL_ENABLE_ParMETIS)
endif()
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
mpi TPL_ENABLE_MPI
# mpi TPL_ENABLE_Pnetcdf # missing Pnetcdf port
${MPI_FEATURES}
)
if(VCPKG_TARGET_IS_WINDOWS)
list(APPEND FEATURE_OPTIONS "-DTPL_ENABLE_DLlib:BOOL=OFF")
endif()
set(tpl_disable_list GTest DataWarp Pamgen X11 CUDA Kokkos Faodel Pnetcdf ADIOS2 Catalyst2)
set(tpl_enable_list Zlib HDF5 Netcdf CGNS Matio fmt Cereal)
if(VCPKG_TARGET_IS_OSX)
list(APPEND tpl_disable_list METIS)
else()
list(APPEND tpl_enable_list METIS)
endif()
set(tpl_options "")
foreach(tpl IN LISTS tpl_disable_list)
list(APPEND tpl_options "-DTPL_ENABLE_${tpl}:BOOL=OFF")
endforeach()
foreach(tpl IN LISTS tpl_enable_list)
list(APPEND tpl_options "-DTPL_ENABLE_${tpl}:BOOL=ON")
endforeach()
set(disabled_projects Chaco Aprepro_lib SuplibC SuplibCpp Nemslice Nemspread Nas2exo Cpup Epu Ejoin Conjoin Aprepro Exo_format)
set(proj_options "")
foreach(proj IN LISTS disabled_projects)
list(APPEND proj_options "-DSeacas_ENABLE_SEACAS${proj}:BOOL=OFF")
endforeach()
set(enabled_projects Ioss Nemesis Exodus)
set(proj_options "")
foreach(proj IN LISTS disabled_projects)
list(APPEND proj_options "-DSeacas_ENABLE_SEACAS${proj}:BOOL=OFF")
endforeach()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
#--trace-expand
${FEATURE_OPTIONS}
-DBUILD_TESTING=OFF
-DSeacas_ENABLE_Zoltan:BOOL=OFF
-DSeacas_ENABLE_SEACAS:BOOL=ON
"-DSeacas_HOSTNAME:STRING=localhost"
"-DSeacas_GENERATE_REPO_VERSION_FILE:BOOL=OFF"
"-DNetcdf_ALLOW_MODERN:BOOL=ON"
"-DSeacas_ENABLE_Fortran:BOOL=OFF"
#"-DCGNS_ALLOW_PREDEFIND:BOOL=NO"
#"-DSeacas_ENABLE_ALL_PACKAGES:BOOL=ON"
${proj_options}
${tpl_options}
)
vcpkg_cmake_install()
set(cmake_config_list ${enabled_projects})
list(TRANSFORM cmake_config_list PREPEND "SEACAS")
list(APPEND cmake_config_list SEACAS)
foreach(cmake_conig IN LISTS cmake_config_list)
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${cmake_conig}" PACKAGE_NAME cmake/${cmake_conig} DO_NOT_DELETE_PARENT_CONFIG_PATH NO_PREFIX_CORRECTION)
endforeach()
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/external_packages" PACKAGE_NAME external_packages DO_NOT_DELETE_PARENT_CONFIG_PATH NO_PREFIX_CORRECTION )
if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/Seacas")
# Case sensitive filesystems will have two Seacas folders
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/Seacas" PACKAGE_NAME cmake/Seacas DO_NOT_DELETE_PARENT_CONFIG_PATH NO_PREFIX_CORRECTION)
endif()
set(tool_names cgns_decomp cth_pressure_map
io_info io_modify io_shell
shell_to_hex skinner sphgen struc_to_unstruc)
vcpkg_copy_tools(TOOL_NAMES ${tool_names} AUTO_CLEAN)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(GLOB remaining_bin_stuff "${CURRENT_PACKAGES_DIR}/bin/*" LIST_DIRECTORIES true)
if(NOT remaining_bin_stuff)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
else()
message(WARNING "remaining_bin_stuff:${remaining_bin_stuff}")
endif()
endif()
# vcpkg really needs: vcpkg_remove_dirs_if_empty(<dirs>)
file(GLOB remaining_cmake_dirs "${CURRENT_PACKAGES_DIR}/lib/cmake/*" LIST_DIRECTORIES true)
if(NOT remaining_cmake_dirs)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/lib/cmake")
else()
message(WARNING "remaining_cmake_dirs:${remaining_cmake_dirs}")
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE "${CURRENT_PACKAGES_DIR}/include/SeacasConfig.cmake")
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright")