blob: acb571b86788233d54a8de141115e6a98fadc0a6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
# -*- cmake -*-
project (test)
include(00-Common)
include(LLCommon)
include(LLDatabase)
include(LLInventory)
include(LLMath)
include(LLMessage)
include(LLVFS)
include(LLXML)
include(Linking)
include_directories(
${LLCOMMON_INCLUDE_DIRS}
${LLDATABASE_INCLUDE_DIRS}
${LLMATH_INCLUDE_DIRS}
${LLMESSAGE_INCLUDE_DIRS}
${LLINVENTORY_INCLUDE_DIRS}
${LLVFS_INCLUDE_DIRS}
${LLXML_INCLUDE_DIRS}
)
set(test_SOURCE_FILES
common.cpp
inventory.cpp
io.cpp
llapp_tut.cpp
llbase64_tut.cpp
llblowfish_tut.cpp
llbuffer_tut.cpp
lldate_tut.cpp
llerror_tut.cpp
llhost_tut.cpp
llhttpdate_tut.cpp
llhttpclient_tut.cpp
llhttpnode_tut.cpp
llinventoryparcel_tut.cpp
lliohttpserver_tut.cpp
lljoint_tut.cpp
llmime_tut.cpp
llmessageconfig_tut.cpp
llmodularmath_tut.cpp
llnamevalue_tut.cpp
llpermissions_tut.cpp
llpipeutil.cpp
llquaternion_tut.cpp
llrandom_tut.cpp
llsaleinfo_tut.cpp
llsdmessagebuilder_tut.cpp
llsdmessagereader_tut.cpp
llsd_new_tut.cpp
llsdserialize_tut.cpp
llsdutil_tut.cpp
llservicebuilder_tut.cpp
llstreamtools_tut.cpp
llstring_tut.cpp
lltemplatemessagebuilder_tut.cpp
lltiming_tut.cpp
lltut.cpp
lluri_tut.cpp
lluuidhashmap_tut.cpp
llxfer_tut.cpp
math.cpp
message_tut.cpp
reflection_tut.cpp
test.cpp
v2math_tut.cpp
v3color_tut.cpp
v3dmath_tut.cpp
v3math_tut.cpp
v4color_tut.cpp
v4coloru_tut.cpp
v4math_tut.cpp
)
set(test_HEADER_FILES
CMakeLists.txt
llpipeutil.h
llsdtraits.h
lltut.h
)
if (NOT WINDOWS)
list(APPEND test_SOURCE_FILES
llmessagetemplateparser_tut.cpp
)
endif (NOT WINDOWS)
if (NOT DARWIN)
list(APPEND test_SOURCE_FILES
)
endif (NOT DARWIN)
set_source_files_properties(${test_HEADER_FILES}
PROPERTIES HEADER_FILE_ONLY TRUE)
list(APPEND test_SOURC_FILES ${test_HEADER_FILES})
add_executable(test ${test_SOURCE_FILES})
target_link_libraries(test
${LLDATABASE_LIBRARIES}
${LLINVENTORY_LIBRARIES}
${LLMESSAGE_LIBRARIES}
${LLMATH_LIBRARIES}
${LLVFS_LIBRARIES}
${LLXML_LIBRARIES}
${LLCOMMON_LIBRARIES}
${PTHREAD_LIBRARY}
${WINDOWS_LIBRARIES}
${DL_LIBRARY}
)
if (WINDOWS)
set_target_properties(test
PROPERTIES
LINK_FLAGS "/NODEFAULTLIB:MSVCRT"
LINK_FLAGS_DEBUG "/NODEFAULTLIB:LIBCMT"
)
endif (WINDOWS)
get_target_property(TEST_EXE test LOCATION)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt
COMMAND ${TEST_EXE}
ARGS
--output=${CMAKE_CURRENT_BINARY_DIR}/cpp_test_results.txt
--touch=${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt
DEPENDS test
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "C++ unit tests"
)
set(test_results ${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt)
if (EXISTS /etc/debian_version_FAIL)
# The Python tests have all kinds of wacky non-portable assumptions
# built in.
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/py_tests_ok.txt
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/test.py
--mode=static
--output=${CMAKE_CURRENT_BINARY_DIR}/py_test_results.txt
--touch=${CMAKE_CURRENT_BINARY_DIR}/py_tests_ok.txt
--mode=static
DEPENDS test.py
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Python unit tests"
)
list(APPEND test_results ${CMAKE_CURRENT_BINARY_DIR}/py_tests_ok.txt)
endif (EXISTS /etc/debian_version_FAIL)
add_custom_target(tests_ok ALL DEPENDS ${test_results})
|