llvm-6502/cmake/modules
David Majnemer 5a1a1856a4 Windows: Add support for unicode command lines
Summary:
The MSVCRT deliberately sends main() code-page specific characters.
This isn't too useful to LLVM as we end up converting the arguments to
UTF-16 and subsequently attempt to use the result as, for example, a
file name.  Instead, we need to have the ability to access the Unicode
command line and transform it to UTF-8.

This has the distinct advantage over using the MSVC-specific wmain()
function as our entry point because:
 - It doesn't work on cygwin.
 - It only work on MinGW with caveats and only then on certain versions.
 - We get to keep our entry point as main(). :)

N.B.  This patch includes fixes to other parts of lib/Support/Windows
s.t. we would be able to take advantage of getting the Unicode paths.
E.G.  clang spawning clang -cc1 would want to give it Unicode arguments.

Reviewers: aaron.ballman, Bigcheese, rnk, ruiu

Reviewed By: rnk

CC: llvm-commits, ygao

Differential Revision: http://llvm-reviews.chandlerc.com/D1834

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192069 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-06 20:25:49 +00:00
..
AddLLVM.cmake Translate ENABLE_CLANG_{ARCMT,REWRITER,STATIC_ANALYZER} when generating 2013-08-27 19:25:01 +00:00
AddLLVMDefinitions.cmake cmake/*: Add svn:eol-style=native and fix CRLF. 2011-02-03 11:41:27 +00:00
CheckAtomic.cmake Rename LLVM_MULTITHREADED define and fix build without threads. 2011-09-19 20:43:23 +00:00
ChooseMSVCCRT.cmake Suppress an annoying CMake warning in ChooseMSVCCRT.cmake 2013-08-19 20:25:26 +00:00
CMakeLists.txt CMake: Add LLVM_INSTALL_TOOLCHAIN_ONLY option. 2013-08-24 00:20:36 +00:00
GetHostTriple.cmake Undo an over zealous rename. This bit of the CMake build really is 2012-01-24 18:00:44 +00:00
GetSVN.cmake Reverts commit r190808 and r190556. 2013-10-01 17:40:47 +00:00
HandleLLVMOptions.cmake [CMake] Add -O1 in debug builds with LLVM_USE_SANITIZER 2013-09-02 09:15:01 +00:00
LLVM-Config.cmake Windows: Add support for unicode command lines 2013-10-06 20:25:49 +00:00
LLVMConfig.cmake.in Target a minimal terminfo library rather than necessarily a full curses 2013-08-12 09:49:17 +00:00
LLVMConfigVersion.cmake.in CMake: support for using LLVM from client projects with find_package. 2011-04-10 16:17:49 +00:00
LLVMParseArguments.cmake Add the PARSE_ARGUMENTS CMake macro to LLVM so I can use it to clean 2011-02-19 18:01:15 +00:00
LLVMProcessSources.cmake CMake: Include private headers / tablegen files in generated Xcode projects. 2012-10-23 21:36:55 +00:00
TableGen.cmake Windows: Add support for unicode command lines 2013-10-06 20:25:49 +00:00
VersionFromVCS.cmake CMake: Don't run 'git svn' if there is no .git/svn directory. 2012-12-10 19:03:37 +00:00