Files
vatrog-vm-control-io/CMakeLists.txt
T

23 lines
829 B
CMake
Raw Normal View History

cmake_minimum_required(VERSION 3.16)
project(vmctl C)
set(CMAKE_C_STANDARD 17)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS ON) # POSIX sockets + linux/uinput.h need gnu extensions
option(VMCTL_LTO "Enable LTO" OFF)
add_library(vmctl STATIC
src/vmctl/qmp.c
src/vmctl/open.c
src/vmctl/keymap.c
src/vmctl/power.c
src/vmctl/qmp_driver.c
src/vmctl/linux/uinput_driver.c)
target_include_directories(vmctl
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/vmctl/include)
target_compile_options(vmctl PRIVATE -O2 -Wall -Wextra)
set_target_properties(vmctl PROPERTIES POSITION_INDEPENDENT_CODE ON)
if(VMCTL_LTO)
target_compile_options(vmctl PRIVATE -flto)
target_link_options(vmctl PRIVATE -flto)
endif()