Files
rdkit/Code/JavaWrappers/CMakeLists.txt
Greg Landrum f3587ea4d0 Add a scaffold network implementation (#2911)
* backup

* backup

* backup

* getting close to v0.1

* switch to using node indices

* add pruning and flattening

* support multiple mols

* example notebook

* backup

* initial commit
Just includes the basic API and flatten

* add the pruning step

* add removeAttachmentPoints()

* add makeScaffoldGeneric()

* improve compilation speed by adding catch_main.cpp

* add getMolFragments()

* doc cleanup

* actually add the network building code

* first pass at python wrapper

* allow edges to be nicely converted to strings

* get node counts working

* backup python notebook

* switch example notebook to use wrapped C++ code

* add BRICS fragmentation option

* fix a bug with removing attachment points to aromatic heteroatoms

* add provisional attachment point merger to notebook

* fix a bug with includeScaffoldsWithAttachments=false

* backup of efforts to get this working on windows

* backup of efforts to get this working on windows

* does not work. backup

* Fix a substructure crash on Windows

* re-enable tests

* adjust to the new BRICS form

* in-code documentation

* more doc updates

* reformat

* change the string output format for edges

* remove old python implementation

* remove obsolete test

* include a generic scaffold for the pruned structure too

* default to keepOnlyFirstFragment=false with BRICS params

* bug in removal of attachment points from generic scaffolds

* more testing

* support working from std::shared_ptr as well as boost::shared_ptr

* more testing

* disable debug printing

* use memo-ization in getMolFragments() to avoid duplicate work

* add SWIG wrapper and basic testing

* add define for RDK_USE_BOOST_SERIALIZATION

* add serialization at the C++ level

* add a string ctor for a scaffold networks

* add pickle support on the python side

* formatting

* remove old notebook

* move the fantastically useful iterable_convertor to RDBoost/Wrap.h

* expose parameter constructor with std::vector<std::string>

* add scaffoldnetwork to documentation
2020-02-11 08:21:01 -05:00

74 lines
2.4 KiB
CMake

find_package(SWIG REQUIRED)
include(${SWIG_USE_FILE})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${RDKit_CodeDir})
include_directories(${Boost_INCLUDE_DIRS})
SET(CMAKE_SWIG_FLAGS "")
set(swigRDKitLibSuffix "")
if(RDK_SWIG_STATIC AND ((NOT MSVC) OR (MSVC AND RDK_INSTALL_DLLS_MSVC)))
set(swigRDKitLibSuffix "_static")
endif()
set(swigRDKitLibList "")
if(RDK_BUILD_AVALON_SUPPORT)
set(swigRDKitLibList "${swigRDKitLibList}AvalonLib;avalon_clib;")
endif(RDK_BUILD_AVALON_SUPPORT)
if(RDK_BUILD_INCHI_SUPPORT)
set(swigRDKitLibList "${swigRDKitLibList}RDInchiLib;${INCHI_LIBRARIES};")
endif(RDK_BUILD_INCHI_SUPPORT)
set(swigRDKitLibList "${swigRDKitLibList}"
"ScaffoldNetwork;MolHash;RGroupDecomposition;SubstructLibrary;"
"MolStandardize;FilterCatalog;Catalogs;FMCS;MolDraw2D;FileParsers;SmilesParse;"
"Depictor;SubstructMatch;ChemReactions;Fingerprints;ChemTransforms;"
"Subgraphs;GraphMol;DataStructs;Trajectory;Descriptors;"
"PartialCharges;MolTransforms;DistGeomHelpers;DistGeometry;"
"ForceFieldHelpers;ForceField;EigenSolvers;Optimizer;MolAlign;"
"Alignment;SimDivPickers;RDGeometryLib;RDStreams;RDGeneral;"
)
#if(RDK_BUILD_COORDGEN_SUPPORT)
# set(swigRDKitLibList "${swigRDKitLibList};${RDK_COORDGEN_LIBS}")
#endif(RDK_BUILD_COORDGEN_SUPPORT)
if(RDK_USE_URF)
set(swigRDKitLibList "${swigRDKitLibList};${RDK_URF_LIBS};")
endif(RDK_USE_URF)
set(swigRDKitLibs "")
foreach(swigRDKitLib ${swigRDKitLibList})
set(swigRDKitLibs "${swigRDKitLibs}${swigRDKitLib}${swigRDKitLibSuffix};")
endforeach()
set(swigRDKitLibs "${swigRDKitLibs}${Boost_SERIALIZATION_LIBRARY};")
if(RDK_USE_BOOST_IOSTREAMS)
ADD_DEFINITIONS("-DRDK_USE_BOOST_IOSTREAMS")
if(WIN32)
find_package(Boost 1.56.0 COMPONENTS system iostreams REQUIRED)
set(swigRDKitLibs "${swigRDKitLibs}${Boost_IOSTREAMS_LIBRARY};${Boost_SYSTEM_LIBRARY};")
find_package(Boost 1.56.0 COMPONENTS zlib)
if(Boost_ZLIB_FOUND)
set(swigRDKitLibs "${swigRDKitLibs}${Boost_ZLIB_LIBRARY};")
endif()
else()
find_package(Boost 1.56.0 COMPONENTS system iostreams REQUIRED)
set(swigRDKitLibs "${swigRDKitLibs}${Boost_IOSTREAMS_LIBRARY};${Boost_SYSTEM_LIBRARY};")
endif()
endif(RDK_USE_BOOST_IOSTREAMS)
set(RDKit_Wrapper_Libs ${swigRDKitLibs})
message("SUFFIX: ${swigRDKitLibSuffix}")
message("JAVA_LIBS: ${RDKit_Wrapper_Libs}")
if(RDK_BUILD_SWIG_JAVA_WRAPPER)
add_subdirectory(gmwrapper)
endif()
if(RDK_BUILD_SWIG_CSHARP_WRAPPER)
add_subdirectory(csharp_wrapper)
endif()