-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
69 lines (60 loc) · 1.66 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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
find_package(Qt${QT_MAJOR_VERSION} COMPONENTS Core Network Qml REQUIRED)
set(CMAKE_AUTOMOC TRUE)
set(qjsonrpc_PRIVATE_HEADERS
src/qjsonrpcservice_p.h
src/qjsonrpcsocket_p.h
src/qjsonrpcabstractserver_p.h
src/qjsonrpcservicereply_p.h
src/qjsonrpchttpserver_p.h
src/http-parser/http_parser.h
)
set(qjsonrpc_PUBLIC_HEADERS
src/qjsonrpcmessage.h
src/qjsonrpcservice.h
src/qjsonrpcsocket.h
src/qjsonrpcserviceprovider.h
src/qjsonrpcabstractserver.h
src/qjsonrpcglobal.h
src/qjsonrpcservicereply.h
src/qjsonrpchttpclient.h
src/qjsonrpchttpserver.h
src/qjsonrpcserver.h
src/qjsonrpcmetatype.h
)
add_library(qjsonrpc SHARED
src/qjsonrpcmessage.cpp
src/qjsonrpcservice.cpp
src/qjsonrpcsocket.cpp
src/qjsonrpcserviceprovider.cpp
src/qjsonrpcabstractserver.cpp
src/qjsonrpcglobal.cpp
src/qjsonrpcservicereply.cpp
src/qjsonrpchttpclient.cpp
src/qjsonrpchttpserver.cpp
src/http-parser/http_parser.c
${qjsonrpc_PRIVATE_HEADERS}
${qjsonrpc_PUBLIC_HEADERS}
)
target_link_libraries(qjsonrpc PRIVATE Qt::Core Qt::Network Qt::Qml)
target_compile_definitions(qjsonrpc PRIVATE
QJSONRPC_BUILD
QJSONRPC_SHARED
QT_DEPRECATED_WARNINGS
QT_DISABLE_DEPRECATED_BEFORE=0x050c00
QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII
QT_NO_CAST_FROM_BYTEARRAY
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
QT_USE_QSTRINGBUILDER
QT_STRICT_ITERATORS
)
target_include_directories(qjsonrpc
PRIVATE src/http-parser
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src
)
set_target_properties(qjsonrpc PROPERTIES
LINK_FLAGS "-Wl,-no-undefined"
SOVERSION 1.1.0
#INTERFACE_INCLUDE_DIRECTORIES
)
install(TARGETS qjsonrpc LIBRARY)
install(FILES ${qjsonrpc_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/qjsonrpc)