Skip to content

Commit 9167c82

Browse files
committed
Fixed #399.
Added check_deps target to check include file. It is linux only, so far.
1 parent 779bd0e commit 9167c82

File tree

5 files changed

+31
-4
lines changed

5 files changed

+31
-4
lines changed

.travis.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,17 @@ matrix:
6464
- os: linux
6565
sudo: required
6666
compiler: clang
67-
env: FLAGS="-DMQTT_TEST_1=ON -DMQTT_TEST_2=ON -DMQTT_TEST_3=ON -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_NO_TLS=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON" CFLAGS="-Werror -g -Wall -Wextra -Wno-ignored-qualifiers -fsanitize=address -fno-omit-frame-pointer" CXXFLAGS="-std=c++14 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -fsanitize=address -fno-omit-frame-pointer" LDFLAGS="-Wno-ignored-qualifiers -fsanitize=address" MAKEFLAGS="-j1"
67+
env: FLAGS="-DMQTT_TEST_1=ON -DMQTT_TEST_2=ON -DMQTT_TEST_3=ON -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_NO_TLS=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_STD_ANY=OFF -DMQTT_STD_OPTIONAL=OFF -DMQTT_STD_VARIANT=OFF -DMQTT_STD_STRING_VIEW=OFF" CFLAGS="-Werror -g -Wall -Wextra -Wno-ignored-qualifiers -fsanitize=address -fno-omit-frame-pointer" CXXFLAGS="-std=c++14 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -fsanitize=address -fno-omit-frame-pointer" LDFLAGS="-Wno-ignored-qualifiers -fsanitize=address" MAKEFLAGS="-j1"
6868
addons: *addonsconfig
6969
- os: linux
7070
sudo: required
7171
compiler: clang
72-
env: FLAGS="-DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=ON -DMQTT_TEST_5=ON -DMQTT_TEST_6=ON -DMQTT_TEST_7=OFF -DMQTT_NO_TLS=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON" CFLAGS="-Werror -g -Wall -Wextra -Wno-ignored-qualifiers -fsanitize=address -fno-omit-frame-pointer" CXXFLAGS="-std=c++14 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -fsanitize=address -fno-omit-frame-pointer" LDFLAGS="-Wno-ignored-qualifiers -fsanitize=address" MAKEFLAGS="-j1"
72+
env: FLAGS="-DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=ON -DMQTT_TEST_5=ON -DMQTT_TEST_6=ON -DMQTT_TEST_7=OFF -DMQTT_NO_TLS=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON" CFLAGS="-Werror -g -Wall -Wextra -Wno-ignored-qualifiers -fsanitize=address -fno-omit-frame-pointer" CXXFLAGS="-std=c++17 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -fsanitize=address -fno-omit-frame-pointer" LDFLAGS="-Wno-ignored-qualifiers -fsanitize=address" MAKEFLAGS="-j1"
7373
addons: *addonsconfig
7474
- os: linux
7575
sudo: required
7676
compiler: clang
77-
env: FLAGS="-DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=ON -DMQTT_NO_TLS=OFF -DMQTT_BUILD_EXAMPLES=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON" CFLAGS="-Werror -g -Wall -Wextra -Wno-ignored-qualifiers -fsanitize=address -fno-omit-frame-pointer" CXXFLAGS="-std=c++14 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -fsanitize=address -fno-omit-frame-pointer" LDFLAGS="-Wno-ignored-qualifiers -fsanitize=address" MAKEFLAGS="-j1"
77+
env: FLAGS="-DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=ON -DMQTT_NO_TLS=OFF -DMQTT_BUILD_EXAMPLES=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON" CFLAGS="-Werror -g -Wall -Wextra -Wno-ignored-qualifiers -fsanitize=address -fno-omit-frame-pointer" CXXFLAGS="-std=c++17 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -fsanitize=address -fno-omit-frame-pointer" LDFLAGS="-Wno-ignored-qualifiers -fsanitize=address" MAKEFLAGS="-j1"
7878
addons: *addonsconfig
7979
- os: linux
8080
compiler: gcc
@@ -96,7 +96,7 @@ matrix:
9696

