Skip to content

Commit ad33f42

Browse files
committed
Building a shared library for each module
1 parent 9a65e8f commit ad33f42

28 files changed

+173
-114
lines changed

src/CMakeLists.txt

-58
Original file line numberDiff line numberDiff line change
@@ -91,61 +91,3 @@ add_subdirectory(www)
9191
add_subdirectory(xrdlog)
9292
add_subdirectory(xrdreq)
9393
add_subdirectory(xrdsvc)
94-
95-
#-----------------------------------------------------------------------------
96-
97-
add_library(qserv_common SHARED)
98-
99-
target_link_libraries(qserv_common PUBLIC
100-
global
101-
memman
102-
proto
103-
mysql
104-
sql
105-
util
106-
)
107-
108-
install(
109-
TARGETS qserv_common
110-
)
111-
112-
#-----------------------------------------------------------------------------
113-
114-
add_library(xrdsvc SHARED)
115-
116-
target_link_libraries(xrdsvc PUBLIC
117-
wbase
118-
wcontrol
119-
wconfig
120-
wdb
121-
wpublish
122-
wsched
123-
qserv_xrdsvc
124-
qserv_common
125-
)
126-
127-
install(
128-
TARGETS xrdsvc
129-
)
130-
131-
#-----------------------------------------------------------------------------
132-
133-
add_library(qserv_czar SHARED)
134-
135-
target_link_libraries(qserv_czar PUBLIC
136-
ccontrol
137-
czar
138-
parser
139-
qana
140-
query
141-
qdisp
142-
qproc
143-
rproc
144-
qserv_css
145-
qserv_meta
146-
xrdreq
147-
)
148-
149-
install(
150-
TARGETS qserv_czar
151-
)

src/cconfig/CMakeLists.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_library(cconfig OBJECT)
1+
add_library(cconfig SHARED)
22

