From 7761497778d084eb0172541b8517fa33fbb55dfd Mon Sep 17 00:00:00 2001 From: Stefan Herbrechtsmeier Date: Fri, 20 Sep 2019 22:45:37 +0200 Subject: [PATCH] ci: add cmake tests for installed and embedded build --- .travis.yml | 19 ++++++++++++ ci/build_cmake.sh | 35 +++++++++++++++++++++ ci/build_cmake_embedded.sh | 59 ++++++++++++++++++++++++++++++++++++ example/cmake/CMakeLists.txt | 17 +++++++++++ 4 files changed, 130 insertions(+) create mode 100755 ci/build_cmake_embedded.sh create mode 100644 example/cmake/CMakeLists.txt diff --git a/.travis.yml b/.travis.yml index 70068371..57243144 100644 --- a/.travis.yml +++ b/.travis.yml @@ -232,6 +232,25 @@ matrix: - clang-5.0 script: - CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" CMAKE_LIBRARY_PATH="${BASE}" GTEST_ROOT="${BASE}/gtest" BOOST_ROOT="${BASE}/boost" CTEST_OUTPUT_ON_FAILURE=1 MSGPACK_SAN="${SAN}" ci/build_regression.sh + - os: linux + compiler: gcc + env: ACTION="ci/build_cmake_embedded.sh" ARCH="64" + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-multilib + - gcc-multilib + - gcc-7-multilib + - g++-7-multilib + - lib32stdc++6-6-dbg + - lib32gcc1 + - libc6-i386 + - lib32z1-dev + - zlib1g-dev + - bzip2 + - libc6-dbg script: diff --git a/ci/build_cmake.sh b/ci/build_cmake.sh index 820ec543..b78a44d8 100755 --- a/ci/build_cmake.sh +++ b/ci/build_cmake.sh @@ -72,4 +72,39 @@ then fi fi +if [ "${ARCH}" != "32" ] +then + mkdir install-test + + ret=$? + if [ $ret -ne 0 ] + then + exit $ret + fi + + cd install-test + + ret=$? + if [ $ret -ne 0 ] + then + exit $ret + fi + + cmake -DCMAKE_PREFIX_PATH=`pwd`/../install/usr/local/lib/cmake ../../example/cmake + + ret=$? + if [ $ret -ne 0 ] + then + exit $ret + fi + + make + + ret=$? + if [ $ret -ne 0 ] + then + exit $ret + fi +fi + exit 0 diff --git a/ci/build_cmake_embedded.sh b/ci/build_cmake_embedded.sh new file mode 100755 index 00000000..ed94f4e6 --- /dev/null +++ b/ci/build_cmake_embedded.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +cd example/cmake + +ret=$? +if [ $ret -ne 0 ] +then + exit $ret +fi + +rm -f msgpack-c + +ret=$? +if [ $ret -ne 0 ] +then + exit $ret +fi + +ln -s ../.. msgpack-c + +ret=$? +if [ $ret -ne 0 ] +then + exit $ret +fi + +mkdir build + +ret=$? +if [ $ret -ne 0 ] +then + exit $ret +fi + +cd build + +ret=$? +if [ $ret -ne 0 ] +then + exit $ret +fi + +cmake -DEXAMPLE_MSGPACK_EMBEDDED=ON .. + +ret=$? +if [ $ret -ne 0 ] +then + exit $ret +fi + +make example example-static + +ret=$? +if [ $ret -ne 0 ] +then + exit $ret +fi + +exit 0 diff --git a/example/cmake/CMakeLists.txt b/example/cmake/CMakeLists.txt new file mode 100644 index 00000000..8c885ea5 --- /dev/null +++ b/example/cmake/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required (VERSION 3.0) +project (example) + +if(EXAMPLE_MSGPACK_EMBEDDED) + add_subdirectory(msgpack-c) + set(msgpack_DIR ${CMAKE_CURRENT_BINARY_DIR}/msgpack-c) +endif() + +find_package(msgpack REQUIRED) + +add_executable (${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/../c/simple_c.c) +target_link_libraries(${PROJECT_NAME} msgpackc) + +if(TARGET msgpackc-static) + add_executable (${PROJECT_NAME}-static ${CMAKE_CURRENT_LIST_DIR}/../c/simple_c.c) + target_link_libraries(${PROJECT_NAME}-static msgpackc-static) +endif()