-
Notifications
You must be signed in to change notification settings - Fork 587
/
CMakeLists.txt
45 lines (42 loc) · 1.59 KB
/
CMakeLists.txt
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
# You may redistribute this program and/or modify it under the terms of
# the GNU General Public License as published by the Free Software Foundation,
# either version 3 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 2.4)
string(REGEX REPLACE "^.*/" "" main_dir_name ${CMAKE_SOURCE_DIR})
string(REPLACE ${CMAKE_SOURCE_DIR} ${main_dir_name} this_dir ${CMAKE_CURRENT_SOURCE_DIR})
message("-- Tests to run for " ${this_dir})
add_definitions(-g)
add_library(TestFramework TestFramework.c)
target_link_libraries(TestFramework
crypto
interface
switch
dht
dhtcore
cjdbenc
cjdbenc_JsonBencSerializer
cjdbenc_StandardBencSerializer
cjdmemory
cjdadmin
${LIBEVENT2_LIBRARIES}
)
# Anything in this dir which ends with "test.c" is considered a test.
file(GLOB tests "*test.c")
foreach(test_source_fullpath ${tests})
string(REGEX REPLACE "^.*/" "" test_source ${test_source_fullpath})
string(REPLACE "test.c" "test" test_bin ${test_source})
message(" " ${test_source})
add_executable(${test_bin} ${test_source})
target_link_libraries(${test_bin} TestFramework)
add_test(${test_bin} ${test_bin})
endforeach()
# Add an empty line after tests.
message("")