I posted the wrong link for "POLA"

This is a better one
http://www.faqs.org/docs/artu/ch11s01.html

Mike Jackson


On Apr 22, 2014, at 10:43 AM, Michael Jackson <[email protected]> 
wrote:

> 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