|
Packit Service |
b05338 |
cmake_minimum_required(VERSION 2.6)
|
|
Packit Service |
b05338 |
cmake_policy(SET CMP0037 NEW)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
project(LibVNCServer)
|
|
Packit Service |
b05338 |
include(CheckFunctionExists)
|
|
Packit Service |
b05338 |
include(CheckIncludeFile)
|
|
Packit Service |
b05338 |
include(CheckTypeSize)
|
|
Packit Service |
b05338 |
include(TestBigEndian)
|
|
Packit Service |
b05338 |
include(CheckCSourceCompiles)
|
|
Packit Service |
b05338 |
include(CheckCXXSourceCompiles)
|
|
Packit Service |
b05338 |
include(CheckCSourceRuns)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
set(PACKAGE_NAME "LibVNCServer")
|
|
Packit Service |
b05338 |
set(FULL_PACKAGE_NAME "LibVNCServer")
|
|
Packit Service |
b05338 |
set(VERSION_MAJOR "0")
|
|
Packit Service |
b05338 |
set(VERSION_MINOR "9")
|
|
Packit Service |
b05338 |
set(VERSION_PATCHLEVEL "11")
|
|
Packit Service |
b05338 |
set(VERSION_SO "0")
|
|
Packit Service |
b05338 |
set(PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCHLEVEL}")
|
|
Packit Service |
b05338 |
set(PROJECT_BUGREPORT_PATH "http://sourceforge.net/projects/libvncserver")
|
|
Packit Service |
b05338 |
set(CMAKE_C_FLAGS "-O2 -W -Wall -g")
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libvncserver)
|
|
Packit Service |
b05338 |
set(COMMON_DIR ${CMAKE_CURRENT_SOURCE_DIR}/common)
|
|
Packit Service |
b05338 |
set(LIBVNCCLIENT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libvncclient)
|
|
Packit Service |
b05338 |
set(LIBVNCSRVTEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/examples)
|
|
Packit Service |
b05338 |
set(LIBVNCCLITEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/client_examples)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/libvncserver ${CMAKE_CURRENT_SOURCE_DIR}/common)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
find_package(ZLIB)
|
|
Packit Service |
b05338 |
find_package(JPEG)
|
|
Packit Service |
b05338 |
find_package(PNG)
|
|
Packit Service |
b05338 |
find_package(SDL)
|
|
Packit Service |
b05338 |
find_package(GnuTLS)
|
|
Packit Service |
b05338 |
find_package(Threads)
|
|
Packit Service |
b05338 |
find_package(X11)
|
|
Packit Service |
b05338 |
find_package(OpenSSL)
|
|
Packit Service |
b05338 |
find_package(PkgConfig)
|
|
Packit Service |
b05338 |
find_library(LIBGCRYPT_LIBRARIES gcrypt)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
# Check whether the version of libjpeg we found was libjpeg-turbo and print a
|
|
Packit Service |
b05338 |
# warning if not.
|
|
Packit Service |
b05338 |
set(CMAKE_REQUIRED_LIBRARIES ${JPEG_LIBRARIES})
|
|
Packit Service |
b05338 |
set(CMAKE_REQUIRED_FLAGS -I${JPEG_INCLUDE_DIR})
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
set(JPEG_TEST_SOURCE "\n
|
|
Packit Service |
b05338 |
#include <stdio.h>\n
|
|
Packit Service |
b05338 |
#include <jpeglib.h>\n
|
|
Packit Service |
b05338 |
int main(void) {\n
|
|
Packit Service |
b05338 |
struct jpeg_compress_struct cinfo;\n
|
|
Packit Service |
b05338 |
struct jpeg_error_mgr jerr;\n
|
|
Packit Service |
b05338 |
cinfo.err=jpeg_std_error(&jerr);\n
|
|
Packit Service |
b05338 |
jpeg_create_compress(&cinfo);\n
|
|
Packit Service |
b05338 |
cinfo.input_components = 3;\n
|
|
Packit Service |
b05338 |
jpeg_set_defaults(&cinfo);\n
|
|
Packit Service |
b05338 |
cinfo.in_color_space = JCS_EXT_RGB;\n
|
|
Packit Service |
b05338 |
jpeg_default_colorspace(&cinfo);\n
|
|
Packit Service |
b05338 |
return 0;\n
|
|
Packit Service |
b05338 |
}")
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(CMAKE_CROSSCOMPILING)
|
|
Packit Service |
b05338 |
check_c_source_compiles("${JPEG_TEST_SOURCE}" FOUND_LIBJPEG_TURBO)
|
|
Packit Service |
b05338 |
else()
|
|
Packit Service |
b05338 |
check_c_source_runs("${JPEG_TEST_SOURCE}" FOUND_LIBJPEG_TURBO)
|
|
Packit Service |
b05338 |
endif()
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
set(CMAKE_REQUIRED_LIBRARIES)
|
|
Packit Service |
b05338 |
set(CMAKE_REQUIRED_FLAGS)
|
|
Packit Service |
b05338 |
set(CMAKE_REQUIRED_DEFINITIONS)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(NOT FOUND_LIBJPEG_TURBO)
|
|
Packit Service |
b05338 |
message(WARNING "*** The libjpeg library you are building against is not libjpeg-turbo. Performance will be reduced. You can obtain libjpeg-turbo from: https://sourceforge.net/projects/libjpeg-turbo/files/ ***")
|
|
Packit Service |
b05338 |
endif()
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
# On systems such as GNU/Linux with glibc, __b64_ntop is defined in a
|
|
Packit Service |
b05338 |
# separate library, libresolv. On some others, such as FreeBSD, it is
|
|
Packit Service |
b05338 |
# part of libc itself. We first check if __b64_ntop is found without
|
|
Packit Service |
b05338 |
# additional libraries, and then try looking for it with libresolv if
|
|
Packit Service |
b05338 |
# the first test fails.
|
|
Packit Service |
b05338 |
check_function_exists(__b64_ntop HAVE_B64_IN_LIBC)
|
|
Packit Service |
b05338 |
if(NOT HAVE_B64_IN_LIBC)
|
|
Packit Service |
b05338 |
set(CMAKE_REQUIRED_LIBRARIES resolv)
|
|
Packit Service |
b05338 |
check_function_exists(__b64_ntop HAVE_B64_IN_LIBRESOLV)
|
|
Packit Service |
b05338 |
set(CMAKE_REQUIRED_LIBRARIES)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(HAVE_B64_IN_LIBRESOLV)
|
|
Packit Service |
b05338 |
set(RESOLV_LIB "resolv")
|
|
Packit Service |
b05338 |
endif(HAVE_B64_IN_LIBRESOLV)
|
|
Packit Service |
b05338 |
endif(NOT HAVE_B64_IN_LIBC)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(Threads_FOUND)
|
|
Packit Service |
b05338 |
option(TIGHTVNC_FILETRANSFER "Enable filetransfer" ON)
|
|
Packit Service |
b05338 |
endif(Threads_FOUND)
|
|
Packit Service |
b05338 |
if(ZLIB_FOUND)
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_HAVE_LIBZ 1)
|
|
Packit Service |
b05338 |
endif(ZLIB_FOUND)
|
|
Packit Service |
b05338 |
if(JPEG_FOUND)
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_HAVE_LIBJPEG 1)
|
|
Packit Service |
b05338 |
endif(JPEG_FOUND)
|
|
Packit Service |
b05338 |
if(PNG_FOUND)
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_HAVE_LIBPNG 1)
|
|
Packit Service |
b05338 |
endif(PNG_FOUND)
|
|
Packit Service |
b05338 |
option(LIBVNCSERVER_ALLOW24BPP "Allow 24 bpp" ON)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
pkg_check_modules(SYSTEMD "libsystemd")
|
|
Packit Service |
b05338 |
if(SYSTEMD_FOUND)
|
|
Packit Service |
b05338 |
option(LIBVNCSERVER_WITH_SYSTEMD "Build with systemd socket activation support" ON)
|
|
Packit Service |
b05338 |
endif(SYSTEMD_FOUND)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(LIBVNCSERVER_WITH_SYSTEMD)
|
|
Packit Service |
b05338 |
add_definitions(-DLIBVNCSERVER_WITH_SYSTEMD)
|
|
Packit Service |
b05338 |
include_directories(${SYSTEMD_INCLUDE_DIRS})
|
|
Packit Service |
b05338 |
set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ${SYSTEMD_LIBRARIES})
|
|
Packit Service |
b05338 |
endif(LIBVNCSERVER_WITH_SYSTEMD)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(GNUTLS_FOUND)
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_WITH_CLIENT_TLS 1)
|
|
Packit Service |
b05338 |
option(LIBVNCSERVER_WITH_WEBSOCKETS "Build with websockets support (gnutls)" ON)
|
|
Packit Service |
b05338 |
set(WEBSOCKET_LIBRARIES ${RESOLV_LIB} ${GNUTLS_LIBRARIES})
|
|
Packit Service |
b05338 |
set(WSSRCS ${LIBVNCSERVER_DIR}/rfbssl_gnutls ${LIBVNCSERVER_DIR}/rfbcrypto_gnutls)
|
|
Packit Service |
b05338 |
include_directories(${GNUTLS_INCLUDE_DIR})
|
|
Packit Service |
b05338 |
elseif(OPENSSL_FOUND)
|
|
Packit Service |
b05338 |
option(LIBVNCSERVER_WITH_WEBSOCKETS "Build with websockets support (openssl)" ON)
|
|
Packit Service |
b05338 |
set(WEBSOCKET_LIBRARIES ${RESOLV_LIB} ${OPENSSL_LIBRARIES})
|
|
Packit Service |
b05338 |
set(WSSRCS ${LIBVNCSERVER_DIR}/rfbssl_openssl ${LIBVNCSERVER_DIR}/rfbcrypto_openssl)
|
|
Packit Service |
b05338 |
include_directories(${OPENSSL_INCLUDE_DIR})
|
|
Packit Service |
b05338 |
else()
|
|
Packit Service |
b05338 |
option(LIBVNCSERVER_WITH_WEBSOCKETS "Build with websockets support (no ssl)" ON)
|
|
Packit Service |
b05338 |
set(WEBSOCKET_LIBRARIES ${RESOLV_LIB})
|
|
Packit Service |
b05338 |
set(WSSRCS ${LIBVNCSERVER_DIR}/rfbssl_none.c ${LIBVNCSERVER_DIR}/rfbcrypto_included.c ${COMMON_DIR}/md5.c ${COMMON_DIR}/sha1.c)
|
|
Packit Service |
b05338 |
endif()
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(LIBGCRYPT_LIBRARIES)
|
|
Packit Service |
b05338 |
message(STATUS "Found libgcrypt: ${LIBGCRYPT_LIBRARIES}")
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_WITH_CLIENT_GCRYPT 1)
|
|
Packit Service |
b05338 |
set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ${LIBGCRYPT_LIBRARIES})
|
|
Packit Service |
b05338 |
endif(LIBGCRYPT_LIBRARIES)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
check_include_file("endian.h" LIBVNCSERVER_HAVE_ENDIAN_H)
|
|
Packit Service |
b05338 |
check_include_file("fcntl.h" LIBVNCSERVER_HAVE_FCNTL_H)
|
|
Packit Service |
b05338 |
check_include_file("netinet/in.h" LIBVNCSERVER_HAVE_NETINET_IN_H)
|
|
Packit Service |
b05338 |
check_include_file("sys/endian.h" LIBVNCSERVER_HAVE_SYS_ENDIAN_H)
|
|
Packit Service |
b05338 |
check_include_file("sys/socket.h" LIBVNCSERVER_HAVE_SYS_SOCKET_H)
|
|
Packit Service |
b05338 |
check_include_file("sys/stat.h" LIBVNCSERVER_HAVE_SYS_STAT_H)
|
|
Packit Service |
b05338 |
check_include_file("sys/time.h" LIBVNCSERVER_HAVE_SYS_TIME_H)
|
|
Packit Service |
b05338 |
check_include_file("sys/types.h" LIBVNCSERVER_HAVE_SYS_TYPES_H)
|
|
Packit Service |
b05338 |
check_include_file("sys/wait.h" LIBVNCSERVER_HAVE_SYS_WAIT_H)
|
|
Packit Service |
b05338 |
check_include_file("unistd.h" LIBVNCSERVER_HAVE_UNISTD_H)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
# headers needed for check_type_size()
|
|
Packit Service |
b05338 |
check_include_file("vfork.h" LIBVNCSERVER_HAVE_VFORK_H)
|
|
Packit Service |
b05338 |
check_include_file("ws2tcpip.h" LIBVNCSERVER_HAVE_WS2TCPIP_H)
|
|
Packit Service |
b05338 |
check_include_file("arpa/inet.h" HAVE_ARPA_INET_H)
|
|
Packit Service |
b05338 |
check_include_file("stdint.h" HAVE_STDINT_H)
|
|
Packit Service |
b05338 |
check_include_file("stddef.h" HAVE_STDDEF_H)
|
|
Packit Service |
b05338 |
check_include_file("sys/types.h" HAVE_SYS_TYPES_H)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
check_function_exists(gettimeofday LIBVNCSERVER_HAVE_GETTIMEOFDAY)
|
|
Packit Service |
b05338 |
check_function_exists(vfork LIBVNCSERVER_HAVE_VFORK)
|
|
Packit Service |
b05338 |
check_function_exists(vprintf LIBVNCSERVER_HAVE_VPRINTF)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(LIBVNCSERVER_HAVE_WS2TCPIP_H AND LIBVNCSERVER_HAVE_VPRINTF)
|
|
Packit Service |
b05338 |
option(LIBVNCSERVER_IPv6 "Enable IPv6 Support" ON)
|
|
Packit Service |
b05338 |
endif()
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(CMAKE_USE_PTHREADS_INIT)
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_HAVE_LIBPTHREAD 1)
|
|
Packit Service |
b05338 |
endif(CMAKE_USE_PTHREADS_INIT)
|
|
Packit Service |
b05338 |
if(LIBVNCSERVER_HAVE_SYS_SOCKET_H)
|
|
Packit Service |
b05338 |
# socklen_t
|
|
Packit Service |
b05338 |
list(APPEND CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h")
|
|
Packit Service |
b05338 |
endif(LIBVNCSERVER_HAVE_SYS_SOCKET_H)
|
|
Packit Service |
b05338 |
if(HAVE_ARPA_INET_H)
|
|
Packit Service |
b05338 |
# in_addr_t
|
|
Packit Service |
b05338 |
list(APPEND CMAKE_EXTRA_INCLUDE_FILES "arpa/inet.h")
|
|
Packit Service |
b05338 |
endif(HAVE_ARPA_INET_H)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
check_type_size(pid_t LIBVNCSERVER_PID_T)
|
|
Packit Service |
b05338 |
check_type_size(size_t LIBVNCSERVER_SIZE_T)
|
|
Packit Service |
b05338 |
check_type_size(socklen_t LIBVNCSERVER_SOCKLEN_T)
|
|
Packit Service |
b05338 |
check_type_size(in_addr_t LIBVNCSERVER_IN_ADDR_T)
|
|
Packit Service |
b05338 |
if(NOT HAVE_LIBVNCSERVER_IN_ADDR_T)
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_NEED_INADDR_T 1)
|
|
Packit Service |
b05338 |
endif(NOT HAVE_LIBVNCSERVER_IN_ADDR_T)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
TEST_BIG_ENDIAN(LIBVNCSERVER_WORDS_BIGENDIAN)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
# TODO:
|
|
Packit Service |
b05338 |
# LIBVNCSERVER_ENOENT_WORKAROUND
|
|
Packit Service |
b05338 |
# inline
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/rfb/rfbconfig.h.cmake ${CMAKE_BINARY_DIR}/rfb/rfbconfig.h)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_SOURCES
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/main.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/rfbserver.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/rfbregion.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/auth.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/sockets.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/stats.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/corre.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/hextile.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/rre.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/translate.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/cutpaste.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/httpd.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/cursor.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/font.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/draw.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/selbox.c
|
|
Packit Service |
b05338 |
${COMMON_DIR}/d3des.c
|
|
Packit Service |
b05338 |
${COMMON_DIR}/vncauth.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/cargs.c
|
|
Packit Service |
b05338 |
${COMMON_DIR}/minilzo.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/ultra.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/scale.c
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
set(LIBVNCCLIENT_SOURCES
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_DIR}/cursor.c
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_DIR}/listen.c
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_DIR}/rfbproto.c
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_DIR}/sockets.c
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_DIR}/vncviewer.c
|
|
Packit Service |
b05338 |
${COMMON_DIR}/minilzo.c
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(GNUTLS_FOUND)
|
|
Packit Service |
b05338 |
set(LIBVNCCLIENT_SOURCES
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_SOURCES}
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_DIR}/tls_gnutls.c
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
elseif(OPENSSL_FOUND)
|
|
Packit Service |
b05338 |
set(LIBVNCCLIENT_SOURCES
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_SOURCES}
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_DIR}/tls_openssl.c
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
else()
|
|
Packit Service |
b05338 |
set(LIBVNCCLIENT_SOURCES
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_SOURCES}
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_DIR}/tls_none.c
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
endif()
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(ZLIB_FOUND)
|
|
Packit Service |
b05338 |
add_definitions(-DLIBVNCSERVER_HAVE_LIBZ)
|
|
Packit Service |
b05338 |
include_directories(${ZLIB_INCLUDE_DIR})
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_SOURCES
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_SOURCES}
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/zlib.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/zrle.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/zrleoutstream.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/zrlepalettehelper.c
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
endif(ZLIB_FOUND)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(JPEG_FOUND)
|
|
Packit Service |
b05338 |
add_definitions(-DLIBVNCSERVER_HAVE_LIBJPEG)
|
|
Packit Service |
b05338 |
include_directories(${JPEG_INCLUDE_DIR})
|
|
Packit Service |
b05338 |
set(TIGHT_C ${LIBVNCSERVER_DIR}/tight.c ${COMMON_DIR}/turbojpeg.c)
|
|
Packit Service |
b05338 |
endif(JPEG_FOUND)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(PNG_FOUND)
|
|
Packit Service |
b05338 |
add_definitions(-DLIBVNCSERVER_HAVE_LIBPNG)
|
|
Packit Service |
b05338 |
include_directories(${PNG_INCLUDE_DIR})
|
|
Packit Service |
b05338 |
set(TIGHT_C ${LIBVNCSERVER_DIR}/tight.c ${COMMON_DIR}/turbojpeg.c)
|
|
Packit Service |
b05338 |
endif(PNG_FOUND)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_SOURCES
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_SOURCES}
|
|
Packit Service |
b05338 |
${TIGHT_C}
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(TIGHTVNC_FILETRANSFER)
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_SOURCES
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_SOURCES}
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/tightvnc-filetransfer/rfbtightserver.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/tightvnc-filetransfer/handlefiletransferrequest.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/tightvnc-filetransfer/filetransfermsg.c
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/tightvnc-filetransfer/filelistinfo.c
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
endif(TIGHTVNC_FILETRANSFER)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(LIBVNCSERVER_WITH_WEBSOCKETS)
|
|
Packit Service |
b05338 |
add_definitions(-DLIBVNCSERVER_WITH_WEBSOCKETS)
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_SOURCES
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_SOURCES}
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_DIR}/websockets.c
|
|
Packit Service |
b05338 |
${WSSRCS}
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
endif(LIBVNCSERVER_WITH_WEBSOCKETS)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
add_library(vncclient SHARED ${LIBVNCCLIENT_SOURCES})
|
|
Packit Service |
b05338 |
add_library(vncserver SHARED ${LIBVNCSERVER_SOURCES})
|
|
Packit Service |
b05338 |
if(WIN32)
|
|
Packit Service |
b05338 |
set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ws2_32)
|
|
Packit Service |
b05338 |
endif(WIN32)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
target_link_libraries(vncclient
|
|
Packit Service |
b05338 |
${ADDITIONAL_LIBS}
|
|
Packit Service |
b05338 |
${ZLIB_LIBRARIES}
|
|
Packit Service |
b05338 |
${JPEG_LIBRARIES}
|
|
Packit Service |
b05338 |
${GNUTLS_LIBRARIES}
|
|
Packit Service |
b05338 |
${OPENSSL_LIBRARIES}
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
target_link_libraries(vncserver
|
|
Packit Service |
b05338 |
${ADDITIONAL_LIBS}
|
|
Packit Service |
b05338 |
${ZLIB_LIBRARIES}
|
|
Packit Service |
b05338 |
${JPEG_LIBRARIES}
|
|
Packit Service |
b05338 |
${PNG_LIBRARIES}
|
|
Packit Service |
b05338 |
${WEBSOCKET_LIBRARIES}
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
SET_TARGET_PROPERTIES(vncclient vncserver
|
|
Packit Service |
b05338 |
PROPERTIES SOVERSION "${VERSION_SO}" VERSION "${PACKAGE_VERSION}"
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
# tests
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_TESTS
|
|
Packit Service |
b05338 |
backchannel
|
|
Packit Service |
b05338 |
camera
|
|
Packit Service |
b05338 |
colourmaptest
|
|
Packit Service |
b05338 |
example
|
|
Packit Service |
b05338 |
fontsel
|
|
Packit Service |
b05338 |
pnmshow
|
|
Packit Service |
b05338 |
pnmshow24
|
|
Packit Service |
b05338 |
regiontest
|
|
Packit Service |
b05338 |
rotate
|
|
Packit Service |
b05338 |
simple
|
|
Packit Service |
b05338 |
simple15
|
|
Packit Service |
b05338 |
storepasswd
|
|
Packit Service |
b05338 |
vncev
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(Threads_FOUND)
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_TESTS
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_TESTS}
|
|
Packit Service |
b05338 |
blooptest
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
endif(Threads_FOUND)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(TIGHTVNC_FILETRANSFER)
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_TESTS
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_TESTS}
|
|
Packit Service |
b05338 |
filetransfer
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
endif(TIGHTVNC_FILETRANSFER)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(MACOS)
|
|
Packit Service |
b05338 |
set(LIBVNCSERVER_TESTS
|
|
Packit Service |
b05338 |
${LIBVNCSERVER_TESTS}
|
|
Packit Service |
b05338 |
mac
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
endif(MACOS)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
set(LIBVNCCLIENT_TESTS
|
|
Packit Service |
b05338 |
backchannel
|
|
Packit Service |
b05338 |
ppmtest
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(SDL_FOUND)
|
|
Packit Service |
b05338 |
include_directories(${SDL_INCLUDE_DIR})
|
|
Packit Service |
b05338 |
set(LIBVNCCLIENT_TESTS
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_TESTS}
|
|
Packit Service |
b05338 |
SDLvncviewer
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
set(SDLvncviewer_EXTRA_SOURCES scrap.c)
|
|
Packit Service |
b05338 |
endif(SDL_FOUND)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
if(HAVE_FFMPEG)
|
|
Packit Service |
b05338 |
set(LIBVNCCLIENT_TESTS
|
|
Packit Service |
b05338 |
${LIBVNCCLIENT_TESTS}
|
|
Packit Service |
b05338 |
vnc2mpg
|
|
Packit Service |
b05338 |
)
|
|
Packit Service |
b05338 |
endif(HAVE_FFMPEG)
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/examples)
|
|
Packit Service |
b05338 |
foreach(test ${LIBVNCSERVER_TESTS})
|
|
Packit Service |
b05338 |
add_executable(examples_${test} ${LIBVNCSRVTEST_DIR}/${test}.c)
|
|
Packit Service |
b05338 |
target_link_libraries(examples_${test} vncserver ${CMAKE_THREAD_LIBS_INIT})
|
|
Packit Service |
b05338 |
endforeach(test ${LIBVNCSERVER_TESTS})
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/client_examples)
|
|
Packit Service |
b05338 |
foreach(test ${LIBVNCCLIENT_TESTS})
|
|
Packit Service |
b05338 |
add_executable(client_examples_${test} ${LIBVNCCLITEST_DIR}/${test}.c ${LIBVNCCLITEST_DIR}/${${test}_EXTRA_SOURCES} )
|
|
Packit Service |
b05338 |
target_link_libraries(client_examples_${test} vncclient ${CMAKE_THREAD_LIBS_INIT} ${X11_LIBRARIES} ${SDL_LIBRARY} ${FFMPEG_LIBRARIES})
|
|
Packit Service |
b05338 |
endforeach(test ${LIBVNCCLIENT_TESTS})
|
|
Packit Service |
b05338 |
|
|
Packit Service |
b05338 |
install_targets(/lib vncserver)
|
|
Packit Service |
b05338 |
install_targets(/lib vncclient)
|
|
Packit Service |
b05338 |
install_files(/include/rfb FILES
|
|
Packit Service |
b05338 |
rfb/keysym.h
|
|
Packit Service |
b05338 |
rfb/rfb.h
|
|
Packit Service |
b05338 |
rfb/rfbclient.h
|
|
Packit Service |
b05338 |
rfb/rfbconfig.h
|
|
Packit Service |
b05338 |
rfb/rfbproto.h
|
|
Packit Service |
b05338 |
rfb/rfbregion.h
|
|
Packit Service |
b05338 |
)
|