X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=CMakeLists.txt;h=1a17e52561f4cc48d5a63884e46bd447f3cfeb59;hb=b0d8d53764f38b97857f47af1ee3653ac4a8ed8e;hp=caf1f245993bf3476d73e3466486b3619f4fc53f;hpb=b1f01eb2b335d313af30594d671a90f7d9cfed08;p=lugaru.git diff --git a/CMakeLists.txt b/CMakeLists.txt index caf1f24..1a17e52 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,11 +13,11 @@ endif(NOT CMAKE_BUILD_TYPE) if(NOT LUGARU_INSTALL_PREFIX) if(WIN32) - set(LUGARU_INSTALL_PREFIX C:\Lugaru CACHE PATH + set(LUGARU_INSTALL_PREFIX "C:/Lugaru" CACHE PATH "LUGARU_INSTALL_PREFIX: Install path prefix, prepended onto install directories." FORCE) else(WIN32) - set(LUGARU_INSTALL_PREFIX /usr/local/lugaru CACHE PATH + set(LUGARU_INSTALL_PREFIX "/usr/local/lugaru" CACHE PATH "CMAKE_INSTALL_PREFIX: Install path prefix, prepended onto install directories." FORCE) endif(WIN32) @@ -61,9 +61,15 @@ set(LUGARU_SRCS ${SRCDIR}/OpenGL_Windows.cpp ${SRCDIR}/openal_wrapper.cpp ${SRCDIR}/WinInput.cpp - ${SRCDIR}/MacCompatibility.cpp ) +if(UNIX) + set(LUGARU_SRCS + ${LUGARU_SRCS} + ${SRCDIR}/MacCompatibility.cpp + ) +endif(UNIX) + set(LUGARU_H ${SRCDIR}/Constants.h ${SRCDIR}/Frustum.h @@ -88,10 +94,7 @@ set(LUGARU_H ${SRCDIR}/WinInput.h ${SRCDIR}/alstubs.h ${SRCDIR}/binio.h - ${SRCDIR}/fmod.h - ${SRCDIR}/fmod_errors.h - ${SRCDIR}/fmod_header.h - ${SRCDIR}/fmoddyn.h + ${SRCDIR}/openal_wrapper.h ${SRCDIR}/gamegl.h ${SRCDIR}/glstubs.h ${SRCDIR}/md5.h @@ -106,19 +109,19 @@ if(WIN32) if(CMAKE_CROSSCOMPILING) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj COMMAND i686-pc-mingw32-windres - -I${CMAKE_CURRENT_SOURCE_DIR}/res + -I${SRCDIR}/res -o ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj - -i${CMAKE_CURRENT_SOURCE_DIR}/res/lugaru.rc - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/lugaru.rc + -i${SRCDIR}/res/Lugaru.rc + DEPENDS ${SRCDIR}/res/Lugaru.rc ) endif(CMAKE_CROSSCOMPILING) if(NOT CMAKE_CROSSCOMPILING) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj COMMAND windres - -I${CMAKE_CURRENT_SOURCE_DIR}/res + -I${SRCDIR}/res -o ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj - -i${CMAKE_CURRENT_SOURCE_DIR}/res/lugaru.rc - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/lugaru.rc + -i${SRCDIR}/res/Lugaru.rc + DEPENDS ${SRCDIR}/res/Lugaru.rc ) endif(NOT CMAKE_CROSSCOMPILING) @@ -145,7 +148,36 @@ find_package(OpenGL REQUIRED) # force this include dir no matter what, so we get sane headers. include_directories("${DEPDIR}/OpenGL") -find_package(OpenAL REQUIRED) # !!! FIXME: package a .dll for Windows? +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) +endif (NOT LUGARU_FORCE_INTERNAL_OPENAL) + +if (NOT OPENAL_FOUND) + message(STATUS "Using internal copy of OpenAL") + set(LUGARU_MISSING_DEPS "${LUGARU_MISSING_DEPS} OpenAL") + set(OPENALDIR "${DEPDIR}/OpenAL") + set(OPENAL_INCLUDE_DIR "${OPENALDIR}/include/AL") + set(OPENAL_LIBRARY "") + + if (WINDOWS) + 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 (MINGW) + set(OPENAL_LIBRARY + ${OPENALDIR}/lib/win32/mingw/libOpenAL32.dll.a + ) + endif (MINGW) + endif(WINDOWS) + + 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) option (LUGARU_FORCE_INTERNAL_SDL "Force internal libSDL, even if there's a system version" False) if (NOT LUGARU_FORCE_INTERNAL_SDL) @@ -167,10 +199,18 @@ if (NOT SDL_FOUND) if (WINDOWS) set(LUGARU_HAS_INTERNAL_SDL True) - set(SDL_LIBRARY - ${SDLDIR}/lib/win32/SDL.lib - ${SDLDIR}/lib/win32/SDLmain.lib - ) + if (MSVC) + set(SDL_LIBRARY + ${SDLDIR}/lib/win32/msvc/SDL.lib + ${SDLDIR}/lib/win32/msvc/SDLmain.lib + ) + endif (MSVC) + if (MINGW) + set(SDL_LIBRARY + ${SDLDIR}/lib/win32/mingw/libSDL.dll.a + ${SDLDIR}/lib/win32/mingw/libSDLmain.a + ) + endif (MINGW) endif (WINDOWS) if (NOT LUGARU_HAS_INTERNAL_SDL) @@ -393,9 +433,17 @@ endif(WIN32) # Install target if(WIN32) - install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/Source/lugaru.exe DESTINATION ${CMAKE_INSTALL_PREFIX}) + 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(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}) + endif(MINGW) else(WIN32) - install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/Source/lugaru DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/lugaru DESTINATION ${CMAKE_INSTALL_PREFIX}) endif(WIN32) install(DIRECTORY ${CMAKE_SOURCE_DIR}/Data DESTINATION ${CMAKE_INSTALL_PREFIX})