Use editline instead of GNU Readline
[mouse-tracker-for-cubism.git] / CMakeLists.txt
index 3a2ccf1..0d95009 100644 (file)
@@ -2,11 +2,20 @@ cmake_minimum_required(VERSION 3.16)
 
 project(MouseTrackerForCubism_project)
 
-find_library(xdo_LIBS NAMES xdo libxdo PATHS /usr/lib REQUIRED)
+find_library(xdo_LIBS NAMES xdo PATHS /usr/lib REQUIRED)
 find_library(pulse_LIBS NAMES pulse PATHS /usr/lib REQUIRED)
-find_library(readline_LIBS NAMES readline libreadline /usr/lib REQUIRED)
 
-include_directories(include)
+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)
 
 add_library(
     MouseTrackerForCubism STATIC
@@ -18,4 +27,4 @@ set_target_properties(
     include/mouse_cursor_tracker.h
 )
 
-target_link_libraries(MouseTrackerForCubism ${xdo_LIBS} ${pulse_LIBS} pulse-simple ${readline_LIBS})
+target_link_libraries(MouseTrackerForCubism ${xdo_LIBS} ${pulse_LIBS} pulse-simple ${editline_INSTALL_DIR}/lib/libeditline.a)