]> git.jsancho.org Git - lugaru.git/blobdiff - CMakeLists.txt
Generate debugging symbols with Debug configuration
[lugaru.git] / CMakeLists.txt
index d86c839cc3066e8317dba38886c40fe9d28f46fe..e54642168ae520b8b5afbd3583fb50349aaf958e 100644 (file)
@@ -1,15 +1,13 @@
 project(lugaru)
 
 project(lugaru)
 
-cmake_minimum_required(VERSION 2.6)
+cmake_minimum_required(VERSION 3.5)
 
 set(SRCDIR "${CMAKE_CURRENT_SOURCE_DIR}/Source")
 set(DEPDIR "${CMAKE_CURRENT_SOURCE_DIR}/Dependencies")
 
 
 set(SRCDIR "${CMAKE_CURRENT_SOURCE_DIR}/Source")
 set(DEPDIR "${CMAKE_CURRENT_SOURCE_DIR}/Dependencies")
 
-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)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 --std=c++11")
+set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -g -pg --std=c++11")
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall -O2 -std=c++11")
 
 if(NOT LUGARU_INSTALL_PREFIX)
   if(WIN32)
 
 if(NOT LUGARU_INSTALL_PREFIX)
   if(WIN32)
@@ -32,9 +30,9 @@ endif(MINGW)
 
 if(APPLE)
        set(CMAKE_OSX_ARCHITECTURES "i386;x86_64;ppc" CACHE STRING "Build architectures for OSX")
 
 if(APPLE)
        set(CMAKE_OSX_ARCHITECTURES "i386;x86_64;ppc" CACHE STRING "Build architectures for OSX")
-       set(CMAKE_OSX_DEPLOYMENT_TARGET "10.5" CACHE STRING 
+       set(CMAKE_OSX_DEPLOYMENT_TARGET "10.5" CACHE STRING
                "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value")
                "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value")
-       set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.5.sdk" CACHE PATH 
+       set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.5.sdk" CACHE PATH
                "The product will be built against the headers and libraries located inside the indicated SDK.")
 endif(APPLE)
 
                "The product will be built against the headers and libraries located inside the indicated SDK.")
 endif(APPLE)
 
@@ -46,6 +44,7 @@ if(APPLE)
        set(LUGARU_FORCE_INTERNAL_PNG True)
        set(LUGARU_FORCE_INTERNAL_VORBIS True)
        set(LUGARU_FORCE_INTERNAL_ZLIB True)
        set(LUGARU_FORCE_INTERNAL_PNG True)
        set(LUGARU_FORCE_INTERNAL_VORBIS True)
        set(LUGARU_FORCE_INTERNAL_ZLIB True)
