]> git.jsancho.org Git - lugaru.git/blobdiff - CMakeLists.txt
Added in 'stdint.h' and 'inttypes.h' files, since MSVC isn't C99 compliant
[lugaru.git] / CMakeLists.txt
index ad651c903a8734b27486d50860738642c9677558..d524e8ccb4c191df4ec38b6eea6e0fdb411baa02 100644 (file)
@@ -5,10 +5,10 @@ cmake_minimum_required(VERSION 2.6)
 set(SRCDIR "${CMAKE_CURRENT_SOURCE_DIR}/Source")
 set(DEPDIR "${CMAKE_CURRENT_SOURCE_DIR}/Dependencies")
 
-if(NOT CMAKE_BUILD_TYPE)\r
-  set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING\r
-      "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel"\r
-      FORCE)\r
+if(NOT CMAKE_BUILD_TYPE)
+  set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
+      "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel"
+      FORCE)
 endif(NOT CMAKE_BUILD_TYPE)
 
 if(NOT LUGARU_INSTALL_PREFIX)
@@ -70,6 +70,14 @@ if(UNIX)
        )
 endif(UNIX)
 
+if(MSVC) # MSVC non-C99 support biting us hard
+       set(LUGARU_H
+               ${LUGARU_H}
+               ${DEPDIR}/msinttypes/stdint.h
+               ${DEPDIR}/msinttypes/inttypes.h
+       )
+endif(MSVC)
+
 set(LUGARU_H
        ${SRCDIR}/Constants.h
        ${SRCDIR}/Frustum.h
@@ -97,7 +105,6 @@ set(LUGARU_H
        ${SRCDIR}/openal_wrapper.h
        ${SRCDIR}/gamegl.h
        ${SRCDIR}/glstubs.h
-       ${SRCDIR}/md5.h
        ${SRCDIR}/mmgr.h
        ${SRCDIR}/nommgr.h
        ${SRCDIR}/pack_private.h
@@ -116,6 +123,16 @@ if(WIN32)
                                                  )
   endif(CMAKE_CROSSCOMPILING)
   if(NOT CMAKE_CROSSCOMPILING)
+   if(MSVC)
+    ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
+                                                 COMMAND rc
+                                                         -I${SRCDIR}/res
+                                                         -fo${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
+                                                         ${SRCDIR}/res/Lugaru.rc
+                                             DEPENDS ${SRCDIR}/res/Lugaru.rc
+                                                 )
+   endif(MSVC)
+   if(MINGW)
     ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
                                                  COMMAND windres
                                                          -I${SRCDIR}/res
@@ -123,6 +140,7 @@ if(WIN32)
                                                          -i${SRCDIR}/res/Lugaru.rc
                                              DEPENDS ${SRCDIR}/res/Lugaru.rc
                                                  )
+   endif(MINGW)
   endif(NOT CMAKE_CROSSCOMPILING)
 
   # !!! FIXME: get rid of this.
@@ -162,19 +180,24 @@ if (NOT OPENAL_FOUND)
     set(OPENAL_INCLUDE_DIR "${OPENALDIR}/include/AL")
     set(OPENAL_LIBRARY "")
 
-    if (WINDOWS)
+    if (WIN32)
         set(LUGARU_HAS_INTERNAL_OPENAL True)
-#        if (MSVC)                     # !!! FIXME: package MSVC .dll and .lib for Windows?
-#            set(OPENAL_LIBRARY
-#                ${OPENALDIR}/lib/win32/msvc/OpenAL32.lib
-#            )
-#        endif (MSVC)
+        if (MSVC80)                     
+            set(OPENAL_LIBRARY
+                ${OPENALDIR}/lib/win32/msvc2005/OpenAL32.lib
+            )
+        endif (MSVC80)
+        if (MSVC90)                     
+            set(OPENAL_LIBRARY
+                ${OPENALDIR}/lib/win32/msvc2008/OpenAL32.lib
+            )
+        endif (MSVC90)
         if (MINGW)
             set(OPENAL_LIBRARY
                 ${OPENALDIR}/lib/win32/mingw/libOpenAL32.dll.a
             )
         endif (MINGW)
-     endif(WINDOWS)
+     endif(WIN32)
 
     if (NOT LUGARU_HAS_INTERNAL_OPENAL)
         message(ERROR "We don't have a prebuilt OpenAL for this platform.")
@@ -202,21 +225,29 @@ if (NOT SDL_FOUND)
         )
     endif (APPLE)
 
-    if (WINDOWS)
+    if (WIN32)
         set(LUGARU_HAS_INTERNAL_SDL True)
-        if (MSVC)
+        if (MSVC80)
           set(SDL_LIBRARY
-              ${SDLDIR}/lib/win32/msvc/SDL.lib
-              ${SDLDIR}/lib/win32/msvc/SDLmain.lib
+              ${SDLDIR}/lib/win32/msvc2005/SDLmain.lib
+              ${SDLDIR}/lib/win32/msvc2005/SDL.lib
           )
-        endif (MSVC)
+        endif (MSVC80)
+        if (MSVC90)
+          set(SDL_LIBRARY
+              ${SDLDIR}/lib/win32/msvc2008/SDLmain.lib
+              ${SDLDIR}/lib/win32/msvc2008/SDL.lib
+          )
+        endif (MSVC90)
         if (MINGW)
           set(SDL_LIBRARY
-              ${SDLDIR}/lib/win32/mingw/libSDL.dll.a
+              "mingw32"
               ${SDLDIR}/lib/win32/mingw/libSDLmain.a
+              ${SDLDIR}/lib/win32/mingw/libSDL.dll.a
+              "-mwindows"
           )
         endif (MINGW)
-    endif (WINDOWS)
+    endif (WIN32)
 
     if (NOT LUGARU_HAS_INTERNAL_SDL)
         message(ERROR "We don't have a prebuilt SDL for this platform.")
@@ -452,10 +483,14 @@ endif(WIN32)
 # Install target
 if(WIN32)
        install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/lugaru.exe DESTINATION ${CMAKE_INSTALL_PREFIX})
-       if(MSVC)
-               install(FILES ${SDLDIR}/lib/win32/msvc/SDL.dll DESTINATION ${CMAKE_INSTALL_PREFIX})
-               #install(FILES ${OPENALDIR}/lib/win32/msvc/OpenAL32.dll DESTINATION ${CMAKE_INSTALL_PREFIX}) # FIXME: Add MSVC OpenAL library!
-       endif(MSVC)
+       if(MSVC80)
+               install(FILES ${SDLDIR}/lib/win32/msvc2005/SDL.dll DESTINATION ${CMAKE_INSTALL_PREFIX})
+               install(FILES ${OPENALDIR}/lib/win32/msvc2005/OpenAL32.dll DESTINATION ${CMAKE_INSTALL_PREFIX})
+       endif(MSVC80)
+       if(MSVC90)
+               install(FILES ${SDLDIR}/lib/win32/msvc2008/SDL.dll DESTINATION ${CMAKE_INSTALL_PREFIX})
+               install(FILES ${OPENALDIR}/lib/win32/msvc2008/OpenAL32.dll DESTINATION ${CMAKE_INSTALL_PREFIX})
+       endif(MSVC90)
        if(MINGW)
                install(FILES ${SDLDIR}/lib/win32/mingw/SDL.dll DESTINATION ${CMAKE_INSTALL_PREFIX})
                install(FILES ${OPENALDIR}/lib/win32/mingw/OpenAL32.dll DESTINATION ${CMAKE_INSTALL_PREFIX})