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
