Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/buildsystem2/cmake/ConfigMSVC.cmake @ 2606

Last change on this file since 2606 was 2594, checked in by rgrieder, 15 years ago

MinGW is able to find all the necessary libraries. However compiling does not work.

  • Property svn:eol-style set to native
File size: 5.7 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###################### MSVC config ########################
29# Set the library directories and special options when
30# using Visual Studio.
31###########################################################
32
33IF (MSVC)
34  MESSAGE(STATUS "Running on MSVC. Using customized paths and options.")
35
36  ###################### Libraries ########################
37
38  # Determine library directory
39  IF(EXISTS ${CMAKE_SOURCE_DIR}/dependencies/orxonox_vc8)
40    SET(MSVC_LIBRARY_DIR "${CMAKE_SOURCE_DIR}/dependencies/orxonox_vc8")
41  ELSEIF(EXISTS ${CMAKE_SOURCE_DIR}/../lib_dist/vc8/dependencies/orxonox_vc8)
42    SET(MSVC_LIBRARY_DIR "${CMAKE_SOURCE_DIR}/../lib_dist/vc8/dependencies/orxonox_vc8")
43  ELSE(EXISTS ${CMAKE_SOURCE_DIR}/dependencies/orxonox_vc8)
44    MESSAGE(FATAL_ERROR "Could not find dependency directory for the Visual Studio libraries")
45  ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/dependencies/orxonox_vc8)
46  SET(ORXONOX_LIBRARY_BIN_DIR ${MSVC_LIBRARY_DIR}/bin)
47
48  # Set variables for the include directories and the libraries
49  # Note: When setting ENV${} variables, make sure to use quotes when
50  #       having multiple directories.
51  SET(ENV{BOOST_ROOT}        ${MSVC_LIBRARY_DIR}/boost-1.35.0)
52  SET(ENV{CEGUIDIR}          ${MSVC_LIBRARY_DIR}/cegui-0.6.1)
53  SET(ENV{ENETDIR}           ${MSVC_LIBRARY_DIR}/enet-1.2)
54  SET(ENV{ALUTDIR}           ${MSVC_LIBRARY_DIR}/freealut-1.1.0)
55  SET(ENV{OGGDIR}            ${MSVC_LIBRARY_DIR}/libogg-1.1.3)
56  SET(ENV{VORBISDIR}         ${MSVC_LIBRARY_DIR}/libvorbis-1.2.0)
57  SET(ENV{OPENALDIR}         ${MSVC_LIBRARY_DIR}/openal-1.1)
58  SET(ENV{LUA_DIR}           ${MSVC_LIBRARY_DIR}/lua-5.1.3)
59  SET(ENV{OGRE_HOME}        "${MSVC_LIBRARY_DIR}/ogre-1.4.9;${ORXONOX_LIBRARY_BIN_DIR}")
60  SET(TCL_INCLUDE_PATH       ${MSVC_LIBRARY_DIR}/tcl-8.5.2/include)
61  SET(TCL_LIBRARY            ${MSVC_LIBRARY_DIR}/tcl-8.5.2/lib/tcl85t.lib)
62  # Do some hacking to avoid "Tclsh not found" message
63  SET(TCL_TCLSH              ${MSVC_LIBRARY_DIR}/tcl-8.5.2/lib/tcl85t.lib)
64  SET(ZLIB_INCLUDE_DIR       ${MSVC_LIBRARY_DIR}/zlib-1.2.3/include)
65  SET(ZLIB_LIBRARY optimized ${MSVC_LIBRARY_DIR}/zlib-1.2.3/lib/zlib.lib
66                   debug     ${MSVC_LIBRARY_DIR}/zlib-1.2.3/lib/zlib_d.lib)
67  SET(ZLIB_FOUND TRUE)
68
69  #################### Compiler Flags #####################
70
71  # /MD    Minimal Rebuild
72  # /RTC1  Both basic runtime checks
73  # /MD[d] Multithreaded [debug] DLL
74  # /Zi    Program Database
75  # /ZI    Program Database for Edit & Continue
76  # /WX    Warning Level X
77  # /wdX   Disable specific warning X
78  SET(MSVC_CL_FLAGS "
79    /D WIN32 /D __WIN32__ /D _WIN32 /D _WINDOWS
80    /D BOOST_ALL_DYN_LINK
81    /D OIS_DYNAMIC_LIB
82    /D ZLIB_WINAPI
83    /D LUA_BUILD_AS_DLL
84    /D _CRT_SECURE_NO_WARNINGS
85    /W3
86    /EHsc
87    /wd4522
88    /wd4251
89    /wd4800
90  ")
91  SET(CMAKE_C_FLAGS                  "${MSVC_CL_FLAGS}")
92  SET(CMAKE_CXX_FLAGS                "${MSVC_CL_FLAGS}")
93
94  # Note: ${CMAKE_C_FLAGS} get added to the specific ones
95  SET(MSVC_CL_FLAGS_DEBUG            "/MDd /Od  /Zi /Gm /RTC1")
96  SET(MSVC_CL_FLAGS_RELEASE          "/MD  /MP2 /D TOLUA_RELEASE")
97  SET(CMAKE_C_FLAGS_DEBUG            "${MSVC_CL_FLAGS_DEBUG}")
98  SET(CMAKE_CXX_FLAGS_DEBUG          "${MSVC_CL_FLAGS_DEBUG}")
99  SET(CMAKE_C_FLAGS_RELEASE          "${MSVC_CL_FLAGS_RELEASE} /O2")
100  SET(CMAKE_CXX_FLAGS_RELEASE        "${MSVC_CL_FLAGS_RELEASE} /O2")
101  SET(CMAKE_C_FLAGS_RELWITHDEBINFO   "${MSVC_CL_FLAGS_RELEASE} /O2 /Zi")
102  SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${MSVC_CL_FLAGS_RELEASE} /O2 /Zi")
103  SET(CMAKE_C_FLAGS_MINSIZEREL       "${MSVC_CL_FLAGS_RELEASE} /O1")
104  SET(CMAKE_CXX_FLAGS_MINSIZEREL     "${MSVC_CL_FLAGS_RELEASE} /O1")
105
106  ##################### Linker Flags ######################
107
108  SET(MSVC_LINKER_FLAGS                        "")
109  SET(CMAKE_EXE_LINKER_FLAGS                   "${MSVC_LINKER_FLAGS}")
110  SET(CMAKE_SHARED_LINKER_FLAGS                "${MSVC_LINKER_FLAGS}")
111
112  # Note: ${CMAKE_EXE_LINKER_FLAGS} get added to the specific ones
113  SET(MSVC_LINKER_FLAGS_DEBUG                  "/INCREMENTAL:YES")
114  SET(MSVC_LINKER_FLAGS_RELEASE                "/INCREMENTAL:NO /OPT:REF /OPT:ICF")
115  SET(CMAKE_EXE_LINKER_FLAGS_DEBUG             "${MSVC_LINKER_FLAGS_DEBUG}")
116  SET(CMAKE_SHARED_LINKER_FLAGS_DEBUG          "${MSVC_LINKER_FLAGS_DEBUG}")
117  SET(CMAKE_EXE_LINKER_FLAGS_RELEASE           "${MSVC_LINKER_FLAGS_RELEASE}")
118  SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE        "${MSVC_LINKER_FLAGS_RELEASE}")
119  SET(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO    "${MSVC_LINKER_FLAGS_RELEASE}")
120  SET(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${MSVC_LINKER_FLAGS_RELEASE}")
121  SET(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL        "${MSVC_LINKER_FLAGS_RELEASE}")
122  SET(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL     "${MSVC_LINKER_FLAGS_RELEASE}")
123
124  ######################### Misc ##########################
125
126  # Set tolua working directory because lua.dll is not where tolua is
127  SET(TOLUA_PARSER_WORKING_DIRECTORY ${ORXONOX_LIBRARY_BIN_DIR})
128ENDIF (MSVC)
Note: See TracBrowser for help on using the repository browser.