mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-04-25 17:28:15 +02:00
Fixed BUILD_SHARED_LIBS meaning.
There are three switches to build static/shared libraries. Here is the logic. If BUILD_SHARED_LIBS is defined If BUILD_SHARED_LIBS is ON build only shared-library Else build only static-library Endif Else If MSGPACK_ENABLE_SHARED is ON (default) build shared-library Endif If MSGPACK_ENABLE_STATIC is ON (default) build static-library Endif Endif Here is common settings: If you want to build both static/shared libraries, don't set switches. If you want to build only shared-library, set BUILD_SHARED_LIBS=ON. If you want to build only static-library, set BUILD_SHARED_LIBS=OFF.
This commit is contained in:
parent
3a615bcf44
commit
b804e12dec
@ -154,13 +154,36 @@ IF (GTEST_FOUND AND ZLIB_FOUND AND THREADS_FOUND AND NOT "${MSGPACK_FUZZ_REGRESS
|
|||||||
OPTION (MSGPACK_BUILD_TESTS "Build msgpack tests." ON)
|
OPTION (MSGPACK_BUILD_TESTS "Build msgpack tests." ON)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF (MSGPACK_ENABLE_SHARED)
|
IF (DEFINED BUILD_SHARED_LIBS)
|
||||||
MESSAGE (DEPRECATION "MSGPACK_ENABLE_SHARED is deprecated. Use BUILD_SHARED_LIBS instead.")
|
IF (BUILD_SHARED_LIBS)
|
||||||
|
IF (DEFINED MSGPACK_ENABLE_SHARED AND NOT MSGPACK_ENABLE_SHARED)
|
||||||
|
MESSAGE(WARNING "MSGPACK_ENABLE_SHARED is overridden to ON by BUILD_SHARED_LIBS")
|
||||||
|
ENDIF ()
|
||||||
|
SET (MSGPACK_ENABLE_SHARED ON)
|
||||||
|
IF (DEFINED MSGPACK_ENABLE_STATIC AND MSGPACK_ENABLE_STATIC)
|
||||||
|
MESSAGE(WARNING "MSGPACK_ENABLE_STATIC is overridden to OFF by BUILD_SHARED_LIBS")
|
||||||
|
ENDIF ()
|
||||||
|
SET (MSGPACK_ENABLE_STATIC OFF)
|
||||||
|
ELSE ()
|
||||||
|
IF (DEFINED MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_SHARED)
|
||||||
|
MESSAGE(WARNING "MSGPACK_ENABLE_SHARED is overridden to OFF by BUILD_SHARED_LIBS")
|
||||||
|
ENDIF ()
|
||||||
|
SET (MSGPACK_ENABLE_SHARED OFF)
|
||||||
|
IF (DEFINED MSGPACK_ENABLE_STATIC AND NOT MSGPACK_ENABLE_STATIC)
|
||||||
|
MESSAGE(WARNING "MSGPACK_ENABLE_STATIC is overridden to ON by BUILD_SHARED_LIBS")
|
||||||
|
ENDIF ()
|
||||||
|
SET (MSGPACK_ENABLE_STATIC ON)
|
||||||
|
ENDIF ()
|
||||||
|
ELSE ()
|
||||||
|
IF (NOT DEFINED MSGPACK_ENABLE_SHARED)
|
||||||
|
SET (MSGPACK_ENABLE_SHARED ON)
|
||||||
|
ENDIF ()
|
||||||
|
IF (NOT DEFINED MSGPACK_ENABLE_STATIC)
|
||||||
|
SET (MSGPACK_ENABLE_STATIC ON)
|
||||||
|
ENDIF ()
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
OPTION (MSGPACK_ENABLE_CXX "Enable C++ interface." ON)
|
OPTION (MSGPACK_ENABLE_CXX "Enable C++ interface." ON)
|
||||||
OPTION (MSGPACK_ENABLE_SHARED "Build shared libaries." ON)
|
|
||||||
OPTION (MSGPACK_ENABLE_STATIC "Build static libaries." ON)
|
|
||||||
|
|
||||||
INCLUDE (CheckCXXSourceCompiles)
|
INCLUDE (CheckCXXSourceCompiles)
|
||||||
CHECK_CXX_SOURCE_COMPILES ("
|
CHECK_CXX_SOURCE_COMPILES ("
|
||||||
@ -186,7 +209,7 @@ CONFIGURE_FILE (
|
|||||||
@ONLY
|
@ONLY
|
||||||
)
|
)
|
||||||
|
|
||||||
IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
|
IF (MSGPACK_ENABLE_SHARED)
|
||||||
ADD_LIBRARY (msgpackc SHARED
|
ADD_LIBRARY (msgpackc SHARED
|
||||||
${msgpackc_SOURCES}
|
${msgpackc_SOURCES}
|
||||||
${msgpackc_HEADERS}
|
${msgpackc_HEADERS}
|
||||||
@ -219,14 +242,14 @@ IF (MSGPACK_ENABLE_STATIC)
|
|||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
IF (NOT BUILD_SHARED_LIBS AND NOT MSGPACK_ENABLE_SHARED)
|
IF (NOT MSGPACK_ENABLE_SHARED)
|
||||||
# Add alias for subdirectories
|
# Add alias for subdirectories
|
||||||
ADD_LIBRARY (msgpackc ALIAS msgpackc-static)
|
ADD_LIBRARY (msgpackc ALIAS msgpackc-static)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc")
|
SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc")
|
||||||
|
|
||||||
IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
|
IF (MSGPACK_ENABLE_SHARED)
|
||||||
IF (MSVC)
|
IF (MSVC)
|
||||||
SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib")
|
SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib")
|
||||||
ELSEIF (MINGW)
|
ELSEIF (MINGW)
|
||||||
@ -257,7 +280,7 @@ 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 (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
|
IF (MSGPACK_ENABLE_SHARED)
|
||||||
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_STATIC)
|
||||||
@ -266,7 +289,7 @@ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" ST
|
|||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
|
IF (MSGPACK_ENABLE_SHARED)
|
||||||
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_STATIC)
|
||||||
@ -303,7 +326,7 @@ IF (MSGPACK_BUILD_EXAMPLES)
|
|||||||
ADD_SUBDIRECTORY (example)
|
ADD_SUBDIRECTORY (example)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
|
IF (MSGPACK_ENABLE_SHARED)
|
||||||
SET (MSGPACK_INSTALLTARGETS msgpackc)
|
SET (MSGPACK_INSTALLTARGETS msgpackc)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
|
IF (MSGPACK_ENABLE_SHARED)
|
||||||
SET (MSGPACK_LIB msgpackc)
|
SET (MSGPACK_LIB msgpackc)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user