Skip to content

Commit e5d52dc

Browse files
committed
Merge branch 'main' into release
2 parents b716e9a + 338e972 commit e5d52dc

22 files changed

+139
-57
lines changed

.github/workflows/gh-pages.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ jobs:
8888
id=$(docker create tuvx)
8989
docker cp $id:/build/docs/sphinx tmpdocs
9090
docker rm -v $id
91+
# Copy switcher.json to enable version switcher on branch docs
92+
cp docs/switcher.json tmpdocs/
9193
brname="${{github.ref}}"
9294
brname="${brname##refs/heads/}"
9395
brdir=${brname//\//--} # replace '/' with '--'

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ authors:
1616
- family-names: Thind
1717
given-names: Montek
1818
title: "NCAR/tuv-x"
19-
version: 0.12.0
19+
version: 0.13.0
2020
doi: 10.5281/zenodo.7126039
2121
url: "https://github.com/NCAR/tuv-x"
2222
year: 2025

CMakeLists.txt

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,8 @@
33

44
cmake_minimum_required(VERSION 3.17)
55

6-
project(
7-
tuv-x
8-
VERSION 0.12.0
9-
LANGUAGES Fortran CXX C
10-
)
6+
# project and version must be on the same line so that the docs can extract it
7+
project(tuv-x VERSION 0.13.0 LANGUAGES Fortran CXX C)
118

129
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
1310
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR}/cmake")
@@ -88,9 +85,7 @@ include(cmake/dependencies.cmake)
8885
add_subdirectory(src)
8986

9087
# add tuv-x standalone executable
91-
configure_file(src/version.F90.in version.F90 @ONLY)
92-
93-
add_executable(tuv-x src/tuvx.F90 version.F90)
88+
add_executable(tuv-x src/tuvx.F90)
9489

9590
set_target_properties(tuv-x
9691
PROPERTIES

cmake/dependencies.cmake

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,21 @@ FetchContent_Declare(
5959
GIT_REPOSITORY https://github.com/jbeder/yaml-cpp/
6060
GIT_TAG 28f93bdec6387d42332220afa9558060c8016795
6161
GIT_PROGRESS NOT
62+
FIND_PACKAGE_ARGS NAMES yaml-cpp
6263
${FETCHCONTENT_QUIET})
6364

6465
set(YAML_CPP_BUILD_TOOLS OFF CACHE BOOL "" FORCE)
6566

6667
FetchContent_MakeAvailable(yaml-cpp)
6768

69+
# Ensure yaml-cpp::yaml-cpp target exists (handle both system and FetchContent scenarios)
70+
if(NOT TARGET yaml-cpp::yaml-cpp)
71+
if(TARGET yaml-cpp)
72+
# Create alias for system-installed yaml-cpp that provides 'yaml-cpp' target
73+
add_library(yaml-cpp::yaml-cpp ALIAS yaml-cpp)
74+
endif()
75+
endif()
76+
6877
# ##############################################################################
6978
# Docs
7079

@@ -80,20 +89,30 @@ if(TUVX_ENABLE_BENCHMARK)
8089
FetchContent_Declare(
8190
googlebenchmark
8291
GIT_REPOSITORY https://github.com/google/benchmark.git
83-
GIT_TAG v1.8.3)
92+
GIT_TAG v1.8.3
93+
FIND_PACKAGE_ARGS NAMES benchmark)
8494

8595
set(BENCHMARK_DOWNLOAD_DEPENDENCIES ON)
8696
set(BENCHMARK_ENABLE_GTEST_TESTS OFF)
8797
set(BENCHMARK_ENABLE_ASSEMBLY_TESTS OFF)
8898
set(BENCHMARK_ENABLE_TESTING OFF)
8999
FetchContent_MakeAvailable(googlebenchmark)
100+
101+
# Ensure benchmark::benchmark target exists (handle both system and FetchContent scenarios)
102+
if(NOT TARGET benchmark::benchmark)
103+
if(TARGET benchmark)
104+
# Create alias for system-installed benchmark that provides 'benchmark' target
105+
add_library(benchmark::benchmark ALIAS benchmark)
106+
endif()
107+
endif()
90108
endif()
91109

92110
if(TUVX_ENABLE_TESTS)
93111
FetchContent_Declare(
94112
googletest
95113
GIT_REPOSITORY https://github.com/google/googletest.git
96-
GIT_TAG be03d00f5f0cc3a997d1a368bee8a1fe93651f48)
114+
GIT_TAG be03d00f5f0cc3a997d1a368bee8a1fe93651f48
115+
FIND_PACKAGE_ARGS NAMES GTest)
97116

98117
set(INSTALL_GTEST
99118
OFF
@@ -104,9 +123,21 @@ if(TUVX_ENABLE_TESTS)
104123

105124
FetchContent_MakeAvailable(googletest)
106125

107-
# don't run clang-tidy on google test
108-
set_target_properties(gtest PROPERTIES CXX_CLANG_TIDY "")
109-
set_target_properties(gtest_main PROPERTIES CXX_CLANG_TIDY "")
126+
# Ensure GTest::gtest_main target exists (handle both system and FetchContent scenarios)
127+
if(NOT TARGET GTest::gtest_main)
128+
if(TARGET gtest_main)
129+
# Create alias for system-installed gtest that provides 'gtest_main' target
130+
add_library(GTest::gtest_main ALIAS gtest_main)
131+
endif()
132+
endif()
133+
134+
# don't run clang-tidy on google test (only when built from source)
135+
if(TARGET gtest)
136+
set_target_properties(gtest PROPERTIES CXX_CLANG_TIDY "")
137+
endif()
138+
if(TARGET gtest_main)
139+
set_target_properties(gtest_main PROPERTIES CXX_CLANG_TIDY "")
140+
endif()
110141
endif()
111142

112143
# ##############################################################################

data/cross_sections/CClFO_JPL19.nc

7.67 KB
Binary file not shown.
8.6 KB
Binary file not shown.

data/cross_sections/CH2O_JPL19.nc

9.69 KB
Binary file not shown.
7.46 KB
Binary file not shown.

data/cross_sections/H2O2_JPL19.nc

7.72 KB
Binary file not shown.

data/cross_sections/N2O_JPL19.nc

8.33 KB
Binary file not shown.

0 commit comments

Comments
 (0)