35 lines
1.4 KiB
Plaintext
35 lines
1.4 KiB
Plaintext
Build system for libregexis024
|
|
|
|
ABOUT
|
|
|
|
This build system installs only two files:
|
|
1) header regexis024_build_system.h, that contains some useful functions for writing build scripts in C++
|
|
2) script regexis024_build_system.sh, that compiles a build script in your project (script invokes g++ with
|
|
-I flag pointing to regexis024_build_system.h installation dir)
|
|
|
|
INSTALLATION
|
|
|
|
You don't need to compile anything, this is a header-only library
|
|
|
|
./install.sh [installation root]
|
|
|
|
[installation root] by default is /usr
|
|
Files will be installed to
|
|
./include/regexis024_build_system.h and
|
|
./bin/regexis024_build_system.sh
|
|
|
|
HISTORY
|
|
|
|
One day I realized that make is a complete garbage, cmake is even worse, and shell scripting language is too hard to use
|
|
to write anything complex.
|
|
I had to invent my own build system for my project libregexis024. But regexis024_build_system can be used for any other
|
|
C++ project just fine.
|
|
Some time ago this build system was able to generate pkg-config .pc files for built libraries, but
|
|
for some reason pkg-config shuffled cflags on my friends pc, so I moved from pkg-config to my own, much simpler
|
|
library flags description format:
|
|
* For both cflags and linkage flags do this:
|
|
** For each argument do this:
|
|
*** escape " and \ symbols in argument and "tighten" result into double-quotes (a"\" c -> "a\"\\\" c")
|
|
** Concatenate results
|
|
* Join results by ;
|