[Paraview] December snapshot of ParaView III
Mike Jackson
mike.jackson at imts.us
Tue Dec 19 13:32:28 EST 2006
Cross posting to the CMake list as that is the more appropriate place:
Here the patch that I have for the Darwin.cmake file. Starting around
line 54 in the CMake 2.4.3 distribution.
OPTION(OSX_EMBEDDED_LIBRARY OFF)
IF ( OSX_EMBEDDED_LIBRARY )
SET(OSX_EMBEDDED_LIBRARY_FOLDER "PlugIns" CACHE STRING "The Name
of the Folder within the *.app/Contents/ package." FORCE)
ENDIF ( OSX_EMBEDDED_LIBRARY )
IF ( OSX_EMBEDDED_LIBRARY )
SET (OSX_CUSTOM_RPATH "@executable_path/../$
{OSX_EMBEDDED_LIBRARY_FOLDER}/")
SET(CMAKE_C_CREATE_SHARED_LIBRARY
"<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS>
<CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> -
install_name ${OSX_CUSTOM_RPATH}<TARGET_SONAME> <OBJECTS>
<LINK_LIBRARIES>")
SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
"<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS>
<CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> -
install_name ${OSX_CUSTOM_RPATH}<TARGET_SONAME> <OBJECTS>
<LINK_LIBRARIES>")
ELSE ( OSX_EMBEDDED_LIBRARY )
SET(CMAKE_C_CREATE_SHARED_LIBRARY
"<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS>
<CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> -
install_name <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS>
<LINK_LIBRARIES>")
SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
"<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS>
<CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> -
install_name <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS>
<LINK_LIBRARIES>")
ENDIF ( OSX_EMBEDDED_LIBRARY )
Yes? No? Not Really?
--
Mike Jackson Senior Research Engineer
Innovative Management & Technology Services
On Dec 19, 2006, at 1:08 PM, Mike Jackson wrote:
> I finally was able to take a look at that script... Wouldn't this
> be a _lot_ easier if CMake just supported a custom RPATH? Then the
> only thing you have to worry about is the Qt Libs...
>
> Way down in /usr/local/share/CMake/Modules/Platform/Darwin.cmake,
> couldn't there be something like:
>
>
> IF ( OSX_EMBEDDED_SHARED_LIBRARY )
>
> SET(CMAKE_C_CREATE_SHARED_LIBRARY
> "<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS>
> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> -
> install_name <OSX_CUSTOM_RPATH><TARGET_SONAME> <OBJECTS>
> <LINK_LIBRARIES>")
> SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
> "<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS>
> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> -
> install_name <OSX_CUSTOM_RPATH><TARGET_SONAME> <OBJECTS>
> <LINK_LIBRARIES>")
>
> ELSE ( OSX_EMBEDDED_SHARED_LIBRARY )
>
> SET(CMAKE_C_CREATE_SHARED_LIBRARY
> "<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS>
> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> -
> install_name <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS>
> <LINK_LIBRARIES>")
> SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
> "<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS>
> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> -
> install_name <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS>
> <LINK_LIBRARIES>")
>
> ENDIF ( OSX_EMBEDDED_SHARED_LIBRARY )
>
> and then present the user in ccmake with the option of setting the
> embedded rpath to PlugIns or Frameworks or whatever?
>
> Just curious..
> --
> Mike Jackson Senior Research Engineer
> Innovative Management & Technology Services
>
>
> On Dec 13, 2006, at 1:41 PM, Berk Geveci wrote:
>
>>> Are you saying that there is a script that creates the application
>>> bundle with all the RPATHS set correctly for OS X? I'd be happy to
>>> start digging through that to see what I can offer.. I have been
>>> waiting for this for a loooooong time..
>>
>> Yup. Andy wrote it. It is
>> ParaView3/Applications/Client/CreateBundle.sh.in. It gets configured
>> into the build tree as CreateaBundle.sh under the same location.
>> Eventually, it will become a cmake script.
>>
>>> BTW.. the Intel build of ParaView III is correct. It works fine and
>>> all the libraries have all the RPATHS set correctly..
>>
>> I know. I test the intel build on my machine at home. I don't test
>> the
>> ppc build on anything other than the one I build on. When running the
>> script, I see warning but I assumed that it was still working.
>> Looking
>> at the output of otool -L paraview, everything looks normal. I can
>> also run it without problems on that machine. Looking at the
>> error, it
>> looks like assistant's paths are not being modified correctly. otool
>> -L on assistant shows wrong paths whereas on intel, they are fine.
>>
>> -berk
>
>
> _______________________________________________
> ParaView mailing list
> ParaView at paraview.org
> http://www.paraview.org/mailman/listinfo/paraview
More information about the ParaView
mailing list