Skip to content

Commit f17f8d7

Browse files
authored
Merge pull request #804 from herbrechtsmeier/cmake-remove-alias-from-package-config
cmake: Remove alias from package config
2 parents f89f05b + 7761497 commit f17f8d7

File tree

7 files changed

+144
-29
lines changed

7 files changed

+144
-29
lines changed

.travis.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,25 @@ matrix:
232232
- clang-5.0
233233
script:
234234
- 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
235+
- os: linux
236+
compiler: gcc
237+
env: ACTION="ci/build_cmake_embedded.sh" ARCH="64"
238+
addons:
239+
apt:
240+
sources:
241+
- ubuntu-toolchain-r-test
242+
packages:
243+
- g++-multilib
244+
- gcc-multilib
245+
- gcc-7-multilib
246+
- g++-7-multilib
247+
- lib32stdc++6-6-dbg
248+
- lib32gcc1
249+
- libc6-i386
250+
- lib32z1-dev
251+
- zlib1g-dev
252+
- bzip2
253+
- libc6-dbg
235254

236255

237256
script:

CMakeLists.txt

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ ELSE ()
181181
IF (NOT DEFINED MSGPACK_ENABLE_STATIC)
182182
SET (MSGPACK_ENABLE_STATIC ON)
183183
ENDIF ()
184+
SET (BUILD_SHARED_LIBS ${MSGPACK_ENABLE_SHARED})
184185
ENDIF ()
185186

186187
OPTION (MSGPACK_ENABLE_CXX "Enable C++ interface." ON)
@@ -209,8 +210,9 @@ CONFIGURE_FILE (
209210
@ONLY
210211
)
211212

212-
IF (MSGPACK_ENABLE_SHARED)
213-
ADD_LIBRARY (msgpackc SHARED
213+
214+
IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC)
215+
ADD_LIBRARY (msgpackc
214216
${msgpackc_SOURCES}
215217
${msgpackc_HEADERS}
216218
)
@@ -238,7 +240,7 @@ IF (MSGPACK_ENABLE_CXX AND ((CMAKE_VERSION VERSION_GREATER 3.0) OR (CMAKE_VERSIO
238240
)
239241
ENDIF ()
240242

241-
IF (MSGPACK_ENABLE_STATIC)
243+
IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
242244
ADD_LIBRARY (msgpackc-static STATIC
243245
${msgpackc_SOURCES}
244246
${msgpackc_HEADERS}
@@ -253,11 +255,6 @@ IF (MSGPACK_ENABLE_STATIC)
253255
${CMAKE_CURRENT_SOURCE_DIR}
254256
)
255257

256-
IF (NOT MSGPACK_ENABLE_SHARED)
257-
# Add alias for subdirectories
258-
ADD_LIBRARY (msgpackc ALIAS msgpackc-static)
259-
ENDIF ()
260-
261258
SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc")
262259

263260
IF (MSGPACK_ENABLE_SHARED)
@@ -291,19 +288,19 @@ IF (MSGPACK_BUILD_TESTS)
291288
ENDIF ()
292289

293290
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
294-
IF (MSGPACK_ENABLE_SHARED)
291+
IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC)
295292
SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra -DPIC")
296293
ENDIF ()
297-
IF (MSGPACK_ENABLE_STATIC)
294+
IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
298295
SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra" )
299296
ENDIF ()
300297
ENDIF ()
301298

302299
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
303-
IF (MSGPACK_ENABLE_SHARED)
300+
IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC)
304301
SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
305302
ENDIF ()
306-
IF (MSGPACK_ENABLE_STATIC)
303+
IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
307304
SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
308305
ENDIF ()
309306
ENDIF ()
@@ -337,15 +334,15 @@ IF (MSGPACK_BUILD_EXAMPLES)
337334
ADD_SUBDIRECTORY (example)
338335
ENDIF ()
339336

340-
IF (MSGPACK_ENABLE_SHARED)
337+
IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC)
341338
SET (MSGPACK_INSTALLTARGETS msgpackc)
342339
ENDIF ()
343340

344341
IF (MSGPACK_ENABLE_CXX AND ((CMAKE_VERSION VERSION_GREATER 3.0) OR (CMAKE_VERSION VERSION_EQUAL 3.0)))
345342
LIST (APPEND MSGPACK_INSTALLTARGETS msgpackc-cxx)
346343
ENDIF ()
347344

348-
IF (MSGPACK_ENABLE_STATIC)
345+
IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
349346
LIST (APPEND MSGPACK_INSTALLTARGETS msgpackc-static)
350347
ENDIF ()
351348

