blob: 1a2cdbc4dcfa27d0c28de104e6a85539a13392cb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
See PR pending https://github.com/openbabel/openbabel/pull/2969.patch
fix headers with system InChI / various changes to handle InChI option
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -144,6 +144,7 @@ option(OPENBABEL_USE_SYSTEM_INCHI
"Use the system inchi library." OFF)
if(OPENBABEL_USE_SYSTEM_INCHI)
find_package(Inchi REQUIRED)
+ add_definitions(-DHAVE_SYSTEM_INCHI)
if (NOT INCHI_FOUND)
message(FATAL_ERROR "Inchi library not found.")
endif()
--- a/include/openbabel/inchiformat.h
+++ b/include/openbabel/inchiformat.h
@@ -21,8 +21,13 @@ GNU General Public License for more details.
#include <openbabel/obconversion.h>
#include <openbabel/obmolecformat.h>
+#ifdef HAVE_SYSTEM_INCHI
+#include <inchi_api.h>
+#define CURRENT_VER "unknown" // bcf_s.h is not packaged
+#else
#include "../inchi/inchi_api.h"
#include "../inchi/bcf_s.h" // for CURRENT_VER
+#endif
#ifdef HAVE_SSTREAM
#include <sstream>
#else
--- a/include/CMakeLists.txt
+++ b/include/CMakeLists.txt
@@ -5,9 +5,13 @@ file(GLOB stereo_headers openbabel/stereo/*.h)
file(GLOB depict_headers openbabel/depict/*.h)
file(GLOB lbfgs_headers LBFGS/*.h)
+if(WITH_INCHI)
if(NOT OPENBABEL_USE_SYSTEM_INCHI)
install(FILES inchi/inchi_api.h DESTINATION include/inchi)
endif(NOT OPENBABEL_USE_SYSTEM_INCHI)
+else(WITH_INCHI)
+list(FILTER openbabel_headers EXCLUDE REGEX ".*inchiformat\\.h$")
+endif(WITH_INCHI)
install(FILES chemdrawcdx.h DESTINATION ${OB_INCLUDE_DIRS}/openbabel)
install(FILES ${openbabel_headers} DESTINATION ${OB_INCLUDE_DIRS}/openbabel)
install(FILES ${math_headers} DESTINATION ${OB_INCLUDE_DIRS}/openbabel/math)
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -34,10 +34,15 @@ set(descriptors
descriptors/cmpdfilter.cpp
descriptors/groupcontrib.cpp
descriptors/filters.cpp
- descriptors/inchidescriptor.cpp
descriptors/smartsdescriptors.cpp
)
+if(WITH_INCHI)
+ set(descriptors ${descriptors}
+ descriptors/inchidescriptor.cpp
+ )
+endif()
+
set(fingerprints
fingerprints/finger2.cpp
fingerprints/finger3.cpp
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -142,15 +142,17 @@ endif()
option(WITH_INCHI "Build inchi support" ON)
option(OPENBABEL_USE_SYSTEM_INCHI
"Use the system inchi library." OFF)
-if(OPENBABEL_USE_SYSTEM_INCHI)
- find_package(Inchi REQUIRED)
- add_definitions(-DHAVE_SYSTEM_INCHI)
- if (NOT INCHI_FOUND)
- message(FATAL_ERROR "Inchi library not found.")
+if(WITH_INCHI)
+ if(OPENBABEL_USE_SYSTEM_INCHI)
+ find_package(Inchi REQUIRED)
+ add_definitions(-DHAVE_SYSTEM_INCHI)
+ if (NOT INCHI_FOUND)
+ message(FATAL_ERROR "Inchi library not found.")
+ endif()
+ else()
+ message(STATUS "Using included inchi library.")
+ set(INCHI_LIBRARY inchi)
endif()
-else()
- message(STATUS "Using included inchi library.")
- set(INCHI_LIBRARY inchi)
endif()
if(WIN32)
|