1 # - Try to find OpenBabel2
2 # Once done this will define
4 # OPENBABEL2_FOUND - system has OpenBabel2
5 # OPENBABEL2_INCLUDE_DIR - the OpenBabel2 include directory
6 # OPENBABEL2_LIBRARIES - Link these to use OpenBabel2
7 # Copyright (c) 2006, 2007 Carsten Niehaus, <cniehaus@gmx.de>
8 # Redistribution and use is allowed according to the terms of the BSD license.
9 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
11 if (OPENBABEL2_INCLUDE_DIR AND OPENBABEL2_LIBRARIES AND OPENBABEL_MINI_FOUND)
14 set(OPENBABEL2_FOUND TRUE)
16 else (OPENBABEL2_INCLUDE_DIR AND OPENBABEL2_LIBRARIES AND OPENBABEL_MINI_FOUND)
20 pkgconfig(openbabel-2.0 _obIncDir _obLinkDir _obLinkFlags _obCflags)
22 # query pkg-config asking for a openbabel >= 2.2.0
23 exec_program(${PKGCONFIG_EXECUTABLE} ARGS --atleast-version=2.1.0 openbabel-2.0 RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull )
24 if(_return_VALUE STREQUAL "0")
25 set(OPENBABEL_MINI_FOUND TRUE)
26 endif(_return_VALUE STREQUAL "0")
28 exec_program(${PKGCONFIG_EXECUTABLE} ARGS --variable=pkgincludedir openbabel-2.0 RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _obPkgIncDir )
30 set(_obIncDir "${_obPkgIncDir}")
33 set(OPENBABEL_MINI_FOUND TRUE)
36 if(OPENBABEL_MINI_FOUND)
38 find_path(OPENBABEL2_INCLUDE_DIR openbabel/obconversion.h
41 ${GNUWIN32_DIR}/include
42 $ENV{OPENBABEL2_INCLUDE_DIR}
46 if(NOT OPENBABEL2_INCLUDE_DIR)
47 find_path(OPENBABEL2_INCLUDE_DIR openbabel-2.0/openbabel/obconversion.h
50 ${GNUWIN32_DIR}/include
51 $ENV{OPENBABEL2_INCLUDE_DIR}
53 if(OPENBABEL2_INCLUDE_DIR)
54 set(OPENBABEL2_INCLUDE_DIR ${OPENBABEL2_INCLUDE_DIR}/openbabel-2.0)
55 endif(OPENBABEL2_INCLUDE_DIR)
56 endif(NOT OPENBABEL2_INCLUDE_DIR)
59 find_library(OPENBABEL2_LIBRARIES NAMES openbabel
63 $ENV{OPENBABEL2_LIBRARIES}
65 endif(OPENBABEL_MINI_FOUND)
67 if(OPENBABEL2_INCLUDE_DIR AND OPENBABEL2_LIBRARIES AND OPENBABEL_MINI_FOUND)
68 set(OPENBABEL2_FOUND TRUE)
69 endif(OPENBABEL2_INCLUDE_DIR AND OPENBABEL2_LIBRARIES AND OPENBABEL_MINI_FOUND)
72 if (NOT OpenBabel2_FIND_QUIETLY)
73 message(STATUS "Found OpenBabel 2.2 or later: ${OPENBABEL2_LIBRARIES}")
74 endif (NOT OpenBabel2_FIND_QUIETLY)
75 else (OPENBABEL2_FOUND)
76 if (OpenBabel2_FIND_REQUIRED)
77 message(FATAL_ERROR "Could NOT find OpenBabel 2.2 or later ")
78 endif (OpenBabel2_FIND_REQUIRED)
79 endif (OPENBABEL2_FOUND)
81 mark_as_advanced(OPENBABEL2_INCLUDE_DIR OPENBABEL2_LIBRARIES)
83 endif (OPENBABEL2_INCLUDE_DIR AND OPENBABEL2_LIBRARIES AND OPENBABEL_MINI_FOUND)
85 # Search for Open Babel2 executable
86 if(OPENBABEL2_EXECUTABLE)
89 set(OPENBABEL2_EXECUTABLE_FOUND TRUE)
91 else(OPENBABEL2_EXECUTABLE)
92 find_program(OPENBABEL2_EXECUTABLE NAMES babel
94 [HKEY_CURRENT_USER\\SOFTWARE\\OpenBabel\ 2.2.0]
95 $ENV{OPENBABEL2_EXECUTABLE}
98 if(OPENBABEL2_EXECUTABLE)
99 set(OPENBABEL2_EXECUTABLE_FOUND TRUE)
100 endif(OPENBABEL2_EXECUTABLE)
102 if(OPENBABEL2_EXECUTABLE_FOUND)
103 message(STATUS "Found OpenBabel2 executable: ${OPENBABEL2_EXECUTABLE}")
104 endif(OPENBABEL2_EXECUTABLE_FOUND)
106 endif(OPENBABEL2_EXECUTABLE)