This is an almagamation of the MulleFoundation libraries that do not depend on platform specific code (below MulleObjCOSFoundation), See the constituting projects for documentation, bug reports, pull requests.
The advantages of MulleFoundationBase are:
- compiles faster than almost a dozen individual projects
- you only need to link against one library file
#import
statements of the individual libraries can remain unchanged or can be simplified to#import <MulleFoundationBase/MulleFoundationBase.h>
Add another constituent to the amalgamation with:
mulle-sde dependency add --amalgamated \
--fetchoptions "clibmode=copy" \
--address src/MulleObjCWhateverFoundation \
clib:MulleFoundation/MulleObjCWhateverFoundation
Then edit MulleFoundationBase.h
and add the envelope header to the others.
Constituent | Description |
---|---|
MulleObjCArchiverFoundation | 🚪 NSCoding classes like NSArchiver/NSUnarchiver |
MulleObjCContainerFoundation | 🛍 Container classes like NSArray, NSSet, NSDictionary |
MulleObjCKVCFoundation | 🔑 Key-Value-Coding based on MulleObjCStandardFoundation |
MulleObjCMathFoundation | 📈 NSNumber refines that use the math library |
MulleObjCPlistFoundation | 🏢 PropertyList parsing and printing |
MulleObjCRegexFoundation | 🫅 Search and replace with regular expressions |
MulleObjCStandardFoundation | 🚤 Objective-C classes based on the C standard library |
MulleObjCTimeFoundation | 💰 MulleObjCTimeFoundation provides time classes |
MulleObjCUUIDFoundation | 🛂 MulleObjCUUIDFoundation provides NSUUID |
MulleObjCUnicodeFoundation | 🤓 Unicode 3.x.x support for mulle-objc |
MulleObjCValueFoundation | 💶 Value classes NSNumber, NSString, NSDate, NSData |
This project is a component of the MulleFoundation library.
As such you usually will not add or install it individually, unless you
specifically do not want to link against MulleFoundation
.
Use mulle-sde to add MulleFoundationBase to your project:
mulle-sde add github:MulleFoundation/MulleFoundationBase
Use mulle-sde to build and install MulleFoundationBase and all dependencies:
mulle-sde install --prefix /usr/local \
https://github.com/MulleFoundation/MulleFoundationBase/archive/latest.tar.gz
Install the requirements:
Requirements | Description |
---|---|
MulleObjC | 💎 A collection of Objective-C root classes for mulle-objc |
mulle-objc-list | 📒 Lists mulle-objc runtime information contained in executables. |
Download the latest tar or zip archive and unpack it.
Install MulleFoundationBase into /usr/local
with cmake:
cmake -B build \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DCMAKE_PREFIX_PATH=/usr/local \
-DCMAKE_BUILD_TYPE=Release &&
cmake --build build --config Release &&
cmake --install build --config Release
Nat! for Mulle kybernetiK