X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;ds=sidebyside;f=CMakeLists.txt;h=997b41b894d231bbd6307e77e181b30c0534f22c;hb=0a43726057af2e40d7cd0904300b9e726189d774;hp=7cb9cefffb30dbf7cc7cec516475650ade3da2b6;hpb=4077141d40ad4cf2c77b9531580283c6e0dffcb6;p=lugaru.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 7cb9cef..997b41b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,12 +25,10 @@ endif(NOT LUGARU_INSTALL_PREFIX) set(CMAKE_INSTALL_PREFIX "${LUGARU_INSTALL_PREFIX}" CACHE INTERNAL "Prefix prepended to install directories" FORCE) -if(WIN32) +if(MINGW) set(OPENGL_gl_LIBRARY "-lopengl32" CACHE STRING "OpenGL library for Win32" FORCE) set(OPENGL_glu_LIBRARY "-lglu32" CACHE STRING "GLU library for Win32" FORCE) -endif(WIN32) - - +endif(MINGW) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") @@ -63,20 +61,12 @@ set(LUGARU_SRCS ${SRCDIR}/WinInput.cpp ) -if(UNIX) - set(LUGARU_SRCS - ${LUGARU_SRCS} - ${SRCDIR}/MacCompatibility.cpp - ) -endif(UNIX) - set(LUGARU_H ${SRCDIR}/Constants.h ${SRCDIR}/Frustum.h ${SRCDIR}/Game.h ${SRCDIR}/Lights.h ${SRCDIR}/LinkedList.h - ${SRCDIR}/MacCompatibility.h ${SRCDIR}/Models.h ${SRCDIR}/Objects.h ${SRCDIR}/Person.h @@ -104,6 +94,25 @@ set(LUGARU_H ${SRCDIR}/unpack_private.h ) +if(UNIX) + set(LUGARU_SRCS + ${LUGARU_SRCS} + ${SRCDIR}/MacCompatibility.cpp + ) + set(LUGARU_H + ${LUGARU_H} + ${SRCDIR}/MacCompatibility.h + ) +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) + if(WIN32) if(CMAKE_CROSSCOMPILING) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj @@ -115,6 +124,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 @@ -122,6 +141,7 @@ if(WIN32) -i${SRCDIR}/res/Lugaru.rc DEPENDS ${SRCDIR}/res/Lugaru.rc ) + endif(MINGW) endif(NOT CMAKE_CROSSCOMPILING) # !!! FIXME: get rid of this. @@ -139,22 +159,28 @@ if (APPLE) set(PLATFORM_LIBS "-framework Carbon -framework Cocoa -framework OpenGL -framework OpenAL") endif (APPLE) - - # Deal with dependencies... - find_package(OpenGL REQUIRED) -# force this include dir no matter what, so we get sane headers. -include_directories("${DEPDIR}/OpenGL") +# force this include dir no matter what on Windows, so we get sane headers. +if(NOT WIN32) + option (LUGARU_FORCE_INTERNAL_OPENGL "Force internal OpenGL headers, even if there's a system version" True) + if (LUGARU_FORCE_INTERNAL_OPENGL) + include_directories("${DEPDIR}/OpenGL") + endif (LUGARU_FORCE_INTERNAL_OPENGL) +endif(NOT WIN32) + +if(WIN32) + include_directories("${DEPDIR}/OpenGL") +endif(WIN32) option (LUGARU_FORCE_INTERNAL_OPENAL "Force internal libOpenAL, even if there's a system version" False) if (NOT LUGARU_FORCE_INTERNAL_OPENAL) - find_package(OpenAL REQUIRED) + find_package(OpenAL REQUIRED) else(NOT LUGARU_FORCE_INTERNAL_OPENAL) set(OPENAL_FOUND False) endif (NOT LUGARU_FORCE_INTERNAL_OPENAL) -if (NOT OPENAL_FOUND) +if (NOT OPENAL_FOUND OR LUGARU_FORCE_INTERNAL_OPENAL) message(STATUS "Using internal copy of OpenAL") set(LUGARU_MISSING_DEPS "${LUGARU_MISSING_DEPS} OpenAL") set(OPENALDIR "${DEPDIR}/OpenAL") @@ -163,12 +189,12 @@ if (NOT OPENAL_FOUND) if (WIN32) set(LUGARU_HAS_INTERNAL_OPENAL True) - if (MSVC80) + if (MSVC80) set(OPENAL_LIBRARY ${OPENALDIR}/lib/win32/msvc2005/OpenAL32.lib ) endif (MSVC80) - if (MSVC90) + if (MSVC90) set(OPENAL_LIBRARY ${OPENALDIR}/lib/win32/msvc2008/OpenAL32.lib ) @@ -183,7 +209,7 @@ if (NOT OPENAL_FOUND) if (NOT LUGARU_HAS_INTERNAL_OPENAL) message(ERROR "We don't have a prebuilt OpenAL for this platform.") endif (NOT LUGARU_HAS_INTERNAL_OPENAL) -endif (NOT OPENAL_FOUND) +endif (NOT OPENAL_FOUND OR LUGARU_FORCE_INTERNAL_OPENAL) option (LUGARU_FORCE_INTERNAL_SDL "Force internal libSDL, even if there's a system version" False) if (NOT LUGARU_FORCE_INTERNAL_SDL)