Skip to content

Commit

Permalink
[CMake] Find only XRootD matching XRootDConfig.cmake installation path
Browse files Browse the repository at this point in the history
Without this change, a call to find_package(XRootD) might find it from
the wrong location, e.g. cmake -DXRootD_DIR=/my/xrootd/share/xrootd/cmake ...
may actually find XRootD installed in /usr instead of /my/xrootd, if it's
installed there.
  • Loading branch information
amadio committed Oct 9, 2023
1 parent e02d0ca commit c6e0e59
Showing 1 changed file with 14 additions and 64 deletions.
78 changes: 14 additions & 64 deletions cmake/XRootDConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -47,36 +47,21 @@ SET( XROOTD_SSI_FOUND FALSE )
################################################################################
# Set XRootD include paths
################################################################################
FIND_PATH( XROOTD_INCLUDE_DIRS XrdVersion.hh
HINTS
${XROOTD_DIR}
$ENV{XROOTD_DIR}
/usr
/opt/xrootd
PATH_SUFFIXES include/xrootd
PATHS /opt/xrootd
)

IF( NOT "${XROOTD_INCLUDE_DIRS}" STREQUAL "XROOTD_INCLUDE_DIRS-NOTFOUND" )
SET( XROOTD_FOUND TRUE )
SET( XROOTD_INCLUDE_DIRS "${XROOTD_INCLUDE_DIRS};${XROOTD_INCLUDE_DIRS}/private" )
ENDIF()
set_and_check(XRootD_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}")
set_and_check(XRootD_DATA_DIR "@PACKAGE_CMAKE_INSTALL_DATADIR@")
set_and_check(XRootD_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
set_and_check(XRootD_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@")

IF( NOT XROOTD_FOUND )
LIST( APPEND _XROOTD_MISSING_COMPONENTS XROOTD_FOUND )
ENDIF()
set(XRootD_INCLUDE_DIRS "${XRootD_INCLUDE_DIR};${XRootD_INCLUDE_DIR}/private")
set(XROOTD_INCLUDE_DIRS "${XRootD_INCLUDE_DIRS}") # backward compatibility

################################################################################
# XRootD client libs
# - libXrdCl
################################################################################
FIND_LIBRARY( XROOTD_CLIENT_LIBRARIES XrdCl
HINTS
${XROOTD_DIR}
$ENV{XROOTD_DIR}
/usr
/opt/xrootd
PATH_SUFFIXES lib lib64
PATHS ${XRootD_LIB_DIR} NO_DEFAULT_PATH
)

IF( NOT "${XROOTD_CLIENT_LIBRARIES}" STREQUAL "XROOTD_CLIENT_LIBRARIES-NOTFOUND" )
Expand All @@ -95,12 +80,7 @@ ENDIF()
# - libXrdUtils
################################################################################
FIND_LIBRARY( XROOTD_UTILS_LIBRARIES XrdUtils
HINTS
${XROOTD_DIR}
$ENV{XROOTD_DIR}
/usr
/opt/xrootd
PATH_SUFFIXES lib lib64
PATHS ${XRootD_LIB_DIR} NO_DEFAULT_PATH
)

IF( NOT "${XROOTD_UTILS_LIBRARIES}" STREQUAL "XROOTD_UTILS_LIBRARIES-NOTFOUND" )
Expand All @@ -119,12 +99,7 @@ ENDIF()
# - libXrdServer
################################################################################
FIND_LIBRARY( XROOTD_SERVER_LIBRARIES XrdServer
HINTS
${XROOTD_DIR}
$ENV{XROOTD_DIR}
/usr
/opt/xrootd
PATH_SUFFIXES lib lib64
PATHS ${XRootD_LIB_DIR} NO_DEFAULT_PATH
)

IF( NOT "${XROOTD_SERVER_LIBRARIES}" STREQUAL "XROOTD_SERVER_LIBRARIES-NOTFOUND" )
Expand All @@ -144,21 +119,11 @@ ENDIF()
# - libXrdPosixPreload
################################################################################
FIND_LIBRARY( XROOTD_POSIX_LIBRARY XrdPosix
HINTS
${XROOTD_DIR}
$ENV{XROOTD_DIR}
/usr
/opt/xrootd
PATH_SUFFIXES lib lib64
PATHS ${XRootD_LIB_DIR} NO_DEFAULT_PATH
)

FIND_LIBRARY( XROOTD_POSIX_PRELOAD_LIBRARY XrdPosixPreload
HINTS
${XROOTD_DIR}
$ENV{XROOTD_DIR}
/usr
/opt/xrootd
PATH_SUFFIXES lib lib64
PATHS ${XRootD_LIB_DIR} NO_DEFAULT_PATH
)

IF( NOT "${XROOTD_POSIX_LIBRARY}" STREQUAL "XROOTD_POSIX_LIBRARY-NOTFOUND" )
Expand All @@ -180,12 +145,7 @@ ENDIF()
# - libXrdHtppUtils
################################################################################
FIND_LIBRARY( XROOTD_HTTP_LIBRARIES XrdHttpUtils
HINTS
${XROOTD_DIR}
$ENV{XROOTD_DIR}
/usr
/opt/xrootd
PATH_SUFFIXES lib lib64
PATHS ${XRootD_LIB_DIR} NO_DEFAULT_PATH
)

IF( NOT "${XROOTD_HTTP_LIBRARIES}" STREQUAL "XROOTD_HTTP_LIBRARIES-NOTFOUND" )
Expand All @@ -205,21 +165,11 @@ ENDIF()
# - XrdSsiShMap
################################################################################
FIND_LIBRARY( XROOTD_SSI_LIBRARY XrdSsiLib
HINTS
${XROOTD_DIR}
$ENV{XROOTD_DIR}
/usr
/opt/xrootd
PATH_SUFFIXES lib lib64
PATHS ${XRootD_LIB_DIR} NO_DEFAULT_PATH
)

FIND_LIBRARY( XROOTD_SSI_SHMAP_LIBRARY XrdSsiShMap
HINTS
${XROOTD_DIR}
$ENV{XROOTD_DIR}
/usr
/opt/xrootd
PATH_SUFFIXES lib lib64
PATHS ${XRootD_LIB_DIR} NO_DEFAULT_PATH
)

IF( NOT "${XROOTD_SSI_LIBRARY}" STREQUAL "XROOTD_SSI_LIBRARY-NOTFOUND" )
Expand Down

0 comments on commit c6e0e59

Please sign in to comment.