Cleanup cmake build system to use transitive dependency management from cmake (#2321)

* Some cleanup in the root CMakeLists.txt

* Cleanup cmake targets

* Add find openssl modul for older cmake version

* Set proper scope

* Change crypto default to off

* Fix openssl default to on

* Remove global setting of C99 standard

* Set from C11 to C99

* Fix for NetSSL win build

* Set C99 compile features

* Fix Windows build

* Fix windows build

* Cleanup poco unbundle definition

* Fix PDF build

* Remove unused set affinity

* Add _CRT_SECURE_NO_WARNINGS as target compile definitions

* Add _AFXDLL as target compile definitions

* Remove commented out line

* Refactor add_definitions to target_compile_definitons in Util

* Refactor add_definitions to target_compile_definitons in XML

* Remove THREADSAFE in data sql cmake build

* Refactor add_definitions to target_compile_definition in cmake mysql

* Refactor add_definitions to target_compile_definition in cmake odbc

* Refactor add_definitions to target_compile_definition in cmake sqlite

* Refactor add_definitions to target_compile_definitions in platform specific cmake

* Add _DEBUG as compile definition

* Add build dependencies between Foundation-testrunner and TestApp, TestLibrary in cmake build

* Use cmake property to build shared libs

* Cleanup POCO_NO_AUTOMATIC_LIBS. Set only for Windows in cmake build system

* cleanup LIB_MODE_DEFINITIONS in cmake buld system

* Add POCO_STATIC for CppUnit

* Cleanup target link libraries and add option dependencies.

* Add dependencies management in cmake

* Update cmake documentation

* Squashed commit of the following:

commit 38c233f93fc8e9ad6e24d686c905eb18c86e19a7

    Fix "invalid new-expression of abstract class type ApacheServerRequest" (#2231)

    - abstract method "bool secure() const" defined in HTTPServerRequest was implemented in ApacheServerRequest, one of its derived classes
     - a ap_log_error had one of its parameters changed for fixing a warning "passing NULL to non-pointer argument"
     - minor indentation problems corrected

commit 4cbdfbe828943871618172f9e042176f115d61d8

    Fix build dependencies

* Improve database cmake build dependencies

* Update doc

* Update doc

* Update cmake build commands

* Set public on target link libraries in cmake build system

* Fix PostgreSQL build

* Fix PostgreSQL build in cmake

* Fix PostgreSQL from SQL to Data

* Squashed commit of the following:

commit 1ba7d5dcbfb8d07860dd4efda33b31bedf6184c4

    Add missing cmake file

* Set path to PostgresSQL in AppVoyer

* Try to fix AppVeyor build

* show dir in appvoyer

* Disable PostgreSQL build on Appvoyer

* Refactor add_definitions to target_compile_definitions
This commit is contained in:
Joerg-Christian Boehme
2018-06-03 18:17:50 +02:00
committed by Aleksandar Fabijanic
parent 4542a15b86
commit 612f092235
128 changed files with 1693 additions and 1357 deletions

View File

@@ -1,10 +1,4 @@
set(LIBNAME "CppUnit")
# Sources
add_definitions(-DPOCO_NO_AUTOMATIC_LIBS)
if (WIN32)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
endif (WIN32)
file(GLOB SRCS_G "src/*.cpp")
POCO_SOURCES_AUTO( SRCS ${SRCS_G})
@@ -12,16 +6,25 @@ POCO_SOURCES_AUTO( SRCS ${SRCS_G})
file(GLOB_RECURSE HDRS_G "include/*.h" )
POCO_HEADERS_AUTO( SRCS ${HDRS_G})
add_library( "${LIBNAME}" ${LIB_MODE} ${SRCS} )
set_target_properties( "${LIBNAME}"
add_library(CppUnit ${SRCS})
set_target_properties(CppUnit
PROPERTIES
VERSION "1" SOVERSION "1"
DEFINE_SYMBOL CppUnit_EXPORTS)
target_link_libraries( "${LIBNAME}" Foundation)
target_include_directories( "${LIBNAME}"
target_link_libraries(CppUnit Poco::Foundation)
target_include_directories(CppUnit
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
)
target_compile_definitions("${LIBNAME}" PUBLIC ${LIB_MODE_DEFINITIONS})
target_compile_definitions(CppUnit PUBLIC POCO_NO_AUTOMATIC_LIBS)
if(NOT BUILD_SHARED_LIBS)
target_compile_definitions(CppUnit
PUBLIC
POCO_STATIC
)
endif()
if (WIN32)
target_compile_definitions(CppUnit PRIVATE _CRT_SECURE_NO_WARNINGS)
endif (WIN32)

View File

@@ -1,5 +1,3 @@
set(LIBNAME "WinTestRunner")
# Sources
file(GLOB SRCS_G "src/*.cpp")
POCO_SOURCES_AUTO( WIN_SRCS ${SRCS_G})
@@ -11,26 +9,28 @@ POCO_HEADERS_AUTO( WIN_SRCS ${HDRS_G})
file(GLOB_RECURSE HDRS_G "src/*.h" )
POCO_HEADERS_AUTO( WIN_SRCS ${HDRS_G})
# TODO: Is this flag always required?
add_definitions("-D_AFXDLL")
#TODO: Use instead of the flag above: find_package(MFC)
add_library( "${LIBNAME}" ${LIB_MODE} ${WIN_SRCS} )
set_target_properties( "${LIBNAME}"
add_library(WinTestRunner ${WIN_SRCS} )
set_target_properties(WinTestRunner
PROPERTIES
VERSION "1" SOVERSION "1"
DEFINE_SYMBOL WinTestRunner_EXPORTS)
target_link_libraries( "${LIBNAME}" CppUnit )
target_include_directories( "${LIBNAME}"
target_link_libraries(WinTestRunner PUBLIC CppUnit)
target_include_directories(WinTestRunner
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
)
target_compile_definitions("${LIBNAME}" PUBLIC ${LIB_MODE_DEFINITIONS})
# TODO: Is this flag _AFXDLL always required?
target_compile_definitions(WinTestRunner
PRIVATE
_AFXDLL
)
#TODO: Use instead of the flag _AFXDLL above: find_package(MFC)
if(WIN32)
target_link_libraries( ${LIBNAME} winmm )
target_link_libraries(WinTestRunner PUBLIC winmm)
endif(WIN32)