2012-05-25 01:05:12 +04:00
|
|
|
# WinPR: Windows Portable Runtime
|
|
|
|
# libwinpr-utils cmake build script
|
|
|
|
#
|
2012-09-21 04:45:56 +04:00
|
|
|
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
2012-05-25 01:05:12 +04:00
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
|
2020-12-04 15:21:50 +03:00
|
|
|
include(CheckFunctionExists)
|
|
|
|
|
2013-10-02 00:08:26 +04:00
|
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
|
2022-04-29 13:12:12 +03:00
|
|
|
set(COLLECTIONS_SRCS
|
2012-12-01 01:13:19 +04:00
|
|
|
collections/Queue.c
|
|
|
|
collections/Stack.c
|
2013-06-15 00:55:05 +04:00
|
|
|
collections/PubSub.c
|
2022-10-27 09:56:33 +03:00
|
|
|
collections/BitStream.c
|
2013-01-18 22:50:35 +04:00
|
|
|
collections/Reference.c
|
2012-12-06 04:36:45 +04:00
|
|
|
collections/ArrayList.c
|
2013-08-06 01:29:14 +04:00
|
|
|
collections/LinkedList.c
|
2014-02-10 06:55:21 +04:00
|
|
|
collections/HashTable.c
|
2012-12-06 04:36:45 +04:00
|
|
|
collections/ListDictionary.c
|
2013-01-23 05:36:08 +04:00
|
|
|
collections/CountdownEvent.c
|
2013-01-24 23:09:44 +04:00
|
|
|
collections/BufferPool.c
|
2013-02-15 05:39:56 +04:00
|
|
|
collections/ObjectPool.c
|
2013-04-12 05:59:02 +04:00
|
|
|
collections/StreamPool.c
|
2013-02-20 23:48:32 +04:00
|
|
|
collections/MessageQueue.c
|
|
|
|
collections/MessagePipe.c)
|
2018-06-06 17:43:09 +03:00
|
|
|
|
2022-04-29 13:12:12 +03:00
|
|
|
set(LODEPNG_SRCS
|
2014-09-28 19:02:39 +04:00
|
|
|
lodepng/lodepng.c
|
|
|
|
lodepng/lodepng.h)
|
2012-12-01 01:13:19 +04:00
|
|
|
|
2023-01-10 16:30:23 +03:00
|
|
|
if (WINPR_HAVE_SYSLOG_H)
|
2015-10-21 17:13:15 +03:00
|
|
|
set(SYSLOG_SRCS
|
|
|
|
wlog/SyslogAppender.c
|
|
|
|
wlog/SyslogAppender.h
|
|
|
|
)
|
|
|
|
endif()
|
2015-10-30 16:50:14 +03:00
|
|
|
|
|
|
|
if (LIBSYSTEMD_FOUND)
|
|
|
|
set(JOURNALD_SRCS
|
|
|
|
wlog/JournaldAppender.c
|
|
|
|
wlog/JournaldAppender.h
|
|
|
|
)
|
|
|
|
|
|
|
|
winpr_include_directory_add(${LIBSYSTEMD_INCLUDE_DIR})
|
2019-03-15 13:36:24 +03:00
|
|
|
winpr_library_add_private(${LIBSYSTEMD_LIBRARY})
|
2015-10-30 16:50:14 +03:00
|
|
|
endif()
|
2018-06-06 17:43:09 +03:00
|
|
|
|
2022-04-29 13:12:12 +03:00
|
|
|
set(WLOG_SRCS
|
2013-10-02 00:08:26 +04:00
|
|
|
wlog/wlog.c
|
|
|
|
wlog/wlog.h
|
2013-10-02 21:38:21 +04:00
|
|
|
wlog/Layout.c
|
|
|
|
wlog/Layout.h
|
|
|
|
wlog/Message.c
|
|
|
|
wlog/Message.h
|
|
|
|
wlog/DataMessage.c
|
|
|
|
wlog/DataMessage.h
|
|
|
|
wlog/ImageMessage.c
|
|
|
|
wlog/ImageMessage.h
|
2013-10-09 07:18:59 +04:00
|
|
|
wlog/PacketMessage.c
|
|
|
|
wlog/PacketMessage.h
|
2013-10-02 21:38:21 +04:00
|
|
|
wlog/Appender.c
|
|
|
|
wlog/Appender.h
|
2013-10-02 00:08:26 +04:00
|
|
|
wlog/FileAppender.c
|
|
|
|
wlog/FileAppender.h
|
2013-10-02 21:38:21 +04:00
|
|
|
wlog/BinaryAppender.c
|
|
|
|
wlog/BinaryAppender.h
|
2014-11-16 14:20:48 +03:00
|
|
|
wlog/CallbackAppender.c
|
|
|
|
wlog/CallbackAppender.h
|
2013-10-02 00:08:26 +04:00
|
|
|
wlog/ConsoleAppender.c
|
2015-10-21 17:13:15 +03:00
|
|
|
wlog/ConsoleAppender.h
|
2015-11-04 20:11:19 +03:00
|
|
|
wlog/UdpAppender.c
|
|
|
|
wlog/UdpAppender.h
|
2015-10-21 17:13:15 +03:00
|
|
|
${SYSLOG_SRCS}
|
2015-10-30 16:50:14 +03:00
|
|
|
${JOURNALD_SRCS}
|
2015-10-21 17:13:15 +03:00
|
|
|
)
|
|
|
|
|
2022-06-30 12:06:10 +03:00
|
|
|
set(ASN1_SRCS
|
|
|
|
asn1/asn1.c
|
|
|
|
)
|
2013-03-22 05:30:31 +04:00
|
|
|
|
2022-04-29 13:12:12 +03:00
|
|
|
set(SRCS
|
2014-03-25 02:20:34 +04:00
|
|
|
ini.c
|
2012-11-02 08:20:46 +04:00
|
|
|
sam.c
|
2012-06-03 02:21:04 +04:00
|
|
|
ntlm.c
|
2014-09-04 00:20:50 +04:00
|
|
|
image.c
|
2012-05-25 11:24:42 +04:00
|
|
|
print.c
|
2021-10-04 15:36:28 +03:00
|
|
|
stream.h
|
2012-11-02 08:20:46 +04:00
|
|
|
stream.c
|
2018-06-06 17:43:09 +03:00
|
|
|
strlst.c
|
2014-08-14 12:36:50 +04:00
|
|
|
debug.c
|
2015-03-30 18:50:47 +03:00
|
|
|
winpr.c
|
2014-07-28 23:55:57 +04:00
|
|
|
cmdline.c
|
|
|
|
ssl.c)
|
2012-05-25 01:05:12 +04:00
|
|
|
|
2014-08-14 12:36:50 +04:00
|
|
|
if (ANDROID)
|
2022-11-15 10:24:53 +03:00
|
|
|
list(APPEND SRCS android.h android.c)
|
2014-09-28 19:02:39 +04:00
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
2023-01-10 16:30:23 +03:00
|
|
|
if (NOT WINPR_HAVE_UNWIND_H)
|
2022-04-29 14:41:44 +03:00
|
|
|
message("[backtrace] android NDK without unwind.h, falling back to corkscrew")
|
2023-01-10 16:30:23 +03:00
|
|
|
set(WINPR_HAVE_CORKSCREW 1)
|
2022-04-29 14:41:44 +03:00
|
|
|
endif()
|
2014-08-14 12:36:50 +04:00
|
|
|
endif()
|
|
|
|
|
2023-01-10 16:30:23 +03:00
|
|
|
if (WINPR_HAVE_CORKSCREW)
|
2022-04-29 12:56:35 +03:00
|
|
|
list(APPEND SRCS
|
|
|
|
corkscrew/debug.c
|
|
|
|
corkscrew/debug.h)
|
|
|
|
endif()
|
|
|
|
|
2022-04-29 12:51:18 +03:00
|
|
|
if (WIN32)
|
|
|
|
list(APPEND SRCS
|
|
|
|
windows/debug.c
|
|
|
|
windows/debug.h)
|
|
|
|
endif()
|
|
|
|
|
2023-01-10 16:30:23 +03:00
|
|
|
if (WINPR_HAVE_EXECINFO_H)
|
2022-04-29 12:38:46 +03:00
|
|
|
list(APPEND SRCS
|
|
|
|
execinfo/debug.c
|
|
|
|
execinfo/debug.h)
|
|
|
|
endif()
|
|
|
|
|
2023-01-10 16:30:23 +03:00
|
|
|
if (WINPR_HAVE_UNWIND_H)
|
2022-04-29 16:04:54 +03:00
|
|
|
option(USE_UNWIND "Use unwind.h to generate backtraces" ON)
|
|
|
|
if (USE_UNWIND)
|
|
|
|
add_definitions(-DUSE_UNWIND)
|
|
|
|
list(APPEND SRCS
|
|
|
|
unwind/debug.c
|
|
|
|
unwind/debug.h)
|
|
|
|
endif()
|
2022-04-29 12:28:49 +03:00
|
|
|
endif()
|
|
|
|
|
2022-04-29 13:12:12 +03:00
|
|
|
winpr_module_add(${SRCS}
|
|
|
|
${COLLECTIONS_SRCS}
|
|
|
|
${LODEPNG_SRCS}
|
2022-06-30 12:06:10 +03:00
|
|
|
${WLOG_SRCS}
|
|
|
|
${ASN1_SRCS}
|
|
|
|
)
|
2012-12-01 01:13:19 +04:00
|
|
|
|
2014-07-10 02:03:20 +04:00
|
|
|
winpr_include_directory_add(
|
2014-09-28 19:02:39 +04:00
|
|
|
"lodepng"
|
2015-10-05 23:23:44 +03:00
|
|
|
".")
|
2018-06-06 17:43:09 +03:00
|
|
|
|
2015-10-05 23:23:44 +03:00
|
|
|
if(OPENSSL_FOUND)
|
|
|
|
winpr_include_directory_add(${OPENSSL_INCLUDE_DIR})
|
2019-03-15 13:36:24 +03:00
|
|
|
winpr_library_add_private(${OPENSSL_LIBRARIES})
|
2015-10-05 23:23:44 +03:00
|
|
|
endif()
|
2012-05-25 01:05:12 +04:00
|
|
|
|
2015-10-05 23:23:44 +03:00
|
|
|
if(MBEDTLS_FOUND)
|
|
|
|
winpr_include_directory_add(${MBEDTLS_INCLUDE_DIR})
|
2019-03-15 13:36:24 +03:00
|
|
|
winpr_library_add_private(${MBEDTLS_LIBRARIES})
|
2015-10-05 23:23:44 +03:00
|
|
|
endif()
|
2013-03-22 05:30:31 +04:00
|
|
|
|
|
|
|
if(UNIX)
|
2019-03-15 13:36:24 +03:00
|
|
|
winpr_library_add_private(m)
|
2012-10-01 06:58:59 +04:00
|
|
|
|
2020-12-04 15:21:50 +03:00
|
|
|
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()
|
2015-03-10 01:21:28 +03:00
|
|
|
endif()
|
|
|
|
|
2014-09-17 19:24:12 +04:00
|
|
|
if(WIN32)
|
2019-03-15 13:36:24 +03:00
|
|
|
winpr_library_add_public(dbghelp)
|
2014-09-17 19:24:12 +04:00
|
|
|
endif()
|
|
|
|
|
2012-11-02 08:20:46 +04:00
|
|
|
if(BUILD_TESTING)
|
|
|
|
add_subdirectory(test)
|
|
|
|
endif()
|