Files
apbs/.gitignore
Noah Oblath cb112a8577 Nsoblath/issue 163 (#171)
* Add a Dockerfile for testing

* Switch to FETK 1.8.1 and cleanup of FETK build

* New versions of geoflow and pb_solvers for testing

* Simplified Dockerfile

* Fixing a bug for getting FETK in windows

* A little more cleanup

* Update Geoflow git tag for new release

* Test building static libs

* Update pb_solvers commit to most recent release

* Update to the latest release of pb_solvers

* Separate configure/build stage for linux and mac

* Update the build script

* Update .build.sh

* Add libopenblas-dev to the linux dependencies

* Add tmate session to debug windows packing issue

* Debugging the windows packaging failure

* Maybe it's a shell problem?

* A little more debugging of the windows cpack failure

* Separate package creation for windows to get around the cmake/chocolatey conflict

* Best if I use the proper syntax . . .

* Typo fix

* Remove debugging modifications

* Cleanup of the build workflow

* Removing AppVeyor build and badge (Windows build is now done in GitHub Actions)

* Update .build.sh

* Update index.rst

* Use software-properties-common to get python3 in the Dockerfile

* Change directory into build before running tests

* Tests don't need to be their own project

* Turning off testing and building in the build script for GHA test purposes

* Check that the geoflow tests are working with this dev branch of geoflow

* Updated to released version of Geoflow

* First attempt at a test job

* Added required dependencies for apbs linkages
Added running of an example

* Fix directory

* Fixing the path to the downloaded artifacts

* Testing for mac and windows requirements

* Syntax fix

* Mod to check mac prereqs; note about windows prereqs

* (temporarily) remove some slow tests

* Add mac prereqs for test job

* Add component specification to all install lines and use to control the package creation

* Add tmate back in for now

* Enable the build of iAPBS, with a few changes to how it's done to make sure it links into apbs

* Minor logic fix

* Removed the include/Eigen directory.  It seemed to be confusing the Windows build.

* APBS needs to know where Eigen3 is

* Geoflow updated to deconflict class name with FETK/mc.  Build of Geoflow updated, with APBS dependency moved into APBS.  Build in src is updated accordingly.

* Updating Geoflow to the new release

* Move configure_file for apbscfg.h down in the CMakeLists.txt so that it has all of the necessary info

* Enable tmate session in windows to check linking for a successful windows test

* Potential fix to incorrect arguments in calls to preRefineFE and postRefineFE

* tmate session on test job failure

* Temporarily include headers and libraries in the zip file

* Remove hardcoded apbscfg.h and maloccf.h

* Add windows dependencies to the test run

* echo the PATH variable so we can check to see if the vcpkg libraries are findable

* Add the vcpkg bin directory to the path

* Use variable ENABLE_FETK instead of FETK_ENABLED to control building with FETK

* Renaming some build variables, per some TODOs in apbscfg.h.in

* Switch use tests to using run_selected_tests.sh

* Forgot to include the script to run

* Fix permissions for the examples scripts by using the USE_SOURCE_PERMISSIONS argument

* Added CHANGELOG.md and .extract_section.sh script (copied from FETK implementation)

* Add release.yaml and release artifacts (copied implementation from FETK)

* Update version to 3.3.0.alpha

* Fix variable for tag name

* Move release of artifacts to a separate job

* Was missing the step id

* Also had the wrong id here

* Oy, hopefully the last thing I missed

* Fixing the logic of having a separate publish release job

* Reworking how the package filenames are handled

* Trigger a new build

* Attempting fix to issue with retrieving and storing the zip file name

* Use expression instead of shell expansion

* Workflow cleanup

* Back-filling the changelog's previous entries from the GitHub Releases

* Git tags are prepended with a v

* Consolidating cmake settings

* Turn PYGBE on, and a couple of associated fixes

* Stripping out Tinker support

* Enable debugging in workflows

* Add python3 to mac and linux dependencies

* Shouldn't need `vcpkg integrate install` in the use test

* Need the python library in linux

* Update .extract_section.sh to handle the rst file releases.rst

* Test conversion of release rst to md

* Oops, docker actions are linux only

* One more linux-only restriction

* Build directory and install directory check for already-set values in .build.sh

* Do initial work to accommodate building the NSIS file

* Fixing typos from the last commit

* Actually process and attempt to use the NSIS file

* Separate NSIS build into a separate step to see what's causing the job to hang

* Fixing step id

* Move release extraction to release.yaml and use setup-python@v2 for python installation

* Setup to do a little debugging

* Removing the use of git submodule updating in the build

* Remove NSIS use test for now

* Removing the use of NSIS packaging

* Setup a tmate session for container testing

* Do a test of running a windows container

* Another container test

* One more docker container attempt

* Some documentation updates

* Return to the regular build

* Copying in dependency libraries

* Fixing a library name

* Option for a fully static build (does not work when OpenMP is used)

* Try out a fully static build without OpenMP

* Working on diagnosing static build

* Two bug fixes

* Using a test version of FETK to try a static build

* YAML fix

* Not sure why it's behaving as if a git hash matches a version tag, but for now we'll force it to use the git hash FETK download

* Compile flag needed for linux, at least

* Modifying dependencies that are installed

* Updated pb_solvers for testing the use of the pbsolvers namespace; Fixed inclusion of BLAS.

* Try removing specification of compiler

* Update pb_solvers for wrapping fixes

* Enable tmate on failure

* Another pb_solvers update

* Remove openmp; I think it's screwing up finding OpenBLAS on Ubuntu

* Missing headers were causing a problem on macos

* Let's see if using libopenblas-serial-dev fixes the finding-openblas problem on linux

* Avoid some cmake warnings and use an updated pb_solvers

* Maybe the final fix to have things working?  Updating pb_solvers.

* New version of FETK

* Including some dependencies

* Added finding AMD

* git-ignore all directories that start with build

* FETK is now treated as a required dependency, much earlier in the build

* These find modules are now handled by FETK

* Updating how dependencies are searched for and handled

* Use GNU standard install directories

* Getting things in the right order

* Remove the use of EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH

* I think we deleted nanoshaper when we cleared the temp directory, so don't do this

* Install metis manually on mac and linux to get static libs

* Separate tar and gunzip calls

* Sudo make install on linux

* Fixing the TABIPB library install location and NanoShaper duplicate install issues.

* Adding Python for linux

* Add a global static-build option and set the MSVC runtime library variable to hopefully perform a static build in windows

* Run tmate for windows to check linking

* Some anticipation of the types of jobs that will be run

* Adapt to changes in FETK

* Update FETK hash

* Remove extra line and print umfpack libraries

* Verbose build, for now

* Debugging messages

* Update FETK

* Need libumfpack for the windows use tests.  And use tmate if the build fails.

* Remove the link search variables

* Enable PYGBE in Windows and add Python to use tests in all builds

* Fix copying of dlls into the Windows zip package

* Attempt at providing a windows equivalent of the use of dirname in main.c

* Typo

* We shouldn't need the installed prereqs in Windows (libraries should come with the zip file)

* Need to get rid of the extension

* Use 7z instead of zip/unzip

* Fixing the path to the package

* Need to specify the python version to CMake

* Min and max python versions

* Treat version numbers as strings until they're into CMake

* Fix python version variable

* Add ldd step for debugging windows use test

* Let's see if it's just Python/PYGBE causing problems on the windows build

* Let's see if it's the python linking or the PYGBE-enabled code is causing the Windows use test problem

* Fixing the declaration of mol_dirname for the Windows build and re-enabling the use of PYGBE

* Some documentation updates

* Try including PYGBE without doing _splitpath

* Get tmate in windows after build

* Specify Python architecture

* Revert tmate to on failure after build

* [skip ci]
Test skipping the CI process, and also minor docs update

* Retesting with all selected examples enabled

* Remove examples that fail

* Added comments on CMake policy choices

* New FETK version

* Cleanup

* Re-enable examples to check current status

* [skip ci] Updated current status of examples in run_selected_examples.sh.

* Add metis build to the Dockerfile

* Update FETK version in the Dockerfile

* Replace pbsam-auto with pbsam in a couple of examples

* Updated run_selected_examples.sh with gdb bt of geoflow/glycerol.in example

* [skip ci] Updated releases.rst

* Fixing the logic for recognizing version numbers.  The key was to put the FETK_IMPORT_VERSION variable in brackets in the if() statement.

* Fixing issues in the running and wrapping of geoflow:
* The molecule index used when calling runGeometricFlowWrapAPBS is taken from the configuration `mol` value instead of hardcoded
* The input geoflow parameters (in struct of type GeometricFlowInput) are passed by pointer instead of as a struct

* PBAM and PBSAM are now disabled by default pending further development work on their integration

* Added notes for the failure of the born/apbs-mol-fem-extmesh.in example.  Update FETK to fix the failure.

* Enable maximum verbosity in ctest to try to diagnose the weirdness in the windows ctest run

* Fix logic around finding python for cmake <v3.19 and for only having a minimum version defined

* Report test failures with raised exceptions

* See if the Windows test failures are a shell-related issue

* Adding some missing newlines

* Trying to sort the install dir for mac and linux

* Don't clean the install and build dirs.  Let cmake take care of what it needs to take care of.  And rm -rf'ing a directory passed to a script without any validation is scary.

* I do, in fact, need to create the build dir

* Un-verbose the linux and mac build

* Relative install dir

* Same thing, this time in linux too

* Non-verbose makefile in windows

* Install PYGBE if enabled

* Install in the build directory, not build/build

* Include bin directory in path for tests

* hyphens, not minuses.  fixed spaces in names

* Parse before printing

* Debugging messages for python version

* Set path to include location of libumfpack

* Fix directory name in windows

* Prevent checking of uninitialized array

* Remove the PYGBE example

* Some CMake/Python debugging

* Set swap space in Windows to handle memory-intensive tests

* Instead of setting the swap space, set the pagefile size

* Add the large-address-aware option to the linker flags under Windows

* Print the execution log on failure

* Enter tmate in windows during the build job

* Use RELEASE_TYPE variable instead of hardcoding configuration name

* Switch to debug build for debugging

* Try to catch windows build failure

* Try to resolve the python debug library issue using Python_LIBRARY_RELEASE

* Use Python3_FIND_ABI to specify non-debug library

* Undo the python ABI thing

* Test hack to get around python debug library

* Add a temporary debugging tmate session

* Let's try debugging with the mac build

* For now, just build linux and mac

* Go back to a release build to try to replicate the crashes we saw before

* Make sure all arrays get some sort of initialization

* Call destructors if pointers aren't NULL

* FETK now on 1.9.0

* Updating FETK version to 1.9.1

* Cleanup and docs updates

* Exit the build script with an error when the build fails

* Use FETK v1.9.2

* Remove -fPIE option in a strange place

* Verbose build for debug

* Skip RPATH for static builds?

* Try FETK source build instead of release download

* Switch default FETK version to the git hash at v1.9.2 (causes source build instead of binary install)

* Remove verbosity from build script

* Cleanup

* Tweaking the docs

* Updating the check for a linux build

Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov>
Co-authored-by: Darren Curtis <Darren.Curtis@pnnl.gov>
2022-01-24 15:33:56 -08:00

176 lines
2.4 KiB
Plaintext

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build*/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
!docs
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# IDE config files
.vscode
# Vim temp files
*.swp
*.swo
# Data files for reference
examples/**/OUTPUT.txt
examples/**/*.dx
examples/**/*.vtk
examples/**/*PE[0-9].in
examples/protein-rna
examples/pygbe/lys/output
# FETK io files
*.mc
# Output files
*.out
# External Submodules
externals/bem
externals/FETK
externals/geoflow_c
externals/pb_s_am
externals/pybind11
# Personal notes
NOTES.txt
junk.sh
# PYBIND11
pybind11
coverage.txt