Re: [CMake] [Spam] Re: EXECUTABLE_OUTPUT_PATH vs CMAKE_RUNTIME_OUTPUT_DIRECTORY

2008-03-04 Thread Gonzalo Garramuño

Andreas Pakulat wrote:

On 04.03.08 10:51:10, Gonzalo Garramuño wrote:

Alexander Neundorf wrote:

Brad just documented this a few days ago:
http://www.cmake.org/pipermail/cmake-commits/2008-February/00.html

This is a pretty horrible and drastic change with no heads up.  Why was the 
variable name change even needed?  I have tons of code already coded that 
depends on those variables.


So? There's nowhere stated that those variables go away, they are just
deprecated and you shouldn't use them. 


Well...  That's what deprecated is.  It means the variables may go away 
or not work properly anymore in either a current or future cmake 
version.  It also means they are no longer supported (bugs, etc).



Apart from that that only applies
to CMake 2.6, everythings fine if your projects require CMake 2.4.



Well, I'm using cmake 2.5 from SVN.  I'm trying to understand what does 
the name change even accomplish?  If the renaming had been to make the 
variables prefixed with CMAKE_*, I would understand it as a 
consolidation with other cmake variables.  But as is, I don't get the 
need for the change at all.



Also, from an API perspective, I find this hilarious:

ARCHIVE_OUTPUT_DIRECTORY, LIBRARY_OUTPUT_PATH, and RUNTIME_OUTPUT_DIRECTORY

Either name them all DIRECTORY or PATH to be consistent.


--
Gonzalo Garramuño
[EMAIL PROTECTED]

AMD4400 - ASUS48N-E
GeForce7300GT
Xubuntu Gutsy
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] [Spam] Re: EXECUTABLE_OUTPUT_PATH vs CMAKE_RUNTIME_OUTPUT_DIRECTORY

2008-03-04 Thread Brad King
Gonzalo Garramuño wrote:
 Andreas Pakulat wrote:
 On 04.03.08 10:51:10, Gonzalo Garramuño wrote:
 Alexander Neundorf wrote:
 Brad just documented this a few days ago:
 http://www.cmake.org/pipermail/cmake-commits/2008-February/00.html

 This is a pretty horrible and drastic change with no heads up.  Why
 was the variable name change even needed?  I have tons of code
 already coded that depends on those variables.

 So? There's nowhere stated that those variables go away, they are just
 deprecated and you shouldn't use them. 
 
 Well...  That's what deprecated is.  It means the variables may go away
 or not work properly anymore in either a current or future cmake
 version.  It also means they are no longer supported (bugs, etc).

The term deprecated does not appear in the documentation.  They will
probably never go away and their meaning will not change.

 Apart from that that only applies
 to CMake 2.6, everythings fine if your projects require CMake 2.4.

 
 Well, I'm using cmake 2.5 from SVN.  I'm trying to understand what does
 the name change even accomplish?  If the renaming had been to make the
 variables prefixed with CMAKE_*, I would understand it as a
 consolidation with other cmake variables.  But as is, I don't get the
 need for the change at all.

There are two problems with the old variables:

  - They are scoped per-directory instead of per-target

  - On Windows the .dll and .lib both go to LIBRARY_OUTPUT_PATH
but the .dll should go to EXECUTABLE_OUTPUT_PATH

Neither of these can ever be changed for compatibility reasons.  Instead
we inroduced the ARCHIVE_OUTPUT_DIRECTORY, LIBRARY_OUTPUT_DIRECTORY, and
RUNTIME_OUTPUT_DIRECTORY target properties.  These are scoped per-target
and have the correct meaning for .dll/.lib separation on Windows.  The
CMAKE_*_OUTPUT_DIRECTORY variables are used to initialize the properties
to make it easy for users to set them globally if desired.

 Also, from an API perspective, I find this hilarious:
 
 ARCHIVE_OUTPUT_DIRECTORY, LIBRARY_OUTPUT_PATH, and RUNTIME_OUTPUT_DIRECTORY
 
 Either name them all DIRECTORY or PATH to be consistent.

It is LIBRARY_OUTPUT_DIRECTORY.  That was a typo in the documentation of
the old LIBRARY_OUTPUT_PATH variable which I've now fixed.

-Brad
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake