Re: [CMake] BundleUtilities Error between 2.8.3 and 2.8.4

2011-03-31 Thread Michael Jackson
So things did majorly change between the two versions. My questions are now 1) 
How do I fixup an executable that is NOT an application bundle and 2) Do I 
now need to supply my own copy rules for things like Qt Frameworks, 3rd party, 
but non-system libraries? 

Thanks
___
Mike Jackson  www.bluequartz.net


On Mar 30, 2011, at 11:45 PM, clin...@elemtech.com wrote:

 I think you are running into an error message introduced with this commit.
 cmake.org/gitweb?p=cmake.git;a=commit;h=c2895f48a4e79af49937b9e6a260076440b1a67a
 You can read about the change which was to prevent problems.
 Does it not apply to you and its being too restrictive?
 
 Clint
 
 - Reply message -
 From: Michael Jackson mike.jack...@bluequartz.net
 Date: Wed, Mar 30, 2011 4:50 pm
 Subject: [CMake] BundleUtilities Error between 2.8.3 and 2.8.4
 To: CMake ML cmake@cmake.org
 
 Were there any major changes to the BundleUtilities.cmake file between 2.8.3 
 and 2.8.4? I have a project that installs just fine when running against 
 CMake 2.8.3 but when using CMake 2.8.4 it errors out somewhere in 
 BundleUtilities. I was wondering if there were any major changes to that file 
 that would have caused issues when I upgraded. 
 
 OS X 10.6.7, CMake 2.8.3 Xcode 3.2.x tool set.
 
 Here is the output from the make install
 -- # Starting OS X Tool Fixup --
 -- fixup_bundle
 --   app='/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
 --   libs=''
 --   
 dirs='/Users/mjackson/Workspace/EIM-emmpm/Build/Bin;/Users/mjackson/Workspace/EIM-emmpm/Build/Bin'
 -- fixup_bundle: preparing...
 -- fixup_bundle: copying...
 -- 1/6: *NOT* copying '/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
 -- 2/6: copying '/Users/Shared/Toolkits/tiff/lib/libtiff_debug.dylib'
 -- 3/6: copying 
 '/Users/mjackson/Workspace/EIM-emmpm/Build/Bin/libEMMPMLib_debug.dylib'
 -- fixup_bundle: fixing...
 -- 4/6: fixing up '/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
  exe_dotapp_dir/='/Users/Shared/Toolkits/emmpm/tools.app/'
  item_substring='/Users/Shared/Toolkits/emmpm/tools/emmp'
  resolved_embedded_item='/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
 
 Install or copy the item into the bundle before calling fixup_bundle
 
 CMake Error at 
 /Users/Shared/Toolkits/CMake-2.8.4/CMake-2.8.4.app/Contents/share/cmake-2.8/Modules/BundleUtilities.cmake:557
  (message):
  cannot fixup an item that is not in the bundle...
 Call Stack (most recent call first):
  
 /Users/Shared/Toolkits/CMake-2.8.4/CMake-2.8.4.app/Contents/share/cmake-2.8/Modules/BundleUtilities.cmake:645
  (fixup_bundle_item)
  apps/OSX_Scripts/emmpm_CompleteBundle.cmake:86 (fixup_bundle)
  apps/cmake_install.cmake:44 (INCLUDE)
  cmake_install.cmake:33 (INCLUDE)
 
 
 The library (EMMPMLib) is located in 
 /Users/mjackson/Workspace/EIM-emmpm/Build/Bin and the executable is located 
 in /Users/Shared/Toolkits/emmpm/tools/ with a name of emmpm_debug. Note that 
 emmpm_debug is a command line application and NOT an actual .app bundle.
 
 Then source to the project is located at http://scm.bluequartz.net/eim/emmpm
 
 
 Thanks
 ___
 Mike Jackson  www.bluequartz.net
 Principal Software Engineer   mike.jack...@bluequartz.net 
 BlueQuartz Software   Dayton, Ohio
 
 ___
 Powered by www.kitware.com
 
 Visit other Kitware open-source projects at 
 http://www.kitware.com/opensource/opensource.html
 
 Please keep messages on-topic and check the CMake FAQ at: 
 http://www.cmake.org/Wiki/CMake_FAQ
 
 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake
 
 
 ___
 Powered by www.kitware.com
 
 Visit other Kitware open-source projects at 
 http://www.kitware.com/opensource/opensource.html
 
 Please keep messages on-topic and check the CMake FAQ at: 
 http://www.cmake.org/Wiki/CMake_FAQ
 
 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake

___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] BundleUtilities Error between 2.8.3 and 2.8.4

