diff options
author | Jeffrey Yasskin <jyasskin@google.com> | 2011-02-15 07:54:28 +0000 |
---|---|---|
committer | Jeffrey Yasskin <jyasskin@google.com> | 2011-02-15 07:54:28 +0000 |
commit | 718b01d077748989f860bd21ee3402852ed0ed86 (patch) | |
tree | 7c49b231062ea9bca6dd02250d4a402a45d077ac /unittests | |
parent | 26c05b11dc91662820e7709bb22efe9903289d1f (diff) | |
download | clang-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.txt | 47 |
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 + ) |