From: Chris Bieneman Date: Fri, 5 Feb 2016 03:40:37 +0000 (+0000) Subject: Revert "[CMake] Improve the clang order-file generation workflow" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=23347e5957fb4f132bd8ce9df426f3d2d52220c0;p=clang Revert "[CMake] Improve the clang order-file generation workflow" This reverts commit r259862, and attempts to fix builder CMakeCaches. Will try this again some other time... Conflicts: CMakeLists.txt tools/driver/CMakeLists.txt git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259872 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index bdd0ec9124..ca2305e306 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -586,24 +586,14 @@ if( CLANG_INCLUDE_DOCS ) add_subdirectory(docs) endif() -# this line is needed as a cleanup to ensure that any CMakeCaches with the old -# default value get updated to the new default. -if(CLANG_ORDER_FILE STREQUAL "") +if(CLANG_ORDER_FILE STREQUAL "${CMAKE_CURRENT_BINARY_DIR}/clang.order") unset(CLANG_ORDER_FILE CACHE) + unset(CLANG_ORDER_FILE) endif() -set(CLANG_ORDER_FILE ${CMAKE_CURRENT_BINARY_DIR}/clang.order CACHE FILEPATH +set(CLANG_ORDER_FILE "" CACHE FILEPATH "Order file to use when compiling clang in order to improve startup time.") -file(READ ${CLANG_ORDER_FILE} order_file 20) -if(order_file STREQUAL "") - file(REMOVE ${CLANG_ORDER_FILE}) -endif() - -if(CLANG_ORDER_FILE AND NOT EXISTS ${CLANG_ORDER_FILE}) - file(WRITE ${CLANG_ORDER_FILE} "\n") -endif() - if (CLANG_BUILT_STANDALONE OR CMAKE_VERSION VERSION_EQUAL 3 OR CMAKE_VERSION VERSION_GREATER 3) # Generate a list of CMake library targets so that other CMake projects can diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt index c6818af5ae..ffcfbb505a 100644 --- a/tools/driver/CMakeLists.txt +++ b/tools/driver/CMakeLists.txt @@ -87,12 +87,8 @@ if (APPLE) set(TOOL_INFO_BUILD_VERSION) endif() -check_cxx_compiler_flag("-Wl,-order_file,${CLANG_ORDER_FILE}" - LINKER_HAS_ORDER_FILE_FLAG) - -if(LINKER_HAS_ORDER_FILE_FLAG AND CLANG_ORDER_FILE) +if(CLANG_ORDER_FILE) target_link_libraries(clang "-Wl,-order_file,${CLANG_ORDER_FILE}") - set_target_properties(clang PROPERTIES LINK_DEPENDS ${CLANG_ORDER_FILE}) endif() if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS) diff --git a/utils/perf-training/CMakeLists.txt b/utils/perf-training/CMakeLists.txt index f8647a0e44..32f7c84555 100644 --- a/utils/perf-training/CMakeLists.txt +++ b/utils/perf-training/CMakeLists.txt @@ -55,8 +55,9 @@ if(DTRACE) COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py clean ${CMAKE_CURRENT_BINARY_DIR} dtrace COMMENT "Clearing old dtrace data") + add_custom_target(generate-order-file - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py gen-order-file --binary $ --output ${CLANG_ORDER_FILE} ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py gen-order-file --binary $ --output ${CMAKE_CURRENT_BINARY_DIR}/clang.order ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Generating order file" DEPENDS generate-dtrace-logs) endif()