[Libomptarget] Remove global include directory from libomptarget
authorJoseph Huber <jhuber6@vols.utk.edu>
Fri, 13 May 2022 17:07:46 +0000 (13:07 -0400)
committerJoseph Huber <jhuber6@vols.utk.edu>
Fri, 13 May 2022 18:38:47 +0000 (14:38 -0400)
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

openmp/libomptarget/CMakeLists.txt
openmp/libomptarget/plugins/CMakeLists.txt
openmp/libomptarget/plugins/amdgpu/CMakeLists.txt
openmp/libomptarget/plugins/common/elf_common/CMakeLists.txt
openmp/libomptarget/plugins/cuda/CMakeLists.txt
openmp/libomptarget/plugins/ve/CMakeLists.txt
openmp/libomptarget/src/CMakeLists.txt
openmp/libomptarget/tools/deviceinfo/CMakeLists.txt

index cd63ce2..ca301c4 100644 (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)
index f48dc3b..e80799e 100644 (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
index b2fc43a..4088f2d 100644 (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
index c30edd3..9ea2926 100644 (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})
index b335efc..20b0aff 100644 (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
index 16ce089..1b10af0 100644 (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
index db5b212..3c338b8 100644 (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")
index 8f7e95a..290fc83 100644 (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