Makeprojects for Python¶

Pypi Version License Github Actions Status Documentation Status Supported Python versions

The makeprojects module makes it easy to autogenerate project files for several popular Integrated Development Enviroments (IDEs)

Compatibility¶

  • Python 2.7.1 or higher

  • Python 3.4 or higher

Installation¶

Type in pip install -U makeprojects. Some platforms may require the sudo prefix.

Bugs¶

If you find a bug, issue or have a feature request, please submit a bug report by emailing becky@burgerbecky.com and mention python version, integer size (32 bit or 64 bit) and what platform was used (Windows / Mac OSX / Linux).

Table of Contents¶

šŸ‘· Buildme¶

buildme is a build system launcher that by using a single command, multiple build systems could be launched using a singluar command line. The tool has the ability to build all projects in a single directory, or even recursively through subdirectories with the -r parameter.

This is the launcher for the makeprojects project creation system and the build_rules.py file.

The tool has the ability to parse all project files to determine which version of Visual Studio, XCode, etc. to invoke so there is no needed to determine what build system to use, since it has the ability to determine the proper IDE/build tool to invoke.

buildme also handles most video game console build systems automatically. If any of these are missing, the default behavior will be used.

build_rules.py¶

A build_rules.py file can control the behavior of buildme by listing dependencies and custom build rules.

Full documentation on the operation of build_rules.py is here.

BUILDME_DEPENDENCIES¶

Set BUILDME_DEPENDENCIES with either a single string of a folder or file that must be built first. Also, a list of files or folders can be set and they will be built in the order of their position in the list. The default is no dependencies.

BUILDME_NO_RECURSE¶

Set BUILDME_NO_RECURSE to True if all subdirectories below this folder are not to be processed due to them not having any build project files. This defaults to False, but set this to True to prevent parsing folders that don’t need processing.

prebuild(working_directory, configuration)¶

If this function exists, it will be called FIRST with the directory that the build_rules.py file exists in and the configuration requested to build. Normally the configuration is set to ā€œallā€, but can be ignored if it isn’t relevant to the custom build rules.

build(working_directory, configuration)¶

If this function exists, it will be called with the directory that the build_rules.py file exists in and the configuration requested to build. Normally the configuration is set to ā€œallā€, but can be ignored if it isn’t relevant to the custom build rules.

postbuild(working_directory, configuration)¶

If this function exists, it will be called LAST with the directory that the build_rules.py file exists in and the configuration requested to build. Normally the configuration is set to ā€œallā€, but can be ignored if it isn’t relevant to the custom build rules.

Usage¶

Navigate to a directory of interest or use a full directory path and run buildme. By default, it check the folder for a build_rules.py file for override rules, and it will either use the rules found to build the projects in the directory, and then it will scan the directory for known project files and invoke the appropriate build system to build the project. If a configuration is passed a parameter, only that configuration will be built in all projects being compiled.

ā€œbuildme Releaseā€, build only the ā€œReleaseā€ configuration of all project files.

ā€œbuildmeā€, build all configurations of the project files.

ā€œbuildme helloworld.slnā€, build all configurations in helloworld.sln.

Visual Studio¶

If the project file ends with .sln, it’s assumed to be a Visual Studio project file.

If the host is Windows, MSYS2, Cygwin, or Windows Subsystem for Linux, it will build Visual Studio projects if the appropriate version of Visual Studio was installed.

These are the supported versions of Visual Studio:

  • Visual Studio 2003 .NET

  • Visual Studio 2005

  • Visual Studio 2008

  • Visual Studio 2010

  • Visual Studio 2012

  • Visual Studio 2013

  • Visual Studio 2015

  • Visual Studio 2017

  • Visual Studio 2019

  • Visual Studio 2022

These are the supported Visual Studio plug ins.

  • Win32 (Windows 32 bit x86)

  • x64 (Windows 64 bit x64)

  • ARM (Windows 32 bit ARM)

  • ARM64 (Windows 64 bit ARM)

  • Xbox (Xbox classic)

  • Xbox 360

  • Durango (Xbox ONE)

  • PS3

  • PS4

  • PSVita

  • NX32 (Switch 32 bit)

  • NX64 (Switch 64 bit)

  • Tegra-Android (nVidia Shield)

XCode¶

