[CMake][TableGen] Simplify code by using list(TRANSFORM)

LLVM requires CMake 3.13.4 so now we can simplify the code.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D87193
This commit is contained in:
Raul Tambre 2020-09-05 18:21:05 +03:00
parent f58ab2a818
commit 4a39e08b2a

View File

@ -80,14 +80,6 @@ function(tablegen project ofn)
set(tblgen_change_flag "--write-if-changed")
endif()
# With CMake 3.12 this can be reduced to:
# get_directory_property(tblgen_includes "INCLUDE_DIRECTORIES")
# list(TRANSFORM tblgen_includes PREPEND -I)
set(tblgen_includes)
get_directory_property(includes "INCLUDE_DIRECTORIES")
foreach(include ${includes})
list(APPEND tblgen_includes -I ${include})
endforeach()
# We need both _TABLEGEN_TARGET and _TABLEGEN_EXE in the DEPENDS list
# (both the target and the file) to have .inc files rebuilt on
# a tablegen change, as cmake does not propagate file-level dependencies
@ -97,6 +89,9 @@ function(tablegen project ofn)
# dependency twice in the result file when
# ("${${project}_TABLEGEN_TARGET}" STREQUAL "${${project}_TABLEGEN_EXE}")
# but lets us having smaller and cleaner code here.
get_directory_property(tblgen_includes INCLUDE_DIRECTORIES)
list(TRANSFORM tblgen_includes PREPEND -I)
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}
COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR}
${tblgen_includes}