Index: llvm/CMakeLists.txt =================================================================== --- llvm/CMakeLists.txt +++ llvm/CMakeLists.txt @@ -1142,7 +1142,7 @@ # Installing the headers needs to depend on generating any public # tablegen'd headers. - add_custom_target(llvm-headers DEPENDS intrinsics_gen) + add_custom_target(llvm-headers DEPENDS intrinsics_gen omp_gen) set_target_properties(llvm-headers PROPERTIES FOLDER "Misc") if (NOT LLVM_ENABLE_IDE) Index: llvm/cmake/modules/AddLLVM.cmake =================================================================== --- llvm/cmake/modules/AddLLVM.cmake +++ llvm/cmake/modules/AddLLVM.cmake @@ -932,6 +932,9 @@ if (TARGET intrinsics_gen) add_dependencies(obj.${name} intrinsics_gen) endif() + if (TARGET omp_gen) + add_dependencies(obj.${name} omp_gen) + endif() set_property(GLOBAL APPEND PROPERTY LLVM_STATIC_EXTENSIONS ${name}) elseif(NOT ARG_NO_MODULE) add_llvm_library(${name} MODULE ${ARG_UNPARSED_ARGUMENTS}) Index: llvm/cmake/modules/CMakeLists.txt =================================================================== --- llvm/cmake/modules/CMakeLists.txt +++ llvm/cmake/modules/CMakeLists.txt @@ -28,6 +28,9 @@ if(intrinsics_gen IN_LIST LLVM_COMMON_DEPENDS) list(REMOVE_ITEM LLVM_COMMON_DEPENDS intrinsics_gen) endif() +if(omp_gen IN_LIST LLVM_COMMON_DEPENDS) + list(REMOVE_ITEM LLVM_COMMON_DEPENDS omp_gen) +endif() # Generate LLVMConfig.cmake for the build tree. set(LLVM_CONFIG_CODE " Index: llvm/cmake/modules/LLVMConfig.cmake.in =================================================================== --- llvm/cmake/modules/LLVMConfig.cmake.in +++ llvm/cmake/modules/LLVMConfig.cmake.in @@ -104,12 +104,15 @@ @llvm_config_include_buildtree_only_exports@ endif() -# By creating intrinsics_gen here, subprojects that depend on LLVM's +# By creating intrinsics_gen and omp_gen here, subprojects that depend on LLVM's # tablegen-generated headers can always depend on this target whether building # in-tree with LLVM or not. if(NOT TARGET intrinsics_gen) add_custom_target(intrinsics_gen) endif() +if(NOT TARGET omp_gen) + add_custom_target(omp_gen) +endif() set_property(GLOBAL PROPERTY LLVM_TARGETS_CONFIGURED On) include(${LLVM_CMAKE_DIR}/LLVM-Config.cmake) Index: llvm/lib/Transforms/IPO/CMakeLists.txt =================================================================== --- llvm/lib/Transforms/IPO/CMakeLists.txt +++ llvm/lib/Transforms/IPO/CMakeLists.txt @@ -45,4 +45,5 @@ DEPENDS intrinsics_gen + omp_gen ) Index: llvm/unittests/Frontend/CMakeLists.txt =================================================================== --- llvm/unittests/Frontend/CMakeLists.txt +++ llvm/unittests/Frontend/CMakeLists.txt @@ -10,6 +10,9 @@ add_llvm_unittest(LLVMFrontendTests OpenMPContextTest.cpp OpenMPIRBuilderTest.cpp + + DEPENDS + omp_gen ) target_link_libraries(LLVMFrontendTests PRIVATE LLVMTestingSupport)