Allen, 
  But all of that is already taken care of by CMake. If the user simply runs 
cmake without any type of "-D" argument the default on Unix/Linux/OSX is to set 
CMAKE_INSTALL_PREFIX to /usr/local/hdf5. On windows it will be C:/Program 
Files/hdf5. So I am not sure what all your code is accomplishing. I think the 
CMake defaults are reasonable for each platform it is used on. If the developer 
needs something specific then they _know_ they need something else and can 
easily set that variable either through a -D argument, through ccmake or 
through the CMake-GUI application. My opinion is that this code should just be 
removed and that is one less bit of code you have to deal with and maintain.

If we are building HDF5 then I consider that a different use case than 
downloading the prebuilt HDF5 libraries. If a user is downloading the HDF5 
packages you may have different installation rules where you can have all the 
grouped packages that put stuff in "HDFGroup/HDF5-1.8.13/" and such. But if I 
have the technical knowledge to build HDF5 I most likely know where I want to 
put it. And If this is my first go around at building and installing HDF5 for 
development then when I go to install HDF5 and it throws an error about 
permissions then as a user I'd probably search and ask on the forums. I would 
rather field a few people asking what went wrong with their install and the 
easy answer is to set the CMAKE_INSTALL_PREFIX than have a LOT of developers 
trying to figure out why the defaults are not in standard location for their 
platform (at least by default). I think this goes to the POLA 
(http://www.ibm.com/developerworks/web/library/us-cranky10/index.html) of using 
HDF5 (at least with CMake). I am expecting the default install to go to a 
certain location based on my use of other software frameworks.

thoughts?
Mike Jackson

On Apr 22, 2014, at 10:30 AM, Allen Byrne <[email protected]> wrote:

> Looking at CMake source for this, CMakeGenericSystem.cmake;
> 
> # Choose a default install prefix for this platform.
> if(CMAKE_HOST_UNIX)
>  set(CMAKE_INSTALL_PREFIX "/usr/local"
>    CACHE PATH "Install path prefix, prepended onto install directories.")
> else()
>  GetDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES)
>  set(CMAKE_INSTALL_PREFIX
>    "${CMAKE_GENERIC_PROGRAM_FILES}/${PROJECT_NAME}"
>    CACHE PATH "Install path prefix, prepended onto install directories.")
>  set(CMAKE_GENERIC_PROGRAM_FILES)
> endif()
> 
> So maybe I need to fix HDF CMakeLists to just append the HDF folder:
> 
> #-----------------------------------------------------------------------------
> # Set Install folder value
> #-----------------------------------------------------------------------------
> if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
>  if (CMAKE_HOST_UNIX)
>    set (CMAKE_INSTALL_PREFIX 
> "${CMAKE_INSTALL_PREFIX}/HDF_Group/${HDF5_PACKAGE_NAME}/${HDF5_PACKAGE_VERSION}"
>      CACHE PATH "Install path prefix, prepended onto install directories." 
> FORCE)
>  else (CMAKE_HOST_UNIX)
>    GetDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES)
>    set (CMAKE_INSTALL_PREFIX
>      
> "${CMAKE_GENERIC_PROGRAM_FILES}/HDF_Group/${HDF5_PACKAGE_NAME}/${HDF5_PACKAGE_VERSION}"
>      CACHE PATH "Install path prefix, prepended onto install directories." 
> FORCE)
>    set (CMAKE_GENERIC_PROGRAM_FILES)
>  endif (CMAKE_HOST_UNIX)
> endif (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
> 
> 
> Therefore unless the user sets CMAKE_INSTALL_PREFIX, the HDF default on unix 
> would be:
> 
> /usr/local/HDF_Group/HDF5/1.8.13.
> 
> Comments?
> 
> Allen
> 
> 
> On Tuesday, April 22, 2014 09:45:27 AM Michael Jackson wrote:
>> I agree that we can not please everyone but some defaults are just "better"
>> than others. For UNIX systems I think it is pretty "rare" or at least
>> non-standard to place installed products at the "/" level so having
>> /HDFGroup goes against this "norm" that most developers are expecting.
>> 
>> I don't see a problem with setting the CMAKE_INSTALL_PREFIX on the first run
>> (or any subsequent run) of CMake to the users default.
>> 
>> cmake -DCMAKE_INSTALL_PREFIX=/Some/Path/To/HDF5 ../
>> 
>> isn't really any different than a ./configure --install ….  line so lets
>> just leave it as the CMake default value of /usr/local/ for Unix systems.
>> 
>> Thanks for the help
>> Mike Jackson
>> 
>> On Apr 22, 2014, at 9:24 AM, Allen Byrne <[email protected]> wrote:
>>> Mike,
>>> 
>>>  I hope to get Frameworks support working some time soon, but I can
>>> 
>>> understand your point.
>>> 
>>> The trouble with this is that no one is happy. I had the default and
>>> someone complained so I tried a HDF default.
>>> 
>>> I will just go with the default CMake one and leave CMAKE_INSTALL_PREFIX
>>> alone.
>>> 
>>> Allen
>>> 
>>> On Tuesday, April 22, 2014 08:47:37 AM Michael Jackson wrote:
>>>> I just tried the pre1 and the CMAKE_INSTALL_PREFIX is by default set to
>>>> /HDF_Group/HDF5/1.8.13 which is pretty non standard for OS X. I am not
>>>> sure
>>>> what the intent was but maybe leaving the default of /usr/local/ is the
>>>> better choice. /Frameworks _might_ be appropriate if frameworks were
>>>> actually being built but my vote would be to just leave it as the CMake
>>>> default value.
>>>> 
>>>> Thoughts?
>>>> ---
>>>> Mike Jackson                 www.bluequartz.net
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Hdf-forum is for HDF software users discussion.
>>>> [email protected]
>>>> http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.
>>>> org
>> _______________________________________________
>> Hdf-forum is for HDF software users discussion.
>> [email protected]
>> http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
> 


_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

Reply via email to