Permalink
Browse files

Problem: packaging is out of date

Solution: regenerate via zproject

- bindings for various languages
- CMake builds
- Android builds
- MSVC builds for all versions
  • Loading branch information...
hintjens committed Jan 20, 2016
1 parent acf6c0e commit 86bcbbe6fe0471708c7716b94b4ec6c0d85e16fb
Showing with 7,651 additions and 478 deletions.
  1. +31 −26 .gitignore
  2. +170 −24 CMakeLists.txt
  3. +47 −0 Findczmq.cmake
  4. +47 −0 Findlibsodium.cmake
  5. +47 −0 Findlibzmq.cmake
  6. +370 −0 INSTALL
  7. +12 −8 Makefile.am
  8. +7 −3 autogen.sh
  9. +8 −0 bindings/ruby/Rakefile
  10. +47 −0 bindings/ruby/lib/filemq/ffi.rb
  11. +15 −0 bindings/ruby/lib/filemq/ffi/version.rb
  12. +15 −0 bindings/ruby/spec/ffi_spec.rb
  13. +8 −0 bindings/ruby/spec/spec_helper.rb
  14. +45 −35 builds/{qt-android → android}/android_build_helper.sh
  15. +10 −12 builds/{qt-android → android}/build.sh
  16. +47 −0 builds/android/ci_build.sh
  17. +7 −0 builds/msvc/.gitignore
  18. +20 −0 builds/msvc/platform.h
  19. +21 −0 builds/msvc/properties/Common.props
  20. +16 −0 builds/msvc/properties/DLL.props
  21. +29 −0 builds/msvc/properties/Debug.props
  22. +21 −0 builds/msvc/properties/DebugDEXE.props
  23. +20 −0 builds/msvc/properties/DebugDLL.props
  24. +20 −0 builds/msvc/properties/DebugLEXE.props
  25. +21 −0 builds/msvc/properties/DebugLIB.props
  26. +20 −0 builds/msvc/properties/DebugLTCG.props
  27. +21 −0 builds/msvc/properties/DebugSEXE.props
  28. +17 −0 builds/msvc/properties/EXE.props
  29. +16 −0 builds/msvc/properties/LIB.props
  30. +13 −0 builds/msvc/properties/LTCG.props
  31. +21 −0 builds/msvc/properties/Link.props
  32. +15 −0 builds/msvc/properties/Messages.props
  33. +30 −0 builds/msvc/properties/Output.props
  34. +41 −0 builds/msvc/properties/Release.props
  35. +20 −0 builds/msvc/properties/ReleaseDEXE.props
  36. +19 −0 builds/msvc/properties/ReleaseDLL.props
  37. +20 −0 builds/msvc/properties/ReleaseLEXE.props
  38. +19 −0 builds/msvc/properties/ReleaseLIB.props
  39. +19 −0 builds/msvc/properties/ReleaseLTCG.props
  40. +20 −0 builds/msvc/properties/ReleaseSEXE.props
  41. +20 −0 builds/msvc/properties/Win32.props
  42. +23 −0 builds/msvc/properties/x64.props
  43. +14 −0 builds/msvc/resource.h
  44. +94 −0 builds/msvc/resource.rc
  45. +66 −0 builds/msvc/vs2010/build.bat
  46. +63 −0 builds/msvc/vs2010/czmq.import.props
  47. +63 −0 builds/msvc/vs2010/filemq.import.props
  48. +79 −0 builds/msvc/vs2010/filemq.sln
  49. +63 −0 builds/msvc/vs2010/filemq_client/filemq_client.props
  50. +146 −0 builds/msvc/vs2010/filemq_client/filemq_client.vcxproj
  51. +63 −0 builds/msvc/vs2010/filemq_selftest/filemq_selftest.props
  52. +146 −0 builds/msvc/vs2010/filemq_selftest/filemq_selftest.vcxproj
  53. +63 −0 builds/msvc/vs2010/filemq_server/filemq_server.props
  54. +146 −0 builds/msvc/vs2010/filemq_server/filemq_server.vcxproj
  55. +29 −0 builds/msvc/vs2010/libfilemq/libfilemq.import.xml
  56. +72 −0 builds/msvc/vs2010/libfilemq/libfilemq.props
  57. +110 −0 builds/msvc/vs2010/libfilemq/libfilemq.vcxproj
  58. +80 −0 builds/msvc/vs2010/libfilemq/libfilemq.vcxproj.filters
  59. +66 −0 builds/msvc/vs2010/libzmq.import.props
  60. +66 −0 builds/msvc/vs2012/build.bat
  61. +63 −0 builds/msvc/vs2012/czmq.import.props
  62. +63 −0 builds/msvc/vs2012/filemq.import.props
  63. +79 −0 builds/msvc/vs2012/filemq.sln
  64. +63 −0 builds/msvc/vs2012/filemq_client/filemq_client.props
  65. +146 −0 builds/msvc/vs2012/filemq_client/filemq_client.vcxproj
  66. +63 −0 builds/msvc/vs2012/filemq_selftest/filemq_selftest.props
  67. +146 −0 builds/msvc/vs2012/filemq_selftest/filemq_selftest.vcxproj
  68. +63 −0 builds/msvc/vs2012/filemq_server/filemq_server.props
  69. +146 −0 builds/msvc/vs2012/filemq_server/filemq_server.vcxproj
  70. +29 −0 builds/msvc/vs2012/libfilemq/libfilemq.import.xml
  71. +72 −0 builds/msvc/vs2012/libfilemq/libfilemq.props
  72. +110 −0 builds/msvc/vs2012/libfilemq/libfilemq.vcxproj
  73. +80 −0 builds/msvc/vs2012/libfilemq/libfilemq.vcxproj.filters
  74. +66 −0 builds/msvc/vs2012/libzmq.import.props
  75. +66 −0 builds/msvc/vs2013/build.bat
  76. +63 −0 builds/msvc/vs2013/czmq.import.props
  77. +63 −0 builds/msvc/vs2013/filemq.import.props
  78. +79 −0 builds/msvc/vs2013/filemq.sln
  79. +63 −0 builds/msvc/vs2013/filemq_client/filemq_client.props
  80. +146 −0 builds/msvc/vs2013/filemq_client/filemq_client.vcxproj
  81. +63 −0 builds/msvc/vs2013/filemq_selftest/filemq_selftest.props
  82. +146 −0 builds/msvc/vs2013/filemq_selftest/filemq_selftest.vcxproj
  83. +63 −0 builds/msvc/vs2013/filemq_server/filemq_server.props
  84. +146 −0 builds/msvc/vs2013/filemq_server/filemq_server.vcxproj
  85. +29 −0 builds/msvc/vs2013/libfilemq/libfilemq.import.xml
  86. +72 −0 builds/msvc/vs2013/libfilemq/libfilemq.props
  87. +110 −0 builds/msvc/vs2013/libfilemq/libfilemq.vcxproj
  88. +80 −0 builds/msvc/vs2013/libfilemq/libfilemq.vcxproj.filters
  89. +66 −0 builds/msvc/vs2013/libzmq.import.props
  90. +66 −0 builds/msvc/vs2015/build.bat
  91. +63 −0 builds/msvc/vs2015/czmq.import.props
  92. +63 −0 builds/msvc/vs2015/filemq.import.props
  93. +79 −0 builds/msvc/vs2015/filemq.sln
  94. +63 −0 builds/msvc/vs2015/filemq_client/filemq_client.props
  95. +146 −0 builds/msvc/vs2015/filemq_client/filemq_client.vcxproj
  96. +63 −0 builds/msvc/vs2015/filemq_selftest/filemq_selftest.props
  97. +146 −0 builds/msvc/vs2015/filemq_selftest/filemq_selftest.vcxproj
  98. +63 −0 builds/msvc/vs2015/filemq_server/filemq_server.props
  99. +146 −0 builds/msvc/vs2015/filemq_server/filemq_server.vcxproj
  100. +29 −0 builds/msvc/vs2015/libfilemq/libfilemq.import.xml
  101. +72 −0 builds/msvc/vs2015/libfilemq/libfilemq.props
  102. +110 −0 builds/msvc/vs2015/libfilemq/libfilemq.vcxproj
  103. +80 −0 builds/msvc/vs2015/libfilemq/libfilemq.vcxproj.filters
  104. +66 −0 builds/msvc/vs2015/libzmq.import.props
  105. +0 −30 builds/qt-android/ci_build.sh
  106. +21 −5 ci_build.sh
  107. +177 −28 configure.ac
  108. +7 −7 doc/Makefile.am
  109. +2 −2 doc/asciidoc.conf
  110. +154 −0 doc/mkman
  111. +10 −3 include/filemq_library.h
  112. +6 −0 include/fmq_client.h
  113. +4 −3 include/fmq_msg.h
  114. +3 −3 include/fmq_server.h
  115. +1 −0 packaging/debian/compat
  116. +61 −0 packaging/debian/control
  117. +3 −0 packaging/debian/filemq-dev.install
  118. +21 −0 packaging/debian/filemq.dsc
  119. +4 −0 packaging/debian/filemq.install
  120. +1 −0 packaging/debian/libfilemq2.install
  121. +17 −0 packaging/debian/rules
  122. +91 −0 packaging/redhat/filemq.spec
  123. +2 −59 project.xml
  124. +60 −13 src/Makemodule.am
  125. +3 −0 src/filemq_classes.h
  126. +110 −11 src/filemq_selftest.c
  127. +211 −129 src/fmq_client_engine.inc
  128. +73 −60 src/fmq_msg.c
  129. +23 −14 src/fmq_server_engine.inc
  130. +3 −3 src/libfilemq.pc.in
