mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-12 16:21:13 +00:00
Debian's libpmix-dev package installs everything below /usr/lib/ARCH-TRIPLET/pmix2. For some reasoning behind this, see: https://bugs.debian.org/882033 CMake does not search there by default, so help it. Also add myself to CONTRIBUTORS.
75 lines
2.4 KiB
CMake
75 lines
2.4 KiB
CMake
################################################################################
|
|
# Copyright (C) 2019 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH #
|
|
# #
|
|
# This software is distributed under the terms of the #
|
|
# GNU Lesser General Public Licence (LGPL) version 3, #
|
|
# copied verbatim in the file "LICENSE" #
|
|
################################################################################
|
|
|
|
|
|
# The "lib/${CMAKE_LIBRARY_ARCHITECTURE}/pmix" part in all
|
|
# the PATH_SUFFIXES is here to be able to find Debian's
|
|
# libpmix-dev package. It installs everything below
|
|
# /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/pmix
|
|
|
|
|
|
find_path(PMIx_INCLUDE_DIR
|
|
NAMES pmix.h
|
|
HINTS ${PMIX_ROOT} $ENV{PMIX_ROOT}
|
|
PATH_SUFFIXES include lib/${CMAKE_LIBRARY_ARCHITECTURE}/pmix/include
|
|
)
|
|
|
|
find_path(PMIx_LIBRARY_DIR
|
|
NAMES libpmix.dylib libpmix.so
|
|
HINTS ${PMIX_ROOT} $ENV{PMIX_ROOT}
|
|
PATH_SUFFIXES lib lib64 lib/${CMAKE_LIBRARY_ARCHITECTURE}/pmix/lib
|
|
)
|
|
|
|
find_library(PMIx_LIBRARY_SHARED
|
|
NAMES libpmix.dylib libpmix.so
|
|
HINTS ${PMIX_ROOT} $ENV{PMIX_ROOT}
|
|
PATH_SUFFIXES lib lib64 lib/${CMAKE_LIBRARY_ARCHITECTURE}/pmix/lib
|
|
)
|
|
|
|
find_file(PMIx_VERSION_FILE
|
|
NAMES pmix_version.h
|
|
HINTS ${PMIX_ROOT} $ENV{PMIX_ROOT}
|
|
PATH_SUFFIXES include lib/${CMAKE_LIBRARY_ARCHITECTURE}/pmix/include
|
|
)
|
|
|
|
file(READ "${PMIx_VERSION_FILE}" __version_raw)
|
|
string(REGEX MATCH "#define PMIX_VERSION_MAJOR ([0-9]?)L?"
|
|
__version_major_raw "${__version_raw}"
|
|
)
|
|
set(PMIx_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
|
|
|
string(REGEX MATCH "#define PMIX_VERSION_MINOR ([0-9]?)L?"
|
|
__version_minor_raw "${__version_raw}"
|
|
)
|
|
set(PMIx_VERSION_MINOR "${CMAKE_MATCH_1}")
|
|
|
|
string(REGEX MATCH "#define PMIX_VERSION_RELEASE ([0-9]?)L?"
|
|
__version_patch_raw "${__version_raw}"
|
|
)
|
|
set(PMIx_VERSION_PATCH "${CMAKE_MATCH_1}")
|
|
|
|
set(PMIx_VERSION "${PMIx_VERSION_MAJOR}.${PMIx_VERSION_MINOR}.${PMIx_VERSION_PATCH}")
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(PMIx
|
|
REQUIRED_VARS
|
|
PMIx_INCLUDE_DIR
|
|
PMIx_LIBRARY_DIR
|
|
PMIx_LIBRARY_SHARED
|
|
|
|
VERSION_VAR PMIx_VERSION
|
|
)
|
|
|
|
if(NOT TARGET PMIx::libpmix AND PMIx_FOUND)
|
|
add_library(PMIx::libpmix SHARED IMPORTED)
|
|
set_target_properties(PMIx::libpmix PROPERTIES
|
|
IMPORTED_LOCATION ${PMIx_LIBRARY_SHARED}
|
|
INTERFACE_INCLUDE_DIRECTORIES ${PMIx_INCLUDE_DIR}
|
|
)
|
|
endif()
|