triviOS/pin_control/CMakeLists.txt
2023-09-13 04:05:40 -06:00

17 lines
645 B
CMake

cmake_minimum_required(VERSION 3.20)
project(PinControl)
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBGPIOD REQUIRED libgpiod)
add_library(pin_control SHARED lib/pin_control.c lib/v4l2.c)
target_include_directories(pin_control PUBLIC include/ PRIVATE ${LIBGPIOD_INCLUDE_DIRS})
target_link_libraries(pin_control PUBLIC ${LIBGPIOD_LIBRARIES})
set_target_properties(pin_control PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_compile_options(pin_control PUBLIC -Wall -Wextra -Werror)
install(TARGETS pin_control LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES include/pin_control.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})