Skip to content

⭕ Almagamated library of MulleFoundation projects

Notifications You must be signed in to change notification settings

MulleFoundation/MulleFoundationBase

Repository files navigation

MulleFoundationBase

🧱 MulleFoundationBase amalgamates Foundations projects

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>

Constituents

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

Add

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.

Add as an individual component

Use mulle-sde to add MulleFoundationBase to your project:

mulle-sde add github:MulleFoundation/MulleFoundationBase

Install

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

Legacy Installation

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

Author

Nat! for Mulle kybernetiK

About

⭕ Almagamated library of MulleFoundation projects

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages