Theos

A cross-platform build system for creating iOS, macOS, Linux, and Windows programs.

Logos: File Extensions

Extension Process order
x will be processed by Logos, then preprocessed and compiled as Objective-C.
xm will be processed by Logos, then preprocessed and compiled as Objective-C++.
xi will be preprocessed first, then Logos will process the result, and then it will be compiled as Objective-C.
xmi will be preprocessed first, then Logos will process the result, and then it will be compiled as Objective-C++.

xi or xmi files enable Logos directives to be used in preprocessor macros, such as #define. You can also import other Logos source files with the #include statement. However, this is discouraged, since this leads to longer build times recompiling code that hasn’t changed. Separating into x and xm files, sharing variables and functions via extern declarations, is recommended.

These file extensions control how a build system such as Theos should build a Logos file. Logos itself does not take the file extension into account and works regardless of whether a file is Objective-C or Objective-C++.