Merge pull request #804 from herbrechtsmeier/cmake-remove-alias-from-package-config

cmake: Remove alias from package config
This commit is contained in:
Takatoshi Kondo 2019-12-10 12:33:18 +09:00 committed by GitHub
commit f17f8d79c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 144 additions and 29 deletions

View File

@ -232,6 +232,25 @@ matrix:
- clang-5.0 - clang-5.0
script: 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 - 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: script:

View File

@ -181,6 +181,7 @@ ELSE ()
IF (NOT DEFINED MSGPACK_ENABLE_STATIC) IF (NOT DEFINED MSGPACK_ENABLE_STATIC)
SET (MSGPACK_ENABLE_STATIC ON) SET (MSGPACK_ENABLE_STATIC ON)
ENDIF () ENDIF ()
SET (BUILD_SHARED_LIBS ${MSGPACK_ENABLE_SHARED})
ENDIF () ENDIF ()
OPTION (MSGPACK_ENABLE_CXX "Enable C++ interface." ON) OPTION (MSGPACK_ENABLE_CXX "Enable C++ interface." ON)
@ -209,8 +210,9 @@ CONFIGURE_FILE (
@ONLY @ONLY
) )
IF (MSGPACK_ENABLE_SHARED)
ADD_LIBRARY (msgpackc SHARED IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC)
ADD_LIBRARY (msgpackc
${msgpackc_SOURCES} ${msgpackc_SOURCES}
${msgpackc_HEADERS} ${msgpackc_HEADERS}
) )
@ -238,7 +240,7 @@ IF (MSGPACK_ENABLE_CXX AND ((CMAKE_VERSION VERSION_GREATER 3.0) OR (CMAKE_VERSIO
) )
ENDIF () ENDIF ()
IF (MSGPACK_ENABLE_STATIC) IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
ADD_LIBRARY (msgpackc-static STATIC ADD_LIBRARY (msgpackc-static STATIC
${msgpackc_SOURCES} ${msgpackc_SOURCES}
${msgpackc_HEADERS} ${msgpackc_HEADERS}
@ -253,11 +255,6 @@ IF (MSGPACK_ENABLE_STATIC)
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
) )
IF (NOT MSGPACK_ENABLE_SHARED)
# Add alias for subdirectories
ADD_LIBRARY (msgpackc ALIAS msgpackc-static)
ENDIF ()
SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc") SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc")
IF (MSGPACK_ENABLE_SHARED) IF (MSGPACK_ENABLE_SHARED)
@ -291,19 +288,19 @@ IF (MSGPACK_BUILD_TESTS)
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
IF (MSGPACK_ENABLE_SHARED) IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC)
SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra -DPIC") SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra -DPIC")
ENDIF () ENDIF ()
IF (MSGPACK_ENABLE_STATIC) IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra" ) SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra" )
ENDIF () ENDIF ()
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
IF (MSGPACK_ENABLE_SHARED) IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC)
SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
ENDIF () ENDIF ()
IF (MSGPACK_ENABLE_STATIC) IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
ENDIF () ENDIF ()
ENDIF () ENDIF ()
@ -337,7 +334,7 @@ IF (MSGPACK_BUILD_EXAMPLES)
ADD_SUBDIRECTORY (example) ADD_SUBDIRECTORY (example)
ENDIF () ENDIF ()
IF (MSGPACK_ENABLE_SHARED) IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC)
SET (MSGPACK_INSTALLTARGETS msgpackc) SET (MSGPACK_INSTALLTARGETS msgpackc)
ENDIF () ENDIF ()
@ -345,7 +342,7 @@ IF (MSGPACK_ENABLE_CXX AND ((CMAKE_VERSION VERSION_GREATER 3.0) OR (CMAKE_VERSIO
LIST (APPEND MSGPACK_INSTALLTARGETS msgpackc-cxx) LIST (APPEND MSGPACK_INSTALLTARGETS msgpackc-cxx)
ENDIF () ENDIF ()
IF (MSGPACK_ENABLE_STATIC) IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
LIST (APPEND MSGPACK_INSTALLTARGETS msgpackc-static) LIST (APPEND MSGPACK_INSTALLTARGETS msgpackc-static)
ENDIF () ENDIF ()

View File

@ -72,4 +72,39 @@ then
fi fi
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 exit 0

59
ci/build_cmake_embedded.sh Executable file
View File

@ -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

View File

@ -1,12 +1,3 @@
IF (MSGPACK_ENABLE_SHARED)
SET (MSGPACK_LIB msgpackc)
ENDIF ()
IF (MSGPACK_ENABLE_STATIC)
SET (MSGPACK_LIB msgpackc-static)
ENDIF ()
LIST (APPEND exec_PROGRAMS LIST (APPEND exec_PROGRAMS
lib_buffer_unpack.c lib_buffer_unpack.c
simple_c.c simple_c.c
@ -22,7 +13,7 @@ FOREACH (source_file ${exec_PROGRAMS})
${source_file} ${source_file}
) )
TARGET_LINK_LIBRARIES (${source_file_we} TARGET_LINK_LIBRARIES (${source_file_we}
${MSGPACK_LIB} msgpackc
) )
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")

View File

@ -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()

View File

@ -6,8 +6,9 @@
# #
# :: # ::
# #
# msgpackc-static
# msgpackc # msgpackc
# msgpackc-cxx
# msgpackc-static (optional)
# #
@PACKAGE_INIT@ @PACKAGE_INIT@
@ -16,8 +17,4 @@ include(CMakeFindDependencyMacro)
if(NOT TARGET msgpackc AND NOT TARGET msgpackc-static) if(NOT TARGET msgpackc AND NOT TARGET msgpackc-static)
include("${CMAKE_CURRENT_LIST_DIR}/msgpack-targets.cmake") include("${CMAKE_CURRENT_LIST_DIR}/msgpack-targets.cmake")
if(NOT @MSGPACK_ENABLE_SHARED@)
add_library(msgpackc ALIAS msgpackc-static)
endif()
endif() endif()