Compare commits

...

2 Commits

Author SHA1 Message Date
Xavier Del Campo Romero cc9eae6d01
Makefile: Fix wrong installation directory
Libraries are meant to be placed in $PREFIX/lib, and not $PREFIX/bin.
2023-10-16 00:38:23 +02:00
Xavier Del Campo Romero ef14ee964a
Install .pc file 2023-10-16 00:38:06 +02:00
3 changed files with 28 additions and 4 deletions

View File

@ -17,3 +17,9 @@ add_library(${PROJECT_NAME} STATIC "dynstr.c")
target_include_directories(${PROJECT_NAME} PUBLIC "include")
install(TARGETS ${PROJECT_NAME})
install(DIRECTORY include/ TYPE INCLUDE)
file(READ ${CMAKE_CURRENT_LIST_DIR}/dynstr.pc dynstr_pc)
string(REPLACE /usr/local ${CMAKE_INSTALL_PREFIX} dynstr_repl_pc ${dynstr_pc})
file(WRITE ${CMAKE_BINARY_DIR}/dynstr.pc ${dynstr_repl_pc})
include(GNUInstallDirs)
install(FILES ${CMAKE_BINARY_DIR}/dynstr.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)

View File

@ -15,6 +15,8 @@
.POSIX:
PREFIX = /usr/local
DST = $(PREFIX)/lib
PC_DST = $(DST)/pkgconfig
PROJECT = libdynstr.a
CFLAGS = -Iinclude
DEPS = \
@ -22,16 +24,21 @@ DEPS = \
all: $(PROJECT)
install: $(PROJECT)
install: $(PROJECT) $(PC_DST)/dynstr.pc
mkdir -p $(PREFIX)/include
cp include/dynstr.h $(PREFIX)/include
chmod 0644 $(PREFIX)/include/dynstr.h
mkdir -p $(PREFIX)/bin
cp $(PROJECT) $(PREFIX)/bin
chmod 0755 $(PREFIX)/bin/$(PROJECT)
mkdir -p $(DST)
cp $(PROJECT) $(DST)
chmod 0755 $(DST)/$(PROJECT)
clean:
rm -f $(DEPS)
$(PROJECT): $(DEPS)
$(AR) $(ARFLAGS) $@ $(DEPS)
$(PC_DST)/dynstr.pc: dynstr.pc
mkdir -p $(PC_DST)
sed -e 's,/usr/local,$(PREFIX),' $< > $@
chmod 0644 $@

11
dynstr.pc Normal file
View File

@ -0,0 +1,11 @@
prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
Name: dynstr
Url: https://gitea.privatedns.org/xavi/dynstr
Description: Minimal library that provides dynamic strings using plain C99.
Version: 0.1.0
Cflags: -I${includedir}
Libs: -L${libdir} -ldynstr