64 lines · plain
1#===-- lib/Support/CMakeLists.txt ------------------------------------------===#2#3# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4# See https://llvm.org/LICENSE.txt for license information.5# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6#7#===------------------------------------------------------------------------===#8 9find_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc)10find_first_existing_vc_file("${FLANG_SOURCE_DIR}" flang_vc)11 12# The VC revision include that we want to generate.13set(version_inc "${CMAKE_CURRENT_BINARY_DIR}/VCSVersion.inc")14 15set(generate_vcs_version_script "${LLVM_CMAKE_DIR}/GenerateVersionFromVCS.cmake")16 17if(llvm_vc AND LLVM_APPEND_VC_REV)18 set(llvm_source_dir ${LLVM_MAIN_SRC_DIR})19endif()20if(flang_vc AND LLVM_APPEND_VC_REV)21 set(flang_source_dir ${FLANG_SOURCE_DIR})22endif()23 24# Create custom target to generate the VC revision include.25add_custom_command(OUTPUT "${version_inc}"26 DEPENDS "${llvm_vc}" "${flang_vc}" "${generate_vcs_version_script}"27 COMMAND ${CMAKE_COMMAND} "-DNAMES=\"LLVM;FLANG\""28 "-DLLVM_SOURCE_DIR=${llvm_source_dir}"29 "-DFLANG_SOURCE_DIR=${flang_source_dir}"30 "-DHEADER_FILE=${version_inc}"31 "-DLLVM_FORCE_VC_REVISION=${LLVM_FORCE_VC_REVISION}"32 "-DLLVM_FORCE_VC_REPOSITORY=${LLVM_FORCE_VC_REPOSITORY}"33 -P "${generate_vcs_version_script}")34 35# Mark the generated header as being generated.36set_source_files_properties("${version_inc}"37 PROPERTIES GENERATED TRUE38 HEADER_FILE_ONLY TRUE)39 40if(FLANG_VENDOR)41 set_source_files_properties(Version.cpp42 PROPERTIES COMPILE_DEFINITIONS "FLANG_VENDOR=\"${FLANG_VENDOR} \"")43endif()44 45add_flang_library(FortranSupport46 default-kinds.cpp47 Flags.cpp48 Fortran.cpp49 Fortran-features.cpp50 idioms.cpp51 LangOptions.cpp52 OpenMP-utils.cpp53 Timing.cpp54 Version.cpp55 ${version_inc}56 57 LINK_COMPONENTS58 Support59 60 MLIR_LIBS61 MLIRIR62 MLIRSupport63)64