2011-03-31 Thread David Cole
On Thu, Mar 31, 2011 at 8:29 AM, Michael Jackson 
mike.jack...@bluequartz.net wrote:

 So things did majorly change between the two versions. My questions are now
 1) How do I fixup an executable that is NOT an application bundle and 2)
 Do I now need to supply my own copy rules for things like Qt Frameworks, 3rd
 party, but non-system libraries?


1) Now that we're strictly producing an error out when a file is not
inside the bundle, fixing up a plain command line executable that is not
inside a bundle structure on the Mac has been made ill defined
(inadvertently...)

We do not have a test in the CMake test suite of calling fixup_bundle on
such a creature. If we did, I would have caught this immediately when making
that change.

As a possible workaround (not 100% certain it will work, but I think it
should), pretend your app is in a bundle simply by naming its containing
directory with a name ending in .app. You could even fake it out by
renaming the directory to have the .app, calling fixup_bundle, and then
renaming the dir back to its original name. This is a workaround (*cough*
hack *cough*), and only suggested so you can use it immediately if it works
for you...

In the meantime, this should be fixed to deal with this case on the Mac,
since it does essentially the same thing on Windows and Linux, where there
is no convention of a bundle structure...

We need a new test added that is shown to fail presently, and then a fix to
make it pass, while still maintaining all our other existing fixup_bundle
behavior.

2) You need to supply install rules for dynamically loaded shared
libraries (like plugins) -- fixup_bundle will only copy in files that it
determines are necessary based on otool -L output. It no longer copies in
the ${libs} list as it used to in CMake 2.8.3 and earlier.

(Which is why we added the error message to 2.8.4 -- to explicitly call
attention to the fact that we inadvertently changed the behavior with one of
the bug fixes we allowed in the 2.8.3 release...)


Sorry for the hassle,
David




 Thanks
 ___
 Mike Jackson  www.bluequartz.net


 On Mar 30, 2011, at 11:45 PM, clin...@elemtech.com wrote:

  I think you are running into an error message introduced with this
 commit.
  
 cmake.org/gitweb?p=cmake.git;a=commit;h=c2895f48a4e79af49937b9e6a260076440b1a67a
 
  You can read about the change which was to prevent problems.
  Does it not apply to you and its being too restrictive?
 
  Clint
 
  - Reply message -
  From: Michael Jackson mike.jack...@bluequartz.net
  Date: Wed, Mar 30, 2011 4:50 pm
  Subject: [CMake] BundleUtilities Error between 2.8.3 and 2.8.4
  To: CMake ML cmake@cmake.org
 
  Were there any major changes to the BundleUtilities.cmake file between
 2.8.3 and 2.8.4? I have a project that installs just fine when running
 against CMake 2.8.3 but when using CMake 2.8.4 it errors out somewhere in
 BundleUtilities. I was wondering if there were any major changes to that
 file that would have caused issues when I upgraded.
 
  OS X 10.6.7, CMake 2.8.3 Xcode 3.2.x tool set.
 
  Here is the output from the make install
  -- # Starting OS X Tool Fixup --
  -- fixup_bundle
  --   app='/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
  --   libs=''
  --
 dirs='/Users/mjackson/Workspace/EIM-emmpm/Build/Bin;/Users/mjackson/Workspace/EIM-emmpm/Build/Bin'
  -- fixup_bundle: preparing...
  -- fixup_bundle: copying...
  -- 1/6: *NOT* copying '/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
  -- 2/6: copying '/Users/Shared/Toolkits/tiff/lib/libtiff_debug.dylib'
  -- 3/6: copying
 '/Users/mjackson/Workspace/EIM-emmpm/Build/Bin/libEMMPMLib_debug.dylib'
  -- fixup_bundle: fixing...
  -- 4/6: fixing up '/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
   exe_dotapp_dir/='/Users/Shared/Toolkits/emmpm/tools.app/'
   item_substring='/Users/Shared/Toolkits/emmpm/tools/emmp'
   resolved_embedded_item='/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
 
  Install or copy the item into the bundle before calling fixup_bundle
 
  CMake Error at
 /Users/Shared/Toolkits/CMake-2.8.4/CMake-2.8.4.app/Contents/share/cmake-2.8/Modules/BundleUtilities.cmake:557
 (message):
   cannot fixup an item that is not in the bundle...
  Call Stack (most recent call first):
 
  
 /Users/Shared/Toolkits/CMake-2.8.4/CMake-2.8.4.app/Contents/share/cmake-2.8/Modules/BundleUtilities.cmake:645
 (fixup_bundle_item)
   apps/OSX_Scripts/emmpm_CompleteBundle.cmake:86 (fixup_bundle)
   apps/cmake_install.cmake:44 (INCLUDE)
   cmake_install.cmake:33 (INCLUDE)
 
 
  The library (EMMPMLib) is located in
 /Users/mjackson/Workspace/EIM-emmpm/Build/Bin and the executable is located
 in /Users/Shared/Toolkits/emmpm/tools/ with a name of emmpm_debug. Note that
 emmpm_debug is a command line application and NOT an actual .app bundle.
 
  Then source to the project is located at
 http://scm.bluequartz.net/eim/emmpm
 
 
  Thanks

