diff options
author | Albert Cheng <acheng@hdfgroup.org> | 2014-12-09 23:26:44 (GMT) |
---|---|---|
committer | Albert Cheng <acheng@hdfgroup.org> | 2014-12-09 23:26:44 (GMT) |
commit | 158666710d1a158dc257177289aa9b110cb14d5a (patch) | |
tree | 607b629b57b6ad62fac4c061e6b6f914afd77c74 | |
parent | ff31c2bc0f24cba9bd130c144e33dfb6ac1cf773 (diff) | |
download | hdf5-158666710d1a158dc257177289aa9b110cb14d5a.zip hdf5-158666710d1a158dc257177289aa9b110cb14d5a.tar.gz hdf5-158666710d1a158dc257177289aa9b110cb14d5a.tar.bz2 |
[svn-r25872] HDFFV-8932: configure options added to enable or disable the building of
different language API's and testings. See "cmakehdf5 --help" for details.
Tested: jam using different combinations of option and verified correctness
by inspeacting libhdf5.settings output.
-rwxr-xr-x | bin/cmakehdf5 | 90 |
1 files changed, 82 insertions, 8 deletions
diff --git a/bin/cmakehdf5 b/bin/cmakehdf5 index 68a550e..58fd355 100755 --- a/bin/cmakehdf5 +++ b/bin/cmakehdf5 @@ -29,8 +29,8 @@ exit_code=0 # Cmake build options hdf5_src=../hdf5 cacheinit=$hdf5_src/config/cmake/cacheinit.cmake -build_cpp_lib=-DHDF5_BUILD_CPP_LIB:BOOL=ON # C++ interface default on -build_fortran=-DHDF5_BUILD_FORTRAN:BOOL=ON # Fortran interface default on +build_cpp_lib=-DHDF5_BUILD_CPP_LIB:BOOL=OFF # C++ interface default off +build_fortran=-DHDF5_BUILD_FORTRAN:BOOL=OFF # Fortran interface default off build_hl_lib=-DHDF5_BUILD_HL_LIB:BOOL=ON # High Level interface default on build_testing=-DBUILD_TESTING:BOOL=ON # Build tests default on build_tools=-DHDF5_BUILD_TOOLS:BOOL=ON # Build tools default on @@ -40,12 +40,33 @@ build_tools=-DHDF5_BUILD_TOOLS:BOOL=ON # Build tools default on # Function definitions #============= -# Show user help page +# Show user brief help page +HELP_BRIEF() +{ +cat << EOF +Usage: $progname [options] + --help: shows details help page +EOF +} + +# Show user detail help page HELP() { - echo "Usage: $progname [--script]" - echo " --script: Use the ctest scripting method of $progname" - echo "" +cat << EOF +Usage: $progname [<options>] + where options are: + --enable-fortran | --disable-fortran: + enable or disable fortran API. Default is off. + --enable-cxx | --disable-cxx: + enable or disable c++ API. Default is off. + --enable-hl | --disable-hl: + enable or disable high level API. Default is on. + --enable-tools | --disable-tools: + enable or disable building tools. Default is on. + --enable-testing | --disable-testing: + enable or disable building tests. Default is on. + --help: shows details help page +EOF } # Display a time stamp @@ -86,8 +107,61 @@ STEP() # Show a start time stamp TIMESTAMP -# Always display the help page -HELP +# Parse Cmake configure options +# --enable-XXX or --disable-XXX will enable or disable feature XXX. +# XXX can be: +# fortran Fortran interface +# cxx C++ interface +# hl Highlevel interface +# testing Build tests +# tools Build tools +while [ $# -gt 0 ]; do + case "$1" in + --enable-fortran) + build_fortran=-DHDF5_BUILD_FORTRAN:BOOL=ON + ;; + --disable-fortran) + build_fortran=-DHDF5_BUILD_FORTRAN:BOOL=OFF + ;; + --enable-cxx) + build_cpp_lib=-DHDF5_BUILD_CPP_LIB:BOOL=ON + ;; + --disable-cxx) + build_cpp_lib=-DHDF5_BUILD_CPP_LIB:BOOL=OFF + ;; + --enable-hl) + build_hl_lib=-DHDF5_BUILD_HL_LIB:BOOL=ON + ;; + --disable-hl) + build_hl_lib=-DHDF5_BUILD_HL_LIB:BOOL=OFF + ;; + --enable-tools) + build_tools=-DHDF5_BUILD_TOOLS:BOOL=ON + ;; + --disable-tools) + build_tools=-DHDF5_BUILD_TOOLS:BOOL=OFF + ;; + --enable-testing) + build_testing=-DBUILD_TESTING:BOOL=ON + ;; + --disable-testing) + build_testing=-DBUILD_TESTING:BOOL=OFF + ;; + --help) + # print the detail help page and exit + HELP + exit 0 + ;; + *) + echo "Unknown options" + HELP + ;; + esac + shift +done + +# Always display the brief help page +HELP_BRIEF # Verify there is a valid hdf5 source directory present if [ ! -d $srcdir ]; then |