From d5889d8c7fcd97994cf38bb7469a703fe3db3672 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Thu, 17 Nov 2011 01:19:53 +0000 Subject: [PATCH] llvm-build: Attempt to work around a CMake Makefile generator bug that doesn't properly quote strings when writing the CMakeFiles/Makefile.cmake output file (which lists the dependencies). This shows up when using CMake + MSYS Makefile generator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144873 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/llvm-build/llvmbuild/main.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/utils/llvm-build/llvmbuild/main.py b/utils/llvm-build/llvmbuild/main.py index fa76aa5d8ed..21cf3928829 100644 --- a/utils/llvm-build/llvmbuild/main.py +++ b/utils/llvm-build/llvmbuild/main.py @@ -21,6 +21,21 @@ def cmake_quote_string(value): return value +def cmake_quote_path(value): + """ + cmake_quote_path(value) -> str + + Return a quoted form of the given value that is suitable for use in CMake + language files. + """ + + # CMake has a bug in it's Makefile generator that doesn't properly quote + # strings it generates. So instead of using proper quoting, we just use "/" + # style paths. Currently, we only handle escaping backslashes. + value = value.replace("\\", "/") + + return value + def mk_quote_string_for_target(value): """ mk_quote_string_for_target(target_name) -> str @@ -430,7 +445,7 @@ class LLVMProjectInfo(object): print >>f, """\ configure_file(\"%s\" ${CMAKE_CURRENT_BINARY_DIR}/DummyConfigureOutput)""" % ( - cmake_quote_string(dep),) + cmake_quote_path(dep),) f.close()