mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-04-12 17:31:09 +08:00
TRILAB-192 add c++ and fortran warnings build systems one file
This commit is contained in:
parent
7a41367a13
commit
57f5d00a43
@ -961,6 +961,7 @@ set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) name ## _")
|
||||
if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
|
||||
option (HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF)
|
||||
if (HDF5_BUILD_FORTRAN)
|
||||
include (${HDF_RESOURCES_DIR}/HDFFortranCompilerFlags.cmake)
|
||||
include (${HDF_RESOURCES_EXT_DIR}/HDFUseFortran.cmake)
|
||||
|
||||
message (STATUS "Fortran compiler ID is ${CMAKE_Fortran_COMPILER_ID}")
|
||||
|
11
MANIFEST
11
MANIFEST
@ -164,6 +164,7 @@
|
||||
./config/gnu-warnings/7
|
||||
./config/gnu-warnings/8
|
||||
./config/gnu-warnings/9
|
||||
./config/gnu-warnings/cxx-general
|
||||
./config/gnu-warnings/developer-4.5
|
||||
./config/gnu-warnings/developer-4.6
|
||||
./config/gnu-warnings/developer-4.7
|
||||
@ -175,12 +176,21 @@
|
||||
./config/gnu-warnings/error-8
|
||||
./config/gnu-warnings/error-general
|
||||
./config/gnu-warnings/general
|
||||
./config/gnu-warnings/gfort-general
|
||||
./config/gnu-warnings/gfort-4.4
|
||||
./config/gnu-warnings/gfort-4.5
|
||||
./config/gnu-warnings/gfort-4.7
|
||||
./config/gnu-warnings/gfort-4.8
|
||||
./config/gnu-warnings/gfort-5
|
||||
./config/gnu-warnings/gfort-6
|
||||
./config/gnu-warnings/gfort-8
|
||||
./config/gnu-warnings/no-developer-4.5
|
||||
./config/gnu-warnings/no-developer-4.6
|
||||
./config/gnu-warnings/no-developer-4.7
|
||||
./config/gnu-warnings/no-developer-4.8
|
||||
./config/gnu-warnings/no-developer-8
|
||||
./config/gnu-warnings/no-developer-general
|
||||
./config/intel-ifort-general
|
||||
./config/intel-warnings-general
|
||||
|
||||
./config/site-specific/BlankForm
|
||||
@ -3392,6 +3402,7 @@
|
||||
./config/cmake/hdf5-config.cmake.in
|
||||
./config/cmake/hdf5-config-version.cmake.in
|
||||
./config/cmake/HDFCompilerFlags.cmake
|
||||
./config/cmake/HDFFortranCompilerFlags.cmake
|
||||
./config/cmake/HDF5_Process_Flex_Files.cmake
|
||||
./config/cmake/HDF5Macros.cmake
|
||||
./config/cmake/HDF5UseFortran.cmake
|
||||
|
@ -90,9 +90,7 @@ if (NOT ONLY_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_CPP_LIB_TARGET}
|
||||
PRIVATE "${HDF5_CMAKE_CXX_FLAGS}"
|
||||
)
|
||||
target_compile_options(${HDF5_CPP_LIB_TARGET} PRIVATE "${HDF5_CMAKE_CXX_FLAGS}")
|
||||
target_compile_definitions(${HDF5_CPP_LIB_TARGET}
|
||||
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
|
||||
)
|
||||
@ -110,9 +108,7 @@ if (BUILD_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_CPP_LIBSH_TARGET}
|
||||
PRIVATE "${HDF5_CMAKE_CXX_FLAGS}"
|
||||
)
|
||||
target_compile_options(${HDF5_CPP_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_CXX_FLAGS}")
|
||||
target_compile_definitions(${HDF5_CPP_LIBSH_TARGET}
|
||||
PUBLIC "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
|
||||
|
@ -39,6 +39,7 @@ configure_file (${HDF5_CPP_TEST_SOURCE_DIR}/H5srcdir_str.h.in H5srcdir_str.h @O
|
||||
|
||||
add_executable (cpp_testhdf5 ${CPP_TEST_SOURCES} )
|
||||
target_include_directories (cpp_testhdf5 PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
target_compile_options(cpp_testhdf5 PRIVATE "${HDF5_CMAKE_CXX_FLAGS}")
|
||||
target_compile_definitions(cpp_testhdf5
|
||||
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
|
||||
)
|
||||
|
@ -133,6 +133,9 @@ if (NOT MSVC)
|
||||
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/general")
|
||||
message (STATUS "CMAKE_C_FLAGS_GENERAL=${HDF5_CMAKE_C_FLAGS}")
|
||||
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
|
||||
ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/cxx-general")
|
||||
endif ()
|
||||
ADD_H5_FLAGS (H5_CFLAGS0 "${HDF5_SOURCE_DIR}/config/gnu-warnings/error-general")
|
||||
# gcc automatically inlines based on the optimization level
|
||||
# this is just a failsafe
|
||||
@ -302,6 +305,9 @@ if (HDF5_ENABLE_ALL_WARNINGS)
|
||||
else ()
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS0} ${H5_CFLAGS1} ${H5_CFLAGS2} ${H5_CFLAGS3} ${H5_CFLAGS4})
|
||||
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
|
||||
list (APPEND HDF5_CMAKE_CXX_FLAGS ${H5_CFLAGS0} ${H5_CFLAGS1} ${H5_CFLAGS2} ${H5_CFLAGS3} ${H5_CFLAGS4})
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
@ -322,6 +328,9 @@ if (HDF5_ENABLE_GROUPZERO_WARNINGS)
|
||||
else ()
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS0})
|
||||
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
|
||||
list (APPEND HDF5_CMAKE_CXX_FLAGS ${H5_CFLAGS0})
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
@ -340,7 +349,12 @@ if (HDF5_ENABLE_GROUPONE_WARNINGS)
|
||||
list (APPEND HDF5_CMAKE_CXX_FLAGS "/W2")
|
||||
endif ()
|
||||
else ()
|
||||
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS1})
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS1})
|
||||
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
|
||||
list (APPEND HDF5_CMAKE_CXX_FLAGS ${H5_CFLAGS1})
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@ -358,7 +372,12 @@ if (HDF5_ENABLE_GROUPTWO_WARNINGS)
|
||||
list (APPEND HDF5_CMAKE_CXX_FLAGS "/W3")
|
||||
endif ()
|
||||
else ()
|
||||
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS2})
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS2})
|
||||
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
|
||||
list (APPEND HDF5_CMAKE_CXX_FLAGS ${H5_CFLAGS2})
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@ -376,7 +395,12 @@ if (HDF5_ENABLE_GROUPTHREE_WARNINGS)
|
||||
list (APPEND HDF5_CMAKE_CXX_FLAGS "/W4")
|
||||
endif ()
|
||||
else ()
|
||||
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS3})
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS3})
|
||||
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
|
||||
list (APPEND HDF5_CMAKE_CXX_FLAGS ${H5_CFLAGS3})
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@ -387,7 +411,12 @@ option (HDF5_ENABLE_GROUPFOUR_WARNINGS "Enable group four warnings" OFF)
|
||||
if (HDF5_ENABLE_GROUPFOUR_WARNINGS)
|
||||
message (STATUS "....Group Four warnings are enabled")
|
||||
if (NOT MSVC)
|
||||
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS4})
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
list (APPEND HDF5_CMAKE_C_FLAGS ${H5_CFLAGS4})
|
||||
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
|
||||
list (APPEND HDF5_CMAKE_CXX_FLAGS ${H5_CFLAGS4})
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
|
131
config/cmake/HDFFortranCompilerFlags.cmake
Normal file
131
config/cmake/HDFFortranCompilerFlags.cmake
Normal file
@ -0,0 +1,131 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
|
||||
macro (ADD_H5_FFLAGS h5_fflag_var infile)
|
||||
file (STRINGS ${infile} TEST_FLAG_STREAM)
|
||||
#message (STATUS "TEST_FLAG_STREAM=${TEST_FLAG_STREAM}")
|
||||
list (LENGTH TEST_FLAG_STREAM len_flag)
|
||||
if (len_flag GREATER 0)
|
||||
math (EXPR _FP_LEN "${len_flag} - 1")
|
||||
foreach (line RANGE 0 ${_FP_LEN})
|
||||
list (GET TEST_FLAG_STREAM ${line} str_flag)
|
||||
string (REGEX REPLACE "^#.*" "" str_flag "${str_flag}")
|
||||
#message (STATUS "str_flag=${str_flag}")
|
||||
if (str_flag)
|
||||
list (APPEND ${h5_fflag_var} "${str_flag}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
endif ()
|
||||
#message (STATUS "h5_fflag_var=${${h5_fflag_var}}")
|
||||
endmacro ()
|
||||
|
||||
message (STATUS "Warnings Configuration: default: ${CMAKE_Fortran_FLAGS}")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to allow the user to disable compiler warnings
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF)
|
||||
if (HDF5_DISABLE_COMPILER_WARNINGS)
|
||||
message (STATUS "....Compiler warnings are suppressed")
|
||||
# MSVC uses /w to suppress warnings. It also complains if another
|
||||
# warning level is given, so remove it.
|
||||
if (MSVC)
|
||||
set (HDF5_WARNINGS_BLOCKED 1)
|
||||
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}")
|
||||
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /W0")
|
||||
endif ()
|
||||
if (WIN32)
|
||||
add_definitions (-D_CRT_SECURE_NO_WARNINGS)
|
||||
endif ()
|
||||
# Borland uses -w- to suppress warnings.
|
||||
if (BORLAND)
|
||||
set (HDF5_WARNINGS_BLOCKED 1)
|
||||
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w-")
|
||||
endif ()
|
||||
|
||||
# Most compilers use -w to suppress warnings.
|
||||
if (NOT HDF5_WARNINGS_BLOCKED)
|
||||
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# HDF5 library compile options
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
# General flags
|
||||
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
|
||||
ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/intel-ifort-general")
|
||||
list (APPEND CMAKE_Fortran_FLAGS "-stand f08 -free -implicitnone")
|
||||
elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
|
||||
ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-general")
|
||||
list (APPEND CMAKE_Fortran_FLAGS "-ffree-form -std=f2008 -fimplicit-none")
|
||||
elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "PGI")
|
||||
list (APPEND CMAKE_Fortran_FLAGS "-Mfreeform -Mdclchk -Mstandard -Mallocatable=03")
|
||||
endif ()
|
||||
message (STATUS "CMAKE_Fortran_FLAGS=${CMAKE_Fortran_FLAGS}")
|
||||
|
||||
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
|
||||
# Append warning flags that only gcc 4.4+ knows about
|
||||
ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-4.4")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.5+ know about
|
||||
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 4.5)
|
||||
ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-4.5")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.6+ know about
|
||||
#if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 4.6)
|
||||
# ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-4.6")
|
||||
#endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.7+ know about
|
||||
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 4.7)
|
||||
ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-4.7")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.8+ know about
|
||||
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 4.8)
|
||||
ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-4.8")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.9+ know about
|
||||
#if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 4.9)
|
||||
# ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-4.9")
|
||||
#endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 5.1+ know about
|
||||
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 5.0)
|
||||
ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-5")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 6.x+ know about
|
||||
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 6.0)
|
||||
ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-6")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 7.x+ know about
|
||||
#if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 7.0)
|
||||
# ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-7")
|
||||
#endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 8.x+ know about
|
||||
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 8.0)
|
||||
ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-8")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 9.x+ know about
|
||||
#if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 9.0)
|
||||
# ADD_H5_FLAGS (CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-9")
|
||||
#endif ()
|
||||
|
@ -1,4 +1,4 @@
|
||||
# -*- shell-script -*-
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# Copyright by the Board of Trustees of the University of Illinois.
|
||||
@ -17,19 +17,51 @@
|
||||
# if the compiler is not GNU; otherwise `cxx_flags_set' is set to `yes'
|
||||
#
|
||||
|
||||
#
|
||||
# For now, do not promote any warnings to errors.
|
||||
#
|
||||
PROMOTE_ERRORS_DFLT=no
|
||||
|
||||
#
|
||||
# This filter rewrites -Werror= as -W, in that way demoting warnings
|
||||
# promoted to errors back to warnings, if PROMOTE_ERRORS is no.
|
||||
#
|
||||
demote_errors()
|
||||
{
|
||||
if [ ${PROMOTE_ERRORS:-${PROMOTE_ERRORS_DFLT}} = no ]; then
|
||||
sed 's,-Werror=,-W,g'
|
||||
else
|
||||
cat
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# Prepend `$srcdir/config/gnu-warnings/` to the filename suffix(es) given as
|
||||
# subroutine argument(s), remove comments starting with # and ending
|
||||
# at EOL, replace spans of whitespace (including newlines) with spaces,
|
||||
# and re-emit the file(s) thus filtered on the standard output stream.
|
||||
#
|
||||
load_gnu_arguments()
|
||||
{
|
||||
set -- $(for arg; do
|
||||
sed 's,#.*$,,' $srcdir/config/gnu-warnings/${arg} | demote_errors
|
||||
done)
|
||||
IFS=' ' echo "$*"
|
||||
}
|
||||
|
||||
# Get the compiler version in a way that works for g++
|
||||
# unless a compiler version is already known
|
||||
#
|
||||
# cxx_vendor: The compiler name: g++
|
||||
# cxx_version: Version number: 2.91.60, 2.7.2.1
|
||||
#
|
||||
if test X = "X$cxx_flags_set"; then
|
||||
if test "X-" = "X-$cxx_flags_set"; then
|
||||
# PathScale compiler spits out gcc version string too. Need to
|
||||
# filter it out.
|
||||
# icc beginning with version 12 includes a "gcc version compatiblilty"
|
||||
# string, causing the gcc H5_CFLAGS to be erroneously added. The line
|
||||
# string, causing the gcc H5_CXXFLAGS to be erroneously added. The line
|
||||
# "grep -v 'icc version'" causes the discarding of any output
|
||||
# containing 'icc version'. The cc_version for icc is correctly determined
|
||||
# containing 'icc version'. The cxx_version for icc is correctly determined
|
||||
# and flags added in the intel-flags script.
|
||||
cxx_version="`$CXX $CXXFLAGS $H5_CXXFLAGS -v 2>&1 | grep -v 'PathScale' |\
|
||||
grep -v '^icc.*version' |\
|
||||
@ -37,13 +69,13 @@ if test X = "X$cxx_flags_set"; then
|
||||
cxx_vendor=`echo $cxx_version |sed 's/\([a-z]*\).*/\1/'`
|
||||
cxx_version=`echo $cxx_version |sed 's/[-a-z]//g'`
|
||||
if test X = "X$cxx_vendor" -a X != "X$cxx_version"; then
|
||||
cxx_vendor=g++
|
||||
cxx_vendor=g++
|
||||
fi
|
||||
if test "-" != "$cxx_vendor-$cxx_version"; then
|
||||
echo "compiler '$CXX' is GNU $cxx_vendor-$cxx_version"
|
||||
echo "compiler '$CXX' is GNU $cxx_vendor-$cxx_version"
|
||||
fi
|
||||
|
||||
# Some version numbers
|
||||
# Get the compiler version numbers
|
||||
cxx_vers_major=`echo $cxx_version | cut -f1 -d.`
|
||||
cxx_vers_minor=`echo $cxx_version | cut -f2 -d.`
|
||||
cxx_vers_patch=`echo $cxx_version | cut -f3 -d.`
|
||||
@ -53,10 +85,12 @@ if test X = "X$cxx_flags_set"; then
|
||||
cxx_vers_all=`expr $cxx_vers_major '*' 1000000 + $cxx_vers_minor '*' 1000 + $cxx_vers_patch`
|
||||
fi
|
||||
|
||||
# Common g++ flags for various situations
|
||||
case "$cxx_vendor-$cxx_version" in
|
||||
g++*)
|
||||
# Architecture-specific flags
|
||||
if test "X-g++" = "X-$cxx_vendor"; then
|
||||
|
||||
###############################
|
||||
# Architecture-specific flags #
|
||||
###############################
|
||||
|
||||
arch=
|
||||
case "$host_os-$host_cpu" in
|
||||
# FreeBSD sets the information from "uname -m" to the general machine
|
||||
@ -84,742 +118,197 @@ case "$cxx_vendor-$cxx_version" in
|
||||
;;
|
||||
esac
|
||||
|
||||
# Host-specific flags
|
||||
case "`hostname`" in
|
||||
sleipnir.ncsa.uiuc.edu)
|
||||
arch="$arch -pipe"
|
||||
;;
|
||||
esac
|
||||
|
||||
# General (copied from H5_CFLAGS)
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $arch -pedantic -Wall -W -Wundef -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wredundant-decls -Winline"
|
||||
|
||||
# C++-specific
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wsign-promo -Woverloaded-virtual -Wold-style-cast -Weffc++ -Wreorder -Wnon-virtual-dtor -Wctor-dtor-privacy -Wabi"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $arch
|
||||
|
||||
##############
|
||||
# Production #
|
||||
##############
|
||||
|
||||
# Production
|
||||
# NDEBUG is handled explicitly by the configure script
|
||||
case "$cxx_vendor-$cxx_version" in
|
||||
g++-[34].*)
|
||||
if test $cxx_vers_major -le 4; then
|
||||
PROD_CXXFLAGS=
|
||||
;;
|
||||
g++-[56].*)
|
||||
else
|
||||
PROD_CXXFLAGS="-fstdarg-opt"
|
||||
;;
|
||||
*)
|
||||
PROD_CXXFLAGS="-finline-functions"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
#########
|
||||
# Debug #
|
||||
#########
|
||||
|
||||
# Debug
|
||||
# NDEBUG is handled explicitly by the configure script
|
||||
# -g is hanled by the symbols flags
|
||||
case "$cxx_vendor-$cxx_version" in
|
||||
g++-[56].*)
|
||||
DEBUG_CXXFLAGS="-ftrapv -fno-common"
|
||||
;;
|
||||
*)
|
||||
# -g is handled by the symbols flags
|
||||
if test $cxx_vers_major -le 4; then
|
||||
DEBUG_CXXFLAGS=
|
||||
;;
|
||||
esac
|
||||
else
|
||||
DEBUG_CXXFLAGS="-ftrapv -fno-common"
|
||||
fi
|
||||
|
||||
###########
|
||||
# Symbols #
|
||||
###########
|
||||
|
||||
# Symbols
|
||||
NO_SYMBOLS_CXXFLAGS="-s"
|
||||
SYMBOLS_CXXFLAGS="-g"
|
||||
|
||||
# Profile
|
||||
#############
|
||||
# Profiling #
|
||||
#############
|
||||
|
||||
PROFILE_CXXFLAGS="-pg"
|
||||
|
||||
# Optimization
|
||||
case "$cxx_vendor-$cxx_version" in
|
||||
g++-[34].*)
|
||||
################
|
||||
# Optimization #
|
||||
################
|
||||
|
||||
if test $cxx_vers_major -le 4; then
|
||||
HIGH_OPT_CXXFLAGS="-O3"
|
||||
DEBUG_OPT_CXXFLAGS=
|
||||
;;
|
||||
g++-[56].*)
|
||||
else
|
||||
HIGH_OPT_CXXFLAGS="-O3"
|
||||
DEBUG_OPT_CXXFLAGS="-Og"
|
||||
;;
|
||||
*)
|
||||
HIGH_OPT_CXXFLAGS="-O"
|
||||
DEBUG_OPT_CXXFLAGS=
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
NO_OPT_CXXFLAGS="-O0"
|
||||
|
||||
# Flags are set
|
||||
############
|
||||
# Warnings #
|
||||
############
|
||||
|
||||
# First load the C warnings then add CXX warnings (if needed)
|
||||
|
||||
###########
|
||||
# General #
|
||||
###########
|
||||
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments general)"
|
||||
H5_ECXXFLAGS="$H5_ECXXFLAGS $(load_gnu_arguments error-general)"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments cxx-general)"
|
||||
#H5_ECXXFLAGS="$H5_ECXXFLAGS $(load_gnu_arguments error-cxx-general)"
|
||||
|
||||
######################
|
||||
# Developer warnings #
|
||||
######################
|
||||
|
||||
NO_DEVELOPER_WARNING_CXXFLAGS=$(load_gnu_arguments no-developer-general)
|
||||
DEVELOPER_WARNING_CXXFLAGS=$(load_gnu_arguments developer-general)
|
||||
|
||||
#######################
|
||||
# gcc 4 special cases #
|
||||
#######################
|
||||
|
||||
# GCC 4.2 through 4.6
|
||||
if test $cc_vers_major -eq 4 -a $cc_vers_minor -ge 2 -o $cc_vers_major -eq 4 -a $cc_vers_minor -le 6; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.2-4.6)"
|
||||
fi
|
||||
|
||||
# GCC 4.2 through 4.3
|
||||
if test $cc_vers_major -eq 4 -a $cc_vers_minor -ge 2 -o $cc_vers_major -eq 4 -a $cc_vers_minor -le 3; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.2-4.3)"
|
||||
fi
|
||||
|
||||
# GCC 4.5 through 4.6
|
||||
if test $cc_vers_major -eq 4 -a $cc_vers_minor -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -le 6; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.5-4.6)"
|
||||
fi
|
||||
|
||||
# GCC 4.2 through 4.4
|
||||
if test $cc_vers_major -eq 4 -a $cc_vers_minor -ge 2 -a $cc_vers_major -eq 4 -a $cc_vers_minor -le 4; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.2-4.4)"
|
||||
fi
|
||||
|
||||
# GCC 4.2 through the end of GCC 4 series
|
||||
if test $cc_vers_major -eq 4 -a $cc_vers_minor -ge 2; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.2-4.last)"
|
||||
fi
|
||||
|
||||
#############################
|
||||
# Version-specific warnings #
|
||||
#############################
|
||||
|
||||
# gcc >= 4.3
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 3; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.3)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.4
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 4; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.4)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.5
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 5; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.5)"
|
||||
DEVELOPER_WARNING_CXXFLAGS="$DEVELOPER_WARNING_CXXFLAGS $(load_gcc_arguments developer-4.5)"
|
||||
NO_DEVELOPER_WARNING_CXXFLAGS="$NO_DEVELOPER_WARNING_CXXFLAGS $(load_gcc_arguments no-developer-4.5)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.6
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 6; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.6)"
|
||||
DEVELOPER_WARNING_CXXFLAGS="$DEVELOPER_WARNING_CXXFLAGS $(load_gcc_arguments developer-4.6)"
|
||||
NO_DEVELOPER_WARNING_CXXFLAGS="$NO_DEVELOPER_WARNING_CXXFLAGS $(load_gcc_arguments no-developer-4.6)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.7
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 7; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.7)"
|
||||
DEVELOPER_WARNING_CXXFLAGS="$DEVELOPER_WARNING_CXXFLAGS $(load_gcc_arguments developer-4.7)"
|
||||
NO_DEVELOPER_WARNING_CXXFLAGS="$NO_DEVELOPER_WARNING_CXXFLAGS $(load_gcc_arguments no-developer-4.7)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.8
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 8; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.8)"
|
||||
DEVELOPER_WARNING_CXXFLAGS="$DEVELOPER_WARNING_CXXFLAGS $(load_gcc_arguments developer-4.8)"
|
||||
NO_DEVELOPER_WARNING_CXXFLAGS="$NO_DEVELOPER_WARNING_CXXFLAGS $(load_gcc_arguments no-developer-4.8)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.9
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 9; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.9)"
|
||||
fi
|
||||
|
||||
# gcc >= 5
|
||||
if test $cc_vers_major -ge 5; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 5)"
|
||||
H5_ECXXFLAGS="$H5_ECXXFLAGS $(load_gnu_arguments error-5)"
|
||||
fi
|
||||
|
||||
# gcc >= 6
|
||||
if test $cc_vers_major -ge 6; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 6)"
|
||||
fi
|
||||
|
||||
# gcc >= 7
|
||||
if test $cc_vers_major -ge 7; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 7)"
|
||||
DEVELOPER_WARNING_CXXFLAGS="$DEVELOPER_WARNING_CXXFLAGS $(load_gcc_arguments developer-7)"
|
||||
fi
|
||||
|
||||
# gcc 8
|
||||
if test $cc_vers_major -ge 8; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 8)"
|
||||
H5_ECXXFLAGS="$H5_ECXXFLAGS $(load_gnu_arguments error-8)"
|
||||
DEVELOPER_WARNING_CXXFLAGS="$DEVELOPER_WARNING_CXXFLAGS $(load_gcc_arguments developer-8)"
|
||||
NO_DEVELOPER_WARNING_CXXFLAGS="$NO_DEVELOPER_WARNING_CXXFLAGS $(load_gcc_arguments no-developer-8)"
|
||||
fi
|
||||
|
||||
# gcc 9
|
||||
if test $cc_vers_major -ge 9; then
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 9)"
|
||||
fi
|
||||
|
||||
#################
|
||||
# Flags are set #
|
||||
#################
|
||||
cxx_flags_set=yes
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Version-specific g++ flags
|
||||
#
|
||||
# Please follow the pattern below by adding new versions at the top, copying
|
||||
# the information from the previous version and adding modifications to that.
|
||||
case "$cxx_vendor-$cxx_version" in
|
||||
|
||||
# Closer to the g++ 5.2 release, we should check for additional flags to
|
||||
# include and break it out into it's own section, like the other versions
|
||||
# below. -QAK
|
||||
g++-[56]*)
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# Enable more format checking flags, beyond the basic -Wformat included
|
||||
# in -Wall
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
|
||||
# Append warning flags from gcc-3.4* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Winvalid-pch"
|
||||
|
||||
# Replace old -W flag with new -Wextra flag
|
||||
H5_CXXFLAGS="`echo $H5_CXXFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.0+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.1+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wunsafe-loop-optimizations"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.2+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.3+ know about
|
||||
#
|
||||
# Technically, variable-length arrays are part of the C99 standard, but
|
||||
# we should approach them a bit cautiously... -QAK
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.4+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.5+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow=5"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.6+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.7+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstack-usage=8192 -Wvector-operation-performance -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.8+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wsuggest-attribute=format"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.9+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wdate-time -Wopenmp-simd"
|
||||
|
||||
# (There was no release of gcc 5.0)
|
||||
|
||||
# Append more extra warning flags that only gcc 5.1+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Warray-bounds=2"
|
||||
;;
|
||||
|
||||
g++-4.9*)
|
||||
# Append warning flags
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# Enable more format checking flags, beyond the basic -Wformat included
|
||||
# in -Wall
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append warning flags from gcc 3.3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
|
||||
# Append warning flags from gcc 3.4* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Winvalid-pch"
|
||||
|
||||
# Replace old -W flag with new -Wextra flag
|
||||
H5_CXXFLAGS="`echo $H5_CXXFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.0+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.1+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wunsafe-loop-optimizations"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.2+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.3+ know about
|
||||
#
|
||||
# Technically, variable-length arrays are part of the C99 standard, but
|
||||
# we should approach them a bit cautiously... -QAK
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.4+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.5+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow=5"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.6+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.7+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstack-usage=8192 -Wvector-operation-performance -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.8+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wsuggest-attribute=format"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.9+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wdate-time -Wopenmp-simd"
|
||||
;;
|
||||
|
||||
g++-4.8*)
|
||||
# Append warning flags
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# Enable more format checking flags, beyond the basic -Wformat included
|
||||
# in -Wall
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
|
||||
# Append warning flags from gcc-3.4* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Winvalid-pch"
|
||||
|
||||
# Replace old -W flag with new -Wextra flag
|
||||
H5_CXXFLAGS="`echo $H5_CXXFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.0+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.1+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wunsafe-loop-optimizations"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.2+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.3+ know about
|
||||
#
|
||||
# Technically, variable-length arrays are part of the C99 standard, but
|
||||
# we should approach them a bit cautiously... -QAK
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.4+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.5+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow=5"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.6+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.7+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstack-usage=8192 -Wvector-operation-performance -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.8+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wsuggest-attribute=format"
|
||||
;;
|
||||
|
||||
g++-4.7*)
|
||||
# Append warning flags
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# Enable more format checking flags, beyond the basic -Wformat included
|
||||
# in -Wall
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
|
||||
# Append warning flags from gcc-3.4* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Winvalid-pch"
|
||||
|
||||
# Replace old -W flag with new -Wextra flag
|
||||
H5_CXXFLAGS="`echo $H5_CXXFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.0+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.1+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wunsafe-loop-optimizations"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.2+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.3+ know about
|
||||
#
|
||||
# Technically, variable-length arrays are part of the C99 standard, but
|
||||
# we should approach them a bit cautiously... -QAK
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.4+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.5+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow=5"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.6+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.7+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstack-usage=8192 -Wvector-operation-performance -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn"
|
||||
;;
|
||||
|
||||
g++-4.6*)
|
||||
# Disable warnings about using 'long long' type
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wno-long-long"
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# Enable more format checking flags, beyond the basic -Wformat included
|
||||
# in -Wall
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
|
||||
# Append warning flags from gcc-3.4* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Winvalid-pch"
|
||||
|
||||
# Replace old -W flag with new -Wextra flag
|
||||
H5_CXXFLAGS="`echo $H5_CXXFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.0+ knows about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.1+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wunsafe-loop-optimizations"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.2+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.3+ know about
|
||||
#
|
||||
# Technically, variable-length arrays are part of the C99 standard, but
|
||||
# we should approach them a bit cautiously... -QAK
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.4+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.5+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-aliasing -Wstrict-overflow=5"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.6+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines"
|
||||
;;
|
||||
|
||||
g++-4.5*)
|
||||
# Disable warnings about using 'long long' type
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wno-long-long"
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# Enable more format checking flags, beyond the basic -Wformat included
|
||||
# in -Wall
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
|
||||
# Append warning flags from gcc-3.4* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Winvalid-pch"
|
||||
|
||||
# Replace old -W flag with new -Wextra flag
|
||||
H5_CXXFLAGS="`echo $H5_CXXFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
||||
|
||||
# Append more extra warning flags that only gcc4.0+ knows about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.1+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wunsafe-loop-optimizations"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.2+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.3+ know about
|
||||
#
|
||||
# Technically, variable-length arrays are part of the C99 standard, but
|
||||
# we should approach them a bit cautiously... -QAK
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.4+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.5+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-aliasing -Wstrict-overflow=5"
|
||||
;;
|
||||
|
||||
g++-4.4*)
|
||||
# Disable warnings about using 'long long' type
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wno-long-long"
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# Enable more format checking flags, beyond the basic -Wformat included
|
||||
# in -Wall
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
|
||||
# Append warning flags from gcc-3.4* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Winvalid-pch"
|
||||
|
||||
# Replace old -W flag with new -Wextra flag
|
||||
H5_CXXFLAGS="`echo $H5_CXXFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.0+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.1+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wunsafe-loop-optimizations"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.2+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.3+ know about
|
||||
#
|
||||
# Technically, variable-length arrays are part of the C99 standard, but
|
||||
# we should approach them a bit cautiously... -QAK
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.4+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
|
||||
;;
|
||||
|
||||
g++-4.3*)
|
||||
# Disable warnings about using 'long long' type
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wno-long-long"
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# Enable more format checking flags, beyond the basic -Wformat included
|
||||
# in -Wall
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
|
||||
# Append warning flags from gcc-3.4* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Winvalid-pch"
|
||||
|
||||
# Replace old -W flag with new -Wextra flag
|
||||
H5_CXXFLAGS="`echo $H5_CXXFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.0+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.1+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wunsafe-loop-optimizations -Wvolatile-register-var"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.2+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.3+ know about
|
||||
#
|
||||
# Technically, variable-length arrays are part of the C99 standard, but
|
||||
# we should approach them a bit cautiously... -QAK
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wlogical-op -Wvla"
|
||||
;;
|
||||
|
||||
g++-4.2*)
|
||||
# Disable warnings about using 'long long' type
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wno-long-long"
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# Enable more format checking flags, beyond the basic -Wformat included
|
||||
# in -Wall
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
|
||||
# Append warning flags from gcc-3.4* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Winvalid-pch"
|
||||
|
||||
# Replace old -W flag with new -Wextra flag
|
||||
H5_CXXFLAGS="`echo $H5_CXXFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.0+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.1+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wunsafe-loop-optimizations -Wvolatile-register-var"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.2+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wstrict-overflow"
|
||||
;;
|
||||
|
||||
g++-4.1.*)
|
||||
# Disable warnings about using 'long long' type
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wno-long-long"
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# Enable more format checking flags, beyond the basic -Wformat included
|
||||
# in -Wall
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
|
||||
# Append warning flags from gcc-3.4* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Winvalid-pch"
|
||||
|
||||
# Replace old -W flag with new -Wextra flag
|
||||
H5_CXXFLAGS="`echo $H5_CXXFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.0+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.1+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wunsafe-loop-optimizations -Wvolatile-register-var"
|
||||
;;
|
||||
|
||||
g++-4.0*)
|
||||
# Disable warnings about using 'long long' type
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wno-long-long"
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# The "format=2" warning generates too many warnings about valid
|
||||
# usage in the library.
|
||||
#CXXFLAGS="$CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
|
||||
# Append warning flags from gcc-3.4* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Winvalid-pch"
|
||||
|
||||
# Replace old -W flag with new -Wextra flag
|
||||
H5_CXXFLAGS="`echo $H5_CXXFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
||||
|
||||
# Append more extra warning flags that only gcc 4.0+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
|
||||
;;
|
||||
|
||||
g++-3.4*)
|
||||
# Disable warnings about using 'long long' type
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wno-long-long"
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# The "format=2" warning generates too many warnings about valid
|
||||
# usage in the library.
|
||||
#CXXFLAGS="$CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
|
||||
# Append more extra warning flags that only gcc3.4+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Winvalid-pch"
|
||||
|
||||
# Replace old -W flag with new -Wextra flag
|
||||
H5_CXXFLAGS="`echo $H5_CXXFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
|
||||
;;
|
||||
|
||||
g++-3.3*)
|
||||
# Disable warnings about using 'long long' type
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wno-long-long"
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# The "format=2" warning generates too many warnings about valid
|
||||
# usage in the library.
|
||||
#CXXFLAGS="$CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
|
||||
# Append more extra warning flags that only gcc3.3+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wendif-labels"
|
||||
;;
|
||||
|
||||
g++-3.2*)
|
||||
# Disable warnings about using 'long long' type
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wno-long-long"
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
|
||||
# Append more extra warning flags that only gcc3.2+ know about
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
|
||||
|
||||
# The "format=2" warning generates too many warnings about valid
|
||||
# usage in the library.
|
||||
#CXXFLAGS="$CXXFLAGS -Wformat=2"
|
||||
|
||||
# The "unreachable code" flag generates many spurious C++ warnings.
|
||||
# We'll disable it for now.
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wunreachable-code"
|
||||
;;
|
||||
|
||||
g++-3*)
|
||||
# Disable warnings about using 'long long' type
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wno-long-long"
|
||||
|
||||
# Append some extra warning flags that only gcc3+ know about
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
|
||||
H5_CXXFLAGS="$H5_CXXFLAGS -Wfloat-equal -Wmissing-format-attribute"
|
||||
;;
|
||||
esac
|
||||
-Wopenmp-simd"
|
||||
|
||||
# Clear cxx info if no flags set
|
||||
if test "X$cxx_flags_set" = "X"; then
|
||||
|
@ -17,6 +17,20 @@
|
||||
# if the compiler is not GNU; otherwise `f9x_flags_set' is set to `yes'
|
||||
#
|
||||
|
||||
#
|
||||
# Prepend `$srcdir/config/gnu-warnings/` to the filename suffix(es) given as
|
||||
# subroutine argument(s), remove comments starting with # and ending
|
||||
# at EOL, replace spans of whitespace (including newlines) with spaces,
|
||||
# and re-emit the file(s) thus filtered on the standard output stream.
|
||||
#
|
||||
load_gnu_arguments()
|
||||
{
|
||||
set -- $(for arg; do
|
||||
sed 's,#.*$,,' $srcdir/config/gnu-warnings/${arg} | demote_errors
|
||||
done)
|
||||
IFS=' ' echo "$*"
|
||||
}
|
||||
|
||||
# Get the compiler version in a way that works for GNU fortran
|
||||
# gfortran unless a compiler version is already known
|
||||
#
|
||||
@ -95,8 +109,8 @@ if test "X-gfortran" = "X-$f9x_vendor"; then
|
||||
# Symbols #
|
||||
###########
|
||||
|
||||
SYMBOLS_FCFLAGS="-g"
|
||||
NO_SYMBOLS_FCFLAGS="-s"
|
||||
SYMBOLS_FCFLAGS="-g"
|
||||
|
||||
#############
|
||||
# Profiling #
|
||||
@ -125,8 +139,7 @@ if test "X-gfortran" = "X-$f9x_vendor"; then
|
||||
# General #
|
||||
###########
|
||||
|
||||
H5_FCFLAGS="$H5_FCFLAGS -pedantic -Wall -Wextra -Wunderflow -Wimplicit-interface -Wsurprising"
|
||||
H5_FCFLAGS="$H5_FCFLAGS -Waliasing -Wcharacter-truncation"
|
||||
H5_FCFLAGS="$H5_CFLAGS $(load_gnu_arguments gfort-general)"
|
||||
|
||||
#############################
|
||||
# Version-specific warnings #
|
||||
@ -134,48 +147,45 @@ if test "X-gfortran" = "X-$f9x_vendor"; then
|
||||
|
||||
# gfortran 4.3 (nothing new)
|
||||
|
||||
# gfortran 4.4
|
||||
# gfortran >= 4.4
|
||||
if test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 4; then
|
||||
H5_FCFLAGS="$H5_FCFLAGS -Warray-temporaries -Wintrinsics-std"
|
||||
H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-4.4)"
|
||||
fi
|
||||
|
||||
# gfortran 4.5
|
||||
# gfortran >= 4.5
|
||||
if test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 5; then
|
||||
H5_FCFLAGS="$H5_FCFLAGS -Wimplicit-procedure"
|
||||
H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-4.5)"
|
||||
fi
|
||||
|
||||
# gfortran 4.6 (nothing new)
|
||||
|
||||
# gfortran 4.7
|
||||
# gfortran >= 4.7
|
||||
if test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 7; then
|
||||
H5_FCFLAGS="$H5_FCFLAGS -Wreal-q-constant -Wfunction-elimination"
|
||||
H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-4.7)"
|
||||
fi
|
||||
|
||||
# gfortran 4.8
|
||||
# gfortran >= 4.8
|
||||
if test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 8; then
|
||||
H5_FCFLAGS="$H5_FCFLAGS -Wrealloc-lhs -Wrealloc-lhs-all"
|
||||
# Turn off warnings for passing non-ANSI types to BIND().
|
||||
# We pass a lot of hid_t, etc. types so this generates a LOT of spurious warnings.
|
||||
H5_FCFLAGS="$H5_FCFLAGS -Wno-c-binding-type"
|
||||
H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-4.8)"
|
||||
fi
|
||||
|
||||
# gfortran 4.9 (nothing new)
|
||||
|
||||
# gfortran 5
|
||||
# gfortran >= 5
|
||||
if test $f9x_vers_major -ge 5; then
|
||||
H5_FCFLAGS="$H5_FCFLAGS -Wuse-without-only"
|
||||
H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-5)"
|
||||
fi
|
||||
|
||||
# gfortran 6
|
||||
# gfortran >= 6
|
||||
if test $f9x_vers_major -ge 6; then
|
||||
H5_FCFLAGS="$H5_FCFLAGS -Winteger-division"
|
||||
H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-6)"
|
||||
fi
|
||||
|
||||
# gfortran 7 (nothing new)
|
||||
|
||||
# gfortran 8
|
||||
# gfortran >= 8
|
||||
if test $f9x_vers_major -ge 8; then
|
||||
H5_FCFLAGS="$H5_FCFLAGS -Wfrontend-loop-interchange"
|
||||
H5_FCFLAGS="$H5_FCFLAGS $(load_gnu_arguments gfort-8)"
|
||||
fi
|
||||
|
||||
# gfortran 9 (nothing new)
|
||||
|
@ -36,12 +36,12 @@ demote_errors()
|
||||
}
|
||||
|
||||
#
|
||||
# Prepend `$srcdir/config/gnu-` to the filename suffix(es) given as
|
||||
# Prepend `$srcdir/config/gnu-warnings/` to the filename suffix(es) given as
|
||||
# subroutine argument(s), remove comments starting with # and ending
|
||||
# at EOL, replace spans of whitespace (including newlines) with spaces,
|
||||
# and re-emit the file(s) thus filtered on the standard output stream.
|
||||
#
|
||||
load_gcc_arguments()
|
||||
load_gnu_arguments()
|
||||
{
|
||||
set -- $(for arg; do
|
||||
sed 's,#.*$,,' $srcdir/config/gnu-warnings/${arg} | demote_errors
|
||||
@ -49,7 +49,6 @@ load_gcc_arguments()
|
||||
IFS=' ' echo "$*"
|
||||
}
|
||||
|
||||
|
||||
# Get the compiler version in a way that works for gcc
|
||||
# unless a compiler version is already known
|
||||
#
|
||||
@ -189,15 +188,15 @@ if test "X-gcc" = "X-$cc_vendor"; then
|
||||
# General #
|
||||
###########
|
||||
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments general)"
|
||||
H5_ECFLAGS="$H5_ECFLAGS $(load_gcc_arguments error-general)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments general)"
|
||||
H5_ECFLAGS="$H5_ECFLAGS $(load_gnu_arguments error-general)"
|
||||
|
||||
######################
|
||||
# Developer warnings #
|
||||
######################
|
||||
|
||||
NO_DEVELOPER_WARNING_CFLAGS=$(load_gcc_arguments no-developer-general)
|
||||
DEVELOPER_WARNING_CFLAGS=$(load_gcc_arguments developer-general)
|
||||
NO_DEVELOPER_WARNING_CFLAGS=$(load_gnu_arguments no-developer-general)
|
||||
DEVELOPER_WARNING_CFLAGS=$(load_gnu_arguments developer-general)
|
||||
|
||||
#######################
|
||||
# gcc 4 special cases #
|
||||
@ -205,27 +204,27 @@ if test "X-gcc" = "X-$cc_vendor"; then
|
||||
|
||||
# GCC 4.2 through 4.6
|
||||
if test $cc_vers_major -eq 4 -a $cc_vers_minor -ge 2 -o $cc_vers_major -eq 4 -a $cc_vers_minor -le 6; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 4.2-4.6)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.2-4.6)"
|
||||
fi
|
||||
|
||||
# GCC 4.2 through 4.3
|
||||
if test $cc_vers_major -eq 4 -a $cc_vers_minor -ge 2 -o $cc_vers_major -eq 4 -a $cc_vers_minor -le 3; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 4.2-4.3)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.2-4.3)"
|
||||
fi
|
||||
|
||||
# GCC 4.5 through 4.6
|
||||
if test $cc_vers_major -eq 4 -a $cc_vers_minor -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -le 6; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 4.5-4.6)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.5-4.6)"
|
||||
fi
|
||||
|
||||
# GCC 4.2 through 4.4
|
||||
if test $cc_vers_major -eq 4 -a $cc_vers_minor -ge 2 -a $cc_vers_major -eq 4 -a $cc_vers_minor -le 4; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 4.2-4.4)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.2-4.4)"
|
||||
fi
|
||||
|
||||
# GCC 4.2 through the end of GCC 4 series
|
||||
if test $cc_vers_major -eq 4 -a $cc_vers_minor -ge 2; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 4.2-4.last)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.2-4.last)"
|
||||
fi
|
||||
|
||||
#############################
|
||||
@ -234,75 +233,75 @@ if test "X-gcc" = "X-$cc_vendor"; then
|
||||
|
||||
# gcc >= 4.3
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 3; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 4.3)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.3)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.4
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 4; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 4.4)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.4)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.5
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 5; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 4.5)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.5)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-4.5)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-4.5)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.6
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 6; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 4.6)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.6)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-4.6)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-4.6)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.7
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 7; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 4.7)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.7)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-4.7)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-4.7)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.8
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 8; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 4.8)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.8)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-4.8)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-4.8)"
|
||||
fi
|
||||
|
||||
# gcc >= 4.9
|
||||
if test $cc_vers_major -ge 5 -o $cc_vers_major -eq 4 -a $cc_vers_minor -ge 9; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 4.9)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 4.9)"
|
||||
fi
|
||||
|
||||
# gcc >= 5
|
||||
if test $cc_vers_major -ge 5; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 5)"
|
||||
H5_ECFLAGS="$H5_ECFLAGS $(load_gcc_arguments error-5)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 5)"
|
||||
H5_ECFLAGS="$H5_ECFLAGS $(load_gnu_arguments error-5)"
|
||||
fi
|
||||
|
||||
# gcc >= 6
|
||||
if test $cc_vers_major -ge 6; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 6)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 6)"
|
||||
fi
|
||||
|
||||
# gcc >= 7
|
||||
if test $cc_vers_major -ge 7; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 7)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 7)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-7)"
|
||||
fi
|
||||
|
||||
# gcc 8
|
||||
if test $cc_vers_major -ge 8; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 8)"
|
||||
H5_ECFLAGS="$H5_ECFLAGS $(load_gcc_arguments error-8)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 8)"
|
||||
H5_ECFLAGS="$H5_ECFLAGS $(load_gnu_arguments error-8)"
|
||||
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments developer-8)"
|
||||
NO_DEVELOPER_WARNING_CFLAGS="$NO_DEVELOPER_WARNING_CFLAGS $(load_gcc_arguments no-developer-8)"
|
||||
fi
|
||||
|
||||
# gcc 9
|
||||
if test $cc_vers_major -ge 9; then
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gcc_arguments 9)"
|
||||
H5_CFLAGS="$H5_CFLAGS $(load_gnu_arguments 9)"
|
||||
fi
|
||||
|
||||
#################
|
||||
@ -316,3 +315,4 @@ if test "X$cc_flags_set" = "X"; then
|
||||
cc_vendor=
|
||||
cc_version=
|
||||
fi
|
||||
|
||||
|
19
config/gnu-warnings/cxx-general
Normal file
19
config/gnu-warnings/cxx-general
Normal file
@ -0,0 +1,19 @@
|
||||
# Note that some of the flags listed here really should be developer
|
||||
# flags (listed in separate files, gnu-warnings-developer*) but we put
|
||||
# them here because they are not raised by the current code and we'd like to
|
||||
# know if they do start showing up.
|
||||
#
|
||||
# NOTE: Don't add -Wpadded here since we can't/won't fix the (many)
|
||||
# warnings that are emitted. If you need it, add it from the
|
||||
# environment variable at configure time.
|
||||
-Wabi
|
||||
-Wctor-dtor-privacy
|
||||
-Weffc++
|
||||
##-Wendif-labels"
|
||||
-Wnon-virtual-dtor
|
||||
-Wold-style-cast
|
||||
-Woverloaded-virtual
|
||||
-Wreorder
|
||||
-Wsign-promo
|
||||
##-Wunreachable-code"
|
||||
##-Wvariadic-macros -
|
2
config/gnu-warnings/gfort-4.4
Normal file
2
config/gnu-warnings/gfort-4.4
Normal file
@ -0,0 +1,2 @@
|
||||
-Warray-temporaries
|
||||
-Wintrinsics-std
|
1
config/gnu-warnings/gfort-4.5
Normal file
1
config/gnu-warnings/gfort-4.5
Normal file
@ -0,0 +1 @@
|
||||
-Wimplicit-procedure
|
2
config/gnu-warnings/gfort-4.7
Normal file
2
config/gnu-warnings/gfort-4.7
Normal file
@ -0,0 +1,2 @@
|
||||
-Wreal-q-constant
|
||||
-Wfunction-elimination
|
5
config/gnu-warnings/gfort-4.8
Normal file
5
config/gnu-warnings/gfort-4.8
Normal file
@ -0,0 +1,5 @@
|
||||
-Wrealloc-lhs
|
||||
-Wrealloc-lhs-all
|
||||
# Turn off warnings for passing non-ANSI types to BIND().
|
||||
# We pass a lot of hid_t, etc. types so this generates a LOT of spurious warnings.
|
||||
-Wno-c-binding-type"
|
1
config/gnu-warnings/gfort-5
Normal file
1
config/gnu-warnings/gfort-5
Normal file
@ -0,0 +1 @@
|
||||
-Wuse-without-only
|
1
config/gnu-warnings/gfort-6
Normal file
1
config/gnu-warnings/gfort-6
Normal file
@ -0,0 +1 @@
|
||||
-Winteger-division
|
1
config/gnu-warnings/gfort-8
Normal file
1
config/gnu-warnings/gfort-8
Normal file
@ -0,0 +1 @@
|
||||
-Wfrontend-loop-interchange
|
12
config/gnu-warnings/gfort-general
Normal file
12
config/gnu-warnings/gfort-general
Normal file
@ -0,0 +1,12 @@
|
||||
# Note that some of the flags listed here really should be developer
|
||||
# flags (listed in separate files, gnu-warnings-developer*) but we put
|
||||
# them here because they are not raised by the current code and we'd like to
|
||||
# know if they do start showing up.
|
||||
-Waliasing
|
||||
-Wall
|
||||
-Wcharacter-truncation
|
||||
-Wextra
|
||||
-Wimplicit-interface
|
||||
-Wsurprising
|
||||
-Wunderflow
|
||||
-pedantic
|
1
config/intel-ifort-general
Normal file
1
config/intel-ifort-general
Normal file
@ -0,0 +1 @@
|
||||
-warn:all
|
@ -1,10 +1,2 @@
|
||||
# Note that some of the flags listed here really should be developer
|
||||
# flags (listed in separate files, gnu-warnings-developer*) but we put
|
||||
# them here because they are not raised by the current code and we'd like to
|
||||
# know if they do start showing up.
|
||||
#
|
||||
# NOTE: Don't add -Wpadded here since we can't/won't fix the (many)
|
||||
# warnings that are emitted. If you need it, add it from the
|
||||
# environment variable at configure time.
|
||||
-Wall
|
||||
-Wcheck
|
@ -156,6 +156,7 @@ if (NOT ONLY_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_F90_C_LIB_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
TARGET_C_PROPERTIES (${HDF5_F90_C_LIB_TARGET} STATIC)
|
||||
target_link_libraries (${HDF5_F90_C_LIB_TARGET} PUBLIC ${HDF5_LIB_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_C_LIB_TARGET}")
|
||||
@ -173,9 +174,8 @@ if (BUILD_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_definitions(${HDF5_F90_C_LIBSH_TARGET}
|
||||
PUBLIC "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
)
|
||||
target_compile_options(${HDF5_F90_C_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_compile_definitions(${HDF5_F90_C_LIBSH_TARGET} PUBLIC "H5_BUILT_AS_DYNAMIC_LIB")
|
||||
TARGET_C_PROPERTIES (${HDF5_F90_C_LIBSH_TARGET} SHARED)
|
||||
target_link_libraries (${HDF5_F90_C_LIBSH_TARGET} PUBLIC ${HDF5_LIBSH_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_C_LIBSH_TARGET}")
|
||||
|
@ -13,8 +13,7 @@ target_include_directories (H5_test_buildiface
|
||||
)
|
||||
#if (BUILD_SHARED_LIBS)
|
||||
# target_compile_definitions(H5_test_buildiface
|
||||
# PRIVATE
|
||||
# $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:/MT>
|
||||
# PRIVATE $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:/MT>
|
||||
# )
|
||||
#endif ()
|
||||
if(MSVC)
|
||||
@ -49,6 +48,7 @@ if (NOT BUILD_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_F90_C_TEST_LIB_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
TARGET_C_PROPERTIES (${HDF5_F90_C_TEST_LIB_TARGET} STATIC)
|
||||
target_link_libraries (${HDF5_F90_C_TEST_LIB_TARGET}
|
||||
PRIVATE ${HDF5_F90_C_LIB_TARGET}
|
||||
@ -65,9 +65,8 @@ else ()
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_definitions(${HDF5_F90_C_TEST_LIBSH_TARGET}
|
||||
PUBLIC "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
)
|
||||
target_compile_options(${HDF5_F90_C_TEST_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_compile_definitions(${HDF5_F90_C_TEST_LIBSH_TARGET} PUBLIC "H5_BUILT_AS_DYNAMIC_LIB")
|
||||
TARGET_C_PROPERTIES (${HDF5_F90_C_TEST_LIBSH_TARGET} SHARED)
|
||||
target_link_libraries (${HDF5_F90_C_TEST_LIBSH_TARGET}
|
||||
PRIVATE ${HDF5_F90_C_LIBSH_TARGET}
|
||||
@ -129,10 +128,8 @@ endif ()
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_F90_TEST_LIB_TARGET} STATIC ${HDF5_F90_TF_SOURCES})
|
||||
target_include_directories (${HDF5_F90_TEST_LIB_TARGET}
|
||||
PRIVATE
|
||||
"${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static"
|
||||
INTERFACE
|
||||
"$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/static>"
|
||||
PRIVATE "${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/static>"
|
||||
)
|
||||
target_compile_definitions(${HDF5_F90_TEST_LIB_TARGET}
|
||||
PRIVATE
|
||||
@ -162,21 +159,17 @@ if (NOT BUILD_SHARED_LIBS)
|
||||
else ()
|
||||
add_library (${HDF5_F90_TEST_LIBSH_TARGET} SHARED ${HDF5_F90_TF_SOURCES_SHARED})
|
||||
target_include_directories (${HDF5_F90_TEST_LIBSH_TARGET}
|
||||
PRIVATE
|
||||
"${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared"
|
||||
INTERFACE
|
||||
"$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/shared>"
|
||||
PRIVATE "${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/shared>"
|
||||
)
|
||||
target_compile_definitions(${HDF5_F90_TEST_LIBSH_TARGET}
|
||||
PUBLIC
|
||||
"H5_BUILT_AS_DYNAMIC_LIB"
|
||||
PUBLIC "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
PRIVATE
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:BUILD_HDF5_TEST_DLL;HDF5F90_WINDOWS>
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
target_link_libraries (${HDF5_F90_TEST_LIBSH_TARGET}
|
||||
PUBLIC
|
||||
${HDF5_F90_C_TEST_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_LIBSH_TARGET}
|
||||
PUBLIC ${HDF5_F90_C_TEST_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_LIBSH_TARGET}
|
||||
)
|
||||
# set_property(TARGET ${HDF5_F90_TEST_LIBSH_TARGET} APPEND PROPERTY
|
||||
# LINK_FLAGS $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:"-SUBSYSTEM:CONSOLE">
|
||||
@ -222,8 +215,7 @@ add_executable (testhdf5_fortran
|
||||
tHDF5.F90
|
||||
)
|
||||
target_compile_options(testhdf5_fortran
|
||||
PRIVATE
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
PRIVATE $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
#set_property(TARGET testhdf5_fortran APPEND PROPERTY
|
||||
# LINK_FLAGS $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:"-SUBSYSTEM:CONSOLE">
|
||||
@ -236,12 +228,10 @@ if(MSVC)
|
||||
endif()
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
target_include_directories (testhdf5_fortran
|
||||
PRIVATE
|
||||
"${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static"
|
||||
PRIVATE "${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static"
|
||||
)
|
||||
target_link_libraries (testhdf5_fortran
|
||||
PRIVATE
|
||||
${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_LIB_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
PRIVATE ${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_LIB_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
)
|
||||
set_target_properties (testhdf5_fortran PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -251,12 +241,10 @@ if (NOT BUILD_SHARED_LIBS)
|
||||
add_dependencies (testhdf5_fortran ${HDF5_F90_TEST_LIB_TARGET})
|
||||
else ()
|
||||
target_include_directories (testhdf5_fortran
|
||||
PRIVATE
|
||||
"${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared"
|
||||
PRIVATE "${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared"
|
||||
)
|
||||
target_link_libraries (testhdf5_fortran
|
||||
PRIVATE
|
||||
${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
PRIVATE ${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
)
|
||||
set_target_properties (testhdf5_fortran PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -276,8 +264,7 @@ add_executable (testhdf5_fortran_1_8
|
||||
tHDF5_1_8.F90
|
||||
)
|
||||
target_compile_options(testhdf5_fortran_1_8
|
||||
PRIVATE
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
PRIVATE $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
#set_property(TARGET testhdf5_fortran_1_8 APPEND PROPERTY
|
||||
# LINK_FLAGS $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:"-SUBSYSTEM:CONSOLE">
|
||||
@ -290,12 +277,10 @@ if(MSVC)
|
||||
endif()
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
target_include_directories (testhdf5_fortran_1_8
|
||||
PRIVATE
|
||||
"${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static"
|
||||
PRIVATE "${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static"
|
||||
)
|
||||
target_link_libraries (testhdf5_fortran_1_8
|
||||
PRIVATE
|
||||
${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_LIB_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
PRIVATE ${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_LIB_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
)
|
||||
set_target_properties (testhdf5_fortran_1_8 PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -305,12 +290,10 @@ if (NOT BUILD_SHARED_LIBS)
|
||||
add_dependencies (testhdf5_fortran_1_8 ${HDF5_F90_TEST_LIB_TARGET})
|
||||
else ()
|
||||
target_include_directories (testhdf5_fortran_1_8
|
||||
PRIVATE
|
||||
"${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared"
|
||||
PRIVATE "${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared"
|
||||
)
|
||||
target_link_libraries (testhdf5_fortran_1_8
|
||||
PRIVATE
|
||||
${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
PRIVATE ${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
)
|
||||
set_target_properties (testhdf5_fortran_1_8 PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -332,8 +315,7 @@ add_executable (fortranlib_test_F03
|
||||
tHDF5_F03.F90
|
||||
)
|
||||
target_compile_options(fortranlib_test_F03
|
||||
PRIVATE
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
PRIVATE $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
#set_property(TARGET fortranlib_test_F03 APPEND PROPERTY
|
||||
# LINK_FLAGS $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:"-SUBSYSTEM:CONSOLE">
|
||||
@ -346,12 +328,10 @@ if(MSVC)
|
||||
endif()
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
target_include_directories (fortranlib_test_F03
|
||||
PRIVATE
|
||||
"${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static"
|
||||
PRIVATE "${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static"
|
||||
)
|
||||
target_link_libraries (fortranlib_test_F03
|
||||
PRIVATE
|
||||
${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_LIB_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
PRIVATE ${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_LIB_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
)
|
||||
set_target_properties (fortranlib_test_F03 PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -361,12 +341,10 @@ if (NOT BUILD_SHARED_LIBS)
|
||||
add_dependencies (fortranlib_test_F03 ${HDF5_F90_TEST_LIB_TARGET})
|
||||
else ()
|
||||
target_include_directories (fortranlib_test_F03
|
||||
PRIVATE
|
||||
"${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared"
|
||||
PRIVATE "${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared"
|
||||
)
|
||||
target_link_libraries (fortranlib_test_F03
|
||||
PRIVATE
|
||||
${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
PRIVATE ${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
)
|
||||
set_target_properties (fortranlib_test_F03 PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -379,8 +357,7 @@ endif ()
|
||||
#-- Adding test for fflush1
|
||||
add_executable (fflush1 fflush1.F90)
|
||||
target_compile_options(fflush1
|
||||
PRIVATE
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
PRIVATE $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
#set_property(TARGET fflush1 APPEND PROPERTY
|
||||
# LINK_FLAGS $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:"-SUBSYSTEM:CONSOLE">
|
||||
@ -393,12 +370,10 @@ if(MSVC)
|
||||
endif()
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
target_include_directories (fflush1
|
||||
PRIVATE
|
||||
${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
target_link_libraries (fflush1
|
||||
PRIVATE
|
||||
${HDF5_F90_LIB_TARGET} ${HDF5_F90_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
PRIVATE ${HDF5_F90_LIB_TARGET} ${HDF5_F90_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
)
|
||||
set_target_properties (fflush1 PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -408,12 +383,10 @@ if (NOT BUILD_SHARED_LIBS)
|
||||
add_dependencies (fflush1 ${HDF5_F90_TEST_LIB_TARGET})
|
||||
else ()
|
||||
target_include_directories (fflush1
|
||||
PRIVATE
|
||||
${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
target_link_libraries (fflush1
|
||||
PRIVATE
|
||||
${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
PRIVATE ${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
)
|
||||
set_target_properties (fflush1 PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -426,8 +399,7 @@ endif ()
|
||||
#-- Adding test for fflush2
|
||||
add_executable (fflush2 fflush2.F90)
|
||||
target_compile_options (fflush2
|
||||
PRIVATE
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
PRIVATE $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
#set_property(TARGET fflush2 APPEND PROPERTY
|
||||
# LINK_FLAGS $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:"-SUBSYSTEM:CONSOLE">
|
||||
@ -440,12 +412,10 @@ if(MSVC)
|
||||
endif()
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
target_include_directories (fflush2
|
||||
PRIVATE
|
||||
${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
target_link_libraries (fflush2
|
||||
PRIVATE
|
||||
${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_LIB_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
PRIVATE ${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_LIB_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
)
|
||||
set_target_properties (fflush2 PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -455,12 +425,10 @@ if (NOT BUILD_SHARED_LIBS)
|
||||
add_dependencies (fflush2 ${HDF5_F90_TEST_LIB_TARGET})
|
||||
else ()
|
||||
target_include_directories (fflush2
|
||||
PRIVATE
|
||||
${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
target_link_libraries (fflush2
|
||||
PRIVATE
|
||||
${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
PRIVATE ${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
)
|
||||
set_target_properties (fflush2 PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -473,8 +441,7 @@ endif ()
|
||||
#-- Adding test for vol_connector
|
||||
add_executable (vol_connector vol_connector.F90)
|
||||
target_compile_options(vol_connector
|
||||
PRIVATE
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
PRIVATE $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
#set_property(TARGET vol_connector APPEND PROPERTY
|
||||
# LINK_FLAGS $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:"-SUBSYSTEM:CONSOLE">
|
||||
@ -487,12 +454,10 @@ if(MSVC)
|
||||
endif()
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
target_include_directories (vol_connector
|
||||
PRIVATE
|
||||
${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static
|
||||
)
|
||||
target_link_libraries (vol_connector
|
||||
PRIVATE
|
||||
${HDF5_F90_LIB_TARGET} ${HDF5_F90_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
PRIVATE ${HDF5_F90_LIB_TARGET} ${HDF5_F90_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
)
|
||||
set_target_properties (vol_connector PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -502,12 +467,10 @@ if (NOT BUILD_SHARED_LIBS)
|
||||
add_dependencies (vol_connector ${HDF5_F90_TEST_LIB_TARGET})
|
||||
else ()
|
||||
target_include_directories (vol_connector
|
||||
PRIVATE
|
||||
${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
|
||||
)
|
||||
target_link_libraries (vol_connector
|
||||
PRIVATE
|
||||
${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
PRIVATE ${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} $<$<PLATFORM_ID:Windows>:ws2_32.lib>
|
||||
)
|
||||
set_target_properties (vol_connector PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
|
@ -22,12 +22,10 @@ add_executable (parallel_test
|
||||
mdset.f90
|
||||
)
|
||||
target_include_directories (parallel_test
|
||||
PRIVATE
|
||||
${TESTPAR_INCLUDES}
|
||||
PRIVATE ${TESTPAR_INCLUDES}
|
||||
)
|
||||
target_compile_options(parallel_test
|
||||
PRIVATE
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
PRIVATE $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
target_link_libraries (parallel_test
|
||||
|
@ -14,9 +14,7 @@ if (NOT ONLY_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_HL_CPP_LIB_TARGET}
|
||||
PRIVATE "${HDF5_CMAKE_CXX_FLAGS}"
|
||||
)
|
||||
target_compile_options(${HDF5_HL_CPP_LIB_TARGET} PRIVATE "${HDF5_CMAKE_CXX_FLAGS}")
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_CPP_LIB_TARGET} STATIC)
|
||||
target_link_libraries (${HDF5_HL_CPP_LIB_TARGET} PUBLIC ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_CPP_LIB_TARGET}")
|
||||
@ -31,12 +29,8 @@ if (BUILD_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_HL_CPP_LIBSH_TARGET}
|
||||
PRIVATE "${HDF5_CMAKE_CXX_FLAGS}"
|
||||
)
|
||||
target_compile_definitions(${HDF5_HL_CPP_LIBSH_TARGET}
|
||||
PUBLIC "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
)
|
||||
target_compile_options(${HDF5_HL_CPP_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_CXX_FLAGS}")
|
||||
target_compile_definitions(${HDF5_HL_CPP_LIBSH_TARGET} PUBLIC "H5_BUILT_AS_DYNAMIC_LIB")
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_CPP_LIBSH_TARGET} SHARED)
|
||||
target_link_libraries (${HDF5_HL_CPP_LIBSH_TARGET} PUBLIC ${HDF5_HL_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_CPP_LIBSH_TARGET}")
|
||||
|
@ -2,6 +2,7 @@ cmake_minimum_required (VERSION 3.12)
|
||||
project (HDF5_HL_CPP_TEST CXX)
|
||||
|
||||
add_executable (hl_ptableTest ${HDF5_HL_CPP_TEST_SOURCE_DIR}/ptableTest.cpp)
|
||||
target_compile_options(hl_ptableTest PRIVATE "${HDF5_CMAKE_CXX_FLAGS}")
|
||||
target_include_directories (hl_ptableTest PRIVATE "${HDF5_HL_SRC_DIR}/test;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (hl_ptableTest STATIC)
|
||||
|
@ -9,8 +9,7 @@ set (examples
|
||||
foreach (example ${examples})
|
||||
add_executable (hl_f90_ex_${example} ${HDF5_HL_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
|
||||
target_compile_options(hl_f90_ex_${example}
|
||||
PRIVATE
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
PRIVATE $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
# set_property(TARGET hl_f90_ex_${example} APPEND PROPERTY
|
||||
# LINK_FLAGS $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:"-SUBSYSTEM:CONSOLE">
|
||||
@ -23,12 +22,10 @@ foreach (example ${examples})
|
||||
endif()
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
target_include_directories (hl_f90_ex_${example}
|
||||
PRIVATE
|
||||
"${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};${HDF5_F90_SRC_DIR}/src"
|
||||
PRIVATE "${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};${HDF5_F90_SRC_DIR}/src"
|
||||
)
|
||||
target_link_libraries (hl_f90_ex_${example}
|
||||
PRIVATE
|
||||
${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_LIB_TARGET}
|
||||
PRIVATE ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_LIB_TARGET}
|
||||
)
|
||||
set_target_properties (hl_f90_ex_${example} PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -37,12 +34,10 @@ foreach (example ${examples})
|
||||
)
|
||||
else ()
|
||||
target_include_directories (hl_f90_ex_${example}
|
||||
PRIVATE
|
||||
"${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};${HDF5_F90_SRC_DIR}/src"
|
||||
PRIVATE "${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};${HDF5_F90_SRC_DIR}/src"
|
||||
)
|
||||
target_link_libraries (hl_f90_ex_${example}
|
||||
PRIVATE
|
||||
${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_LIBSH_TARGET}
|
||||
PRIVATE ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_LIBSH_TARGET}
|
||||
)
|
||||
set_target_properties (hl_f90_ex_${example} PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
|
@ -62,6 +62,8 @@ if (NOT ONLY_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_F90_BINARY_DIR}/static;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_HL_F90_C_LIB_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_compile_definitions(${HDF5_HL_F90_C_LIB_TARGET} PUBLIC "H5_BUILT_AS_DYNAMIC_LIB")
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_F90_C_LIB_TARGET} STATIC)
|
||||
target_link_libraries (${HDF5_HL_F90_C_LIB_TARGET} PUBLIC ${HDF5_F90_C_LIB_TARGET} ${HDF5_HL_LIB_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_F90_C_LIB_TARGET}")
|
||||
@ -78,9 +80,8 @@ if (BUILD_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_F90_BINARY_DIR}/shared;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_definitions(${HDF5_LIBSH_TARGET}
|
||||
PUBLIC "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
)
|
||||
target_compile_options(${HDF5_HL_F90_C_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_compile_definitions(${HDF5_HL_F90_C_LIBSH_TARGET} PUBLIC "H5_BUILT_AS_DYNAMIC_LIB")
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_F90_C_LIBSH_TARGET} SHARED)
|
||||
target_link_libraries (${HDF5_HL_F90_C_LIBSH_TARGET} PUBLIC ${HDF5_F90_C_LIBSH_TARGET} ${HDF5_HL_LIBSH_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_F90_C_LIBSH_TARGET}")
|
||||
@ -161,20 +162,15 @@ endif ()
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
add_library (${HDF5_HL_F90_LIB_TARGET} STATIC ${HDF5_HL_F90_F_SOURCES})
|
||||
target_include_directories (${HDF5_HL_F90_LIB_TARGET}
|
||||
PRIVATE
|
||||
"${HDF5_F90_BINARY_DIR};${CMAKE_Fortran_MODULE_DIRECTORY}/static;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_Fortran_INCLUDE_DIRS}>"
|
||||
INTERFACE
|
||||
"$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/static>"
|
||||
PRIVATE "${HDF5_F90_BINARY_DIR};${CMAKE_Fortran_MODULE_DIRECTORY}/static;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_Fortran_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/static>"
|
||||
)
|
||||
target_compile_definitions(${HDF5_HL_F90_LIB_TARGET}
|
||||
PUBLIC
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:HDF5F90_WINDOWS>
|
||||
PRIVATE
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
PUBLIC $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:HDF5F90_WINDOWS>
|
||||
PRIVATE $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
target_link_libraries (${HDF5_HL_F90_LIB_TARGET}
|
||||
PUBLIC
|
||||
${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_F90_LIB_TARGET}
|
||||
PUBLIC ${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_F90_LIB_TARGET}
|
||||
)
|
||||
# set_property(TARGET ${HDF5_HL_F90_LIB_TARGET} APPEND PROPERTY
|
||||
# LINK_FLAGS $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:"-SUBSYSTEM:CONSOLE">
|
||||
@ -198,23 +194,18 @@ endif ()
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_HL_F90_LIBSH_TARGET} SHARED ${HDF5_HL_F90_F_SOURCES_SHARED})
|
||||
target_include_directories (${HDF5_HL_F90_LIBSH_TARGET}
|
||||
PRIVATE
|
||||
"${HDF5_F90_BINARY_DIR};${CMAKE_Fortran_MODULE_DIRECTORY}/shared;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_Fortran_INCLUDE_DIRS}>"
|
||||
INTERFACE
|
||||
"$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/shared>"
|
||||
PRIVATE "${HDF5_F90_BINARY_DIR};${CMAKE_Fortran_MODULE_DIRECTORY}/shared;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_Fortran_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/shared>"
|
||||
)
|
||||
target_compile_definitions(${HDF5_HL_F90_LIBSH_TARGET}
|
||||
PUBLIC
|
||||
"H5_BUILT_AS_DYNAMIC_LIB"
|
||||
PUBLIC "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
PRIVATE
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:BUILD_HDF5_HL_DLL;HDF5F90_WINDOWS>
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
target_link_libraries (${HDF5_HL_F90_LIBSH_TARGET}
|
||||
PUBLIC
|
||||
${HDF5_HL_F90_C_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET}
|
||||
PRIVATE
|
||||
${LINK_Fortran_LIBS}
|
||||
PUBLIC ${HDF5_HL_F90_C_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET}
|
||||
PRIVATE ${LINK_Fortran_LIBS}
|
||||
)
|
||||
# set_property(TARGET ${HDF5_HL_F90_LIBSH_TARGET} APPEND PROPERTY
|
||||
# LINK_FLAGS $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:"-SUBSYSTEM:CONSOLE">
|
||||
|
@ -14,8 +14,7 @@ set (H5_TESTS
|
||||
macro (ADD_H5_FORTRAN_EXE file)
|
||||
add_executable (hl_f90_${file} ${file}.F90)
|
||||
target_compile_options(hl_f90_${file}
|
||||
PRIVATE
|
||||
$<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
PRIVATE $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
# set_property(TARGET hl_f90_${file} APPEND PROPERTY
|
||||
# LINK_FLAGS $<$<STREQUAL:"x${CMAKE_Fortran_SIMULATE_ID}","xMSVC">:"-SUBSYSTEM:CONSOLE">
|
||||
@ -28,12 +27,10 @@ macro (ADD_H5_FORTRAN_EXE file)
|
||||
endif()
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
target_include_directories (hl_f90_${file}
|
||||
PRIVATE
|
||||
"${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};${HDF5_F90_SRC_DIR}/src"
|
||||
PRIVATE "${CMAKE_Fortran_MODULE_DIRECTORY}/static;${HDF5_F90_BINARY_DIR};${HDF5_F90_SRC_DIR}/src"
|
||||
)
|
||||
target_link_libraries (hl_f90_${file}
|
||||
PRIVATE
|
||||
${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_F90_TEST_LIB_TARGET}
|
||||
PRIVATE ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_F90_TEST_LIB_TARGET}
|
||||
)
|
||||
set_target_properties (hl_f90_${file} PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
@ -42,12 +39,10 @@ macro (ADD_H5_FORTRAN_EXE file)
|
||||
)
|
||||
else ()
|
||||
target_include_directories (hl_f90_${file}
|
||||
PRIVATE
|
||||
"${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};${HDF5_F90_SRC_DIR}/src"
|
||||
PRIVATE "${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${HDF5_F90_BINARY_DIR};${HDF5_F90_SRC_DIR}/src"
|
||||
)
|
||||
target_link_libraries (hl_f90_${file}
|
||||
PRIVATE
|
||||
${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_TEST_LIBSH_TARGET}
|
||||
PRIVATE ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_TEST_LIBSH_TARGET}
|
||||
)
|
||||
set_target_properties (hl_f90_${file} PROPERTIES
|
||||
LINKER_LANGUAGE Fortran
|
||||
|
@ -38,9 +38,7 @@ if (NOT ONLY_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_HL_LIB_TARGET}
|
||||
PRIVATE "${HDF5_CMAKE_C_FLAGS}"
|
||||
)
|
||||
target_compile_options(${HDF5_HL_LIB_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} STATIC)
|
||||
target_link_libraries (${HDF5_HL_LIB_TARGET} PUBLIC ${HDF5_LIB_TARGET})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} STATIC 0)
|
||||
@ -55,12 +53,8 @@ if (BUILD_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_HL_LIBSH_TARGET}
|
||||
PRIVATE "${HDF5_CMAKE_C_FLAGS}"
|
||||
)
|
||||
target_compile_definitions(${HDF5_HL_LIBSH_TARGET}
|
||||
PUBLIC "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
)
|
||||
target_compile_options(${HDF5_HL_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_compile_definitions(${HDF5_HL_LIBSH_TARGET} PUBLIC "H5_BUILT_AS_DYNAMIC_LIB")
|
||||
TARGET_C_PROPERTIES (${HDF5_HL_LIBSH_TARGET} SHARED)
|
||||
target_link_libraries (${HDF5_HL_LIBSH_TARGET} PUBLIC ${HDF5_LIBSH_TARGET})
|
||||
H5_SET_LIB_OPTIONS (${HDF5_HL_LIBSH_TARGET} ${HDF5_HL_LIB_NAME} SHARED "HL")
|
||||
|
@ -19,6 +19,7 @@ configure_file (${HDF5_HL_TEST_SOURCE_DIR}/H5srcdir_str.h.in H5srcdir_str.h @ON
|
||||
# --------------------------------------------------------------------
|
||||
macro (HL_ADD_EXE hl_name)
|
||||
add_executable (hl_${hl_name} ${hl_name}.c)
|
||||
target_compile_options(hl_${hl_name} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (hl_${hl_name} PRIVATE "${HDF5_TEST_SRC_DIR};${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (hl_${hl_name} STATIC)
|
||||
@ -49,6 +50,7 @@ HL_ADD_EXE (test_h5do_compat)
|
||||
|
||||
# test_packet has two source files
|
||||
add_executable (hl_test_packet test_packet.c test_packet_vlen.c)
|
||||
target_compile_options(hl_test_packet PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (hl_test_packet PRIVATE "${HDF5_TEST_SRC_DIR};${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (hl_test_packet STATIC)
|
||||
@ -73,6 +75,7 @@ set_target_properties (hl_test_packet PROPERTIES FOLDER test/hl)
|
||||
# --------------------------------------------------------------------
|
||||
if (HDF5_BUILD_GENERATORS AND NOT ONLY_SHARED_LIBS)
|
||||
add_executable (hl_gen_test_ds gen_test_ds.c)
|
||||
target_compile_options(hl_gen_test_ds PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (hl_gen_test_ds PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
TARGET_C_PROPERTIES (hl_gen_test_ds STATIC)
|
||||
target_link_libraries (hl_gen_test_ds PRIVATE
|
||||
@ -83,6 +86,7 @@ if (HDF5_BUILD_GENERATORS AND NOT ONLY_SHARED_LIBS)
|
||||
set_target_properties (hl_gen_test_ds PROPERTIES FOLDER test/hl/gen)
|
||||
|
||||
add_executable (hl_gen_test_ld gen_test_ld.c)
|
||||
target_compile_options(hl_gen_test_ld PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (hl_gen_test_ld PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
TARGET_C_PROPERTIES (hl_gen_test_ld STATIC)
|
||||
target_link_libraries (hl_gen_test_ld PRIVATE
|
||||
|
@ -16,6 +16,7 @@ set (GIF2H5_SOURCES
|
||||
#-- Add gif2hdf5 program
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
add_executable (gif2h5 ${GIF2H5_SOURCES})
|
||||
target_compile_options(gif2h5 PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (gif2h5 PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
TARGET_C_PROPERTIES (gif2h5 STATIC)
|
||||
target_link_libraries (gif2h5 PRIVATE ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
@ -28,6 +29,7 @@ endif ()
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (gif2h5-shared ${GIF2H5_SOURCES})
|
||||
target_compile_options(gif2h5-shared PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (gif2h5-shared PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
TARGET_C_PROPERTIES (gif2h5-shared SHARED)
|
||||
target_link_libraries (gif2h5-shared PRIVATE ${HDF5_HL_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} ${HDF5_TOOLS_LIBSH_TARGET})
|
||||
@ -45,6 +47,7 @@ set (hdf2gif_SOURCES
|
||||
)
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
add_executable (h52gif ${hdf2gif_SOURCES})
|
||||
target_compile_options(h52gif PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (h52gif PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
TARGET_C_PROPERTIES (h52gif STATIC)
|
||||
target_link_libraries (h52gif PRIVATE ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
@ -57,6 +60,7 @@ endif ()
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (h52gif-shared ${hdf2gif_SOURCES})
|
||||
target_compile_options(h52gif-shared PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (h52gif-shared PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
TARGET_C_PROPERTIES (h52gif-shared SHARED)
|
||||
target_link_libraries (h52gif-shared PRIVATE ${HDF5_HL_LIBSH_TARGET} PRIVATE ${HDF5_LIBSH_TARGET} ${HDF5_TOOLS_LIBSH_TARGET})
|
||||
|
@ -11,6 +11,7 @@ set (H5WATCH_SOURCES
|
||||
#-- Add h5watch program
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
add_executable (h5watch ${H5WATCH_SOURCES})
|
||||
target_compile_options(h5watch PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (h5watch PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
TARGET_C_PROPERTIES (h5watch STATIC)
|
||||
target_link_libraries (h5watch PRIVATE ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
@ -19,6 +20,7 @@ if (NOT ONLY_SHARED_LIBS)
|
||||
endif ()
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (h5watch-shared ${H5WATCH_SOURCES})
|
||||
target_compile_options(h5watch-shared PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (h5watch-shared PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
TARGET_C_PROPERTIES (h5watch-shared SHARED)
|
||||
target_link_libraries (h5watch-shared PRIVATE ${HDF5_HL_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} ${HDF5_TOOLS_LIBSH_TARGET})
|
||||
@ -32,6 +34,7 @@ if (BUILD_TESTING AND HDF5_TEST_SWMR AND HDF5_TEST_SERIAL)
|
||||
${HDF5_HL_TOOLS_H5WATCH_SOURCE_DIR}/swmr_check_compat_vfd.c
|
||||
)
|
||||
add_executable (hl_swmr_check_compat_vfd ${hl_swmr_check_compat_vfd_SOURCES})
|
||||
target_compile_options(hl_swmr_check_compat_vfd PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (hl_swmr_check_compat_vfd PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (hl_swmr_check_compat_vfd STATIC)
|
||||
@ -47,6 +50,7 @@ if (BUILD_TESTING AND HDF5_TEST_SWMR AND HDF5_TEST_SERIAL)
|
||||
${HDF5_HL_TOOLS_H5WATCH_SOURCE_DIR}/extend_dset.c
|
||||
)
|
||||
add_executable (extend_dset ${extend_dset_SOURCES})
|
||||
target_compile_options(extend_dset PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (extend_dset PRIVATE "${HDF5_HL_SRC_DIR}/test;${HDF5_HL_SRC_DIR}/src;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (extend_dset STATIC)
|
||||
@ -58,6 +62,7 @@ if (BUILD_TESTING AND HDF5_TEST_SWMR AND HDF5_TEST_SERIAL)
|
||||
set_target_properties (extend_dset PROPERTIES FOLDER tools/hl)
|
||||
|
||||
add_executable (h5watchgentest ${HDF5_HL_TOOLS_H5WATCH_SOURCE_DIR}/h5watchgentest.c)
|
||||
target_compile_options(h5watchgentest PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (h5watchgentest PRIVATE "${HDF5_HL_SRC_DIR}/src;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (h5watchgentest STATIC)
|
||||
|
@ -79,9 +79,7 @@ add_library (${HDF5_JAVA_JNI_LIB_TARGET} SHARED ${HDF5_JAVA_JNI_CSRCS} ${HDF5_JA
|
||||
target_include_directories (${HDF5_JAVA_JNI_LIB_TARGET}
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_JAVA_JNI_SOURCE_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
)
|
||||
target_compile_options(${HDF5_JAVA_JNI_LIB_TARGET}
|
||||
PRIVATE "${HDF5_CMAKE_C_FLAGS}"
|
||||
)
|
||||
target_compile_options(${HDF5_JAVA_JNI_LIB_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
TARGET_C_PROPERTIES (${HDF5_JAVA_JNI_LIB_TARGET} SHARED)
|
||||
target_link_libraries (${HDF5_JAVA_JNI_LIB_TARGET} PUBLIC ${HDF5_LIBSH_TARGET})
|
||||
set_target_properties (${HDF5_JAVA_JNI_LIB_TARGET} PROPERTIES FOLDER libraries/jni)
|
||||
|
@ -1137,9 +1137,7 @@ if (NOT ONLY_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_LIB_TARGET}
|
||||
PRIVATE "${HDF5_CMAKE_C_FLAGS}"
|
||||
)
|
||||
target_compile_options(${HDF5_LIB_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_compile_definitions(${HDF5_LIB_TARGET}
|
||||
PUBLIC
|
||||
${HDF_EXTRA_C_FLAGS}
|
||||
@ -1176,9 +1174,7 @@ if (BUILD_SHARED_LIBS)
|
||||
PUBLIC "$<$<BOOL:${HDF5_ENABLE_HDFS}>:${HDFS_INCLUDE_DIR}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_LIBSH_TARGET}
|
||||
PRIVATE "${HDF5_CMAKE_C_FLAGS}"
|
||||
)
|
||||
target_compile_options(${HDF5_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_compile_definitions(${HDF5_LIBSH_TARGET}
|
||||
PUBLIC
|
||||
"H5_BUILT_AS_DYNAMIC_LIB"
|
||||
|
@ -32,6 +32,7 @@ if (NOT ONLY_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_TEST_LIB_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
TARGET_C_PROPERTIES (${HDF5_TEST_LIB_TARGET} STATIC)
|
||||
target_link_libraries (${HDF5_TEST_LIB_TARGET}
|
||||
PUBLIC ${LINK_LIBS} ${HDF5_LIB_TARGET}
|
||||
@ -50,9 +51,8 @@ if (BUILD_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_definitions(${HDF5_TEST_LIBSH_TARGET}
|
||||
PUBLIC "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
)
|
||||
target_compile_options(${HDF5_TEST_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_compile_definitions(${HDF5_TEST_LIBSH_TARGET} PUBLIC "H5_BUILT_AS_DYNAMIC_LIB")
|
||||
TARGET_C_PROPERTIES (${HDF5_TEST_LIBSH_TARGET} SHARED)
|
||||
target_link_libraries (${HDF5_TEST_LIBSH_TARGET}
|
||||
PUBLIC ${LINK_LIBS} ${HDF5_LIBSH_TARGET}
|
||||
@ -293,7 +293,9 @@ set (H5_TESTS
|
||||
|
||||
macro (ADD_H5_EXE file)
|
||||
add_executable (${file} ${HDF5_TEST_SOURCE_DIR}/${file}.c)
|
||||
target_compile_options(${file} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (${file} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
target_compile_options(${file} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (${file} STATIC)
|
||||
target_link_libraries (${file} PRIVATE ${HDF5_TEST_LIB_TARGET})
|
||||
@ -325,6 +327,7 @@ endforeach ()
|
||||
######### Also special handling of link libs #############
|
||||
#-- Adding test for chunk_info
|
||||
add_executable (chunk_info ${HDF5_TEST_SOURCE_DIR}/chunk_info.c)
|
||||
target_compile_options(chunk_info PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (chunk_info PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (chunk_info STATIC)
|
||||
@ -337,6 +340,7 @@ set_target_properties (chunk_info PROPERTIES FOLDER test)
|
||||
|
||||
#-- Adding test for direct_chunk
|
||||
add_executable (direct_chunk ${HDF5_TEST_SOURCE_DIR}/direct_chunk.c)
|
||||
target_compile_options(direct_chunk PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (direct_chunk PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (direct_chunk STATIC)
|
||||
@ -351,6 +355,7 @@ set_target_properties (direct_chunk PROPERTIES FOLDER test)
|
||||
######### Special handling for multiple sources #############
|
||||
#-- Adding test for testhdf5
|
||||
add_executable (testhdf5 ${testhdf5_SOURCES})
|
||||
target_compile_options(testhdf5 PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (testhdf5 PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (testhdf5 STATIC)
|
||||
@ -363,6 +368,7 @@ set_target_properties (testhdf5 PROPERTIES FOLDER test)
|
||||
|
||||
#-- Adding test for cache_image
|
||||
add_executable (cache_image ${cache_image_SOURCES})
|
||||
target_compile_options(cache_image PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (cache_image PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (cache_image STATIC)
|
||||
@ -375,6 +381,7 @@ set_target_properties (cache_image PROPERTIES FOLDER test)
|
||||
|
||||
#-- Adding test for ttsafe
|
||||
add_executable (ttsafe ${ttsafe_SOURCES})
|
||||
target_compile_options(ttsafe PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (ttsafe PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (ttsafe STATIC)
|
||||
@ -393,6 +400,7 @@ set_target_properties (ttsafe PROPERTIES FOLDER test)
|
||||
######### Special handling for extra link lib of threads #############
|
||||
#-- Adding test for thread_id
|
||||
add_executable (thread_id ${HDF5_TEST_SOURCE_DIR}/thread_id.c)
|
||||
target_compile_options(thread_id PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (thread_id PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (thread_id STATIC)
|
||||
@ -476,6 +484,7 @@ endforeach ()
|
||||
# This has to be copied to the test directory for execve() to find it
|
||||
# and it can't be renamed (i.e., no <foo>-shared).
|
||||
add_executable (accum_swmr_reader ${HDF5_TEST_SOURCE_DIR}/accum_swmr_reader.c)
|
||||
target_compile_options(accum_swmr_reader PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (accum_swmr_reader PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (accum_swmr_reader STATIC)
|
||||
@ -511,6 +520,7 @@ endif ()
|
||||
##############################################################################
|
||||
set (use_append_chunk_SOURCES ${HDF5_TEST_SOURCE_DIR}/use_append_chunk.c ${HDF5_TEST_SOURCE_DIR}/use_common.c)
|
||||
add_executable (use_append_chunk ${use_append_chunk_SOURCES})
|
||||
target_compile_options(use_append_chunk PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (use_append_chunk PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (use_append_chunk STATIC)
|
||||
@ -523,6 +533,7 @@ set_target_properties (use_append_chunk PROPERTIES FOLDER test)
|
||||
|
||||
set (use_append_mchunks_SOURCES ${HDF5_TEST_SOURCE_DIR}/use_append_mchunks.c ${HDF5_TEST_SOURCE_DIR}/use_common.c)
|
||||
add_executable (use_append_mchunks ${use_append_mchunks_SOURCES})
|
||||
target_compile_options(use_append_mchunks PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (use_append_mchunks PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (use_append_mchunks STATIC)
|
||||
@ -535,6 +546,7 @@ set_target_properties (use_append_mchunks PROPERTIES FOLDER test)
|
||||
|
||||
set (use_disable_mdc_flushes_SOURCES ${HDF5_TEST_SOURCE_DIR}/use_disable_mdc_flushes.c)
|
||||
add_executable (use_disable_mdc_flushes ${use_disable_mdc_flushes_SOURCES})
|
||||
target_compile_options(use_disable_mdc_flushes PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (use_disable_mdc_flushes PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (use_disable_mdc_flushes STATIC)
|
||||
|
@ -22,6 +22,7 @@ set (testphdf5_SOURCES
|
||||
|
||||
#-- Adding test for testhdf5
|
||||
add_executable (testphdf5 ${testphdf5_SOURCES})
|
||||
target_compile_options(testphdf5 PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (testphdf5
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
)
|
||||
@ -40,6 +41,7 @@ set_target_properties (testphdf5 PROPERTIES FOLDER test/par)
|
||||
|
||||
MACRO (ADD_H5P_EXE file)
|
||||
add_executable (${file} ${HDF5_TEST_PAR_SOURCE_DIR}/${file}.c)
|
||||
target_compile_options(${file} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories (${file}
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
)
|
||||
|
@ -38,9 +38,7 @@ if (NOT ONLY_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_TOOLS_LIB_SOURCE_DIR};${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_TOOLS_LIB_TARGET}
|
||||
PRIVATE "${HDF5_CMAKE_C_FLAGS}"
|
||||
)
|
||||
target_compile_options(${HDF5_TOOLS_LIB_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
#target_compile_definitions(${HDF5_TOOLS_LIB_TARGET} PRIVATE H5_TOOLS_DEBUG)
|
||||
#target_compile_definitions(${HDF5_TOOLS_LIB_TARGET} PRIVATE H5DIFF_DEBUG)
|
||||
TARGET_C_PROPERTIES (${HDF5_TOOLS_LIB_TARGET} STATIC)
|
||||
@ -60,9 +58,7 @@ if (BUILD_SHARED_LIBS)
|
||||
PRIVATE "${HDF5_TOOLS_LIB_SOURCE_DIR};${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_options(${HDF5_TOOLS_LIBSH_TARGET}
|
||||
PRIVATE "${HDF5_CMAKE_C_FLAGS}"
|
||||
)
|
||||
target_compile_options(${HDF5_TOOLS_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_compile_definitions(${HDF5_TOOLS_LIBSH_TARGET}
|
||||
PUBLIC "H5_BUILT_AS_DYNAMIC_LIB"
|
||||
#PRIVATE H5_TOOLS_DEBUG
|
||||
|
@ -5,6 +5,7 @@ project (HDF5_TOOLS_LIBTEST C)
|
||||
# Add the h5tools_utils test executables
|
||||
#-----------------------------------------------------------------------------
|
||||
add_executable (h5tools_test_utils ${HDF5_TOOLS_LIBTEST_SOURCE_DIR}/h5tools_test_utils.c)
|
||||
target_compile_options(h5tools_test_utils PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
target_include_directories(h5tools_test_utils PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (h5tools_test_utils STATIC)
|
||||
|
@ -42,6 +42,7 @@ if (H5_HAVE_PARALLEL)
|
||||
${HDF5_TOOLS_SRC_H5DIFF_SOURCE_DIR}/ph5diff_main.c
|
||||
)
|
||||
target_include_directories (ph5diff PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
target_compile_options(ph5diff PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
TARGET_C_PROPERTIES (ph5diff STATIC)
|
||||
target_link_libraries (ph5diff PRIVATE ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET} "$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_LIBRARIES}>")
|
||||
set_target_properties (ph5diff PROPERTIES FOLDER tools)
|
||||
@ -54,6 +55,7 @@ if (H5_HAVE_PARALLEL)
|
||||
${HDF5_TOOLS_SRC_H5DIFF_SOURCE_DIR}/ph5diff_main.c
|
||||
)
|
||||
target_include_directories (ph5diff-shared PRIVATE "${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
target_compile_options(ph5diff-shared PRIVATE "${HDF5_CMAKE_C_FLAGS}")
|
||||
TARGET_C_PROPERTIES (ph5diff-shared SHARED)
|
||||
target_link_libraries (ph5diff-shared PRIVATE ${HDF5_TOOLS_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} "$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_LIBRARIES}>")
|
||||
set_target_properties (ph5diff-shared PROPERTIES FOLDER tools)
|
||||
|
Loading…
x
Reference in New Issue
Block a user