* Cannot push_back std::string to boost json array
`boost::json::array.push_back` expects a `value`
* prefer emplace_back to avoid casting
* Ensure every MINIMAL_LIB option is tested in CI
Also remove Chemdraw support from the compilation. This does not change the final size of the output (not exported anyways) but it reduces the compilation time by 1 min (-10% on my local machine)
* Expose MMPA with other options
* Fix MMPA compilation: Implicitly binding raw pointers is illegal
Applying same pattern as in `get_frags_helper`
* patch RapidJSON to make sure it builds on all platforms
* remove unnecessary sed command from Docker recipe
---------
Co-authored-by: ptosco <paolo.tosco@novartis.com>
* get SynthonSpace.cpp to build also when RDK_USE_BOOST_SERIALIZATION is
not defined
* test should not fail when RDK_USE_BOOST_SERIALIZATION is not defined
* - expose reading/writing PNG metadata to CFFI and MinimalLib
- add relevant CFFI and MinimalLib unit tests
- add RDK_USE_BOOST_PROGRAM_OPTIONS CMake option
- enable using standalone zlib in the absence of boost::iostreams for parsing PNG files
- enable linking against maeparser in the absence of boost::iostreams also on Windows
- enable building RDKit in the absence of boost::program_options
* add check for boost::program_options
* change size_t into std::uint64_t in SearchResults for consistency with doTheSearch() which uses std::uint64_t
* change size_t into std::uint64_t in SearchResults for consistency with
SynthonSpaceSearcher::doTheSearch()
* set CMake policy to allow YAeHMOP to require a version which is not
actually supported
* reverted External/YAeHMOP/CMakeLists.txt to master version
* check if Windows build will work
* fix build
* configure zlib install location
* build zlib dependency
* include zlib header directory
* explicitly set PropertyFlags.AllProps so the test does not fail on
static builds
---------
Co-authored-by: ptosco <paolo.tosco@novartis.com>
* Consolidate MinimalLib Dockerfiles to avoid code duplication
Remove Dockerfile_legacy_browsers since IE11 is not used anymore
* add project name to docker-compose YAML files
* add projectName to azure pipelines DockerCompose section
* updated scripts/build_rdkit.js and Dockerfiles to enable end-to-end
builds
* changes in response to review
* - remove unused docker-compose file
- update azure-pipelines.yml
* fix service dependency
* CI build should copy_from_local
* docs update, make it work for local builds, minimize git clone
* - changes in response to review
- added an option to build from the local source tree to
scripts/build_rdkitjs.sh
---------
Co-authored-by: ptosco <paolo.tosco@novartis.com>
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* try adding a CI job to build the minimallib docker image
* update
* try simplification
* path
* path
* re-enable the other ci builds
remove the obsolete .yml file
- fetch boost sources from archives.boost.io
- build in /src rather than in /opt
- build freetype from source with -fwasm-exceptions support as the emscripten port on GitHub is outdated and archived
- build RDKit with -fwasm-exceptions support as performance is significantly better than with DISABLE_EXCEPTION_CATCHING=0
Co-authored-by: ptosco <paolo.tosco@novartis.com>
- update MinimalLib Dockerfile to Debian Bookworm and patch RapidJSON in case someone wants to build an older release (fix#7530)
Co-authored-by: ptosco <paolo.tosco@novartis.com>
- updated Boost to version 1.84.0
- removed obsolete ./emsdk update-tags which was triggering a warning during the build
- WORKDIR should always be absolute, so changed build to $RDBASE/build
- updated the Dockerfile_legacy_browsers help text
Co-authored-by: ptosco <paolo.tosco@novartis.com>
* make sure that we can build without boost iostreams or seralization
adds some "private" variables on the python side to check for these compilation flags
* get out minimal cmake version correct
* get minimallib js building
installs an up-to-date cmake
also updates the version of boost being used for the minimallib
adds extra argument to allow the repo to be specified
- Use the nodejs version bundled with emscripten to run tests since the one in Ubuntu is ancient and does not support recent wasm features
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
* - fix indentation
- fix regex check (which currently always fails)
* wip
* - added clearMolBlockWedgingInfo()
- added invertMolBlockWedgingInfo()
- MinimalLib::generate_aligned_coords() now inverts stereochemistry if a rigid-body alignment transformation caused chiality inversion
- MinimalLib::generate_aligned_coords() now clears stereochemistry if coordinates changed
- added JSMol::clear_prop() to the already existing JSMol::get_prop() and JSMol::set_prop()
- renamed commonchem to rdkitjson in JS unit test
- added relevant unit tests
* fixed mistake in logic
* - added add_hs_in_place() and remove_hs_in_place() to the JS MinmalLib
- added relevant tests
* - removed check for existence of a property ahead of clearing it as it is not necessary; updated the clearProp docstring to reflect this
- updated the MolFileStereochem.h docstrings based on review comments and fixed a typo
- fixed two (legitimate) compiler warnings as get_molblock() and get_v3kmolblock() should return nullptr and not a pointer to an empty string; added tests for this as there was none
- in MinimalLib/common.h, moved the check of whether a molecule has undergone a flip around the Z axis to a function in the anonymous namespace
- in MinimalLib/common.h, added logic to preserve original wedging (and eventually invert it) also when alignOnly is set to false, in case the wedging is all within the constrained scaffold
- added thourough testing of the wedging logic on both CFFI and JS sides
* - added equality operator to CXXAtomIter and CXXBondIter classes such that they can used with implicit loop STL algorithms
- added relevant unit tests
* fix Windows build
* - enable building MinimalLib as a plain JS file for usage in legacy/headless browsers
- support alternative way to draw an ellipse on legacy canvas without ellipse support
- update tests.js to test both the standard and the legacy version of MinimalLib
- update demo.html to work with both versions of the library and automatically select one based on browser support of WebAssembly
- fix a regression in demo.html caused by a change in signature of generate_aligned_coords
* reverted most changes
* changes in response to review
* restored demo.html
added a comment to Dockerfile_legacy_browsers explaining how to test in a legacy browser
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
- set emsdk path for freetype
- add compilation flag to enable building with latest clang compilers
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
* Npm publishing files - v1 in progress
* refactor .gitignore and package.json
* 2021.3.1-beta.0
* edit readme
* 2021.3.1-beta.1
* first version of read me and small tweak to docker build
* rdkit spelling uniform in readme
* 2021.3.1-beta.2
* update TOC
* add file to .gitignore
* 2021.3.1-beta.3
* add additional comment
* add back real readme
* add release tag example
* edit comment in git ignore
* add a link to unpkg.com
* 2021.3.1-beta.4
* final tweak to readme
* 2021.3.1-beta.5
* fix typo
* 2021.3.1-beta.6
* additional edits to README.md
* 2021.3.1-beta.7
* last minor readme edit
* 2021.3.1-beta.8
* add badges
* 2021.3.1-beta.9
* point homepage to minimallib readme
* 2021.3.1-beta.10
* 2021.3.1-beta.11
* make the js file the entry point
* 2021.3.1-beta.12
* fix release without dist
* 2021.3.1-beta.13
* add license badge to readme
* 2021.3.1-beta.14
* apply all reviews
getting started html file is now official demo
use npm version with --no-git-tag-version
use placeholder for version in npm package
add new line in all files
edit description and authors in package.json
* update live demo to be the getting started page
* add logging of version in readme example
* apply new set of review
fix author field for good
add back demo.html
edit readme accordingly
edit dockerfile to include GettingStarted.html in dist
* include proper getting started file in build
* edit publish process based on new PLACEHOLDER version
* update version in readme
* update toc
* add back placeholder
* remove ugly readme warning
* backup, does not work
* backup
* baby steps
* basics are now working
* more progress
* add substructure highlighting
* get the FT stuff working too
* get the FT stuff working too
* empirical corrections to dashed bonds
* enable coordgen support
* change min font size
* support dashed lines
* some cleanup
* support all MolDraw2D options when parsing from JSON
* parse MolDraw2D options from JSON
* show stereogroup labels when they are present
* switch to using the new CIP labels in minilib
* update demo to show controlling options
* move all the JS code into jswrapper.cpp
pass the canvas itself instead of the id to the JS functions
introduce offset
* remove extra emscripten load
* cleanup debugging stuff
* update freetype tests
* update non-freetype tests
* changes in response to review
* make RDStreams work when RDK_USE_BOOST_IOSTREAMS is OFF
* indicate when the tests finish
* works. needs to be edited before final PR
* dockerfile for the stepwise commit
* typo
* Update Dockerfile
* not really working from cmake, but can be compiled by hand
* now a cmake build works
* add a bunch of new stuff
* lots of changes
* demo
* substructure highlighting (crude) and descriptors
* include amw
* update
* cleanup
* add first fingerprint
* add tests
* add fp
* make the new stuff optional
* add Dockerfile
* add a readme
* switch to using JSON for complex return values