If the folder ends with .xcodeproj and contains the file project.pbxproj, it’s assumed to be Apple XCode. This type of project can only be built on macOS hosts.

Watcom¶

If the file ends with .wmk, it’s assumed to be a Watcom WMAKE file. It can be built on Linux and Windows hosts.

Codeblocks¶

If the file ends with .cdp, it’s assumed to be a CodeBlocks project file. It’s invoked on Windows and Linux hosts.

CodeWarrior¶

If the file ends with .mcp, it’s assumed to be a Metrowerks / NXP CodeWarrior file. It’s invoked on a Windows or macOS hosts.

Linux Make¶

If the file is makefile, it’s assumed to be a Linux make file and is invoked only on Linux hosts.

Ninja¶

If the file ends with .ninja, it’s assumed to be a ninja file and is invoked on all hosts.

Credits¶

buildme is the insane creation of Rebecca Ann Heineman.

If bugs are found, please send all information on how to recreate the bug to becky@burgerbecky.com

🧹 Cleanme¶

cleanme is a tool to quickly and easily remove all temporary and generated files to force a full rebuild of a project on the next time a build is invoked. The tool has the ability to clean all projects in a single directory, or recursively through subdirectories with the -r parameter.

The tool has the ability to parse all project files to determine which version of Visual Studio, XCode, etc. to invoke so there is no needed to determine what build system to use, since it has the ability to determine the proper IDE/build tool to invoke. Custom clean rules are defined in the file build_rules.py <see below>

Usage¶

Navigate to a directory of interest or use a full directory path and run cleanme. By default, it checks the folder for a build_rules.py file for override rules, and it will either use the rules found to clean the projects in the directory, and then it will scan the directory for known project files and invoke the appropriate clean system to remove the files. If a configuration is passed a parameter, only that configuration will be cleaned.

ā€œcleanme Releaseā€, clean only the ā€œReleaseā€ configuration of all project files.

ā€œcleanmeā€, clean all configurations of the project files.

ā€œcleanme helloworld.slnā€, clean all configurations in helloworld.sln.

Directory traversal¶

When the command line option -r is used, cleanme will traverse all folders recursively and process all folders found. Due to the nature of cleaning, for performance reasons, the directories will be processed under the current directory first, and then it will process all child directories secondly. This is the reverse order of buildme because in most cases, directories will be deleted when being cleaned, which will not exist when the directory is scanned for subdirectories to prevent processing directories that were removed.

Example:

If build_rules.py deletes temp, then if cleanme is executed at the root with -r, build_rules.py will be executed at the root which will remove the folder temp, and then it will process the remaining folders source and data, skipping over temp because it doesn’t exist.

In this example, the folders ., data, and source will be processed but temp will not because it and its contents are removed.

Cleanme directory traversal tree

.
+-- .gitignore
+-- build_rules.py
+-- data
|   +--- build_rules.py
|   +--- foo.png
+-- temp
|   +--- foo.obj
+-- source
|   +--- foo.cpp

build_rules.py¶

A build_rules file contains both static variables and a function to process a folder for cleaning. The static variables are checked first to guide the behavior of the cleanme tool, and if present, the function clean(working_directory) is called for custom clean rules. The function can return an error code which is returned to the command shell that invoked cleanme. Returning None acts if no error occured.

Full documentation on the operation of build_rules.py is here.

Visual Studio¶

If the project file ends with .sln, it’s assumed to be a Visual Studio project file.

If the host is Windows, MSYS2, Cygwin, or Windows Subsystem for Linux, it will clean Visual Studio projects if the appropriate version of Visual Studio was installed.

These are the supported versions of Visual Studio:

  • Visual Studio 2003 .NET

  • Visual Studio 2005

  • Visual Studio 2008

  • Visual Studio 2010

  • Visual Studio 2012

  • Visual Studio 2013

  • Visual Studio 2015

  • Visual Studio 2017

  • Visual Studio 2019

  • Visual Studio 2022

XCode¶

If the folder ends with .xcodeproj and contains the file project.pbxproj, it’s assumed to be Apple XCode. This type of project can only be built on macOS hosts.

Watcom¶

If the file ends with .wmk, it’s assumed to be a Watcom WMAKE file. It can be built on Linux and Windows hosts. It will invoke the ā€œcleanā€ target.

Codeblocks¶

