FreeRDP/winpr/libwinpr/utils/CMakeLists.txt
Armin Novak 983443749d Added Stream_EnsureValidity
This function  terminates a process if a stream was used incorrectly.
It will work similar to an assert, but it is not possible to compile
without this.

Purpose is to prevent problems with missing length/capacity checks
2021-10-06 09:49:07 +02:00

162 lines
3.3 KiB
CMake

# WinPR: Windows Portable Runtime
# libwinpr-utils cmake build script
#
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
include(CheckFunctionExists)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(${MODULE_PREFIX}_COLLECTIONS_SRCS
collections/Queue.c
collections/Stack.c
collections/PubSub.c
collections/BipBuffer.c
collections/BitStream.c
collections/Reference.c
collections/ArrayList.c
collections/LinkedList.c
collections/HashTable.c
collections/ListDictionary.c
collections/CountdownEvent.c
collections/BufferPool.c
collections/ObjectPool.c
collections/StreamPool.c
collections/MessageQueue.c
collections/MessagePipe.c)
set(${MODULE_PREFIX}_LODEPNG_SRCS
lodepng/lodepng.c
lodepng/lodepng.h)
set(${MODULE_PREFIX}_TRIO_SRCS
trio/strio.h
trio/trio.c
trio/trio.h
trio/triodef.h
trio/trionan.c
trio/trionan.h
trio/triop.h
trio/triostr.c
trio/triostr.h)
if (HAVE_SYSLOG_H)
set(SYSLOG_SRCS
wlog/SyslogAppender.c
wlog/SyslogAppender.h
)
endif()
if (LIBSYSTEMD_FOUND)
set(JOURNALD_SRCS
wlog/JournaldAppender.c
wlog/JournaldAppender.h
)
winpr_include_directory_add(${LIBSYSTEMD_INCLUDE_DIR})
winpr_library_add_private(${LIBSYSTEMD_LIBRARY})
endif()
set(${MODULE_PREFIX}_WLOG_SRCS
wlog/wlog.c
wlog/wlog.h
wlog/Layout.c
wlog/Layout.h
wlog/Message.c
wlog/Message.h
wlog/DataMessage.c
wlog/DataMessage.h
wlog/ImageMessage.c
wlog/ImageMessage.h
wlog/PacketMessage.c
wlog/PacketMessage.h
wlog/Appender.c
wlog/Appender.h
wlog/FileAppender.c
wlog/FileAppender.h
wlog/BinaryAppender.c
wlog/BinaryAppender.h
wlog/CallbackAppender.c
wlog/CallbackAppender.h
wlog/ConsoleAppender.c
wlog/ConsoleAppender.h
wlog/UdpAppender.c
wlog/UdpAppender.h
${SYSLOG_SRCS}
${JOURNALD_SRCS}
)
set(${MODULE_PREFIX}_SRCS
ini.c
sam.c
ntlm.c
image.c
print.c
stream.h
stream.c
strlst.c
debug.c
winpr.c
cmdline.c
ssl.c)
if (ANDROID)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
endif()
winpr_module_add(${${MODULE_PREFIX}_SRCS}
${${MODULE_PREFIX}_COLLECTIONS_SRCS}
${${MODULE_PREFIX}_LODEPNG_SRCS}
${${MODULE_PREFIX}_TRIO_SRCS}
${${MODULE_PREFIX}_WLOG_SRCS})
winpr_include_directory_add(
"lodepng"
"trio"
".")
if(OPENSSL_FOUND)
winpr_include_directory_add(${OPENSSL_INCLUDE_DIR})
winpr_library_add_private(${OPENSSL_LIBRARIES})
endif()
if(MBEDTLS_FOUND)
winpr_include_directory_add(${MBEDTLS_INCLUDE_DIR})
winpr_library_add_private(${MBEDTLS_LIBRARIES})
endif()
if(UNIX)
winpr_library_add_private(m)
set(CMAKE_REQUIRED_INCLUDES backtrace.h)
check_function_exists(backtrace BACKTRACE)
if (NOT BACKTRACE)
set(CMAKE_REQUIRED_LIBRARIES execinfo)
check_function_exists(backtrace EXECINFO)
if (EXECINFO)
winpr_library_add_private(execinfo)
endif()
endif()
endif()
if(WIN32)
winpr_library_add_public(dbghelp)
endif()
if(BUILD_TESTING)
add_subdirectory(test)
endif()