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")
-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(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")
- 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)
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/")
set(LUGARU_SRCS
${SRCDIR}/Frustum.cpp
+ ${SRCDIR}/Account.cpp
+ ${SRCDIR}/Game.cpp
${SRCDIR}/GameDraw.cpp
${SRCDIR}/GameInitDispose.cpp
${SRCDIR}/GameTick.cpp
${SRCDIR}/Globals.cpp
${SRCDIR}/Lights.cpp
+ ${SRCDIR}/Menu.cpp
${SRCDIR}/Models.cpp
${SRCDIR}/Objects.cpp
${SRCDIR}/pack.c
- ${SRCDIR}/pack_private.c
${SRCDIR}/Person.cpp
${SRCDIR}/private.c
${SRCDIR}/Quaternions.cpp
- ${SRCDIR}/Random.c
${SRCDIR}/Skeleton.cpp
${SRCDIR}/Skybox.cpp
- ${SRCDIR}/Sprites.cpp
+ ${SRCDIR}/Sprite.cpp
${SRCDIR}/Terrain.cpp
+ ${SRCDIR}/Texture.cpp
${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}/WinInput.cpp
+ ${SRCDIR}/Input.cpp
${SRCDIR}/Settings.cpp
${SRCDIR}/Stereo.cpp
+ ${SRCDIR}/Animation.cpp
+ ${SRCDIR}/Sounds.cpp
+ ${SRCDIR}/Awards.cpp
)
set(LUGARU_H
- ${SRCDIR}/Constants.h
${SRCDIR}/Frustum.h
+ ${SRCDIR}/Account.h
${SRCDIR}/Game.h
${SRCDIR}/Lights.h
- ${SRCDIR}/LinkedList.h
+ ${SRCDIR}/Menu.h
${SRCDIR}/Models.h
${SRCDIR}/Objects.h
${SRCDIR}/Person.h
${SRCDIR}/PhysicsMath.h
- ${SRCDIR}/Pointer.h
${SRCDIR}/Quaternions.h
${SRCDIR}/Random.h
${SRCDIR}/Skeleton.h
${SRCDIR}/Skybox.h
- ${SRCDIR}/Sprites.h
+ ${SRCDIR}/Sprite.h
${SRCDIR}/TGALoader.h
${SRCDIR}/Terrain.h
+ ${SRCDIR}/Texture.h
${SRCDIR}/Text.h
${SRCDIR}/Weapons.h
- ${SRCDIR}/WinInput.h
+ ${SRCDIR}/Input.h
${SRCDIR}/alstubs.h
${SRCDIR}/binio.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}/unpack_private.h
${SRCDIR}/Settings.h
${SRCDIR}/Stereo.h
+ ${SRCDIR}/Animation.h
+ ${SRCDIR}/Sounds.h
)
if(UNIX)
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}
- ${SRCDIR}/WinDefs.cpp)
+ ${SRCDIR}/WinDefs.cpp
+ ${SRCDIR}/win-res/Lugaru.rc)
set(LUGARU_H
${LUGARU_H}
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
)
- endif (MSVC90)
+ endif (MSVC)
if (MINGW)
set(OPENAL_LIBRARY
${OPENALDIR}/lib/win32/mingw/libOpenAL32.dll.a
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
)
- endif (MSVC90)
+ endif (MSVC)
if (MINGW)
set(SDL_LIBRARY
"mingw32"
${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>)
+ 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)
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})
- 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})