View
@@ -1,36 +1,40 @@
# Own created files
src/.cache
src/filemq.lst
src/fmq_selftest
src/fmq_sha.lst
src/mymusic
src/testit
src/track
# Object files
*.o
*.so
*.ko
*.obj
*.elf
# Precompiled Headers
*.gch
*.pch
*.pyc
# Libraries
*.lib
*.a
*.la
*.lo
*.pc
*.dll.a
# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib
*.lo
# Executables
filemq_selftest
filemq_server
filemq_client
src/filemq_selftest
src/filemq_server
src/filemq_client
src/filemq_selftest
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex
core
# Man pages
doc/*.1
@@ -44,6 +48,7 @@ doc/*.7
*.trs
Makefile
Makefile.in
!builds/openwrt/Makefile
aclocal.m4
autom4te.cache/
config.log
@@ -58,8 +63,16 @@ src/stamp-h1
src/test-suite.log
src/.dirstamp
# qt-android build results
builds/qt-android/prefix
# CMake cache
CMakeCache.txt
CMakeFiles/
CTestTestfile.cmake
cmake_install.cmake
install_manifest.txt
Testing/
# Android build results
builds/android/prefix
# Android - generated directories
src/app/bin/
@@ -68,16 +81,8 @@ src/app/obj/
src/app/local.properties
# Android -dependencies
builds/android/libsodium
builds/android/libzmq
builds/android/czmq
builds/android/e2fsprogs
builds/android/zyre
src/app/jni/output
# Additionals
# Temporary files
*.swp
*.dirstamp
*.xml.swp
*.c.swp
*.h.swp
*~
View
@@ -12,21 +12,49 @@ enable_language(C)
enable_testing()
set(SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
########################################################################
# determine version
########################################################################
foreach(which MAJOR MINOR PATCH)
file(STRINGS "${SOURCE_DIR}/include/filemq_library.h" FILEMQ_VERSION_STRING REGEX "#define FILEMQ_VERSION_${which}")
string(REGEX MATCH "#define FILEMQ_VERSION_${which} ([0-9_]+)" FILEMQ_REGEX_MATCH "${FILEMQ_VERSION_STRING}")
file(
STRINGS
"${SOURCE_DIR}/include/filemq_library.h"
FILEMQ_VERSION_STRING REGEX
"#define FILEMQ_VERSION_${which}"
)
string(
REGEX MATCH
"#define FILEMQ_VERSION_${which} ([0-9_]+)"
FILEMQ_REGEX_MATCH
"${FILEMQ_VERSION_STRING}"
)
if (NOT FILEMQ_REGEX_MATCH)
message(FATAL_ERROR "failed to parse FILEMQ_VERSION_${which} from filemq.h")
message(
FATAL_ERROR
"failed to parse FILEMQ_VERSION_${which} from filemq.h"
)
endif()
set(FILEMQ_${which}_VERSION ${CMAKE_MATCH_1})
endforeach(which)
set(FILEMQ_VERSION ${FILEMQ_MAJOR_VERSION}.${FILEMQ_MINOR_VERSION}.${FILEMQ_PATCH_VERSION})
set(
FILEMQ_VERSION
${FILEMQ_MAJOR_VERSION}.${FILEMQ_MINOR_VERSION}.${FILEMQ_PATCH_VERSION}
)
########################################################################
# options
########################################################################
if (EXISTS ".git")
OPTION (WITH_DRAFTS "Build and install draft classes and methods" ON)
else ()
OPTION (WITH_DRAFTS "Build and install draft classes and methods" OFF)
endif ()
IF (WITH_DRAFTS)
ADD_DEFINITIONS (-DWITH_DRAFTS)
ENDIF (WITH_DRAFTS)
########################################################################
# platform.h
@@ -45,22 +73,25 @@ if (NOT HAVE_NET_IF_H)
CHECK_INCLUDE_FILE("net/if.h" HAVE_NET_IF_H)
endif()
file(WRITE "${BINARY_DIR}/platform.h.in" "
file(WRITE "${SOURCE_DIR}/src/platform.h.in" "
#cmakedefine HAVE_LINUX_WIRELESS_H
#cmakedefine HAVE_NET_IF_H
#cmakedefine HAVE_NET_IF_MEDIA_H
#cmakedefine HAVE_GETIFADDRS
#cmakedefine HAVE_FREEIFADDRS
")
configure_file("${BINARY_DIR}/platform.h.in" "${BINARY_DIR}/platform.h")
configure_file("${SOURCE_DIR}/src/platform.h.in" "${SOURCE_DIR}/src/platform.h")
#The MSVC C compiler is too out of date,
#so the sources have to be compiled as c++
if (MSVC)
enable_language(CXX)
file(GLOB sources "${SOURCE_DIR}/src/*.c")
set_source_files_properties(${sources} PROPERTIES LANGUAGE CXX)
set_source_files_properties(
${sources}
PROPERTIES LANGUAGE CXX
)
set(MORE_LIBRARIES ws2_32 Rpcrt4 Iphlpapi)
endif()
@@ -75,50 +106,89 @@ if (CYGWIN)
endif()
list(APPEND CMAKE_MODULE_PATH "${SOURCE_DIR}")
set(OPTIONAL_LIBRARIES)
########################################################################
# ZMQ dependency
# LIBSODIUM dependency
########################################################################
find_package(ZeroMQ REQUIRED)
include_directories(${ZEROMQ_INCLUDE_DIRS})
list(APPEND MORE_LIBRARIES ${ZEROMQ_LIBRARIES})
find_package(libsodium)
IF (LIBSODIUM_FOUND)
include_directories(${LIBSODIUM_INCLUDE_DIRS})
list(APPEND MORE_LIBRARIES ${LIBSODIUM_LIBRARIES})
add_definitions(-DHAVE_LIBSODIUM)
list(APPEND OPTIONAL_LIBRARIES ${LIBSODIUM_LIBRARIES})
ENDIF (LIBSODIUM_FOUND)
########################################################################
# LIBZMQ dependency
########################################################################
find_package(libzmq REQUIRED)
IF (LIBZMQ_FOUND)
include_directories(${LIBZMQ_INCLUDE_DIRS})
list(APPEND MORE_LIBRARIES ${LIBZMQ_LIBRARIES})
ELSE (LIBZMQ_FOUND)
message( FATAL_ERROR "libzmq not found." )
ENDIF (LIBZMQ_FOUND)
########################################################################
# CZMQ dependency
########################################################################
find_package(CZMQ REQUIRED)
include_directories(${CZMQ_INCLUDE_DIRS})
list(APPEND MORE_LIBRARIES ${CZMQ_LIBRARIES})
find_package(czmq REQUIRED)
IF (CZMQ_FOUND)
include_directories(${CZMQ_INCLUDE_DIRS})
list(APPEND MORE_LIBRARIES ${CZMQ_LIBRARIES})
ELSE (CZMQ_FOUND)
message( FATAL_ERROR "czmq not found." )
ENDIF (CZMQ_FOUND)
########################################################################
# includes
########################################################################
set (filemq_headers
include/filemq_library.h
include/filemq.h
)
IF (WITH_DRAFTS)
list(APPEND filemq_headers
include/fmq_msg.h
include/fmq_server.h
include/fmq_client.h
)
ENDIF (WITH_DRAFTS)
source_group ("Header Files" FILES ${filemq_headers})
install(FILES ${filemq_headers} DESTINATION include)
########################################################################
# library
########################################################################
include_directories("${BINARY_DIR}" "${SOURCE_DIR}/include")
include_directories("${SOURCE_DIR}/src" "${SOURCE_DIR}/include")
set (filemq_sources
)
IF (WITH_DRAFTS)
list(APPEND filemq_sources
src/fmq_msg.c
src/fmq_server.c
src/fmq_client.c
)
source_group ("Source Files" FILES ${filemq_sources})
ENDIF (WITH_DRAFTS)
source_group("Source Files" FILES ${filemq_sources})
if (NOT DEFINED BUILD_SHARED_LIBS)
SET(BUILD_SHARED_LIBS ON)
endif()
add_library(filemq ${filemq_sources})
set_target_properties(filemq PROPERTIES DEFINE_SYMBOL "LIBFILEMQ_EXPORTS")
target_link_libraries(filemq ${ZEROMQ_LIBRARIES} ${MORE_LIBRARIES})
set_target_properties(filemq
PROPERTIES DEFINE_SYMBOL "LIBFILEMQ_EXPORTS"
)
set_target_properties(filemq
PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${SOURCE_DIR}/src"
)
target_link_libraries(filemq
${ZEROMQ_LIBRARIES} ${MORE_LIBRARIES}
)
install(TARGETS filemq
LIBRARY DESTINATION "lib${LIB_SUFFIX}" # .so file
@@ -134,22 +204,98 @@ set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
set(libdir "\${prefix}/lib${LIB_SUFFIX}")
set(includedir "\${prefix}/include")
IF (WITH_DRAFTS)
set(pkg_config_defines "-DWITH_DRAFTS=1")
ELSE (WITH_DRAFTS)
set(pkg_config_defines "")
ENDIF (WITH_DRAFTS)
configure_file(
"${SOURCE_DIR}/src/libfilemq.pc.in"
"${BINARY_DIR}/libfilemq.pc"
"${SOURCE_DIR}/src/libfilemq.pc"
@ONLY)
install(
FILES "${BINARY_DIR}/libfilemq.pc"
FILES "${SOURCE_DIR}/src/libfilemq.pc"
DESTINATION "lib${LIB_SUFFIX}/pkgconfig"
)
########################################################################
# executables
########################################################################
add_executable(
filemq_server
"${SOURCE_DIR}/src/filemq_server.c"
)
target_link_libraries(
filemq_server
filemq
${LIBZMQ_LIBRARIES}
${CZMQ_LIBRARIES}
${OPTIONAL_LIBRARIES}
)
set_target_properties(
filemq_server
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${SOURCE_DIR}/src"
)
add_executable(
filemq_client
"${SOURCE_DIR}/src/filemq_client.c"
)
target_link_libraries(
filemq_client
filemq
${LIBZMQ_LIBRARIES}
${CZMQ_LIBRARIES}
${OPTIONAL_LIBRARIES}
)
set_target_properties(
filemq_client
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${SOURCE_DIR}/src"
)
add_executable(
filemq_selftest
"${SOURCE_DIR}/src/filemq_selftest.c"
)
target_link_libraries(
filemq_selftest
filemq
${LIBZMQ_LIBRARIES}
${CZMQ_LIBRARIES}
${OPTIONAL_LIBRARIES}
)
set_target_properties(
filemq_selftest
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${SOURCE_DIR}/src"
)
########################################################################
# tests
########################################################################
add_executable(filemq_selftest "${SOURCE_DIR}/src/filemq_selftest.c")
target_link_libraries(filemq_selftest filemq ${ZEROMQ_LIBRARIES})
add_test(filemq_selftest filemq_selftest)
set(CLASSTEST_TIMEOUT 5 CACHE STRING "Timeout of the selftest of a class")
set(TOTAL_TIMEOUT 20 CACHE STRING "Timout of the total testsuite")
set(TEST_CLASSES
)
IF (WITH_DRAFTS)
list(APPEND TEST_CLASSES
fmq_msg
fmq_server
fmq_client
)
ENDIF (WITH_DRAFTS)
foreach(TEST_CLASS ${TEST_CLASSES})
add_test(
NAME ${TEST_CLASS}
COMMAND filemq_selftest --continue --verbose --test ${TEST_CLASS}
)
set_tests_properties(
${TEST_CLASS}
PROPERTIES TIMEOUT ${CLASSTEST_TIMEOUT}
)
endforeach(TEST_CLASS)
########################################################################
# summary
Oops, something went wrong.

0 comments on commit 86bcbbe

Please sign in to comment.