Skip to content

Commit

Permalink
[Libomptarget] Remove global include directory from libomptarget
Browse files Browse the repository at this point in the history
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
  • Loading branch information
jhuber6 committed May 13, 2022
1 parent af757f8 commit 9ffa945
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 16 deletions.
1 change: 0 additions & 1 deletion openmp/libomptarget/CMakeLists.txt
Expand Up @@ -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)
Expand Down
8 changes: 5 additions & 3 deletions openmp/libomptarget/plugins/CMakeLists.txt
Expand Up @@ -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}")

Expand All @@ -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
Expand Down
11 changes: 7 additions & 4 deletions openmp/libomptarget/plugins/amdgpu/CMakeLists.txt
Expand Up @@ -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})

Expand Down Expand Up @@ -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
Expand Down
Expand Up @@ -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})
9 changes: 5 additions & 4 deletions openmp/libomptarget/plugins/cuda/CMakeLists.txt
Expand Up @@ -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})

Expand All @@ -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
Expand Down
9 changes: 5 additions & 4 deletions openmp/libomptarget/plugins/ve/CMakeLists.txt
Expand Up @@ -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}")

Expand All @@ -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
Expand Down
2 changes: 2 additions & 0 deletions openmp/libomptarget/src/CMakeLists.txt
Expand Up @@ -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")
Expand Down
3 changes: 3 additions & 0 deletions openmp/libomptarget/tools/deviceinfo/CMakeLists.txt
Expand Up @@ -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
Expand Down

0 comments on commit 9ffa945

Please sign in to comment.