Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,18 @@ SET(CPACK_STRIP_FILES ON)

# MAC OS X magick
SET(MACOSX_RPATH ON)
SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})

# Resolve run paths relative to the loaded object instead of baking in
# CMAKE_INSTALL_PREFIX, so a moved install still finds its libraries. Every
# component uses this: binaries land in <prefix>/bin and libraries in
# <prefix>/lib, and "<origin>/../lib" is correct from both -- from a library in
# lib/ it normalises back to the same directory.
IF(APPLE)
SET(MT_RPATH_ORIGIN "@loader_path")
ELSE()
SET(MT_RPATH_ORIGIN "$ORIGIN")
ENDIF()
SET(CMAKE_INSTALL_RPATH ${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX})
SET(CMAKE_SKIP_RPATH OFF)
SET(CMAKE_SKIP_INSTALL_RPATH OFF)
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildABC.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ macro(build_ABC install_prefix staging_prefix)
-DCOMPILE_STANDALONEGUI:BOOL=OFF
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
${CMAKE_EXTERNAL_PROJECT_ARGS}
INSTALL_COMMAND $(MAKE) install DESTDIR=${staging_prefix}
INSTALL_DIR ${staging_prefix}/${install_prefix}
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildANTS.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ macro(build_ANTS install_prefix staging_prefix itk_dir ) #boost_dir
-DITK_USE_FFTWD:BOOL=ON
-DITK_USE_FFTWF:BOOL=ON
-DITK_USE_SYSTEM_FFTW:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
${CMAKE_EXTERNAL_PROJECT_ARGS}
INSTALL_COMMAND $(MAKE) install DESTDIR=${staging_prefix}
INSTALL_DIR ${staging_prefix}/${install_prefix}
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildBEAST.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ macro(build_BEAST install_prefix staging_prefix )
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${install_prefix}
-DZLIB_LIBRARY:PATH=${ZLIB_LIBRARY}
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildBICGL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ macro(build_bicgl bicgl_location install_prefix staging_prefix)
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
${CMAKE_OSX_EXTERNAL_PROJECT_ARGS}
INSTALL_COMMAND $(MAKE) install DESTDIR=${staging_prefix}
INSTALL_DIR ${staging_prefix}/${install_prefix}
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildC3D.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ macro(build_C3D install_prefix staging_prefix)
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
${CMAKE_EXTERNAL_PROJECT_ARGS}
INSTALL_COMMAND $(MAKE) install DESTDIR=${staging_prefix}
INSTALL_DIR ${staging_prefix}/${install_prefix}
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildEZMINC.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ macro(build_EZMINC install_prefix staging_prefix libminc_dir bicpl_dir itk_dir)
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
${CMAKE_EXTERNAL_PROJECT_ARGS}
INSTALL_COMMAND $(MAKE) install DESTDIR=${staging_prefix}
INSTALL_DIR ${staging_prefix}/${install_prefix}
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildElastix.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ macro(build_Elastix install_prefix staging_prefix)
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
${CMAKE_EXTERNAL_PROJECT_ARGS}
INSTALL_COMMAND $(MAKE) install DESTDIR=${staging_prefix}
INSTALL_DIR ${staging_prefix}/${install_prefix}
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildFFTW3D.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ macro(build_fftw3d install_prefix staging_prefix)
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
-DINSTALL_LIB_DIR:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DINSTALL_INC_DIR:PATH=${install_prefix}/include
${CMAKE_EXTERNAL_PROJECT_ARGS}
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildFFTW3F.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ macro(build_fftw3f install_prefix staging_prefix)
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
-DINSTALL_LIB_DIR:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DINSTALL_INC_DIR:PATH=${install_prefix}/include
${CMAKE_EXTERNAL_PROJECT_ARGS}
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildFREEGLUT.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ ExternalProject_Add(FREEGLUT
-DFREEGLUT_WAYLAND:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
-DCMAKE_INSTALL_PREFIX:PATH=${install_prefix}
${CMAKE_EXTERNAL_PROJECT_ARGS}
"-DCMAKE_CXX_FLAGS:STRING=-fPIC ${CMAKE_CXX_FLAGS}"
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildGIFTI.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ ExternalProject_Add(GIFTI
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
-DCMAKE_INSTALL_PREFIX:PATH=${install_prefix}
"-DCMAKE_CXX_FLAGS_RELEASE:STRING=${GIFTI_CMAKE_CXX_FLAGS_RELEASE}"
"-DCMAKE_C_FLAGS_RELEASE:STRING=${GIFTI_CMAKE_C_FLAGS_RELEASE}"
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildHDF5.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ ExternalProject_Add(HDF5
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
-DCMAKE_INSTALL_PREFIX:PATH=${install_prefix}
# Must be RELATIVE to the install prefix. Passing the absolute ${install_prefix}
# made HDF5 emit a broken package config: `include(${PACKAGE_PREFIX_DIR}//app/install/-targets.cmake)`,
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildITKv4.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ macro(build_itkv4 install_prefix staging_prefix minc_dir)
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
${CMAKE_EXTERNAL_PROJECT_ARGS}
${CMAKE_ITK_HDF5_SETTINGS}
-DBUILD_EXAMPLES:BOOL=OFF
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildJPEG.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ macro(build_jpeg install_prefix staging_prefix)
-DMACOSX_RPATH:BOOL=ON
-DWITH_SIMD:BOOL=OFF
-DWITH_TURBOJPEG:BOOL=OFF
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
-DCMAKE_INSTALL_PREFIX:PATH=${install_prefix}
${CMAKE_EXTERNAL_PROJECT_ARGS}
"-DCMAKE_CXX_FLAGS:STRING=-fPIC ${CMAKE_CXX_FLAGS}"
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildLibarchive.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ macro(build_libarchive install_prefix staging_prefix)
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
-DINSTALL_LIB_DIR:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DINSTALL_INC_DIR:PATH=${install_prefix}/include
-DENABLE_EXPAT:BOOL=OFF
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildNETCDF.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ macro(build_netcdf install_prefix staging_prefix)
-DENABLE_LARGE_FILE_SUPPORT:BOOL=ON
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
-DENABLE_NETCDF4:BOOL=OFF
-DENABLE_NETCDF_4:BOOL=OFF
-DCMAKE_INSTALL_PREFIX:PATH=${install_prefix}
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildNIFTI.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ macro(build_nifti install_prefix staging_prefix)
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/${CMAKE_INSTALL_LIBDIR}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../${CMAKE_INSTALL_LIBDIR}
-DCMAKE_INSTALL_PREFIX:PATH=${install_prefix}
-DCMAKE_INSTALL_LIBDIR:PATH=${CMAKE_INSTALL_LIBDIR}
# NIFTI's CMakeLists uses its own NIFTI_INSTALL_LIBRARY_DIR variable
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildOpenBLAS.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ macro(build_open_blas install_prefix staging_prefix build_parallel)
-DNO_WARMAP:BOOL=ON
-DUSE_THREAD:BOOL=OFF
-DUSE_OPENMP:BOOL=OFF
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
-DCMAKE_INSTALL_PREFIX:PATH=${install_prefix}
${CMAKE_EXTERNAL_PROJECT_ARGS}
"-DCMAKE_CXX_FLAGS:STRING=-fPIC ${CMAKE_CXX_FLAGS}"
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildOpenJPEG.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ macro(build_openjpeg install_prefix staging_prefix)
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DBUILD_CODEC:BOOL=OFF
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/${CMAKE_INSTALL_LIBDIR}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../${CMAKE_INSTALL_LIBDIR}
-DCMAKE_INSTALL_PREFIX:PATH=${install_prefix}
${CMAKE_EXTERNAL_PROJECT_ARGS}
"-DCMAKE_CXX_FLAGS:STRING=-fPIC ${CMAKE_CXX_FLAGS}"
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildPatchMorphology.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ macro(build_PatchMorphology install_prefix staging_prefix itk_dir)
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}
-DNETCDF_INCLUDE_DIR:PATH=${NETCDF_INCLUDE_DIR}
-DHDF5_C_INCLUDE_DIR:PATH=${HDF5_INCLUDE_DIR}
-DHDF5_CPP_INCLUDE_DIR:PATH=${HDF5_INCLUDE_DIR}
Expand Down
2 changes: 1 addition & 1 deletion cmake-modules/BuildZLIB.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ ExternalProject_Add(ZLIB
-DCMAKE_SKIP_RPATH:BOOL=OFF
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
-DMACOSX_RPATH:BOOL=ON
-DCMAKE_INSTALL_RPATH:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DCMAKE_INSTALL_RPATH:PATH=${MT_RPATH_ORIGIN}/../lib${LIB_SUFFIX}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, changed in the follow-up commit — all 21 sites now use -DCMAKE_INSTALL_RPATH:STRING=.

Worth noting the :PATH spelling predates this branch (I only changed the value, not the type) and it does work: the full build linked below produced correct run paths with it, and the generated ZLIB-cfgcmd.txt carried $ORIGIN/../lib through untouched. But STRING is what a list of run paths actually is, and it removes any question about a PATH-typed entry normalising $ORIGIN / @loader_path.

-DINSTALL_LIB_DIR:PATH=${install_prefix}/lib${LIB_SUFFIX}
-DINSTALL_INC_DIR:PATH=${install_prefix}/include
${CMAKE_EXTERNAL_PROJECT_ARGS}
Expand Down
11 changes: 10 additions & 1 deletion minc-toolkit-config.apple.sh.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# minc-toolkit configuration parameters for @MINC_TOOLKIT_VERSION_FULL@
export MINC_TOOLKIT=@CMAKE_INSTALL_PREFIX@
# Locate the toolkit from this script's own path so a relocated install needs
# no editing. This file installs at the top of the prefix, so its directory is
# the prefix. BASH_SOURCE is bash-only; every other shell falls back to the
# path baked in at configure time, which is the previous behaviour.
if [ -n "${BASH_SOURCE:-}" ] && [ -f "${BASH_SOURCE}" ]; then
MINC_TOOLKIT=$(cd -- "$(dirname -- "${BASH_SOURCE}")" && pwd -P)
else
MINC_TOOLKIT=@CMAKE_INSTALL_PREFIX@
fi
export MINC_TOOLKIT
export MINC_TOOLKIT_VERSION="@MINC_TOOLKIT_VERSION_FULL@"
export PATH=${MINC_TOOLKIT}/bin:${MINC_TOOLKIT}/pipeline:${PATH}
export PERL5LIB=${MINC_TOOLKIT}/perl:${MINC_TOOLKIT}/pipeline${PERL5LIB:+:$PERL5LIB}
Expand Down
11 changes: 10 additions & 1 deletion minc-toolkit-config.unix.sh.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# minc-toolkit configuration parameters for @MINC_TOOLKIT_VERSION_FULL@
export MINC_TOOLKIT=@CMAKE_INSTALL_PREFIX@
# Locate the toolkit from this script's own path so a relocated install needs
# no editing. This file installs at the top of the prefix, so its directory is
# the prefix. BASH_SOURCE is bash-only; every other shell falls back to the
# path baked in at configure time, which is the previous behaviour.
if [ -n "${BASH_SOURCE:-}" ] && [ -f "${BASH_SOURCE}" ]; then
MINC_TOOLKIT=$(cd -- "$(dirname -- "${BASH_SOURCE}")" && pwd -P)
Comment on lines +6 to +7

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checked this against bash 5.3.15, and the failure mode does not occur — cd+pwd -P already normalises both cases.

The concern needs BASH_SOURCE to be a bare basename while the script is not in the current directory. Bash only produces a bare name when it found the file in the cwd, in which case the cwd is the right answer:

how it is sourced BASH_SOURCE holds resolved MINC_TOOLKIT
explicit relative path ../onpath/x.sh .../onpath
bare name, found via PATH .../elsewhere/../onpath/x.sh (full) .../onpath
bare name, found in cwd x.sh (bare) cwd, which is where the script lives ✅

So the PATH case keeps the full path rather than the basename, and the bare-name case only happens when dirname . is already correct. Both come out right after cd -- "$(dirname -- ...)" && pwd -P.

Happy to add a command -v / realpath normalisation as belt-and-braces if you would rather not depend on that behaviour, but on the evidence it is not currently reachable.

else
MINC_TOOLKIT=@CMAKE_INSTALL_PREFIX@
fi
export MINC_TOOLKIT
export MINC_TOOLKIT_VERSION="@MINC_TOOLKIT_VERSION_FULL@"
export PATH=${MINC_TOOLKIT}/bin:${MINC_TOOLKIT}/pipeline:${PATH}
export PERL5LIB=${MINC_TOOLKIT}/perl:${MINC_TOOLKIT}/pipeline${PERL5LIB:+:$PERL5LIB}
Expand Down