Metadata-Version: 2.1
Name: blister-cpp
Version: 0.0.1
Summary: Conventions-over-configuration C++/modules project manager.
Home-page: https://github.com/m4c0/blister
Author: Eduardo Costa
Author-email: m4c0@users.noreply.github.com
License: UNKNOWN
Description: # blister
        
        Conventions-over-configuration C++/modules project manager.
        
        This is a simple approach to deal with C++ modules. By using a bunch of
        conventions, this Python module scans for all files and generates a
        `build.ninja` to compile the code.
        
        Currently, it is personal endeavor to use C++ modules with some dependency
        management, which (as of 2019) is not provided by existing building systems.
        Hacks and non-sense may be included.
        
        Requires a folder structure like this:
        
        * root
          * includes
            * h-files and subfolders
          * sources
            * common
              * cppm-files and subfolders
            * osx-metal
              * cppm-files
              * mm-files
            * ...
          * tests
            * app-folder-1
              * cppm-files
              * cpp-files
            * app-folder-2
            * ...
          * tools
            * cpp-files
          * unit-tests
            * cpp-files
          * bli.yaml
        
        `includes` is added as part of the include path.
        
        `sources/common` contains CPP modules (using `cppm` as extension). They will
        be scanned, with all `cppm` files added to the build. The module name is
        independent of the file name, being extracted from the `export module`
        statement.
        
        `sources/osx-metal` is a hack to build Apple-compatible folders. It also
        compiles `metal` files.
        
        `tests` creates one standalone application per folder. Every linked application
        will contains all objects from `sources` folders.
        
        `unit-tests` are compiled independently and liked with `sources/common` objects
        and run as part of the `test` target.
        
        Dependencies are calculated from both `cppm` and `cpp` files, by parsing the
        `import` statements.
        
        `bli.yaml` identifies the root folder and contains configuration to override
        global and per-file flags.
        
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: MacOS :: MacOS X
Requires-Python: >=3.6
Description-Content-Type: text/markdown
