[Clang][OpenMP] libompd: get libomp hwloc includedir by target_link_libraries
When hwloc is used and is installed outside of the default paths, the omp CMake target needs to provide the needed include path thru the CMake target by adding it with target_include_directories to it, so libompd gets it as well when it defines it's cmake target using target_link_libraries. As suggested in D122667 Reviewed By: ye-luo Differential Revision: https://reviews.llvm.org/D123888
This commit is contained in:
@@ -13,7 +13,7 @@ cmake_minimum_required(VERSION 3.13.4)
|
||||
|
||||
add_library (ompd SHARED TargetValue.cpp omp-debug.cpp omp-state.cpp omp-icv.cpp)
|
||||
|
||||
add_dependencies(ompd omp) # ensure generated import library is created first
|
||||
target_link_libraries(ompd omp) # ensure generated import library is created first
|
||||
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
|
||||
|
||||
@@ -332,7 +332,8 @@ endif()
|
||||
|
||||
# Check if HWLOC support is available
|
||||
if(${LIBOMP_USE_HWLOC})
|
||||
set(CMAKE_REQUIRED_INCLUDES ${LIBOMP_HWLOC_INSTALL_DIR}/include)
|
||||
find_path(LIBOMP_HWLOC_INCLUDE_DIR NAMES hwloc.h HINTS ${LIBOMP_HWLOC_INSTALL_DIR} PATH_SUFFIXES include)
|
||||
set(CMAKE_REQUIRED_INCLUDES ${LIBOMP_HWLOC_INCLUDE_DIR})
|
||||
check_include_file(hwloc.h LIBOMP_HAVE_HWLOC_H)
|
||||
set(CMAKE_REQUIRED_INCLUDES)
|
||||
find_library(LIBOMP_HWLOC_LIBRARY
|
||||
|
||||
@@ -46,9 +46,6 @@ include_directories(
|
||||
${LIBOMP_INC_DIR}
|
||||
${LIBOMP_SRC_DIR}/thirdparty/ittnotify
|
||||
)
|
||||
if(${LIBOMP_USE_HWLOC})
|
||||
include_directories(${LIBOMP_HWLOC_INSTALL_DIR}/include)
|
||||
endif()
|
||||
|
||||
# Building with time profiling support requires LLVM directory includes.
|
||||
if(LIBOMP_PROFILING_SUPPORT)
|
||||
@@ -157,6 +154,13 @@ else()
|
||||
# libomp must be a C++ library such that it can link libLLVMSupport
|
||||
set(LIBOMP_LINKER_LANGUAGE CXX)
|
||||
endif()
|
||||
if(${LIBOMP_USE_HWLOC})
|
||||
target_include_directories(omp
|
||||
PUBLIC
|
||||
"$<BUILD_INTERFACE:${LIBOMP_HWLOC_INCLUDE_DIR}>"
|
||||
"$<INSTALL_INTERFACE:${LIBOMP_HWLOC_INCLUDE_DIR}>"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(OPENMP_MSVC_NAME_SCHEME)
|
||||
if(uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
||||
|
||||
Reference in New Issue
Block a user