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:
gecommit door
Matthew Arsenault
bovenliggende
614aaa8409
commit
3a7f2e3682
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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})
|
||||
|
||||
Verwijs in nieuw issue
Block a user