annotate lldb/unittests/CMakeLists.txt @ 213:25ca0248ac32

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 11 Jul 2021 17:05:31 +0900
parents 2e18cbf3894f
children c4bab56944e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 add_custom_target(LLDBUnitTests)
anatofuz
parents:
diff changeset
2 set_target_properties(LLDBUnitTests PROPERTIES FOLDER "lldb tests")
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
3
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
4 add_dependencies(lldb-unit-test-deps LLDBUnitTests)
150
anatofuz
parents:
diff changeset
5
anatofuz
parents:
diff changeset
6 include_directories(${LLDB_SOURCE_ROOT})
anatofuz
parents:
diff changeset
7 include_directories(${LLDB_PROJECT_ROOT}/unittests)
anatofuz
parents:
diff changeset
8
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
9 if (CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
10 add_compile_options("-Wno-suggest-override")
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
11 endif()
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
12
150
anatofuz
parents:
diff changeset
13 set(LLDB_GTEST_COMMON_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/gtest_common.h)
anatofuz
parents:
diff changeset
14 if (MSVC)
anatofuz
parents:
diff changeset
15 list(APPEND LLVM_COMPILE_FLAGS /FI ${LLDB_GTEST_COMMON_INCLUDE})
anatofuz
parents:
diff changeset
16 else ()
anatofuz
parents:
diff changeset
17 list(APPEND LLVM_COMPILE_FLAGS -include ${LLDB_GTEST_COMMON_INCLUDE})
anatofuz
parents:
diff changeset
18 endif ()
anatofuz
parents:
diff changeset
19
anatofuz
parents:
diff changeset
20 if (LLDB_BUILT_STANDALONE)
anatofuz
parents:
diff changeset
21 # Build the gtest library needed for unittests, if we have LLVM sources
anatofuz
parents:
diff changeset
22 # handy.
anatofuz
parents:
diff changeset
23 if (EXISTS ${LLVM_MAIN_SRC_DIR}/utils/unittest AND NOT TARGET gtest)
anatofuz
parents:
diff changeset
24 add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/unittest utils/unittest)
anatofuz
parents:
diff changeset
25 endif()
anatofuz
parents:
diff changeset
26 # LLVMTestingSupport library is needed for Process/gdb-remote.
anatofuz
parents:
diff changeset
27 if (EXISTS ${LLVM_MAIN_SRC_DIR}/lib/Testing/Support
anatofuz
parents:
diff changeset
28 AND NOT TARGET LLVMTestingSupport)
anatofuz
parents:
diff changeset
29 add_subdirectory(${LLVM_MAIN_SRC_DIR}/lib/Testing/Support
anatofuz
parents:
diff changeset
30 lib/Testing/Support)
anatofuz
parents:
diff changeset
31 endif()
anatofuz
parents:
diff changeset
32 endif()
anatofuz
parents:
diff changeset
33
anatofuz
parents:
diff changeset
34 function(add_lldb_unittest test_name)
anatofuz
parents:
diff changeset
35 cmake_parse_arguments(ARG
anatofuz
parents:
diff changeset
36 ""
anatofuz
parents:
diff changeset
37 ""
anatofuz
parents:
diff changeset
38 "LINK_LIBS;LINK_COMPONENTS"
anatofuz
parents:
diff changeset
39 ${ARGN})
anatofuz
parents:
diff changeset
40
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
41 if (NOT ${test_name} MATCHES "Tests$")
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
42 message(FATAL_ERROR "Unit test name must end with 'Tests' for lit to find it.")
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
43 endif()
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
44
150
anatofuz
parents:
diff changeset
45 list(APPEND LLVM_LINK_COMPONENTS ${ARG_LINK_COMPONENTS})
anatofuz
parents:
diff changeset
46
anatofuz
parents:
diff changeset
47 add_unittest(LLDBUnitTests
anatofuz
parents:
diff changeset
48 ${test_name}
anatofuz
parents:
diff changeset
49 ${ARG_UNPARSED_ARGUMENTS}
anatofuz
parents:
diff changeset
50 )
anatofuz
parents:
diff changeset
51
anatofuz
parents:
diff changeset
52 add_custom_command(
anatofuz
parents:
diff changeset
53 TARGET ${test_name}
anatofuz
parents:
diff changeset
54 POST_BUILD
anatofuz
parents:
diff changeset
55 COMMAND "${CMAKE_COMMAND}" -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/Inputs)
anatofuz
parents:
diff changeset
56
anatofuz
parents:
diff changeset
57 target_link_libraries(${test_name} PRIVATE ${ARG_LINK_LIBS})
anatofuz
parents:
diff changeset
58 endfunction()
anatofuz
parents:
diff changeset
59
anatofuz
parents:
diff changeset
60 function(add_unittest_inputs test_name inputs)
anatofuz
parents:
diff changeset
61 foreach (INPUT ${inputs})
anatofuz
parents:
diff changeset
62 add_custom_command(
anatofuz
parents:
diff changeset
63 TARGET ${test_name}
anatofuz
parents:
diff changeset
64 POST_BUILD
anatofuz
parents:
diff changeset
65 COMMAND "${CMAKE_COMMAND}" -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Inputs/${INPUT} ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/Inputs
anatofuz
parents:
diff changeset
66 COMMENT "Copying ${INPUT} to binary directory.")
anatofuz
parents:
diff changeset
67 endforeach()
anatofuz
parents:
diff changeset
68 endfunction()
anatofuz
parents:
diff changeset
69
anatofuz
parents:
diff changeset
70 add_subdirectory(TestingSupport)
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
71 if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
72 # FIXME: APITests.exe is not a valid googletest binary.
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
73 add_subdirectory(API)
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
74 endif()
150
anatofuz
parents:
diff changeset
75 add_subdirectory(Breakpoint)
anatofuz
parents:
diff changeset
76 add_subdirectory(Core)
anatofuz
parents:
diff changeset
77 add_subdirectory(DataFormatter)
anatofuz
parents:
diff changeset
78 add_subdirectory(Disassembler)
anatofuz
parents:
diff changeset
79 add_subdirectory(Editline)
anatofuz
parents:
diff changeset
80 add_subdirectory(Expression)
anatofuz
parents:
diff changeset
81 add_subdirectory(Host)
anatofuz
parents:
diff changeset
82 add_subdirectory(Interpreter)
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
83 add_subdirectory(Instruction)
150
anatofuz
parents:
diff changeset
84 add_subdirectory(Language)
anatofuz
parents:
diff changeset
85 add_subdirectory(ObjectFile)
anatofuz
parents:
diff changeset
86 add_subdirectory(Platform)
anatofuz
parents:
diff changeset
87 add_subdirectory(Process)
anatofuz
parents:
diff changeset
88 add_subdirectory(ScriptInterpreter)
anatofuz
parents:
diff changeset
89 add_subdirectory(Signals)
anatofuz
parents:
diff changeset
90 add_subdirectory(Symbol)
anatofuz
parents:
diff changeset
91 add_subdirectory(SymbolFile)
anatofuz
parents:
diff changeset
92 add_subdirectory(Target)
anatofuz
parents:
diff changeset
93 add_subdirectory(tools)
anatofuz
parents:
diff changeset
94 add_subdirectory(UnwindAssembly)
anatofuz
parents:
diff changeset
95 add_subdirectory(Utility)
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
96 add_subdirectory(Thread)
150
anatofuz
parents:
diff changeset
97
anatofuz
parents:
diff changeset
98 if(LLDB_CAN_USE_DEBUGSERVER AND LLDB_TOOL_DEBUGSERVER_BUILD AND NOT LLDB_USE_SYSTEM_DEBUGSERVER)
anatofuz
parents:
diff changeset
99 add_subdirectory(debugserver)
anatofuz
parents:
diff changeset
100 endif()