Added no build static-library option.
This commit is contained in:
Takatoshi Kondo 2018-08-08 20:02:40 +09:00
parent 8a3a11f123
commit 3aaadb9b12
3 changed files with 52 additions and 36 deletions

View File

@ -154,8 +154,13 @@ 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)
MESSAGE (DEPRECATION "MSGPACK_ENABLE_SHARED is deprecated. Use BUILD_SHARED_LIBS instead.")
ENDIF ()
OPTION (MSGPACK_ENABLE_CXX "Enable C++ interface." ON) OPTION (MSGPACK_ENABLE_CXX "Enable C++ interface." ON)
OPTION (MSGPACK_ENABLE_SHARED "Build shared libaries in addition to static libraries." 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 ("
@ -181,7 +186,7 @@ CONFIGURE_FILE (
@ONLY @ONLY
) )
IF (MSGPACK_ENABLE_SHARED) IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
ADD_LIBRARY (msgpackc SHARED ADD_LIBRARY (msgpackc SHARED
${msgpackc_SOURCES} ${msgpackc_SOURCES}
${msgpackc_HEADERS} ${msgpackc_HEADERS}
@ -197,33 +202,36 @@ IF (MSGPACK_ENABLE_SHARED)
) )
ENDIF () ENDIF ()
ADD_LIBRARY (msgpackc-static STATIC IF (MSGPACK_ENABLE_STATIC)
${msgpackc_SOURCES} ADD_LIBRARY (msgpackc-static STATIC
${msgpackc_HEADERS} ${msgpackc_SOURCES}
) ${msgpackc_HEADERS}
)
TARGET_INCLUDE_DIRECTORIES (msgpackc-static TARGET_INCLUDE_DIRECTORIES (msgpackc-static
PUBLIC PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
$<INSTALL_INTERFACE:include> $<INSTALL_INTERFACE:include>
PRIVATE PRIVATE
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
) )
IF (NOT MSGPACK_ENABLE_SHARED) IF (NOT BUILD_SHARED_LIBS AND 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 (MSGPACK_ENABLE_SHARED)
IF (MSVC) IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib") IF (MSVC)
ELSEIF (MINGW) SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib")
SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX ".dll.a") ELSEIF (MINGW)
SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX ".dll.a")
ENDIF ()
SET_TARGET_PROPERTIES (msgpackc PROPERTIES SOVERSION 2 VERSION 2.0.0)
ENDIF () ENDIF ()
SET_TARGET_PROPERTIES (msgpackc PROPERTIES SOVERSION 2 VERSION 2.0.0)
ENDIF () ENDIF ()
# enable regression testing # enable regression testing
@ -248,17 +256,21 @@ 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 (BUILD_SHARED_LIBS OR 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 ()
SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra" ) IF (MSGPACK_ENABLE_STATIC)
SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra" )
ENDIF ()
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
IF (MSGPACK_ENABLE_SHARED) IF (BUILD_SHARED_LIBS OR 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 ()
SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") IF (MSGPACK_ENABLE_STATIC)
SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
ENDIF ()
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
@ -290,9 +302,11 @@ IF (MSGPACK_BUILD_EXAMPLES)
ADD_SUBDIRECTORY (example) ADD_SUBDIRECTORY (example)
ENDIF () ENDIF ()
IF (MSGPACK_ENABLE_SHARED) IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
SET (MSGPACK_INSTALLTARGETS msgpackc msgpackc-static) SET (MSGPACK_INSTALLTARGETS msgpackc)
ELSE() ENDIF ()
IF (MSGPACK_ENABLE_STATIC)
SET (MSGPACK_INSTALLTARGETS msgpackc-static) SET (MSGPACK_INSTALLTARGETS msgpackc-static)
ENDIF () ENDIF ()

View File

@ -23,7 +23,7 @@ else
export BIT32="OFF" export BIT32="OFF"
fi fi
cmake -DMSGPACK_CXX11=${CXX11} -DMSGPACK_32BIT=${BIT32} -DMSGPACK_BOOST=${BOOST} -DMSGPACK_ENABLE_SHARED=${SHARED} -DMSGPACK_CHAR_SIGN=${CHAR_SIGN} -DMSGPACK_DEFAULT_API_VERSION=${API_VERSION} -DMSGPACK_USE_X3_PARSE=${X3_PARSE} .. cmake -DMSGPACK_CXX11=${CXX11} -DMSGPACK_32BIT=${BIT32} -DMSGPACK_BOOST=${BOOST} -DBUILD_SHARED_LIBS=${SHARED} -DMSGPACK_CHAR_SIGN=${CHAR_SIGN} -DMSGPACK_DEFAULT_API_VERSION=${API_VERSION} -DMSGPACK_USE_X3_PARSE=${X3_PARSE} ..
ret=$? ret=$?
if [ $ret -ne 0 ] if [ $ret -ne 0 ]

View File

@ -1,6 +1,8 @@
IF (MSGPACK_ENABLE_SHARED) IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED)
SET (MSGPACK_LIB msgpackc) SET (MSGPACK_LIB msgpackc)
ELSE () ENDIF ()
IF (MSGPACK_ENABLE_STATIC)
SET (MSGPACK_LIB msgpackc-static) SET (MSGPACK_LIB msgpackc-static)
ENDIF () ENDIF ()