cmake linking fix for win32

This commit is contained in:
Marian Krivos
2011-09-14 19:42:56 +00:00
parent 8aa4425690
commit 54a7860bff

View File

@@ -1,231 +1,232 @@
set(LIBNAME "PocoFoundation") set(LIBNAME "PocoFoundation")
set(LIBNAMED "${LIBNAME}d") set(LIBNAMED "${LIBNAME}d")
set( BASE_SRCS set( BASE_SRCS
src/ASCIIEncoding.cpp src/ASCIIEncoding.cpp
src/Ascii.cpp src/Ascii.cpp
src/AtomicCounter.cpp src/AtomicCounter.cpp
src/AbstractObserver.cpp src/AbstractObserver.cpp
src/ActiveDispatcher.cpp src/ActiveDispatcher.cpp
src/ArchiveStrategy.cpp src/ArchiveStrategy.cpp
src/AsyncChannel.cpp src/AsyncChannel.cpp
src/Base64Decoder.cpp src/Base64Decoder.cpp
src/Base64Encoder.cpp src/Base64Encoder.cpp
src/BinaryReader.cpp src/BinaryReader.cpp
src/BinaryWriter.cpp src/BinaryWriter.cpp
src/Bugcheck.cpp src/Bugcheck.cpp
src/ByteOrder.cpp src/ByteOrder.cpp
src/Channel.cpp src/Channel.cpp
src/Checksum.cpp src/Checksum.cpp
src/Condition.cpp src/Condition.cpp
src/Configurable.cpp src/Configurable.cpp
src/ConsoleChannel.cpp src/ConsoleChannel.cpp
src/CountingStream.cpp src/CountingStream.cpp
src/DateTime.cpp src/DateTime.cpp
src/DateTimeFormat.cpp src/DateTimeFormat.cpp
src/DateTimeFormatter.cpp src/DateTimeFormatter.cpp
src/DateTimeParser.cpp src/DateTimeParser.cpp
src/Debugger.cpp src/Debugger.cpp
src/DeflatingStream.cpp src/DeflatingStream.cpp
src/DigestEngine.cpp src/DigestEngine.cpp
src/DigestStream.cpp src/DigestStream.cpp
src/DirectoryIterator.cpp src/DirectoryIterator.cpp
# src/DynamicAny.cpp # src/DynamicAny.cpp
# src/DynamicAnyHolder.cpp # src/DynamicAnyHolder.cpp
src/Environment.cpp src/Environment.cpp
src/ErrorHandler.cpp src/ErrorHandler.cpp
src/Event.cpp src/Event.cpp
src/EventArgs.cpp src/EventArgs.cpp
src/Exception.cpp src/Exception.cpp
src/FPEnvironment.cpp src/FPEnvironment.cpp
src/File.cpp src/File.cpp
src/FileChannel.cpp src/FileChannel.cpp
src/FileStream.cpp src/FileStream.cpp
src/FileStreamFactory.cpp src/FileStreamFactory.cpp
src/Format.cpp src/Format.cpp
src/Formatter.cpp src/Formatter.cpp
src/FormattingChannel.cpp src/FormattingChannel.cpp
src/Glob.cpp src/Glob.cpp
src/Hash.cpp src/Hash.cpp
src/HashStatistic.cpp src/HashStatistic.cpp
src/HexBinaryDecoder.cpp src/HexBinaryDecoder.cpp
src/HexBinaryEncoder.cpp src/HexBinaryEncoder.cpp
src/InflatingStream.cpp src/InflatingStream.cpp
src/Latin1Encoding.cpp src/Latin1Encoding.cpp
src/Latin2Encoding.cpp src/Latin2Encoding.cpp
src/Latin9Encoding.cpp src/Latin9Encoding.cpp
src/LineEndingConverter.cpp src/LineEndingConverter.cpp
src/LocalDateTime.cpp src/LocalDateTime.cpp
src/LogFile.cpp src/LogFile.cpp
src/LogStream.cpp src/LogStream.cpp
src/Logger.cpp src/Logger.cpp
src/LoggingFactory.cpp src/LoggingFactory.cpp
src/LoggingRegistry.cpp src/LoggingRegistry.cpp
src/MD4Engine.cpp src/MD4Engine.cpp
src/MD5Engine.cpp src/MD5Engine.cpp
src/Manifest.cpp src/Manifest.cpp
src/MemoryPool.cpp src/MemoryPool.cpp
src/MemoryStream.cpp src/MemoryStream.cpp
src/Message.cpp src/Message.cpp
src/Mutex.cpp src/Mutex.cpp
src/NamedEvent.cpp src/NamedEvent.cpp
src/NamedMutex.cpp src/NamedMutex.cpp
src/NestedDiagnosticContext.cpp src/NestedDiagnosticContext.cpp
src/Notification.cpp src/Notification.cpp
src/NotificationCenter.cpp src/NotificationCenter.cpp
src/NotificationQueue.cpp src/NotificationQueue.cpp
src/TimedNotificationQueue.cpp src/TimedNotificationQueue.cpp
src/PriorityNotificationQueue.cpp src/PriorityNotificationQueue.cpp
src/NullChannel.cpp src/NullChannel.cpp
src/NullStream.cpp src/NullStream.cpp
src/NumberFormatter.cpp src/NumberFormatter.cpp
src/NumberParser.cpp src/NumberParser.cpp
# src/OpcomChannel.cpp # src/OpcomChannel.cpp
src/Path.cpp src/Path.cpp
src/PatternFormatter.cpp src/PatternFormatter.cpp
src/Pipe.cpp src/Pipe.cpp
src/PipeImpl.cpp src/PipeImpl.cpp
src/PipeStream.cpp src/PipeStream.cpp
src/Process.cpp src/Process.cpp
src/PurgeStrategy.cpp src/PurgeStrategy.cpp
src/RWLock.cpp src/RWLock.cpp
src/Random.cpp src/Random.cpp
src/RandomStream.cpp src/RandomStream.cpp
src/RefCountedObject.cpp src/RefCountedObject.cpp
src/RegularExpression.cpp src/RegularExpression.cpp
src/RotateStrategy.cpp src/RotateStrategy.cpp
src/Runnable.cpp src/Runnable.cpp
src/SHA1Engine.cpp src/SHA1Engine.cpp
src/Semaphore.cpp src/Semaphore.cpp
src/SharedLibrary.cpp src/SharedLibrary.cpp
src/SharedMemory.cpp src/SharedMemory.cpp
src/SignalHandler.cpp src/SignalHandler.cpp
src/SimpleFileChannel.cpp src/SimpleFileChannel.cpp
src/SplitterChannel.cpp src/SplitterChannel.cpp
src/Stopwatch.cpp src/Stopwatch.cpp
src/StreamChannel.cpp src/StreamChannel.cpp
src/StreamConverter.cpp src/StreamConverter.cpp
src/StreamCopier.cpp src/StreamCopier.cpp
src/StreamTokenizer.cpp src/StreamTokenizer.cpp
src/String.cpp src/String.cpp
src/StringTokenizer.cpp src/StringTokenizer.cpp
src/SynchronizedObject.cpp src/SynchronizedObject.cpp
src/Task.cpp src/Task.cpp
src/TaskManager.cpp src/TaskManager.cpp
src/TaskNotification.cpp src/TaskNotification.cpp
src/TeeStream.cpp src/TeeStream.cpp
src/TemporaryFile.cpp src/TemporaryFile.cpp
src/TextConverter.cpp src/TextConverter.cpp
src/TextEncoding.cpp src/TextEncoding.cpp
src/TextIterator.cpp src/TextIterator.cpp
src/TextBufferIterator.cpp src/TextBufferIterator.cpp
src/Thread.cpp src/Thread.cpp
src/ThreadTarget.cpp src/ThreadTarget.cpp
src/ThreadLocal.cpp src/ThreadLocal.cpp
src/ThreadPool.cpp src/ThreadPool.cpp
src/Timer.cpp src/Timer.cpp
src/Timespan.cpp src/Timespan.cpp
src/Timestamp.cpp src/Timestamp.cpp
src/Timezone.cpp src/Timezone.cpp
src/Token.cpp src/Token.cpp
src/URI.cpp src/URI.cpp
src/URIStreamFactory.cpp src/URIStreamFactory.cpp
src/URIStreamOpener.cpp src/URIStreamOpener.cpp
src/UTF16Encoding.cpp src/UTF16Encoding.cpp
src/UTF8Encoding.cpp src/UTF8Encoding.cpp
src/UTF8String.cpp src/UTF8String.cpp
src/UUID.cpp src/UUID.cpp
src/UUIDGenerator.cpp src/UUIDGenerator.cpp
src/Unicode.cpp src/Unicode.cpp
src/UnicodeConverter.cpp src/UnicodeConverter.cpp
src/Var.cpp src/Var.cpp
src/VarHolder.cpp src/VarHolder.cpp
src/Void.cpp src/Void.cpp
src/Windows1250Encoding.cpp src/Windows1250Encoding.cpp
src/Windows1251Encoding.cpp src/Windows1251Encoding.cpp
src/Windows1252Encoding.cpp src/Windows1252Encoding.cpp
src/adler32.c src/adler32.c
src/compress.c src/compress.c
src/crc32.c src/crc32.c
src/deflate.c src/deflate.c
src/gzclose.c src/gzclose.c
src/gzlib.c src/gzlib.c
src/gzread.c src/gzread.c
src/gzwrite.c src/gzwrite.c
src/uncompr.c src/uncompr.c
src/infback.c src/infback.c
src/inffast.c src/inffast.c
src/inflate.c src/inflate.c
src/inftrees.c src/inftrees.c
src/pcre_chartables.c src/pcre_chartables.c
src/pcre_compile.c src/pcre_compile.c
src/pcre_exec.c src/pcre_exec.c
src/pcre_fullinfo.c src/pcre_fullinfo.c
src/pcre_globals.c src/pcre_globals.c
src/pcre_maketables.c src/pcre_maketables.c
src/pcre_newline.c src/pcre_newline.c
src/pcre_ord2utf8.c src/pcre_ord2utf8.c
src/pcre_study.c src/pcre_study.c
src/pcre_tables.c src/pcre_tables.c
src/pcre_try_flipped.c src/pcre_try_flipped.c
src/pcre_ucd.c src/pcre_ucd.c
src/pcre_valid_utf8.c src/pcre_valid_utf8.c
src/pcre_xclass.c src/pcre_xclass.c
src/pocomsg.mc src/pocomsg.mc
src/trees.c src/trees.c
src/zutil.c src/zutil.c
) )
set(WIN_SRCS set(WIN_SRCS
src/EventLogChannel.cpp src/EventLogChannel.cpp
src/WindowsConsoleChannel.cpp src/WindowsConsoleChannel.cpp
) )
set(LIN_SRCS set(LIN_SRCS
src/SyslogChannel.cpp src/SyslogChannel.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( -DPOCO_NO_FPENVIRONMENT -DPCRE_STATIC) add_definitions( -DPOCO_NO_FPENVIRONMENT -DPCRE_STATIC)
else (CMAKE_SYSTEM MATCHES "Windows") set(SYSLIBS ${SYSLIBS} iphlpapi)
set(SRCS ${BASE_SRCS} ${LIN_SRCS}) else (CMAKE_SYSTEM MATCHES "Windows")
add_definitions( -DPCRE_STATIC) set(SRCS ${BASE_SRCS} ${LIN_SRCS})
endif(CMAKE_SYSTEM MATCHES "Windows") add_definitions( -DPCRE_STATIC)
endif(CMAKE_SYSTEM MATCHES "Windows")
add_library( ${LIBNAME} ${LIB_MODE} ${SRCS} )
set_target_properties( ${LIBNAME} add_library( ${LIBNAME} ${LIB_MODE} ${SRCS} )
PROPERTIES COMPILE_FLAGS ${RELEASE_CXX_FLAGS} set_target_properties( ${LIBNAME}
VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH} PROPERTIES COMPILE_FLAGS ${RELEASE_CXX_FLAGS}
SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}) VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}
if (${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro") SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})
set_target_properties( ${LIBNAME} PROPERTIES LINK_FLAGS "-library=stlport4") if (${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro")
endif (${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro") set_target_properties( ${LIBNAME} PROPERTIES LINK_FLAGS "-library=stlport4")
target_link_libraries( ${LIBNAME} ${SYSLIBS}) endif (${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro")
target_link_libraries( ${LIBNAME} ${SYSLIBS})
add_library( ${LIBNAMED} ${LIB_MODE} ${SRCS} )
set_target_properties( ${LIBNAMED} add_library( ${LIBNAMED} ${LIB_MODE} ${SRCS} )
PROPERTIES COMPILE_FLAGS "${DEBUG_CXX_FLAGS}" set_target_properties( ${LIBNAMED}
VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH} PROPERTIES COMPILE_FLAGS "${DEBUG_CXX_FLAGS}"
SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}) VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}
if (${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro") SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})
set_target_properties( ${LIBNAMED} PROPERTIES LINK_FLAGS "-library=stlport4") if (${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro")
endif (${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro") set_target_properties( ${LIBNAMED} PROPERTIES LINK_FLAGS "-library=stlport4")
target_link_libraries( ${LIBNAMED} ${SYSLIBS}) endif (${CMAKE_CXX_COMPILER_ID} MATCHES "SunPro")
target_link_libraries( ${LIBNAMED} ${SYSLIBS})
install(
DIRECTORY include/Poco install(
DESTINATION include DIRECTORY include/Poco
PATTERN ".svn" EXCLUDE DESTINATION include
) PATTERN ".svn" EXCLUDE
)
install(
TARGETS ${LIBNAME} ${LIBNAMED} install(
DESTINATION lib TARGETS ${LIBNAME} ${LIBNAMED}
) DESTINATION lib
)
if (ENABLE_TESTS)
add_subdirectory( samples ) if (ENABLE_TESTS)
add_subdirectory( testsuite ) add_subdirectory( samples )
endif () add_subdirectory( testsuite )
endif ()