diff --git a/CMakeLists.txt b/CMakeLists.txt index d6fcaa5422565cc52d954c1c472161eeb24da144..23fbc571b1114d0517b6f1048b0cd7a52f327a2a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -313,6 +313,8 @@ message(STATUS "summary of build options: CXXFLAGS: ${CMAKE_CXX_FLAGS_${_build_type}} ${CMAKE_CXX_FLAGS} WARNCFLAGS: ${WARNCFLAGS} WARNCXXFLAGS: ${WARNCXXFLAGS} + Library: + Shared: ${BUILD_SHARED_LIBS} Test: CUnit: ${HAVE_CUNIT} (LIBS='${CUNIT_LIBRARIES}') Libs: diff --git a/CMakeOptions.txt b/CMakeOptions.txt index 6172d30791f54623ab180743f057f1d895fb0b28..92c41fe9481f3465d4b806f84599dd54525bd80c 100644 --- a/CMakeOptions.txt +++ b/CMakeOptions.txt @@ -1,5 +1,7 @@ # Features that can be enabled for cmake (see CMakeLists.txt) +option(BUILD_SHARED_LIBS "Build using shared libraries" OFF) + option(ENABLE_WERROR "Make compiler warnings fatal" OFF) option(ENABLE_DEBUG "Turn on debug output" OFF) option(ENABLE_ASAN "Enable AddressSanitizer (ASAN)" OFF) diff --git a/crypto/gnutls/CMakeLists.txt b/crypto/gnutls/CMakeLists.txt index bf5cfd8c6e2406a2399a31fed039ca1a0965ed19..575fc3febde9b6a4e6cdce3a7c80e718c9e0e986 100644 --- a/crypto/gnutls/CMakeLists.txt +++ b/crypto/gnutls/CMakeLists.txt @@ -41,7 +41,7 @@ foreach(name libngtcp2_crypto_gnutls.pc) configure_file("${name}.in" "${name}" @ONLY) endforeach() -# Public shared library +# Public shared or static library add_library(ngtcp2_crypto_gnutls ${ngtcp2_crypto_gnutls_SOURCES}) set_target_properties(ngtcp2_crypto_gnutls PROPERTIES COMPILE_FLAGS "${WARNCFLAGS}" diff --git a/crypto/openssl/CMakeLists.txt b/crypto/openssl/CMakeLists.txt index 430693aa6691777664140b1bade1cb24d9840bed..a12d93aa959addb517ea3811387454bbaf845df2 100644 --- a/crypto/openssl/CMakeLists.txt +++ b/crypto/openssl/CMakeLists.txt @@ -41,7 +41,7 @@ foreach(name libngtcp2_crypto_openssl.pc) configure_file("${name}.in" "${name}" @ONLY) endforeach() -# Public shared library +# Public shared or static library add_library(ngtcp2_crypto_openssl ${ngtcp2_crypto_openssl_SOURCES}) set_target_properties(ngtcp2_crypto_openssl PROPERTIES COMPILE_FLAGS "${WARNCFLAGS}" diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 6f8f6f45831a6dd05bf947013a772fd9e342a5d8..fc3d8cfde335c9bf5f77ff68f2c0a97fd6c6062f 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -64,7 +64,7 @@ set(ngtcp2_INCLUDE_DIRS "${CMAKE_CURRENT_BINARY_DIR}/includes" ) -# Public shared library +# Public shared or static library add_library(ngtcp2 ${ngtcp2_SOURCES}) set_target_properties(ngtcp2 PROPERTIES COMPILE_FLAGS "${WARNCFLAGS}" @@ -79,7 +79,7 @@ if(NOT BUILD_SHARED_LIBS) endif() if(HAVE_CUNIT) - # Static library (for unittests because of symbol visibility) + # Private static library (for unittests because of symbol visibility) add_library(ngtcp2_static STATIC ${ngtcp2_SOURCES}) set_target_properties(ngtcp2_static PROPERTIES COMPILE_FLAGS "${WARNCFLAGS}"