diff --git a/CMakeLists.txt b/CMakeLists.txt index f46af58..0f0b624 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,15 +1,17 @@ project(krfb) if(NOT INSIDE_KDENETWORK) - set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../cmake/modules ${CMAKE_MODULE_PATH}) + message("Not building inside KDENetwork, loading KDE CMake Macros.") + + set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH}) + find_package(KDE4 REQUIRED) include(KDE4Defaults) include(MacroLibrary) include(CheckSymbolExists) - find_package(LibVNCServer) - macro_optional_find_package(LibVNCServer) + find_package(LibVNCServer REQUIRED) set(CMAKE_REQUIRED_DEFINITIONS ${_KDE_PLATFORM_DEFINITIONS}) @@ -51,7 +53,7 @@ target_link_libraries (krfbprivate ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${X11_X11_LIB} - ${LIBVNCSERVER_LIBRARIES} + ${LIBVNCSERVER_LIBRARIES} ) set_target_properties (krfbprivate PROPERTIES diff --git a/cmake/modules/COPYING-CMAKE-SCRIPTS b/cmake/modules/COPYING-CMAKE-SCRIPTS new file mode 100644 index 0000000..4b41776 --- /dev/null +++ b/cmake/modules/COPYING-CMAKE-SCRIPTS @@ -0,0 +1,22 @@ +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/cmake/modules/FindLibVNCServer.cmake b/cmake/modules/FindLibVNCServer.cmake new file mode 100644 index 0000000..0c26036 --- /dev/null +++ b/cmake/modules/FindLibVNCServer.cmake @@ -0,0 +1,41 @@ +# cmake macro to test LIBVNCSERVER LIB + +# Copyright (c) 2006, Alessandro Praduroux +# Copyright (c) 2007, Urs Wolfer +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +INCLUDE(CheckPointerMember) + +IF (LIBVNCSERVER_INCLUDE_DIR AND LIBVNCSERVER_LIBRARIES) + # Already in cache, be silent + SET(LIBVNCSERVER_FIND_QUIETLY TRUE) +ENDIF (LIBVNCSERVER_INCLUDE_DIR AND LIBVNCSERVER_LIBRARIES) + +FIND_PATH(LIBVNCSERVER_INCLUDE_DIR rfb/rfb.h) + +FIND_LIBRARY(LIBVNCSERVER_LIBRARIES NAMES vncserver libvncserver) + +# libvncserver and libvncclient are in the same package, so it does +# not make sense to add a new cmake script for finding libvncclient. +# instead just find the libvncclient also in this file. +FIND_PATH(LIBVNCCLIENT_INCLUDE_DIR rfb/rfbclient.h) +FIND_LIBRARY(LIBVNCCLIENT_LIBRARIES NAMES vncclient libvncclient) + +IF (LIBVNCSERVER_INCLUDE_DIR AND LIBVNCSERVER_LIBRARIES) + SET(CMAKE_REQUIRED_INCLUDES "${LIBVNCSERVER_INCLUDE_DIR}" "${CMAKE_REQUIRED_INCLUDES}") + CHECK_POINTER_MEMBER(rfbClient* GotXCutText rfb/rfbclient.h LIBVNCSERVER_FOUND) +ENDIF (LIBVNCSERVER_INCLUDE_DIR AND LIBVNCSERVER_LIBRARIES) + +IF (LIBVNCSERVER_FOUND) + IF (NOT LIBVNCSERVER_FIND_QUIETLY) + MESSAGE(STATUS "Found LibVNCServer: ${LIBVNCSERVER_LIBRARIES}") + ENDIF (NOT LIBVNCSERVER_FIND_QUIETLY) +ELSE (LIBVNCSERVER_FOUND) + IF (LIBVNCSERVER_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could NOT find acceptable version of LibVNCServer (version 0.9 or later required).") + ENDIF (LIBVNCSERVER_FIND_REQUIRED) +ENDIF (LIBVNCSERVER_FOUND) + +MARK_AS_ADVANCED(LIBVNCSERVER_INCLUDE_DIR LIBVNCSERVER_LIBRARIES)