Add support for models that use Cubism 2.1 style parameter IDs
[mouse-tracker-for-cubism.git] / CMakeLists.txt
index eb72aa8..5f591f8 100644 (file)
@@ -1,14 +1,34 @@
 cmake_minimum_required(VERSION 3.16)
 
-project(FacialLandmarksForCubism_project)
+project(MouseTrackerForCubism_project)
 
-add_subdirectory(lib/dlib/dlib dlib_build)
-find_package(OpenCV REQUIRED)
-include_directories(${OpenCV_INCLUDE_DIRS})
+find_library(xdo_LIBS NAMES xdo PATHS /usr/lib REQUIRED)
+find_library(pulse_LIBS NAMES pulse PATHS /usr/lib REQUIRED)
 
-add_library(FacialLandmarksForCubism STATIC src/facial_landmark_detector.cpp)
-set_target_properties(FacialLandmarksForCubism PROPERTIES PUBLIC_HEADER include/facial_landmark_detector.h)
+find_package(PkgConfig)
+pkg_check_modules(GTKMM gtkmm-3.0)
 
-target_include_directories(FacialLandmarksForCubism PRIVATE include lib/dlib)
-target_link_libraries(FacialLandmarksForCubism ${OpenCV_LIBS} dlib::dlib)
+include(ExternalProject)
+ExternalProject_Add(editline
+    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/editline/src
+    BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/editline
+    CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/editline/autogen.sh COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/editline/configure --prefix=<INSTALL_DIR>
+    BUILD_COMMAND ${MAKE})
 
+ExternalProject_Get_Property(editline install_dir)
+set(editline_INSTALL_DIR ${install_dir})
+
+include_directories(include ${CMAKE_CURRENT_SOURCE_DIR}/lib/editline/include ${GTKMM_INCLUDE_DIRS})
+
+add_library(
+    MouseTrackerForCubism STATIC
+    src/mouse_cursor_tracker.cpp
+    src/mouse_cursor_tracker_gui.cpp
+)
+
+set_target_properties(
+    MouseTrackerForCubism PROPERTIES PUBLIC_HEADER
+    include/mouse_cursor_tracker.h
+)
+
+target_link_libraries(MouseTrackerForCubism ${xdo_LIBS} ${pulse_LIBS} pulse-simple ${editline_INSTALL_DIR}/lib/libeditline.a ${GTKMM_LIBRARIES})