Skip to content

Commit

Permalink
Merge pull request #107 from hintjens/master
Browse files Browse the repository at this point in the history
Problem: out of date wrt zproject
  • Loading branch information
c-rack committed Jan 18, 2016
2 parents c120c45 + d7ea494 commit 9a02488
Show file tree
Hide file tree
Showing 38 changed files with 213 additions and 219 deletions.
106 changes: 66 additions & 40 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,19 @@ set(
${MALAMUTE_MAJOR_VERSION}.${MALAMUTE_MINOR_VERSION}.${MALAMUTE_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
########################################################################
Expand Down Expand Up @@ -93,38 +106,39 @@ if (CYGWIN)
endif()

list(APPEND CMAKE_MODULE_PATH "${SOURCE_DIR}")
set(OPTIONAL_LIBRARIES)

########################################################################
# LIBSODIUM dependency
########################################################################
find_package(Libsodium REQUIRED)
find_package(libsodium)
IF (LIBSODIUM_FOUND)
include_directories(${LIBSODIUM_INCLUDE_DIRS})
list(APPEND MORE_LIBRARIES ${LIBSODIUM_LIBRARIES})
ELSE (LIBSODIUM_FOUND)
message( FATAL_ERROR "Libsodium not found." )
add_definitions(-DHAVE_LIBSODIUM)
list(APPEND OPTIONAL_LIBRARIES ${LIBSODIUM_LIBRARIES})
ENDIF (LIBSODIUM_FOUND)

########################################################################
# LIBZMQ dependency
########################################################################
find_package(ZeroMQ REQUIRED)
IF (ZEROMQ_FOUND)
include_directories(${ZEROMQ_INCLUDE_DIRS})
list(APPEND MORE_LIBRARIES ${ZEROMQ_LIBRARIES})
ELSE (ZEROMQ_FOUND)
message( FATAL_ERROR "ZeroMQ not found." )
ENDIF (ZEROMQ_FOUND)
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)
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." )
message( FATAL_ERROR "czmq not found." )
ENDIF (CZMQ_FOUND)

########################################################################
Expand All @@ -133,16 +147,22 @@ ENDIF (CZMQ_FOUND)
set (malamute_headers
include/mlm_library.h
include/malamute.h
include/mlm_proto.h
include/mlm_server.h
include/mlm_client.h
src/mlm_msg.h
src/mlm_stream_simple.h
src/mlm_mailbox_simple.h
src/mlm_server_engine.inc
src/mlm_client_engine.inc
src/mlm_client_custom.xml
)

IF (WITH_DRAFTS)
list(APPEND malamute_headers
include/mlm_proto.h
include/mlm_server.h
include/mlm_client.h
)
ENDIF (WITH_DRAFTS)

source_group ("Header Files" FILES ${malamute_headers})
install(FILES ${malamute_headers} DESTINATION include)

Expand All @@ -151,13 +171,19 @@ install(FILES ${malamute_headers} DESTINATION include)
########################################################################
include_directories("${SOURCE_DIR}/src" "${SOURCE_DIR}/include")
set (mlm_sources
src/mlm_proto.c
src/mlm_server.c
src/mlm_client.c
src/mlm_msg.c
src/mlm_stream_simple.c
src/mlm_mailbox_simple.c
)

IF (WITH_DRAFTS)
list(APPEND mlm_sources
src/mlm_proto.c
src/mlm_server.c
src/mlm_client.c
)
ENDIF (WITH_DRAFTS)

source_group("Source Files" FILES ${mlm_sources})
if (NOT DEFINED BUILD_SHARED_LIBS)
SET(BUILD_SHARED_LIBS ON)
Expand Down Expand Up @@ -207,9 +233,9 @@ add_executable(
target_link_libraries(
malamute
mlm
${LIBSODIUM_LIBRARIES}
${ZEROMQ_LIBRARIES}
${LIBZMQ_LIBRARIES}
${CZMQ_LIBRARIES}
${OPTIONAL_LIBRARIES}
)
set_target_properties(
malamute
Expand All @@ -222,9 +248,9 @@ add_executable(
target_link_libraries(
mshell
mlm
${LIBSODIUM_LIBRARIES}
${ZEROMQ_LIBRARIES}
${LIBZMQ_LIBRARIES}
${CZMQ_LIBRARIES}
${OPTIONAL_LIBRARIES}
)
set_target_properties(
mshell
Expand All @@ -237,9 +263,9 @@ add_executable(
target_link_libraries(
mlm_tutorial
mlm
${LIBSODIUM_LIBRARIES}
${ZEROMQ_LIBRARIES}
${LIBZMQ_LIBRARIES}
${CZMQ_LIBRARIES}
${OPTIONAL_LIBRARIES}
)
set_target_properties(
mlm_tutorial
Expand All @@ -252,9 +278,9 @@ add_executable(
target_link_libraries(
mlm_perftest
mlm
${LIBSODIUM_LIBRARIES}
${ZEROMQ_LIBRARIES}
${LIBZMQ_LIBRARIES}
${CZMQ_LIBRARIES}
${OPTIONAL_LIBRARIES}
)
set_target_properties(
mlm_perftest
Expand All @@ -267,9 +293,9 @@ add_executable(
target_link_libraries(
mlm_selftest
mlm
${LIBSODIUM_LIBRARIES}
${ZEROMQ_LIBRARIES}
${LIBZMQ_LIBRARIES}
${CZMQ_LIBRARIES}
${OPTIONAL_LIBRARIES}
)
set_target_properties(
mlm_selftest
Expand All @@ -283,30 +309,30 @@ 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
mlm_proto_test
mlm_server_test
mlm_client_test
mlm_msg_test
mlm_stream_simple_test
mlm_mailbox_simple_test
mlm_msg
mlm_stream_simple
mlm_mailbox_simple
)

IF (WITH_DRAFTS)
list(APPEND TEST_CLASSES
mlm_proto
mlm_server
mlm_client
)
ENDIF (WITH_DRAFTS)

foreach(TEST_CLASS ${TEST_CLASSES})
add_test(
NAME ${TEST_CLASS}
COMMAND mlm_selftest -e -v --test ${TEST_CLASS}
COMMAND mlm_selftest --continue --verbose --test ${TEST_CLASS}
)
set_tests_properties(
${TEST_CLASS}
PROPERTIES TIMEOUT ${CLASSTEST_TIMEOUT}
)
endforeach(TEST_CLASS)

add_test(mlm_selftest mlm_selftest)
set_tests_properties(
mlm_selftest
PROPERTIES TIMEOUT ${TOTAL_TIMEOUT}
)

########################################################################
# summary
Expand Down
52 changes: 35 additions & 17 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,21 +1,39 @@
FROM ubuntu:trusty

MAINTAINER Benjamin Henrion <zoobab@gmail.com>

RUN apt-get update && \
apt-get install -y uuid-dev build-essential git-core libtool unzip && \
apt-get install -y autotools-dev autoconf automake pkg-config libkrb5-dev && \
mkdir -p /tmp/malamute && \
cd /tmp/malamute && \
git clone https://github.com/jedisct1/libsodium && \
( cd libsodium; ./autogen.sh; ./configure; make check; make install; ldconfig; cd .. ) && \
git clone https://github.com/zeromq/libzmq && \
( cd libzmq; ./autogen.sh; ./configure; make check; make install; ldconfig; cd .. ) && \
git clone https://github.com/zeromq/czmq && \
( cd czmq; ./autogen.sh; ./configure; make check; make install; ldconfig; cd .. ) && \
git clone git://github.com/zeromq/malamute.git && \
( cd malamute; ./autogen.sh; ./configure; make check; make install; ldconfig; cd .. ) && \
cd ../.. && \
rm -rf /tmp/malamute
RUN DEBIAN_FRONTEND=noninteractive apt-get update -y -q
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --force-yes uuid-dev build-essential git-core libtool autotools-dev autoconf automake pkg-config unzip libkrb5-dev cmake

RUN useradd -d /home/zmq -m -s /bin/bash zmq
RUN echo "zmq ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/zmq
RUN chmod 0440 /etc/sudoers.d/zmq

USER zmq

WORKDIR /home/zmq
RUN git clone https://github.com/zeromq/libzmq.git
WORKDIR /home/zmq/libzmq
RUN ./autogen.sh
RUN ./configure
RUN make
RUN sudo make install
RUN sudo ldconfig

WORKDIR /home/zmq
RUN git clone https://github.com/zeromq/czmq.git
WORKDIR /home/zmq/czmq
RUN ./autogen.sh
RUN ./configure
RUN make
RUN sudo make install
RUN sudo ldconfig

CMD ["malamute"]
WORKDIR /home/zmq
RUN git clone git://github.com/zeromq/malamute.git
WORKDIR /home/zmq/malamute
RUN mkdir build
WORKDIR /home/zmq/malamute/build
RUN cmake ..
RUN make
RUN sudo make install
RUN sudo ldconfig
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
ACLOCAL_AMFLAGS = -I config

AM_CFLAGS = \
-Werror=format-security
-Werror=format-security


AM_CPPFLAGS = \
Expand Down
9 changes: 4 additions & 5 deletions builds/android/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,13 @@ fi
(android_build_verify_so "libmlm.so" "libczmq.so" &> /dev/null) || {
rm -rf "${cache}/malamute"
(cp -r ../.. "${cache}/malamute" && cd "${cache}/malamute" \
&& make clean && rm configure config.status)
rm
&& make clean && rm -f configure config.status)

export LIBTOOL_EXTRA_LDFLAGS='-avoid-version'

(cd "${cache}/malamute" && ./autogen.sh \
&& ./configure "${ANDROID_BUILD_OPTS[@]}" \
&& make \
&& ./configure "${ANDROID_BUILD_OPTS[@]}" --without-documentation \
&& make -j 4 \
&& make install) || exit 1
}

Expand All @@ -69,7 +68,7 @@ fi

android_build_verify_so "libczmq.so"
android_build_verify_so "libmlm.so" "libczmq.so"
echo "Qt Android build successful"
echo "Android build successful"
################################################################################
# THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
# Please refer to the README for information about making permanent changes. #
Expand Down
1 change: 0 additions & 1 deletion builds/msvc/platform.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,5 @@
#define __PLATFORM_H_INCLUDED__

#define MLM_HAVE_WINDOWS
#define HAVE_LIBUUID 1

#endif
5 changes: 0 additions & 5 deletions builds/msvc/vs2010/libmlm/libmlm.props
Original file line number Diff line number Diff line change
Expand Up @@ -36,23 +36,19 @@
<!-- Dependencies -->

<ImportGroup Label="PropertySheets">
<Import Project="$(SolutionDir)libsodium.import.props" />
<Import Project="$(SolutionDir)libzmq.import.props" />
<Import Project="$(SolutionDir)czmq.import.props" />
</ImportGroup>

<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
<Linkage-libsodium>dynamic</Linkage-libsodium>
<Linkage-libzmq>dynamic</Linkage-libzmq>
<Linkage-czmq>dynamic</Linkage-czmq>
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
<Linkage-libsodium>ltcg</Linkage-libsodium>
<Linkage-libzmq>ltcg</Linkage-libzmq>
<Linkage-czmq>ltcg</Linkage-czmq>
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
<Linkage-libsodium>static</Linkage-libsodium>
<Linkage-libzmq>static</Linkage-libzmq>
<Linkage-czmq>static</Linkage-czmq>
</PropertyGroup>
Expand All @@ -64,7 +60,6 @@
</Target>

<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high"/>
<Message Text="Linkage-libzmq : $(Linkage-libzmq)" Importance="high"/>
<Message Text="Linkage-czmq : $(Linkage-czmq)" Importance="high"/>
</Target>
Expand Down
5 changes: 0 additions & 5 deletions builds/msvc/vs2010/malamute/malamute.props
Original file line number Diff line number Diff line change
Expand Up @@ -28,34 +28,29 @@
<!-- Dependencies -->
<ImportGroup Label="PropertySheets">
<Import Project="$(SolutionDir)malamute.import.props" />
<Import Project="$(SolutionDir)libsodium.import.props" />
<Import Project="$(SolutionDir)libzmq.import.props" />
<Import Project="$(SolutionDir)czmq.import.props" />
</ImportGroup>

<PropertyGroup Condition="$(Configuration.IndexOf('DEXE')) != -1">
<Linkage-mlm>dynamic</Linkage-mlm>
<Linkage-libsodium>dynamic</Linkage-libsodium>
<Linkage-libzmq>dynamic</Linkage-libzmq>
<Linkage-czmq>dynamic</Linkage-czmq>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.IndexOf('LEXE')) != -1">
<Linkage-mlm>ltcg</Linkage-mlm>
<Linkage-libsodium>ltcg</Linkage-libsodium>
<Linkage-libzmq>ltcg</Linkage-libzmq>
<Linkage-czmq>ltcg</Linkage-czmq>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.IndexOf('SEXE')) != -1">
<Linkage-mlm>static</Linkage-mlm>
<Linkage-libsodium>static</Linkage-libsodium>
<Linkage-libzmq>static</Linkage-libzmq>
<Linkage-czmq>static</Linkage-czmq>
</PropertyGroup>

<!-- Messages -->
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-mlm : $(Linkage-mlm)" Importance="high"/>
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high"/>
<Message Text="Linkage-libzmq : $(Linkage-libzmq)" Importance="high"/>
<Message Text="Linkage-czmq : $(Linkage-czmq)" Importance="high"/>
</Target>
Expand Down
Loading

0 comments on commit 9a02488

Please sign in to comment.