Under the Hood - simple-entertainment/simplicity GitHub Wiki

The information here is relevant to the core simplicity project as well as the plugins maintained here.

Project Structure

<root>
    dep
        <dependency>
            include
            lib
            LICENSE
            VERSION
    src
        main
            <language>
        <dependency>
            <language>
    <project files>

Where:

  • <root> is the root folder of the project
  • <dependency> is a 3rd party library used by the project, it will either appear under dep if it is used in the form of headers and libs or under src if it is in the form of source code.
  • include is a folder containing 3rd party header files
  • lib is a folder containing 3rd party libs
  • LICENSE is a folder containing the license for the 3rd party library
  • VERSION is a file containing the version of the 3rd party library
  • main is the location of this project's source code
  • <language> is a folder containing source code in a particular language e.g. c++
  • <project files> are files used by IDEs like Eclipse CDT and Visual Studio for managing the project

Tested Compilers

When I say no warnings I'm not including warnings coming from 3rd party libraries.

  • g++ 4.8 compiles with no warnings when set to Wall.
  • VisualC++ 12 (Visual Studio 2013) compiles with no warnings when set to W4. I tried Wall but it scared me and I limped back to W4.

Building

Project files are provided for Eclipse CDT on Linux and Windows and Visual Studio on Windows. If you don't use these, there is nothing special to the projects, they just include the headers of there dependencies and link to the libs of their dependencies and that's it.

The only special case is for DLLs. To compile a DLL project you need to define SIMPLE_SHARED in the preprocessor and to us the DLL your project needs to define SIMPLE_SHARED_EXE.

⚠️ **GitHub.com Fallback** ⚠️