9797
script:
9898
- CXXFLAGS="${CXXFLAGS} -DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION -DBOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING"
99-
- mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER="${CXX}" -DCMAKE_C_COMPILER="${CC}" -DCMAKE_LIBRARY_PATH="${BASE}/usr/lib" -DOPENSSL_ROOT_DIR="${OPENSSL_ROOT_DIR}" $FLAGS .. && travis_wait 50 make $MAKEFLAGS VERBOSE=1 && ctest -VV
99+
- mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER="${CXX}" -DCMAKE_C_COMPILER="${CC}" -DCMAKE_LIBRARY_PATH="${BASE}/usr/lib" -DOPENSSL_ROOT_DIR="${OPENSSL_ROOT_DIR}" $FLAGS .. && make check_deps VERBOSE=1 && travis_wait 50 make $MAKEFLAGS VERBOSE=1 && ctest -VV
100100

101101
after_success:
102102
# Create lcov report

CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ IF (MQTT_BUILD_EXAMPLES)
127127
ADD_SUBDIRECTORY (example)
128128
ENDIF ()
129129

130+
ADD_CUSTOM_TARGET(check_deps)
131+
130132
ADD_SUBDIRECTORY (include)
131133

132134
# Doxygen

include/CMakeLists.txt

+23
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,28 @@ ENDIF ()
4343

4444
target_link_libraries(mqtt_cpp_iface INTERFACE Boost::system Threads::Threads)
4545

46+
list(APPEND CHK_INCLUDE_DIRS -I${Boost_INCLUDE_DIR} -I${CMAKE_CURRENT_SOURCE_DIR})
47+
IF (NOT MQTT_NO_TLS)
48+
list(APPEND CHK_INCLUDE_DIRS -I${OPENSSL_INCLUDE_DIR})
49+
IF (MQTT_OPENSSL_INCLUDE_DIR)
50+
list(APPEND CHK_INCLUDE_DIRS -I${MQTT_OPENSSL_INCLUDE_DIR})
51+
ENDIF ()
52+
ENDIF ()
53+
54+
#str to list
55+
string(REPLACE " " ";" CHK_CXX_FLAGS ${CMAKE_CXX_FLAGS})
56+
string(REPLACE " " ";" CHK_ENV_CXXFLAGS $ENV{CXXFLAGS})
57+
58+
FOREACH (HDR ${HDR_MQTT})
59+
get_filename_component(HDR_WE ${HDR} NAME_WE)
60+
set(CHK_TARGET "${HDR_WE}.chk")
61+
add_custom_target(
62+
${CHK_TARGET}
63+
COMMAND ${CMAKE_CXX_COMPILER} -c ${CHK_ENV_CXX_FLAGS} ${CHK_CXX_FLAGS} ${CHK_INCLUDE_DIRS} ${HDR}
64+
VERBATIM
65+
)
66+
add_dependencies(check_deps ${CHK_TARGET})
67+
ENDFOREACH ()
68+
4669
install(FILES ${HDR_ROOT} DESTINATION ${ROOT_INCLUDE_TARGET})
4770
install(FILES ${HDR_MQTT} DESTINATION ${ROOT_MQTT_TARGET})

include/mqtt/exception.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include <sstream>
1212

1313
#include <boost/system/error_code.hpp>
14+
#include <boost/assert.hpp>
1415

1516
#include <mqtt/namespace.hpp>
1617
#include <mqtt/utf8encoded_strings.hpp>

include/mqtt/message.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include <mqtt/string_check.hpp>
3636
#include <mqtt/move.hpp>
3737
#include <mqtt/reason_code.hpp>
38+
#include <mqtt/connect_return_code.hpp>
3839

3940
namespace MQTT_NS {
4041

0 commit comments

Comments
 (0)