[Lldb-commits] [PATCH] Make CMake choose the test exe target architecture according to the build.

Chandler Carruth chandlerc at gmail.com
Wed Jul 30 16:01:53 PDT 2014


================
Comment at: CMakeLists.txt:22-26
@@ -21,1 +21,7 @@
 
+# Determine the native architecture.
+string(TOLOWER "${LLVM_TARGET_ARCH}" LLDB_TARGET_ARCH)
+if( LLDB_TARGET_ARCH STREQUAL "host" )
+  string(REGEX MATCH "^[^-]*" LLDB_TARGET_ARCH ${LLVM_HOST_TRIPLE})
+endif ()
+
----------------
So, this isn't the "native" architecture. For an LLVM cross compiler, it will not execute on the local machine at all. It's just the target architecture.

I don't think you want to have an 'LLDB_TARGET_ARCH' variable. That doesn't really make sense, especially in the singular.

I think you should just set this in the test-specific cmake, and I think you should make it 'LLDB_TEST_TRIPLE' which is cached, user-overridable, and defaults to 'LLVM_DEFAULT_TARGET_TRIPLE'.

================
Comment at: test/CMakeLists.txt:22
@@ +21,3 @@
+
+set(LLDB_TEST_EXECUTABLE_ARCH_ARGS "--arch=${LLDB_TEST_EXECUTABLE_ARCH}")
+
----------------
Why isn't this just part of the COMMON_TEST_ARGS below?

================
Comment at: test/CMakeLists.txt:24-25
@@ +23,4 @@
+
+# Users can override LLDB_TEST_ARGS to modify the way LLDB tests are run. See help below.
+set(LLDB_TEST_ARGS ${LLDB_TEST_EXECUTABLE_ARCH_ARGS} -C ${LLDB_TEST_COMPILER})
+set(LLDB_TRACE_DIR "${CMAKE_BINARY_DIR}/lldb-test-traces")
----------------
If this is overridable then it should be cached with a descriptive string...

================
Comment at: test/CMakeLists.txt:37
@@ -38,1 +36,3 @@
 
+set(LLDB_TEST_ARGS ${LLDB_COMMON_TEST_ARGS} ${LLDB_TEST_ARGS})
+
----------------
... and we shouldn't clobber it.

http://reviews.llvm.org/D4730






More information about the lldb-commits mailing list