diff --git a/openmp/libomptarget/CMakeLists.txt b/openmp/libomptarget/CMakeLists.txt --- a/openmp/libomptarget/CMakeLists.txt +++ b/openmp/libomptarget/CMakeLists.txt @@ -70,7 +70,6 @@ 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) diff --git a/openmp/libomptarget/plugins/CMakeLists.txt b/openmp/libomptarget/plugins/CMakeLists.txt --- a/openmp/libomptarget/plugins/CMakeLists.txt +++ b/openmp/libomptarget/plugins/CMakeLists.txt @@ -24,9 +24,6 @@ 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 @@ 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 diff --git a/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt b/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt --- a/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt +++ b/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt @@ -43,10 +43,6 @@ 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 @@ 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 diff --git a/openmp/libomptarget/plugins/common/elf_common/CMakeLists.txt b/openmp/libomptarget/plugins/common/elf_common/CMakeLists.txt --- a/openmp/libomptarget/plugins/common/elf_common/CMakeLists.txt +++ b/openmp/libomptarget/plugins/common/elf_common/CMakeLists.txt @@ -27,3 +27,4 @@ # 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}) diff --git a/openmp/libomptarget/plugins/cuda/CMakeLists.txt b/openmp/libomptarget/plugins/cuda/CMakeLists.txt --- a/openmp/libomptarget/plugins/cuda/CMakeLists.txt +++ b/openmp/libomptarget/plugins/cuda/CMakeLists.txt @@ -29,10 +29,6 @@ # 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 @@ # 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 diff --git a/openmp/libomptarget/plugins/ve/CMakeLists.txt b/openmp/libomptarget/plugins/ve/CMakeLists.txt --- a/openmp/libomptarget/plugins/ve/CMakeLists.txt +++ b/openmp/libomptarget/plugins/ve/CMakeLists.txt @@ -17,10 +17,6 @@ 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 @@ 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 diff --git a/openmp/libomptarget/src/CMakeLists.txt b/openmp/libomptarget/src/CMakeLists.txt --- a/openmp/libomptarget/src/CMakeLists.txt +++ b/openmp/libomptarget/src/CMakeLists.txt @@ -34,6 +34,8 @@ 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") diff --git a/openmp/libomptarget/tools/deviceinfo/CMakeLists.txt b/openmp/libomptarget/tools/deviceinfo/CMakeLists.txt --- a/openmp/libomptarget/tools/deviceinfo/CMakeLists.txt +++ b/openmp/libomptarget/tools/deviceinfo/CMakeLists.txt @@ -16,6 +16,9 @@ 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