vcpkg/ports/vtk-m/portfile.cmake
Alexander Neumann 3efae11c36
[vtkm|vtk|paraview] update ports (#37119)
closes #36801
closes #36253
closes #36044

~~includes #24327 to fix dlib linkage in the osx pipelines.~~ 

Need to look at 
~~#36044~~
~~#36345~~

merge after 
- [x] #37561

---------

Co-authored-by: Alexander Neumann <you@example.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2024-04-29 09:01:01 -04:00

87 lines
3.4 KiB
CMake

# VENDORED DEPENDENCIES!
# TODO: Should be replaced in the future with VCPKG internal versions
# add_subdirectory(thirdparty/diy)
# add_subdirectory(thirdparty/lodepng)
# if(VTKm_ENABLE_LOGGING)
# add_subdirectory(thirdparty/loguru)
# endif()
# add_subdirectory(thirdparty/optionparser)
# add_subdirectory(thirdparty/taotuple)
# add_subdirectory(thirdparty/lcl)
vcpkg_check_features (OUT_FEATURE_OPTIONS OPTIONS
FEATURES
cuda VTKm_ENABLE_CUDA
omp VTKm_ENABLE_OPENMP
tbb VTKm_ENABLE_TBB
mpi VTKm_ENABLE_MPI
double VTKm_USE_DOUBLE_PRECISION
kokkos VTKm_ENABLE_KOKKOS # No port yet
)
if("cuda" IN_LIST FEATURES AND NOT ENV{CUDACXX})
set(ENV{CUDACXX} "$ENV{CUDA_PATH}/bin/nvcc")
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
message(STATUS "Feature CUDA forces static build!")
endif()
set(VCPKG_LIBRARY_LINKAGE "static") # CUDA forces static build.
endif()
list(APPEND OPTIONS
-DVTKm_ENABLE_RENDERING=ON
-DVTKm_ENABLE_DEVELOPER_FLAGS=OFF
-DVTKm_ENABLE_CPACK=OFF
-DVTKm_ENABLE_EXAMPLES=OFF
-DVTKm_ENABLE_TUTORIALS=OFF
-DVTKm_ENABLE_DOCUMENTATION=OFF
-DVTKm_ENABLE_BENCHMARKS=OFF
-DVTKm_USE_DEFAULT_TYPES_FOR_VTK=ON
-DBUILD_TESTING=OFF
-DVTKm_ENABLE_TESTING=OFF
-DVTKm_USE_64BIT_IDS=ON
-DVTKm_ENABLE_HDF5_IO=OFF
-DVTKm_NO_INSTALL_README_LICENSE=ON
-DVTKm_ENABLE_GPU_MPI=OFF
)
# For port customizations on unix systems.
# Please feel free to make these port features if it makes any sense
#list(APPEND OPTIONS -DVTKm_ENABLE_GL_CONTEXT=ON) # or
#list(APPEND OPTIONS -DVTKm_ENABLE_EGL_CONTEXT=ON) # or
#list(APPEND OPTIONS -DVTKm_ENABLE_OSMESA_CONTEXT=ON)
list(APPEND OPTIONS -DBUILD_TESTING=OFF)
vcpkg_from_gitlab(GITLAB_URL "https://gitlab.kitware.com"
OUT_SOURCE_PATH SOURCE_PATH
REPO vtk/vtk-m
REF a057f62e756efc43095e72c5813aaaf2dea36ebb # v2.1.0 Upgrading will most likely break the VTK build
SHA512 fa08bd597e1918d10e7fed9f6b9667fd53f4a14589580e68691aad3cfb240f7de80fa0c5001712f100911c2262b5af3105b8f21da21b945a88e1204ea82b92a6
PATCHES
omp.patch
fix-build.patch
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS ${OPTIONS}
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/vtkm-2.1" PACKAGE_NAME vtkm)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/vtkm/VTKmConfig.cmake"
[[set_and_check(VTKm_CONFIG_DIR "${PACKAGE_PREFIX_DIR}/lib/cmake/vtkm-2.1")]]
[[set_and_check(VTKm_CONFIG_DIR "${PACKAGE_PREFIX_DIR}/share/vtkm")]])
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/vtkm/VTKmConfig.cmake" "${CURRENT_BUILDTREES_DIR}" "not/existing/buildtree")
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig")
file(RENAME "${CURRENT_PACKAGES_DIR}/share/vtkm-2.1/vtkm.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/vtkm.pc")
if(NOT VCPKG_BUILD_TYPE)
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig")
file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/vtkm-2.1/vtkm.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/vtkm.pc")
endif()
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)