Move CompilerInstance::LLVMContext and LLVMContext ownership to CodeGenAction
[clang.git] / unittests / CMakeLists.txt
blob45358db370b7481e27de7282332e775ba83ded24
1 function(add_clang_unittest test_dirname link_components used_libs)
2   separate_arguments(link_components)
3   set(LLVM_LINK_COMPONENTS ${link_components})
4   separate_arguments(used_libs)
5   set(LLVM_USED_LIBS ${used_libs})
6   string(REGEX MATCH "([^/]+)$" test_name ${test_dirname})
7   if (CMAKE_BUILD_TYPE)
8     set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
9       ${CLANG_BINARY_DIR}/unittests/${test_dirname}/${CMAKE_BUILD_TYPE})
10   else()
11     set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
12       ${CLANG_BINARY_DIR}/unittests/${test_dirname})
13   endif()
14   if( NOT LLVM_BUILD_TESTS )
15     set(EXCLUDE_FROM_ALL ON)
16   endif()
17   add_clang_executable(${test_name}Tests ${ARGN})
18   add_dependencies(ClangUnitTests ${test_name}Tests)
19 endfunction()
21 add_custom_target(ClangUnitTests)
23 include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include)
24 add_definitions(-DGTEST_HAS_RTTI=0)
25 if( CMAKE_COMPILER_IS_GNUCXX )
26   llvm_replace_compiler_option(CMAKE_CXX_FLAGS "-frtti" "-fno-rtti")
27 elseif( MSVC )
28   llvm_replace_compiler_option(CMAKE_CXX_FLAGS "/GR" "/GR-")
29 endif()
31 if (NOT LLVM_ENABLE_THREADS)
32   add_definitions(-DGTEST_HAS_PTHREAD=0)
33 endif()
35 if(SUPPORTS_NO_VARIADIC_MACROS_FLAG)
36   add_definitions("-Wno-variadic-macros")
37 endif()
39 add_clang_unittest(Basic
40   "support mc"
41   "gtest gtest_main clangBasic"
42   Basic/FileManagerTest.cpp
43  )
45 add_clang_unittest(Frontend
46   "support mc"
47   "gtest gtest_main clangFrontend"
48   Frontend/FrontendActionTest.cpp
49  )