Skip to content

Commit 43ae287

Browse files
authored
Merge pull request #722 from redboltz/fix_build_shared_libs
Fixed BUILD_SHARED_LIBS meaning.
2 parents 3a615bc + b804e12 commit 43ae287

File tree

2 files changed

+34
-11
lines changed

2 files changed

+34
-11
lines changed

CMakeLists.txt

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -154,13 +154,36 @@ IF (GTEST_FOUND AND ZLIB_FOUND AND THREADS_FOUND AND NOT "${MSGPACK_FUZZ_REGRESS
154154
OPTION (MSGPACK_BUILD_TESTS "Build msgpack tests." ON)
155155
ENDIF ()
156156

157-
IF (MSGPACK_ENABLE_SHARED)
158-
MESSAGE (DEPRECATION "MSGPACK_ENABLE_SHARED is deprecated. Use BUILD_SHARED_LIBS instead.")
157+
IF (DEFINED BUILD_SHARED_LIBS)
158+
IF (BUILD_SHARED_LIBS)
159+
IF (DEFINED MSGPACK_ENABLE_SHARED AND NOT MSGPACK_ENABLE_SHARED)
160+
MESSAGE(WARNING "MSGPACK_ENABLE_SHARED is overridden to ON by BUILD_SHARED_LIBS")
161+
ENDIF ()
162+
SET (MSGPACK_ENABLE_SHARED ON)
163+
IF (DEFINED MSGPACK_ENABLE_STATIC AND MSGPACK_ENABLE_STATIC)
164+
MESSAGE(WARNING "MSGPACK_ENABLE_STATIC is overridden to OFF by BUILD_SHARED_LIBS")
165+
ENDIF ()
166+
SET (MSGPACK_ENABLE_STATIC OFF)
167+
ELSE ()
168+
IF (DEFINED MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_SHARED)
169+
MESSAGE(WARNING "MSGPACK_ENABLE_SHARED is overridden to OFF by BUILD_SHARED_LIBS")
170+
ENDIF ()
171+
SET (MSGPACK_ENABLE_SHARED OFF)
172+
IF (DEFINED MSGPACK_ENABLE_STATIC AND NOT MSGPACK_ENABLE_STATIC)
173+
MESSAGE(WARNING "MSGPACK_ENABLE_STATIC is overridden to ON by BUILD_SHARED_LIBS")
174+
ENDIF ()
175+
SET (MSGPACK_ENABLE_STATIC ON)
176+
ENDIF ()
177+
ELSE ()
178+
IF (NOT DEFINED MSGPACK_ENABLE_SHARED)
179+
SET (MSGPACK_ENABLE_SHARED ON)
180+
ENDIF ()
181+
IF (NOT DEFINED MSGPACK_ENABLE_STATIC)
182+
SET (MSGPACK_ENABLE_STATIC ON)
183+
ENDIF ()
159184
ENDIF ()
160185

161186
OPTION (MSGPACK_ENABLE_CXX "Enable C++ interface." ON)
162-
OPTION (MSGPACK_ENABLE_SHARED "Build shared libaries." ON)
163-
OPTION (MSGPACK_ENABLE_STATIC "Build static libaries." ON)
164187

165188
INCLUDE (CheckCXXSourceCompiles)
166189
CHECK_CXX_SOURCE_COMPILES ("
@@ -186,7 +209,7 @@ CONFIGURE_FILE (
186209
@ONLY
187210
)
188211

189-
IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
212+
IF (MSGPACK_ENABLE_SHARED)
190213
ADD_LIBRARY (msgpackc SHARED
191214
${msgpackc_SOURCES}
192215
${msgpackc_HEADERS}
@@ -219,14 +242,14 @@ IF (MSGPACK_ENABLE_STATIC)
219242
${CMAKE_CURRENT_SOURCE_DIR}
220243
)
221244

222-
IF (NOT BUILD_SHARED_LIBS AND NOT MSGPACK_ENABLE_SHARED)
245+
IF (NOT MSGPACK_ENABLE_SHARED)
223246
# Add alias for subdirectories
224247
ADD_LIBRARY (msgpackc ALIAS msgpackc-static)
225248
ENDIF ()
226249

227250
SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc")
228251

229-
IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
252+
IF (MSGPACK_ENABLE_SHARED)
230253
IF (MSVC)
231254
SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib")
232255
ELSEIF (MINGW)
@@ -257,7 +280,7 @@ IF (MSGPACK_BUILD_TESTS)
257280
ENDIF ()
258281

259282
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
260-
IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
283+
IF (MSGPACK_ENABLE_SHARED)
261284
SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra -DPIC")
262285
ENDIF ()
263286
IF (MSGPACK_ENABLE_STATIC)
@@ -266,7 +289,7 @@ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" ST
266289
ENDIF ()
267290

268291
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
269-
IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
292+
IF (MSGPACK_ENABLE_SHARED)
270293
SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
271294
ENDIF ()
272295
IF (MSGPACK_ENABLE_STATIC)
@@ -303,7 +326,7 @@ IF (MSGPACK_BUILD_EXAMPLES)
303326
ADD_SUBDIRECTORY (example)
304327
ENDIF ()
305328

306-
IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
329+
IF (MSGPACK_ENABLE_SHARED)
307330
SET (MSGPACK_INSTALLTARGETS msgpackc)
308331
ENDIF ()
309332

example/c/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
1+
IF (MSGPACK_ENABLE_SHARED)
22
SET (MSGPACK_LIB msgpackc)
33
ENDIF ()
44

0 commit comments

Comments
 (0)