Skip to content

Commit d05ff25

Browse files
authored
Merge pull request #147 from Goddard-Fortran-Ecosystem/develop
2 parents 4e08f88 + 7445d41 commit d05ff25

File tree

4 files changed

+63
-11
lines changed

4 files changed

+63
-11
lines changed

.github/workflows/main.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ jobs:
1515
runs-on: ${{ matrix.os }}
1616
strategy:
1717
matrix:
18-
os: [ubuntu-22.04, ubuntu-24.04, macos-13, macos-14]
19-
compiler: [gfortran-12, gfortran-13, gfortran-14]
18+
os: [ubuntu-22.04, ubuntu-24.04, macos-14, macos-15]
19+
compiler: [gfortran-12, gfortran-13, gfortran-14, gfortran-15]
2020
# gfortran-10 and -11 are only on ubuntu-22.04
21-
# gfortran-13 and -14 are not on ubuntu-22.04
21+
# gfortran-13 and -14 and -15 are not on ubuntu-22.04
22+
# gfortran-15 is only on macos
2223
include:
2324
- os: ubuntu-22.04
2425
compiler: gfortran-10
@@ -29,6 +30,10 @@ jobs:
2930
compiler: gfortran-13
3031
- os: ubuntu-22.04
3132
compiler: gfortran-14
33+
- os: ubuntu-22.04
34+
compiler: gfortran-15
35+
- os: ubuntu-24.04
36+
compiler: gfortran-15
3237

3338
# fail-fast if set to 'true' here is good for production, but when
3439
# debugging, set to 'false'. fail-fast means if *any* ci test in the matrix fails

CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
# environment.
1919
#
2020
# ------------------------------------------------------------------------ #
21-
cmake_minimum_required (VERSION 3.12)
21+
cmake_minimum_required (VERSION 3.24)
2222
project (PFLOGGER
23-
VERSION 1.16.1
23+
VERSION 1.17.0
2424
LANGUAGES Fortran)
2525

2626
set (CMAKE_MODULE_PATH
@@ -34,13 +34,13 @@ include (DefinePlatformDefaults)
3434
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
3535

3636
if (NOT TARGET GFTL::gftl)
37-
find_package (GFTL REQUIRED VERSION 1.10.0)
37+
find_package (GFTL REQUIRED VERSION 1.16.0)
3838
endif ()
3939
if (NOT TARGET GFTL_SHARED::gftl-shared)
40-
find_package (GFTL_SHARED REQUIRED VERSION 1.6.0)
40+
find_package (GFTL_SHARED REQUIRED VERSION 1.11.0)
4141
endif ()
4242
if (NOT TARGET YAFYAML::yafyaml)
43-
find_package (YAFYAML REQUIRED VERSION 1.3.0)
43+
find_package (YAFYAML REQUIRED VERSION 1.6.0)
4444
endif ()
4545

4646
option (ENABLE_MPI "Enable MPI support" ON)

ChangeLog.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.17.0] - 2025-09-30
11+
12+
### Fixed
13+
14+
- Workaround for `ifx` 2025.2 preprocessor bug
15+
16+
### Changed
17+
18+
- Updated required version of gFTL to v1.16.0
19+
- Updated required version of gFTL-shared to v1.11.0
20+
- Updated required version of yaFyaml to v1.6.0
21+
- Update CMake minimum version to 3.24
22+
- Remove `macos-13` from CI, add `macos-15`
23+
- Add `gfortran-15` to macOS CI
24+
1025
## [1.16.1] - 2025-02-06
1126

1227
### Fixed

cmake/IntelLLVM.cmake

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,38 @@
1-
set (FPP_FLAG "-cpp")
1+
set(cpp "-cpp") # default for all other versions
2+
if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 2025.2 AND CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 2025.3)
3+
4+
message(STATUS "Working around ifx ${CMAKE_Fortran_COMPILER_VERSION} FPP bug (using external cpp -P)")
5+
6+
# Find a preprocessor; prefer 'cpp', fall back to 'clang-cpp'
7+
find_program(cpp_exe NAMES cpp clang-cpp)
8+
if(NOT cpp_exe)
9+
message(FATAL_ERROR "ifx 2025.2 workaround requested but no 'cpp' or 'clang-cpp' found")
10+
endif()
11+
message(STATUS "Found preprocessor: ${cpp_exe}")
12+
13+
# Make a small wrapper that injects -P (no linemarkers)
14+
set(cpp_wrapper "${CMAKE_BINARY_DIR}/tools/cpp_no_lines")
15+
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/tools")
16+
17+
if(WIN32)
18+
# If you actually build on Windows with ifx, create a .bat wrapper
19+
file(WRITE "${cpp_wrapper}.bat"
20+
"@echo off\r
21+
\"${cpp_exe}\" -P -traditional-cpp -undef %*\r
22+
")
23+
set(cpp "-fpp-name=${cpp_wrapper}.bat")
24+
else()
25+
file(WRITE "${cpp_wrapper}"
26+
"#!/usr/bin/env bash
27+
exec \"${cpp_exe}\" -P -traditional-cpp -undef \"$@\"
28+
")
29+
file(CHMOD "${cpp_wrapper}" FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
30+
set(cpp "-fpp-name=${cpp_wrapper}")
31+
endif()
32+
endif()
33+
234
set (SUPPRESS_LINE_LENGTH_WARNING "-diag-disable 5268")
3-
set (CMAKE_Fortran_FLAGS_RELEASE "${FPP_FLAG} -O3 -free -stand f08 ${SUPPRESS_LINE_LENGTH_WARNING}")
4-
set (CMAKE_Fortran_FLAGS_DEBUG "${FPP_FLAG} -O0 -g -traceback \
35+
set (CMAKE_Fortran_FLAGS_RELEASE "${cpp} -O3 -free -stand f08 ${SUPPRESS_LINE_LENGTH_WARNING}")
36+
set (CMAKE_Fortran_FLAGS_DEBUG "${cpp} -O0 -g -traceback \
537
-check nouninit -free -stand f08 -save-temps ${SUPPRESS_LINE_LENGTH_WARNING}")
638

0 commit comments

Comments
 (0)