Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/src/SpecialConfig.h.in @ 11016

Last change on this file since 11016 was 11016, checked in by landauf, 8 years ago

Added config value to PluginManager to define whether a dereferenced plugin should be completely unloaded (i.e. the shared library is closed) or merely deactivated (i.e. the library remains in the process, but Identifiers and other framework components are removed).
This option is true by default on tardis machines because there it seems impossible to completely unload a shared library due to the use of STB_GNU_UNIQUE which prevents that dlclose() unloads the library. This caused errors when a plugin should have been reloaded, e.g. when the pong level was restarted.

  • Property svn:eol-style set to native
File size: 4.4 KB
RevLine 
[682]1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
[1505]3 *                    > www.orxonox.net <
[682]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:
[2639]23 *      Reto Grieder
24 *   Co-authors:
[1293]25 *      ...
[682]26 *
27 */
[1505]28
[682]29/**
[3196]30@file
31@brief
[2702]32    Various constants and options that only affect very little code.
[3196]33@note
[2702]34    This is merely to avoid recompiling everything when only a path changes.
[3196]35@remarks
[2639]36    @GENERATED_FILE_COMMENT@
[3196]37*/
[1505]38
[2702]39#ifndef _SpecialConfig_H__
40#define _SpecialConfig_H__
[1505]41
[2946]42#include "OrxonoxConfig.h"
43
[7401]44#cmakedefine DEPENDENCY_PACKAGE_ENABLE      ///< Defined if a precompiled depdency package was used. We then copy all libraries too when installing.
[2643]45
[7401]46#cmakedefine INSTALL_COPYABLE               ///< Orxonox either gets installed to the system or just into a folder. The latter uses relative paths.
[2702]47
[7401]48#cmakedefine CMAKE_CONFIGURATION_TYPES      ///< Using MSVC or XCode IDE
[2685]49
[7449]50#cmakedefine DBGHELP_FOUND                  ///< If DbgHelp was found on windows
51
[7818]52#cmakedefine ORXONOX_USE_WINMAIN            ///< Whether or not the console window is started as well
[7450]53
[11016]54#cmakedefine DO_NOT_UNLOAD_PLUGINS          ///< If defined then plugins are not unloaded (but merely deactivated) when the reference count drops to zero.
55
[3196]56// Handle default ConfigValues
[5695]57namespace orxonox { namespace specialConfig
[2643]58{
[5695]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@";
[10624]64    const char defaultPluginPath[]  = "@DEFAULT_PLUGIN_PATH@";
[5695]65    const char defaultDocPath[]     = "@DEFAULT_DOC_PATH@";
66    const char defaultDataPath[]    = "@DEFAULT_DATA_PATH@";
67    const char defaultConfigPath[]  = "@DEFAULT_CONFIG_PATH@";
68    const char defaultLogPath[]     = "@DEFAULT_LOG_PATH@";
69
70#ifndef INSTALL_COPYABLE
[3196]71    // INSTALLATION PATHS
[8351]72    const char dataInstallDirectory[]       = "@CMAKE_INSTALL_PREFIX@/@DATA_INSTALL_DIRECTORY@";
73    const char moduleInstallDirectory[]     = "@CMAKE_INSTALL_PREFIX@/@MODULE_INSTALL_DIRECTORY@";
[10624]74    const char pluginInstallDirectory[]     = "@CMAKE_INSTALL_PREFIX@/@PLUGIN_INSTALL_DIRECTORY@";
[5695]75#endif
[2685]76
[3196]77    // DEVELOPMENT RUN PATHS
[5695]78    const char dataDevDirectory[]           = "@DATA_DIRECTORY@";
[5781]79    const char externalDataDevDirectory[]   = "@EXTERNAL_DATA_DIRECTORY@";
[2685]80#ifdef CMAKE_CONFIGURATION_TYPES
[7380]81    const char moduleDevDirectory[]         = "@CMAKE_MODULE_OUTPUT_DIRECTORY@/" CMAKE_INTDIR;
[10624]82    const char pluginDevDirectory[]         = "@CMAKE_PLUGIN_OUTPUT_DIRECTORY@/" CMAKE_INTDIR;
[7380]83    const char configDevDirectory[]         = "@CMAKE_CONFIG_OUTPUT_DIRECTORY@/" CMAKE_INTDIR;
84    const char logDevDirectory[]            = "@CMAKE_LOG_OUTPUT_DIRECTORY@/"    CMAKE_INTDIR;
[2645]85#else
[5695]86    const char moduleDevDirectory[]         = "@CMAKE_MODULE_OUTPUT_DIRECTORY@";
[10624]87    const char pluginDevDirectory[]         = "@CMAKE_PLUGIN_OUTPUT_DIRECTORY@";
[5695]88    const char configDevDirectory[]         = "@CMAKE_CONFIG_OUTPUT_DIRECTORY@";
89    const char logDevDirectory[]            = "@CMAKE_LOG_OUTPUT_DIRECTORY@";
[2645]90#endif
[5695]91
[3370]92#ifdef DEPENDENCY_PACKAGE_ENABLE
[5695]93    const char dependencyLibraryDirectory[] = "@DEP_LIBRARY_DIR@";
[3370]94#endif
95
[10624]96    // Module and plugin extension
[5695]97    const char moduleExtension[] = "@ORXONOX_MODULE_EXTENSION@";
[10624]98    const char pluginExtension[] = "@ORXONOX_PLUGIN_EXTENSION@";
[5781]99
100    // OGRE PLUGINS
101#ifdef NDEBUG
102    const char ogrePlugins[] = "@OGRE_PLUGINS_RELEASE@";
103    const char ogrePluginsDirectory[] = "@OGRE_PLUGINS_FOLDER_RELEASE@";
104#else
105    const char ogrePlugins[] = "@OGRE_PLUGINS_DEBUG@";
106    const char ogrePluginsDirectory[] = "@OGRE_PLUGINS_FOLDER_DEBUG@";
107#endif
[5695]108} }
[2643]109
[2702]110#endif /* _SpecialConfig_H__ */
Note: See TracBrowser for help on using the repository browser.