aboutsummaryrefslogtreecommitdiff
path: root/cmake.deps/cmake/LibtermkeyCMakeLists.txt
blob: 24d67a7ba52eeac21024982747fe28ea45b7a63e (plain) (blame)
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
cmake_minimum_required(VERSION 3.10)
# Can be removed once minimum version is at least 3.15
if(POLICY CMP0092)
  cmake_policy(SET CMP0092 NEW)
endif()
project(libtermkey C)

add_compile_options(-w)

if(EXISTS ${PROJECT_SOURCE_DIR}/termkey.h.in)
  file(STRINGS Makefile TERMKEY_VERSION_MAJOR REGEX "VERSION_MAJOR")
  string(REGEX MATCH "[0-9]+" TERMKEY_VERSION_MAJOR ${TERMKEY_VERSION_MAJOR})

  file(STRINGS Makefile TERMKEY_VERSION_MINOR REGEX "VERSION_MINOR")
  string(REGEX MATCH "[0-9]+" TERMKEY_VERSION_MINOR ${TERMKEY_VERSION_MINOR})

  file(READ termkey.h.in TERMKEY_TEXT)
  string(REPLACE "@@VERSION_MAJOR@@" "${TERMKEY_VERSION_MAJOR}" TERMKEY_TEXT "${TERMKEY_TEXT}")
  string(REPLACE "@@VERSION_MINOR@@" "${TERMKEY_VERSION_MINOR}" TERMKEY_TEXT "${TERMKEY_TEXT}")
  file(WRITE termkey.h "${TERMKEY_TEXT}")
endif()

add_library(termkey termkey.c driver-csi.c driver-ti.c)

target_compile_definitions(termkey PRIVATE HAVE_UNIBILIUM)
target_include_directories(termkey PRIVATE SYSTEM ${UNIBILIUM_INCLUDE_DIRS})

set_target_properties(termkey PROPERTIES
  PUBLIC_HEADER ${PROJECT_SOURCE_DIR}/termkey.h)
target_link_libraries(termkey PRIVATE ${UNIBILIUM_LIBRARIES})

include(GNUInstallDirs)
install(TARGETS termkey
  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
  PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

# vim: set ft=cmake: