[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[vidalia-svn] r3588: Add an OS X post-build step to copy the Marble widget librar (in vidalia/trunk: cmake src/vidalia)



Author: edmanm
Date: 2009-02-24 15:21:40 -0500 (Tue, 24 Feb 2009)
New Revision: 3588

Modified:
   vidalia/trunk/cmake/FindMarble.cmake
   vidalia/trunk/src/vidalia/CMakeLists.txt
Log:

Add an OS X post-build step to copy the Marble widget library into the app
bundle and use install_name_tool to update the reference to
@executable_path/$library.


Modified: vidalia/trunk/cmake/FindMarble.cmake
===================================================================
--- vidalia/trunk/cmake/FindMarble.cmake	2009-02-24 06:07:01 UTC (rev 3587)
+++ vidalia/trunk/cmake/FindMarble.cmake	2009-02-24 20:21:40 UTC (rev 3588)
@@ -54,7 +54,7 @@
 
 message(STATUS "Looking for Marble libraries")
 find_library(MARBLEWIDGET_LIBRARY
-  NAMES marblewidget
+  NAMES marblewidget.7 marblewidget
   PATHS ${MARBLE_LIBRARY_DIR}
 )
 if (MARBLEWIDGET_LIBRARY)

Modified: vidalia/trunk/src/vidalia/CMakeLists.txt
===================================================================
--- vidalia/trunk/src/vidalia/CMakeLists.txt	2009-02-24 06:07:01 UTC (rev 3587)
+++ vidalia/trunk/src/vidalia/CMakeLists.txt	2009-02-24 20:21:40 UTC (rev 3588)
@@ -342,8 +342,20 @@
            ${CMAKE_CURRENT_BINARY_DIR}/Vidalia.app/Contents/Resources/
   )
 
-  ## Copy the Marble data into the bundle
   if (USE_MARBLE)
+    ## Copy the Marble widget libraries into the bundle
+    set(outdir ${CMAKE_CURRENT_BINARY_DIR}/Vidalia.app/Contents/MacOS)
+    foreach (it ${MARBLE_LIBRARIES})
+      get_filename_component(outfile ${it} NAME)
+      add_custom_command(TARGET ${vidalia_BIN} POST_BUILD
+        COMMAND ${CMAKE_COMMAND}
+          ARGS -E copy_if_different ${it} ${outdir}/
+        COMMAND install_name_tool
+          ARGS -change ${it} @executable_path/${outfile} ${outdir}/${vidalia_BIN} 
+      )
+    endforeach(it)
+
+    ## Copy the Marble data into the bundle
     foreach(it ${marble_DATA})
       get_filename_component(outdir  ${it} PATH)
       get_filename_component(outfile ${it} NAME)