Comments (3)
Yes, pkgconfig is the way
Btw if you want to add cmake support, meson supports these two: https://mesonbuild.com/CMake-module.html#cmakewrite_basic_package_version_file
simple example:
--- a/meson.build
+++ b/meson.build
@@ -10,6 +10,7 @@ distro_install = get_option('distro_install')
extra_args = []
if distro_install
+ cmake = import('cmake')
pkg = import('pkgconfig')
else
if not get_option('multi-line_entries')
@@ -82,6 +83,11 @@ lib_inih = library('inih',
if distro_install
install_headers('ini.h')
+ cmake.write_basic_package_version_file(
+ name : 'inih',
+ version : meson.project_version(),
+ )
+
pkg.generate(lib_inih,
name : 'inih',
description : 'simple .INI file parser',
@@ -113,6 +119,11 @@ if get_option('with_INIReader')
if distro_install
install_headers('cpp/INIReader.h')
+ cmake.write_basic_package_version_file(
+ name : 'INIReader',
+ version : meson.project_version(),
+ )
+
pkg.generate(lib_INIReader,
name : 'INIReader',
description : 'simple .INI file parser for C++',
Would simplify inclusion into CMake/Conan but currently the only option is pkgconfig.
from inih.
@aengusjiang Sorry, I don't plan to do this. I personally don't want to keep up with N different build systems. There's already a Meson config file for Meson. See further discussion at #105 and #97
from inih.
How do you recommend CMake
users consume this library who want to use the package provided by their distribution?
From reading some other docs, it appears we should use the pkgconfig file, which appears to be shipped with most distributions.
https://cmake.org/cmake/help/latest/module/FindPkgConfig.html
from inih.
Related Issues (20)
- pkg-config files have version `undefined` HOT 3
- possible NULL pointer dereference HOT 2
- unittest.sh doesn' report that tests succeeded? HOT 1
- Emit ini file HOT 1
- Error attempting to link against libinih HOT 3
- Expected key/section missing error HOT 3
- Do you have plan to support write feature ? HOT 1
- how to get all the sections, key-value pairs HOT 3
- Seems to not discard the rest of a long line? HOT 4
- meason.build distro_install option HOT 5
- Duplicate keys cause a trailing \n to be appended? HOT 1
- inih v57 fails to build using GCC 4.8.5 on CentOS 7 HOT 3
- Add support for UTF-16 HOT 5
- Add Cflags.private to support static linking on Windows HOT 1
- strncpy0 should be in ini_ namespace HOT 8
- Undefined symbol when linking with LLD HOT 9
- undefined reference to `INIReader
- undefined reference to 'ini_parse'
- When loading the ini file,, all the spaces in the value will be deleted HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from inih.