+       set(LUGARU_FORCE_INTERNAL_OPENAL True)
 endif(APPLE)
 
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
 endif(APPLE)
 
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
@@ -59,36 +58,38 @@ set(LUGARU_SRCS
        ${SRCDIR}/GameTick.cpp
        ${SRCDIR}/Globals.cpp
        ${SRCDIR}/Lights.cpp
        ${SRCDIR}/GameTick.cpp
        ${SRCDIR}/Globals.cpp
        ${SRCDIR}/Lights.cpp
+       ${SRCDIR}/Menu.cpp
        ${SRCDIR}/Models.cpp
        ${SRCDIR}/Objects.cpp
        ${SRCDIR}/pack.c
        ${SRCDIR}/Models.cpp
        ${SRCDIR}/Objects.cpp
        ${SRCDIR}/pack.c
-       ${SRCDIR}/pack_private.c
        ${SRCDIR}/Person.cpp
        ${SRCDIR}/private.c
        ${SRCDIR}/Quaternions.cpp
        ${SRCDIR}/Person.cpp
        ${SRCDIR}/private.c
        ${SRCDIR}/Quaternions.cpp
-       ${SRCDIR}/Random.c
        ${SRCDIR}/Skeleton.cpp
        ${SRCDIR}/Skybox.cpp
        ${SRCDIR}/Sprite.cpp
        ${SRCDIR}/Terrain.cpp
        ${SRCDIR}/Skeleton.cpp
        ${SRCDIR}/Skybox.cpp
        ${SRCDIR}/Sprite.cpp
        ${SRCDIR}/Terrain.cpp
+       ${SRCDIR}/Texture.cpp
        ${SRCDIR}/Text.cpp
        ${SRCDIR}/TGALoader.cpp
        ${SRCDIR}/unpack.c
        ${SRCDIR}/Text.cpp
        ${SRCDIR}/TGALoader.cpp
        ${SRCDIR}/unpack.c
-       ${SRCDIR}/unpack_private.c
        ${SRCDIR}/Weapons.cpp
        ${SRCDIR}/OpenGL_Windows.cpp
        ${SRCDIR}/openal_wrapper.cpp
        ${SRCDIR}/Input.cpp
        ${SRCDIR}/Settings.cpp
        ${SRCDIR}/Stereo.cpp
        ${SRCDIR}/Weapons.cpp
        ${SRCDIR}/OpenGL_Windows.cpp
        ${SRCDIR}/openal_wrapper.cpp
        ${SRCDIR}/Input.cpp
        ${SRCDIR}/Settings.cpp
        ${SRCDIR}/Stereo.cpp
+       ${SRCDIR}/Animation.cpp
+       ${SRCDIR}/Sounds.cpp
+       ${SRCDIR}/Awards.cpp
 )
 
 set(LUGARU_H
 )
 
 set(LUGARU_H
-       ${SRCDIR}/Constants.h
        ${SRCDIR}/Frustum.h
        ${SRCDIR}/Account.h
        ${SRCDIR}/Game.h
        ${SRCDIR}/Lights.h
        ${SRCDIR}/Frustum.h
        ${SRCDIR}/Account.h
        ${SRCDIR}/Game.h
        ${SRCDIR}/Lights.h
+       ${SRCDIR}/Menu.h
        ${SRCDIR}/Models.h
        ${SRCDIR}/Objects.h
        ${SRCDIR}/Person.h
        ${SRCDIR}/Models.h
        ${SRCDIR}/Objects.h
        ${SRCDIR}/Person.h
@@ -100,6 +101,7 @@ set(LUGARU_H
        ${SRCDIR}/Sprite.h
        ${SRCDIR}/TGALoader.h
        ${SRCDIR}/Terrain.h
        ${SRCDIR}/Sprite.h
        ${SRCDIR}/TGALoader.h
        ${SRCDIR}/Terrain.h
+       ${SRCDIR}/Texture.h
        ${SRCDIR}/Text.h
        ${SRCDIR}/Weapons.h
        ${SRCDIR}/Input.h
        ${SRCDIR}/Text.h
        ${SRCDIR}/Weapons.h
        ${SRCDIR}/Input.h
@@ -108,13 +110,11 @@ set(LUGARU_H
        ${SRCDIR}/openal_wrapper.h
        ${SRCDIR}/gamegl.h
        ${SRCDIR}/glstubs.h
        ${SRCDIR}/openal_wrapper.h
        ${SRCDIR}/gamegl.h
        ${SRCDIR}/glstubs.h
-       ${SRCDIR}/mmgr.h
-       ${SRCDIR}/nommgr.h
-       ${SRCDIR}/pack_private.h
        ${SRCDIR}/private.h
        ${SRCDIR}/private.h
-       ${SRCDIR}/unpack_private.h
        ${SRCDIR}/Settings.h
        ${SRCDIR}/Stereo.h
        ${SRCDIR}/Settings.h
        ${SRCDIR}/Stereo.h
+       ${SRCDIR}/Animation.h
+       ${SRCDIR}/Sounds.h
 )
 
 if(UNIX)
 )
 
 if(UNIX)
@@ -137,40 +137,13 @@ if(MSVC) # MSVC non-C99 support biting us hard
 endif(MSVC)
 
 if(WIN32)
 endif(MSVC)
 
 if(WIN32)
-  if(CMAKE_CROSSCOMPILING)
-    ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
-                                                 COMMAND i686-pc-mingw32-windres
-                                                         -I${SRCDIR}/win-res
-                                                         -o ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
-                                                         -i${SRCDIR}/win-res/Lugaru.rc
-                                             DEPENDS ${SRCDIR}/win-res/Lugaru.rc
-                                                 )
-  endif(CMAKE_CROSSCOMPILING)
-  if(NOT CMAKE_CROSSCOMPILING)
-   if(MSVC)
-    ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
-                                                 COMMAND rc
-                                                         -I${SRCDIR}/win-res
-                                                         -fo${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
-                                                         ${SRCDIR}/win-res/Lugaru.rc
-                                             DEPENDS ${SRCDIR}/win-res/Lugaru.rc
-                                                 )
-   endif(MSVC)
-   if(MINGW)
-    ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
-                                                 COMMAND windres
-                                                         -I${SRCDIR}/win-res
-                                                         -o ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
-                                                         -i${SRCDIR}/win-res/Lugaru.rc
-                                             DEPENDS ${SRCDIR}/win-res/Lugaru.rc
-                                                 )
-   endif(MINGW)
-  endif(NOT CMAKE_CROSSCOMPILING)
-
-  # !!! FIXME: get rid of this.
+  ENABLE_LANGUAGE(RC)
+
+  # !!! FIXME: get rid of WinDefs.{cpp,h}
   set(LUGARU_SRCS
        ${LUGARU_SRCS}
   set(LUGARU_SRCS
        ${LUGARU_SRCS}
-       ${SRCDIR}/WinDefs.cpp)
+       ${SRCDIR}/WinDefs.cpp
+       ${SRCDIR}/win-res/Lugaru.rc)
 
   set(LUGARU_H
        ${LUGARU_H}
 
   set(LUGARU_H
        ${LUGARU_H}
@@ -216,16 +189,11 @@ if (NOT OPENAL_FOUND OR LUGARU_FORCE_INTERNAL_OPENAL)
 
     if (WIN32)
         set(LUGARU_HAS_INTERNAL_OPENAL True)
 
     if (WIN32)
         set(LUGARU_HAS_INTERNAL_OPENAL True)
-        if (MSVC80)
-            set(OPENAL_LIBRARY
-                ${OPENALDIR}/lib/win32/msvc2005/OpenAL32.lib
-            )
-        endif (MSVC80)
-        if (MSVC90)
+        if (MSVC)
             set(OPENAL_LIBRARY
                 ${OPENALDIR}/lib/win32/msvc2008/OpenAL32.lib
             )
             set(OPENAL_LIBRARY
                 ${OPENALDIR}/lib/win32/msvc2008/OpenAL32.lib
             )
-        endif (MSVC90)
+        endif (MSVC)
         if (MINGW)
             set(OPENAL_LIBRARY
                 ${OPENALDIR}/lib/win32/mingw/libOpenAL32.dll.a
         if (MINGW)
             set(OPENAL_LIBRARY
                 ${OPENALDIR}/lib/win32/mingw/libOpenAL32.dll.a
@@ -261,18 +229,12 @@ if (NOT SDL_FOUND)
 
     if (WIN32)
         set(LUGARU_HAS_INTERNAL_SDL True)
 
     if (WIN32)
         set(LUGARU_HAS_INTERNAL_SDL True)
-        if (MSVC80)
-          set(SDL_LIBRARY
-              ${SDLDIR}/lib/win32/msvc2005/SDLmain.lib
-              ${SDLDIR}/lib/win32/msvc2005/SDL.lib
-          )
-        endif (MSVC80)
-        if (MSVC90)
+        if (MSVC)
           set(SDL_LIBRARY
               ${SDLDIR}/lib/win32/msvc2008/SDLmain.lib
               ${SDLDIR}/lib/win32/msvc2008/SDL.lib
           )
           set(SDL_LIBRARY
               ${SDLDIR}/lib/win32/msvc2008/SDLmain.lib
               ${SDLDIR}/lib/win32/msvc2008/SDL.lib
           )
-        endif (MSVC90)
+        endif (MSVC)
         if (MINGW)
           set(SDL_LIBRARY
               "mingw32"
         if (MINGW)
           set(SDL_LIBRARY
               "mingw32"
@@ -497,19 +459,18 @@ include_directories(
     ${CMAKE_SOURCE_DIR}/Source
 )
 
     ${CMAKE_SOURCE_DIR}/Source
 )
 
-set(LUGARU_LIBS ${OPENAL_LIBRARY} ${PNG_LIBRARY} ${JPEG_LIBRARY} ${ZLIB_LIBRARIES} ${SDL_LIBRARY} ${GLU_LIBRARY} ${OPENGL_LIBRARY} ${VORBISFILE_LIBRARY} ${OGG_LIBRARY} ${PLATFORM_LIBS})
+set(LUGARU_LIBS ${OPENAL_LIBRARY} ${PNG_LIBRARY} ${JPEG_LIBRARY} ${ZLIB_LIBRARIES} ${SDL_LIBRARY} ${OPENGL_glu_LIBRARY} ${VORBISFILE_LIBRARY} ${OGG_LIBRARY} ${PLATFORM_LIBS})
 
 
 
 
-if(WIN32)
-    add_executable(lugaru ${LUGARU_SRCS} ${LUGARU_H} lugaru_resource.obj)
-else(WIN32)
-    add_executable(lugaru ${LUGARU_SRCS} ${LUGARU_H})
-endif(WIN32)
+add_executable(lugaru ${LUGARU_SRCS} ${LUGARU_H})
 
 target_link_libraries(lugaru ${LUGARU_LIBS})
 
 if(WIN32)
        add_definitions(-DUSE_OPENAL=1 -DUSE_SDL=1 -DBinIO_STDINT_HEADER=<stdint.h>)
 
 target_link_libraries(lugaru ${LUGARU_LIBS})
 
 if(WIN32)
        add_definitions(-DUSE_OPENAL=1 -DUSE_SDL=1 -DBinIO_STDINT_HEADER=<stdint.h>)
+       if(MINGW)
+               add_definitions(-DWIN32)
+       endif(MINGW)
 else(WIN32)
        add_definitions(-DPLATFORM_LINUX=1 -DPLATFORM_UNIX=1 -DUSE_OPENAL=1 -DUSE_SDL=1 -DBinIO_STDINT_HEADER=<stdint.h>)
 endif(WIN32)
 else(WIN32)
        add_definitions(-DPLATFORM_LINUX=1 -DPLATFORM_UNIX=1 -DUSE_OPENAL=1 -DUSE_SDL=1 -DBinIO_STDINT_HEADER=<stdint.h>)
 endif(WIN32)
@@ -523,14 +484,10 @@ endif(APPLE)
 
 if(WIN32)
        install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/lugaru.exe DESTINATION ${CMAKE_INSTALL_PREFIX})
 
 if(WIN32)
        install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/lugaru.exe DESTINATION ${CMAKE_INSTALL_PREFIX})
-       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)
+       if(MSVC)
                install(FILES ${SDLDIR}/lib/win32/msvc2008/SDL.dll DESTINATION ${CMAKE_INSTALL_PREFIX})
                install(FILES ${OPENALDIR}/lib/win32/msvc2008/OpenAL32.dll DESTINATION ${CMAKE_INSTALL_PREFIX})
                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)
+       endif(MSVC)
        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})
        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})