1
- # TODO: determine CMAKE_SYSTEM_NAME on OS/390. Currently assumes "OS/390".
2
1
cmake_minimum_required (VERSION 3.4)
3
2
project (libuv LANGUAGES C)
4
3
@@ -114,7 +113,7 @@ if(WIN32)
114
113
list (APPEND uv_test_sources src/win/snprintf.c test /runner-win.c)
115
114
else ()
116
115
list (APPEND uv_defines _FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE)
117
- if (NOT CMAKE_SYSTEM_NAME STREQUAL "Android" )
116
+ if (NOT CMAKE_SYSTEM_NAME MATCHES "Android|OS390 " )
118
117
# TODO: This should be replaced with find_package(Threads) if possible
119
118
# Android has pthread as part of its c library, not as a separate
120
119
# libpthread.so.
@@ -147,9 +146,12 @@ if(CMAKE_SYSTEM_NAME STREQUAL "AIX")
147
146
_ALL_SOURCE
148
147
_LINUX_SOURCE_COMPAT
149
148
_THREAD_SAFE
150
- _XOPEN_SOURCE=500)
149
+ _XOPEN_SOURCE=500
150
+ HAVE_SYS_AHAFS_EVPRODS_H)
151
151
list (APPEND uv_libraries perfstat)
152
- list (APPEND uv_sources src/unix /aix.c)
152
+ list (APPEND uv_sources
153
+ src/unix /aix.c
154
+ src/unix /aix-common.c)
153
155
endif ()
154
156
155
157
if (CMAKE_SYSTEM_NAME STREQUAL "Android" )
@@ -167,7 +169,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android")
167
169
src/unix /sysinfo-loadavg.c)
168
170
endif ()
169
171
170
- if (APPLE OR CMAKE_SYSTEM_NAME MATCHES "Android|Linux|OS/390 " )
172
+ if (APPLE OR CMAKE_SYSTEM_NAME MATCHES "Android|Linux|OS390 " )
171
173
list (APPEND uv_sources src/unix /proctitle.c)
172
174
endif ()
173
175
@@ -221,10 +223,11 @@ if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
221
223
list (APPEND uv_sources src/unix /openbsd.c)
222
224
endif ()
223
225
224
- if (CMAKE_SYSTEM_NAME STREQUAL "OS/390 " )
226
+ if (CMAKE_SYSTEM_NAME STREQUAL "OS390 " )
225
227
list (APPEND uv_defines PATH_MAX=255)
226
228
list (APPEND uv_defines _AE_BIMODAL)
227
229
list (APPEND uv_defines _ALL_SOURCE)
230
+ list (APPEND uv_defines _ISOC99_SOURCE)
228
231
list (APPEND uv_defines _LARGE_TIME_API)
229
232
list (APPEND uv_defines _OPEN_MSGQ_EXT)
230
233
list (APPEND uv_defines _OPEN_SYS_FILE_EXT)
@@ -237,9 +240,25 @@ if(CMAKE_SYSTEM_NAME STREQUAL "OS/390")
237
240
list (APPEND uv_defines _XOPEN_SOURCE_EXTENDED)
238
241
list (APPEND uv_sources
239
242
src/unix /pthread-fixes.c
240
- src/unix /pthread-barrier.c
241
243
src/unix /os390.c
242
244
src/unix /os390-syscalls.c)
245
+ list (APPEND uv_cflags -Wc,DLL -Wc,exportall -Wc,xplink)
246
+ list (APPEND uv_libraries -Wl,xplink)
247
+ list (APPEND uv_test_libraries -Wl,xplink)
248
+ endif ()
249
+
250
+ if (CMAKE_SYSTEM_NAME STREQUAL "OS400" )
251
+ list (APPEND uv_defines
252
+ _ALL_SOURCE
253
+ _LINUX_SOURCE_COMPAT
254
+ _THREAD_SAFE
255
+ _XOPEN_SOURCE=500)
256
+ list (APPEND uv_sources
257
+ src/unix /aix-common.c
258
+ src/unix /ibmi.c
259
+ src/unix /no -fsevents.c
260
+ src/unix /no -proctitle.c
261
+ src/unix /posix-poll.c)
243
262
endif ()
244
263
245
264
if (CMAKE_SYSTEM_NAME STREQUAL "SunOS" )
@@ -280,6 +299,37 @@ target_include_directories(uv_a
280
299
target_link_libraries (uv_a ${uv_libraries} )
281
300
282
301
if (LIBUV_BUILD_TESTS)
302
+ # Small hack: use ${uv_test_sources} now to get the runner skeleton,
303
+ # before the actual tests are added.
304
+ add_executable (
305
+ uv_run_benchmarks_a
306
+ ${uv_test_sources}
307
+ test /benchmark-async-pummel.c
308
+ test /benchmark-async.c
309
+ test /benchmark-fs-stat.c
310
+ test /benchmark-getaddrinfo.c
311
+ test /benchmark-loop-count.c
312
+ test /benchmark-million-async.c
313
+ test /benchmark-million-timers.c
314
+ test /benchmark-multi-accept.c
315
+ test /benchmark-ping-pongs.c
316
+ test /benchmark-ping-udp.c
317
+ test /benchmark-pound.c
318
+ test /benchmark-pump.c
319
+ test /benchmark-sizes.c
320
+ test /benchmark-spawn.c
321
+ test /benchmark-tcp-write-batch.c
322
+ test /benchmark-thread.c
323
+ test /benchmark-udp-pummel.c
324
+ test /blackhole-server.c
325
+ test /dns-server.c
326
+ test /echo-server.c
327
+ test /run-benchmarks.c
328
+ test /runner.c)
329
+ target_compile_definitions (uv_run_benchmarks_a PRIVATE ${uv_defines} )
330
+ target_compile_options (uv_run_benchmarks_a PRIVATE ${uv_cflags} )
331
+ target_link_libraries (uv_run_benchmarks_a uv_a ${uv_test_libraries} )
332
+
283
333
list (APPEND uv_test_sources
284
334
test /blackhole-server.c
285
335
test /echo-server.c
@@ -447,6 +497,10 @@ if(LIBUV_BUILD_TESTS)
447
497
add_test (NAME uv_test
448
498
COMMAND uv_run_tests
449
499
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
500
+ if (CMAKE_SYSTEM_NAME STREQUAL "OS390" )
501
+ set_tests_properties (uv_test PROPERTIES ENVIRONMENT
502
+ "LIBPATH=${CMAKE_BINARY_DIR} :$ENV{LIBPATH} " )
503
+ endif ()
450
504
add_executable (uv_run_tests_a ${uv_test_sources} )
451
505
target_compile_definitions (uv_run_tests_a PRIVATE ${uv_defines} )
452
506
target_compile_options (uv_run_tests_a PRIVATE ${uv_cflags} )
0 commit comments