If the file ends with .cdp, it’s assumed to be a CodeBlocks project file. It’s invoked on Windows and Linux hosts.

CodeWarrior¶

If the file ends with .mcp, it’s assumed to be a Metrowerks / NXP CodeWarrior file. It’s invoked on a Windows or macOS hosts.

Linux Make¶

If the file is makefile, it’s assumed to be a Linux make file and is invoked only on Linux hosts. It will invoke the ā€œcleanā€ target.

Ninja¶

If the file ends with .ninja, it’s assumed to be a ninja file and is invoked on all hosts. It will invoke the ā€œcleanā€ target.

Credits¶

cleanme is the insane creation of Rebecca Ann Heineman.

If bugs are found, please send all information on how to recreate the bug to becky@burgerbecky.com

😺 Rebuildme¶

rebuildme is a build system launcher that by using a single command, multiple build systems could be launched using a singluar command line. The tool has the ability to build all projects in a single directory, or even recursively through subdirectories with the -r parameter.

This is the launcher for the makeprojects project creation system and the build_rules.py file.

Full documentation on the operation of build_rules.py is here.

The tool has the ability to parse all project files to determine which version of Visual Studio, XCode, etc. to invoke so there is no needed to determine what build system to use, since it has the ability to determine the proper IDE/build tool to invoke.

rebuildme also handles most video game console build systems automatically.

Usage¶

Navigate to a directory of interest or use a full directory path and run rebuildme. By default, it check the folder for a build_rules.py file for override rules, and it will either use the rules found to build the projects in the directory, it will scan the directory for known project files and invoke the appropriate build system to build the project. If a configuration is passed a parameter, only that configuration will be built in all projects being compiled.

ā€œrebuildme Releaseā€, build only the ā€œReleaseā€ configuration of all project files.

ā€œrebuildmeā€, build all configurations of the project files.

ā€œrebuildme helloworld.slnā€, build all configurations in helloworld.sln.

Visual Studio¶

If the project file ends with .sln, it’s assumed to be a Visual Studio project file.

If the host is Windows, MSYS2, Cygwin, or Windows Subsystem for Linux, it will build Visual Studio projects if the appropriate version of Visual Studio was installed.

These are the supported versions of Visual Studio:

  • Visual Studio 2003 .NET

  • Visual Studio 2005

  • Visual Studio 2008

  • Visual Studio 2010

  • Visual Studio 2012

  • Visual Studio 2013

  • Visual Studio 2015

  • Visual Studio 2017

  • Visual Studio 2019

  • Visual Studio 2022

XCode¶

If the folder ends with .xcodeproj and contains the file project.pbxproj, it’s assumed to be Apple XCode. This type of project can only be built on macOS hosts.

Watcom¶

If the file ends with .wmk, it’s assumed to be a Watcom WMAKE file. It can be built on Linux and Windows hosts.

Codeblocks¶

If the file ends with .cdp, it’s assumed to be a CodeBlocks project file. It’s invoked on Windows and Linux hosts.

CodeWarrior¶

If the file ends with .mcp, it’s assumed to be a Metrowerks / NXP CodeWarrior file. It’s invoked on a Windows or macOS hosts.

Linux Make¶

If the file is makefile, it’s assumed to be a Linux make file and is invoked only on Linux hosts.

Ninja¶

If the file ends with .ninja, it’s assumed to be a ninja file and is invoked on all hosts.

Credits¶

rebuildme is the insane creation of Rebecca Ann Heineman.

If bugs are found, please send all information on how to recreate the bug to becky@burgerbecky.com

šŸ Build Rules¶

Makeprojects is controlled by a configuration file called build_rules.py. It’s a python script with global variables and functions that will control how buildme, cleanme, rebuildme, and makeprojects behave. Since it’s a python script, there is no limit to what the script can do to perform any build or clean operation for any project.

When a directory is checked for processing, a build_rules.py file is checked. If it doesn’t exist, the parent directory is checked until the root directory is found which stops the scanning. If the file is not found, processing will stop. If found, it will be checked if it is in the folder being processed and is used if so. If the file is in a parent folder, a GENERIC_* variable is checked to see if the build_rules.py qualifies as a ā€œcatch allā€ file that handles rules for all child folders.

Below, are the functions and variables that the build_rule.py may or may not contain to control the tool’s behavior. If the value is it not found, the defaults are shown below.

