ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/cmake/modules/FindOpenBabel2.cmake
Revision: 1498
Committed: Thu Sep 9 14:34:20 2010 UTC (14 years, 7 months ago) by chuckv
File size: 2894 byte(s)
Log Message:
Different version of FindOpenBabel that actually works.

File Contents

# Content
1 # - Try to find OpenBabel2
2 # Once done this will define
3 #
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, 2009 Pino Toscano, <pino@kde.org>
8 # Copyright (c) 2006, 2007 Carsten Niehaus, <cniehaus@gmx.de>
9 # Copyright (C) 2008 Marcus D. Hanwell <marcus@cryos.org>
10 # Redistribution and use is allowed according to the terms of the BSD license.
11 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
12
13 if (OPENBABEL2_INCLUDE_DIR AND OPENBABEL2_LIBRARIES AND OPENBABEL2_VERSION_MET)
14 # in cache already
15 set(OPENBABEL2_FOUND TRUE)
16
17 else (OPENBABEL2_INCLUDE_DIR AND OPENBABEL2_LIBRARIES AND OPENBABEL2_VERSION_MET)
18 if(NOT WIN32)
19
20 # Use the newer PkgConfig stuff
21 find_package(PkgConfig REQUIRED)
22 pkg_check_modules(PC_OPENBABEL2 openbabel-2.0>=2.2.0)
23
24 if(PC_OPENBABEL2_FOUND)
25 set(OPENBABEL2_VERSION_MET TRUE)
26 endif(PC_OPENBABEL2_FOUND)
27
28 else(NOT WIN32)
29 set(OPENBABEL2_VERSION_MET TRUE)
30 endif(NOT WIN32)
31
32 if(OPENBABEL2_VERSION_MET)
33
34 find_path(OPENBABEL2_INCLUDE_DIR openbabel/obconversion.h
35 PATHS
36 ${PC_OPENBABEL2_INCLUDEDIR}
37 ${PC_OPENBABEL2_INCLUDE_DIRS}
38 ${GNUWIN32_DIR}/include
39 $ENV{OPENBABEL2_INCLUDE_DIR}
40 PATH_SUFFIXES openbabel-2.0
41 )
42
43 find_library(OPENBABEL2_LIBRARIES NAMES openbabel openbabel-2
44 PATHS
45 ${PC_OPENBABEL2_LIBDIR}
46 ${PC_OPENBABEL2_LIBRARY_DIRS}
47 ${GNUWIN32_DIR}/lib
48 $ENV{OPENBABEL2_LIBRARIES}
49 )
50 endif(OPENBABEL2_VERSION_MET)
51
52 if(OPENBABEL2_INCLUDE_DIR AND OPENBABEL2_LIBRARIES AND OPENBABEL2_VERSION_MET)
53 set(OPENBABEL2_FOUND TRUE)
54 endif(OPENBABEL2_INCLUDE_DIR AND OPENBABEL2_LIBRARIES AND OPENBABEL2_VERSION_MET)
55
56 if (OPENBABEL2_FOUND)
57 if (NOT OpenBabel2_FIND_QUIETLY)
58 message(STATUS "Found OpenBabel 2.2 or later: ${OPENBABEL2_LIBRARIES}")
59 endif (NOT OpenBabel2_FIND_QUIETLY)
60 else (OPENBABEL2_FOUND)
61 if (OpenBabel2_FIND_REQUIRED)
62 message(FATAL_ERROR "Could NOT find OpenBabel 2.2 or later ")
63 endif (OpenBabel2_FIND_REQUIRED)
64 endif (OPENBABEL2_FOUND)
65
66 mark_as_advanced(OPENBABEL2_INCLUDE_DIR OPENBABEL2_LIBRARIES)
67
68 endif (OPENBABEL2_INCLUDE_DIR AND OPENBABEL2_LIBRARIES AND OPENBABEL2_VERSION_MET)
69
70 # Search for Open Babel2 executable
71 if(OPENBABEL2_EXECUTABLE)
72
73 # in cache already
74 set(OPENBABEL2_EXECUTABLE_FOUND TRUE)
75
76 else(OPENBABEL2_EXECUTABLE)
77 find_program(OPENBABEL2_EXECUTABLE NAMES babel
78 PATHS
79 [HKEY_CURRENT_USER\\SOFTWARE\\OpenBabel\ 2.2.0]
80 $ENV{OPENBABEL2_EXECUTABLE}
81 )
82
83 if(OPENBABEL2_EXECUTABLE)
84 set(OPENBABEL2_EXECUTABLE_FOUND TRUE)
85 endif(OPENBABEL2_EXECUTABLE)
86
87 if(OPENBABEL2_EXECUTABLE_FOUND)
88 message(STATUS "Found OpenBabel2 executable: ${OPENBABEL2_EXECUTABLE}")
89 endif(OPENBABEL2_EXECUTABLE_FOUND)
90
91 endif(OPENBABEL2_EXECUTABLE)
92