aboutsummaryrefslogtreecommitdiff
path: root/ports/libnice/CMakeLists.txt
blob: 0ca7cdafaa5d1327b8e6d0ecd3846431ec0af7a5 (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
cmake_minimum_required(VERSION 3.19)
project(libnice
	LANGUAGES C
	VERSION 0.1.15)
SET (this_target libnice)

if (WIN32)
    add_definitions(
        -D_CRT_SECURE_NO_WARNINGS
        -D_SCL_SECURE_NO_WARNINGS
        -DHAVE_OPENSSL
        -DPACKAGE_STRING="${PROJECT_VERSION}")
else()
    add_definitions(
        -DHAVE_OPENSSL
        -DPACKAGE_STRING="${PROJECT_VERSION}"
        -DHAVE_NETDB_H=1)
endif()

configure_file(${CMAKE_SOURCE_DIR}/win32/vs9/config.h ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
configure_file(${CMAKE_SOURCE_DIR}/win32/vs9/libnice.def ${CMAKE_SOURCE_DIR}/libnice.def COPYONLY)

find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
find_library(IPHLPAPI_LIBRARY iphlpapi)
find_library(WS2_32_LIB ws2_32)
find_library(ADVAPI32_LIB advapi32)
find_package(OpenSSL REQUIRED)
include_directories(
	${CMAKE_CURRENT_SOURCE_DIR} 
	${CMAKE_CURRENT_SOURCE_DIR}/agent
	${CMAKE_CURRENT_SOURCE_DIR}/random 
	${CMAKE_CURRENT_SOURCE_DIR}/socket
	${CMAKE_CURRENT_SOURCE_DIR}/stun
	${GLIB2_INCLUDE_DIRS})


SET (SRCS
	./agent/address.c
	./agent/agent-enum-types.c
	./agent/agent.c
	./agent/candidate.c
	./agent/component.c
	./agent/conncheck.c
	./agent/debug.c
	./agent/discovery.c
	./agent/inputstream.c
	./agent/interfaces.c
	./agent/iostream.c
	./agent/outputstream.c
	./agent/pseudotcp.c
	./agent/stream.c
	./random/random-glib.c
	./random/random.c
	./random/test.c
	./socket/http.c
	./socket/pseudossl.c
	./socket/socket.c
	./socket/socks5.c
	./socket/tcp-active.c
	./socket/tcp-bsd.c
	./socket/tcp-passive.c
	./socket/udp-bsd.c
	./socket/udp-turn-over-tcp.c
	./socket/udp-turn.c
	./stun/debug.c
	./stun/rand.c
	./stun/stun5389.c
	./stun/stunagent.c
	./stun/stuncrc32.c
	./stun/stunhmac.c
	./stun/stunmessage.c
	./stun/usages/bind.c
	./stun/usages/ice.c
	./stun/usages/timer.c
	./stun/usages/turn.c
	./stun/utils.c
	./libnice.def
	)
SET(HEADERS
	./agent/address.h
	./agent/agent-enum-types.h
	./agent/agent-priv.h
	./agent/agent.h
	./agent/candidate.h
	./agent/component.h
	./agent/conncheck.h
	./agent/debug.h
	./agent/discovery.h
	./agent/inputstream.h
	./agent/interfaces.h
	./agent/iostream.h
	./agent/outputstream.h
	./agent/pseudotcp.h
	./agent/stream.h
	./config.h
	./nice/nice.h
	./random/random-glib.h
	./random/random.h
	./socket/http.h
	./socket/pseudossl.h
	./socket/socket-priv.h
	./socket/socket.h
	./socket/socks5.h
	./socket/tcp-active.h
	./socket/tcp-bsd.h
	./socket/tcp-passive.h
	./socket/udp-bsd.h
	./socket/udp-turn-over-tcp.h
	./socket/udp-turn.h
	./stun/constants.h
	./stun/debug.h
	./stun/rand.h
	./stun/stun5389.h
	./stun/stunagent.h
	./stun/stuncrc32.h
	./stun/stunhmac.h
	./stun/stunmessage.h
	./stun/tools/stund.h
	./stun/usages/bind.h
	./stun/usages/ice.h
	./stun/usages/timer.h
	./stun/usages/turn.h
	./stun/utils.h
	./stun/win32_common.h
	./win32/vs9/config.h
	)
add_library(libnice ${SRCS} ${HEADERS})
if (MSVC)
    set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/wd4244 /wd4005 /wd4391 /wd4142 /wd4267")
endif()
if (WIN32)
    target_link_libraries(libnice ${IPHLPAPI_LIBRARY} ${WS2_32_LIB} ${ADVAPI32_LIB} PkgConfig::GLIB2 OpenSSL::SSL)
else()
    target_link_libraries(libnice PkgConfig::GLIB2 OpenSSL::SSL)
endif()
install(TARGETS libnice
RUNTIME DESTINATION bin
    ARCHIVE DESTINATION lib
    LIBRARY DESTINATION lib)

if (CMAKE_BUILD_TYPE STREQUAL "Release")
install(FILES agent/address.h DESTINATION include/nice)
install(FILES agent/agent.h DESTINATION include/nice)
install(FILES agent/candidate.h DESTINATION include/nice)
install(FILES agent/debug.h DESTINATION include/nice)
install(FILES agent/interfaces.h DESTINATION include/nice)
install(FILES nice/nice.h DESTINATION include/nice)
install(FILES agent/pseudotcp.h DESTINATION include/nice)
install(FILES stun/constants.h DESTINATION include/stun)
install(FILES stun/debug.h DESTINATION include/stun)
install(FILES stun/stunagent.h DESTINATION include/stun)
install(FILES stun/stunmessage.h DESTINATION include/stun)
install(FILES stun/usages/bind.h DESTINATION include/stun/usages)
install(FILES stun/usages/ice.h DESTINATION include/stun/usages)
install(FILES stun/usages/timer.h DESTINATION include/stun/usages)
install(FILES stun/usages/turn.h DESTINATION include/stun/usages)
install(FILES stun/win32_common.h DESTINATION include/stun)
endif()