Note: rebuildme performs a cleanme and then a buildme operation, so it processes both CLEANME_* and BUILDME_* parameters.

🧹 Cleanme rules¶

cleanme and rebuildme check for several global variables and the existence of a single function that will perform cleaning operations.

Full documentation on the operation of cleanme is here.

CLEANME_GENERIC¶
# ``cleanme`` will process any child directory with the clean() function if
# True.
CLEANME_GENERIC = False

If set to True, cleanme and rebuildme will assume this build_rules.py file is designed to be generic and if invoked from a child directory, it will be given the child’s directory for processing. If False it will only be invoked with the directory that the build_rules files resides in. This is needed to prevent a build_rules.py file from processing directories that it was not meant to handle when parent directory traversal is active. If this does not exist, the default of False is used.

CLEANME_CONTINUE¶
# ``cleanme`` will process build_rules.py in the parent folder if True.
CLEANME_CONTINUE = False

If set to True, cleanme and rebuildme will process this file and then traverse the parent directory looking for another build_rules.py file to continue the cleanme operation. This is useful when there’s a generic clean operation in a root folder and this function performs custom operations unknown to the parent rules file. If this doesn’t exist, the default of False is assumed.

CLEANME_DEPENDENCIES¶
# ``cleanme`` will clean the listed folders using their rules before cleaning.
# this folder.
CLEANME_DEPENDENCIES = []

cleanme and rebuildme will clean the listed folders using their rules before cleaning this folder. Only folders are allowed, files generate an error. If this doesn’t exist, the default of an empty list is assumed.

CLEANME_NO_RECURSE¶
# If set to True, ``cleanme -r``` will not parse directories in this folder.
CLEANME_NO_RECURSE = False

If set to True, cleanme -r and rebuildme -r will not parse directories in this folder. If this does not exist, the default of False is used. The main purpose of this is to prevent scanning child folders when it is already known that there are no child folders that need processing or that CLEANME_DEPENDENCIES lists every child folder of interest, so recursion is not necessary.

CLEANME_PROCESS_PROJECT_FILES¶
# ``cleanme`` will assume only the function ``clean()`` is used if True.
CLEANME_PROCESS_PROJECT_FILES = False

If set to False, cleanme will disable scanning for project files and assume that the function clean() in build_rules.py performs all actions to clean the directory. If this doesn’t exist, the default of False is assumed. Set this to True if the clean() function performs all of the operations needed to remove temporary files without the need to invoke any IDE.

clean(working_directory)¶
def clean(working_directory):
    return None

This function should delete all temporary files that were created after a project is built. In most cases, IDEs will be able to handle this, but for some projects, there are other files such as headers or compiled shaders that the IDE is not aware of. This function will perform the deletion functions and return either 0 for no error, or non-zero for an error that will be reported once cleanme is finished processing.

If the variable CLEANME_GENERIC is False, the working_directory is guaranteed to only be the directory that the build_rules.py resides in. If CLEANME_GENERIC is False then the directory could be any of the child folders the build_rules.py file resides in.

Returning None alerts cleanme and rebuildme that this function is not implemented and no action was performed.

šŸ‘· Buildme rules¶

buildme and rebuildme checks for several global variables and the existence of three functions that will perform building operations.

Full documentation on the operation of buildme is here.

BUILDME_GENERIC¶
# Process any child directory with the prebuild(), build(), and postbuild()
# functions if True.
BUILDME_GENERIC = False

If set to True, buildme will assume this build_rules.py file is designed to be generic and if invoked from a child directory, it will be given the child’s directory for processing. If False it will only be invoked with the directory that the build_rules.py files resides in. This is needed to prevent a build_rules.py file from processing directories that it was not meant to handle when parent directory traversal is active. If this does not exist, the default of False is used.

BUILDME_CONTINUE¶
# ``buildme`` will process build_rules.py in the parent folder if True.
BUILDME_CONTINUE = False

If set to True, buildme and rebuildme will process this file and then traverse the parent directory looking for another build_rules.py file to continue the buildme operation. This is useful when there’s a generic build operation in a root folder and this function performs custom operations unknown to the parent rules file. If this doesn’t exist, the default of False is assumed.

BUILDME_DEPENDENCIES¶
# Build the folders listed before processing this folder.
BUILDME_DEPENDENCIES = []

