55 lines · plain
1find_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc)2find_first_existing_vc_file("${BOLT_SOURCE_DIR}" bolt_vc)3 4# The VC revision include that we want to generate.5set(version_inc "${CMAKE_CURRENT_BINARY_DIR}/VCSVersion.inc")6 7set(generate_vcs_version_script "${LLVM_CMAKE_DIR}/GenerateVersionFromVCS.cmake")8 9if(llvm_vc AND LLVM_APPEND_VC_REV)10 set(llvm_source_dir ${LLVM_MAIN_SRC_DIR})11endif()12if(LLVM_VC_REPOSITORY AND LLVM_VC_REVISION)13 set(llvm_source_dir ${LLVM_SOURCE_DIR})14 set(llvm_vc_repository ${LLVM_VC_REPOSITORY})15 set(llvm_vc_revision ${LLVM_VC_REVISION})16endif()17if(bolt_vc AND LLVM_APPEND_VC_REV)18 set(bolt_source_dir ${BOLT_SOURCE_DIR})19endif()20 21# Create custom target to generate the VC revision include.22add_custom_command(OUTPUT "${version_inc}"23 DEPENDS "${llvm_vc}" "${bolt_vc}" "${generate_vcs_version_script}"24 COMMAND ${CMAKE_COMMAND} "-DNAMES=BOLT"25 "-DLLVM_SOURCE_DIR=${llvm_source_dir}"26 "-DBOLT_SOURCE_DIR=${bolt_source_dir}"27 "-DHEADER_FILE=${version_inc}"28 "-DLLVM_VC_REPOSITORY=${llvm_vc_repository}"29 "-DLLVM_VC_REVISION=${llvm_vc_revision}"30 "-DLLVM_FORCE_VC_REVISION=${LLVM_FORCE_VC_REVISION}"31 "-DLLVM_FORCE_VC_REPOSITORY=${LLVM_FORCE_VC_REPOSITORY}"32 -P "${generate_vcs_version_script}")33 34# Mark the generated header as being generated.35set_source_files_properties("${version_inc}"36 PROPERTIES GENERATED TRUE37 HEADER_FILE_ONLY TRUE)38 39include_directories(${CMAKE_CURRENT_BINARY_DIR})40 41add_llvm_library(LLVMBOLTUtils42 CommandLineOpts.cpp43 Utils.cpp44 ${version_inc}45 46 NO_EXPORT47 DISABLE_LLVM_LINK_LLVM_DYLIB48 49 LINK_LIBS50 ${LLVM_PTHREAD_LIB}51 52 LINK_COMPONENTS53 Support54 )55