summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
blob: b30a54fb57666576491603b7d3af826a079ebf25 (plain) (blame)
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
# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
# @author Vegard Sjonfjell
# @author Eirik Nygaard
# @author Arnstein Ressem
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)

project(vespa CXX C)

# allows import of project in CLion on OSX
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
    set(CMAKE_THREAD_LIBS_INIT "-lpthread")
endif()

# TODO: Move this to where it's actually needed
find_package(JNI REQUIRED)

include(functions.cmake)
include(build_settings.cmake)

# Enable CTest unit testing
enable_testing()

# Include vespa config definitions in every target
include_directories(BEFORE ${CMAKE_BINARY_DIR}/configdefinitions/src)

add_subdirectory(application-model)
add_subdirectory(application-preprocessor)
add_subdirectory(chain)
add_subdirectory(component)
add_subdirectory(config-bundle)
add_subdirectory(config-model)
add_subdirectory(config-model-api)
add_subdirectory(config-provisioning)
add_subdirectory(config-proxy)
add_subdirectory(config)
add_subdirectory(config-model-fat)
add_subdirectory(configd)
add_subdirectory(configdefinitions)
add_subdirectory(configserver)
add_subdirectory(configutil)
add_subdirectory(container-accesslogging)
add_subdirectory(container-core)
add_subdirectory(container-di)
add_subdirectory(container-disc)
add_subdirectory(container-jersey2)
add_subdirectory(container-messagebus)
add_subdirectory(container-search)
add_subdirectory(container-search-and-docproc)
add_subdirectory(clustercontroller-apps)
add_subdirectory(clustercontroller-apputil)
add_subdirectory(clustercontroller-utils)
add_subdirectory(clustercontroller-core)
add_subdirectory(defaults)
add_subdirectory(docker-api)
add_subdirectory(docproc)
add_subdirectory(docprocs)
add_subdirectory(document)
add_subdirectory(documentapi)
add_subdirectory(eval)
add_subdirectory(fastlib)
add_subdirectory(fastos)
add_subdirectory(fbench)
add_subdirectory(fileacquirer)
add_subdirectory(filedistribution)
add_subdirectory(fnet)
add_subdirectory(fsa)
add_subdirectory(jdisc_core)
add_subdirectory(jdisc_http_service)
add_subdirectory(jdisc_jetty)
add_subdirectory(jrt_test)
add_subdirectory(juniper)
add_subdirectory(logd)
add_subdirectory(logserver)
add_subdirectory(logforwarder)
add_subdirectory(lowercasing_test)
add_subdirectory(memfilepersistence)
add_subdirectory(messagebus)
add_subdirectory(messagebus_test)
add_subdirectory(metrics)
add_subdirectory(node-repository)
add_subdirectory(orchestrator)
add_subdirectory(persistence)
add_subdirectory(persistencetypes)
add_subdirectory(searchcommon)
add_subdirectory(searchcore)
add_subdirectory(searchcorespi)
add_subdirectory(searchlib)
add_subdirectory(searchsummary)
add_subdirectory(service-monitor)
add_subdirectory(simplemetrics)
add_subdirectory(slobrok)
add_subdirectory(staging_vespalib)
add_subdirectory(standalone-container)
add_subdirectory(storage)
add_subdirectory(storageapi)
add_subdirectory(storageframework)
add_subdirectory(storageserver)
add_subdirectory(statistics)
add_subdirectory(streamingvisitors)
add_subdirectory(vbench)
add_subdirectory(vdslib)
add_subdirectory(vdstestlib)
add_subdirectory(vespa-athenz)
add_subdirectory(vespa-http-client)
add_subdirectory(vespa_jersey2)
add_subdirectory(vespabase)
add_subdirectory(vespaclient)
add_subdirectory(vespaclient-core)
add_subdirectory(vespaclient-container-plugin)
add_subdirectory(vespaclient-java)
add_subdirectory(vespajlib)
add_subdirectory(vespalib)
add_subdirectory(vespalog)
add_subdirectory(vespamalloc)
add_subdirectory(vsm)
add_subdirectory(zkfacade)

# Create module targets with name ${MODULE}+module depending on every target defined within that module
__create_module_targets(TARGETS "module")

# Create module targets with name ${MODULE}+test depending on every test target defined within that module
__create_module_targets(TEST_TARGETS "test")