OCE framework

Mark Brethen mark.brethen at gmail.com
Tue Jul 1 17:02:43 PDT 2014


I've run into an issue with oce and have thought about different solutions but want some feedback on the best path. By default oce installs into ${prefix}/lib, ${prefix}/include, ${prefix}/share and OCE.framework  into ${prefix}. The framework is still under development (they're looking for volunteers BTW) and only contains a few .cmake files in the 'Resources' directory. One of these is OCEConfig.cmake so that programs can use FIND_PACKAGE(OCE) to set variables to link against OCE. Moving the framework to ${prefix}/Library/Frameworks per MacPorts convention breaks OCEconfig.cmake and I get the following error trying to configure freecad:

:info:configure CMake Error at /opt/local/Library/Frameworks/OCE.framework/Versions/0.15/Resources/OCE-libraries.cmake:254 (message):
:info:configure   The imported target "TKernel" references the file
:info:configure 
:info:configure      "/opt/local/Library/Frameworks/lib/libTKernel.8.0.0.dylib"
:info:configure 
:info:configure   but this file does not exist.  Possible reasons include:
:info:configure 
:info:configure   * The file was deleted, renamed, or moved to another location.
:info:configure 
:info:configure   * An install or uninstall procedure did not complete successfully.
:info:configure 
:info:configure   * The installation package was faulty and contained
:info:configure 
:info:configure      "/opt/local/Library/Frameworks/OCE.framework/Versions/0.15/Resources/OCE-libraries.cmake"
:info:configure 
:info:configure   but not all the files it references.
:info:configure 
:info:configure Call Stack (most recent call first):
:info:configure   /opt/local/Library/Frameworks/OCE.framework/Versions/0.15/Resources/OCEConfig.cmake:23 (include)
:info:configure   CMakeLists.txt:220 (find_package)
:info:configure 
:info:configure 
:info:configure -- Configuring incomplete, errors occurred!

Solutions I have thought of:

1. symlink the lib directory in the Resources directory (same level)
2. patch OCEconfig.cmake to start search in ${prefix}
3. Eliminate framework and move cmake files to ${prefix}/share/cmake/modules (some patching also required)
4. Move all folders and files into framework

Mark






More information about the macports-dev mailing list