Notes |
|
(0018696)
|
Mike Jackson
|
2009-12-05 15:32
|
|
=== OS X ====
My custom plugins are NOT being copied into the final installed location. |
|
|
(0018697)
|
Mike Jackson
|
2009-12-05 15:54
|
|
==== OS X ====
The ParaView Application bundle is being forcibly installed into /Applications when I specifically set a CMAKE_INSTALL_PREFIX of /Users/Shared/Toolkits/ParaView-3.6.1
Following suggestions in the shell script file:
# InstallPrefix environment variable may be set by caller...
# If not, default to "$DESTDIR/Applications"
I tried "export InstallPrefix=/Users/Shared/Toolkits/ParaView-3.6.1" and the make install. Still put ParaView.app into /Applications
If this is going to be an "option" then there really needs to be a CMake variable such as "PARAVIEW_OSX_BUNDLE_INSTALL" to make it clear just where the app bundle is going to be installed. |
|
|
(0018698)
|
Mike Jackson
|
2009-12-05 16:01
|
|
Here is my version of CreateBundle.sh.in that will create a blank qt.conf and copy the qt_menu.nib file into the proper location inside the application bundle and the qtassistant bundle.
#===================
#!/bin/sh
# InstallPrefix environment variable may be set by caller...
# If not, default to "$DESTDIR/Applications"
#
if [ "x$InstallPrefix" = "x" ]; then
InstallPrefix="$DESTDIR/Applications"
echo "info: Using default InstallPrefix value:"
echo " $InstallPrefix"
fi
ParaViewBinaryDir="@ParaView_BINARY_DIR@"
ParaViewExeName="@PV_EXE_NAME@"
ParaView_App="@EXECUTABLE_OUTPUT_PATH@/$ParaViewExeName.app"
# Remove the previous app package so we start with a clean bundle
#
echo "Remove previous bundle"
rm -rf "$InstallPrefix/ParaView @PARAVIEW_VERSION_MAJOR@.@PARAVIEW_VERSION_MINOR@.@PARAVIEW_VERSION_PATCH@.app"
# Copy paraview.app from the build tree to the install tree:
#
echo "Copy paraview.app from the build tree to $InstallPrefix/"
mkdir -p "$InstallPrefix"
cp -Rp "$ParaView_App" "$InstallPrefix/"
mv "$InstallPrefix/paraview.app" "$InstallPrefix/ParaView @PARAVIEW_VERSION_MAJOR@.@PARAVIEW_VERSION_MINOR@.@PARAVIEW_VERSION_PATCH@.app"
# Now operate on the bundle in the install tree:
#
ParaView_App="$InstallPrefix/ParaView @PARAVIEW_VERSION_MAJOR@.@PARAVIEW_VERSION_MINOR@.@PARAVIEW_VERSION_PATCH@.app"
FrameworksDir="$ParaView_App/Contents/Frameworks"
LibrariesDir="$ParaView_App/Contents/Libraries"
PluginsDir="$ParaView_App/Contents/Plugins"
PythonDir="$ParaView_App/Contents/Python"
SupportDir="$ParaView_App/Contents/Support"
ResourcesDir="$ParaView_App/Contents/Resources"
# Create directories in the install tree bundle
#
mkdir -p "$FrameworksDir"
mkdir -p "$LibrariesDir"
mkdir -p "$PluginsDir"
mkdir -p "$PythonDir"
mkdir -p "$SupportDir"
mkdir -p "$ResourcesDir"
# Copy the documentation into the Support directory
#
echo "Copy documentation"
cp -Rp "${ParaViewBinaryDir}/Documentation" "$SupportDir/"
cp -p "${ParaViewBinaryDir}/pqClient.adp" "$SupportDir/."
# Copy the python scripts into the Python directory
#
echo "Copy python scripts"
cp -Rp "${ParaViewBinaryDir}/Utilities/VTKPythonWrapping/paraview" "$PythonDir/"
# Copy the Qt Assistant application into the Support directory
#
echo "Embed copy of the QtAssistant in bundle"
cp -RpL "@QT_ASSISTANT_DOTAPP_BUNDLE@" "$SupportDir/"
# Create an empty qt.conf file in the Assistant_adp app package
# to stop plugin loading by Assistant.
#
touch "$SupportDir/@QT_ASSISTANT_DOTAPP_BUNDLE_NAME@/Contents/Resources/qt.conf"
# Create an empty qt.conf file in the Assistant_adp app package
# to stop ParaView from loading Qt plugins like qttiff and things like that.
#
touch "$ResourcesDir/qt.conf"
# Create symlinks so that the Assistant.app bundle can use the same
# copy of Qt Frameworks/Libraries as the paraview executable, yet still
# refer to them via a string like "@executable_path/../Frameworks"...
#
pushd "$SupportDir/@QT_ASSISTANT_DOTAPP_BUNDLE_NAME@/Contents"
ln -s "../../../Libraries" "Libraries"
ln -s "../../../Frameworks" "Frameworks"
popd
# Remove unneeded build-byproduct files that were copied by the
# above recursive directory copies:
#
rm -rf "$PythonDir/paraview/pv_compile_complete"
rm -rf "$SupportDir/Documentation/CMakeFiles"
rm -rf "$SupportDir/Documentation/cmake_install.cmake"
rm -rf "$SupportDir/Documentation/CTestTestfile.cmake"
rm -rf "$SupportDir/Documentation/Makefile"
# If we built with the Cocoa version of Qt then copy the qt_menu.nib bundle from
# the framework directory into the actual Applications directory and the
# QtAssistant Application Bundle
#
if [ "@VTK_USE_COCOA@" = "ON" ]; then
cp -R "@QT_LIBRARY_DIR@/QtGui.framework/Resources/qt_menu.nib" "$ResourcesDir/"
cp -R "@QT_LIBRARY_DIR@/QtGui.framework/Resources/qt_menu.nib" "$SupportDir/@QT_ASSISTANT_DOTAPP_BUNDLE_NAME@/Contents/Resources/"
fi
#=================== |
|
|
(0018720)
|
olesen
|
2009-12-08 08:40
|
|
|
|
(0019471)
|
Michael Wild
|
2010-02-08 11:04
|
|
|
|
(0019474)
|
Michael Wild
|
2010-02-08 11:34
|
|
|
|
(0019925)
|
David Partyka
|
2010-03-17 09:30
|
|
Okay, both of Michael Wild's patches have been patched in but this bug has become very multi faceted. What parts of this bug are still not fixed? Just the Application bundle install dir?
Mike Jackson, if you export DESTDIR=<some_dir> and then make install you should get the desired behavior. Though this is more of just a testing feature that Dave Cole put in. |
|
|
(0019936)
|
Mike Jackson
|
2010-03-17 10:39
|
|
I tried what you suggested on a "git pull origin master" on 3/17/2010 at 10:15 AM EDT and when I run the make install I get the following:
CMAKE_INSTALL_PREFIX=/Users/Shared/Toolkits/ParaView
export DESTDIR=$CMAKE_INSTALL_PREFIX
make install
I then get an "Applications/ParaView-3.7.0.app" created in the /Users/Shared/Toolkits/ParaView directory
I also get another folder hierarchy created:
/Users/Shared/Toolkits/ParaView/Users/Shared/Toolkits/ParaView/bin with another paraview.app inside that. So basically the "make install" does NOT work at all on OS X. It is totally messed up. And my custom client plugins were NOT copied into the proper folder structure in any of those folders above. |
|
|
(0020201)
|
Utkarsh Ayachit
|
2010-04-16 01:30
|
|
Reminder sent to: David Partyka Dave,
What's the status of this bug? As far as "make install" goes, create a new bug for fix "make install" on all platforms (including Mac). Once CMake adds support for it, we can look it at. |
|
|
(0020213)
|
David Partyka
|
2010-04-16 06:23
(edited on: 2010-04-16 06:36) |
|
All the fixes have been applied for installing missing libs. Created a child issue for the make install related issues.
|
|
|
(0021256)
|
David Partyka
|
2010-07-06 16:34
|
|
Hi Mike, I think I have fixed the remainder of the issues related to make install on Mac. If you do make install you should get a bin, lib directories and a paraview app in your CMAKE_INSTALL_PREFIX. Can you test this out. The changes are on ParaView master. Also note I opened a child bug 0010558 specifically for this issue. |
|
|
(0023295)
|
David Partyka
|
2010-11-16 12:24
|
|
I believe all of these issues are resolved. If anyone disagrees please reopen. |
|
|
(0023308)
|
Alan Scott
|
2010-11-16 17:45
|
|
Trusting Dave, the buildmeister. |
|