Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jun 14, 2009, 6:11:32 PM (15 years ago)
Author:
rgrieder
Message:

Merged the build system changes from the Gruppenarbeit:

  • More Comments (including Doxygen stuff for the config files)
  • Removed redundancy between PackageConfigMSVC.cmake and PackageConfigMinGW.cmake
  • Option ORXONOX_RELEASE which activates some expensive (build time) optimisations
  • Native Visual Leak Detector support (doesn't work for MSVC9 though)
  • Added CMake option to disable the console on Windows
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/pch/src/OrxonoxConfig.h.in

    r3153 r3167  
    3434
    3535/**
    36  @file
    37  @brief
     36@file
     37@brief
    3838    Various constants for compiler, architecture and platform.
    39 
     39@remarks
    4040    @GENERATED_FILE_COMMENT@
    41  */
     41*/
    4242
    4343#ifndef _OrxonoxConfig_H__
     
    5252#cmakedefine ORXONOX_PLATFORM_UNIX /* Apple and Linux */
    5353
    54 /* Determine compiler and set ORXONOX_COMP_VER */
     54// Determine compiler and set ORXONOX_COMP_VER
    5555#if defined( _MSC_VER )
    5656#  define ORXONOX_COMPILER_MSVC
     
    7575#endif
    7676
    77 /* Endianness */
     77// Endianness
    7878#cmakedefine ORXONOX_BIG_ENDIAN
    7979#cmakedefine ORXONOX_LITTLE_ENDIAN
    8080
    81 /* Architecture */
     81// Architecture
    8282#cmakedefine ORXONOX_ARCH_32
    8383#cmakedefine ORXONOX_ARCH_64
    8484
    85 /* See if we can use __forceinline or if we need to use __inline instead */
     85// See if we can use __forceinline or if we need to use __inline instead
    8686#cmakedefine HAVE_FORCEINLINE
    8787#ifndef FORCEINLINE
     
    9393#endif
    9494
    95 /* Try to define function information */
     95// Try to define function information
    9696#ifndef __FUNCTIONNAME__
    9797#  ifdef ORXONOX_COMPILER_BORLAND
     
    115115#define ORXONOX_VERSION_NAME "@ORXONOX_VERSION_NAME@"
    116116
    117 #define ORXONOX_VERSION ((ORXONOX_VERSION_MAJOR << 16) | (ORXONOX_VERSION_MINOR << 8) | ORXONOX_VERSION_PATCH)
     117//! Defines version info encoded as 0xMMIIPP (M: Major version, I: Minor version, P: Patch version, all as hex)
     118#define ORXONOX_VERSION \
     119    ((ORXONOX_VERSION_MAJOR << 16) | (ORXONOX_VERSION_MINOR << 8) | ORXONOX_VERSION_PATCH)
    118120
    119121
     
    123125#ifdef ORXONOX_PLATFORM_UNIX
    124126
    125 /* TODO: Check what this actually is and whether we need it or not */
     127// TODO: Check what this actually is and whether we need it or not
    126128#if 0
    127129#  ifdef ORXONOX_PLATFORM_APPLE
    128130#    define ORXONOX_PLATFORM_LIB "OrxonoxPlatform.bundle"
    129 #  else
    130 /* ORXONOX_PLATFORM_LINUX */
     131#  else // ORXONOX_PLATFORM_LINUX
    131132#    define ORXONOX_PLATFORM_LIB "libOrxonoxPlatform.so"
    132133#  endif
     
    151152
    152153/*---------------------------------
    153  * Includes
    154  *-------------------------------*/
    155 /* Define the english written operators like and, or, xor
    156  * This is C++ standard, but the Microsoft compiler doesn't define them. */
     154 * Options
     155 *-------------------------------*/
     156/**
     157@def ORXONOX_RELEASE
     158    Enables expensive (build time) optimisations and disables certain features
     159*/
     160#cmakedefine ORXONOX_RELEASE
     161
     162
     163/*---------------------------------
     164 * Includes and Declarations
     165 *-------------------------------*/
     166// Define the english written operators like and, or, xor
     167// This is C++ standard, but the Microsoft compiler doesn't define them.
    157168#cmakedefine HAVE_ISO646_H
    158169#ifdef HAVE_ISO646_H
     
    181192*/
    182193
    183 /* Forward declare the everywhere used std::string */
     194// Always include the memory leak detector for MSVC except for actual releases
     195// Note: Although officially supported, VLD does not work with MSVC 9
     196#if defined(ORXONOX_COMPILER_MSVC) && _MSC_VER < 1500 && !defined(ORXONOX_RELEASE)
     197#  include <vld.h>
     198#endif
     199
     200// Forward declare the everywhere used std::string
    184201namespace std
    185202{
     
    190207}
    191208
    192 /* Just in case you don't include a standard header */
    193 #ifndef NULL
    194   #define NULL 0
    195 #endif
    196 
    197 /* Visual Leak Detector looks for memory leaks */
    198 #cmakedefine VISUAL_LEAK_DETECTOR_ENABLE
    199 #ifdef VISUAL_LEAK_DETECTOR_ENABLE
    200 #  include <vld.h>
    201 #endif
    202 
    203209#endif /* _OrxonoxConfig_H__ */
Note: See TracChangeset for help on using the changeset viewer.