include(FindX11) EFL_OPTION(XGESTURE "Whenever you want ecore_x to use gesture" OFF) EFL_OPTION(XPRESENT "Whenever you want ecore_x to use xpresent" OFF) EFL_OPTION(XINPUT2 "Whenever you want ecore_x to use xinput2" ON) EFL_OPTION(XINPUT22 "Whenever you want ecore_x to use xinput22" OFF) #the rest is just statically enabled CHECK_APPEND_DEFINE(HAVE_ECORE_X_XLIB ON) CHECK_APPEND_DEFINE(ECORE_XKB ON) CHECK_APPEND_DEFINE(ECORE_XCOMPOSITE ON) CHECK_APPEND_DEFINE(ECORE_XDAMAGE ON) CHECK_APPEND_DEFINE(ECORE_XDPMS ON) CHECK_APPEND_DEFINE(ECORE_XFIXES ON) CHECK_APPEND_DEFINE(ECORE_XINERAMA ON) CHECK_APPEND_DEFINE(ECORE_XRANDR ON) CHECK_APPEND_DEFINE(ECORE_XSS ON) CHECK_APPEND_DEFINE(ECORE_XTEST ON) #FindX11 does not cover all parts we need so here are the 4 extensions we need to check #copied from https://github.com/Kitware/CMake/blob/master/Modules/FindX11.cmake#L65 set(X11_INC_SEARCH_PATH /usr/pkg/xorg/include /usr/X11R6/include /usr/X11R7/include /usr/include/X11 /usr/openwin/include /usr/openwin/share/include /opt/graphics/OpenGL/include /opt/X11/include ) set(X11_LIB_SEARCH_PATH /usr/pkg/xorg/lib /usr/X11R6/lib /usr/X11R7/lib /usr/openwin/lib /opt/X11/lib ) macro(find_lib_and_include name path lib) string(TOUPPER ${name} ecore_name) set(X11_${name}_FOUND OFF) find_library(X11_${name}_LIB ${lib} ${X11_LIB_SEARCH_PATH}) find_path(X11_${name}_INCLUDE_PATH X11/extensions/${path} ${X11_INC_SEARCH_PATH}) if (X11_${name}_LIB AND X11_${name}_INCLUDE_PATH) set(X11_${name}_FOUND ON) endif() CHECK_APPEND_DEFINE(ECORE_${ecore_name} ON) endmacro() if (${XGESTURE}) find_lib_and_include(XGesture gesture.h Xgesture) endif() if(${XPRESENT}) find_lib_and_include(Xpresent Xpresent.h Xpresent) endif() if(${XINPUT2}) find_lib_and_include(Xi2 XInput2.h Xi) endif() if(${XINPUT22}) find_lib_and_include(Xi2_2 Xpresent2.h Xi) endif() #build a list of all components we use set(_X_EXTENSIONS X11 X11_Xkb X11_Xcomposite X11_Xdamage X11_dpms X11_Xfixes X11_Xinerama X11_Xrandr X11_Xrender X11_XTest X11_Xscreensaver ) if(${XGESTURE}) list(APPEND _X_EXTENSIONS X11_Xgesture) endif() if(${XPRESENT}) list(APPEND _X_EXTENSIONS X11_Xpresent) endif() if(${XINPUT2}) list(APPEND _X_EXTENSIONS X11_Xi2) endif() if(${XINPUT22}) list(APPEND _X_EXTENSIONS X11_Xi2_2) endif() foreach(ext ${_X_EXTENSIONS}) if (NOT ${ext}_FOUND) message(FATAL_ERROR "Xserver extension ${ext} not found") endif() list(APPEND X_EXTENSIONS find-${ext}) endforeach() configure_file( ${PROJECT_SOURCE_DIR}/src/lib/ecore_x/ecore_x_version.h.cmake ${PROJECT_BINARY_DIR}/src/lib/ecore_x/ecore_x_version.h)