Make CMake choose the target architecture according to the build.
authorZachary Turner <zturner@google.com>
Thu, 31 Jul 2014 21:07:41 +0000 (21:07 +0000)
committerZachary Turner <zturner@google.com>
Thu, 31 Jul 2014 21:07:41 +0000 (21:07 +0000)
commit7c1bc2b8ae53b80593f2a0f3486d32d5f88e7851
treec9f4f844d4d2663fe6f10956eb88e0d3fa96defa
parentea32c105a6959a503720e1c5a39e058cadfeef33
Make CMake choose the target architecture according to the build.

Previously, CMake was invoking the test runner and not specifying
what architecture to use when building test executables.  The
Makefiles for the test executables then had logic to choose x64
by default.  This doesn't work on Windows because the test compiler
would then try to link against the 64-bit MSVCRT and not find them
since only the 32-bit MSVCRT was in the path.

This patch addresses this by figuring out, at CMake time, whether
or not you are building LLDB with a 64 or 32-bit toolchain.  Then,
it explicitly passes this value to the test runner, causing the
test runner to build tests whose architecture matches that of LLDB
itself.  This can still be overridden by setting the CMake variable
LLDB_TEST_EXECUTABLE_ARCH=(x64|x86)

llvm-svn: 214443
lldb/test/CMakeLists.txt
lldb/test/dotest.py
lldb/test/make/Makefile.rules