mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
[svn-r19201] Added tests that subdirectories exist before using ADD_SUBDIRECTORY CMake command
Added cache set command for default install prefix Tested: local linux
This commit is contained in:
parent
3d1da26381
commit
c1aa958992
258
CMakeLists.txt
258
CMakeLists.txt
@ -67,7 +67,7 @@ PROJECT (HDF5 C CXX)
|
||||
#
|
||||
# # Add the sub project
|
||||
# ADD_SUBDIRECTORY(Utilities/hdf5-1.8)
|
||||
# # Add the HDf5 dirs to our include path
|
||||
# # Add the HDF5 dirs to our include path
|
||||
# SET(HDF5_INCLUDE_DIR
|
||||
# ${ParaView_SOURCE_DIR}/Utilities/hdf5-1.8/src
|
||||
# ${ParaView_BINARY_DIR}/Utilities/hdf5-1.8
|
||||
@ -136,6 +136,9 @@ SET (HDF5_TOOLS_SOURCE_DIR ${HDF5_SOURCE_DIR}/tools)
|
||||
SET (HDF5_PERFORM_SOURCE_DIR ${HDF5_SOURCE_DIR}/perform)
|
||||
SET (HDF5_F90_SOURCE_DIR ${HDF5_SOURCE_DIR}/fortran)
|
||||
|
||||
# set default prefix location
|
||||
SET (CMAKE_INSTALL_PREFIX "./hdf5" CACHE PATH "Install path prefix, prepended onto install directories")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# parse the full version number from H5public.h and include in H5_VERS_INFO
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -203,7 +206,7 @@ ENDIF (NOT HDF5_EXPORTED_TARGETS)
|
||||
# add it to this variable. This is NOT used by Make Install, but for projects
|
||||
# which include hdf5 as a sub-project within their build tree
|
||||
#-----------------------------------------------------------------------------
|
||||
SET_GLOBAL_VARIABLE(HDF5_LIBRARIES_TO_EXPORT "")
|
||||
SET_GLOBAL_VARIABLE (HDF5_LIBRARIES_TO_EXPORT "")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Run all the CMake configuration tests for our build environment
|
||||
@ -240,7 +243,7 @@ IF (BUILD_SHARED_LIBS)
|
||||
ELSE (BUILD_SHARED_LIBS)
|
||||
IF (NOT WIN32)
|
||||
# should this be a user setting : Everyone uses it anyway ?
|
||||
ADD_DEFINITIONS(-DPIC)
|
||||
ADD_DEFINITIONS (-DPIC)
|
||||
ENDIF (NOT WIN32)
|
||||
IF (MSVC)
|
||||
SET (CMAKE_MFC_FLAG 0)
|
||||
@ -328,9 +331,9 @@ IF (HDF5_DISABLE_COMPILER_WARNINGS)
|
||||
CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /w")
|
||||
ENDIF (MSVC)
|
||||
IF(WIN32)
|
||||
IF (WIN32)
|
||||
ADD_DEFINITIONS (-D_CRT_SECURE_NO_WARNINGS)
|
||||
ENDIF(WIN32)
|
||||
ENDIF (WIN32)
|
||||
# Borland uses -w- to suppress warnings.
|
||||
IF (BORLAND)
|
||||
SET (HDF5_WARNINGS_BLOCKED 1)
|
||||
@ -394,7 +397,7 @@ ENDIF (H5_HAVE_PARALLEL)
|
||||
# Option to use 1.6.x API
|
||||
#-----------------------------------------------------------------------------
|
||||
OPTION (HDF5_USE_16_API_DEFAULT "Use the HDF5 1.6.x API by default" OFF)
|
||||
SET (USE_16_API_DEFAULT 0)
|
||||
SET (H5_USE_16_API_DEFAULT 0)
|
||||
IF (HDF5_USE_16_API_DEFAULT)
|
||||
SET (H5_USE_16_API_DEFAULT 1)
|
||||
ENDIF (HDF5_USE_16_API_DEFAULT)
|
||||
@ -494,14 +497,20 @@ ENDIF (HDF5_BUILD_TOOLS AND BUILD_TESTING)
|
||||
#-----------------------------------------------------------------------------
|
||||
OPTION (BUILD_TESTING "Build HDF5 Unit Testing" OFF)
|
||||
IF (BUILD_TESTING)
|
||||
SET (DART_TESTING_TIMEOUT 1200 CACHE INTEGER
|
||||
"Timeout in seconds for each test (default 1200=20minutes)")
|
||||
SET (DART_TESTING_TIMEOUT 1200
|
||||
CACHE INTEGER
|
||||
"Timeout in seconds for each test (default 1200=20minutes)"
|
||||
)
|
||||
ENABLE_TESTING ()
|
||||
INCLUDE (CTest)
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/tools/lib ${PROJECT_BINARY_DIR}/tools/lib)
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/test ${PROJECT_BINARY_DIR}/test)
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/perform ${PROJECT_BINARY_DIR}/perform)
|
||||
IF(EXISTS "${HDF5_SOURCE_DIR}/test" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/test")
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/tools/lib ${PROJECT_BINARY_DIR}/tools/lib)
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/test ${PROJECT_BINARY_DIR}/test)
|
||||
ENDIF(EXISTS "${HDF5_SOURCE_DIR}/test" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/test")
|
||||
IF(EXISTS "${HDF5_SOURCE_DIR}/perform" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/perform")
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/perform ${PROJECT_BINARY_DIR}/perform)
|
||||
ENDIF(EXISTS "${HDF5_SOURCE_DIR}/perform" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/perform")
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
INCLUDE (${HDF5_SOURCE_DIR}/CTestConfig.cmake)
|
||||
ENDIF (BUILD_TESTING)
|
||||
@ -516,7 +525,9 @@ IF (HDF5_BUILD_FORTRAN)
|
||||
# Set default name mangling : overridden by Fortran detection in fortran dir
|
||||
SET (H5_FC_FUNC "H5_FC_FUNC(name,NAME) name ## _")
|
||||
SET (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) name ## _")
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/fortran ${PROJECT_BINARY_DIR}/fortran)
|
||||
IF(EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/fortran ${PROJECT_BINARY_DIR}/fortran)
|
||||
ENDIF(EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
|
||||
ELSE (HDF5_BUILD_FORTRAN)
|
||||
SET (H5_FC_FUNC "H5_FC_FUNC(name,NAME) name ## _")
|
||||
SET (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) name ## _")
|
||||
@ -527,7 +538,9 @@ ENDIF (HDF5_BUILD_FORTRAN)
|
||||
#-----------------------------------------------------------------------------
|
||||
OPTION (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" OFF)
|
||||
IF (HDF5_BUILD_EXAMPLES)
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/examples ${PROJECT_BINARY_DIR}/examples)
|
||||
IF(EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/examples ${PROJECT_BINARY_DIR}/examples)
|
||||
ENDIF(EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
|
||||
ENDIF (HDF5_BUILD_EXAMPLES)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -535,7 +548,9 @@ ENDIF (HDF5_BUILD_EXAMPLES)
|
||||
#-----------------------------------------------------------------------------
|
||||
OPTION (HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF)
|
||||
IF (HDF5_BUILD_CPP_LIB)
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/c++ ${PROJECT_BINARY_DIR}/c++)
|
||||
IF(EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/c++ ${PROJECT_BINARY_DIR}/c++)
|
||||
ENDIF(EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
|
||||
ENDIF (HDF5_BUILD_CPP_LIB)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -543,7 +558,9 @@ ENDIF (HDF5_BUILD_CPP_LIB)
|
||||
#-----------------------------------------------------------------------------
|
||||
OPTION (HDF5_BUILD_TOOLS "Build HDF5 Tools" OFF)
|
||||
IF (HDF5_BUILD_TOOLS)
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/tools ${PROJECT_BINARY_DIR}/tools)
|
||||
IF(EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/tools ${PROJECT_BINARY_DIR}/tools)
|
||||
ENDIF(EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
|
||||
ENDIF (HDF5_BUILD_TOOLS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -551,8 +568,10 @@ ENDIF (HDF5_BUILD_TOOLS)
|
||||
#-----------------------------------------------------------------------------
|
||||
OPTION (HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" OFF)
|
||||
IF (HDF5_BUILD_HL_LIB)
|
||||
SET (H5_INCLUDE_HL 1)
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/hl ${PROJECT_BINARY_DIR}/hl)
|
||||
IF(EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
|
||||
SET (H5_INCLUDE_HL 1)
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/hl ${PROJECT_BINARY_DIR}/hl)
|
||||
ENDIF(EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
|
||||
ENDIF (HDF5_BUILD_HL_LIB)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -626,111 +645,114 @@ INSTALL (CODE
|
||||
#-----------------------------------------------------------------------------
|
||||
# Set the cpack variables
|
||||
#-----------------------------------------------------------------------------
|
||||
SET (CPACK_PACKAGE_VENDOR "The HDF Group")
|
||||
SET (CPACK_PACKAGE_NAME "${HDF5_PACKAGE_NAME}")
|
||||
SET (CPACK_PACKAGE_VERSION "${HDF5_PACKAGE_VERSION}")
|
||||
SET (CPACK_PACKAGE_VERSION_MAJOR "${HDF5_PACKAGE_VERSION_MAJOR}")
|
||||
SET (CPACK_PACKAGE_VERSION_MINOR "${HDF5_PACKAGE_VERSION_MINOR}")
|
||||
SET (CPACK_PACKAGE_VERSION_PATCH "")
|
||||
SET (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/COPYING")
|
||||
IF (NOT HDF5_EXTERNALLY_CONFIGURED AND EXISTS "${HDF5_SOURCE_DIR}/release_docs")
|
||||
SET (CPACK_PACKAGE_VENDOR "The HDF Group")
|
||||
SET (CPACK_PACKAGE_NAME "${HDF5_PACKAGE_NAME}")
|
||||
SET (CPACK_PACKAGE_VERSION "${HDF5_PACKAGE_VERSION}")
|
||||
SET (CPACK_PACKAGE_VERSION_MAJOR "${HDF5_PACKAGE_VERSION_MAJOR}")
|
||||
SET (CPACK_PACKAGE_VERSION_MINOR "${HDF5_PACKAGE_VERSION_MINOR}")
|
||||
SET (CPACK_PACKAGE_VERSION_PATCH "")
|
||||
SET (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/COPYING")
|
||||
|
||||
IF (WIN32)
|
||||
SET (CPACK_NSIS_PACKAGE_NAME "HDF5 ${HDF5_PACKAGE_VERSION}")
|
||||
ENDIF (WIN32)
|
||||
|
||||
INCLUDE (CPack)
|
||||
|
||||
IF (WIN32)
|
||||
SET (CPACK_NSIS_PACKAGE_NAME "HDF5 ${HDF5_PACKAGE_VERSION}")
|
||||
ENDIF (WIN32)
|
||||
|
||||
INCLUDE (CPack)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Now list the cpack commands
|
||||
#-----------------------------------------------------------------------------
|
||||
CPACK_ADD_COMPONENT (applications
|
||||
DISPLAY_NAME "HDF5 Applications"
|
||||
DEPENDS libraries
|
||||
GROUP Applications
|
||||
)
|
||||
CPACK_ADD_COMPONENT (libraries
|
||||
DISPLAY_NAME "HDF5 Libraries"
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (headers
|
||||
DISPLAY_NAME "HDF5 Headers"
|
||||
DEPENDS libraries
|
||||
GROUP Development
|
||||
)
|
||||
|
||||
IF (HDF5_BUILD_FORTRAN)
|
||||
CPACK_ADD_COMPONENT (fortlibraries
|
||||
DISPLAY_NAME "HDF5 Fortran Libraries"
|
||||
#---------------------------------------------------------------------------
|
||||
# Now list the cpack commands
|
||||
#---------------------------------------------------------------------------
|
||||
CPACK_ADD_COMPONENT (applications
|
||||
DISPLAY_NAME "HDF5 Applications"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (fortheaders
|
||||
DISPLAY_NAME "HDF5 Fortran Headers"
|
||||
DEPENDS fortlibraries
|
||||
GROUP Development
|
||||
)
|
||||
ENDIF (HDF5_BUILD_FORTRAN)
|
||||
|
||||
IF (HDF5_BUILD_CPP_LIB)
|
||||
CPACK_ADD_COMPONENT (cpplibraries
|
||||
DISPLAY_NAME "HDF5 C++ Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (cppheaders
|
||||
DISPLAY_NAME "HDF5 C++ Headers"
|
||||
DEPENDS cpplibraries
|
||||
GROUP Development
|
||||
)
|
||||
ENDIF (HDF5_BUILD_CPP_LIB)
|
||||
|
||||
IF (HDF5_BUILD_TOOLS)
|
||||
CPACK_ADD_COMPONENT (toolsapplications
|
||||
DISPLAY_NAME "HDF5 Tools Applications"
|
||||
DEPENDS toolslibraries
|
||||
GROUP Applications
|
||||
)
|
||||
CPACK_ADD_COMPONENT (toolslibraries
|
||||
DISPLAY_NAME "HDF5 Tools Libraries"
|
||||
CPACK_ADD_COMPONENT (libraries
|
||||
DISPLAY_NAME "HDF5 Libraries"
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (headers
|
||||
DISPLAY_NAME "HDF5 Headers"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (toolsheaders
|
||||
DISPLAY_NAME "HDF5 Tools Headers"
|
||||
DEPENDS toolslibraries
|
||||
GROUP Development
|
||||
)
|
||||
ENDIF (HDF5_BUILD_TOOLS)
|
||||
|
||||
IF (HDF5_BUILD_HL_LIB)
|
||||
CPACK_ADD_COMPONENT (hllibraries
|
||||
DISPLAY_NAME "HDF5 HL Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlheaders
|
||||
DISPLAY_NAME "HDF5 HL Headers"
|
||||
DEPENDS hllibraries
|
||||
GROUP Development
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hltoolsapplications
|
||||
DISPLAY_NAME "HDF5 HL Tools Applications"
|
||||
DEPENDS hllibraries
|
||||
GROUP Applications
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlcpplibraries
|
||||
DISPLAY_NAME "HDF5 HL C++ Libraries"
|
||||
DEPENDS hllibraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlcppheaders
|
||||
DISPLAY_NAME "HDF5 HL C++ Headers"
|
||||
DEPENDS hlcpplibraries
|
||||
GROUP Development
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlfortlibraries
|
||||
DISPLAY_NAME "HDF5 HL Fortran Libraries"
|
||||
DEPENDS fortlibraries
|
||||
GROUP Runtime
|
||||
)
|
||||
ENDIF (HDF5_BUILD_HL_LIB)
|
||||
|
||||
IF (HDF5_BUILD_FORTRAN)
|
||||
CPACK_ADD_COMPONENT (fortlibraries
|
||||
DISPLAY_NAME "HDF5 Fortran Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (fortheaders
|
||||
DISPLAY_NAME "HDF5 Fortran Headers"
|
||||
DEPENDS fortlibraries
|
||||
GROUP Development
|
||||
)
|
||||
ENDIF (HDF5_BUILD_FORTRAN)
|
||||
|
||||
IF (HDF5_BUILD_CPP_LIB)
|
||||
CPACK_ADD_COMPONENT (cpplibraries
|
||||
DISPLAY_NAME "HDF5 C++ Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (cppheaders
|
||||
DISPLAY_NAME "HDF5 C++ Headers"
|
||||
DEPENDS cpplibraries
|
||||
GROUP Development
|
||||
)
|
||||
ENDIF (HDF5_BUILD_CPP_LIB)
|
||||
|
||||
IF (HDF5_BUILD_TOOLS)
|
||||
CPACK_ADD_COMPONENT (toolsapplications
|
||||
DISPLAY_NAME "HDF5 Tools Applications"
|
||||
DEPENDS toolslibraries
|
||||
GROUP Applications
|
||||
)
|
||||
CPACK_ADD_COMPONENT (toolslibraries
|
||||
DISPLAY_NAME "HDF5 Tools Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (toolsheaders
|
||||
DISPLAY_NAME "HDF5 Tools Headers"
|
||||
DEPENDS toolslibraries
|
||||
GROUP Development
|
||||
)
|
||||
ENDIF (HDF5_BUILD_TOOLS)
|
||||
|
||||
IF (HDF5_BUILD_HL_LIB)
|
||||
CPACK_ADD_COMPONENT (hllibraries
|
||||
DISPLAY_NAME "HDF5 HL Libraries"
|
||||
DEPENDS libraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlheaders
|
||||
DISPLAY_NAME "HDF5 HL Headers"
|
||||
DEPENDS hllibraries
|
||||
GROUP Development
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hltoolsapplications
|
||||
DISPLAY_NAME "HDF5 HL Tools Applications"
|
||||
DEPENDS hllibraries
|
||||
GROUP Applications
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlcpplibraries
|
||||
DISPLAY_NAME "HDF5 HL C++ Libraries"
|
||||
DEPENDS hllibraries
|
||||
GROUP Runtime
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlcppheaders
|
||||
DISPLAY_NAME "HDF5 HL C++ Headers"
|
||||
DEPENDS hlcpplibraries
|
||||
GROUP Development
|
||||
)
|
||||
CPACK_ADD_COMPONENT (hlfortlibraries
|
||||
DISPLAY_NAME "HDF5 HL Fortran Libraries"
|
||||
DEPENDS fortlibraries
|
||||
GROUP Runtime
|
||||
)
|
||||
ENDIF (HDF5_BUILD_HL_LIB)
|
||||
|
||||
ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED AND EXISTS "${HDF5_SOURCE_DIR}/release_docs")
|
||||
|
Loading…
Reference in New Issue
Block a user