Set BUILDME_DEPENDENCIES with a list of folders or project files that must be built first. They will be built in the order they appear in this list. The default is no dependencies.

BUILDME_NO_RECURSE¶
# Disable recursion in all directories found in this directory.
BUILDME_NO_RECURSE = True

Set BUILDME_NO_RECURSE to True if all subdirectories below this folder are not to be processed due to them not having any build project files. This defaults to False, but set this to True to prevent parsing folders that don’t need processing.

BUILDME_PROCESS_PROJECT_FILES¶
# ``buildme`` will assume only the three functions are used if True.
BUILDME_PROCESS_PROJECT_FILES = True

If set to False, buildme will disable scanning for project files and assume that the functions prebuild(), build(), and postbuild() in build_rules.py perform all the actions to build the files in this directory. If this doesn’t exist, the default of True is assumed.

prebuild(working_directory, configuration)¶
def prebuild(working_directory, configuration)
    return None

If this optional function exists, it will be called FIRST with the directory requested to build and the configuration requested to build. Normally the configuration is set to ā€œallā€, but can be ignored if it isn’t relevant to the custom build rules. If BUILDME_GENERIC is False, only the directory that the build_rules.py file resides in will be passed as the working_directory.

This function will perform build functions and return either 0 for no error, or non-zero for an error that will be reported once buildme is finished processing. Return None if this function does no operation.

build(working_directory, configuration)¶
def build(working_directory, configuration)
    return None

If this optional function exists, it will be called after prebuild() is called but before any other the IDE project files are processed. It will passed the directory requested to build and the configuration requested to build. Normally the configuration is set to ā€œallā€, but can be ignored if it isn’t relevant to the custom build rules. If BUILDME_GENERIC is False, only the directory that the build_rules.py file resides in will be passed as the working_directory.

This function will perform build functions and return either 0 for no error, or non-zero for an error that will be reported once buildme is finished processing. Return None if this function does no operation.

postbuild(working_directory, configuration)¶
def postbuild(working_directory, configuration)
    return None

If this optional function exists, it will be called LAST with the directory requested to build and the configuration requested to build. Normally the configuration is set to ā€œallā€, but can be ignored if it isn’t relevant to the custom build rules. If BUILDME_GENERIC is False, only the directory that the build_rules.py file resides in will be passed as the working_directory.

This function will perform build functions and return either 0 for no error, or non-zero for an error that will be reported once buildme is finished processing. Return None if this function does no operation.

šŸ‘©ā€šŸ³ Makeprojects rules¶

DEFAULT_PROJECT_NAME¶
# Default project name to use instead of the name of the working directory
# DEFAULT_PROJECT_NAME = os.path.basename(working_directory)

When makeprojects is invoked, if a project name is not specified, this variable will declare the default project name. The default is the name of the folder that is being processed.

😺 Global rules¶

These rules act like the ones that are specific to each tool, except they affect all of the tools.

GENERIC¶
# Process any child directory if True.
GENERIC = False

If set to True, all tools will assume this build_rules.py file is designed to be generic and if invoked from a child directory, it will be given the child’s directory for processing. If False it will only be invoked with the directory that the build_rules files resides in. This is needed to prevent a build_rules.py file from processing directories that it was not meant to handle when parent directory traversal is active. If this does not exist, the default of False is used.

CONTINUE¶
# Process ``build_rules.py`` in the parent folder if True.
CONTINUE = False

If set to True, all tools will process this file and then traverse the parent directory looking for another build_rules.py file to continue the their operations. This is useful when there’s a generic build_rules.py file in a root folder and this function performs custom operations unknown to the parent rules file. If this doesn’t exist, the default of False is assumed.

DEPENDENCIES¶
# Process listed folders using their rules before processing this folder.
DEPENDENCIES = []

Process the listed folders using their rules before this folder. Only folders are allowed, files generate an error. If this doesn’t exist, the default of an empty list is assumed.

NO_RECURSE¶
# If set to True, ``-r``` will not parse sub directories in this folder.
NO_RECURSE = False

If set to True, -r will not parse sub directories in this folder. If this does not exist, the default of False is used. The main purpose of this is to prevent scanning child folders when it is already known that there are no child folders that need processing or that DEPENDENCIES lists every child folder of interest, so recursion is not necessary.

šŸ‘©ā€šŸ”§ Main¶