ci/build_cmake.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,39 @@ then
7272
fi
7373
fi
7474

75+
if [ "${ARCH}" != "32" ]
76+
then
77+
mkdir install-test
78+
79+
ret=$?
80+
if [ $ret -ne 0 ]
81+
then
82+
exit $ret
83+
fi
84+
85+
cd install-test
86+
87+
ret=$?
88+
if [ $ret -ne 0 ]
89+
then
90+
exit $ret
91+
fi
92+
93+
cmake -DCMAKE_PREFIX_PATH=`pwd`/../install/usr/local/lib/cmake ../../example/cmake
94+
95+
ret=$?
96+
if [ $ret -ne 0 ]
97+
then
98+
exit $ret
99+
fi
100+
101+
make
102+
103+
ret=$?
104+
if [ $ret -ne 0 ]
105+
then
106+
exit $ret
107+
fi
108+
fi
109+
75110
exit 0

ci/build_cmake_embedded.sh

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#!/bin/bash
2+
3+
cd example/cmake
4+
5+
ret=$?
6+
if [ $ret -ne 0 ]
7+
then
8+
exit $ret
9+
fi
10+
11+
rm -f msgpack-c
12+
13+
ret=$?
14+
if [ $ret -ne 0 ]
15+
then
16+
exit $ret
17+
fi
18+
19+
ln -s ../.. msgpack-c
20+
21+
ret=$?
22+
if [ $ret -ne 0 ]
23+
then
24+
exit $ret
25+
fi
26+
27+
mkdir build
28+
29+
ret=$?
30+
if [ $ret -ne 0 ]
31+
then
32+
exit $ret
33+
fi
34+
35+
cd build
36+
37+
ret=$?
38+
if [ $ret -ne 0 ]
39+
then
40+
exit $ret
41+
fi
42+
43+
cmake -DEXAMPLE_MSGPACK_EMBEDDED=ON ..
44+
45+
ret=$?
46+
if [ $ret -ne 0 ]
47+
then
48+
exit $ret
49+
fi
50+
51+
make example example-static
52+
53+
ret=$?
54+
if [ $ret -ne 0 ]
55+
then
56+
exit $ret
57+
fi
58+
59+
exit 0

example/c/CMakeLists.txt

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
1-
IF (MSGPACK_ENABLE_SHARED)
2-
SET (MSGPACK_LIB msgpackc)
3-
ENDIF ()
4-
5-
IF (MSGPACK_ENABLE_STATIC)
6-
SET (MSGPACK_LIB msgpackc-static)
7-
ENDIF ()
8-
9-
101
LIST (APPEND exec_PROGRAMS
112
lib_buffer_unpack.c
123
simple_c.c
@@ -22,7 +13,7 @@ FOREACH (source_file ${exec_PROGRAMS})
2213
${source_file}
2314
)
2415
TARGET_LINK_LIBRARIES (${source_file_we}
25-
${MSGPACK_LIB}
16+
msgpackc
2617
)
2718
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
2819
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")

example/cmake/CMakeLists.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
cmake_minimum_required (VERSION 3.0)
2+
project (example)
3+
4+
if(EXAMPLE_MSGPACK_EMBEDDED)
5+
add_subdirectory(msgpack-c)
6+
set(msgpack_DIR ${CMAKE_CURRENT_BINARY_DIR}/msgpack-c)
7+
endif()
8+
9+
find_package(msgpack REQUIRED)
10+
11+
add_executable (${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/../c/simple_c.c)
12+
target_link_libraries(${PROJECT_NAME} msgpackc)
13+
14+
if(TARGET msgpackc-static)
15+
add_executable (${PROJECT_NAME}-static ${CMAKE_CURRENT_LIST_DIR}/../c/simple_c.c)
16+
target_link_libraries(${PROJECT_NAME}-static msgpackc-static)
17+
endif()

msgpack-config.cmake.in

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
#
77
# ::
88
#
9-
# msgpackc-static
109
# msgpackc
10+
# msgpackc-cxx
11+
# msgpackc-static (optional)
1112
#
1213

1314
@PACKAGE_INIT@
@@ -16,8 +17,4 @@ include(CMakeFindDependencyMacro)
1617

1718
if(NOT TARGET msgpackc AND NOT TARGET msgpackc-static)
1819
include("${CMAKE_CURRENT_LIST_DIR}/msgpack-targets.cmake")
19-
20-
if(NOT @MSGPACK_ENABLE_SHARED@)
21-
add_library(msgpackc ALIAS msgpackc-static)
22-
endif()
2320
endif()

0 commit comments

Comments
 (0)