From 0141bd5e6937579d44e4391265154bd696ea5172 Mon Sep 17 00:00:00 2001 From: DRC Date: Tue, 17 Jan 2012 22:33:45 +0000 Subject: [PATCH] Our FLTK patches modified FLTK's autotools-based build system so that HAVE_XFIXES and HAVE_XCURSOR were defined in FLTK's config.h, but those changes never made it into the CMake-based build system used by the in-tree version of FLTK. Further, our build system was allowing silent failures whenever Xft, Xinerama, Xcursor, or Xfixes were not present on the build system. Now, the lack of these libraries is treated as a fatal error, since these libraries are critical for TigerVNC functionality. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4834 3789f03b-4d11-0410-bbf8-ca57d06f2519 --- CMakeLists.txt | 10 +++++++++- common/fltk/CMakeLists.txt | 18 ++++++++++++++++++ common/fltk/configh.cmake.in | 16 ++++++++++++++++ common/fltk/src/CMakeLists.txt | 8 ++++++++ 4 files changed, 51 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e2e2653..4a59d815 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -247,15 +247,23 @@ if(NOT APPLE) # No proper handling for extra X11 libs that FLTK might need... if(X11_Xft_FOUND) set(FLTK_LIBRARIES ${FLTK_LIBRARIES} ${X11_Xft_LIB}) + else() + message(FATAL_ERROR "Xft headers/libraries not found (needed by FLTK.)") endif() if(X11_Xinerama_FOUND) set(FLTK_LIBRARIES ${FLTK_LIBRARIES} ${X11_Xinerama_LIB}) + else() + message(FATAL_ERROR "Xinerama headers/libraries not found (needed by FLTK.)") endif() if(X11_Xfixes_FOUND) set(FLTK_LIBRARIES ${FLTK_LIBRARIES} ${X11_Xfixes_LIB}) + else() + message(FATAL_ERROR "Xfixes headers/libraries not found (needed by FLTK.)") endif() if(X11_Xcursor_FOUND) set(FLTK_LIBRARIES ${FLTK_LIBRARIES} ${X11_Xcursor_LIB}) + else() + message(FATAL_ERROR "Xcursor headers/libraries not found (needed by FLTK.)") endif() endif() @@ -304,7 +312,7 @@ if(USE_INCLUDED_FLTK) endif() message(STATUS "Using included FLTK library") endif() - + # Check for GNUTLS library option(ENABLE_GNUTLS "Enable protocol encryption and advanced authentication" ON) if(ENABLE_GNUTLS) diff --git a/common/fltk/CMakeLists.txt b/common/fltk/CMakeLists.txt index f13eec7f..5d1d476c 100644 --- a/common/fltk/CMakeLists.txt +++ b/common/fltk/CMakeLists.txt @@ -228,6 +228,24 @@ else() set(FLTK_XFT_FOUND FALSE) endif(OPTION_USE_XFT) +####################################################################### +if(X11_Xfixes_FOUND) + option(OPTION_USE_XFIXES "use lib Xfixes" ON) +endif(X11_Xfixes_FOUND) + +if(OPTION_USE_XFIXES) + set(HAVE_XFIXES ${X11_Xfixes_FOUND}) +endif(OPTION_USE_XFIXES) + +####################################################################### +if(X11_Xcursor_FOUND) + option(OPTION_USE_XCURSOR "use lib Xcursor" ON) +endif(X11_Xcursor_FOUND) + +if(OPTION_USE_XCURSOR) + set(HAVE_XCURSOR ${X11_Xcursor_FOUND}) +endif(OPTION_USE_XCURSOR) + ####################################################################### add_subdirectory(src) diff --git a/common/fltk/configh.cmake.in b/common/fltk/configh.cmake.in index 092f491f..a2dbb582 100644 --- a/common/fltk/configh.cmake.in +++ b/common/fltk/configh.cmake.in @@ -116,6 +116,22 @@ #define USE_XDBE HAVE_XDBE +/* + * HAVE_XFIXES: + * + * Do we have the X fixes extension? + */ + +#cmakedefine01 HAVE_XFIXES + +/* + * HAVE_XCURSOR: + * + * Do we have the X cursor library? + */ + +#cmakedefine01 HAVE_XCURSOR + /* * __APPLE_QUARTZ__: * diff --git a/common/fltk/src/CMakeLists.txt b/common/fltk/src/CMakeLists.txt index c8247dbd..4cb64e50 100644 --- a/common/fltk/src/CMakeLists.txt +++ b/common/fltk/src/CMakeLists.txt @@ -193,3 +193,11 @@ endif(HAVE_XINERAMA) if(USE_XFT) target_link_libraries(fltk_static ${X11_Xft_LIB}) endif(USE_XFT) + +if(HAVE_XFIXES) + target_link_libraries(fltk_static ${X11_Xfixes_LIB}) +endif(HAVE_XFIXES) + +if(HAVE_XCURSOR) + target_link_libraries(fltk_static ${X11_Xcursor_LIB}) +endif(HAVE_XCURSOR) -- 2.39.5