Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake remove deprecated syntax #432

Merged
merged 3 commits into from
Mar 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 39 additions & 55 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,7 @@ SET(PACKAGE_VERSION ${VERSION})

# Set known dependencies.
SET(EXTRA_DEPS "")
# Get system configuration,
# Use it to determine osname,
# os release, cpu. These will be used
# when committing to CDash.
find_program(UNAME NAMES uname)
IF(UNAME)
macro(getuname name flag)
exec_program("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
endmacro(getuname)
getuname(osname -s)
getuname(osrel -r)
getuname(cpu -m)
set(TMP_BUILDNAME "${osname}-${osrel}-${cpu}" CACHE STRING "Build name variable for CDash")
ENDIF()
set(TMP_BUILDNAME "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_VERSION}-${CMAKE_SYSTEM_PROCESSOR}" CACHE STRING "Build name variable for CDash")

# For CMAKE_INSTALL_LIBDIR
INCLUDE(GNUInstallDirs)
Expand Down Expand Up @@ -188,13 +175,10 @@ IF(NOT ENABLE_COVERAGE_TESTS)
string(APPEND CMAKE_C_FLAGS " -O2")
ENDIF()


ADD_DEFINITIONS()

# Supress CRT Warnings.
# Only necessary for Windows
IF(MSVC)
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
ENDIF()


Expand All @@ -210,7 +194,7 @@ ENDIF()
# Macro to append files to the EXTRA_DIST files.
SET(EXTRA_DIST "")
MACRO(ADD_EXTRA_DIST files)
FOREACH(F ${files})
FOREACH(F IN LISTS files)
list(APPEND EXTRA_DIST ${CMAKE_CURRENT_SOURCE_DIR}/${F})
ENDFOREACH()
SET(EXTRA_DIST ${EXTRA_DIST} PARENT_SCOPE)
Expand Down Expand Up @@ -320,7 +304,7 @@ MACRO(print_conf_summary)

SET(ALL_DEP_LIBS "${NETCDF_C_LIBRARY};${EXTRA_DEPS}")
MESSAGE(STATUS "\tLinking against:\t\t" "${ALL_DEP_LIBS}")
FOREACH(_LIB ${EXTRA_DEPS})
FOREACH(_LIB IN LISTS EXTRA_DEPS)
GET_FILENAME_COMPONENT(_LIB_NAME ${_LIB} NAME_WE)
STRING(REGEX REPLACE "^lib" "" _NAME ${_LIB_NAME})
LIST(APPEND NCF_LIBS "-l${_NAME}")
Expand Down Expand Up @@ -355,13 +339,13 @@ MACRO(specify_static_crt_flag)
CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_RELWITHDEBINFO)

