blob: 92e126a77d86b8a432b590210fa1aacddee06589 (
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 449f4b4..1c9ad00 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -252,7 +252,8 @@ if(NOT MSVC)
}
" SCANDIR_NEEDS_CONST)
- set(OB_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/${OB_PLUGIN_INSTALL_DIR}")
+ set(OB_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/${OB_PLUGIN_INSTALL_DIR}"
+ CACHE PATH "Set to system install for bindings only build")
add_definitions(-DOB_MODULE_PATH="\\"${OB_MODULE_PATH}\\"")
# Add some visibility support when using GCC
@@ -380,7 +381,8 @@ if(UNIX AND BUILD_SHARED)
if(APPLE)
set(CMAKE_INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR})
else()
- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}")
+ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}"
+ CACHE PATH "Set sane rpath")
set(CMAKE_SKIP_BUILD_RPATH FALSE)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
@@ -477,6 +479,13 @@ endif()
# Should the language bindings be regenereted?
option(RUN_SWIG "Generate language bindings with SWIG" OFF)
+# Build bindings only
+option(BINDINGS_ONLY "Build bindings only" OFF)
+
+# Point to library if building bindings only
+set(BABEL_SYSTEM_LIBRARY ${BABEL_LIBRARY}
+ CACHE PATH "Point to openbabel library if building bindings only")
+
# Should all bindings be built?
option(ALL_BINDINGS "Build all languages bindings" OFF)
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index 16e9000..8f92e91 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -92,16 +92,30 @@ if (DO_PYTHON_BINDINGS)
endif(RUN_SWIG)
add_library(bindings_python MODULE ${openbabel_SOURCE_DIR}/scripts/python/openbabel-python.cpp)
- target_link_libraries(bindings_python ${PYTHON_LIBRARIES} ${BABEL_LIBRARY})
+ if(BINDINGS_ONLY)
+ target_link_libraries(bindings_python ${PYTHON_LIBRARIES} ${BABEL_SYSTEM_LIBRARY})
+ else()
+ target_link_libraries(bindings_python ${PYTHON_LIBRARIES} ${BABEL_LIBRARY})
+ endif()
+
if(NOT WIN32)
set_target_properties(bindings_python PROPERTIES
OUTPUT_NAME _openbabel
PREFIX ""
SUFFIX .so )
- add_dependencies(bindings_python openbabel)
- install(TARGETS bindings_python LIBRARY DESTINATION ${LIB_INSTALL_DIR})
- install(FILES ${openbabel_SOURCE_DIR}/scripts/python/openbabel.py DESTINATION ${LIB_INSTALL_DIR})
- install(FILES ${openbabel_SOURCE_DIR}/scripts/python/pybel.py DESTINATION ${LIB_INSTALL_DIR})
+ if(NOT BINDINGS_ONLY)
+ add_dependencies(bindings_python openbabel)
+ endif()
+
+ install(TARGETS bindings_python
+ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+ COMPONENT bindings_python)
+ install(FILES ${openbabel_SOURCE_DIR}/scripts/python/openbabel.py
+ DESTINATION ${LIB_INSTALL_DIR}
+ COMPONENT bindings_python)
+ install(FILES ${openbabel_SOURCE_DIR}/scripts/python/pybel.py
+ DESTINATION ${LIB_INSTALL_DIR}
+ COMPONENT bindings_python)
else(NOT WIN32)
set_target_properties(bindings_python PROPERTIES
OUTPUT_NAME _openbabel
@@ -231,13 +245,25 @@ if (DO_PERL_BINDINGS)
endif (RUN_SWIG)
add_library(bindings_perl MODULE ${openbabel_SOURCE_DIR}/scripts/perl/openbabel-perl.cpp)
- target_link_libraries(bindings_perl ${PERL_LIBRARY} ${BABEL_LIBRARY} ${PERL_EXTRA_LINK_FLAGS})
+ if(BINDINGS_ONLY)
+ target_link_libraries(bindings_perl ${PERL_LIBRARY} ${BABEL_SYSTEM_LIBRARY} ${PERL_EXTRA_LINK_FLAGS})
+ else()
+ target_link_libraries(bindings_perl ${PERL_LIBRARY} ${BABEL_LIBRARY} ${PERL_EXTRA_LINK_FLAGS})
+ endif()
+
set_target_properties(bindings_perl PROPERTIES
PREFIX ""
OUTPUT_NAME OpenBabel)
- add_dependencies(bindings_perl openbabel)
- install(TARGETS bindings_perl LIBRARY DESTINATION ${LIB_INSTALL_DIR})
- install(FILES ${openbabel_SOURCE_DIR}/scripts/perl/OpenBabel.pm DESTINATION ${LIB_INSTALL_DIR})
+ if(NOT BINDINGS_ONLY)
+ add_dependencies(bindings_perl openbabel)
+ endif()
+
+ install(TARGETS bindings_perl
+ LIBRARY DESTINATION ${LIB_INSTALL_DIR}/auto/Chemistry/OpenBabel/
+ COMPONENT bindings_perl)
+ install(FILES ${openbabel_SOURCE_DIR}/scripts/perl/OpenBabel.pm
+ DESTINATION ${LIB_INSTALL_DIR}/Chemistry/
+ COMPONENT bindings_perl)
endif (DO_PERL_BINDINGS)
|