[CMake] cmake 2.4.8 RC 4

Bill Hoffman bill.hoffman at kitware.com
Sat Dec 22 16:24:52 EST 2007


Mike Jackson wrote:
> 
> 
> On Dec 22, 2007, at 1:00 PM, Bill Hoffman wrote:
> 
>> Mike Jackson wrote:
>>> Install textmate, open a terminal and type 'mate new.txt' and 
>>> Textmate will open a new text document titled "new.txt".
>>> Try 'grep -R "something" * | mate" and watch your grep results show 
>>> up in a new TextMate document.
>>> Textmate is a Drag and Drop install. It has combined cli and gui. How 
>>> is this different than cmake?
>>
>> So, how does it work?  Where is mate installed?  I have one simple 
>> requirement:
>>
>> 1. you install cmake
>> 2. you can run it from the command line, or from the gui without 
>> modifying additional things.
>>
>> I don't think that is too much to ask.  If the user has to edit 
>> .profile or something else, I don't think it is acceptable.  I will 
>> get complaints, "I installed cmake, and I run cmake and it says file 
>> not found."  Saying that cmake is for developers is not true.  People 
>> use CMake to build things like ParaView.  They may not be developers 
>> at all, they just want to build some open source tool.
>>
>> The crazy part, is that there is almost no direction from Apple on 
>> this.   I searched and searched but was unable to find any docs on 
>> this from Apple.  If someone could point to some direction from Apple 
>> on this I would appreciate it.  At this point, we can find some apps 
>> installing in /usr/bin and others installing in other places. But, I 
>> really don't care where it goes as long as my two conditions are met.  
>> I certainly have not found any thing from Apple saying please do not 
>> install into /usr/bin.  Of course if it is going to require changes to 
>> CPack, it will have to wait for 2.6.  I am open to suggestions, I just 
>> have a requirement, which I don't think is unreasonable.
>>
>> -Bill
>>
> 
> Bill, your requirements are NOT unreasonable at all. I agree that the 
> lack of direction from Apple is a problem on this. All my posts and 
> opinions come from using OS X since the Public Beta (10.0.0) days and 
> seeing what types of things can happen when Apple updates the system. 
> Does any of this really effect me personally NO, I just build CMake and 
> install where I want. I was just trying to add my personal experience to 
> the mix to help out.
>   Now regarding TextMate. It is a Drag and Drop install. I have mine in 
> /Applications/UniversalBinary. You launch Textmate normally and the 
> first time it launches it will ask you if you would like to install 
> symlinks in one of several locations that link back to Textmate's 
> application bunndle (See attached images). If you move Textmate and need 
> to reinstall the symlinks you can use the "Help" menu in Textmate to 
> reset the symlinks. I can imagine something similar to this for CMake. 
> Drag and Drop to install, launch it at least once and let the user 
> select where to put the symlinks, the default being /usr/bin (That way 
> it will stay on the path). The rest of us can select /usr/local/bin or 
> where ever else we want it.
> 
> Since this is dependent on the CMake gui then this will have to wait for 
> 2.6 to be released. In the mean time you can just keep doing what you 
> are doing now. I don't think you can let the user select where to 
> install it because my guess is that in the cmake code there are 
> dependencies on the installation path so cmake knows where to find all 
> of its modules.

Actually, no, cmake works all relative to where it is installed.  So, we 
might be able to modify the installer to allow the user to pick a 
destination, with a warning that it should be in the PATH, but the 
default will stay /usr/bin.

> So, in summary, for 2.4.8 continue doing what you have done in the past. 
> (While I disagree, there are better things to come in the future).
>  For the 2.6 release let's look at using a Drag-and-Drop installation 
> routine with symlinks setup by the Qt based gui, at least for OS X. If 
> you would like to point me to some places in the cmake code that depend 
> on the installation path, or at least where cmake is installed I can 
> starting hacking on it to see if I can get the needed functionality in 
> place.
> 

I am still not sold on this idea, that you have to run the GUI once. 
CMake by nature and history (did not even have one on the mac), did not 
require running anything after installation.    TextMate is an editor, 
people will run it after they install it.  With cmake, people may want 
to run ccmake or just cmake without ever touching the GUI.  They may 
never ever run the GUI, and still expect stuff to work. I don't think a 
functioning command line can depend on the GUI running at least once. I 
still don't see the reason for the strong resistance to using an 
installer program.  Many Apple products including Xcode use one.

-Bill


More information about the CMake mailing list