FOREACH(flag_var ${vars})
FOREACH(flag_var IN LISTS vars)
IF(${flag_var} MATCHES "/MD")
STRING(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
ENDIF()
ENDFOREACH()

FOREACH(flag_var ${vars})
FOREACH(flag_var IN LISTS vars)
MESSAGE(STATUS " '${flag_var}': ${${flag_var}}")
ENDFOREACH()
MESSAGE(STATUS "")
Expand Down Expand Up @@ -546,26 +530,26 @@ CHECK_INCLUDE_FILE("netcdf.h" HAVE_NETCDF_H)
# End Check for various system header files.
###

ADD_DEFINITIONS(-DNCSHORT_T=integer*2)
ADD_DEFINITIONS(-DNCBYTE_T=byte)
ADD_DEFINITIONS(-DNF_RELAX_COORD_BOUND)
ADD_DEFINITIONS(-DNF_HAS_PARALLEL4)
ADD_DEFINITIONS(-DNF_HAS_PNETCDF)
#ADD_DEFINITIONS(-DENABLE_CDF5)
ADD_DEFINITIONS(-DNF_INT1_IS_C_SIGNED_CHAR)
#ADD_DEFINITIONS(-DNF_INT1_IS_C_SHORT)
#ADD_DEFINITIONS(-DNF_INT1_IS_C_INT)
#ADD_DEFINITIONS(-DNF_INT1_IS_C_LONG)
ADD_DEFINITIONS(-DNF_INT2_IS_C_SHORT)
#ADD_DEFINITIONS(-DNF_INT2_IS_C_INT)
#ADD_DEFINITIONS(-DNF_INT2_IS_C_LONG)
ADD_DEFINITIONS(-DNF_INT_IS_C_INT)
#ADD_DEFINITIONS(-DNF_INT_IS_C_LONG)
ADD_DEFINITIONS(-DNF_INT8_IS_C_LONG_LONG)
ADD_DEFINITIONS(-DNF_REAL_IS_C_FLOAT)
#ADD_DEFINITIONS(-DNF_REAL_IS_C_DOUBLE)
ADD_DEFINITIONS(-DNF_DOUBLEPRECISION_IS_C_DOUBLE)
#ADD_DEFINITIONS(-DNF_DOUBLEPRECISION_IS_C_FLOAT)
add_compile_definitions(NCSHORT_T=integer*2)
add_compile_definitions(NCBYTE_T=byte)
add_compile_definitions(NF_RELAX_COORD_BOUND)
add_compile_definitions(NF_HAS_PARALLEL4)
add_compile_definitions(NF_HAS_PNETCDF)
#add_compile_definitions(ENABLE_CDF5)
add_compile_definitions(NF_INT1_IS_C_SIGNED_CHAR)
#add_compile_definitions(NF_INT1_IS_C_SHORT)
#add_compile_definitions(NF_INT1_IS_C_INT)
#add_compile_definitions(NF_INT1_IS_C_LONG)
add_compile_definitions(NF_INT2_IS_C_SHORT)
#add_compile_definitions(NF_INT2_IS_C_INT)
#add_compile_definitions(NF_INT2_IS_C_LONG)
add_compile_definitions(NF_INT_IS_C_INT)
#add_compile_definitions(NF_INT_IS_C_LONG)
add_compile_definitions(NF_INT8_IS_C_LONG_LONG)
add_compile_definitions(NF_REAL_IS_C_FLOAT)
#add_compile_definitions(NF_REAL_IS_C_DOUBLE)
add_compile_definitions(NF_DOUBLEPRECISION_IS_C_DOUBLE)
#add_compile_definitions(NF_DOUBLEPRECISION_IS_C_FLOAT)

###
# Type checks
Expand Down Expand Up @@ -664,7 +648,7 @@ CHECK_C_SOURCE_COMPILES("
#endif
int main() {return 0;}" HAVE_QUANTIZE)
if (HAVE_QUANTIZE)
ADD_DEFINITIONS(-DNF_HAS_QUANTIZE)
add_compile_definitions(NF_HAS_QUANTIZE)
endif()

CHECK_LIBRARY_EXISTS(${NETCDF_C_LIBRARY} nc_def_var_szip "" HAVE_DEF_VAR_SZIP)
Expand All @@ -687,7 +671,7 @@ endif()

OPTION(DISABLE_ZSTANDARD_PLUGIN "Disable ZStandard plugin detection and functionality, even if libnetcdf was compiled with plugin support" OFF)

IF(NOT DISABLE_ZSTANDARD_PLUGIN)
IF(NOT DISABLE_ZSTANDARD_PLUGIN)
SET(CMAKE_REQUIRED_INCLUDES ${NETCDF_INCLUDE_DIR})
CHECK_C_SOURCE_COMPILES("
#include <netcdf_meta.h>
Expand Down Expand Up @@ -756,12 +740,12 @@ ENDIF(BUILD_DAP)
SET(ENABLE_NETCDF4 OFF)
IF(USE_NETCDF4)
SET(ENABLE_NETCDF4 ON)
ADD_DEFINITIONS(-DUSE_NETCDF4)
add_compile_definitions(USE_NETCDF4)
SET(ENABLE_NETCDF4 ON CACHE BOOL "")
ENDIF()

IF (UNIX AND ${CMAKE_SIZEOF_VOID_P} MATCHES "8")
ADD_DEFINITIONS(-DLONGLONG_IS_LONG)
add_compile_definitions(LONGLONG_IS_LONG)
# for easier debugging of cfortran.h
IF (APPLE)
IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
Expand Down Expand Up @@ -795,10 +779,10 @@ try_compile(NF_HAS_PARALLEL4 ${CMAKE_CURRENT_BINARY_DIR}
)

IF(NF_HAS_PARALLEL4)
ADD_DEFINITIONS(-DNF_HAS_PARALLEL4)
add_compile_definitions(NF_HAS_PARALLEL4)
ENDIF()
IF(NF_HAS_PNETCDF)
ADD_DEFINITIONS(-DNF_HAS_PNETCDF)
add_compile_definitions(NF_HAS_PNETCDF)
ENDIF()

IF(NF_HAS_PNETCDF OR NF_HAS_PARALLEL4)
Expand Down Expand Up @@ -826,7 +810,7 @@ try_compile(COMPILE_SUCCESS ${CMAKE_CURRENT_BINARY_DIR}
"${CMAKE_CURRENT_SOURCE_DIR}/CMakeExtras/test_c_ptrdiff_t.f90"
)
IF (COMPILE_SUCCESS)
ADD_DEFINITIONS(-DHAVE_TS29113_SUPPORT)
add_compile_definitions(HAVE_TS29113_SUPPORT)
SET(HAVE_TS29113_SUPPORT TRUE)
ELSE ()
# If the compile fails, PTRDIFF_T is not defined.
Expand All @@ -845,7 +829,7 @@ ELSE ()
IF (SIZEOF_RESULT)
MESSAGE (FATAL_ERROR "UNABLE TO DETERMINE SIZEOF PTRDIFF_T")
ELSE (SIZEOF_RESULT)
ADD_DEFINITIONS(-DSIZEOF_PTRDIFF_T=${SIZEOF_PTRDIFF_T})
add_compile_definitions(SIZEOF_PTRDIFF_T=${SIZEOF_PTRDIFF_T})
ENDIF (SIZEOF_RESULT)
ELSE()
MESSAGE(FATAL_ERROR "Unable to compile ptrdiff")
Expand Down Expand Up @@ -972,7 +956,7 @@ SET(MOD_FLAG -I)
SET(NC_EXTRA_DEPS "" CACHE STRING "Additional libraries to link against.")
IF(NC_EXTRA_DEPS)
STRING(REPLACE " " ";" DEPS_LIST ${NC_EXTRA_DEPS})
FOREACH(_DEP ${DEPS_LIST})
FOREACH(_DEP IN LISTS DEPS_LIST)
STRING(REGEX REPLACE "^-l" "" _LIB ${_DEP})
FIND_LIBRARY("${_LIB}_DEP" NAMES "${_LIB}" "lib${_LIB}")
# MESSAGE(${${_LIB}_DEP})
Expand Down Expand Up @@ -1085,9 +1069,9 @@ print_conf_summary()
# Set variables to mirror those used by autoconf.
# This way we don't need to maintain two separate template
# files.
SET(host_cpu "${cpu}")
SET(host_vendor "${osname}")
SET(host_os "${osrel}")
SET(host_cpu "${CMAKE_SYSTEM_PROCESSOR}")
SET(host_vendor "${CMAKE_SYSTEM_NAME}")
SET(host_os "${CMAKE_SYSTEM_VERSION}")
SET(abs_top_builddir "${CMAKE_CURRENT_BINARY_DIR}")
SET(abs_top_srcdir "${CMAKE_CURRENT_SOURCE_DIR}")

Expand All @@ -1103,7 +1087,7 @@ SET(NC_FLIBS "")

get_target_property(ALL_TLL_LIBS netcdff LINK_LIBRARIES)

FOREACH(_LIB ${ALL_TLL_LIBS})
FOREACH(_LIB IN LISTS ALL_TLL_LIBS)
GET_FILENAME_COMPONENT(_LIB_NAME ${_LIB} NAME_WE)
STRING(REGEX REPLACE "^lib" "" _NAME ${_LIB_NAME})
LIST(APPEND NC_FLIBS "-l${_NAME}")
Expand Down
2 changes: 1 addition & 1 deletion nf03_test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ SET(tst_fill_int64_SOURCES tst_fill_int64.F90)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/fortran ${CMAKE_SOURCE_DIR}/libsrc ${CMAKE_SOURCE_DIR}
${CMAKE_CPP_FLAGS} ${NETCDF_C_INCLUDE_DIR})
LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/fortran ${CMAKE_SOURCE_DIR}/libsrc)
FOREACH(t ${TESTS})
FOREACH(t IN LISTS TESTS)
ADD_EXECUTABLE(${t} ${${t}_SOURCES})
TARGET_LINK_LIBRARIES(${t} netcdff)
ADD_TEST(${t} ${t})
Expand Down
4 changes: 2 additions & 2 deletions nf03_test4/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ if (USE_NETCDF4)
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/run_f90_par_test.sh.in"
"${CMAKE_CURRENT_SOURCE_DIR}/run_f90_par_test.sh"
@ONLY)
FILE(COPY "${CMAKE_CURRENT_SOURCE_DIR}/run_f90_par_test.sh"
FILE(COPY "${CMAKE_CURRENT_SOURCE_DIR}/run_f90_par_test.sh"
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE)

Expand Down Expand Up @@ -74,7 +74,7 @@ if (USE_NETCDF4)
endif(USE_NETCDF4)

# Create pre-compiled tests.
FOREACH(t ${TESTS})
FOREACH(t IN LISTS TESTS)
ADD_EXECUTABLE(${t} ${${t}_SOURCES})
TARGET_LINK_LIBRARIES(${t} netcdff)
ADD_TEST(${t} ${t})
Expand Down
6 changes: 3 additions & 3 deletions nf_test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ SET(CMAKE_INCLUDE_CURRENT_DIR ON)

# Process these files with m4.
SET(m4_SOURCES test_get test_put)
foreach (f ${m4_SOURCES})
foreach (f IN LISTS m4_SOURCES)
GEN_m4(${f})
endforeach(f)

Expand Down Expand Up @@ -57,7 +57,7 @@ LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/fortran ${CMAKE_SOURCE_DIR}/libsrc

# Create pre-compiled tests.
message ("Create pre-compiled tests.")
FOREACH(t ${TESTS})
FOREACH(t IN LISTS TESTS)
ADD_EXECUTABLE(${t} ${${t}_SOURCES})
message(" " ${t} " C_SOURCES: " ${${t}_C_SOURCES})
IF(${t}_C_SOURCES)
Expand All @@ -78,7 +78,7 @@ FILE(COPY ${COPY_FILES}
FILE_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE)

# Add script-based tests.
FOREACH(t ${SCRIPT_TESTS})
FOREACH(t IN LISTS SCRIPT_TESTS)
add_sh_test(nf_test ${t})
ENDFOREACH()

Expand Down
2 changes: 1 addition & 1 deletion nf_test4/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ IF (HAVE_SZIP_WRITE)
ENDIF()

# Create pre-compiled tests.
FOREACH(t ${TESTS})
FOREACH(t IN LISTS TESTS)
ADD_EXECUTABLE(${t} ${${t}_SOURCES})
TARGET_LINK_LIBRARIES(${t} netcdff)
ADD_TEST(${t} ${t})
Expand Down
Loading