cmake_minimum_required(VERSION 3.9.1) project(halo VERSION 1.0.1 DESCRIPTION "A small ring buffer written in C to use with some other projects") add_library(halo SHARED src src/ring.c) set_target_properties(halo PROPERTIES VERSION ${PROJECT_VERSION}) set_target_properties(halo PROPERTIES SOVERSION 1) set_target_properties(halo PROPERTIES PUBLIC_HEADER "include/ring.h") target_include_directories(halo PRIVATE include) include(GNUInstallDirs) configure_file(halo.pc.in halo.pc @ONLY) install(TARGETS halo LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(FILES ${CMAKE_BINARY_DIR}/halo.pc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)