diff --git a/CMakeLists.txt b/CMakeLists.txt index d7ce6e512..e0c42766c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,20 +53,12 @@ endif() # Include some common macros to simpilfy the Poco CMake files include(PocoMacros) -option(POCO_STATIC - "Set to OFF|ON (default is OFF) to control build of POCO as STATIC library" OFF) -if(POCO_STATIC) - option(BUILD_SHARED_LIBS "Build shared libraries" OFF) -else() - option(BUILD_SHARED_LIBS "Build shared libraries" ON) -endif() +option(BUILD_SHARED_LIBS "Build shared libraries" ON) if(MSVC) - option(POCO_MT - "Set to OFF|ON (default is OFF) to control build of POCO as /MT instead of /MD" OFF) + option(POCO_MT "Set to OFF|ON (default is OFF) to control build of POCO as /MT instead of /MD" ON) - option(ENABLE_MSVC_MP - "Set to OFF|ON (default is OFF) to control parallel build of POCO with MSVC" OFF) + option(ENABLE_MSVC_MP "Set to OFF|ON (default is OFF) to control parallel build of POCO with MSVC" ON) # allow disabling of internally built OpenSSL# (see below for details) # if POCO pre-built OpenSSL directory is found, and POCO_DISABLE_INTERNAL_OPENSSL=OFF, diff --git a/CppParser/CMakeLists.txt b/CppParser/CMakeLists.txt index 697b200a3..00f7a7b41 100644 --- a/CppParser/CMakeLists.txt +++ b/CppParser/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/Crypto/CMakeLists.txt b/Crypto/CMakeLists.txt index a6055fdbc..9f0195903 100644 --- a/Crypto/CMakeLists.txt +++ b/Crypto/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() @@ -26,7 +26,7 @@ target_include_directories(Crypto PUBLIC $ $ - PRIVATE + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/Data/CMakeLists.txt b/Data/CMakeLists.txt index 7c5320d29..8e794a64a 100644 --- a/Data/CMakeLists.txt +++ b/Data/CMakeLists.txt @@ -12,7 +12,7 @@ if(MSVC AND NOT(MSVC_VERSION LESS 1400)) endif() # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/Data/MySQL/CMakeLists.txt b/Data/MySQL/CMakeLists.txt index 7e1b947c1..68375cc95 100644 --- a/Data/MySQL/CMakeLists.txt +++ b/Data/MySQL/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( MYSQL_SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND MYSQL_SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/Data/ODBC/CMakeLists.txt b/Data/ODBC/CMakeLists.txt index 89b033e02..7538ac54d 100644 --- a/Data/ODBC/CMakeLists.txt +++ b/Data/ODBC/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( ODBC_SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND ODBC_SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/Data/PostgreSQL/CMakeLists.txt b/Data/PostgreSQL/CMakeLists.txt index 3c647b30a..153c269fe 100644 --- a/Data/PostgreSQL/CMakeLists.txt +++ b/Data/PostgreSQL/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( POSTGRESQL_SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND POSTGRESQL_SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/Data/SQLite/CMakeLists.txt b/Data/SQLite/CMakeLists.txt index ee7d2a177..7f4a526b8 100644 --- a/Data/SQLite/CMakeLists.txt +++ b/Data/SQLite/CMakeLists.txt @@ -20,7 +20,7 @@ else() endif() # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SQLITE_SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/Encodings/CMakeLists.txt b/Encodings/CMakeLists.txt index a167f4f6b..71c1b0929 100644 --- a/Encodings/CMakeLists.txt +++ b/Encodings/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS( SRCS Encodings ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt index af39d1691..046841d5a 100644 --- a/Foundation/CMakeLists.txt +++ b/Foundation/CMakeLists.txt @@ -24,7 +24,7 @@ POCO_SOURCES_AUTO_PLAT( SRCS WIN32 endif() # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() @@ -226,7 +226,7 @@ POCO_INSTALL(Foundation) POCO_GENERATE_PACKAGE(Foundation) if (ENABLE_TESTS) - if(POCO_STATIC) + if(NOT BUILD_SHARED_LIBS) set_property(TARGET Foundation PROPERTY POSITION_INDEPENDENT_CODE ON) # This is needed to build TestLibrary.so as shared. endif() add_subdirectory(samples) diff --git a/JSON/CMakeLists.txt b/JSON/CMakeLists.txt index 015c99065..16545da83 100644 --- a/JSON/CMakeLists.txt +++ b/JSON/CMakeLists.txt @@ -8,7 +8,7 @@ POCO_HEADERS_AUTO( SRCS ${HDRS_G}) POCO_SOURCES(SRCS pdjson src/pdjson.c) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/JWT/CMakeLists.txt b/JWT/CMakeLists.txt index 88c29d310..095e8c046 100644 --- a/JWT/CMakeLists.txt +++ b/JWT/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/MongoDB/CMakeLists.txt b/MongoDB/CMakeLists.txt index 7ece84e55..0177f3dd4 100644 --- a/MongoDB/CMakeLists.txt +++ b/MongoDB/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/Net/CMakeLists.txt b/Net/CMakeLists.txt index dcafb2d0e..d1c6f106f 100644 --- a/Net/CMakeLists.txt +++ b/Net/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/NetSSL_OpenSSL/CMakeLists.txt b/NetSSL_OpenSSL/CMakeLists.txt index f0881d6dd..ea75fc8bb 100644 --- a/NetSSL_OpenSSL/CMakeLists.txt +++ b/NetSSL_OpenSSL/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/NetSSL_Win/CMakeLists.txt b/NetSSL_Win/CMakeLists.txt index 78f58d1c6..bd099ffc6 100644 --- a/NetSSL_Win/CMakeLists.txt +++ b/NetSSL_Win/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/PDF/CMakeLists.txt b/PDF/CMakeLists.txt index bd96a4a15..54cfbb2d5 100644 --- a/PDF/CMakeLists.txt +++ b/PDF/CMakeLists.txt @@ -114,7 +114,7 @@ POCO_SOURCES( SRCS libpng ) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/Redis/CMakeLists.txt b/Redis/CMakeLists.txt index 63ace885f..27437edcb 100644 --- a/Redis/CMakeLists.txt +++ b/Redis/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/SevenZip/CMakeLists.txt b/SevenZip/CMakeLists.txt index 0eeded660..3ded645bb 100644 --- a/SevenZip/CMakeLists.txt +++ b/SevenZip/CMakeLists.txt @@ -48,7 +48,7 @@ POCO_SOURCES( SRCS 7z ) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/Util/CMakeLists.txt b/Util/CMakeLists.txt index ffe5048e3..3a5210ad4 100644 --- a/Util/CMakeLists.txt +++ b/Util/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/XML/CMakeLists.txt b/XML/CMakeLists.txt index 5e1c80df9..887c7ee9a 100644 --- a/XML/CMakeLists.txt +++ b/XML/CMakeLists.txt @@ -12,7 +12,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/Zip/CMakeLists.txt b/Zip/CMakeLists.txt index d8cd1b056..c3253e6e5 100644 --- a/Zip/CMakeLists.txt +++ b/Zip/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h" ) POCO_HEADERS_AUTO( SRCS ${HDRS_G}) # Version Resource -if(MSVC AND NOT POCO_STATIC) +if(MSVC AND BUILD_SHARED_LIBS) source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc) list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc) endif() diff --git a/cmake/DefinePlatformSpecifc.cmake b/cmake/DefinePlatformSpecifc.cmake index 2386f6117..4b3f915b3 100644 --- a/cmake/DefinePlatformSpecifc.cmake +++ b/cmake/DefinePlatformSpecifc.cmake @@ -53,16 +53,16 @@ endif(MSVC) # Add a d postfix to the debug libraries -if(POCO_STATIC) - set(CMAKE_DEBUG_POSTFIX "${STATIC_POSTFIX}d" CACHE STRING "Set Debug library postfix" FORCE) - set(CMAKE_RELEASE_POSTFIX "${STATIC_POSTFIX}" CACHE STRING "Set Release library postfix" FORCE) - set(CMAKE_MINSIZEREL_POSTFIX "${STATIC_POSTFIX}" CACHE STRING "Set MinSizeRel library postfix" FORCE) - set(CMAKE_RELWITHDEBINFO_POSTFIX "${STATIC_POSTFIX}" CACHE STRING "Set RelWithDebInfo library postfix" FORCE) -else(POCO_STATIC) +if(BUILD_SHARED_LIBS) set(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "Set Debug library postfix" FORCE) set(CMAKE_RELEASE_POSTFIX "" CACHE STRING "Set Release library postfix" FORCE) set(CMAKE_MINSIZEREL_POSTFIX "" CACHE STRING "Set MinSizeRel library postfix" FORCE) set(CMAKE_RELWITHDEBINFO_POSTFIX "" CACHE STRING "Set RelWithDebInfo library postfix" FORCE) +else(BUILD_SHARED_LIBS) + set(CMAKE_DEBUG_POSTFIX "${STATIC_POSTFIX}d" CACHE STRING "Set Debug library postfix" FORCE) + set(CMAKE_RELEASE_POSTFIX "${STATIC_POSTFIX}" CACHE STRING "Set Release library postfix" FORCE) + set(CMAKE_MINSIZEREL_POSTFIX "${STATIC_POSTFIX}" CACHE STRING "Set MinSizeRel library postfix" FORCE) + set(CMAKE_RELWITHDEBINFO_POSTFIX "${STATIC_POSTFIX}" CACHE STRING "Set RelWithDebInfo library postfix" FORCE) endif()