[svn-r27364] Add Mac Framework support

This commit is contained in:
Allen Byrne 2015-07-09 11:56:16 -05:00
parent 7a72d82cda
commit 8bbe712961
24 changed files with 173 additions and 145 deletions

View File

@ -79,7 +79,7 @@ configure_package_config_file (
#-----------------------------------------------------------------------------
if (NOT HDF5_EXTERNALLY_CONFIGURED)
configure_file (
${HDF_RESOURCES_DIR}/FindHDF5.cmake.in
${HDF_RESOURCES_DIR}/FindHDF5.cmake.in
${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindHDF5${HDF_PACKAGE_EXT}.cmake @ONLY
)
install (
@ -134,7 +134,7 @@ else (H5_WORDS_BIGENDIAN)
set (BYTESEX little-endian)
endif (H5_WORDS_BIGENDIAN)
configure_file (
${HDF_RESOURCES_DIR}/libhdf5.settings.cmake.in
${HDF_RESOURCES_DIR}/libhdf5.settings.cmake.in
${HDF5_BINARY_DIR}/libhdf5.settings @ONLY
)
install (
@ -167,7 +167,7 @@ install (
option (HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF)
if (HDF5_PACK_EXAMPLES)
configure_file (
${HDF_RESOURCES_DIR}/HDF518_Examples.cmake.in
${HDF_RESOURCES_DIR}/HDF518_Examples.cmake.in
${HDF5_BINARY_DIR}/HDF518_Examples.cmake @ONLY
)
install (
@ -182,7 +182,7 @@ if (HDF5_PACK_EXAMPLES)
install (
DIRECTORY ${HDF5_BINARY_DIR}/HDF5Examples-0.1.1-Source
DESTINATION ${HDF5_INSTALL_DATA_DIR}
USE_SOURCE_PERMISSIONS
USE_SOURCE_PERMISSIONS
COMPONENT hdfdocuments
)
install (
@ -298,13 +298,13 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}")
set (CPACK_PACKAGE_ICON "${HDF_RESOURCES_EXT_DIR}/hdf.bmp")
set (CPACK_GENERATOR "TGZ")
set (CPACK_GENERATOR "TGZ")
if (WIN32)
set (CPACK_GENERATOR "ZIP")
set (CPACK_GENERATOR "ZIP")
if (NSIS_EXECUTABLE)
list (APPEND CPACK_GENERATOR "NSIS")
endif (NSIS_EXECUTABLE)
if (NSIS_EXECUTABLE)
list (APPEND CPACK_GENERATOR "NSIS")
endif (NSIS_EXECUTABLE)
# Installers for 32- vs. 64-bit CMake:
# - Root install directory (displayed to end user at installer-run time)
# - "NSIS package/display name" (text used in the installer GUI)
@ -327,10 +327,10 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}\\\\${CPACK_PACKAGE_NAME}\\\\${CPACK_PACKAGE_VERSION}")
set (CPACK_NSIS_CONTACT "${HDF5_PACKAGE_BUGREPORT}")
set (CPACK_NSIS_MODIFY_PATH ON)
if (WIX_EXECUTABLE)
list (APPEND CPACK_GENERATOR "WIX")
endif (WIX_EXECUTABLE)
if (WIX_EXECUTABLE)
list (APPEND CPACK_GENERATOR "WIX")
endif (WIX_EXECUTABLE)
#WiX variables
set (CPACK_WIX_UNINSTALL "1")
# .. variable:: CPACK_WIX_LICENSE_RTF
@ -375,30 +375,24 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
set(CPACK_WIX_PATCH_FILE "${HDF_RESOURCES_DIR}/patch.xml")
endif (BUILD_SHARED_LIBS)
elseif (APPLE)
list (APPEND CPACK_GENERATOR "DragNDrop")
list (APPEND CPACK_GENERATOR "DragNDrop")
set (CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON)
set (CPACK_PACKAGING_INSTALL_PREFIX "/${CPACK_PACKAGE_INSTALL_DIRECTORY}")
set (CPACK_PACKAGE_ICON "${HDF_RESOURCES_EXT_DIR}/hdf.icns")
option (HDF5_PACK_MACOSX_BUNDLE "Package the HDF5 Library in a Bundle" OFF)
if (HDF5_PACK_MACOSX_BUNDLE)
list (APPEND CPACK_GENERATOR "Bundle")
option (HDF5_PACK_MACOSX_FRAMEWORK "Package the HDF5 Library in a Frameworks" OFF)
if (HDF5_PACK_MACOSX_FRAMEWORK AND HDF5_BUILD_FRAMEWORKS)
set (CPACK_BUNDLE_NAME "${HDF5_PACKAGE_STRING}")
set (CPACK_BUNDLE_LOCATION "/") # make sure CMAKE_INSTALL_PREFIX ends in /
set (CMAKE_INSTALL_PREFIX "/${CPACK_BUNDLE_NAME}.framework/Versions/${CPACK_PACKAGE_VERSION}/${CPACK_PACKAGE_NAME}/")
set (CPACK_BUNDLE_ICON "${HDF_RESOURCES_EXT_DIR}/hdf.icns")
set (CPACK_BUNDLE_PLIST "${HDF5_BINARY_DIR}/CMakeFiles/Info.plist")
set (CPACK_APPLE_GUI_INFO_STRING "HDF5 (Hierarchical Data Format 5) Software Library and Utilities")
set (CPACK_APPLE_GUI_COPYRIGHT "Copyright © 2006-2015 by The HDF Group. All rights reserved.")
set (CPACK_SHORT_VERSION_STRING "${CPACK_PACKAGE_VERSION}")
set (CPACK_APPLE_GUI_BUNDLE_NAME "${HDF5_PACKAGE_STRING}")
set (CPACK_APPLE_GUI_VERSION_STRING "${CPACK_PACKAGE_VERSION_STRING}")
set (CPACK_APPLE_GUI_SHORT_VERSION_STRING "${CPACK_PACKAGE_VERSION}")
#-----------------------------------------------------------------------------
# Configure the Info.plist file for the install bundle
#-----------------------------------------------------------------------------
configure_file (
${HDF_RESOURCES_EXT_DIR}/CPack.Info.plist.in
${HDF_RESOURCES_DIR}/CPack.Info.plist.in
${HDF5_BINARY_DIR}/CMakeFiles/Info.plist @ONLY
)
configure_file (
@ -411,19 +405,18 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
)
install (
FILES ${HDF5_BINARY_DIR}/CMakeFiles/PkgInfo
${HDF5_BINARY_DIR}/CMakeFiles/version.plist
DESTINATION ..
)
endif (HDF5_PACK_MACOSX_BUNDLE)
endif (HDF5_PACK_MACOSX_FRAMEWORK AND HDF5_BUILD_FRAMEWORKS)
else (WIN32)
list (APPEND CPACK_GENERATOR "STGZ")
list (APPEND CPACK_GENERATOR "STGZ")
set (CPACK_PACKAGING_INSTALL_PREFIX "/${CPACK_PACKAGE_INSTALL_DIRECTORY}")
set (CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON)
set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries")
set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${HDF5_PACKAGE_BUGREPORT}")
# list (APPEND CPACK_GENERATOR "RPM")
# list (APPEND CPACK_GENERATOR "RPM")
set (CPACK_RPM_PACKAGE_RELEASE "1")
set (CPACK_RPM_COMPONENT_INSTALL ON)
set (CPACK_RPM_PACKAGE_RELOCATABLE ON)
@ -431,7 +424,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries")
set (CPACK_RPM_PACKAGE_URL "${HDF5_PACKAGE_URL}")
set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 is a unique technology suite that makes possible the management of extremely large and complex data collections.")
set (CPACK_RPM_PACKAGE_DESCRIPTION
set (CPACK_RPM_PACKAGE_DESCRIPTION
"The HDF5 technology suite includes:
* A versatile data model that can represent very complex data objects and a wide variety of metadata.
@ -447,14 +440,14 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
The HDF5 data model, file format, API, library, and tools are open and distributed without charge.
"
)
#-----------------------------------------------------------------------------
# Configure the spec file for the install RPM
#-----------------------------------------------------------------------------
# configure_file ("${HDF5_RESOURCES_DIR}/hdf5.spec.in" "${CMAKE_CURRENT_BINARY_DIR}/${HDF5_PACKAGE_NAME}.spec" @ONLY IMMEDIATE)
# set (CPACK_RPM_USER_BINARY_SPECFILE "${CMAKE_CURRENT_BINARY_DIR}/${HDF5_PACKAGE_NAME}.spec")
endif (WIN32)
# By default, do not warn when built on machines using only VS Express:
if (NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
set (CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
@ -462,7 +455,7 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
include (InstallRequiredSystemLibraries)
set (CPACK_INSTALL_CMAKE_PROJECTS "${HDF5_BINARY_DIR};HDF5;ALL;/")
if (HDF5_PACKAGE_EXTLIBS)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
@ -485,7 +478,7 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
endif (SZIP_FOUND AND SZIP_USE_EXTERNAL)
endif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
endif (HDF5_PACKAGE_EXTLIBS)
include (CPack)
cpack_add_install_type(Full DISPLAY_NAME "Everything")
@ -511,121 +504,121 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
#---------------------------------------------------------------------------
# Now list the cpack commands
#---------------------------------------------------------------------------
CPACK_ADD_COMPONENT (libraries
cpack_add_component (libraries
DISPLAY_NAME "HDF5 Libraries"
GROUP Runtime
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (headers
DISPLAY_NAME "HDF5 Headers"
cpack_add_component (headers
DISPLAY_NAME "HDF5 Headers"
DEPENDS libraries
GROUP Development
INSTALL_TYPES Full Developer
)
CPACK_ADD_COMPONENT (hdfdocuments
cpack_add_component (hdfdocuments
DISPLAY_NAME "HDF5 Documents"
GROUP Documents
INSTALL_TYPES Full Developer
)
CPACK_ADD_COMPONENT (configinstall
DISPLAY_NAME "HDF5 CMake files"
cpack_add_component (configinstall
DISPLAY_NAME "HDF5 CMake files"
DEPENDS libraries
GROUP Development
INSTALL_TYPES Full Developer User
)
if (HDF5_BUILD_FORTRAN)
CPACK_ADD_COMPONENT (fortlibraries
DISPLAY_NAME "HDF5 Fortran Libraries"
cpack_add_component (fortlibraries
DISPLAY_NAME "HDF5 Fortran Libraries"
DEPENDS libraries
GROUP Runtime
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (fortheaders
DISPLAY_NAME "HDF5 Fortran Headers"
cpack_add_component (fortheaders
DISPLAY_NAME "HDF5 Fortran Headers"
DEPENDS fortlibraries
GROUP Development
INSTALL_TYPES Full Developer
)
endif (HDF5_BUILD_FORTRAN)
if (HDF5_BUILD_CPP_LIB)
CPACK_ADD_COMPONENT (cpplibraries
DISPLAY_NAME "HDF5 C++ Libraries"
cpack_add_component (cpplibraries
DISPLAY_NAME "HDF5 C++ Libraries"
DEPENDS libraries
GROUP Runtime
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (cppheaders
DISPLAY_NAME "HDF5 C++ Headers"
cpack_add_component (cppheaders
DISPLAY_NAME "HDF5 C++ Headers"
DEPENDS cpplibraries
GROUP Development
INSTALL_TYPES Full Developer
)
endif (HDF5_BUILD_CPP_LIB)
if (HDF5_BUILD_TOOLS)
CPACK_ADD_COMPONENT (toolsapplications
DISPLAY_NAME "HDF5 Tools Applications"
cpack_add_component (toolsapplications
DISPLAY_NAME "HDF5 Tools Applications"
DEPENDS toolslibraries
GROUP Applications
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (toolslibraries
DISPLAY_NAME "HDF5 Tools Libraries"
cpack_add_component (toolslibraries
DISPLAY_NAME "HDF5 Tools Libraries"
DEPENDS libraries
GROUP Runtime
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (toolsheaders
DISPLAY_NAME "HDF5 Tools Headers"
cpack_add_component (toolsheaders
DISPLAY_NAME "HDF5 Tools Headers"
DEPENDS toolslibraries
GROUP Development
INSTALL_TYPES Full Developer
)
endif (HDF5_BUILD_TOOLS)
if (HDF5_BUILD_HL_LIB)
CPACK_ADD_COMPONENT (hllibraries
DISPLAY_NAME "HDF5 HL Libraries"
cpack_add_component (hllibraries
DISPLAY_NAME "HDF5 HL Libraries"
DEPENDS libraries
GROUP Runtime
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (hlheaders
DISPLAY_NAME "HDF5 HL Headers"
cpack_add_component (hlheaders
DISPLAY_NAME "HDF5 HL Headers"
DEPENDS hllibraries
GROUP Development
INSTALL_TYPES Full Developer
)
CPACK_ADD_COMPONENT (hltoolsapplications
DISPLAY_NAME "HDF5 HL Tools Applications"
cpack_add_component (hltoolsapplications
DISPLAY_NAME "HDF5 HL Tools Applications"
DEPENDS hllibraries
GROUP Applications
INSTALL_TYPES Full Developer User
)
if (HDF5_BUILD_CPP_LIB)
CPACK_ADD_COMPONENT (hlcpplibraries
DISPLAY_NAME "HDF5 HL C++ Libraries"
cpack_add_component (hlcpplibraries
DISPLAY_NAME "HDF5 HL C++ Libraries"
DEPENDS hllibraries
GROUP Runtime
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (hlcppheaders
DISPLAY_NAME "HDF5 HL C++ Headers"
cpack_add_component (hlcppheaders
DISPLAY_NAME "HDF5 HL C++ Headers"
DEPENDS hlcpplibraries
GROUP Development
INSTALL_TYPES Full Developer
)
endif (HDF5_BUILD_CPP_LIB)
if (HDF5_BUILD_FORTRAN)
CPACK_ADD_COMPONENT (hlfortlibraries
DISPLAY_NAME "HDF5 HL Fortran Libraries"
cpack_add_component (hlfortlibraries
DISPLAY_NAME "HDF5 HL Fortran Libraries"
DEPENDS fortlibraries
GROUP Runtime
INSTALL_TYPES Full Developer User
)
endif (HDF5_BUILD_FORTRAN)
endif (HDF5_BUILD_HL_LIB)
endif (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)

View File

@ -170,6 +170,9 @@ if (NOT HDF5_INSTALL_BIN_DIR)
set (HDF5_INSTALL_BIN_DIR bin)
endif (NOT HDF5_INSTALL_BIN_DIR)
if (NOT HDF5_INSTALL_LIB_DIR)
if (APPLE)
set (HDF5_INSTALL_FMWK_DIR ${CMAKE_INSTALL_FRAMEWORK_PREFIX})
endif (APPLE)
set (HDF5_INSTALL_LIB_DIR lib)
endif (NOT HDF5_INSTALL_LIB_DIR)
if (NOT HDF5_INSTALL_INCLUDE_DIR)
@ -177,6 +180,15 @@ if (NOT HDF5_INSTALL_INCLUDE_DIR)
endif (NOT HDF5_INSTALL_INCLUDE_DIR)
if (NOT HDF5_INSTALL_DATA_DIR)
if (NOT WIN32)
if (APPLE)
option (HDF5_BUILD_FRAMEWORKS "Create a Mac OSX Framework" OFF)
if (HDF5_BUILD_FRAMEWORKS)
set (HDF5_INSTALL_EXTRA_DIR ../SharedSupport)
else (HDF5_BUILD_FRAMEWORKS)
set (HDF5_INSTALL_EXTRA_DIR share)
endif (HDF5_BUILD_FRAMEWORKS)
set (HDF5_INSTALL_FWRK_DIR ${CMAKE_INSTALL_FRAMEWORK_PREFIX})
endif (APPLE)
set (HDF5_INSTALL_DATA_DIR share)
set (HDF5_INSTALL_CMAKE_DIR share/cmake)
else (NOT WIN32)
@ -287,6 +299,14 @@ include (${HDF_RESOURCES_DIR}/ConfigureChecks.cmake)
set (CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
#-----------------------------------------------------------------------------
# Mac OS X Options
#-----------------------------------------------------------------------------
option (HDF5_BUILD_FRAMEWORKS "TRUE to build as frameworks libraries, FALSE to build according to BUILD_SHARED_LIBS" TRUE)
if (HDF5_BUILD_FRAMEWORKS AND NOT BUILD_SHARED_LIBS)
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries")
endif (HDF5_BUILD_FRAMEWORKS AND NOT BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# Option to Build Shared/Static libs, default is static
#-----------------------------------------------------------------------------

View File

@ -2395,6 +2395,7 @@
./config/cmake/cacheinit.cmake
./config/cmake/ConversionTests.c
./config/cmake/ConfigureChecks.cmake
./config/cmake/CPack.Info.plist.in
./config/cmake/CTestCustom.cmake
./config/cmake/FindHDF5.cmake.in
./config/cmake/H5cxx_config.h.in

View File

@ -94,7 +94,7 @@ set_target_properties (${HDF5_CPP_LIB_TARGET} PROPERTIES
)
#-----------------------------------------------------------------------------
# Add file(s) to CMake Install
# Add file(s) to CMake Install
#-----------------------------------------------------------------------------
install (
FILES
@ -112,7 +112,7 @@ if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
INSTALL_TARGET_PDB (${HDF5_CPP_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
endif (BUILD_SHARED_LIBS)
install (
TARGETS
${HDF5_CPP_LIB_TARGET}
@ -121,5 +121,6 @@ if (HDF5_EXPORTED_TARGETS)
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT cpplibraries
ARCHIVE DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT cpplibraries
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT cpplibraries
FRAMEWORK DESTINATION ${HDF5_INSTALL_FWRK_DIR} COMPONENT cpplibraries
)
endif (HDF5_EXPORTED_TARGETS)

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>@CPACK_PACKAGE_FILE_NAME@</string>
<key>CFBundleIconFile</key>
<string>@CPACK_BUNDLE_ICON@</string>
<key>CFBundleIdentifier</key>
<string>org.@CPACK_PACKAGE_VENDOR@.@CPACK_PACKAGE_NAME@@CPACK_MODULE_VERSION_SUFFIX@</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>@CPACK_PACKAGE_VERSIO@</string>
<key>CFBundleShortVersionString</key>
<string>@CPACK_SHORT_VERSION_STRING@</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

View File

@ -26,6 +26,18 @@ macro (H5_SET_LIB_OPTIONS libtarget libname libtype)
BUILD_WITH_INSTALL_RPATH ${HDF5_BUILD_WITH_INSTALL_NAME}
)
endif (HDF5_BUILD_WITH_INSTALL_NAME)
if (HDF5_BUILD_FRAMEWORKS)
if (${libtype} MATCHES "SHARED")
# adapt target to build frameworks instead of dylibs
set_target_properties(${libtarget} PROPERTIES
XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
FRAMEWORK TRUE
FRAMEWORK_VERSION ${HDF5_PACKAGE_VERSION_MAJOR}
MACOSX_FRAMEWORK_IDENTIFIER org.hdfgroup.${libtarget}
MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${HDF5_PACKAGE_VERSION_MAJOR}
MACOSX_FRAMEWORK_BUNDLE_VERSION ${HDF5_PACKAGE_VERSION_MAJOR})
endif (${libtype} MATCHES "SHARED")
endif (HDF5_BUILD_FRAMEWORKS)
endif (APPLE)
endmacro (H5_SET_LIB_OPTIONS)

View File

@ -5,7 +5,7 @@ if (CMAKE_COMPILER_IS_GNUCC)
if (CMAKE_BUILD_TYPE MATCHES Debug)
set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99")
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftrapv -fno-common")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Og -ftrapv -fno-common")
endif ()
else (CMAKE_BUILD_TYPE MATCHES Debug)
set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99")
@ -18,7 +18,7 @@ if (CMAKE_COMPILER_IS_GNUCXX)
if (CMAKE_BUILD_TYPE MATCHES Debug)
set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -std=c99")
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftrapv -fno-common")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Og -ftrapv -fno-common")
endif ()
else (CMAKE_BUILD_TYPE MATCHES Debug)
set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -std=c99")

View File

@ -8,6 +8,8 @@ set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries" FORCE)
set (BUILD_TESTING ON CACHE BOOL "Build HDF5 Unit Testing" FORCE)
set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Frameworks installation directory" FORCE)
set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE)
set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE)

View File

@ -268,15 +268,15 @@ set_target_properties (${HDF5_F90_LIB_TARGET} PROPERTIES
# Add file(s) to CMake Install
#-----------------------------------------------------------------------------
install (
FILES
${HDF5_F90_SRC_SOURCE_DIR}/H5f90.h
${HDF5_F90_SRC_SOURCE_DIR}/H5f90i.h
${HDF5_F90_SRC_SOURCE_DIR}/H5f90proto.h
FILES
${HDF5_F90_SRC_SOURCE_DIR}/H5f90.h
${HDF5_F90_SRC_SOURCE_DIR}/H5f90i.h
${HDF5_F90_SRC_SOURCE_DIR}/H5f90proto.h
${HDF5_F90_BINARY_DIR}/H5f90i_gen.h
${HDF5_F90_BINARY_DIR}/H5fortran_types.f90
DESTINATION
DESTINATION
${HDF5_INSTALL_INCLUDE_DIR}
COMPONENT
COMPONENT
fortheaders
)
@ -343,5 +343,6 @@ if (HDF5_EXPORTED_TARGETS)
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT fortlibraries
ARCHIVE DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT fortlibraries
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT fortlibraries
FRAMEWORK DESTINATION ${HDF5_INSTALL_FWRK_DIR} COMPONENT fortlibraries
)
endif (HDF5_EXPORTED_TARGETS)

View File

@ -25,7 +25,7 @@ set_target_properties (${HDF5_HL_CPP_LIB_TARGET} PROPERTIES
)
#-----------------------------------------------------------------------------
# Add file(s) to CMake Install
# Add file(s) to CMake Install
#-----------------------------------------------------------------------------
install (
FILES
@ -43,7 +43,7 @@ if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
INSTALL_TARGET_PDB (${HDF5_HL_CPP_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hlcpplibraries)
endif (BUILD_SHARED_LIBS)
install (
TARGETS
${HDF5_HL_CPP_LIB_TARGET}
@ -52,5 +52,6 @@ if (HDF5_EXPORTED_TARGETS)
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT hlcpplibraries
ARCHIVE DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT hlcpplibraries
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT hlcpplibraries
FRAMEWORK DESTINATION ${HDF5_INSTALL_FWRK_DIR} COMPONENT hlcpplibraries
)
endif (HDF5_EXPORTED_TARGETS)

View File

@ -50,8 +50,8 @@ add_library (${HDF5_HL_F90_LIB_TARGET} ${LIB_TYPE} ${HDF5_HL_F90_F_SRCS})
set (SHARED_LINK_FLAGS " ")
if (BUILD_SHARED_LIBS)
if (WIN32)
set_property (TARGET ${HDF5_HL_F90_LIB_TARGET}
APPEND PROPERTY COMPILE_DEFINITIONS
set_property (TARGET ${HDF5_HL_F90_LIB_TARGET}
APPEND PROPERTY COMPILE_DEFINITIONS
BUILD_HDF5_HL_DLL
)
if (MSVC)
@ -60,8 +60,8 @@ if (BUILD_SHARED_LIBS)
endif (WIN32)
endif (BUILD_SHARED_LIBS)
if (WIN32)
set_property (TARGET ${HDF5_HL_F90_LIB_TARGET}
APPEND PROPERTY COMPILE_DEFINITIONS
set_property (TARGET ${HDF5_HL_F90_LIB_TARGET}
APPEND PROPERTY COMPILE_DEFINITIONS
HDF5F90_WINDOWS
)
endif (WIN32)
@ -110,7 +110,7 @@ if (HDF5_EXPORTED_TARGETS)
INSTALL_TARGET_PDB (${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
#INSTALL_TARGET_PDB (${HDF5_HL_F90_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
endif (BUILD_SHARED_LIBS)
install (
TARGETS
${HDF5_HL_F90_C_LIB_TARGET}
@ -120,5 +120,6 @@ if (HDF5_EXPORTED_TARGETS)
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT hlfortlibraries
ARCHIVE DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT hlfortlibraries
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT hlfortlibraries
FRAMEWORK DESTINATION ${HDF5_INSTALL_FWRK_DIR} COMPONENT hlfortlibraries
)
endif (HDF5_EXPORTED_TARGETS)

View File

@ -44,7 +44,7 @@ set_target_properties (${HDF5_HL_LIB_TARGET} PROPERTIES
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_LIB_TARGET}")
#-----------------------------------------------------------------------------
# Add file(s) to CMake Install
# Add file(s) to CMake Install
#-----------------------------------------------------------------------------
install (
FILES
@ -62,7 +62,7 @@ if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
INSTALL_TARGET_PDB (${HDF5_HL_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries)
endif (BUILD_SHARED_LIBS)
install (
TARGETS
${HDF5_HL_LIB_TARGET}
@ -71,5 +71,6 @@ if (HDF5_EXPORTED_TARGETS)
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT hllibraries
ARCHIVE DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT hllibraries
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT hllibraries
FRAMEWORK DESTINATION ${HDF5_INSTALL_FWRK_DIR} COMPONENT hllibraries
)
endif (HDF5_EXPORTED_TARGETS)

View File

@ -46,7 +46,7 @@ if (BUILD_TESTING)
TARGET_C_PROPERTIES (hl_h52gifgentest STATIC " " " ")
target_link_libraries (hl_h52gifgentest ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (hl_h52gifgentest PROPERTIES FOLDER generator/tools/hl)
# add_test (NAME hl_h52gifgentest COMMAND $<TARGET_FILE:hl_h52gifgentest>)
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
@ -60,8 +60,5 @@ install (
TARGETS
gif2h5
h52gif
RUNTIME DESTINATION
${HDF5_INSTALL_BIN_DIR}
COMPONENT
hltoolsapplications
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT hltoolsapplications
)

View File

@ -898,7 +898,7 @@ if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
INSTALL_TARGET_PDB (${HDF5_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries)
endif (BUILD_SHARED_LIBS)
install (
TARGETS
${HDF5_LIB_TARGET}
@ -907,5 +907,6 @@ if (HDF5_EXPORTED_TARGETS)
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT libraries
ARCHIVE DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT libraries
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT libraries
FRAMEWORK DESTINATION ${HDF5_INSTALL_FWRK_DIR} COMPONENT libraries
)
endif (HDF5_EXPORTED_TARGETS)

View File

@ -42,12 +42,9 @@ endif (BUILD_TESTING)
#-----------------------------------------------------------------------------
#INSTALL_PROGRAM_PDB (h5copy ${HDF5_INSTALL_BIN_DIR} toolsapplications)
install (
TARGETS
h5copy
RUNTIME DESTINATION
${HDF5_INSTALL_BIN_DIR}
COMPONENT
toolsapplications
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolsapplications
)

View File

@ -41,12 +41,12 @@ if (BUILD_TESTING)
TARGET_C_PROPERTIES (h5diffgentest STATIC " " " ")
target_link_libraries (h5diffgentest ${HDF5_LIB_TARGET})
set_target_properties (h5diffgentest PROPERTIES FOLDER generator/tools)
#add_test (NAME h5diffgentest COMMAND $<TARGET_FILE:h5diffgentest>)
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
include (CMakeTests.cmake)
endif (BUILD_TESTING)
##############################################################################
@ -64,10 +64,7 @@ endif (BUILD_TESTING)
install (
TARGETS
h5diff
RUNTIME DESTINATION
${HDF5_INSTALL_BIN_DIR}
COMPONENT
toolsapplications
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolsapplications
)
if (H5_HAVE_PARALLEL)
@ -77,9 +74,6 @@ if (H5_HAVE_PARALLEL)
install (
TARGETS
ph5diff
RUNTIME DESTINATION
${HDF5_INSTALL_BIN_DIR}
COMPONENT
toolsapplications
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolsapplications
)
endif (H5_HAVE_PARALLEL)

View File

@ -31,7 +31,7 @@ if (BUILD_TESTING)
TARGET_C_PROPERTIES (h5dumpgentest STATIC " " " ")
target_link_libraries (h5dumpgentest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5dumpgentest PROPERTIES FOLDER generator/tools)
#add_test (NAME h5dumpgentest COMMAND $<TARGET_FILE:h5dumpgentest>)
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
@ -57,8 +57,5 @@ endif (BUILD_TESTING)
install (
TARGETS
h5dump
RUNTIME DESTINATION
${HDF5_INSTALL_BIN_DIR}
COMPONENT
toolsapplications
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolsapplications
)

View File

@ -47,8 +47,5 @@ endif (BUILD_TESTING)
install (
TARGETS
h5import
RUNTIME DESTINATION
${HDF5_INSTALL_BIN_DIR}
COMPONENT
toolsapplications
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolsapplications
)

View File

@ -50,7 +50,7 @@ if (BUILD_TESTING)
TARGET_C_PROPERTIES (testhdf5 ${LIB_TYPE} " " " ")
target_link_libraries (h5jamgentest ${HDF5_LIB_TARGET})
set_target_properties (h5jamgentest PROPERTIES FOLDER generator/tools)
#add_test (NAME h5jamgentest COMMAND $<TARGET_FILE:h5jamgentest>)
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
@ -73,8 +73,5 @@ endif (BUILD_TESTING)
install (
TARGETS
h5jam h5unjam
RUNTIME DESTINATION
${HDF5_INSTALL_BIN_DIR}
COMPONENT
toolsapplications
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolsapplications
)

View File

@ -40,8 +40,5 @@ endif (BUILD_TESTING)
install (
TARGETS
h5ls
RUNTIME DESTINATION
${HDF5_INSTALL_BIN_DIR}
COMPONENT
toolsapplications
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolsapplications
)

View File

@ -73,14 +73,14 @@ if (BUILD_TESTING)
TARGET ${HDF5_TOOL_PLUGIN_LIB_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different
ARGS -E copy_if_different
"$<TARGET_FILE:${HDF5_TOOL_PLUGIN_LIB_TARGET}>"
"${CMAKE_BINARY_DIR}/plugins/$<TARGET_FILE_NAME:${HDF5_TOOL_PLUGIN_LIB_TARGET}>"
)
endif (BUILD_SHARED_LIBS)
include (CMakeTests.cmake)
endif (BUILD_TESTING)
##############################################################################
@ -98,8 +98,5 @@ endif (BUILD_TESTING)
install (
TARGETS
h5repack
RUNTIME DESTINATION
${HDF5_INSTALL_BIN_DIR}
COMPONENT
toolsapplications
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolsapplications
)

View File

@ -27,7 +27,7 @@ if (BUILD_TESTING)
TARGET_C_PROPERTIES (h5stat_gentest STATIC " " " ")
target_link_libraries (h5stat_gentest ${HDF5_LIB_TARGET})
set_target_properties (h5stat_gentest PROPERTIES FOLDER generator/tools)
#add_test (NAME h5stat_gentest COMMAND $<TARGET_FILE:h5stat_gentest>)
endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
@ -49,8 +49,5 @@ endif (BUILD_TESTING)
install (
TARGETS
h5stat
RUNTIME DESTINATION
${HDF5_INSTALL_BIN_DIR}
COMPONENT
toolsapplications
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolsapplications
)

View File

@ -48,7 +48,7 @@ H5_SET_LIB_OPTIONS (
HDF5_TOOLS_LIB_NAME_DEBUG
)
#set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES COMPILE_DEFINITIONS H5DIFF_DEBUG)
set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES
set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES
FOLDER libraries/tools
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
@ -60,7 +60,7 @@ set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES
##############################################################################
#-----------------------------------------------------------------------------
# Add file(s) to CMake Install
# Add file(s) to CMake Install
#-----------------------------------------------------------------------------
install (
FILES
@ -78,7 +78,7 @@ if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
INSTALL_TARGET_PDB (${HDF5_TOOLS_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} toolslibraries)
endif (BUILD_SHARED_LIBS)
install (
TARGETS
${HDF5_TOOLS_LIB_TARGET}
@ -87,5 +87,6 @@ if (HDF5_EXPORTED_TARGETS)
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT toolslibraries
ARCHIVE DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT toolslibraries
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolslibraries
FRAMEWORK DESTINATION ${HDF5_INSTALL_FWRK_DIR} COMPONENT toolslibraries
)
endif (HDF5_EXPORTED_TARGETS)

View File

@ -80,8 +80,5 @@ endif (BUILD_TESTING)
install (
TARGETS
h5debug h5repart h5mkgrp
RUNTIME DESTINATION
${HDF5_INSTALL_BIN_DIR}
COMPONENT
toolsapplications
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolsapplications
)