Generate pkg-config and similar

This commit is contained in:
DataHoarder 2022-01-25 11:53:49 +01:00
parent 77ac6c1af9
commit 1873ef11c5
4 changed files with 34 additions and 4 deletions

View file

@ -1,8 +1,10 @@
cmake_minimum_required(VERSION 3.16)
project(c_gaborator)
project(c_gaborator VERSION 1.7)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_INSTALL_RPATH "$ORIGIN")
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
if(NOT CMAKE_BUILD_TYPE)
@ -14,9 +16,25 @@ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
add_definitions(-DGABORATOR_USE_PFFFT)
include_directories(include)
include_directories(lib/gaborator)
include_directories(lib/pffft)
add_library(cgaborator STATIC cgaborator.cpp lib/pffft/pffft.c lib/pffft/fftpack.c)
add_library(cgaborator SHARED cgaborator.cpp lib/pffft/pffft.c lib/pffft/fftpack.c)
set_target_properties(cgaborator PROPERTIES PUBLIC_HEADER "include/cgaborator.h")
target_link_options(cgaborator PRIVATE -static-libgcc -static-libstdc++)
set(target1 cgaborator)
set(pc_libs_private)
set(pc_req_private)
set(pc_req_public)
configure_file(cgaborator.pc.in cgaborator.pc @ONLY)
install(
TARGETS cgaborator
PUBLIC_HEADER DESTINATION include
)
install(
FILES "${CMAKE_CURRENT_BINARY_DIR}/cgaborator.pc" DESTINATION lib/pkgconfig
)

View file

@ -1,6 +1,6 @@
#include <iostream>
#include "cgaborator.h"
#include "include/cgaborator.h"
#include "gaborator/gaborator.h"
#include <cmath>

12
cgaborator.pc.in Normal file
View file

@ -0,0 +1,12 @@
prefix="@CMAKE_INSTALL_PREFIX@"
exec_prefix="${prefix}"
libdir="${prefix}/lib"
includedir="${prefix}/include"
Name: @PROJECT_NAME@
Version: @PROJECT_VERSION@
Requires: @pc_req_public@
Requires.private: @pc_req_private@
Cflags: -I"${includedir}"
Libs: -L"${libdir}" -l@target1@
Libs.private: -L"${libdir}" -l@target1@ -l@target2@ @pc_libs_private@