Generate pkg-config and similar
This commit is contained in:
parent
77ac6c1af9
commit
1873ef11c5
|
@ -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
|
||||
)
|
|
@ -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
12
cgaborator.pc.in
Normal 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@
|
Loading…
Reference in a new issue