[Libomptarget] Remove global include directory from libomptarget

We used to globally include the libomptarget include directory for all
projects. This caused some conflicts with the other files named
"Debug.h". This patch changes the cmake to include these files via the
target include instead.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D125563
This commit is contained in:
Joseph Huber 2022-05-13 13:07:46 -04:00
parent af757f8980
commit 9ffa945c40
8 changed files with 28 additions and 16 deletions

View File

@ -70,7 +70,6 @@ if(LIBOMPTARGET_ENABLE_DEBUG)
endif()
set(LIBOMPTARGET_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
include_directories(${LIBOMPTARGET_INCLUDE_DIR})
# Build target agnostic offloading library.
set(LIBOMPTARGET_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)

View File

@ -24,9 +24,6 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "${tmachine}$")
libomptarget_say("Building ${tmachine_name} offloading plugin.")
include_directories(${LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR})
include_directories(${LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR})
# Define macro to be used as prefix of the runtime messages for this target.
add_definitions("-DTARGET_NAME=${tmachine_name}")
@ -40,6 +37,11 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "${tmachine}$")
install(TARGETS "omptarget.rtl.${tmachine_libname}"
LIBRARY DESTINATION "${OPENMP_INSTALL_LIBDIR}")
target_include_directories( "omptarget.rtl.${tmachine_libname}" PRIVATE
${LIBOMPTARGET_INCLUDE_DIR}
${LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR}
${LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR})
target_link_libraries(
"omptarget.rtl.${tmachine_libname}"
elf_common

View File

@ -43,10 +43,6 @@ if(CMAKE_BUILD_TYPE MATCHES Debug)
add_definitions(-DDEBUG)
endif()
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/impl
)
set(LIBOMPTARGET_DLOPEN_LIBHSA OFF)
option(LIBOMPTARGET_FORCE_DLOPEN_LIBHSA "Build with dlopened libhsa" ${LIBOMPTARGET_DLOPEN_LIBHSA})
@ -87,6 +83,13 @@ else()
set(LDFLAGS_UNDEFINED "-Wl,-z,defs")
endif()
target_include_directories(
omptarget.rtl.amdgpu
PRIVATE
${LIBOMPTARGET_INCLUDE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/impl
)
target_link_libraries(
omptarget.rtl.amdgpu
PRIVATE

View File

@ -27,3 +27,4 @@ target_link_libraries(elf_common INTERFACE ${OPENMP_PTHREAD_LIB})
# Expose elf_common.h directory to the users of this library.
target_include_directories(elf_common INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(elf_common PRIVATE ${LIBOMPTARGET_INCLUDE_DIR})

View File

@ -29,10 +29,6 @@ libomptarget_say("Building CUDA offloading plugin.")
# Define the suffix for the runtime messaging dumps.
add_definitions(-DTARGET_NAME=CUDA)
include_directories(
${LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIRS}
)
set(LIBOMPTARGET_DLOPEN_LIBCUDA OFF)
option(LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA "Build with dlopened libcuda" ${LIBOMPTARGET_DLOPEN_LIBCUDA})
@ -57,6 +53,11 @@ add_dependencies(omptarget.rtl.cuda omptarget.devicertl.nvptx)
# Install plugin under the lib destination folder.
install(TARGETS omptarget.rtl.cuda LIBRARY DESTINATION "${OPENMP_INSTALL_LIBDIR}")
target_include_directories(omptarget.rtl.cuda PRIVATE
${LIBOMPTARGET_INCLUDE_DIR}
${LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIRS}
)
target_link_libraries(omptarget.rtl.cuda
elf_common
MemoryManager

View File

@ -17,10 +17,6 @@ if(${LIBOMPTARGET_DEP_VEO_FOUND})
set(tmachine_triple "ve-unknown-linux-unknown")
set(elf_machine_id 251)
include_directories(${LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR})
include_directories(${LIBOMPTARGET_DEP_VEO_INCLUDE_DIR})
# Define macro to be used as prefix of the runtime messages for this target.
add_definitions("-DTARGET_NAME=${tmachine_name}")
@ -34,6 +30,11 @@ if(${LIBOMPTARGET_DEP_VEO_FOUND})
install(TARGETS "omptarget.rtl.${tmachine_libname}"
LIBRARY DESTINATION lib${OPENMP_LIBDIR_SUFFIX})
target_include_directories("omptarget.rtl.${tmachine_libname}" PRIVATE
${LIBOMPTARGET_INCLUDE_DIR}
${LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR}
${LIBOMPTARGET_DEP_VEO_INCLUDE_DIR})
target_link_libraries(
"omptarget.rtl.${tmachine_libname}"
elf_common

View File

@ -34,6 +34,8 @@ if (OPENMP_ENABLE_LIBOMPTARGET_PROFILING)
target_compile_definitions(omptarget PUBLIC OMPTARGET_PROFILE_ENABLED)
target_link_libraries(omptarget PRIVATE LLVMSupport)
endif()
target_include_directories(omptarget PRIVATE
${LIBOMPTARGET_INCLUDE_DIR})
target_link_libraries(omptarget PRIVATE
${CMAKE_DL_LIBS}
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exports")

View File

@ -16,6 +16,9 @@ add_llvm_tool(llvm-omp-device-info llvm-omp-device-info.cpp)
llvm_update_compile_flags(llvm-omp-device-info)
target_include_directories(llvm-omp-device-info PRIVATE
${LIBOMPTARGET_INCLUDE_DIR}
)
target_link_libraries(llvm-omp-device-info PRIVATE
omp
omptarget