diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a19dd1c --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +tmp/ +bin/ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..cacd06a --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,11 @@ +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) diff --git a/halo.pc.in b/halo.pc.in new file mode 100644 index 0000000..ca054ed --- /dev/null +++ b/halo.pc.in @@ -0,0 +1,12 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=@CMAKE_INSTALL_PREFIX@ +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ + +Name: @PROJECT_NAME@ +Description: @PROJECT_DESCRIPTION@ +Version: @PROJECT_VERSION@ + +Requires: +Libs: -L${libdir} -lhalo +Cflags: -I${includedir}