diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e6313d3..0abb8716 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) ENDIF () -IF (MSGPACK_ENABLE_SHARED) - MESSAGE (DEPRECATION "MSGPACK_ENABLE_SHARED is deprecated. Use BUILD_SHARED_LIBS instead.") +IF (DEFINED BUILD_SHARED_LIBS) + 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 () 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) CHECK_CXX_SOURCE_COMPILES (" @@ -186,7 +209,7 @@ CONFIGURE_FILE ( @ONLY ) -IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED) +IF (MSGPACK_ENABLE_SHARED) ADD_LIBRARY (msgpackc SHARED ${msgpackc_SOURCES} ${msgpackc_HEADERS} @@ -219,14 +242,14 @@ IF (MSGPACK_ENABLE_STATIC) ${CMAKE_CURRENT_SOURCE_DIR} ) - IF (NOT BUILD_SHARED_LIBS AND NOT MSGPACK_ENABLE_SHARED) + IF (NOT MSGPACK_ENABLE_SHARED) # Add alias for subdirectories ADD_LIBRARY (msgpackc ALIAS msgpackc-static) ENDIF () SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc") - IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED) + IF (MSGPACK_ENABLE_SHARED) IF (MSVC) SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib") ELSEIF (MINGW) @@ -257,7 +280,7 @@ IF (MSGPACK_BUILD_TESTS) ENDIF () 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") ENDIF () IF (MSGPACK_ENABLE_STATIC) @@ -266,7 +289,7 @@ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" ST ENDIF () 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") ENDIF () IF (MSGPACK_ENABLE_STATIC) @@ -303,7 +326,7 @@ IF (MSGPACK_BUILD_EXAMPLES) ADD_SUBDIRECTORY (example) ENDIF () -IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED) +IF (MSGPACK_ENABLE_SHARED) SET (MSGPACK_INSTALLTARGETS msgpackc) ENDIF () diff --git a/example/c/CMakeLists.txt b/example/c/CMakeLists.txt index 46c0bbc8..eee47a60 100644 --- a/example/c/CMakeLists.txt +++ b/example/c/CMakeLists.txt @@ -1,4 +1,4 @@ -IF (BUILD_SHARED_LIBS OR MSGPACK_ENABLE_SHARED) +IF (MSGPACK_ENABLE_SHARED) SET (MSGPACK_LIB msgpackc) ENDIF ()