* - Fixed a bug which prevented FMCS to work correctly on Windows when
linking to DLLs
* - removed spurious debugging info
- fixed function name
* - correct fix for the pyFMCS issue
* - the already existing macro RDKIT_WRAP_DECL is used in lieu of
RDFMCS_DLLIMPORT
* - added -DBOOST_SYSTEM_NO_DEPRECATED to definitions for MINGW builds
- modified a few #ifdef's to discriminate better between MINGW and MSVC
- added a ios::binary to Code/GraphMol/FileParsers/testMolSupplier.cpp
(I already had to add some of those in the past to avoid the CR+LF issues on Windows)
- modified Code/GraphMol/FMCS/MaximumCommonSubgraph.cpp and
Code/GraphMol/FMCS/FMCS.h because checking the function pointer does not
work with DLLs as the function pointer changes upon different calls
- builds under MinGW with -DRDK_USE_BOOST_SERIALIZATION=OFF and
RDK_BUILD_THREADSAFE_SSS=OFF
* - added the possibility to define MSVC_RUNTIME_DLL to point to the
absolute path of an appropriate MSVC runtime DLL to enable
multi-threaded builds with MinGW
- modified C++ and Python tests of the multi-threaded conformation
embedder as under 32-bit MinGW lower numeric precision introduces minimal
coordinate differences with result in ~1-kcal energy difference.
Therefore the energy criterion has been made more lenient, and a
coordinate MSD criterion has been introduce to compare substantial
identity of conformations
* - reverted Code/GraphMol/DistGeomHelpers/Wrap/testDistGeom.py and Code/GraphMol/DistGeomHelpers/testDgeomHelpers.cpp
to the upstream/master version
o rdkit gains a RDKit::common_properties namespace that contains common string value properties
o Dict.h and below gain getPropIfPresent that attempts to retrieve a property and returns
true/false on success or failure. This is used to optimize access.
o rdkit learns how to pass property keys by reference, not value.
A new namespace has been added to RDKit, common_properties
that contains the std::string values for commonly used
properties. This helps to avoid typos in string values
but also avoids a creation of std::strings from character
values. All accessors (has/get/clear and getPropIfPresent) now pass
the key by reference.
Additionally, getPropIfPresent removes the double lookup
of hasProp/getProp which can be a significant speedup
in the smiles and smarts parsers (10-20%)