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

# User Rev Content
1 chuckv 1466 # - 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 chuckv 1498 # Copyright (C) 2006, 2009 Pino Toscano, <pino@kde.org>
8 chuckv 1466 # 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 chuckv 1498 pkg_check_modules(PC_OPENBABEL2 openbabel-2.0>=2.2.0)
23 chuckv 1466
24 chuckv 1498 if(PC_OPENBABEL2_FOUND)
25 chuckv 1466 set(OPENBABEL2_VERSION_MET TRUE)
26 chuckv 1498 endif(PC_OPENBABEL2_FOUND)
27 chuckv 1466
28     else(NOT WIN32)
29     set(OPENBABEL2_VERSION_MET TRUE)
30     endif(NOT WIN32)
31    
32     if(OPENBABEL2_VERSION_MET)
33    
34 chuckv 1498 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 chuckv 1466
43     find_library(OPENBABEL2_LIBRARIES NAMES openbabel openbabel-2
44     PATHS
45 chuckv 1498 ${PC_OPENBABEL2_LIBDIR}
46     ${PC_OPENBABEL2_LIBRARY_DIRS}
47 chuckv 1466 ${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 chuckv 1498 [HKEY_CURRENT_USER\\SOFTWARE\\OpenBabel\ 2.2.0]
80 chuckv 1466 $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