CMake: factor out a function that returns the expected directory for unit test
authorAlexey Samsonov <samsonov@google.com>
Wed, 19 Dec 2012 12:30:33 +0000 (12:30 +0000)
committerAlexey Samsonov <samsonov@google.com>
Wed, 19 Dec 2012 12:30:33 +0000 (12:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170539 91177308-0d34-0410-b5e6-96231b3b80d8

cmake/modules/AddLLVM.cmake

index 43ee9a08b27fbcbd2e80a074a49102a03a18773f..cfb876e0763a72aef9a80049b85b9a1221eaf56f 100755 (executable)
@@ -155,14 +155,20 @@ macro(add_llvm_external_project name)
   endif()
 endmacro(add_llvm_external_project)
 
-# Generic support for adding a unittest.
-function(add_unittest test_suite test_name)
+# Returns directory where unittest should reside.
+function(get_unittest_directory dir)
   if (CMAKE_BUILD_TYPE)
-    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
-      ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE})
+   set(result ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE})
   else()
-    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+   set(result ${CMAKE_CURRENT_BINARY_DIR})
   endif()
+  set(${dir} ${result} PARENT_SCOPE)
+endfunction()
+
+# Generic support for adding a unittest.
+function(add_unittest test_suite test_name)
+  get_unittest_directory(OUTPUT_DIR)
+  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIR})
   if( NOT LLVM_BUILD_TESTS )
     set(EXCLUDE_FROM_ALL ON)
   endif()