Update build rules for coorgen & maeparser (#2184)

This commit is contained in:
Ric
2019-01-06 01:28:00 -05:00
committed by Greg Landrum
parent cb444f21a0
commit 3cc9206a48
11 changed files with 159 additions and 49 deletions

View File

@@ -1,77 +1,101 @@
add_custom_target(coordgen_support ALL)
if(RDK_BUILD_COORDGEN_SUPPORT)
include(RDKitUtils)
if(MSVC AND (NOT RDK_INSTALL_DLLS_MSVC))
add_definitions(-DSTATIC_COORDGEN)
else(MSVC AND (NOT RDK_INSTALL_DLLS_MSVC))
add_definitions(-DIN_MAEPARSER)
add_definitions(-DIN_COORDGEN)
include(RDKitUtils)
endif(MSVC AND (NOT RDK_INSTALL_DLLS_MSVC))
find_package(maeparser MODULE)
if(MAEPARSER_FORCE_BUILD OR (NOT maeparser_FOUND))
if(NOT DEFINED MAEPARSER_DIR)
set(MAEPARSER_DIR "${CMAKE_CURRENT_SOURCE_DIR}/maeparser")
endif()
if(NOT EXISTS "${MAEPARSER_DIR}/MaeParser.hpp")
set(RELEASE_NO "1.0.1")
set(MD5 "1292494df756e95fd1cce722286f28fe")
downloadAndCheckMD5("https://github.com/schrodinger/maeparser/archive/v${RELEASE_NO}.tar.gz"
"${CMAKE_CURRENT_SOURCE_DIR}/master.tar.gz"
"1292494df756e95fd1cce722286f28fe")
"${CMAKE_CURRENT_SOURCE_DIR}/maeparser-v${RELEASE_NO}.tar.gz" ${MD5})
execute_process(COMMAND ${CMAKE_COMMAND} -E tar zxf
${CMAKE_CURRENT_SOURCE_DIR}/master.tar.gz
${CMAKE_CURRENT_SOURCE_DIR}/maeparser-v${RELEASE_NO}.tar.gz
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
file(RENAME "maeparser-${RELEASE_NO}" "${MAEPARSER_DIR}")
patchCoordGenMaeExportHeaders("MAEPARSER" "${MAEPARSER_DIR}/MaeParserConfig.hpp")
# patch a bug in the 1.0.0 release of maeparser
#file(READ "${MAEPARSER_DIR}/Buffer.cpp" buffer)
#string(REPLACE "m_data->reserve(m_size + 1);"
# "m_data->resize(m_size + 1);" buffer "${buffer}")
#file(WRITE "${MAEPARSER_DIR}/Buffer.cpp" "${buffer}")
else()
message("-- Found MAEParser source in ${MAEPARSER_DIR}")
endif()
set(maeparser_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}
CACHE STRING "MaeParser Include Dir" FORCE)
file(GLOB MAESOURCES "${MAEPARSER_DIR}/*.cpp")
rdkit_library(maeparser ${MAESOURCES} SHARED )
install(TARGETS maeparser DESTINATION ${RDKit_LibDir})
set(maeparser_LIBRARIES maeparser)
endif(MAEPARSER_FORCE_BUILD OR (NOT maeparser_FOUND))
find_package(coordgen MODULE)
if(COORDGEN_FORCE_BUILD OR (NOT coordgen_FOUND))
if(NOT DEFINED COORDGEN_DIR)
set(COORDGEN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/coordgenlibs")
set(COORDGEN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/coordgen")
endif()
if(NOT EXISTS "${COORDGEN_DIR}/sketcherMinimizer.h")
set(RELEASE_NO "1.1")
set(SHA "ede3191bf1c1dde53f70ca086014ff9ec7768c55")
set(RELEASE_NO "1.2")
set(MD5 "cc132a4655e194143d760239f69dd265")
downloadAndCheckMD5("https://github.com/schrodinger/coordgenlibs/archive/v${RELEASE_NO}.tar.gz"
"${CMAKE_CURRENT_SOURCE_DIR}/master.tar.gz"
"493cf2eab7d4ab6242e25da112831798")
"${CMAKE_CURRENT_SOURCE_DIR}/coordgenlibs-${RELEASE_NO}.tar.gz" ${MD5})
execute_process(COMMAND ${CMAKE_COMMAND} -E tar zxf
${CMAKE_CURRENT_SOURCE_DIR}/master.tar.gz
${CMAKE_CURRENT_SOURCE_DIR}/coordgenlibs-${RELEASE_NO}.tar.gz
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
file(RENAME "coordgenlibs-${RELEASE_NO}" "${COORDGEN_DIR}")
patchCoordGenMaeExportHeaders("COORDGEN" "${COORDGEN_DIR}/CoordgenConfig.hpp")
else()
message("-- Found coordgenlibs source in ${COORDGEN_DIR}")
endif()
set(coordgen_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}
CACHE STRING "CoordGen Include File" FORCE)
file(GLOB CGSOURCES "${COORDGEN_DIR}/*.cpp")
rdkit_library(coordgenlib ${CGSOURCES} SHARED LINK_LIBRARIES maeparser)
install(TARGETS coordgenlib DESTINATION ${RDKit_LibDir})
rdkit_library(coordgen ${CGSOURCES} SHARED LINK_LIBRARIES maeparser)
install(TARGETS coordgen DESTINATION ${RDKit_LibDir})
set(coordgen_LIBRARIES coordgen)
set(coordgen_TEMPLATE_FILE ${COORDGEN_DIR}/templates.mae )
set(MAE_FILES ${COORDGEN_DIR}/templates.mae )
install(FILES ${MAE_FILES}
DESTINATION ${RDKit_ShareDir}/Data
COMPONENT data )
endif(COORDGEN_FORCE_BUILD OR (NOT coordgen_FOUND))
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
set(RDK_COORDGEN_LIBS MolAlign coordgenlib maeparser CACHE STRING "the external libraries" FORCE)
rdkit_headers(CoordGen.h DEST GraphMol)
include_directories(${maeparser_INCLUDE_DIRS})
include_directories(${coordgen_INCLUDE_DIRS})
if(RDK_BUILD_PYTHON_WRAPPERS)
add_subdirectory(Wrap)
endif(RDK_BUILD_PYTHON_WRAPPERS)
install(FILES ${coordgen_TEMPLATE_FILE}
DESTINATION ${RDKit_ShareDir}/Data
COMPONENT data)
set(RDK_COORDGEN_LIBS MolAlign ${coordgen_LIBRARIES} ${maeparser_LIBRARIES}
CACHE STRING "the external libraries" FORCE)
rdkit_headers(CoordGen.h DEST GraphMol)
if(RDK_BUILD_PYTHON_WRAPPERS)
add_subdirectory(Wrap)
endif(RDK_BUILD_PYTHON_WRAPPERS)
rdkit_test(testCoordGen test.cpp
LINK_LIBRARIES
${RDK_COORDGEN_LIBS} Depictor
FileParsers SmilesParse SubstructMatch GraphMol
RDGeneral DataStructs RDGeneral RDGeometryLib
${RDKit_THREAD_LIBS})
rdkit_test(testCoordGen test.cpp
LINK_LIBRARIES
${RDK_COORDGEN_LIBS} Depictor
FileParsers SmilesParse SubstructMatch GraphMol
RDGeneral DataStructs RDGeneral RDGeometryLib
${RDKit_THREAD_LIBS})
else (RDK_BUILD_COORDGEN_SUPPORT)
set(RDK_COORDGEN_LIBS CACHE STRING "the external libraries" FORCE)
set(RDK_COORDGEN_LIBS CACHE STRING "the external libraries" FORCE)
endif(RDK_BUILD_COORDGEN_SUPPORT)

View File

@@ -13,7 +13,7 @@
#include <GraphMol/Substruct/SubstructMatch.h>
#include <cstdlib>
#include "coordgenlibs/sketcherMinimizer.h"
#include "coordgen/sketcherMinimizer.h"
namespace RDKit {
namespace CoordGen {

View File

@@ -18,7 +18,7 @@
#include <RDGeneral/RDLog.h>
#include "coordgenlibs/sketcherMinimizer.h"
#include "coordgen/sketcherMinimizer.h"
#include <CoordGen/CoordGen.h>
using namespace RDKit;