Re: [CMake] BundleUtilities Error between 2.8.3 and 2.8.4

2011-03-31 Thread Michael Jackson
http://public.kitware.com/Bug/view.php?id=12034

I'll wait for 2.8.5 before my next upgrade rather than spend time introducing 
hacks/workarounds then have to undo everything when the bug is fixed.
___
Mike Jackson  www.bluequartz.net
Principal Software Engineer   mike.jack...@bluequartz.net 
BlueQuartz Software   Dayton, Ohio

On Mar 31, 2011, at 12:01 PM, David Cole wrote:

 On Thu, Mar 31, 2011 at 8:29 AM, Michael Jackson 
 mike.jack...@bluequartz.net wrote:
 So things did majorly change between the two versions. My questions are now 
 1) How do I fixup an executable that is NOT an application bundle and 2) Do 
 I now need to supply my own copy rules for things like Qt Frameworks, 3rd 
 party, but non-system libraries?
 
 1) Now that we're strictly producing an error out when a file is not inside 
 the bundle, fixing up a plain command line executable that is not inside a 
 bundle structure on the Mac has been made ill defined (inadvertently...)
 
 We do not have a test in the CMake test suite of calling fixup_bundle on such 
 a creature. If we did, I would have caught this immediately when making that 
 change.
 
 As a possible workaround (not 100% certain it will work, but I think it 
 should), pretend your app is in a bundle simply by naming its containing 
 directory with a name ending in .app. You could even fake it out by 
 renaming the directory to have the .app, calling fixup_bundle, and then 
 renaming the dir back to its original name. This is a workaround (*cough* 
 hack *cough*), and only suggested so you can use it immediately if it works 
 for you...
 
 In the meantime, this should be fixed to deal with this case on the Mac, 
 since it does essentially the same thing on Windows and Linux, where there is 
 no convention of a bundle structure...
 
 We need a new test added that is shown to fail presently, and then a fix to 
 make it pass, while still maintaining all our other existing fixup_bundle 
 behavior.
 
 2) You need to supply install rules for dynamically loaded shared libraries 
 (like plugins) -- fixup_bundle will only copy in files that it determines are 
 necessary based on otool -L output. It no longer copies in the ${libs} list 
 as it used to in CMake 2.8.3 and earlier.
 
 (Which is why we added the error message to 2.8.4 -- to explicitly call 
 attention to the fact that we inadvertently changed the behavior with one of 
 the bug fixes we allowed in the 2.8.3 release...)
 

___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


[CMake] BundleUtilities Error between 2.8.3 and 2.8.4

2011-03-30 Thread Michael Jackson
Were there any major changes to the BundleUtilities.cmake file between 2.8.3 
and 2.8.4? I have a project that installs just fine when running against CMake 
2.8.3 but when using CMake 2.8.4 it errors out somewhere in BundleUtilities. I 
was wondering if there were any major changes to that file that would have 
caused issues when I upgraded. 

OS X 10.6.7, CMake 2.8.3 Xcode 3.2.x tool set.

Here is the output from the make install
-- # Starting OS X Tool Fixup --
-- fixup_bundle
--   app='/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
--   libs=''
--   
dirs='/Users/mjackson/Workspace/EIM-emmpm/Build/Bin;/Users/mjackson/Workspace/EIM-emmpm/Build/Bin'
-- fixup_bundle: preparing...
-- fixup_bundle: copying...
-- 1/6: *NOT* copying '/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
-- 2/6: copying '/Users/Shared/Toolkits/tiff/lib/libtiff_debug.dylib'
-- 3/6: copying 
'/Users/mjackson/Workspace/EIM-emmpm/Build/Bin/libEMMPMLib_debug.dylib'
-- fixup_bundle: fixing...
-- 4/6: fixing up '/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
  exe_dotapp_dir/='/Users/Shared/Toolkits/emmpm/tools.app/'
  item_substring='/Users/Shared/Toolkits/emmpm/tools/emmp'
  resolved_embedded_item='/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'

Install or copy the item into the bundle before calling fixup_bundle

