diff --git a/.travis.yml b/.travis.yml index 40bb3420f7..e56a5fd6c2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,6 +27,7 @@ addons: - libvorbis-dev - libxinerama-dev - libxrandr-dev + - libxtst-dev - yasm matrix: diff --git a/CMake/DefineOptions.cmake b/CMake/DefineOptions.cmake index ef942ed730..1c438cce89 100644 --- a/CMake/DefineOptions.cmake +++ b/CMake/DefineOptions.cmake @@ -106,5 +106,6 @@ elseif(LINUX) option(WITH_PULSEAUDIO "Build with PulseAudio support" ON) option(WITH_JACK "Build with JACK support" OFF) option(WITH_XRANDR "Build with Xrandr support" ON) + option(WITH_LIBXTST "Build with libXtst support" ON) option(WITH_X11 "Build with X11 support" ON) endif() diff --git a/CMake/Modules/FindXtst.cmake b/CMake/Modules/FindXtst.cmake new file mode 100644 index 0000000000..d8cbf83a61 --- /dev/null +++ b/CMake/Modules/FindXtst.cmake @@ -0,0 +1,17 @@ + +find_path(LIBXTST_INCLUDE_DIR NAMES X11/extensions/XTest.h + PATHS /opt/X11/include + PATH_SUFFIXES X11/extensions + DOC "The libXtst include directory" +) + +find_library(LIBXTST_LIBRARY NAMES Xtst + PATHS /opt/X11/lib + DOC "The libXtst library" +) + +include(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBXTST DEFAULT_MSG LIBXTST_LIBRARY LIBXTST_INCLUDE_DIR) + +mark_as_advanced(LIBXTST_INCLUDE_DIR LIBXTST_LIBRARY) + diff --git a/StepmaniaCore.cmake b/StepmaniaCore.cmake index 080444dcfb..dcab93cef0 100644 --- a/StepmaniaCore.cmake +++ b/StepmaniaCore.cmake @@ -395,6 +395,12 @@ elseif(LINUX) set(HAS_XRANDR TRUE) endif() + set(HAS_LIBXTST FALSE) + if(WITH_LIBXTST) + find_package(Xtst REQUIRED) + set(HAS_LIBXTST TRUE) + endif() + set(HAS_XINERAMA FALSE) if(WITH_XINERAMA) find_package(Xinerama REQUIRED) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fd43043adb..aadde32fd7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -369,6 +369,9 @@ else() # Linux if(${HAS_XRANDR}) sm_add_compile_definition("${SM_EXE_NAME}" HAVE_XRANDR) endif() + if(${HAS_LIBXTST}) + sm_add_compile_definition("${SM_EXE_NAME}" HAVE_LIBXTST) + endif() if(${HAS_XINERAMA}) sm_add_compile_definition("${SM_EXE_NAME}" HAVE_XINERAMA) endif() @@ -606,7 +609,7 @@ else() # Unix / Linux TODO: Remember to find and locate the zip archive files. list(APPEND SMDATA_LINK_LIB ${PCRE_LIBRARY}) endif() - list(APPEND SMDATA_LINK_LIB ${XRANDR_LIBRARIES} ${XINERAMA_LIBRARIES}) + list(APPEND SMDATA_LINK_LIB ${XRANDR_LIBRARIES} ${LIBXTST_LIBRARY} ${XINERAMA_LIBRARIES}) list(REMOVE_DUPLICATES SMDATA_LINK_LIB) endif()