aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: 3a170a8c92f6930530ebf86bf090b9dea0c26efa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
cmake_minimum_required(VERSION 3.0.2)

project(emacs-libvterm C)

# Look for the header file.
find_path(LIBVTERM_INCLUDE_DIR NAMES
  vterm.h
  )

if(NOT LIBVTERM_INCLUDE_DIR)
  message(FATAL_ERROR "vterm.h not found")
endif()

find_library(LIBVTERM_LIBRARY NAMES
  vterm
  libvterm
  )

if(NOT LIBVTERM_LIBRARY)
  message(FATAL_ERROR "libvterm not found")
endif()

include_directories(${LIBVTERM_INCLUDE_DIR})

add_library(vterm-module MODULE vterm-module.c utf8.c elisp.c)
set_target_properties(vterm-module PROPERTIES
  C_STANDARD 99
  POSITION_INDEPENDENT_CODE ON
  PREFIX ""
  )

# Link with libvterm
target_link_libraries(vterm-module ${LIBVTERM_LIBRARY})

# Custom run command for testing
add_custom_target(run
  COMMAND emacs -Q -L ${CMAKE_SOURCE_DIR} -L ${CMAKE_BINARY_DIR} --eval "\\(require \\'vterm\\)" --eval "\\(vterm\\)"
  DEPENDS vterm-module
  )