CMake Error at 
/Users/Shared/Toolkits/CMake-2.8.4/CMake-2.8.4.app/Contents/share/cmake-2.8/Modules/BundleUtilities.cmake:557
 (message):
  cannot fixup an item that is not in the bundle...
Call Stack (most recent call first):
  
/Users/Shared/Toolkits/CMake-2.8.4/CMake-2.8.4.app/Contents/share/cmake-2.8/Modules/BundleUtilities.cmake:645
 (fixup_bundle_item)
  apps/OSX_Scripts/emmpm_CompleteBundle.cmake:86 (fixup_bundle)
  apps/cmake_install.cmake:44 (INCLUDE)
  cmake_install.cmake:33 (INCLUDE)


The library (EMMPMLib) is located in 
/Users/mjackson/Workspace/EIM-emmpm/Build/Bin and the executable is located in 
/Users/Shared/Toolkits/emmpm/tools/ with a name of emmpm_debug. Note that 
emmpm_debug is a command line application and NOT an actual .app bundle.

Then source to the project is located at http://scm.bluequartz.net/eim/emmpm


Thanks
___
Mike Jackson  www.bluequartz.net
Principal Software Engineer   mike.jack...@bluequartz.net 
BlueQuartz Software   Dayton, Ohio

___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] BundleUtilities Error between 2.8.3 and 2.8.4

2011-03-30 Thread clin...@elemtech.com
I think you are running into an error message introduced with this commit.
cmake.org/gitweb?p=cmake.git;a=commit;h=c2895f48a4e79af49937b9e6a260076440b1a67a
You can read about the change which was to prevent problems.
Does it not apply to you and its being too restrictive?

Clint

- Reply message -
From: Michael Jackson mike.jack...@bluequartz.net
Date: Wed, Mar 30, 2011 4:50 pm
Subject: [CMake] BundleUtilities Error between 2.8.3 and 2.8.4
To: CMake ML cmake@cmake.org

Were there any major changes to the BundleUtilities.cmake file between 2.8.3 
and 2.8.4? I have a project that installs just fine when running against CMake 
2.8.3 but when using CMake 2.8.4 it errors out somewhere in BundleUtilities. I 
was wondering if there were any major changes to that file that would have 
caused issues when I upgraded. 

OS X 10.6.7, CMake 2.8.3 Xcode 3.2.x tool set.

Here is the output from the make install
-- # Starting OS X Tool Fixup --
-- fixup_bundle
--   app='/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
--   libs=''
--   
dirs='/Users/mjackson/Workspace/EIM-emmpm/Build/Bin;/Users/mjackson/Workspace/EIM-emmpm/Build/Bin'
-- fixup_bundle: preparing...
-- fixup_bundle: copying...
-- 1/6: *NOT* copying '/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
-- 2/6: copying '/Users/Shared/Toolkits/tiff/lib/libtiff_debug.dylib'
-- 3/6: copying 
'/Users/mjackson/Workspace/EIM-emmpm/Build/Bin/libEMMPMLib_debug.dylib'
-- fixup_bundle: fixing...
-- 4/6: fixing up '/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'
  exe_dotapp_dir/='/Users/Shared/Toolkits/emmpm/tools.app/'
  item_substring='/Users/Shared/Toolkits/emmpm/tools/emmp'
  resolved_embedded_item='/Users/Shared/Toolkits/emmpm/tools/emmpm_debug'

Install or copy the item into the bundle before calling fixup_bundle

CMake Error at 
/Users/Shared/Toolkits/CMake-2.8.4/CMake-2.8.4.app/Contents/share/cmake-2.8/Modules/BundleUtilities.cmake:557
 (message):
  cannot fixup an item that is not in the bundle...
Call Stack (most recent call first):
  
/Users/Shared/Toolkits/CMake-2.8.4/CMake-2.8.4.app/Contents/share/cmake-2.8/Modules/BundleUtilities.cmake:645
 (fixup_bundle_item)
  apps/OSX_Scripts/emmpm_CompleteBundle.cmake:86 (fixup_bundle)
  apps/cmake_install.cmake:44 (INCLUDE)
  cmake_install.cmake:33 (INCLUDE)


The library (EMMPMLib) is located in 
/Users/mjackson/Workspace/EIM-emmpm/Build/Bin and the executable is located in 
/Users/Shared/Toolkits/emmpm/tools/ with a name of emmpm_debug. Note that 
emmpm_debug is a command line application and NOT an actual .app bundle.

Then source to the project is located at http://scm.bluequartz.net/eim/emmpm


Thanks
___
Mike Jackson  www.bluequartz.net
Principal Software Engineer   mike.jack...@bluequartz.net 
BlueQuartz Software   Dayton, Ohio

___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake