mirror of
https://github.com/bulletphysics/bullet3
synced 2024-12-15 14:10:11 +00:00
168 lines
6.7 KiB
Plaintext
168 lines
6.7 KiB
Plaintext
[% FILTER null;
|
|
#==============================================================================
|
|
# TemplateToolkit2 common control values for MSVC6 and MSVC7 project generation
|
|
# Copyright (C) 2004 by Eric Sunshine <sunshine@sunshineco.com>
|
|
#
|
|
# This library is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU Library General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or (at your
|
|
# option) any later version.
|
|
#
|
|
# This library is distributed in the hope that it will be useful, but
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
|
|
# License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Library General Public License
|
|
# along with this library; if not, write to the Free Software Foundation,
|
|
# Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
#
|
|
#==============================================================================
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Within the project, the listing of files comprising that project is broken
|
|
# into groups based upon file types. The groups[] array of hashes defines the
|
|
# groups into which the file will be placed. Each hash contains the following
|
|
# keys:
|
|
#
|
|
# name
|
|
# Provides a human-readable name for the group within the project file.
|
|
# types
|
|
# Regular expression controlling which files will be used to populate
|
|
# the group. Filenames matching `types' will be included in the group.
|
|
#------------------------------------------------------------------------------
|
|
groups = [
|
|
{
|
|
name => 'Source Files'
|
|
types => '\.(?i:c|cc|cpp|cxx|m|mm)$'
|
|
},
|
|
{
|
|
name => 'Header Files'
|
|
types => '\.(?i:h|hh|hpp|hxx)$'
|
|
},
|
|
{
|
|
name => 'Resource Files'
|
|
types => '\.(?!(?i:h|hh|hpp|hxx|c|cc|cpp|cxx|m|mm)$)\w*$'
|
|
}
|
|
];
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Each project file can support multiple build configurations, such as Release
|
|
# and Debug. The builds[] array of hashes defines the build modes which will
|
|
# appear in the project file. Each hash provides fine-grained control of
|
|
# settings specific to a particular build modes. Other than `tag', `name', and
|
|
# `priority', the hash keys are fairly arbitrary. The remaining keys are
|
|
# accessed by the compose() macro (macros.tlib) based upon an essentially
|
|
# arbitrary name given to compose() upon each invocation.
|
|
#
|
|
# tag
|
|
# String often used in construction of pathnames for temporary
|
|
# build-time files in order to prevent one build configuration from
|
|
# stomping upon the files of another. Also used in composition of macro
|
|
# names by interpolate() (macros.tlib) when searching for customizations
|
|
# contained in the projectx{6,7}.tlib files.
|
|
# name
|
|
# Human-readable name of this configuration.
|
|
# priority
|
|
# Assign a relative priority to this build mode over others. Lower
|
|
# numbers indicate higher priority. MSVC6 determines the "default"
|
|
# build mode based upon the (reverse) order in which it encounters build
|
|
# mode names in the project file header, so the MSVC6 project template
|
|
# utilizes this field to ensure that the mode with the highest priority
|
|
# is the one chosen by default by MSVC6.
|
|
#
|
|
# These keys are optional; they are accessed by the compose() macro
|
|
# (macros.tlib) when compose() is invoked by the project template to retrieve a
|
|
# list of preprocessor #defines, compiler flags, etc.
|
|
#
|
|
# defines
|
|
# Array of additional preprocessor #defines for this build mode.
|
|
# defineskey
|
|
# Name of key in `my.doc' hash specifying array of additional #defines
|
|
# for this build mode for the specific project being generated.
|
|
# cflags
|
|
# Array of additional compiler flags for this build mode.
|
|
# cflagsskey
|
|
# Name of key in `my.doc' hash specifying array of additional compiler
|
|
# flags for this build mode for the specific project being generated.
|
|
# incdirskey
|
|
# Name of the key in `my.doc' hash specifying array of additional header
|
|
# search directories for this build mode for the specific project being
|
|
# generated.
|
|
# lflags
|
|
# Array of additional linker flags for this build mode.
|
|
# lflagskey
|
|
# Name of key in `my.doc' hash specifying array of additional linker
|
|
# flags for this build mode for the specific project being generated.
|
|
# libs
|
|
# Array of additional library dependencies (including .lib suffix) for
|
|
# this build mode.
|
|
# libskey
|
|
# Name of key in `my.doc' hash specifying array of additional library
|
|
# dependencies for this build mode for the specific project being
|
|
# generated.
|
|
# libdirskey
|
|
# Name of the key in `my.doc' hash specifying array of additional
|
|
# library search directories for this build mode for the specific
|
|
# project being generated.
|
|
#------------------------------------------------------------------------------
|
|
builds = [
|
|
{
|
|
tag => 'release',
|
|
name => 'Release',
|
|
defines => ['NDEBUG'],
|
|
snpreprocessor => 'SN_TARGET_PS3;NDEBUG;__GCC__',
|
|
snadditional => '-O2 -Wall -fno-exceptions',
|
|
defineskey => 'define',
|
|
cflagskey => 'cflags',
|
|
incdirskey => 'include',
|
|
lflagskey => 'lflags',
|
|
libskey => 'library',
|
|
libdirskey => 'libdir',
|
|
priority => 100
|
|
},
|
|
{
|
|
tag => 'debug',
|
|
name => 'Debug',
|
|
defines => ['_DEBUG'],
|
|
snpreprocessor => 'SN_TARGET_PS3;_DEBUG;__GCC__',
|
|
snadditional => '-g -O0 -Wall -fno-exceptions',
|
|
defineskey => 'definedebug',
|
|
cflagskey => 'cflagsdebug',
|
|
incdirskey => 'includedebug',
|
|
lflagskey => 'lflagsdebug',
|
|
libskey => 'librarydebug',
|
|
libdirskey => 'libdirdebug',
|
|
priority => 200
|
|
}
|
|
];
|
|
|
|
#------------------------------------------------------------------------------
|
|
# The projtypes[] array defines the different types of built targets (GUI
|
|
# application, DLL, library, etc.) which a project file might represent. The
|
|
# client will choose one of these keys as the type of project desired. The
|
|
# value of each key is a hash specifying additional customization of the
|
|
# project based upon its type. The keys of the subhash are the same as the
|
|
# optional keys described above for the builds[] array ('defines', 'cflags',
|
|
# and so forth; but not the 'defineskey', 'cflagskey', etc.).
|
|
#------------------------------------------------------------------------------
|
|
projtypes = {
|
|
appcon =>
|
|
{
|
|
defines = ['_CONSOLE']
|
|
},
|
|
appgui =>
|
|
{
|
|
defines = ['_WINDOWS']
|
|
},
|
|
group =>
|
|
{
|
|
},
|
|
library =>
|
|
{
|
|
defines = ['_LIB', '_WINDOWS']
|
|
}
|
|
};
|
|
|
|
END %]
|