Compare commits
8 Commits
e98c9a4050
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 087926728a | |||
| df09564c9a | |||
| 0bf3ae625b | |||
| 5c1714410a | |||
| e6a9d8c5bb | |||
| e73daf88b3 | |||
| e197227908 | |||
| f1f793f775 |
2
Doxyfile
2
Doxyfile
@@ -48,7 +48,7 @@ PROJECT_NAME = GridFire
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = v0.7.4_rc2
|
||||
PROJECT_NUMBER = v0.7.5rc3
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewers a
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -7,10 +7,10 @@ if meson.is_cross_build() and host_machine.system() == 'darwin'
|
||||
py_inc_dir = include_directories('../../cross/python_includes/python-' + py_ver + '/include/python' + py_ver)
|
||||
py_dep = declare_dependency(include_directories: py_inc_dir)
|
||||
py_module_prefix = ''
|
||||
py_module_suffic = 'so'
|
||||
py_module_suffix = 'so'
|
||||
meson.override_dependency('python3', py_dep)
|
||||
else
|
||||
py_dep = py_installation.dependency()
|
||||
py_module_prefix = ''
|
||||
py_module_suffic = 'so'
|
||||
py_module_suffix = 'so'
|
||||
endif
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# *********************************************************************** #
|
||||
project('GridFire', ['c', 'cpp'], version: 'v0.7.4rc3', 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')
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
[build-system]
|
||||
requires = [
|
||||
"meson-python>=0.15.0", # Use a recent version
|
||||
"meson>=1.6.0", # Specify your Meson version requirement
|
||||
"meson==1.9.1", # Specify your Meson version requirement
|
||||
"pybind11>=2.10" # pybind11 headers needed at build time
|
||||
]
|
||||
build-backend = "mesonpy"
|
||||
|
||||
[project]
|
||||
name = "gridfire" # Choose your Python package name
|
||||
version = "v0.7.4rc3" # Your project's version
|
||||
version = "v0.7.5rc3" # Your project's version
|
||||
description = "Python interface to the GridFire nuclear network code"
|
||||
readme = "README.md"
|
||||
license = { file = "LICENSE.txt" } # Reference your license file [cite: 2]
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[wrap-git]
|
||||
url = https://github.com/4D-STAR/fourdst
|
||||
revision = v0.9.18
|
||||
revision = v0.9.19
|
||||
depth = 1
|
||||
|
||||
@@ -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>());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,18 +31,6 @@ cd "${TMPDIR}/project"
|
||||
# 3. Build Configuration
|
||||
export MACOSX_DEPLOYMENT_TARGET=15.0
|
||||
|
||||
# Meson options passed to pip via config-settings
|
||||
# Note: We use an array to keep the command clean
|
||||
MESON_ARGS=(
|
||||
"-Csetup-args=-Dunity=off"
|
||||
"-Csetup-args=-Dbuild-python=true"
|
||||
"-Csetup-args=-Dbuild-fortran=false"
|
||||
"-Csetup-args=-Dbuild-tests=false"
|
||||
"-Csetup-args=-Dpkg-config=false"
|
||||
"-Csetup-args=-Dunity-safe=true"
|
||||
)
|
||||
|
||||
PYTHON_VERSIONS=("3.8.20" "3.9.23" "3.10.18" "3.11.13" "3.12.11" "3.13.5" "3.13.5t" "3.14.0rc1" "3.14.0rc1t" 'pypy3.10-7.3.19' "pypy3.11-7.3.20")
|
||||
PYTHON_VERSIONS=("3.9.23" "3.10.18" "3.11.13" "3.12.11" "3.13.5" "3.13.5t" "3.14.0rc1" "3.14.0rc1t" 'pypy3.10-7.3.19' "pypy3.11-7.3.20")
|
||||
|
||||
if ! command -v pyenv &> /dev/null; then
|
||||
@@ -56,12 +44,6 @@ for PY_VERSION in "${PYTHON_VERSIONS[@]}"; do
|
||||
(
|
||||
set -e
|
||||
|
||||
# Check if version exists in pyenv
|
||||
if ! pyenv versions --bare --filter="${PY_VERSION}" &>/dev/null; then
|
||||
echo "⚠️ Python version matching '${PY_VERSION}' not found by pyenv. Skipping."
|
||||
continue
|
||||
fi
|
||||
|
||||
pyenv shell "${PY_VERSION}"
|
||||
PY="$(pyenv which python)"
|
||||
|
||||
@@ -70,14 +52,14 @@ 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)"
|
||||
|
||||
# PERF: --no-build-isolation prevents creating a fresh venv and reinstalling meson/ninja
|
||||
# for every single build, saving significant I/O and network time.
|
||||
CC="ccache clang" CXX="ccache clang++" "$PY" -m pip wheel . \
|
||||
--no-build-isolation \
|
||||
"${MESON_ARGS[@]}" \
|
||||
-w "${WHEEL_DIR}" -vv
|
||||
CC="ccache clang" CXX="ccache clang++" "$PY" -m pip wheel . --no-build-isolation -w "${WHEEL_DIR}" -v
|
||||
|
||||
# We expect exactly one new wheel in the tmp dir per iteration
|
||||
CURRENT_WHEEL=$(find "${WHEEL_DIR}" -name "*.whl" | head -n 1)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user