# If called as a command line and not a class, perform the build
if __name__ == "__main__":
    sys.exit(build(os.path.dirname(os.path.abspath(__file__)), 'all'))

The build_rules.py file can be run as a standalone script. If the line above exists in the script, it will call whatever function is declared and exit to the operating system. The example above will call the build() function with the current directory, however, it’s up to the programmer to decide what is the default action and if parameters should be passed and what to do with them.

Constants¶

Setup strings¶

These strings are used for version control and setup.py for distribution.

__numversion__¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

__version__¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

__author__¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

__title__¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

__summary__¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

__uri__¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

__email__¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

__license__¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Internal constants¶

Constants used internally by this package.

_XCODEPROJ_MATCH¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Internal tables¶

enums._FILETYPES_LOOKUP¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums._FILETYPES_READABLE¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums._IDETYPES_CODES¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums._IDETYPES_READABLE¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums._PLATFORMTYPES_CODES¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums._PLATFORMTYPES_EXPANDED¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums._PLATFORMTYPES_READABLE¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums._PLATFORMTYPES_VS¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums._PROJECTTYPES_READABLE¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Folder locations¶

config.BUILD_RULES_PY¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

config._BUILD_RULES_VAR¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

config.USER_HOME¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

config.PROJECTS_HOME¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

config.DEFAULT_BUILD_RULES¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Build Constants¶

buildme.BUILD_LIST¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.CODEWARRIOR_ERRORS¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme._CW_SUPPORTED_LINKERS¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme._VS_VERSION_YEARS¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme._VS_OLD_VERSION_YEARS¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme._VS_SDK_ENV_VARIABLE¶

Warning

doxygenvariable: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Classes¶

Enumerations¶

enums.FileTypes¶

Warning

doxygenclass: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums.IDETypes¶

Warning

doxygenclass: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums.PlatformTypes¶

Warning

doxygenclass: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums.ProjectTypes¶

Warning

doxygenclass: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Project Classes¶

core.Attributes¶

Warning

doxygenclass: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

core.SourceFile¶

Warning

doxygenclass: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

core.Configuration¶

Warning

doxygenclass: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

core.Project¶

Warning

doxygenclass: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

core.Solution¶

Warning

doxygenclass: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Build Classes¶

core.BuildError¶

Warning

doxygenclass: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

core.BuildObject¶

Warning

doxygenclass: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Functions¶

Dispatchers¶

makeprojects.build¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

makeprojects.clean¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

makeprojects.rebuild¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Generators¶

makeprojects.new_solution¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

makeprojects.new_project¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

makeprojects.new_configuration¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Configuration¶

config.save_default¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

config.find_default_build_rules¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Clean¶

cleanme.dispatch¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

cleanme.process¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

cleanme.main¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Build¶

buildme.build_rez_script¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.build_slicer_script¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.build_doxygen¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.build_watcom_makefile¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.build_makefile¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.parse_sln_file¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.build_visual_studio¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.parse_mcp_file¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.build_codewarrior¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.parse_xcodeproj_file¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.build_xcode¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.parse_codeblocks_file¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.build_codeblocks¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.add_build_rules¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.add_project¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.get_projects¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.process¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

buildme.main¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Rebuild¶

rebuild.main¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Enums¶

enums.get_installed_visual_studio¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums.get_installed_xcode¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

enums.platformtype_short_code¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

Util¶

util.validate_enum_type¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

util.regex_dict¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

util.validate_boolean¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

util.validate_string¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

util.source_file_filter¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

util.add_build_rules¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

util.get_build_rules¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

util.getattr_build_rules¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

util.remove_ending_os_sep¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

util.was_processed¶

Warning

doxygenfunction: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/makeprojects/checkouts/latest/docs/temp/xml/index.xml

License¶

MIT License¶

The gist of the license… Have fun using this code, I won’t sue you and you can’t sue me. However, please be nice about it and give me a credit in your software that you used my code in.

Please?


Copyright (c) 2013-2019 Rebecca Ann Heineman <becky@burgerbecky.com>


Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ā€œSoftwareā€), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

  1. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

  2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

  3. This notice may not be removed or altered from any source distribution.

Rebecca Ann Heineman becky@burgerbecky.com

THE SOFTWARE IS PROVIDED ā€œAS ISā€, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.