mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-03 21:44:30 +08:00
Update embedded InChI to v1.05 (#1684)
* Update download-inchi.sh for InChI 1.05 * Fix downloadAndCheckMD5 * Update FindInchi.cmake for InChI 1.05 * Update CMakeLists.txt for InChI 1.05
This commit is contained in:
@@ -27,38 +27,38 @@ else()
|
||||
endif()
|
||||
set(CUSTOM_INCHI_PATH "${CMAKE_CURRENT_SOURCE_DIR}/External/INCHI-API")
|
||||
# check whether we have custom InChI source
|
||||
if(EXISTS ${CUSTOM_INCHI_PATH}/src/ichican2.c)
|
||||
if(EXISTS ${CUSTOM_INCHI_PATH}/src/INCHI_BASE/src/ichican2.c)
|
||||
message("CUSTOM_INCHI_PATH = ${CUSTOM_INCHI_PATH}")
|
||||
message(STATUS "Found InChI software locally")
|
||||
if(INCHI_FOUND)
|
||||
message(WARNING "** Local InChI software takes precedence when both system InChI and local InChI are found")
|
||||
endif(INCHI_FOUND)
|
||||
else(EXISTS ${CUSTOM_INCHI_PATH}/src/ichican2.c)
|
||||
else(EXISTS ${CUSTOM_INCHI_PATH}/src/INCHI_BASE/src/ichican2.c)
|
||||
if (INCHI_FOUND)
|
||||
include_directories(${INCHI_INCLUDE_DIR})
|
||||
else (INCHI_FOUND)
|
||||
# system InChI is missing, download it
|
||||
if(NOT DEFINED INCHI_URL)
|
||||
set(INCHI_URL "http://www.inchi-trust.org/wp/wp-content/uploads/2014/06/INCHI-1-API.zip")
|
||||
set(INCHI_URL "http://www.inchi-trust.org/download/105/INCHI-1-SRC.zip")
|
||||
endif()
|
||||
if(NOT DEFINED INCHI_MD5SUM)
|
||||
set(INCHI_MD5SUM "8447bf108af12fe66eecba41bbc89918")
|
||||
set(INCHI_MD5SUM "ccc497c7e6ced1521a6953d859e49af4")
|
||||
endif()
|
||||
if(NOT DEFINED INCHI_BASE)
|
||||
string(REGEX REPLACE "^.*/" "" INCHI_BASE "${INCHI_URL}")
|
||||
endif()
|
||||
downloadAndCheckMD5(${INCHI_URL} "${CUSTOM_INCHI_PATH}/${INCHI_BASE}" ${INCHI_MD5SUM})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf
|
||||
${CUSTOM_INCHI_PATH}/INCHI-1-API.zip
|
||||
${CUSTOM_INCHI_PATH}/INCHI-1-SRC.zip
|
||||
WORKING_DIRECTORY ${CUSTOM_INCHI_PATH})
|
||||
execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
||||
"${CUSTOM_INCHI_PATH}/INCHI-1-API/INCHI_API/inchi_dll" "${CUSTOM_INCHI_PATH}/src")
|
||||
"${CUSTOM_INCHI_PATH}/INCHI-1-SRC" "${CUSTOM_INCHI_PATH}/src")
|
||||
endif(INCHI_FOUND)
|
||||
endif(EXISTS ${CUSTOM_INCHI_PATH}/src/ichican2.c)
|
||||
if(EXISTS ${CUSTOM_INCHI_PATH}/src/ichican2.c)
|
||||
endif(EXISTS ${CUSTOM_INCHI_PATH}/src/INCHI_BASE/src/ichican2.c)
|
||||
if(EXISTS ${CUSTOM_INCHI_PATH}/src/INCHI_BASE/src/ichican2.c)
|
||||
set(INCHI_LIBRARIES Inchi)
|
||||
endif(EXISTS ${CUSTOM_INCHI_PATH}/src/ichican2.c)
|
||||
if((NOT EXISTS ${CUSTOM_INCHI_PATH}/src/ichican2.c)
|
||||
endif(EXISTS ${CUSTOM_INCHI_PATH}/src/INCHI_BASE/src/ichican2.c)
|
||||
if((NOT EXISTS ${CUSTOM_INCHI_PATH}/src/INCHI_BASE/src/ichican2.c)
|
||||
AND (NOT INCHI_FOUND))
|
||||
message(WARNING "** NO INCHI SOFTWARE FOUND\n"
|
||||
"InChI support will be turned off. If you want to add InChI support, please follow the instructions inside $RDBASE/External/INCHI-API/README to download a copy of InChI software and then rerun cmake.")
|
||||
|
||||
@@ -171,9 +171,9 @@ function(downloadAndCheckMD5 url target md5chksum)
|
||||
endif()
|
||||
if (NOT ${md5chksum} EQUAL "")
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E md5sum ${target} OUTPUT_VARIABLE md5list)
|
||||
string(REGEX REPLACE ":" ";" md5list "${md5list}")
|
||||
string(REGEX REPLACE "([a-z0-9]+)" "\\1;" md5list "${md5list}")
|
||||
list(GET md5list 0 md5)
|
||||
if (NOT md5 EQUAL ${md5chksum})
|
||||
if (NOT md5 STREQUAL ${md5chksum})
|
||||
MESSAGE(FATAL_ERROR "The md5 checksum for ${target} is incorrect; expected: ${md5chksum}, found: ${md5}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
84
External/INCHI-API/CMakeLists.txt
vendored
84
External/INCHI-API/CMakeLists.txt
vendored
@@ -1,30 +1,68 @@
|
||||
add_custom_target(inchi_support ALL)
|
||||
|
||||
if(RDK_BUILD_INCHI_SUPPORT)
|
||||
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/ichican2.c)
|
||||
rdkit_library(Inchi src/ichican2.c src/ichicano.c
|
||||
src/ichicans.c src/ichiisot.c
|
||||
src/ichilnct.c src/ichimak2.c
|
||||
src/ichimake.c src/ichimap1.c
|
||||
src/ichimap2.c src/ichimap4.c
|
||||
src/ichinorm.c src/ichiparm.c
|
||||
src/ichiprt1.c src/ichiprt2.c
|
||||
src/ichiprt3.c src/ichiqueu.c
|
||||
src/ichiring.c src/ichisort.c
|
||||
src/ichister.c src/ichitaut.c
|
||||
src/ichi_bns.c src/inchi_dll.c
|
||||
src/ichiread.c src/ichirvr1.c
|
||||
src/ichirvr2.c src/ichirvr3.c
|
||||
src/ichirvr4.c src/ichirvr5.c
|
||||
src/ichirvr6.c src/ichirvr7.c
|
||||
src/inchi_dll_main.c src/runichi.c
|
||||
src/inchi_dll_a.c src/inchi_dll_a2.c
|
||||
src/ikey_dll.c src/ikey_base26.c
|
||||
src/ichi_io.c
|
||||
src/sha2.c src/strutil.c
|
||||
src/util.c SHARED)
|
||||
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/INCHI_BASE/src/ichican2.c)
|
||||
rdkit_library(Inchi
|
||||
src/INCHI_BASE/src/ichi_bns.c
|
||||
src/INCHI_BASE/src/ichi_io.c
|
||||
src/INCHI_BASE/src/ichican2.c
|
||||
src/INCHI_BASE/src/ichicano.c
|
||||
src/INCHI_BASE/src/ichicans.c
|
||||
src/INCHI_BASE/src/ichierr.c
|
||||
src/INCHI_BASE/src/ichiisot.c
|
||||
src/INCHI_BASE/src/ichimak2.c
|
||||
src/INCHI_BASE/src/ichimake.c
|
||||
src/INCHI_BASE/src/ichimap1.c
|
||||
src/INCHI_BASE/src/ichimap2.c
|
||||
src/INCHI_BASE/src/ichimap4.c
|
||||
src/INCHI_BASE/src/ichinorm.c
|
||||
src/INCHI_BASE/src/ichiparm.c
|
||||
src/INCHI_BASE/src/ichiprt1.c
|
||||
src/INCHI_BASE/src/ichiprt2.c
|
||||
src/INCHI_BASE/src/ichiprt3.c
|
||||
src/INCHI_BASE/src/ichiqueu.c
|
||||
src/INCHI_BASE/src/ichiread.c
|
||||
src/INCHI_BASE/src/ichiring.c
|
||||
src/INCHI_BASE/src/ichirvr1.c
|
||||
src/INCHI_BASE/src/ichirvr2.c
|
||||
src/INCHI_BASE/src/ichirvr3.c
|
||||
src/INCHI_BASE/src/ichirvr4.c
|
||||
src/INCHI_BASE/src/ichirvr5.c
|
||||
src/INCHI_BASE/src/ichirvr6.c
|
||||
src/INCHI_BASE/src/ichirvr7.c
|
||||
src/INCHI_BASE/src/ichisort.c
|
||||
src/INCHI_BASE/src/ichister.c
|
||||
src/INCHI_BASE/src/ichitaut.c
|
||||
src/INCHI_BASE/src/ikey_base26.c
|
||||
src/INCHI_BASE/src/ikey_dll.c
|
||||
src/INCHI_BASE/src/mol2atom.c
|
||||
src/INCHI_BASE/src/mol_fmt1.c
|
||||
src/INCHI_BASE/src/mol_fmt2.c
|
||||
src/INCHI_BASE/src/mol_fmt3.c
|
||||
src/INCHI_BASE/src/mol_fmt4.c
|
||||
src/INCHI_BASE/src/readinch.c
|
||||
src/INCHI_BASE/src/runichi.c
|
||||
src/INCHI_BASE/src/runichi2.c
|
||||
src/INCHI_BASE/src/runichi3.c
|
||||
src/INCHI_BASE/src/runichi4.c
|
||||
src/INCHI_BASE/src/sha2.c
|
||||
src/INCHI_BASE/src/strutil.c
|
||||
src/INCHI_BASE/src/util.c
|
||||
src/INCHI_API/libinchi/src/ichilnct.c
|
||||
src/INCHI_API/libinchi/src/inchi_dll.c
|
||||
src/INCHI_API/libinchi/src/inchi_dll_a.c
|
||||
src/INCHI_API/libinchi/src/inchi_dll_a2.c
|
||||
src/INCHI_API/libinchi/src/inchi_dll_b.c
|
||||
src/INCHI_API/libinchi/src/inchi_dll_main.c
|
||||
src/INCHI_API/libinchi/src/ixa/ixa_builder.c
|
||||
src/INCHI_API/libinchi/src/ixa/ixa_inchikey_builder.c
|
||||
src/INCHI_API/libinchi/src/ixa/ixa_mol.c
|
||||
src/INCHI_API/libinchi/src/ixa/ixa_read_inchi.c
|
||||
src/INCHI_API/libinchi/src/ixa/ixa_read_mol.c
|
||||
src/INCHI_API/libinchi/src/ixa/ixa_status.c SHARED)
|
||||
install(TARGETS Inchi DESTINATION ${RDKit_LibDir})
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/INCHI_BASE/src/)
|
||||
ADD_DEFINITIONS("-DTARGET_API_LIB")
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
|
||||
11
External/INCHI-API/download-inchi.sh
vendored
11
External/INCHI-API/download-inchi.sh
vendored
@@ -46,22 +46,21 @@ if [[ $DIR =~ External/INCHI-API$ ]]
|
||||
then
|
||||
mkdir -p src
|
||||
echo "================================================================"
|
||||
echo "Downloading InChI software distribution version 1.04"
|
||||
echo " http://www.inchi-trust.org/wp/wp-content/uploads/2014/06/INCHI-1-API.zip"
|
||||
echo "Downloading InChI software distribution version 1.05"
|
||||
echo " http://www.inchi-trust.org/download/105/INCHI-1-SRC.zip"
|
||||
echo " ====>"
|
||||
echo " $TEMPDIR"
|
||||
echo "================================================================"
|
||||
cd $TEMPDIR
|
||||
wget http://www.inchi-trust.org/wp/wp-content/uploads/2014/06/INCHI-1-API.zip
|
||||
|
||||
wget http://www.inchi-trust.org/download/105/INCHI-1-SRC.zip
|
||||
echo "================================================================"
|
||||
echo "Unarchiving"
|
||||
echo "================================================================"
|
||||
unzip INCHI-1-API
|
||||
unzip INCHI-1-SRC
|
||||
echo "================================================================"
|
||||
echo "Copying files"
|
||||
echo "================================================================"
|
||||
cp INCHI-1-API/INCHI_API/inchi_dll/* "$DIR/src"
|
||||
cp -a INCHI-1-SRC/* "$DIR/src"
|
||||
echo "================================================================"
|
||||
echo "Removing temporary files"
|
||||
echo "================================================================"
|
||||
|
||||
Reference in New Issue
Block a user