Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/environment/src/SpecialConfig.h.in @ 8772

Last change on this file since 8772 was 7682, checked in by youngk, 14 years ago

Changed handling of the dependency package and increased consistence for options.

  • Property svn:eol-style set to native
File size: 4.5 KB
Line 
1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
3 *                    > www.orxonox.net <
4 *
5 *
6 *   License notice:
7 *
8 *   This program is free software; you can redistribute it and/or
9 *   modify it under the terms of the GNU General Public License
10 *   as published by the Free Software Foundation; either version 2
11 *   of the License, or (at your option) any later version.
12 *
13 *   This program is distributed in the hope that it will be useful,
14 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
15 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 *   GNU General Public License for more details.
17 *
18 *   You should have received a copy of the GNU General Public License
19 *   along with this program; if not, write to the Free Software
20 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
21 *
22 *   Author:
23 *      Reto Grieder
24 *   Co-authors:
25 *      ...
26 *
27 */
28
29/**
30@file
31@brief
32    Various constants and options that only affect very little code.
33@note
34    This is merely to avoid recompiling everything when only a path changes.
35@remarks
36    @GENERATED_FILE_COMMENT@
37*/
38
39#ifndef _SpecialConfig_H__
40#define _SpecialConfig_H__
41
42#include "OrxonoxConfig.h"
43
44#cmakedefine CEGUILUA_USE_INTERNAL_LIBRARY  ///< Set whether we must suffix "ceguilua/" for the CEGUILua.h include
45
46#cmakedefine DEPENDENCY_PACKAGE_ENABLE      ///< Defined if a precompiled depdency package was used. We then copy all libraries too when installing.
47
48#cmakedefine INSTALL_COPYABLE               ///< Orxonox either gets installed to the system or just into a folder. The latter uses relative paths.
49
50#cmakedefine CMAKE_CONFIGURATION_TYPES      ///< Using MSVC or XCode IDE
51
52#cmakedefine DBGHELP_FOUND                  ///< If DbgHelp was found on windows
53
54#cmakedefine ORXONOX_USE_WINMAIN            ///< Using MSVC or XCode IDE
55
56// Handle default ConfigValues
57namespace orxonox { namespace specialConfig
58{
59    // DEFAULT RELATIVE PATHS (might not be used at all)
60    const char defaultRuntimePath[] = "@DEFAULT_RUNTIME_PATH@";
61    const char defaultLibraryPath[] = "@DEFAULT_LIBRARY_PATH@";
62    const char defaultArchivePath[] = "@DEFAULT_ARCHIVE_PATH@";
63    const char defaultModulePath[]  = "@DEFAULT_MODULE_PATH@";
64    const char defaultDocPath[]     = "@DEFAULT_DOC_PATH@";
65    const char defaultDataPath[]    = "@DEFAULT_DATA_PATH@";
66    const char defaultConfigPath[]  = "@DEFAULT_CONFIG_PATH@";
67    const char defaultLogPath[]     = "@DEFAULT_LOG_PATH@";
68
69#ifndef INSTALL_COPYABLE
70    // INSTALLATION PATHS
71    const char dataInstallDirectory[]       = "@DATA_INSTALL_DIRECTORY@";
72    const char moduleInstallDirectory[]     = "@MODULE_INSTALL_DIRECTORY@";
73#endif
74
75    // DEVELOPMENT RUN PATHS
76    const char dataDevDirectory[]           = "@DATA_DIRECTORY@";
77    const char externalDataDevDirectory[]   = "@EXTERNAL_DATA_DIRECTORY@";
78#ifdef CMAKE_CONFIGURATION_TYPES
79    const char moduleDevDirectory[]         = "@CMAKE_MODULE_OUTPUT_DIRECTORY@/" CMAKE_INTDIR;
80    const char configDevDirectory[]         = "@CMAKE_CONFIG_OUTPUT_DIRECTORY@/" CMAKE_INTDIR;
81    const char logDevDirectory[]            = "@CMAKE_LOG_OUTPUT_DIRECTORY@/"    CMAKE_INTDIR;
82#else
83    const char moduleDevDirectory[]         = "@CMAKE_MODULE_OUTPUT_DIRECTORY@";
84    const char configDevDirectory[]         = "@CMAKE_CONFIG_OUTPUT_DIRECTORY@";
85    const char logDevDirectory[]            = "@CMAKE_LOG_OUTPUT_DIRECTORY@";
86#endif
87
88#ifdef DEPENDENCY_PACKAGE_ENABLE
89    const char dependencyLibraryDirectory[] = "@DEP_LIBRARY_DIR@";
90#endif
91
92    // Module extension
93    const char moduleExtension[] = "@ORXONOX_MODULE_EXTENSION@";
94
95    // OGRE PLUGINS
96    // Apple has trouble finding OGRE plugins because of its install-name convention
97    // Adopting the executable_path structure for later use in app bundles
98#ifdef NDEBUG
99    const char ogrePlugins[] = "@OGRE_PLUGINS_RELEASE@";
100#  ifdef DEPENDENCY_PACKAGE_ENABLE
101#    ifdef ORXONOX_PLATFORM_APPLE
102       const char ogrePluginsDirectory[] = "@executable_path/../Plugins";
103#    else
104       const char ogrePluginsDirectory[] = ".";
105#    endif
106#  else
107    const char ogrePluginsDirectory[] = "@OGRE_PLUGINS_FOLDER_RELEASE@";
108#  endif
109#else
110    const char ogrePlugins[] = "@OGRE_PLUGINS_DEBUG@";
111#  ifdef DEPENDENCY_PACKAGE_ENABLE
112#    ifdef ORXONOX_PLATFORM_APPLE
113       const char ogrePluginsDirectory[] = "@OGRE_PLUGINS_FOLDER_DEBUG@";
114#    else
115       const char ogrePluginsDirectory[] = ".";
116#    endif
117#  else
118    const char ogrePluginsDirectory[] = "@OGRE_PLUGINS_FOLDER_DEBUG@";
119#  endif
120#endif
121} }
122
123#endif /* _SpecialConfig_H__ */
Note: See TracBrowser for help on using the repository browser.