Files
xautoclick/CMakeLists.txt

108 lines
2.6 KiB
CMake

cmake_minimum_required(VERSION 3.6)
project(xautoclick VERSION 0.34)
include(CheckIncludeFile)
check_include_file("unistd.h" HAVE_UNISTD)
if(${HAVE_UNISTD})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_UNISTD_H")
# TODO add_compile_definitions(HAVE_UNISTD_H)
endif()
find_package(X11)
if(X11_FOUND)
add_library(x11clicker STATIC
x11clicker.c
x11clicker.h
)
target_link_libraries(x11clicker ${X11_LIBRARIES} ${X11_XTest_LIB})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_X11_CLICKER")
list(APPEND CLICKERS x11clicker)
endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_check_modules(LIBEVDEV libevdev)
if(LIBEVDEV_FOUND)
add_library(udevclicker STATIC
udevclicker.c
udevclicker.h
)
target_include_directories(udevclicker PRIVATE ${LIBEVDEV_INCLUDE_DIRS})
target_link_libraries(udevclicker ${LIBEVDEV_LIBRARIES})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_UDEV_CLICKER")
list(APPEND CLICKERS udevclicker)
endif(LIBEVDEV_FOUND)
endif(PKG_CONFIG_FOUND)
if(NOT CLICKERS)
message(FATAL_ERROR "No clicker engines could be built.")
endif()
add_library(clicker STATIC
clicker.c
clicker.h
gui.c
gui.h
main.c
main.h
options.c
options.h
osdep.h
)
target_link_libraries(clicker ${CLICKERS})
add_executable(aautoclick
guiascii.c
)
target_link_libraries(aautoclick clicker)
install(TARGETS aautoclick DESTINATION bin)
add_executable(cautoclick
guicommandline.c
)
target_link_libraries(cautoclick clicker)
install(TARGETS cautoclick DESTINATION bin)
set(FLTK_SKIP_OPENGL ON)
find_package(FLTK)
if(FLTK_FOUND)
add_executable(fltkautoclick
guifltk.cpp
)
target_link_libraries(fltkautoclick clicker ${FLTK_LIBRARIES})
install(TARGETS fltkautoclick DESTINATION bin)
endif()
pkg_check_modules(GTK3 gtk+-3.0)
if(GTK3_FOUND)
add_executable(gautoclick3
guigtk3.c
)
target_include_directories(gautoclick3 PRIVATE ${GTK3_INCLUDE_DIRS})
target_link_libraries(gautoclick3 clicker ${GTK3_LIBRARIES})
install(TARGETS gautoclick3 DESTINATION bin)
install(FILES xautoclick.desktop DESTINATION share/applications)
install(FILES xautoclick.svg DESTINATION share/icons/hicolor/scalable/apps)
endif()
find_package(Qt5 COMPONENTS Widgets)
if(Qt5_FOUND)
set(CMAKE_AUTOMOC ON)
add_executable(qt5autoclick
clickwidget.cpp
clickwidget.h
guiqt.cpp
)
target_link_libraries(qt5autoclick clicker Qt5::Widgets)
install(TARGETS qt5autoclick DESTINATION bin)
endif()
install(FILES xautoclick.1 DESTINATION share/man/man1)
set(CPACK_GENERATOR "DEB")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "none")
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
include(CPack)