summaryrefslogtreecommitdiff
path: root/unittests
diff options
context:
space:
mode:
authorJeffrey Yasskin <jyasskin@google.com>2011-02-15 07:54:28 +0000
committerJeffrey Yasskin <jyasskin@google.com>2011-02-15 07:54:28 +0000
commit718b01d077748989f860bd21ee3402852ed0ed86 (patch)
tree7c49b231062ea9bca6dd02250d4a402a45d077ac /unittests
parent26c05b11dc91662820e7709bb22efe9903289d1f (diff)
downloadclang-718b01d077748989f860bd21ee3402852ed0ed86.tar.gz
clang-718b01d077748989f860bd21ee3402852ed0ed86.tar.bz2
clang-718b01d077748989f860bd21ee3402852ed0ed86.tar.xz
Add CMake support to the clang unittests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125561 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests')
-rw-r--r--unittests/CMakeLists.txt47
1 files changed, 47 insertions, 0 deletions
diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt
new file mode 100644
index 0000000000..c7c773348f
--- /dev/null
+++ b/unittests/CMakeLists.txt
@@ -0,0 +1,47 @@
+function(add_clang_unittest test_dirname)
+ string(REGEX MATCH "([^/]+)$" test_name ${test_dirname})
+ if (CMAKE_BUILD_TYPE)
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
+ ${CLANG_BINARY_DIR}/unittests/${test_dirname}/${CMAKE_BUILD_TYPE})
+ else()
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
+ ${CLANG_BINARY_DIR}/unittests/${test_dirname})
+ endif()
+ if( NOT LLVM_BUILD_TESTS )
+ set(EXCLUDE_FROM_ALL ON)
+ endif()
+ add_clang_executable(${test_name}Tests ${ARGN})
+ add_dependencies(ClangUnitTests ${test_name}Tests)
+endfunction()
+
+add_custom_target(ClangUnitTests)
+
+include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include)
+add_definitions(-DGTEST_HAS_RTTI=0)
+if( CMAKE_COMPILER_IS_GNUCXX )
+ llvm_replace_compiler_option(CMAKE_CXX_FLAGS "-frtti" "-fno-rtti")
+elseif( MSVC )
+ llvm_replace_compiler_option(CMAKE_CXX_FLAGS "/GR" "/GR-")
+endif()
+
+if (NOT LLVM_ENABLE_THREADS)
+ add_definitions(-DGTEST_HAS_PTHREAD=0)
+endif()
+
+if(SUPPORTS_NO_VARIADIC_MACROS_FLAG)
+ add_definitions("-Wno-variadic-macros")
+endif()
+
+set(LLVM_LINK_COMPONENTS
+ Core
+ )
+
+set(LLVM_USED_LIBS
+ gtest
+ gtest_main
+ clangFrontend
+ )
+
+add_clang_unittest(Frontend
+ Frontend/FrontendActionTest.cpp
+ )