Improve usage of target_include_directories

Eliminates most of the global include_directories. The install header
paths are different from the build directory, so we have to separate
those for the exported target include paths.

Change-Id: I13e4c56c1218cb31c29a316422dc5fd1d09d8b1b
This commit is contained in:
Matt Arsenault
2020-05-12 21:09:29 -04:00
gecommit door Matthew Arsenault
bovenliggende 614aaa8409
commit 3a7f2e3682
3 gewijzigde bestanden met toevoegingen van 40 en 21 verwijderingen
+11 -18
Bestand weergeven
@@ -75,24 +75,6 @@ if (DEFINED LLVM_INCLUDES AND NOT ${LLVM_INCLUDES} STREQUAL "")
include_directories(${LLVM_INCLUDES})
endif() # if (DEFINED LLVM_INCLUDES AND NOT ${LLVM_INCLUDES} STREQUAL "")
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/device/rocm)
include_directories(${OPENCL_DIR})
include_directories(${OPENCL_DIR}/amdocl)
include_directories(${OPENCL_DIR}/khronos)
include_directories(${OPENCL_DIR}/khronos/headers)
include_directories(${OPENCL_DIR}/khronos/headers/opencl2.2)
include_directories(${OPENCL_INCLUDE_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/compiler/lib)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/compiler/lib/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/compiler/lib/backends/common)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/elf/utils/common)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/elf/utils/libelf)
option(BUILD_PAL "Build PAL backend" OFF)
if (BUILD_PAL)
add_subdirectory(device/pal)
@@ -149,6 +131,17 @@ set_target_properties(amdrocclr_static PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(amdrocclr_static
PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/device/rocm>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/compiler/lib/include>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/compiler/lib>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/compiler/lib/backends/common>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/elf/utils/common>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/elf/utils/libelf>
$<BUILD_INTERFACE:${OPENCL_DIR}>
$<BUILD_INTERFACE:${OPENCL_DIR}/khronos/headers/opencl2.2>
$<TARGET_PROPERTY:amd_comgr,INTERFACE_INCLUDE_DIRECTORIES>
PRIVATE
$<TARGET_PROPERTY:oclelf_obj,INTERFACE_INCLUDE_DIRECTORIES>
+19
Bestand weergeven
@@ -95,6 +95,25 @@ target_include_directories(rocclrpal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/device/
target_include_directories(rocclrpal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/device/pal/palbe/shared/gpuopen/third_party/metrohash/src)
target_include_directories(rocclrpal PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(rocclrpal
PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
$<TARGET_PROPERTY:amd_comgr,INTERFACE_INCLUDE_DIRECTORIES>
PRIVATE
${OPENCL_DIR}
${OPENCL_DIR}/khronos/headers/opencl2.2
${PROJECT_SOURCE_DIR}/compiler/lib
${PROJECT_SOURCE_DIR}/compiler/lib/include
${PROJECT_SOURCE_DIR}/compiler/lib/backends/common
${PROJECT_SOURCE_DIR}/compiler/lib/loaders/elf/utils/common
${PROJECT_SOURCE_DIR}/compiler/lib/loaders/elf/utils/libelf
${CMAKE_CURRENT_BINARY_DIR}
${ROCM_OCL_INCLUDES}
${ROCR_INCLUDES})
target_sources(rocclrpal PRIVATE
palappprofile.cpp
palblit.cpp
+10 -3
Bestand weergeven
@@ -16,13 +16,20 @@ add_library(oclrocm OBJECT
rochostcall.cpp
)
target_include_directories(oclrocm
PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
$<TARGET_PROPERTY:amd_comgr,INTERFACE_INCLUDE_DIRECTORIES>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/compiler/lib/loaders/elf/utils/common
${CMAKE_CURRENT_SOURCE_DIR}/compiler/lib/loaders/elf/utils/libelf
${OPENCL_DIR}
${OPENCL_DIR}/khronos/headers/opencl2.2
${PROJECT_SOURCE_DIR}/compiler/lib
${PROJECT_SOURCE_DIR}/compiler/lib/include
${PROJECT_SOURCE_DIR}/compiler/lib/backends/common
${PROJECT_SOURCE_DIR}/compiler/lib/loaders/elf/utils/common
${PROJECT_SOURCE_DIR}/compiler/lib/loaders/elf/utils/libelf
${CMAKE_CURRENT_BINARY_DIR}
${ROCM_OCL_INCLUDES}
${ROCR_INCLUDES})