[Orxonox-commit 3666] r8349 - code/branches/kicklib2/cmake

youngk at orxonox.net youngk at orxonox.net
Thu Apr 28 02:47:11 CEST 2011


Author: youngk
Date: 2011-04-28 02:47:09 +0200 (Thu, 28 Apr 2011)
New Revision: 8349

Modified:
   code/branches/kicklib2/cmake/LibraryConfig.cmake
   code/branches/kicklib2/cmake/PackageConfigOSX.cmake
Log:
The Mac OS X dependency package is now downloaded and installed automatically, once cmake is run. Very convenient.

Modified: code/branches/kicklib2/cmake/LibraryConfig.cmake
===================================================================
--- code/branches/kicklib2/cmake/LibraryConfig.cmake	2011-04-27 22:04:34 UTC (rev 8348)
+++ code/branches/kicklib2/cmake/LibraryConfig.cmake	2011-04-28 00:47:09 UTC (rev 8349)
@@ -49,6 +49,26 @@
 INCLUDE(LibraryConfigTardis)
 
 IF(DEPENDENCY_PACKAGE_ENABLE)
+  # Let CMake automatically download and extract the dependency package on Mac OS X
+  # TODO: Handle download errors and always select newest package
+  SET(_dep_package_current "OrxonoxDeps_110428_2.0_OSX.tar.bz2")
+  SET(_dep_package_url "http://svn.orxonox.net/ogre/apple/precompiled_dependencies")
+  IF(APPLE AND NOT EXISTS ${CMAKE_SOURCE_DIR}/dependencies)
+    MESSAGE(STATUS "Downloading Mac OS X dependency package.")
+    FILE(DOWNLOAD
+      ${_dep_package_url}/${_dep_package_current}
+      ${CMAKE_SOURCE_DIR}/${_dep_package_current}
+    )
+    MESSAGE(STATUS "Extracting Mac OS X dependency package.")
+    EXECUTE_PROCESS(
+      COMMAND ${CMAKE_COMMAND} -E tar -jxf ${_dep_package_current}
+      WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+      OUTPUT_FILE ${CMAKE_BINARY_DIR}/dep_pack_extract_log.keep_me
+    )
+    # Delete the dependency archive once we no longer need it
+    FILE(REMOVE ${CMAKE_SOURCE_DIR}/${_dep_package_current})
+  ENDIF()
+
   GET_FILENAME_COMPONENT(_dep_dir_1 ${CMAKE_SOURCE_DIR}/../dependencies ABSOLUTE)
   GET_FILENAME_COMPONENT(_dep_dir_2 ${CMAKE_SOURCE_DIR}/../lib_dist ABSOLUTE)
   IF(MINGW)

Modified: code/branches/kicklib2/cmake/PackageConfigOSX.cmake
===================================================================
--- code/branches/kicklib2/cmake/PackageConfigOSX.cmake	2011-04-27 22:04:34 UTC (rev 8348)
+++ code/branches/kicklib2/cmake/PackageConfigOSX.cmake	2011-04-28 00:47:09 UTC (rev 8349)
@@ -32,11 +32,14 @@
   
   # The following shell script sets the appropriate install_names for our libraries
   # and therefore it must be run before anything else is set, dep-package-wise.
-  EXECUTE_PROCESS(
-    COMMAND ${DEPENDENCY_PACKAGE_DIR}/install_dependencies.sh
-    WORKING_DIRECTORY ${DEPENDENCY_PACKAGE_DIR}
-    OUTPUT_FILE ${CMAKE_BINARY_DIR}/dep_pack_install_log.keep_me 
-  )
+  IF(NOT EXISTS ${CMAKE_BINARY_DIR}/dep_pack_install_log.keep_me)
+    MESSAGE(STATUS "Installing Mac OS X dependency package to current dir.")
+    EXECUTE_PROCESS(
+      COMMAND ${DEPENDENCY_PACKAGE_DIR}/install_dependencies.sh
+      WORKING_DIRECTORY ${DEPENDENCY_PACKAGE_DIR}
+      OUTPUT_FILE ${CMAKE_BINARY_DIR}/dep_pack_install_log.keep_me 
+    )
+  ENDIF()
   SET(_INTERNAL_PACKAGE_MESSAGE 1 CACHE INTERNAL "Do not edit!" FORCE)
 ENDIF()
 




More information about the Orxonox-commit mailing list