Skip to content

Commit 053a158

Browse files
authored
Merge pull request #746 from stephan57160/master
Problem: Out of sync with ZProject
2 parents 96db886 + 18de447 commit 053a158

File tree

10 files changed

+208
-72
lines changed

10 files changed

+208
-72
lines changed

CMakeLists.txt

Lines changed: 53 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66
########################################################################
77
# Project setup
88
########################################################################
9-
cmake_minimum_required(VERSION 2.8.12)
9+
cmake_minimum_required(VERSION 2.8...4.0)
1010
project(zyre)
1111
enable_language(C)
1212
enable_testing()
1313

14-
set(SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
14+
include(GNUInstallDirs)
15+
1516
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
1617
# Select flags
1718
if(MSVC)
@@ -30,7 +31,7 @@ set(pkg_config_names_private "")
3031
# options
3132
########################################################################
3233
if (NOT CMAKE_BUILD_TYPE)
33-
if (EXISTS "${SOURCE_DIR}/.git")
34+
if (EXISTS "${PROJECT_SOURCE_DIR}/.git")
3435
set (CMAKE_BUILD_TYPE Debug)
3536
else ()
3637
# http://xit0.org/2013/04/cmake-use-git-branch-and-commit-details-in-project/
@@ -76,7 +77,7 @@ if (NOT HAVE_NET_IF_H)
7677
CHECK_INCLUDE_FILE("net/if.h" HAVE_NET_IF_H)
7778
endif()
7879

79-
file(REMOVE "${SOURCE_DIR}/src/platform.h")
80+
file(REMOVE "${PROJECT_SOURCE_DIR}/src/platform.h")
8081

8182
file(WRITE "${PROJECT_BINARY_DIR}/platform.h.in" "
8283
#cmakedefine HAVE_LINUX_WIRELESS_H
@@ -93,7 +94,7 @@ if (WIN32)
9394
#so the sources have to be compiled as c++
9495
if (MSVC AND NOT (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
9596
enable_language(CXX)
96-
file(GLOB sources "${SOURCE_DIR}/src/*.c")
97+
file(GLOB sources "${PROJECT_SOURCE_DIR}/src/*.c")
9798
set_source_files_properties(
9899
${sources}
99100
PROPERTIES LANGUAGE CXX
@@ -119,7 +120,7 @@ if (CYGWIN)
119120
set(MORE_LIBRARIES)
120121
endif()
121122

122-
list(APPEND CMAKE_MODULE_PATH "${SOURCE_DIR}")
123+
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}")
123124
set(OPTIONAL_LIBRARIES)
124125
set(OPTIONAL_LIBRARIES_STATIC)
125126

@@ -186,14 +187,14 @@ set (zyre_headers
186187
)
187188

188189
source_group ("Header Files" FILES ${zyre_headers})
189-
install(FILES ${zyre_headers} DESTINATION include)
190+
install(FILES ${zyre_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
190191

191192
########################################################################
192193
# library
193194
########################################################################
194195

195196

196-
include_directories("${SOURCE_DIR}/src" "${SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}")
197+
include_directories("${PROJECT_SOURCE_DIR}/src" "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}")
197198
set (zyre_sources
198199
src/zyre.c
199200
src/zyre_event.c
@@ -254,15 +255,12 @@ if (ZYRE_BUILD_SHARED)
254255

255256
install(TARGETS zyre
256257
EXPORT zyre-targets
257-
LIBRARY DESTINATION "lib${LIB_SUFFIX}" # .so file
258-
ARCHIVE DESTINATION "lib${LIB_SUFFIX}" # .lib file
259-
RUNTIME DESTINATION bin # .dll file
260258
)
261259

262260
target_include_directories(zyre
263261
PUBLIC
264262
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
265-
$<INSTALL_INTERFACE:include>
263+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
266264
)
267265
endif()
268266

@@ -291,15 +289,12 @@ if (ZYRE_BUILD_STATIC)
291289

292290
install(TARGETS zyre-static
293291
EXPORT zyre-targets
294-
LIBRARY DESTINATION "lib${LIB_SUFFIX}" # .so file
295-
ARCHIVE DESTINATION "lib${LIB_SUFFIX}" # .lib file
296-
RUNTIME DESTINATION bin # .dll file
297292
)
298293

299294
target_include_directories(zyre-static
300295
PUBLIC
301296
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
302-
$<INSTALL_INTERFACE:include>
297+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
303298
)
304299
target_compile_definitions(zyre-static
305300
PUBLIC ZYRE_STATIC
@@ -316,21 +311,21 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/src/CMakeLists-local.txt) # Optional project
316311
set (VERSION "2.0.1")
317312
set (prefix "${CMAKE_INSTALL_PREFIX}")
318313
set (exec_prefix "\${prefix}")
319-
set (libdir "\${prefix}/lib${LIB_SUFFIX}")
320-
set (includedir "\${prefix}/include")
314+
set (libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
315+
set (includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
321316
IF (ENABLE_DRAFTS)
322317
set (pkg_config_defines "-DZYRE_BUILD_DRAFT_API=1")
323318
ELSE (ENABLE_DRAFTS)
324319
set (pkg_config_defines "")
325320
ENDIF (ENABLE_DRAFTS)
326321
configure_file(
327-
"${SOURCE_DIR}/src/libzyre.pc.in"
328-
"${SOURCE_DIR}/src/libzyre.pc"
322+
"${PROJECT_SOURCE_DIR}/src/libzyre.pc.in"
323+
"${PROJECT_SOURCE_DIR}/src/libzyre.pc"
329324
@ONLY)
330325

331326
install(
332-
FILES "${SOURCE_DIR}/src/libzyre.pc"
333-
DESTINATION "lib${LIB_SUFFIX}/pkgconfig"
327+
FILES "${PROJECT_SOURCE_DIR}/src/libzyre.pc"
328+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
334329
)
335330

336331
########################################################################
@@ -340,8 +335,7 @@ include(CMakePackageConfigHelpers)
340335
if (WIN32)
341336
set(CMAKECONFIG_INSTALL_DIR "CMake" CACHE STRING "install path for zyreConfig.cmake")
342337
else()
343-
# GNUInstallDirs "DATADIR" wrong here; CMake search path wants "share".
344-
set(CMAKECONFIG_INSTALL_DIR "share/cmake/zyre" CACHE STRING "install path for zyreConfig.cmake")
338+
set(CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/zyre" CACHE STRING "install path for zyreConfig.cmake")
345339
endif()
346340

347341
if (NOT CMAKE_VERSION VERSION_LESS 3.0)
@@ -366,7 +360,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zyreConfig.cmake
366360
########################################################################
367361
add_executable(
368362
perf_local
369-
"${SOURCE_DIR}/src/perf_local.c"
363+
"${PROJECT_SOURCE_DIR}/src/perf_local.c"
370364
)
371365
if (TARGET zyre)
372366
target_link_libraries(
@@ -389,7 +383,7 @@ target_link_libraries(
389383
endif()
390384
add_executable(
391385
perf_remote
392-
"${SOURCE_DIR}/src/perf_remote.c"
386+
"${PROJECT_SOURCE_DIR}/src/perf_remote.c"
393387
)
394388
if (TARGET zyre)
395389
target_link_libraries(
@@ -412,7 +406,7 @@ target_link_libraries(
412406
endif()
413407
add_executable(
414408
zpinger
415-
"${SOURCE_DIR}/src/zpinger.c"
409+
"${PROJECT_SOURCE_DIR}/src/zpinger.c"
416410
)
417411
if (TARGET zyre)
418412
target_link_libraries(
@@ -433,12 +427,10 @@ target_link_libraries(
433427
${OPTIONAL_LIBRARIES_STATIC}
434428
)
435429
endif()
436-
install(TARGETS zpinger
437-
RUNTIME DESTINATION bin
438-
)
430+
install(TARGETS zpinger)
439431
add_executable(
440432
ztester_beacon
441-
"${SOURCE_DIR}/src/ztester_beacon.c"
433+
"${PROJECT_SOURCE_DIR}/src/ztester_beacon.c"
442434
)
443435
if (TARGET zyre)
444436
target_link_libraries(
@@ -461,7 +453,7 @@ target_link_libraries(
461453
endif()
462454
add_executable(
463455
ztester_gossip
464-
"${SOURCE_DIR}/src/ztester_gossip.c"
456+
"${PROJECT_SOURCE_DIR}/src/ztester_gossip.c"
465457
)
466458
if (TARGET zyre)
467459
target_link_libraries(
@@ -484,7 +476,7 @@ target_link_libraries(
484476
endif()
485477
add_executable(
486478
zyre_selftest
487-
"${SOURCE_DIR}/src/zyre_selftest.c"
479+
"${PROJECT_SOURCE_DIR}/src/zyre_selftest.c"
488480
)
489481
if (TARGET zyre)
490482
target_link_libraries(
@@ -579,37 +571,36 @@ include(CTest)
579571
# cleanup
580572
########################################################################
581573
if (NOT TARGET distclean)
582-
add_custom_target (distclean @echo Cleaning for source distribution)
574+
if (CMAKE_VERSION VERSION_LESS 3.17)
575+
set(rm_command rm -rf)
576+
else()
577+
set(rm_command ${CMAKE_COMMAND} -E rm -rf --)
578+
endif()
579+
set(cmake_generated ${PROJECT_BINARY_DIR}/CMakeCache.txt
580+
${PROJECT_BINARY_DIR}/cmake_install.cmake
581+
${PROJECT_BINARY_DIR}/Makefile
582+
${PROJECT_BINARY_DIR}/CMakeFiles
583+
${PROJECT_BINARY_DIR}/CTestTestfile.cmake
584+
${PROJECT_BINARY_DIR}/DartConfiguration.tcl
585+
${PROJECT_BINARY_DIR}/Testing
586+
${PROJECT_BINARY_DIR}/compile_commands.json
587+
${PROJECT_BINARY_DIR}/platform.h
588+
${PROJECT_BINARY_DIR}/src/libzyre.pc
589+
${PROJECT_BINARY_DIR}/src/libzyre.so
590+
${PROJECT_BINARY_DIR}/src/zyre_selftest
591+
${PROJECT_BINARY_DIR}/src/perf_local
592+
${PROJECT_BINARY_DIR}/src/perf_remote
593+
${PROJECT_BINARY_DIR}/src/zpinger
594+
${PROJECT_BINARY_DIR}/src/ztester_beacon
595+
${PROJECT_BINARY_DIR}/src/ztester_gossip
596+
${PROJECT_BINARY_DIR}/src/zyre_selftest
597+
)
598+
add_custom_target(distclean
599+
COMMAND ${rm_command} CMakeTmp ${cmake_generated}
600+
COMMENT Cleaning for source distribution
601+
)
583602
endif()
584603

585-
set(cmake_generated ${PROJECT_BINARY_DIR}/CMakeCache.txt
586-
${PROJECT_BINARY_DIR}/cmake_install.cmake
587-
${PROJECT_BINARY_DIR}/Makefile
588-
${PROJECT_BINARY_DIR}/CMakeFiles
589-
${PROJECT_BINARY_DIR}/CTestTestfile.cmake
590-
${PROJECT_BINARY_DIR}/DartConfiguration.tcl
591-
${PROJECT_BINARY_DIR}/Testing
592-
${PROJECT_BINARY_DIR}/compile_commands.json
593-
${PROJECT_BINARY_DIR}/platform.h
594-
${PROJECT_BINARY_DIR}/src/libzyre.pc
595-
${PROJECT_BINARY_DIR}/src/libzyre.so
596-
${PROJECT_BINARY_DIR}/src/zyre_selftest
597-
${PROJECT_BINARY_DIR}/src/perf_local
598-
${PROJECT_BINARY_DIR}/src/perf_remote
599-
${PROJECT_BINARY_DIR}/src/zpinger
600-
${PROJECT_BINARY_DIR}/src/ztester_beacon
601-
${PROJECT_BINARY_DIR}/src/ztester_gossip
602-
${PROJECT_BINARY_DIR}/src/zyre_selftest
603-
)
604-
605-
add_custom_command(
606-
DEPENDS clean
607-
COMMENT "distribution clean"
608-
COMMAND rm
609-
ARGS -rf CMakeTmp ${cmake_generated}
610-
TARGET distclean
611-
)
612-
613604
include(ClangFormat OPTIONAL)
614605

615606
########################################################################

bindings/jni/zyre-jni/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
33
# Read the zproject/README.md for information about making permanent changes. #
44
################################################################################
5-
cmake_minimum_required (VERSION 2.8)
5+
cmake_minimum_required (VERSION 2.8...4.0)
66

77
project (zyrejni CXX)
88
enable_language (C)

bindings/jni/zyre-jni/android/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
33
# Read the zproject/README.md for information about making permanent changes. #
44
################################################################################
5-
cmake_minimum_required (VERSION 3.6)
5+
cmake_minimum_required (VERSION 3.6...4.0)
66

77
project (zyrejni CXX)
88
enable_language (C)

bindings/python_cffi/zyre_cffi/cdefs.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4549,6 +4549,14 @@
45494549
void
45504550
zhttp_request_reset_content (zhttp_request_t *self);
45514551
4552+
// Set the request username
4553+
void
4554+
zhttp_request_set_username (zhttp_request_t *self, const char *username);
4555+
4556+
// Set the request password
4557+
void
4558+
zhttp_request_set_password (zhttp_request_t *self, const char *password);
4559+
45524560
// Match the path of the request.
45534561
// Support wildcards with '%s' symbol inside the match string.
45544562
// Matching wildcards until the next '/', '?' or '\0'.

bindings/ruby/lib/zyre/ffi.rb

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,21 @@ def self.available?
2121
end
2222

2323
begin
24-
lib_name = 'libzyre'
25-
lib_dirs = ['/usr/local/lib', '/opt/local/lib', '/usr/lib64']
26-
env_name = "#{lib_name.upcase}_PATH"
27-
lib_dirs = [*ENV[env_name].split(':'), *lib_dirs] if ENV[env_name]
28-
lib_paths = lib_dirs.map { |path| "#{path}/#{lib_name}.#{::FFI::Platform::LIBSUFFIX}" }
29-
ffi_lib lib_paths + [lib_name]
24+
lib_name = 'libzyre'
25+
major_version = '2'
26+
lib_dirs = ['/usr/local/lib', '/opt/local/lib', '/usr/lib64', '/usr/lib']
27+
lib_dirs = [*ENV['LD_LIBRARY_PATH'].split(':'), *lib_dirs] if ENV['LD_LIBRARY_PATH']
28+
lib_dirs = [*ENV["#{lib_name.upcase}_PATH"].split(':'), *lib_dirs] if ENV["#{lib_name.upcase}_PATH"]
29+
lib_paths = lib_dirs.map do |path|
30+
[
31+
"#{path}/#{lib_name}.#{::FFI::Platform::LIBSUFFIX}",
32+
"#{path}/#{lib_name}.#{::FFI::Platform::LIBSUFFIX}.#{major_version}"
33+
]
34+
end.flatten
35+
36+
lib_paths.concat [lib_name, "#{lib_name}.#{::FFI::Platform::LIBSUFFIX}.#{major_version}"]
37+
38+
ffi_lib lib_paths
3039
@available = true
3140
rescue LoadError
3241
warn ""

builds/ios/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# iOS Build
2+
3+
## Prerequisites
4+
5+
The build script require to be run on MacOs with XCode and the developer SDK installed.
6+
7+
This project is tested against SDK 15.5.
8+
9+
If you want to specify another version you need to set the environment variable below:
10+
11+
export SDK_VERSION=15.5
12+
13+
You can list all the versions of the SDK installed on your Mac using the command below:
14+
15+
xcodebuild -showsdks
16+
17+
## Build
18+
19+
In the ios directory, run:
20+
./build.sh [ iPhoneOS armv7 | iPhoneOS armv7s | iPhoneOS arm64 | iPhoneSimulator i386 | iPhoneSimulator x86_64 ]
21+
22+
Note that certain target architectures may or may not be available depending on your target SDK Version. For example, iOS 10 is the maximum deployment target for 32-bit targets.
23+
24+
[This website](https://docs.elementscompiler.com/Platforms/Cocoa/CpuArchitectures/) can help you choose which architecture you need to target depending on your SDK version.

0 commit comments

Comments
 (0)