1 cmake_minimum_required(VERSION 3.16)
3 project(MouseTrackerForCubism_project)
5 find_library(xdo_LIBS NAMES xdo PATHS /usr/lib REQUIRED)
6 find_library(pulse_LIBS NAMES pulse PATHS /usr/lib REQUIRED)
8 find_package(PkgConfig)
9 pkg_check_modules(GTKMM gtkmm-3.0)
11 include(ExternalProject)
12 ExternalProject_Add(editline
13 SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/editline/src
14 BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/editline
15 CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/editline/autogen.sh COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/editline/configure --prefix=<INSTALL_DIR>
16 BUILD_COMMAND ${MAKE})
18 ExternalProject_Get_Property(editline install_dir)
19 set(editline_INSTALL_DIR ${install_dir})
21 include_directories(include ${CMAKE_CURRENT_SOURCE_DIR}/lib/editline/include ${GTKMM_INCLUDE_DIRS})
24 MouseTrackerForCubism STATIC
25 src/mouse_cursor_tracker.cpp
26 src/mouse_cursor_tracker_gui.cpp
29 set_target_properties(
30 MouseTrackerForCubism PROPERTIES PUBLIC_HEADER
31 include/mouse_cursor_tracker.h
34 target_link_libraries(MouseTrackerForCubism ${xdo_LIBS} ${pulse_LIBS} pulse-simple ${editline_INSTALL_DIR}/lib/libeditline.a ${GTKMM_LIBRARIES})