@@ -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} )
184185ENDIF ()
185186
186187OPTION (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 )
239241ENDIF ()
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)
291288ENDIF ()
292289
293290IF ("${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 ()
300297ENDIF ()
301298
302299IF ("${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 ()
309306ENDIF ()
@@ -337,15 +334,15 @@ IF (MSGPACK_BUILD_EXAMPLES)
337334 ADD_SUBDIRECTORY (example)
338335ENDIF ()
339336
340- IF (MSGPACK_ENABLE_SHARED)
337+ IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC )
341338 SET (MSGPACK_INSTALLTARGETS msgpackc)
342339ENDIF ()
343340
344341IF (MSGPACK_ENABLE_CXX AND ((CMAKE_VERSION VERSION_GREATER 3.0) OR (CMAKE_VERSION VERSION_EQUAL 3.0)))
345342 LIST (APPEND MSGPACK_INSTALLTARGETS msgpackc-cxx)
346343ENDIF ()
347344
348- IF (MSGPACK_ENABLE_STATIC)
345+ IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
349346 LIST (APPEND MSGPACK_INSTALLTARGETS msgpackc-static )
350347ENDIF ()
351348
0 commit comments