What controls the copying KDE4 applications to /Applications/MacPorts/KDE4 ?

Chris Jones christopher.rob.jones at cern.ch
Sat Mar 6 13:38:28 PST 2010


Hi,

On 6 Mar 2010, at 8:27pm, Jeremy Lavergne wrote:

> Check out the actual portgroup file.  If you override any of its phases then you stop its functionality.
> 
> /opt/local/var/macports/source/rsync.macports.org/release/ports/_resources/port1.0/group/kde4-1.0.tcl

Thanks, that helps.

I went back to the source tarball for kdesvn and building by hand I now noticed (missed it the first time)

CMake Warning (dev) at src/CMakeLists.txt:79 (INSTALL):
  Policy CMP0006 is not set: Installing MACOSX_BUNDLE targets requires a
  BUNDLE DESTINATION.  Run "cmake --help-policy CMP0006" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.

with 

Chris-Jones-Macbook-Pro ~/Projects/kdesvn-1.5.2/build > cmake --help-policy CMP0006
cmake version 2.8.0
  CMP0006
       Installing MACOSX_BUNDLE targets requires a BUNDLE DESTINATION.

       This policy determines whether the install(TARGETS) command must be
       given a BUNDLE DESTINATION when asked to install a target with the
       MACOSX_BUNDLE property set.  CMake 2.4 and below did not distinguish
       application bundles from normal executables when installing targets.
       CMake 2.6 provides a BUNDLE option to the install(TARGETS) command
       that specifies rules specific to application bundles on the Mac.
       Projects should use this option when installing a target with the
       MACOSX_BUNDLE property set.

       The OLD behavior for this policy is to fall back to the RUNTIME
       DESTINATION if a BUNDLE DESTINATION is not given.  The NEW behavior
       for this policy is to produce an error if a bundle target is installed
       without a BUNDLE DESTINATION.

       This policy was introduced in CMake version 2.6.0.  CMake version
       2.8.0 warns when the policy is not set and uses OLD behavior.  Use the
       cmake_policy command to set it to OLD or NEW explicitly.

Now, if I check around line 79 in CMakeLists.txt I see

INSTALL(TARGETS kdesvn kdesvnaskpass kdesvnpart
    RUNTIME DESTINATION ${BIN_INSTALL_DIR}
    LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})

Is there something wrong here ? Sorry, my cmake knowledge is not that great yet ...

Poking around in the Portfile for krusader I found an 'app-install-bug.patch' patch which includes

-install(TARGETS krusader DESTINATION ${BIN_INSTALL_DIR})
+install(TARGETS krusader ${INSTALL_TARGETS_DEFAULT_ARGS})
 
which seems to be a similar thing....

Again, any advice from cmake ninjas appreciated...

cheers Chris




More information about the macports-dev mailing list