Spaces:
Running
Running
File size: 3,640 Bytes
1380717 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Tries to find jemalloc headers and libraries.
#
# Usage of this module as follows:
#
# find_package(jemallocAlt)
#
# This module defines
# jemalloc::jemalloc, target to use jemalloc
if(jemallocAlt_FOUND)
return()
endif()
if(ARROW_PACKAGE_KIND STREQUAL "conan")
set(find_package_args "")
if(jemallocAlt_FIND_VERSION)
list(APPEND find_package_args ${jemallocAlt_FIND_VERSION})
endif()
if(jemallocAlt_FIND_QUIETLY)
list(APPEND find_package_args QUIET)
endif()
if(jemallocAlt_FIND_REQUIRED)
list(APPEND find_package_args REQUIRED)
endif()
find_package(jemallocAlt NAMES jemalloc ${find_package_args})
set(jemalloc_FOUND ${jemallocAlt_FOUND})
if(jemallocAlt_FOUND)
return()
endif()
endif()
if(ARROW_JEMALLOC_USE_SHARED)
set(jemallocAlt_LIB_NAMES)
if(CMAKE_IMPORT_LIBRARY_SUFFIX)
list(APPEND jemallocAlt_LIB_NAMES
"${CMAKE_IMPORT_LIBRARY_PREFIX}jemalloc${CMAKE_IMPORT_LIBRARY_SUFFIX}")
endif()
list(APPEND jemallocAlt_LIB_NAMES
"${CMAKE_SHARED_LIBRARY_PREFIX}jemalloc${CMAKE_SHARED_LIBRARY_SUFFIX}")
else()
set(jemallocAlt_LIB_NAMES
"${CMAKE_STATIC_LIBRARY_PREFIX}jemalloc${CMAKE_STATIC_LIBRARY_SUFFIX}")
endif()
if(jemalloc_ROOT)
find_library(jemallocAlt_LIB
NAMES ${jemallocAlt_LIB_NAMES}
PATHS ${jemalloc_ROOT}
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_path(jemallocAlt_INCLUDE_DIR
NAMES jemalloc/jemalloc.h
PATHS ${jemalloc_ROOT}
NO_DEFAULT_PATH
PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES})
else()
find_package(PkgConfig QUIET)
pkg_check_modules(jemallocAlt_PC jemalloc)
if(jemallocAlt_PC_FOUND)
set(jemallocAlt_INCLUDE_DIR "${jemallocAlt_PC_INCLUDEDIR}")
list(APPEND jemallocAlt_PC_LIBRARY_DIRS "${jemallocAlt_PC_LIBDIR}")
find_library(jemallocAlt_LIB
NAMES ${jemallocAlt_LIB_NAMES}
PATHS ${jemallocAlt_PC_LIBRARY_DIRS}
NO_DEFAULT_PATH
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES})
else()
find_library(jemallocAlt_LIB
NAMES ${jemallocAlt_LIB_NAMES}
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES})
find_path(jemallocAlt_INCLUDE_DIR
NAMES jemalloc/jemalloc.h
PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES})
endif()
endif()
find_package_handle_standard_args(jemallocAlt REQUIRED_VARS jemallocAlt_LIB
jemallocAlt_INCLUDE_DIR)
set(jemalloc_FOUND ${jemallocAlt_FOUND})
if(jemallocAlt_FOUND)
if(NOT TARGET jemalloc::jemalloc)
if(ARROW_JEMALLOC_USE_SHARED)
add_library(jemalloc::jemalloc SHARED IMPORTED)
else()
add_library(jemalloc::jemalloc STATIC IMPORTED)
endif()
set_target_properties(jemalloc::jemalloc
PROPERTIES IMPORTED_LOCATION "${jemallocAlt_LIB}"
INTERFACE_INCLUDE_DIRECTORIES
"${jemallocAlt_INCLUDE_DIR}")
endif()
endif()
|