summaryrefslogtreecommitdiffstats
path: root/winpr/libwinpr/utils/CMakeLists.txt
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 01:24:41 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 01:24:41 +0000
commita9bcc81f821d7c66f623779fa5147e728eb3c388 (patch)
tree98676963bcdd537ae5908a067a8eb110b93486a6 /winpr/libwinpr/utils/CMakeLists.txt
parentInitial commit. (diff)
downloadfreerdp3-a9bcc81f821d7c66f623779fa5147e728eb3c388.tar.xz
freerdp3-a9bcc81f821d7c66f623779fa5147e728eb3c388.zip
Adding upstream version 3.3.0+dfsg1.upstream/3.3.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'winpr/libwinpr/utils/CMakeLists.txt')
-rw-r--r--winpr/libwinpr/utils/CMakeLists.txt228
1 files changed, 228 insertions, 0 deletions
diff --git a/winpr/libwinpr/utils/CMakeLists.txt b/winpr/libwinpr/utils/CMakeLists.txt
new file mode 100644
index 0000000..91c7353
--- /dev/null
+++ b/winpr/libwinpr/utils/CMakeLists.txt
@@ -0,0 +1,228 @@
+# 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)
+
+option(WITH_LODEPNG "build WinPR with PNG support" OFF)
+if (WITH_LODEPNG)
+ find_package(lodepng REQUIRED)
+
+ winpr_definition_add(-DWITH_LODEPNG)
+ set(WINPR_WITH_PNG ON CACHE BOOL "build cache")
+
+ winpr_include_directory_add(${lodepng_INCLUDE_DIRS})
+ winpr_library_add_private(${lodepng_LIBRARIES})
+endif()
+
+option(WINPR_UTILS_IMAGE_PNG "Add PNG <--> BMP conversion support to clipboard" OFF)
+if (WINPR_UTILS_IMAGE_PNG)
+ find_package(PNG REQUIRED)
+
+ set(WINPR_WITH_PNG ON CACHE BOOL "build cache")
+ winpr_include_directory_add(${PNG_INCLUDE_DIRS})
+ winpr_library_add_private(${PNG_LIBRARIES})
+endif()
+
+option(WINPR_UTILS_IMAGE_WEBP "Add WebP <--> BMP conversion support to clipboard" OFF)
+if (WINPR_UTILS_IMAGE_WEBP)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(WEBP libwebp REQUIRED)
+
+ winpr_include_directory_add(${WEBP_INCLUDE_DIRS})
+ winpr_library_add_private(${WEBP_LIBRARIES})
+endif()
+
+option(WINPR_UTILS_IMAGE_JPEG "Add Jpeg <--> BMP conversion support to clipboard" OFF)
+if (WINPR_UTILS_IMAGE_JPEG)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(JPEG libjpeg REQUIRED)
+
+ winpr_include_directory_add(${JPEG_INCLUDE_DIRS})
+ winpr_library_add_private(${JPEG_LIBRARIES})
+endif()
+
+
+set(COLLECTIONS_SRCS
+ collections/Object.c
+ collections/Queue.c
+ collections/Stack.c
+ collections/PubSub.c
+ collections/BitStream.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)
+
+if (WINPR_HAVE_SYSLOG_H)
+ set(SYSLOG_SRCS
+ wlog/SyslogAppender.c
+ wlog/SyslogAppender.h
+ )
+endif()
+
+find_package(libsystemd)
+option(WITH_SYSTEMD "allows to export wLog to systemd journal" ${libsystemd_FOUND})
+if(WITH_LIBSYSTEMD)
+ find_package(libsystemd REQUIRED)
+ set(WINPR_HAVE_JOURNALD_H TRUE)
+ set(JOURNALD_SRCS
+ wlog/JournaldAppender.c
+ wlog/JournaldAppender.h
+ )
+ winpr_include_directory_add(${LIBSYSTEMD_INCLUDE_DIR})
+ winpr_library_add_private(${LIBSYSTEMD_LIBRARY})
+else()
+ unset(WINPR_HAVE_JOURNALD_H)
+endif()
+
+set(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(ASN1_SRCS
+ asn1/asn1.c
+)
+
+set(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)
+ list(APPEND SRCS android.h android.c)
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+ if (NOT WINPR_HAVE_UNWIND_H)
+ message("[backtrace] android NDK without unwind.h, falling back to corkscrew")
+ set(WINPR_HAVE_CORKSCREW 1)
+ endif()
+endif()
+
+if (WINPR_HAVE_CORKSCREW)
+ list(APPEND SRCS
+ corkscrew/debug.c
+ corkscrew/debug.h)
+endif()
+
+if (WIN32)
+ list(APPEND SRCS
+ windows/debug.c
+ windows/debug.h)
+endif()
+
+if (WINPR_HAVE_EXECINFO_H)
+ option(USE_EXECINFO "Use execinfo.h to generate backtraces" ON)
+ if (USE_EXECINFO)
+ winpr_definition_add(-DUSE_EXECINFO)
+ list(APPEND SRCS
+ execinfo/debug.c
+ execinfo/debug.h)
+ endif()
+endif()
+
+if (WINPR_HAVE_UNWIND_H)
+ option(USE_UNWIND "Use unwind.h to generate backtraces" ON)
+ if (USE_UNWIND)
+ winpr_definition_add(-DUSE_UNWIND)
+ list(APPEND SRCS
+ unwind/debug.c
+ unwind/debug.h)
+ endif()
+endif()
+
+winpr_module_add(${SRCS}
+ ${COLLECTIONS_SRCS}
+ ${WLOG_SRCS}
+ ${ASN1_SRCS}
+)
+
+winpr_include_directory_add(
+ "."
+)
+
+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()