[Flang] Use find_program() to find clang-tblgen

There are two scenarios here:

1. Standalone flang build, where we use an installed clang-tblgen
   binary. We need to use find_package() to find it.
2. Combined build of clang and flang, where we want to use the
   path specified in CLANG_TABLEGEN_EXE during the clang build --
   however, this variable was previously not exported.

The new implementation matches what is done for mlir-tblgen.

Differential Revision: https://reviews.llvm.org/D131475
This commit is contained in:
Nikita Popov 2022-08-08 12:40:49 +02:00
parent 00d648bdb5
commit c04eab8c78
2 changed files with 4 additions and 1 deletions

View File

@ -484,6 +484,9 @@ option(CLANG_INCLUDE_TESTS
add_subdirectory(utils/TableGen)
# Export CLANG_TABLEGEN_EXE for use by flang docs.
set(CLANG_TABLEGEN_EXE "${CLANG_TABLEGEN_EXE}" CACHE INTERNAL "")
add_subdirectory(include)
# All targets below may depend on all tablegen'd files.

View File

@ -126,7 +126,7 @@ if (LLVM_ENABLE_SPHINX)
ARGS ${CMAKE_CURRENT_BINARY_DIR}/Source/FIR/CreateFIRLangRef.py)
# CLANG_TABLEGEN_EXE variable needs to be set for clang_tablegen to run without error
set(CLANG_TABLEGEN_EXE clang-tblgen)
find_program(CLANG_TABLEGEN_EXE "clang-tblgen" ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
gen_rst_file_from_td(FlangCommandLineReference.rst -gen-opt-docs FlangOptionsDocs.td docs-flang-html)
endif()
if (${SPHINX_OUTPUT_MAN})