5 Commits

Author SHA1 Message Date
087926728a docs(version): v0.7.6rc3 -> v0.7.6rc3.1
this version uses the target workaround which we use for the SUNDIALS suite to get meson to recognize it as position indepenednt code to CppAD
2025-12-22 08:23:20 -05:00
df09564c9a fix(cppad): build static lib for cppad
this is needed for gcc build and does not break clang build
2025-12-22 08:22:07 -05:00
0bf3ae625b docs(meson): version v0.7.5rc3 -> v0.7.6rc3 2025-12-22 08:18:02 -05:00
5c1714410a fix(engine_defined): fixed gcc build warnings 2025-12-22 08:17:23 -05:00
e6a9d8c5bb fix(wheels): fixed macos wheel generation to pin meson==1.9.1 2025-12-22 07:09:51 -05:00
8 changed files with 34 additions and 33 deletions

View File

@@ -1,21 +1,11 @@
#cppad_inc = include_directories('include', is_system: true)
#cppad_dep = declare_dependency(
# include_directories: cppad_inc,
#)
#
#message('Registering CppAD headers for installation...')
#install_subdir('include/cppad', install_dir: get_option('includedir'))
#message('Done registering CppAD headers for installation!')
#
cppad_cmake_options = cmake.subproject_options()
cppad_cmake_options.add_cmake_defines({
'cppad_static_lib': 'true',
'cpp_mas_num_threads': '10',
'cppad_debug_and_release': 'false',
'include_doc': 'false'
'include_doc': 'false',
'CMAKE_POSITION_INDEPENDENT_CODE': true
})
cppad_cmake_options.set_install(false)
@@ -25,4 +15,22 @@ cppad_sp = cmake.subproject(
options: cppad_cmake_options,
)
cppad_dep = cppad_sp.dependency('cppad_lib').as_system()
cppad_target = cppad_sp.target('cppad_lib')
cppad_objs = [cppad_target.extract_all_objects(recursive: true)]
cppad_incs = cppad_sp.include_directories('cppad_lib')
empty_cppad_file = configure_file(output: 'cppad_dummy_ar.cpp', command: ['echo'], capture: true)
libcppad_static = static_library(
'cppad-static',
empty_cppad_file,
objects: cppad_objs,
include_directories: cppad_incs,
pic: true,
install: false
)
cppad_dep = declare_dependency(
link_with: libcppad_static,
include_directories: cppad_incs
)

View File

@@ -18,7 +18,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# *********************************************************************** #
project('GridFire', ['c', 'cpp'], version: 'v0.7.5rc3', default_options: ['cpp_std=c++23'], meson_version: '>=1.5.0')
project('GridFire', ['c', 'cpp'], version: 'v0.7.6rc3.1', default_options: ['cpp_std=c++23'], meson_version: '>=1.5.0')
# Start by running the code which validates the build environment
subdir('build-check')

View File

@@ -359,7 +359,6 @@ namespace gridfire::engine {
private:
using LogManager = LogManager;
Config<config::GridFireConfig> m_config;
quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
@@ -367,4 +366,4 @@ namespace gridfire::engine {
///< Parser for the network file.
const io::NetworkFileParser& m_parser;
};
}
}

View File

@@ -1,4 +1,4 @@
[wrap-git]
url = https://github.com/4D-STAR/fourdst
revision = v0.9.18
revision = v0.9.19
depth = 1

View File

@@ -248,7 +248,7 @@ int main() {
std::array<NetIn, nZones> netIns;
for (size_t zone = 0; zone < nZones; ++zone) {
netIns[zone] = netIn;
netIns[zone].temperature = 1.0e7;
netIns[zone].temperature = 1.5e7;
}
const solver::PointSolver localSolver(engine);
@@ -256,4 +256,4 @@ int main() {
const solver::GridSolver gridSolver(engine, localSolver);
std::vector<NetOut> netOuts = gridSolver.evaluate(solverCtx, netIns | std::ranges::to<std::vector>());
}
}

View File

@@ -346,25 +346,15 @@ int main(int argc, char** argv) {
double temp = 1.5e7;
double rho = 1.5e2;
double tMax = 3.1536e+16;
double X = 0.7;
double Z = 0.02;
CLI::App app("GridFire Quick CLI Test");
// Add temp, rho, and tMax as options if desired
app.add_option("--temp", temp, "Initial Temperature")->default_val(std::format("{:5.2E}", temp));
app.add_option("--rho", rho, "Initial Density")->default_val(std::format("{:5.2E}", rho));
app.add_option("--tmax", tMax, "Maximum Time")->default_val(std::format("{:5.2E}", tMax));
// app.add_option("--X", X, "Target Hydrogen Mass Fraction")->default_val(std::format("{:5.2f}", X));
// app.add_option("--Z", Z, "Target Metal Mass Fraction")->default_val(std::format("{:5.2f}", Z));
CLI11_PARSE(app, argc, argv);
NetIn netIn = init(temp, rho, tMax);
for (const auto& [sp, y] : netIn.composition) {
std::println("Species: {}, Abundance: {}", sp.name(), y);
}
return 0;
// netIn.composition = rescale(netIn.composition, X, Z);
policy::MainSequencePolicy stellarPolicy(netIn.composition);
auto [engine, ctx_template] = stellarPolicy.construct();
@@ -374,4 +364,4 @@ int main(int argc, char** argv) {
NetOut result = solver.evaluate(solver_context, netIn);
log_results(result, netIn);
}
}

View File

@@ -52,7 +52,11 @@ for PY_VERSION in "${PYTHON_VERSIONS[@]}"; do
echo "----------------------------------------------------------------"
# Install build deps explicitly so we can skip build isolation
"$PY" -m pip install --upgrade pip setuptools wheel meson meson-python delocate
"$PY" -m pip install --upgrade pip setuptools wheel meson-python delocate
"$PY" -m pip install meson==1.9.1
echo "➤ Building wheel with ccache enabled"
echo "➤ Found meson version $(meson --version)"
# for every single build, saving significant I/O and network time.
CC="ccache clang" CXX="ccache clang++" "$PY" -m pip wheel . --no-build-isolation -w "${WHEEL_DIR}" -v

View File

@@ -75,7 +75,7 @@ for WHEEL_PATH in "$WHEEL_DIR"/*.whl; do
done < <(find "$TEMP_DIR" -name "*.so" -print0)
echo -e "${GREEN}Step 4: Repackaging wheel...${NC}"
python -m wheel pack "$TEMP_DIR/gridfire-0.7.4rc2" -d "$REPAIRED_WHEELS_DIR"
python -m wheel pack "$TEMP_DIR/gridfire-0.7.5rc3" -d "$REPAIRED_WHEELS_DIR"
REPAIRED_WHEEL_PATH="${REPAIRED_WHEELS_DIR}/${WHEEL_NAME}"
@@ -87,4 +87,4 @@ for WHEEL_PATH in "$WHEEL_DIR"/*.whl; do
echo -e "${GREEN}Repaired wheel saved to: ${REPAIRED_DELOCATED_WHEELS_DIR}/${WHEEL_NAME}${NC}"
# Clean up temporary directory
rm -rf "$TEMP_DIR"
done
done