Add support for models that use Cubism 2.1 style parameter IDs
[mouse-tracker-for-cubism.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.16)
2
3 project(MouseTrackerForCubism_project)
4
5 find_library(xdo_LIBS NAMES xdo PATHS /usr/lib REQUIRED)
6 find_library(pulse_LIBS NAMES pulse PATHS /usr/lib REQUIRED)
7
8 find_package(PkgConfig)
9 pkg_check_modules(GTKMM gtkmm-3.0)
10
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})
17
18 ExternalProject_Get_Property(editline install_dir)
19 set(editline_INSTALL_DIR ${install_dir})
20
21 include_directories(include ${CMAKE_CURRENT_SOURCE_DIR}/lib/editline/include ${GTKMM_INCLUDE_DIRS})
22
23 add_library(
24     MouseTrackerForCubism STATIC
25     src/mouse_cursor_tracker.cpp
26     src/mouse_cursor_tracker_gui.cpp
27 )
28
29 set_target_properties(
30     MouseTrackerForCubism PROPERTIES PUBLIC_HEADER
31     include/mouse_cursor_tracker.h
32 )
33
34 target_link_libraries(MouseTrackerForCubism ${xdo_LIBS} ${pulse_LIBS} pulse-simple ${editline_INSTALL_DIR}/lib/libeditline.a ${GTKMM_LIBRARIES})