]> git.sesse.net Git - vlc/commitdiff
cmake: build a mostly correct (not functional yet) VLC.app
authorRafaël Carré <funman@videolan.org>
Wed, 6 Feb 2008 10:43:06 +0000 (10:43 +0000)
committerRafaël Carré <funman@videolan.org>
Wed, 6 Feb 2008 10:43:06 +0000 (10:43 +0000)
extras/buildsystem/cmake/include/config.cmake

index fc9ad529577fbf40e4c3240b7345cff9cf54f9c7..786084aa0a7fa9404bf5557f08b679789d8e8274 100644 (file)
@@ -146,12 +146,25 @@ if(APPLE)
     add_executable(VLC MACOSX_BUNDLE src/vlc.c)
     target_link_libraries(VLC libvlc)
     add_custom_command(
-        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/MacOS/modules
-        COMMAND ln -s ${CMAKE_CURRENT_BINARY_DIR}/modules ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/MacOS/lib
-    )
-    add_custom_command(
-        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/MacOS/lib
-        COMMAND ln -s ${CMAKE_CURRENT_BINARY_DIR}/modules ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/MacOS/lib
+        TARGET VLC
+        POST_BUILD
+        COMMAND rm -Rf ${CMAKE_CURRENT_BINARY_DIR}/tmp
+        COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/tmp/modules/gui/macosx
+        COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/tmp/extras/package/macosx
+        COMMAND cp -R ${CMAKE_CURRENT_SOURCE_DIR}/extras/package/macosx/vlc.xcodeproj ${CMAKE_CURRENT_BINARY_DIR}/tmp/extras/package/macosx
+        COMMAND cp -R ${CMAKE_CURRENT_SOURCE_DIR}/extras/package/macosx/Resources ${CMAKE_CURRENT_BINARY_DIR}/tmp/extras/package/macosx
+        COMMAND for i in AUTHORS COPYING extras/package/macosx/README.MacOSX.rtf THANKS\;do cp ${CMAKE_CURRENT_SOURCE_DIR}/$$i ${CMAKE_CURRENT_BINARY_DIR}/tmp/ \; done
+        COMMAND for i in AppleRemote.h AppleRemote.m about.h about.m applescript.h applescript.m controls.h controls.m equalizer.h equalizer.m intf.h intf.m macosx.m misc.h misc.m open.h open.m output.h output.m playlist.h playlist.m playlistinfo.h playlistinfo.m prefs_widgets.h prefs_widgets.m prefs.h prefs.m vout.h voutqt.m voutgl.m wizard.h wizard.m extended.h extended.m bookmarks.h bookmarks.m sfilters.h sfilters.m update.h update.m interaction.h interaction.m embeddedwindow.h embeddedwindow.m fspanel.h fspanel.m vout.m\; do cp ${CMAKE_CURRENT_SOURCE_DIR}/modules/gui/macosx/$$i ${CMAKE_CURRENT_BINARY_DIR}/tmp/modules/gui/macosx\; done
+        COMMAND cd ${CMAKE_CURRENT_BINARY_DIR}/tmp/extras/package/macosx && xcodebuild -target vlc | grep -vE '^\([ \\t]|$$\)' && cd ../../../../ && cp ${CMAKE_CURRENT_BINARY_DIR}/tmp/extras/package/macosx/build/Default/VLC.bundle/Contents/Info.plist ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents && cp -R ${CMAKE_CURRENT_BINARY_DIR}/tmp/extras/package/macosx/build/Default/VLC.bundle/Contents/Resources/English.lproj ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/Resources
+        COMMAND cp -r ${CMAKE_CURRENT_SOURCE_DIR}/extras/package/macosx/Resources ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents
+        COMMAND find -d ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/Resources -type d -name \\.svn -exec rm -rf {} "\;"
+        COMMAND rm -rf ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/MacOS/modules
+        COMMAND mkdir ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/MacOS/modules
+        COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/share ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/MacOS/share
+        COMMAND find ${CMAKE_CURRENT_BINARY_DIR}/modules -name *.so -exec sh -c \"ln -s {} ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/MacOS/modules/\\`basename {}\\`\" "\;"
+        COMMAND ln -sf VLC ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/MacOS/clivlc #useless?
+        COMMAND printf "APPLVLC#" > ${CMAKE_CURRENT_BINARY_DIR}/VLC.app/Contents/PkgInfo
+        #TODO: po/ > VLC.app/locale
     )
 
 endif(APPLE)