33
target_sources(cconfig PRIVATE
44
CzarConfig.cc
@@ -12,3 +12,7 @@ target_link_libraries(cconfig PUBLIC
1212
log
1313
XrdSsiLib
1414
)
15+
16+
install(
17+
TARGETS cconfig
18+
)

src/ccontrol/CMakeLists.txt

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_library(ccontrol OBJECT)
1+
add_library(ccontrol SHARED)
22
add_dependencies(ccontrol proto)
33

44
target_include_directories(ccontrol PRIVATE
@@ -37,6 +37,10 @@ target_link_libraries(ccontrol PUBLIC
3737
XrdCl
3838
)
3939

40+
install(
41+
TARGETS ccontrol
42+
)
43+
4044
FUNCTION(ccontrol_tests)
4145
FOREACH(TEST IN ITEMS ${ARGV})
4246
add_executable(${TEST} ${TEST}.cc)
@@ -48,8 +52,8 @@ FUNCTION(ccontrol_tests)
4852
qana
4953
qdisp
5054
qproc
51-
qserv_css
52-
qserv_meta
55+
css
56+
qmeta
5357
query
5458
rproc
5559
xrdreq

src/css/CMakeLists.txt

+8-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
add_library(qserv_css SHARED)
1+
add_library(css SHARED)
22

3-
target_sources(qserv_css PRIVATE
3+
target_sources(css PRIVATE
44
CssAccess.cc
55
CssConfig.cc
66
DbInterfaceMySql.cc
@@ -9,19 +9,21 @@ target_sources(qserv_css PRIVATE
99
KvInterfaceImplMySql.cc
1010
)
1111

12-
target_link_libraries(qserv_css PUBLIC
13-
qserv_common
12+
target_link_libraries(css PUBLIC
13+
mysql
14+
sql
1415
log
16+
util
1517
)
1618

17-
install(TARGETS qserv_css)
19+
install(TARGETS css)
1820
install(DIRECTORY schema/ DESTINATION ${CMAKE_INSTALL_PREFIX}/qserv/smig/css/schema/)
1921

2022
FUNCTION(css_tests)
2123
FOREACH(TEST IN ITEMS ${ARGV})
2224
add_executable(${TEST} ${TEST}.cc)
2325
target_link_libraries(${TEST} PUBLIC
24-
qserv_css
26+
css
2527
Boost::unit_test_framework
2628
)
2729
add_test(NAME ${TEST} COMMAND ${TEST})

src/czar/CMakeLists.txt

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_library(czar OBJECT)
1+
add_library(czar SHARED)
22

33
target_sources(czar PRIVATE
44
ChttpModule.cc
@@ -31,6 +31,10 @@ target_link_libraries(czar PUBLIC
3131
boost_program_options
3232
)
3333

34+
install(
35+
TARGETS czar
36+
)
37+
3438
function(CZAR_UTILS)
3539
foreach(UTIL IN ITEMS ${ARGV})
3640
add_executable(${UTIL})
@@ -46,7 +50,7 @@ function(CZAR_UTILS)
4650
qana
4751
qdisp
4852
qproc
49-
qserv_meta
53+
qmeta
5054
query
5155
rproc
5256
sql

src/global/CMakeLists.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_library(global OBJECT)
1+
add_library(global SHARED)
22

33
target_sources(global PRIVATE
44
DbTable.cc
@@ -12,6 +12,10 @@ target_link_libraries(global PUBLIC
1212
log
1313
)
1414

15+
install(
16+
TARGETS global
17+
)
18+
1519
add_executable(testResourceUnit testResourceUnit.cc)
1620

1721
target_link_libraries(testResourceUnit

src/memman/CMakeLists.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_library(memman OBJECT)
1+
add_library(memman SHARED)
22

33
target_sources(memman PRIVATE
44
MemFile.cc
@@ -11,3 +11,7 @@ target_sources(memman PRIVATE
1111
target_link_libraries(memman PUBLIC
1212
log
1313
)
14+
15+
install(
16+
TARGETS memman
17+
)

src/mysql/CMakeLists.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_library(mysql OBJECT)
1+
add_library(mysql SHARED)
22
add_dependencies(mysql proto)
33

44
target_sources(mysql PRIVATE
@@ -15,6 +15,10 @@ target_link_libraries(mysql PUBLIC
1515
mysqlclient_r
1616
)
1717

18+
install(
19+
TARGETS mysql
20+
)
21+
1822
add_executable(testLocalInfile testLocalInfile.cc)
1923

2024
target_link_libraries(testLocalInfile

src/parser/CMakeLists.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ antlr_target(QSMySqlParser QSMySqlParser.g4 PARSER LISTENER
88
COMPILE_FLAGS -lib ${CMAKE_CURRENT_BINARY_DIR}
99
)
1010

11-
add_library(parser OBJECT)
11+
add_library(parser SHARED)
1212

1313
target_include_directories(parser PRIVATE
1414
${ANTLR4_INCLUDE_DIR}
@@ -28,3 +28,7 @@ target_link_libraries(parser PUBLIC
2828
log
2929
antlr4-runtime
3030
)
31+
32+
install(
33+
TARGETS parser
34+
)

src/proto/CMakeLists.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_library(proto OBJECT)
1+
add_library(proto SHARED)
22

33
target_compile_options(proto PRIVATE
44
-Wno-maybe-uninitialized
@@ -19,6 +19,10 @@ target_link_libraries(proto PUBLIC
1919
protobuf
2020
)
2121

22+
install(
23+
TARGETS proto
24+
)
25+
2226
add_executable(testProtocol testProtocol.cc)
2327

2428
target_link_libraries(testProtocol

src/proxy/CMakeLists.txt

+12-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,18 @@ target_include_directories(czarProxy PRIVATE
1616
target_link_libraries(czarProxy PRIVATE
1717
log
1818
lua-5.1
19-
qserv_czar
20-
)
19+
cconfig
20+
ccontrol
21+
czar
22+
parser
23+
qana
24+
query
25+
qdisp
26+
qproc
27+
rproc
28+
css
29+
qmeta
30+
xrdreq)
2131

2232
install(TARGETS czarProxy DESTINATION ${CMAKE_INSTALL_PREFIX}/lua/qserv/lib)
2333
install(FILES mysqlProxy.lua DESTINATION ${CMAKE_INSTALL_PREFIX}/lua/qserv/scripts)

src/qana/CMakeLists.txt

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_library(qana OBJECT)
1+
add_library(qana SHARED)
22
add_dependencies(qana proto)
33

44
target_sources(qana PRIVATE
@@ -21,6 +21,10 @@ target_link_libraries(qana PUBLIC
2121
log
2222
)
2323

24+
install (
25+
TARGETS qana
26+
)
27+
2428
FUNCTION(qana_tests)
2529
FOREACH(TEST IN ITEMS ${ARGV})
2630
add_executable(${TEST} ${TEST}.cc)
@@ -33,8 +37,8 @@ FUNCTION(qana_tests)
3337
qdisp
3438
qproc
3539
query
36-
qserv_css
37-
qserv_meta
40+
css
41+
qmeta
3842
rproc
3943
xrdreq
4044
Boost::unit_test_framework

src/qdisp/CMakeLists.txt

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_library(qdisp OBJECT)
1+
add_library(qdisp SHARED)
22
add_dependencies(qdisp proto)
33

44
target_sources(qdisp PRIVATE
@@ -24,6 +24,10 @@ target_link_libraries(qdisp PUBLIC
2424
XrdSsiLib
2525
)
2626

27+
install(
28+
TARGETS qdisp
29+
)
30+
2731
add_executable(testQDisp testQDisp.cc)
2832

2933
target_include_directories(testQDisp PRIVATE
@@ -38,8 +42,8 @@ target_link_libraries(testQDisp
3842
qana
3943
qdisp
4044
qproc
41-
qserv_css
42-
qserv_meta
45+
css
46+
qmeta
4347
query
4448
rproc
4549
xrdreq

src/qmeta/CMakeLists.txt

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,32 @@
1-
add_library(qserv_meta SHARED)
1+
add_library(qmeta SHARED)
22

3-
target_sources(qserv_meta PRIVATE
3+
target_sources(qmeta PRIVATE
44
QMeta.cc
55
QMetaMysql.cc
66
QMetaSelect.cc
77
QMetaTransaction.cc
88
QStatusMysql.cc
99
)
1010

11-
target_link_libraries(qserv_meta PUBLIC
11+
target_link_libraries(qmeta PUBLIC
1212
cconfig
13+
global
14+
mysql
1315
qdisp
14-
qserv_common
1516
log
16-
mysqlclient_r
17+
util
1718
)
1819

19-
install(TARGETS qserv_meta)
20+
install(TARGETS qmeta)
2021
install(DIRECTORY schema/ DESTINATION ${CMAKE_INSTALL_PREFIX}/qserv/smig/qmeta/schema/)
2122

2223
add_executable(testQMeta testQMeta.cc)
2324

2425
target_link_libraries(testQMeta
2526
cconfig
26-
qserv_meta
27+
proto
28+
qmeta
29+
sql
2730
Boost::unit_test_framework
2831
Threads::Threads
2932
)

src/qproc/CMakeLists.txt

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_library(qproc OBJECT)
1+
add_library(qproc SHARED)
22
add_dependencies(qproc proto)
33

44
target_sources(qproc PRIVATE
@@ -17,6 +17,10 @@ target_link_libraries(qproc PRIVATE
1717
sphgeom
1818
)
1919

20+
install(
21+
TARGETS qproc
22+
)
23+
2024
FUNCTION(qproc_tests)
2125
FOREACH(TEST IN ITEMS ${ARGV})
2226
add_executable(${TEST} ${TEST}.cc ../tests/QueryAnaHelper.cc)
@@ -29,8 +33,8 @@ FUNCTION(qproc_tests)
2933
qdisp
3034
qproc
3135
query
32-
qserv_css
33-
qserv_meta
36+
css
37+
qmeta
3438
rproc
3539
xrdreq
3640
Boost::unit_test_framework

0 commit comments

Comments
 (0)