Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/buildsystem3/src/util/CMakeLists.txt @ 2726

Last change on this file since 2726 was 2702, checked in by rgrieder, 16 years ago

Completed work on installation:

  • The CMake switch INSTALL_COPYABLE tells whether you will be able to move the installed directory or not. If TRUE then all folders, including log and config directory, will be put into the CMAKE_INSTALL_PREFIX. Furthermore, relative paths are used, which get resolved at run time.
  • If INSTALL_COPYABLE is set to FALSE, the standard operating system directories will be used. That also means on Windows files get written to the Application Data/.orxonox folder instead of Program Files/Orxonox
  • Default configuration is INSTALL_COPYABLE=TRUE for Windows and FALSE for Unix
  • Split OrxonoxConfig.h.in in two to avoid complete recompiles when changing only a path or INSTALL_COPYABLE
  • Added a global constant character: CP_SLASH which stands for cross platform slash, meaning '/' on Unix and '
    ' on Windows
  • Core class now has methods getFooPath(), getFooPathString() and getFooPathPOSIXString() where Foo can be Media, Log or Config
  • getFooPathPOSIXString() will always return a directory formatted with slashes, even on Windows
  • getFooPath() returns a reference to the boost::filesystem::path
  • boost/filesystem.hpp does not get included to Core.h because it has a very large rat tail
  • The platform specific directory stuff gets done in Core::postMainInitialisation()
  • Adjusted all classes using the media path
  • Property svn:eol-style set to native
File size: 2.3 KB
RevLine 
[2664]1 #
2 #             ORXONOX - the hottest 3D action shooter ever to exist
3 #                             > www.orxonox.net <
4 #
5 #        This program is free software; you can redistribute it and/or
6 #         modify it under the terms of the GNU General Public License
7 #        as published by the Free Software Foundation; either version 2
8 #            of the License, or (at your option) any later version.
9 #
10 #       This program is distributed in the hope that it will be useful,
11 #        but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 #                 GNU General Public License for more details.
14 #
15 #   You should have received a copy of the GNU General Public License along
16 #      with this program; if not, write to the Free Software Foundation,
17 #     Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18 #
19
20SET_SOURCE_FILES(UTIL_FILES
21  CRC32.h
22  Clipboard.h
23  Convert.h
24  Debug.h
25  Exception.h
26  ExprParser.h
27  Math.h
28  MathConvert.h
29  MultiType.h
30  MultiTypeValue.h
31  OutputBuffer.h
32  OutputHandler.h
33  SignalHandler.h
34  Sleep.h
35  String.h
36  SubString.h
37  UtilPrereqs.h
38  mbool.h
39
[1505]40  Clipboard.cc
[1751]41  CRC32.cc
[1764]42  Exception.cc
[1505]43  ExprParser.cc
44  Math.cc
[1747]45  MultiType.cc
46  OutputBuffer.cc
47  OutputHandler.cc
[2087]48  SignalHandler.cc
[1505]49  String.cc
50  SubString.cc
51)
[2664]52#GET_ALL_HEADER_FILES(UTIL_HDR_FILES)
53#SET(UTIL_FILES ${UTIL_SRC_FILES} ${UTIL_HDR_FILES})
54GENERATE_SOURCE_GROUPS(${UTIL_FILES})
55# Also add OrxonoxConfig to have it least somewhere in the IDE
56LIST(APPEND UTIL_FILES
57  ${CMAKE_BINARY_DIR}/src/OrxonoxConfig.h
58  ${CMAKE_SOURCE_DIR}/src/OrxonoxConfig.h.in
[2702]59  ${CMAKE_BINARY_DIR}/src/SpecialConfig.h
60  ${CMAKE_SOURCE_DIR}/src/SpecialConfig.h.in
[2664]61)
62SOURCE_GROUP("" FILES
63  ${CMAKE_BINARY_DIR}/src/OrxonoxConfig.h
64  ${CMAKE_SOURCE_DIR}/src/OrxonoxConfig.h.in
[2702]65  ${CMAKE_BINARY_DIR}/src/SpecialConfig.h
66  ${CMAKE_SOURCE_DIR}/src/SpecialConfig.h.in
[2664]67)
[1505]68
[2664]69IF(GCC_NO_SYSTEM_HEADER_SUPPORT)
70  # Get around displaying a few hundred lines of warning code
71  SET_SOURCE_FILES_PROPERTIES(MultiType.cc PROPERTIES COMPILE_FLAGS "-w")
72ENDIF()
[1505]73
[2664]74ADD_LIBRARY(util SHARED ${UTIL_FILES})
75SET_TARGET_PROPERTIES(util PROPERTIES DEFINE_SYMBOL "UTIL_SHARED_BUILD")
76TARGET_LINK_LIBRARIES(util ${OGRE_LIBRARY})
77
78ORXONOX_INSTALL(util)
Note: See TracBrowser for help on using the repository browser.