-
-
Notifications
You must be signed in to change notification settings - Fork 254
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Split intel compiler flags into sub-folders * Update Intel options for warnings * Mostly CMake, Autotools needs additional work
- Loading branch information
Showing
22 changed files
with
125 additions
and
79 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,54 +9,54 @@ | |
# If you do not have access to either file, you may request a copy from | ||
# [email protected]. | ||
# | ||
set(CMAKE_C_STANDARD 99) | ||
set(CMAKE_C_STANDARD_REQUIRED TRUE) | ||
set (CMAKE_C_STANDARD 99) | ||
set (CMAKE_C_STANDARD_REQUIRED TRUE) | ||
|
||
set (CMAKE_C_FLAGS "${CMAKE_C99_STANDARD_COMPILE_OPTION} ${CMAKE_C_FLAGS}") | ||
set (CMAKE_C_FLAGS "${CMAKE_C_SANITIZER_FLAGS} ${CMAKE_C_FLAGS}") | ||
message (VERBOSE "Warnings Configuration: C default: ${CMAKE_C_FLAGS}") | ||
#----------------------------------------------------------------------------- | ||
# Compiler specific flags : Shouldn't there be compiler tests for these | ||
#----------------------------------------------------------------------------- | ||
if(WIN32 AND CMAKE_C_COMPILER_ID STREQUAL "Intel") | ||
set(_INTEL_WINDOWS 1) | ||
endif() | ||
if (WIN32 AND (CMAKE_C_COMPILER_ID STREQUAL "Intel" OR CMAKE_C_COMPILER_ID MATCHES "IntelLLVM")) | ||
set (_INTEL_WINDOWS 1) | ||
endif () | ||
|
||
if(WIN32 AND CMAKE_C_COMPILER_ID MATCHES "[Cc]lang" AND "x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC") | ||
set(_CLANG_MSVC_WINDOWS 1) | ||
endif() | ||
if (WIN32 AND CMAKE_C_COMPILER_ID MATCHES "[Cc]lang" AND "x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC") | ||
set (_CLANG_MSVC_WINDOWS 1) | ||
endif () | ||
|
||
# Disable deprecation warnings for standard C functions. | ||
# really only needed for newer versions of VS, but should | ||
# not hurt other versions, and this will work into the | ||
# future | ||
if(MSVC OR _INTEL_WINDOWS OR _CLANG_MSVC_WINDOWS) | ||
add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE) | ||
endif() | ||
if (MSVC OR _INTEL_WINDOWS OR _CLANG_MSVC_WINDOWS) | ||
add_definitions (-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE) | ||
endif () | ||
|
||
if(MSVC) | ||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stack:10000000") | ||
endif() | ||
if (MSVC) | ||
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stack:10000000") | ||
endif () | ||
|
||
# MSVC 14.28 enables C5105, but the Windows SDK 10.0.18362.0 triggers it. | ||
if(CMAKE_C_COMPILER_ID STREQUAL "MSVC" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 19.28) | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -wd5105") | ||
endif() | ||
if (CMAKE_C_COMPILER_ID STREQUAL "MSVC" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 19.28) | ||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -wd5105") | ||
endif () | ||
|
||
if(_CLANG_MSVC_WINDOWS AND "x${CMAKE_C_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU") | ||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Xlinker -stack:20000000") | ||
endif() | ||
|
||
if(CMAKE_C_COMPILER_ID STREQUAL "NVHPC" ) | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Minform=warn") | ||
if (CMAKE_C_COMPILER_ID STREQUAL "NVHPC" ) | ||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Minform=warn") | ||
if (NOT ${HDF_CFG_NAME} MATCHES "Debug" AND NOT ${HDF_CFG_NAME} MATCHES "Developer") | ||
if (NOT ${HDF_CFG_NAME} MATCHES "RelWithDebInfo") | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s") | ||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s") | ||
endif () | ||
else () | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Mbounds -g") | ||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Mbounds -g") | ||
endif () | ||
endif() | ||
endif () | ||
|
||
if (CMAKE_COMPILER_IS_GNUCC) | ||
set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}") | ||
|
@@ -146,20 +146,20 @@ else () | |
# warnings that are emitted. If you need it, add it at configure time. | ||
if (CMAKE_C_COMPILER_ID STREQUAL "Intel") | ||
if (_INTEL_WINDOWS) | ||
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/win-general") | ||
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/win-general") | ||
else () | ||
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/general") | ||
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/general") | ||
endif() | ||
if (NOT _INTEL_WINDOWS) | ||
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0) | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/15") | ||
endif() | ||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0) | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/15") | ||
endif () | ||
# this is just a failsafe | ||
list (APPEND H5_CFLAGS "-finline-functions") | ||
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 18.0) | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/18") | ||
endif() | ||
endif() | ||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 18.0) | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/18") | ||
endif () | ||
endif () | ||
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU") | ||
# Add general CFlags for GCC versions 4.8 and above | ||
if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8) | ||
|
@@ -169,7 +169,15 @@ else () | |
# gcc automatically inlines based on the optimization level | ||
# this is just a failsafe | ||
list (APPEND H5_CFLAGS "-finline-functions") | ||
elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_C_COMPILER_ID MATCHES "[Cc]lang") | ||
elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM") | ||
if (_INTEL_WINDOWS) | ||
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/win-general") | ||
else () | ||
# this is just a failsafe | ||
list (APPEND H5_CFLAGS "-finline-functions") | ||
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/general") | ||
endif () | ||
elseif (CMAKE_C_COMPILER_ID MATCHES "[Cc]lang") | ||
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/general") | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/error-general") | ||
elseif (CMAKE_C_COMPILER_ID STREQUAL "PGI") | ||
|
@@ -191,13 +199,19 @@ if (HDF5_ENABLE_DEV_WARNINGS) | |
message (STATUS "....HDF5 developer group warnings are enabled") | ||
if (CMAKE_C_COMPILER_ID STREQUAL "Intel") | ||
if (_INTEL_WINDOWS) | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/win-developer-general") | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/win-developer-general") | ||
else () | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/developer-general") | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/developer-general") | ||
endif () | ||
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8) | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-general") | ||
elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_C_COMPILER_ID MATCHES "[Cc]lang") | ||
elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM") | ||
if (_INTEL_WINDOWS) | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/win-developer-general") | ||
else () | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/developer-general") | ||
endif () | ||
elseif (CMAKE_C_COMPILER_ID MATCHES "[Cc]lang") | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/developer-general") | ||
endif () | ||
|
||
|
@@ -211,12 +225,16 @@ if (HDF5_ENABLE_DEV_WARNINGS) | |
list (APPEND H5_CFLAGS "-Winline") | ||
elseif (CMAKE_C_COMPILER_ID STREQUAL "Intel" AND NOT _INTEL_WINDOWS) | ||
list (APPEND H5_CFLAGS "-Winline") | ||
elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" AND NOT _INTEL_WINDOWS) | ||
list (APPEND H5_CFLAGS "-Winline") | ||
elseif (CMAKE_C_COMPILER_ID MATCHES "[Cc]lang") | ||
list (APPEND H5_CFLAGS "-Winline") | ||
endif () | ||
endif () | ||
else () | ||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8) | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-general") | ||
elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_C_COMPILER_ID MATCHES "[Cc]lang") | ||
elseif (CMAKE_C_COMPILER_ID MATCHES "[Cc]lang") | ||
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/no-developer-general") | ||
endif () | ||
endif () | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.