brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 8ee8e98 Raw
61 lines · plain
1get_property(LLVM_LIT_CONFIG_FILES GLOBAL PROPERTY LLVM_LIT_CONFIG_FILES)2list(LENGTH LLVM_LIT_CONFIG_FILES file_len)3math(EXPR file_last "${file_len} - 1")4 5get_llvm_lit_path(LIT_BASE_DIR LIT_FILE_NAME)6 7set(LLVM_SOURCE_DIR ${LLVM_MAIN_SRC_DIR})8 9# LLVM_LIT_CONFIG_FILES contains interleaved main config (in the source tree)10# and site config (in the build tree) pairs. Make them relative to11# llvm-lit and then convert them to map_config() calls.12if("${CMAKE_CFG_INTDIR}" STREQUAL ".")13  make_paths_relative(14    LLVM_LIT_CONFIG_FILES "${LIT_BASE_DIR}" "${LLVM_LIT_CONFIG_FILES}")15  make_paths_relative(16    LLVM_SOURCE_DIR "${LIT_BASE_DIR}" "${LLVM_SOURCE_DIR}")17endif()18 19set(LLVM_LIT_CONFIG_MAP "${LLVM_LIT_PATH_FUNCTION}\n")20if (${file_last} GREATER -1)21  foreach(i RANGE 0 ${file_last} 2)22    list(GET LLVM_LIT_CONFIG_FILES ${i} main_config)23    math(EXPR i1 "${i} + 1")24    list(GET LLVM_LIT_CONFIG_FILES ${i1} site_out)25    set(map "map_config(path(r'${main_config}'), path(r'${site_out}'))")26    set(LLVM_LIT_CONFIG_MAP "${LLVM_LIT_CONFIG_MAP}\n${map}")27  endforeach()28endif()29 30if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")31  foreach(BUILD_MODE ${CMAKE_CONFIGURATION_TYPES})32    string(REPLACE ${CMAKE_CFG_INTDIR} ${BUILD_MODE} bi ${LIT_BASE_DIR})33    set(bi "${bi}/${LIT_FILE_NAME}")34    configure_file(35      llvm-lit.in36      ${bi}37      )38    if (WIN32)39      string(REPLACE ${CMAKE_CFG_INTDIR} ${BUILD_MODE} bi_dir ${LIT_BASE_DIR})40      configure_file(41        llvm-lit.cmd.in42        ${bi_dir}/llvm-lit.cmd43        @ONLY44        NEWLINE_STYLE DOS)45    endif()46  endforeach()47else()48  set(BUILD_MODE .)49  configure_file(50    llvm-lit.in51    ${LIT_BASE_DIR}/${LIT_FILE_NAME}52    )53  if (WIN32)54    configure_file(55      llvm-lit.cmd.in56      ${LIT_BASE_DIR}/llvm-lit.cmd57      @ONLY58      NEWLINE_STYLE DOS)59  endif()  60endif()61