mirror of
https://github.com/Electrostatics/apbs.git
synced 2026-06-04 20:54:22 +08:00
* 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> Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov> Co-authored-by: Darren Curtis <Darren.Curtis@pnnl.gov>
29 lines
551 B
CMake
29 lines
551 B
CMake
|
|
find_package(pybind11 REQUIRED)
|
|
add_library(apbs_pybind
|
|
MODULE
|
|
module.cpp
|
|
bind_nosh.cpp
|
|
bind_vatom.cpp
|
|
bind_valist.cpp
|
|
)
|
|
|
|
set_target_properties(apbs_pybind
|
|
PROPERTIES
|
|
PREFIX "${PYTHON_MODULE_PREFIX}"
|
|
SUFFIX "${PYTHON_MODULE_EXTENSION}"
|
|
OUTPUT_NAME "apbs"
|
|
)
|
|
|
|
message(STATUS "LIBS ${APBS_LIBS}")
|
|
message(STATUS "INTERNAL_LIBS ${APBS_INTERNAL_LIBS}")
|
|
target_link_libraries(
|
|
apbs_pybind
|
|
PRIVATE
|
|
pybind11::module
|
|
${APBS_LIBS}
|
|
${APBS_INTERNAL_LIBS}
|
|
)
|
|
|
|
install(TARGETS apbs_pybind LIBRARY DESTINATION lib COMPONENT python)
|