From e5c56e991c8e3d2cfc114c9528906b1469c7af45 Mon Sep 17 00:00:00 2001 From: Griger5 Date: Wed, 22 Oct 2025 15:55:41 +0200 Subject: [PATCH 01/17] fix: use windows-2022 instead of windows-latest (bug in hdf5) --- .github/workflows/buildwheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/buildwheels.yml b/.github/workflows/buildwheels.yml index f2acdde9..0b8f914f 100644 --- a/.github/workflows/buildwheels.yml +++ b/.github/workflows/buildwheels.yml @@ -41,7 +41,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, ubuntu-24.04-arm, macos-13, macos-latest, windows-latest] + os: [ubuntu-latest, ubuntu-24.04-arm, macos-13, macos-latest, windows-2022] # https://github.com/HDFGroup/hdf5/issues/5885 steps: - uses: actions/checkout@v4 From 3a5f07263d990987d16f149dd8563f7fa9d5d15b Mon Sep 17 00:00:00 2001 From: Griger5 Date: Wed, 22 Oct 2025 16:35:45 +0200 Subject: [PATCH 02/17] fix: install mingw on windows-2022 --- .github/workflows/buildwheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/buildwheels.yml b/.github/workflows/buildwheels.yml index 0b8f914f..db9b90db 100644 --- a/.github/workflows/buildwheels.yml +++ b/.github/workflows/buildwheels.yml @@ -50,7 +50,7 @@ jobs: fetch-depth: 0 # download C and Fortran compiler on windows - - if: matrix.os == 'windows-latest' + - if: matrix.os == 'windows-2022' uses: msys2/setup-msys2@v2 with: msystem: MINGW64 From ee224660b2d9b4aec8c2968c77da3660c0c66477 Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sat, 8 Nov 2025 16:13:46 +0100 Subject: [PATCH 03/17] Add conditional definition for Windows platform --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 45dd932b..3a1d6a93 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -354,6 +354,10 @@ set(HDF5_BUILD_EXAMPLES OFF) set(HDF5_ENABLE_Z_LIB_SUPPORT OFF) set(HDF5_ENABLE_SZIP_SUPPORT OFF) +if (WIN32) + add_definitions(-D_GNU_SOURCE) +endif() + add_subdirectory(${CMAKE_SOURCE_DIR}/gitmodules/hdf5) foreach(file ${hdf5_GENERATED_HEADERS}) From e12390fb69442ff55dedce55b08a34b6f693ada9 Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sat, 8 Nov 2025 16:42:29 +0100 Subject: [PATCH 04/17] Refactor HDF5 subdirectory addition and definitions --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a1d6a93..03a7aad5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -354,12 +354,12 @@ set(HDF5_BUILD_EXAMPLES OFF) set(HDF5_ENABLE_Z_LIB_SUPPORT OFF) set(HDF5_ENABLE_SZIP_SUPPORT OFF) +add_subdirectory(${CMAKE_SOURCE_DIR}/gitmodules/hdf5) + if (WIN32) - add_definitions(-D_GNU_SOURCE) + target_compile_definitions(hdf5-static PRIVATE _GNU_SOURCE) endif() -add_subdirectory(${CMAKE_SOURCE_DIR}/gitmodules/hdf5) - foreach(file ${hdf5_GENERATED_HEADERS}) execute_process( COMMAND ${PYTHON_EXECUTABLE} "-c" "import re;open(1,'wb').write(re.sub(b'\\r',b'',open(0,'rb').read()))" From 99a2c2ae9905c7cf2b5d7fbf0b57843246a91f8a Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sat, 8 Nov 2025 17:03:36 +0100 Subject: [PATCH 05/17] Change compile definitions for hdf5-static target --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 03a7aad5..76497cc4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -356,8 +356,8 @@ set(HDF5_ENABLE_SZIP_SUPPORT OFF) add_subdirectory(${CMAKE_SOURCE_DIR}/gitmodules/hdf5) -if (WIN32) - target_compile_definitions(hdf5-static PRIVATE _GNU_SOURCE) +if (MINGW) + target_compile_definitions(hdf5-static PRIVATE HAVE_VASPRINTF) endif() foreach(file ${hdf5_GENERATED_HEADERS}) From 40f77c2eb34bbffaa3e8498fbcd9702fd7579e95 Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sat, 8 Nov 2025 17:10:03 +0100 Subject: [PATCH 06/17] revert Windows OS version in buildwheels workflow --- .github/workflows/buildwheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/buildwheels.yml b/.github/workflows/buildwheels.yml index db9b90db..f2acdde9 100644 --- a/.github/workflows/buildwheels.yml +++ b/.github/workflows/buildwheels.yml @@ -41,7 +41,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, ubuntu-24.04-arm, macos-13, macos-latest, windows-2022] # https://github.com/HDFGroup/hdf5/issues/5885 + os: [ubuntu-latest, ubuntu-24.04-arm, macos-13, macos-latest, windows-latest] steps: - uses: actions/checkout@v4 @@ -50,7 +50,7 @@ jobs: fetch-depth: 0 # download C and Fortran compiler on windows - - if: matrix.os == 'windows-2022' + - if: matrix.os == 'windows-latest' uses: msys2/setup-msys2@v2 with: msystem: MINGW64 From fd75cb57f8982affa3706847eae230fb7b6a00a6 Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sat, 8 Nov 2025 17:10:32 +0100 Subject: [PATCH 07/17] Add comment for HDF5 issue in CMakeLists.txt Added a comment referencing an issue related to HDF5 on GitHub. --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 76497cc4..fac54b38 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -357,6 +357,7 @@ set(HDF5_ENABLE_SZIP_SUPPORT OFF) add_subdirectory(${CMAKE_SOURCE_DIR}/gitmodules/hdf5) if (MINGW) + # https://github.com/HDFGroup/hdf5/issues/5885 target_compile_definitions(hdf5-static PRIVATE HAVE_VASPRINTF) endif() From 5853263903621b3c2ac79b2147b3b0b4c378468f Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sat, 8 Nov 2025 17:29:17 +0100 Subject: [PATCH 08/17] Change compile definition for hdf5-static target --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fac54b38..f33e57c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -358,7 +358,7 @@ add_subdirectory(${CMAKE_SOURCE_DIR}/gitmodules/hdf5) if (MINGW) # https://github.com/HDFGroup/hdf5/issues/5885 - target_compile_definitions(hdf5-static PRIVATE HAVE_VASPRINTF) + target_compile_definitions(hdf5-static PRIVATE _GNU_SOURCE) endif() foreach(file ${hdf5_GENERATED_HEADERS}) From 39c7838c0fd4c3d0bc389aa602676c4822fef68c Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sat, 8 Nov 2025 20:05:50 +0100 Subject: [PATCH 09/17] Disable HDF5 nonstandard feature FLOAT16 support --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index f33e57c1..cdf8bc53 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -353,6 +353,7 @@ set(HDF5_BUILD_TOOLS OFF) set(HDF5_BUILD_EXAMPLES OFF) set(HDF5_ENABLE_Z_LIB_SUPPORT OFF) set(HDF5_ENABLE_SZIP_SUPPORT OFF) +set(HDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16 OFF) add_subdirectory(${CMAKE_SOURCE_DIR}/gitmodules/hdf5) From 280a407ae29ab1491444038894006904aad3f7cc Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sat, 8 Nov 2025 20:39:23 +0100 Subject: [PATCH 10/17] Set C89 compile flags for CAMP C sources --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index cdf8bc53..7eef25d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,6 +141,10 @@ set(camp_SOURCES sub_models/sub_model_ZSR_aerosol_water.c ) add_prefix(gitmodules/camp/src/ camp_SOURCES) +set_source_files_properties( + ${CAMP_C_SOURCES} + PROPERTIES COMPILE_FLAGS -std=c89 +) set(hdf5_GENERATED_HEADERS H5Edefin.h H5Einit.h H5Epubgen.h H5Eterm.h H5version.h H5overflow.h) add_prefix(gitmodules/hdf5/src/ hdf5_GENERATED_HEADERS) From d847a6a98b5daa6403872b84caef8f375cd99e97 Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sat, 8 Nov 2025 22:56:23 +0100 Subject: [PATCH 11/17] Refactor CMakeLists to separate C and Fortran sources for CAMP --- CMakeLists.txt | 74 ++++++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 35 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7eef25d8..5c2a73a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,16 +67,49 @@ set(PyPartMC_sources ) add_prefix(src/ PyPartMC_sources) -set(camp_SOURCES +set(camp_C_SOURCES Jacobian.c - aero_phase_data.F90 aero_phase_solver.c - aero_rep_data.F90 aero_rep_solver.c + camp_solver.c + rxn_solver.c + sub_model_solver.c + time_derivative.c + aero_reps/aero_rep_modal_binned_mass.c + aero_reps/aero_rep_single_particle.c + rxns/rxn_aqueous_equilibrium.c + rxns/rxn_ternary_chemical_activation.c + rxns/rxn_arrhenius.c + rxns/rxn_CMAQ_H2O2.c + rxns/rxn_CMAQ_OH_HNO3.c + rxns/rxn_condensed_phase_arrhenius.c + rxns/rxn_condensed_phase_photolysis.c + rxns/rxn_emission.c + rxns/rxn_first_order_loss.c + rxns/rxn_HL_phase_transfer.c + rxns/rxn_photolysis.c + rxns/rxn_SIMPOL_phase_transfer.c + rxns/rxn_surface.c + rxns/rxn_troe.c + rxns/rxn_wennberg_no_ro2.c + rxns/rxn_wennberg_tunneling.c + rxns/rxn_wet_deposition.c + sub_models/sub_model_PDFiTE.c + sub_models/sub_model_UNIFAC.c + sub_models/sub_model_ZSR_aerosol_water.c +) +add_prefix(gitmodules/camp/src/ camp_C_SOURCES) +set_source_files_properties( + ${CAMP_C_SOURCES} + PROPERTIES COMPILE_FLAGS -std=c89 +) + +set(camp_F_SOURCES + aero_phase_data.F90 + aero_rep_data.F90 aero_rep_factory.F90 camp_core.F90 camp_solver_data.F90 - camp_solver.c camp_state.F90 chem_spec_data.F90 constants.F90 @@ -88,63 +121,34 @@ set(camp_SOURCES rand.F90 rxn_data.F90 rxn_factory.F90 - rxn_solver.c solver_stats.F90 sub_model_data.F90 - sub_model_solver.c sub_model_factory.F90 - time_derivative.c util.F90 aero_reps/aero_rep_modal_binned_mass.F90 aero_reps/aero_rep_single_particle.F90 - aero_reps/aero_rep_modal_binned_mass.c - aero_reps/aero_rep_single_particle.c - rxns/rxn_aqueous_equilibrium.c rxns/rxn_aqueous_equilibrium.F90 - rxns/rxn_ternary_chemical_activation.c rxns/rxn_ternary_chemical_activation.F90 - rxns/rxn_arrhenius.c rxns/rxn_arrhenius.F90 - rxns/rxn_CMAQ_H2O2.c rxns/rxn_CMAQ_H2O2.F90 - rxns/rxn_CMAQ_OH_HNO3.c rxns/rxn_CMAQ_OH_HNO3.F90 - rxns/rxn_condensed_phase_arrhenius.c rxns/rxn_condensed_phase_arrhenius.F90 - rxns/rxn_condensed_phase_photolysis.c rxns/rxn_condensed_phase_photolysis.F90 - rxns/rxn_emission.c rxns/rxn_emission.F90 - rxns/rxn_first_order_loss.c rxns/rxn_first_order_loss.F90 - rxns/rxn_HL_phase_transfer.c rxns/rxn_HL_phase_transfer.F90 - rxns/rxn_photolysis.c rxns/rxn_photolysis.F90 - rxns/rxn_SIMPOL_phase_transfer.c rxns/rxn_SIMPOL_phase_transfer.F90 rxns/rxn_surface.F90 - rxns/rxn_surface.c - rxns/rxn_troe.c rxns/rxn_troe.F90 - rxns/rxn_wennberg_no_ro2.c rxns/rxn_wennberg_no_ro2.F90 - rxns/rxn_wennberg_tunneling.c rxns/rxn_wennberg_tunneling.F90 - rxns/rxn_wet_deposition.c rxns/rxn_wet_deposition.F90 - sub_models/sub_model_PDFiTE.c sub_models/sub_model_PDFiTE.F90 - sub_models/sub_model_UNIFAC.c sub_models/sub_model_UNIFAC.F90 sub_models/sub_model_ZSR_aerosol_water.F90 - sub_models/sub_model_ZSR_aerosol_water.c -) -add_prefix(gitmodules/camp/src/ camp_SOURCES) -set_source_files_properties( - ${CAMP_C_SOURCES} - PROPERTIES COMPILE_FLAGS -std=c89 ) +add_prefix(gitmodules/camp/src/ camp_F_SOURCES) set(hdf5_GENERATED_HEADERS H5Edefin.h H5Einit.h H5Epubgen.h H5Eterm.h H5version.h H5overflow.h) add_prefix(gitmodules/hdf5/src/ hdf5_GENERATED_HEADERS) @@ -331,7 +335,7 @@ add_prefix(sundials_ SUNDIALS_items) ### CAMP ########################################################################################### -add_library(camplib STATIC ${camp_SOURCES} ${json_fortran_SOURCES}) +add_library(camplib STATIC ${camp_C_SOURCES} ${camp_F_SOURCES} ${json_fortran_SOURCES}) target_compile_definitions(camplib PRIVATE CAMP_USE_JSON="1") target_compile_definitions(camplib PRIVATE CAMP_USE_SUNDIALS="1") target_include_directories(camplib PRIVATE From 285ed52805739b2153c9b91d1ad76208b1275330 Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sat, 8 Nov 2025 23:14:11 +0100 Subject: [PATCH 12/17] Fix source file variable name in CMakeLists.txt --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c2a73a4..3107f967 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,7 +100,7 @@ set(camp_C_SOURCES ) add_prefix(gitmodules/camp/src/ camp_C_SOURCES) set_source_files_properties( - ${CAMP_C_SOURCES} + ${camp_C_SOURCES} PROPERTIES COMPILE_FLAGS -std=c89 ) From 291a97395fd3b22470081528d1dfa1a5dee7c336 Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sun, 9 Nov 2025 00:57:44 +0100 Subject: [PATCH 13/17] Update C compile flags to C99 with a workaround for bool enum Removed C89 compile flag for C sources and updated to C99. --- CMakeLists.txt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3107f967..8fc80e8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,10 +99,6 @@ set(camp_C_SOURCES sub_models/sub_model_ZSR_aerosol_water.c ) add_prefix(gitmodules/camp/src/ camp_C_SOURCES) -set_source_files_properties( - ${camp_C_SOURCES} - PROPERTIES COMPILE_FLAGS -std=c89 -) set(camp_F_SOURCES aero_phase_data.F90 @@ -336,6 +332,8 @@ add_prefix(sundials_ SUNDIALS_items) ### CAMP ########################################################################################### add_library(camplib STATIC ${camp_C_SOURCES} ${camp_F_SOURCES} ${json_fortran_SOURCES}) +target_compile_options(camplib PRIVATE $<$:-std=c99>) +target_compile_definitions(camplib PRIVATE $<$:__bool_true_false_are_defined>) target_compile_definitions(camplib PRIVATE CAMP_USE_JSON="1") target_compile_definitions(camplib PRIVATE CAMP_USE_SUNDIALS="1") target_include_directories(camplib PRIVATE From 6d76247b8e44ab36dee7ccc4d6c738760fa7e7c2 Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sun, 9 Nov 2025 01:17:26 +0100 Subject: [PATCH 14/17] workaround yet another MinGW netcdf issue --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8fc80e8e..1ba63814 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -449,6 +449,9 @@ target_compile_definitions(netcdf_clib PRIVATE USE_NETCDF4 USE_HDF5 ) +if (MINGW) + target_compile_definitions(netcdf_clib PRIVATE _USE_32BIT_TIME_T) +endif() target_compile_options(netcdf_clib PRIVATE $<$:-Wno-unused-result -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast> $<$:-Wno-pointer-to-int-cast -Wno-int-to-void-pointer-cast> From 6cf99de71c9fad9ef1610c8750fddc8e2405bf08 Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sun, 9 Nov 2025 01:35:23 +0100 Subject: [PATCH 15/17] Update MinGW compile definitions for netcdf_clib --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ba63814..615b274a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -450,7 +450,7 @@ target_compile_definitions(netcdf_clib PRIVATE USE_HDF5 ) if (MINGW) - target_compile_definitions(netcdf_clib PRIVATE _USE_32BIT_TIME_T) + target_compile_definitions(netcdf_clib PRIVATE __MINGW_USE_VC2005_COMPAT) endif() target_compile_options(netcdf_clib PRIVATE $<$:-Wno-unused-result -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast> From db6e2c18ed91f0d71d4b9405bc75b1f61e2218b9 Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sun, 9 Nov 2025 09:11:12 +0100 Subject: [PATCH 16/17] Implement MinGW workaround for _wstat64 Add a workaround for MinGW's _wstat64 function to prevent conflicts. --- CMakeLists.txt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 615b274a..cf43fa63 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -450,8 +450,19 @@ target_compile_definitions(netcdf_clib PRIVATE USE_HDF5 ) if (MINGW) - target_compile_definitions(netcdf_clib PRIVATE __MINGW_USE_VC2005_COMPAT) + file(WRITE "${CMAKE_BINARY_DIR}/fix_mingw_wstat64.h" " +#pragma once +#include +#ifdef _WIN64 +# undef _wstat64 +# define _wstat64(path, buf) _wstat64((path), (struct _stat64*)(buf)) +#endif +") + target_compile_options(netcdf_clib PRIVATE + -include${CMAKE_BINARY_DIR}/fix_mingw_wstat64.h + ) endif() + target_compile_options(netcdf_clib PRIVATE $<$:-Wno-unused-result -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast> $<$:-Wno-pointer-to-int-cast -Wno-int-to-void-pointer-cast> From 7009f7abee1a91ce7f8f1f28e33b6e695f2d2cd3 Mon Sep 17 00:00:00 2001 From: Sylwester Arabas Date: Sun, 9 Nov 2025 09:32:11 +0100 Subject: [PATCH 17/17] Refactor source file variables in CMakeLists.txt --- CMakeLists.txt | 66 ++++++++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 35 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cf43fa63..50fd4c7b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,45 +67,16 @@ set(PyPartMC_sources ) add_prefix(src/ PyPartMC_sources) -set(camp_C_SOURCES +set(camp_SOURCES Jacobian.c - aero_phase_solver.c - aero_rep_solver.c - camp_solver.c - rxn_solver.c - sub_model_solver.c - time_derivative.c - aero_reps/aero_rep_modal_binned_mass.c - aero_reps/aero_rep_single_particle.c - rxns/rxn_aqueous_equilibrium.c - rxns/rxn_ternary_chemical_activation.c - rxns/rxn_arrhenius.c - rxns/rxn_CMAQ_H2O2.c - rxns/rxn_CMAQ_OH_HNO3.c - rxns/rxn_condensed_phase_arrhenius.c - rxns/rxn_condensed_phase_photolysis.c - rxns/rxn_emission.c - rxns/rxn_first_order_loss.c - rxns/rxn_HL_phase_transfer.c - rxns/rxn_photolysis.c - rxns/rxn_SIMPOL_phase_transfer.c - rxns/rxn_surface.c - rxns/rxn_troe.c - rxns/rxn_wennberg_no_ro2.c - rxns/rxn_wennberg_tunneling.c - rxns/rxn_wet_deposition.c - sub_models/sub_model_PDFiTE.c - sub_models/sub_model_UNIFAC.c - sub_models/sub_model_ZSR_aerosol_water.c -) -add_prefix(gitmodules/camp/src/ camp_C_SOURCES) - -set(camp_F_SOURCES aero_phase_data.F90 + aero_phase_solver.c aero_rep_data.F90 + aero_rep_solver.c aero_rep_factory.F90 camp_core.F90 camp_solver_data.F90 + camp_solver.c camp_state.F90 chem_spec_data.F90 constants.F90 @@ -117,34 +88,59 @@ set(camp_F_SOURCES rand.F90 rxn_data.F90 rxn_factory.F90 + rxn_solver.c solver_stats.F90 sub_model_data.F90 + sub_model_solver.c sub_model_factory.F90 + time_derivative.c util.F90 aero_reps/aero_rep_modal_binned_mass.F90 aero_reps/aero_rep_single_particle.F90 + aero_reps/aero_rep_modal_binned_mass.c + aero_reps/aero_rep_single_particle.c + rxns/rxn_aqueous_equilibrium.c rxns/rxn_aqueous_equilibrium.F90 + rxns/rxn_ternary_chemical_activation.c rxns/rxn_ternary_chemical_activation.F90 + rxns/rxn_arrhenius.c rxns/rxn_arrhenius.F90 + rxns/rxn_CMAQ_H2O2.c rxns/rxn_CMAQ_H2O2.F90 + rxns/rxn_CMAQ_OH_HNO3.c rxns/rxn_CMAQ_OH_HNO3.F90 + rxns/rxn_condensed_phase_arrhenius.c rxns/rxn_condensed_phase_arrhenius.F90 + rxns/rxn_condensed_phase_photolysis.c rxns/rxn_condensed_phase_photolysis.F90 + rxns/rxn_emission.c rxns/rxn_emission.F90 + rxns/rxn_first_order_loss.c rxns/rxn_first_order_loss.F90 + rxns/rxn_HL_phase_transfer.c rxns/rxn_HL_phase_transfer.F90 + rxns/rxn_photolysis.c rxns/rxn_photolysis.F90 + rxns/rxn_SIMPOL_phase_transfer.c rxns/rxn_SIMPOL_phase_transfer.F90 rxns/rxn_surface.F90 + rxns/rxn_surface.c + rxns/rxn_troe.c rxns/rxn_troe.F90 + rxns/rxn_wennberg_no_ro2.c rxns/rxn_wennberg_no_ro2.F90 + rxns/rxn_wennberg_tunneling.c rxns/rxn_wennberg_tunneling.F90 + rxns/rxn_wet_deposition.c rxns/rxn_wet_deposition.F90 + sub_models/sub_model_PDFiTE.c sub_models/sub_model_PDFiTE.F90 + sub_models/sub_model_UNIFAC.c sub_models/sub_model_UNIFAC.F90 sub_models/sub_model_ZSR_aerosol_water.F90 + sub_models/sub_model_ZSR_aerosol_water.c ) -add_prefix(gitmodules/camp/src/ camp_F_SOURCES) +add_prefix(gitmodules/camp/src/ camp_SOURCES) set(hdf5_GENERATED_HEADERS H5Edefin.h H5Einit.h H5Epubgen.h H5Eterm.h H5version.h H5overflow.h) add_prefix(gitmodules/hdf5/src/ hdf5_GENERATED_HEADERS) @@ -331,7 +327,7 @@ add_prefix(sundials_ SUNDIALS_items) ### CAMP ########################################################################################### -add_library(camplib STATIC ${camp_C_SOURCES} ${camp_F_SOURCES} ${json_fortran_SOURCES}) +add_library(camplib STATIC ${camp_SOURCES} ${json_fortran_SOURCES}) target_compile_options(camplib PRIVATE $<$:-std=c99>) target_compile_definitions(camplib PRIVATE $<$:__bool_true_false_are_defined>) target_compile_definitions(camplib PRIVATE CAMP_USE_JSON="1")