mirror of
https://github.com/pocoproject/poco.git
synced 2025-01-31 06:35:03 +01:00
cmake: Foundation cleanup
- add NumericString.cpp to source files - support unbundled pcre and zlib - add OpcomChannel to OPENVMS_SRC for later OpenVMS support - Reviewed-by: Roger Meier <r.meier@siemens.com>
This commit is contained in:
parent
0fd90ec722
commit
10b4a9c631
@ -23,8 +23,8 @@ if (WIN32)
|
|||||||
message(STATUS "Found message compiler: ${CMAKE_MC_COMPILER}")
|
message(STATUS "Found message compiler: ${CMAKE_MC_COMPILER}")
|
||||||
mark_as_advanced(CMAKE_MC_COMPILER)
|
mark_as_advanced(CMAKE_MC_COMPILER)
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
set( BASE_SRCS
|
set( BASE_SRCS
|
||||||
src/ASCIIEncoding.cpp
|
src/ASCIIEncoding.cpp
|
||||||
src/Ascii.cpp
|
src/Ascii.cpp
|
||||||
src/AtomicCounter.cpp
|
src/AtomicCounter.cpp
|
||||||
@ -108,7 +108,7 @@ set( BASE_SRCS
|
|||||||
src/NullStream.cpp
|
src/NullStream.cpp
|
||||||
src/NumberFormatter.cpp
|
src/NumberFormatter.cpp
|
||||||
src/NumberParser.cpp
|
src/NumberParser.cpp
|
||||||
# src/OpcomChannel.cpp
|
src/NumericString.cpp
|
||||||
src/Path.cpp
|
src/Path.cpp
|
||||||
src/PatternFormatter.cpp
|
src/PatternFormatter.cpp
|
||||||
src/Pipe.cpp
|
src/Pipe.cpp
|
||||||
@ -176,71 +176,95 @@ set( BASE_SRCS
|
|||||||
src/Windows1250Encoding.cpp
|
src/Windows1250Encoding.cpp
|
||||||
src/Windows1251Encoding.cpp
|
src/Windows1251Encoding.cpp
|
||||||
src/Windows1252Encoding.cpp
|
src/Windows1252Encoding.cpp
|
||||||
src/adler32.c
|
|
||||||
src/compress.c
|
|
||||||
src/crc32.c
|
|
||||||
src/deflate.c
|
|
||||||
src/infback.c
|
|
||||||
src/inffast.c
|
|
||||||
src/inflate.c
|
|
||||||
src/inftrees.c
|
|
||||||
src/pcre_chartables.c
|
|
||||||
src/pcre_compile.c
|
|
||||||
src/pcre_exec.c
|
|
||||||
src/pcre_fullinfo.c
|
|
||||||
src/pcre_globals.c
|
|
||||||
src/pcre_maketables.c
|
|
||||||
src/pcre_newline.c
|
|
||||||
src/pcre_ord2utf8.c
|
|
||||||
src/pcre_study.c
|
|
||||||
src/pcre_tables.c
|
|
||||||
src/pcre_try_flipped.c
|
|
||||||
src/pcre_ucd.c
|
|
||||||
src/pcre_valid_utf8.c
|
|
||||||
src/pcre_xclass.c
|
|
||||||
src/pocomsg.mc
|
|
||||||
src/trees.c
|
|
||||||
src/zutil.c
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# If POCO_UNBUNDLED is enabled we try to find the required packages
|
||||||
|
# The configuration will fail if the packages are not found
|
||||||
|
if (POCO_UNBUNDLED)
|
||||||
|
find_package(PCRE REQUIRED)
|
||||||
|
set(SYSLIBS ${SYSLIBS} ${PCRE_LIBRARIES})
|
||||||
|
include_directories(${PCRE_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
find_package(ZLIB REQUIRED)
|
||||||
|
set(SYSLIBS ${SYSLIBS} ${ZLIB_LIBRARIES})
|
||||||
|
include_directories(${ZLIB_INCLUDE_DIRS})
|
||||||
|
else()
|
||||||
|
# PCRE
|
||||||
|
list(APPEND BASE_SRCS
|
||||||
|
src/pcre_chartables.c
|
||||||
|
src/pcre_compile.c
|
||||||
|
src/pcre_exec.c
|
||||||
|
src/pcre_fullinfo.c
|
||||||
|
src/pcre_globals.c
|
||||||
|
src/pcre_maketables.c
|
||||||
|
src/pcre_newline.c
|
||||||
|
src/pcre_ord2utf8.c
|
||||||
|
src/pcre_study.c
|
||||||
|
src/pcre_tables.c
|
||||||
|
src/pcre_try_flipped.c
|
||||||
|
src/pcre_ucd.c
|
||||||
|
src/pcre_valid_utf8.c
|
||||||
|
src/pcre_xclass.c
|
||||||
|
)
|
||||||
|
|
||||||
|
# ZLIB
|
||||||
|
list(APPEND BASE_SRCS
|
||||||
|
src/adler32.c
|
||||||
|
src/compress.c
|
||||||
|
src/crc32.c
|
||||||
|
src/deflate.c
|
||||||
|
src/infback.c
|
||||||
|
src/inffast.c
|
||||||
|
src/inflate.c
|
||||||
|
src/inftrees.c
|
||||||
|
src/trees.c
|
||||||
|
src/zutil.c
|
||||||
|
)
|
||||||
|
endif (POCO_UNBUNDLED)
|
||||||
|
|
||||||
set(WIN_SRCS
|
set(WIN_SRCS
|
||||||
src/EventLogChannel.cpp
|
src/EventLogChannel.cpp
|
||||||
src/WindowsConsoleChannel.cpp
|
src/WindowsConsoleChannel.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
set(RES_SRCS ${CMAKE_SOURCE_DIR}/Foundation/src/pocomsg.h)
|
set(RES_SRCS ${CMAKE_SOURCE_DIR}/Foundation/src/pocomsg.h)
|
||||||
set_source_files_properties(${RES_SRCS} PROPERTIES GENERATED true)
|
set_source_files_properties(${RES_SRCS} PROPERTIES GENERATED true)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${RES_SRCS}
|
OUTPUT ${RES_SRCS}
|
||||||
DEPENDS ${CMAKE_SOURCE_DIR}/Foundation/src/pocomsg.mc
|
DEPENDS ${CMAKE_SOURCE_DIR}/Foundation/src/pocomsg.mc
|
||||||
COMMAND ${CMAKE_MC_COMPILER}
|
COMMAND ${CMAKE_MC_COMPILER}
|
||||||
ARGS
|
ARGS
|
||||||
-h ${CMAKE_SOURCE_DIR}/Foundation/src
|
-h ${CMAKE_SOURCE_DIR}/Foundation/src
|
||||||
-r ${CMAKE_SOURCE_DIR}/Foundation/src
|
-r ${CMAKE_SOURCE_DIR}/Foundation/src
|
||||||
${CMAKE_SOURCE_DIR}/Foundation/src/pocomsg.mc
|
${CMAKE_SOURCE_DIR}/Foundation/src/pocomsg.mc
|
||||||
VERBATIM # recommended: p260
|
VERBATIM # recommended: p260
|
||||||
)
|
)
|
||||||
list(APPEND WIN_SRCS ${RES_SRCS})
|
list(APPEND WIN_SRCS ${RES_SRCS})
|
||||||
endif (WIN32)
|
endif (WIN32)
|
||||||
|
|
||||||
set(LIN_SRCS
|
set(LIN_SRCS
|
||||||
src/SyslogChannel.cpp
|
src/SyslogChannel.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# TODO: Use this sources somewhere if built on OpenVMS
|
||||||
|
set(OPENVMS_SRCS
|
||||||
|
src/OpcomChannel.cpp
|
||||||
|
)
|
||||||
|
|
||||||
if(CMAKE_SYSTEM MATCHES "Windows")
|
if(CMAKE_SYSTEM MATCHES "Windows")
|
||||||
set(SRCS ${BASE_SRCS} ${WIN_SRCS})
|
set(SRCS ${BASE_SRCS} ${WIN_SRCS})
|
||||||
add_definitions( -DPCRE_STATIC -DFoundation_EXPORTS)
|
add_definitions( -DPCRE_STATIC -DFoundation_EXPORTS)
|
||||||
set(SYSLIBS ${SYSLIBS} iphlpapi)
|
set(SYSLIBS ${SYSLIBS} iphlpapi)
|
||||||
else (CMAKE_SYSTEM MATCHES "Windows")
|
else (CMAKE_SYSTEM MATCHES "Windows")
|
||||||
set(SRCS ${BASE_SRCS} ${LIN_SRCS})
|
set(SRCS ${BASE_SRCS} ${LIN_SRCS})
|
||||||
add_definitions( -DPCRE_STATIC)
|
add_definitions( -DPCRE_STATIC)
|
||||||
endif(CMAKE_SYSTEM MATCHES "Windows")
|
endif(CMAKE_SYSTEM MATCHES "Windows")
|
||||||
|
|
||||||
add_library( ${LIBNAME} ${LIB_MODE} ${SRCS} )
|
add_library( ${LIBNAME} ${LIB_MODE} ${SRCS} )
|
||||||
set_target_properties( ${LIBNAME} PROPERTIES VERSION ${SHARED_LIBRARY_VERSION} SOVERSION ${SHARED_LIBRARY_VERSION} )
|
set_target_properties( ${LIBNAME} PROPERTIES VERSION ${SHARED_LIBRARY_VERSION} SOVERSION ${SHARED_LIBRARY_VERSION} )
|
||||||
if (${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro")
|
if (${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro")
|
||||||
set_target_properties( ${LIBNAME} PROPERTIES LINK_FLAGS "-library=stlport4")
|
set_target_properties( ${LIBNAME} PROPERTIES LINK_FLAGS "-library=stlport4")
|
||||||
endif (${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro")
|
endif (${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro")
|
||||||
target_link_libraries( ${LIBNAME} ${SYSLIBS})
|
target_link_libraries( ${LIBNAME} ${SYSLIBS})
|
||||||
|
|
||||||
@ -249,7 +273,7 @@ install(
|
|||||||
DESTINATION include
|
DESTINATION include
|
||||||
PATTERN ".svn" EXCLUDE
|
PATTERN ".svn" EXCLUDE
|
||||||
)
|
)
|
||||||
|
|
||||||
install(
|
install(
|
||||||
TARGETS ${LIBNAME}
|
TARGETS ${LIBNAME}
|
||||||
LIBRARY DESTINATION lib${LIB_SUFFIX}
|
LIBRARY DESTINATION lib${LIB_SUFFIX}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user