Skip to content
Snippets Groups Projects
Commit a16e5da0 authored by Ben Boeckel's avatar Ben Boeckel Committed by Kitware Robot
Browse files

Merge topic 'test-libraries-loadable' into release


e7ac1bb0 tests: add a test to make sure all libraries are loadable on Linux
bbff1312 gitlab-ci: update the Linux testing image to contain `file`
c88dcd69 ci: add `file` to the testing image
afe003cc superbuild: add API to test that Linux libraries are loadable
c4ed377d cdi: add rpath entries for libraries
2a09a829 med{coupling,file,reader}: add rpath entries for libraries
4b1f91c5 visrtx: add rpath entries to libraries
b4e4c03a geotiff: add rpath entries to libraries
...

Acked-by: default avatarKitware Robot <kwrobot@kitware.com>
Merge-request: !1154
parents 94e145bf e7ac1bb0
No related branches found
No related tags found
No related merge requests found
Pipeline #381231 failed
set(USE_NONFREE_COMPONENTS ON CACHE BOOL "")
set(BUILD_TESTING ON CACHE BOOL "")
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "linux")
set(FILE_COMMAND "/usr/bin/file" CACHE FILEPATH "")
endif ()
# The new Mesa has issues with back screens when rendering. See
# paraview/paraview#22152.
set(mesa_SOURCE_SELECTION "21.2.1" CACHE STRING "")
# Build LLVM as static to reduce the number of shared libraries needed.
set(llvm_BUILD_SHARED_LIBS "OFF" CACHE STRING "")
function (suppress_project name)
set("SUPPRESS_${name}_OUTPUT" ON CACHE BOOL "")
endfunction ()
......
......@@ -5,5 +5,5 @@ RUN dnf install --setopt=install_weak_deps=False -y \
/usr/bin/glxinfo git mesa-dri-drivers mesa-libGL* \
libXcursor-devel libxcrypt-compat libxkbcommon \
libxkbcommon-x11 xcb-util-image xcb-util-wm xcb-util xcb-util-image \
xcb-util-keysyms xcb-util-renderutil \
xcb-util-keysyms xcb-util-renderutil file \
&& dnf clean all
......@@ -42,7 +42,7 @@
CMAKE_CONFIGURATION: linux_osmesa_static
.fedora38:
image: "kitware/paraview:ci-superbuild-fedora38-20230810"
image: "kitware/paraview:ci-superbuild-fedora38-20231215"
variables:
GIT_SUBMODULE_STRATEGY: none
......
......@@ -18,3 +18,7 @@ superbuild_add_project(cdi
INSTALL_COMMAND
$(MAKE) install
BUILD_IN_SOURCE 1)
if (NOT APPLE AND UNIX)
superbuild_append_flags(ld_flags "-Wl,-rpath,<INSTALL_DIR>/lib" PROJECT_ONLY)
endif ()
set(catalyst_options)
if (UNIX AND NOT APPLE)
list(APPEND catalyst_options
-DCMAKE_INSTALL_RPATH:STRING=<INSTALL_DIR>/lib)
endif ()
superbuild_add_project(catalyst
CAN_USE_SYSTEM
DEPENDS
......@@ -16,4 +22,5 @@ superbuild_add_project(catalyst
-DCATALYST_BUILD_TESTING:BOOL=OFF
-DCATALYST_WRAP_PYTHON:BOOL=${numpy_enabled} # numpy is required by python wrappings on conduit
-DCATALYST_WRAP_FORTRAN:BOOL=OFF
-DCATALYST_USE_MPI:STRING=${mpi_enabled})
-DCATALYST_USE_MPI:STRING=${mpi_enabled}
${catalyst_options})
set(geotiff_options)
if (UNIX AND NOT APPLE)
list(APPEND geotiff_options
-DCMAKE_INSTALL_RPATH:STRING=<INSTALL_DIR>/lib)
endif ()
superbuild_add_project(geotiff
DEPENDS tiff zlib proj
LICENSE_FILES
......@@ -7,7 +13,8 @@ superbuild_add_project(geotiff
-DCMAKE_INSTALL_NAME_DIR:PATH=<INSTALL_DIR>/lib
-DWITH_TIFF:BOOL=${tiff_enabled}
-DWITH_ZLIB:BOOL=${zlib_enabled}
-DWITH_UTILITIES:BOOL=OFF)
-DWITH_UTILITIES:BOOL=OFF
${geotiff_options})
# GeoTIFF doesn't handle tiff's generated CMake package configuration well.
# https://github.com/OSGeo/libgeotiff/issues/20
......
set(medcoupling_options)
if (UNIX AND NOT APPLE)
list(APPEND medcoupling_options
-DCMAKE_INSTALL_RPATH:STRING=<INSTALL_DIR>/lib)
endif ()
superbuild_add_project(medcoupling
DEPENDS medfile medconfiguration boost
DEPENDS_OPTIONAL mpi
......@@ -14,6 +20,7 @@ superbuild_add_project(medcoupling
-DMEDCOUPLING_INSTALL_LIBS:PATH=lib
-DSALOME_USE_MPI:BOOL=${mpi_enabled}
-DMEDCOUPLING_MEDLOADER_USE_XDR:BOOL=OFF
${medcoupling_options}
)
superbuild_apply_patch(medcoupling fix-cmake-option-usage
......
set(medfile_options)
if (UNIX AND NOT APPLE)
list(APPEND medfile_options
-DCMAKE_INSTALL_RPATH:STRING=<INSTALL_DIR>/lib)
endif ()
superbuild_add_project(medfile
DEPENDS hdf5
DEPENDS_OPTIONAL mpi
......@@ -8,6 +14,7 @@ superbuild_add_project(medfile
-DMEDFILE_INSTALL_DOC:BOOL=OFF
-DMEDFILE_BUILD_TESTS:BOOL=OFF
-DMEDFILE_USE_MPI:BOOL=${mpi_enabled}
${medfile_options}
)
superbuild_apply_patch(medfile remove-tools-compilation
......
set(medreader_options)
if (UNIX AND NOT APPLE)
list(APPEND medreader_options
-DCMAKE_INSTALL_RPATH:STRING=<INSTALL_DIR>/lib)
endif ()
superbuild_add_project(medreader
DEPENDS medfile medconfiguration medcoupling paraview
DEPENDS_OPTIONAL mpi qt5
......@@ -10,6 +16,7 @@ superbuild_add_project(medreader
-DSALOME_USE_MPI:BOOL=${mpi_enabled}
-DCMAKE_INSTALL_LIBDIR:PATH=lib
-DBoost_USE_STATIC_LIBS:BOOL=OFF
${medreader_options}
)
superbuild_apply_patch(medreader install-medloaderforpv-in-correct-directory
......
set(visrtx_options)
if (UNIX AND NOT APPLE)
list(APPEND visrtx_options
-DCMAKE_INSTALL_RPATH:STRING=<INSTALL_DIR>/lib)
endif ()
superbuild_add_project(visrtx
DEPENDS nvidiamdl nvidiaoptix
LICENSE_FILES
......@@ -7,7 +13,8 @@ superbuild_add_project(visrtx
-DCMAKE_MACOSX_RPATH:BOOL=FALSE
-DCMAKE_INSTALL_NAME_DIR:PATH=<INSTALL_DIR>/lib
-DCMAKE_INSTALL_LIBDIR:STRING=lib
-DVISRTX_BUILD_SAMPLE:BOOL=OFF)
-DVISRTX_BUILD_SAMPLE:BOOL=OFF
${visrtx_options})
superbuild_apply_patch(visrtx cuda-11
"Support CUDA 11")
......
set(vrpn_depends)
set(vrpn_options)
if (UNIX AND NOT APPLE)
list(APPEND vrpn_depends
libusb)
list(APPEND vrpn_options
-DCMAKE_INSTALL_RPATH:STRING=<INSTALL_DIR>/lib)
endif ()
superbuild_add_project(vrpn
......@@ -30,4 +33,5 @@ superbuild_add_project(vrpn
-DVRPN_USE_LOCAL_HIDAPI:BOOL=ON
-DVRPN_USE_LOCAL_JSONCPP:BOOL=OFF
-DVRPN_USE_JSONNET:BOOL=OFF
${vrpn_options}
)
Subproject commit d6a60f6999bc38ab9a9d948ca1f9c587966ffbf3
Subproject commit bb2ce821ec3292e682c9a23a3b6ba1a0175a7b63
......@@ -36,6 +36,35 @@ endif ()
superbuild_add_extract_test("paraview" "${glob_prefix}" "${generator}" "${paraview_extract_dir}"
LABELS "ParaView")
if (UNIX AND NOT APPLE)
set(ldd_excludes)
if (openimagedenoise_SOURCE_SELECTION STREQUAL "2.7.1")
list(APPEND ldd_excludes
# Older OIDN forces the rpath.
"libOpenImageDenoise")
endif ()
superbuild_test_loadable_modules("paraview" "${generator}" "${paraview_extract_dir}"
EXCLUDES
# Copied from the system; does not have rpath entries.
"libgfortran"
# Python stdlib requirements; provided by the system.
"nis.cpython" # libnsl
# Libraries which use Fortran standard libraries.
"__nnls.cpython" # scipy
"_cobyla.cpython" # scipy
"_dop.cpython" # scipy
"_fitpack.cpython" # scipy
"_specfun.cpython" # scipy
# Qt plugins; provided by the system.
"libqtaudio_alsa" # libasound
# MEDReader plugin has a test, but the rpaths are not 100% correct.
# Ignore for now.
"MEDReader/lib" # paraview/common-superbuild#73
${ldd_excludes}
)
endif ()
if (NOT qt5_enabled)
set(paraview_exe)
endif ()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment