]> git.jsancho.org Git - lugaru.git/blobdiff - CMakeLists.txt
Made massive change to CMake scripts. Hopefully now CMake scripts will produce workin...
[lugaru.git] / CMakeLists.txt
index cdc4e15104769b2dc0a037c92032d1bd4e41e1cd..aafeabb9715de8f7781571c0b810db47b147ef67 100644 (file)
@@ -30,6 +30,14 @@ if(MINGW)
        set(OPENGL_glu_LIBRARY "-lglu32" CACHE STRING "GLU library for Win32" FORCE)
 endif(MINGW)
 
+if(APPLE)
+       set(CMAKE_OSX_ARCHITECTURES "ppc;i386" CACHE STRING "Build architectures for OSX" FORCE)
+       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" FORCE)
+       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." FORCE)
+endif(APPLE)
+
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
 
 set(LUGARU_SRCS
@@ -117,29 +125,29 @@ if(WIN32)
   if(CMAKE_CROSSCOMPILING)
     ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
                                                  COMMAND i686-pc-mingw32-windres
-                                                         -I${SRCDIR}/res
+                                                         -I${SRCDIR}/win-res
                                                          -o ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
-                                                         -i${SRCDIR}/res/Lugaru.rc
-                                             DEPENDS ${SRCDIR}/res/Lugaru.rc
+                                                         -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}/res
+                                                         -I${SRCDIR}/win-res
                                                          -fo${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
-                                                         ${SRCDIR}/res/Lugaru.rc
-                                             DEPENDS ${SRCDIR}/res/Lugaru.rc
+                                                         ${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}/res
+                                                         -I${SRCDIR}/win-res
                                                          -o ${CMAKE_CURRENT_BINARY_DIR}/lugaru_resource.obj
-                                                         -i${SRCDIR}/res/Lugaru.rc
-                                             DEPENDS ${SRCDIR}/res/Lugaru.rc
+                                                         -i${SRCDIR}/win-res/Lugaru.rc
+                                             DEPENDS ${SRCDIR}/win-res/Lugaru.rc
                                                  )
    endif(MINGW)
   endif(NOT CMAKE_CROSSCOMPILING)
@@ -152,7 +160,7 @@ if(WIN32)
   set(LUGARU_H
        ${LUGARU_H}
        ${SRCDIR}/WinDefs.h
-       ${SRCDIR}/res/resource.h)
+       ${SRCDIR}/win-res/resource.h)
 endif(WIN32)
 
 if (APPLE)
@@ -457,6 +465,16 @@ if (NOT OGGVORBIS_FOUND)
     )
 endif (NOT OGGVORBIS_FOUND)
 
+if(APPLE)
+       # Save our sanity; Set all available libraries to internal by default
+       set(LUGARU_FORCE_INTERNAL_SDL True)
+       set(LUGARU_FORCE_INTERNAL_GLU True)
+       set(LUGARU_FORCE_INTERNAL_JPEG True)
+       set(LUGARU_FORCE_INTERNAL_PNG True)
+       set(LUGARU_FORCE_INTERNAL_VORBIS True)
+       set(LUGARU_FORCE_INTERNAL_ZLIB True)
+endif(APPLE)
+
 include_directories(
     ${OPENAL_INCLUDE_DIR}
     ${JPEG_INCLUDE_DIR}
@@ -488,6 +506,12 @@ else(WIN32)
 endif(WIN32)
 
 # Install target
+if(APPLE)
+       set(APPS_ROOT "${CMAKE_INSTALL_PREFIX}/Lugaru.app")
+       set(APPS_BIN "${APPS_ROOT}/Contents/MacOS")
+       set(APPS_DATA "${APPS_ROOT}/Contents/Resources")
+endif(APPLE)
+
 if(WIN32)
        install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/lugaru.exe DESTINATION ${CMAKE_INSTALL_PREFIX})
        if(MSVC80)
@@ -503,6 +527,11 @@ if(WIN32)
                install(FILES ${OPENALDIR}/lib/win32/mingw/OpenAL32.dll DESTINATION ${CMAKE_INSTALL_PREFIX})
        endif(MINGW)
 else(WIN32)
+       if(APPLE)
+               set(CMAKE_INSTALL_PREFIX "${APPS_BIN}")
+               install(FILES ${SRCDIR}/mac-res/lugaru.icns DESTINATION ${APPS_DATA})
+               install(FILES ${SRCDIR}/mac-res/Info.plist DESTINATION ${APPS_ROOT}/Contents)
+       endif(APPLE)
        install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/lugaru DESTINATION ${CMAKE_INSTALL_PREFIX})
        if(APPLE AND LUGARU_HAS_INTERNAL_SDL)
                install(FILES ${SDLDIR}/lib/macosx/libSDL-1.2.0.dylib DESTINATION ${CMAKE_INSTALL_PREFIX})