04a5091379d239ad3090f1f8b9862e20d10b2f32
[quassel.git] / cmake / modules / FindQCA2.cmake
1 # - Try to find QCA2 (Qt Cryptography Architecture 2)
2 # Once done this will define
3 #
4 #  QCA2_FOUND - system has QCA2
5 #  QCA2_INCLUDE_DIR - the QCA2 include directory
6 #  QCA2_LIBRARIES - the libraries needed to use QCA2
7 #  QCA2_DEFINITIONS - Compiler switches required for using QCA2
8 #
9 # use pkg-config to get the directories and then use these values
10 # in the FIND_PATH() and FIND_LIBRARY() calls
11
12 # Copyright (c) 2006, Michael Larouche, <michael.larouche@kdemail.net>
13 #
14 # Redistribution and use is allowed according to the terms of the BSD license.
15 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
16
17 include(FindLibraryWithDebug)
18
19 if (QCA2_INCLUDE_DIR AND QCA2_LIBRARIES)
20
21   # in cache already
22   set(QCA2_FOUND TRUE)
23
24 else (QCA2_INCLUDE_DIR AND QCA2_LIBRARIES)
25
26
27   if (NOT WIN32)
28     find_package(PkgConfig)
29     pkg_check_modules(PC_QCA2 QUIET qca2)
30     set(QCA2_DEFINITIONS ${PC_QCA2_CFLAGS_OTHER})
31   endif (NOT WIN32)
32
33   find_library(QCA2_LIBRARIES_DEBUG
34                   NAMES qcad qcad2
35                   HINTS ${PC_QCA2_LIBDIR} ${PC_QCA2_LIBRARY_DIRS}
36                   )
37   find_library(QCA2_LIBRARIES_RELEASE
38                   NAMES qca qca2
39                   HINTS ${PC_QCA2_LIBDIR} ${PC_QCA2_LIBRARY_DIRS}
40                   )
41   # if the release- as well as the debug-version of the library have been found:
42   IF (QCA2_LIBRARIES_DEBUG AND QCA2_LIBRARIES_RELEASE)
43     # if the generator supports configuration types then set
44     # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
45     IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
46       SET(QCA2_LIBRARIES       optimized ${QCA2_LIBRARIES_RELEASE} debug ${QCA2_LIBRARIES_DEBUG})
47     ELSE(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
48       # if there are no configuration types and CMAKE_BUILD_TYPE has no value
49       # then just use the release libraries
50       SET(QCA2_LIBRARIES       ${QCA2_LIBRARIES_RELEASE} )
51     ENDIF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
52   ELSE (QCA2_LIBRARIES_DEBUG AND QCA2_LIBRARIES_RELEASE)
53     IF (QCA2_LIBRARIES_RELEASE)
54        SET(QCA2_LIBRARIES ${QCA2_LIBRARIES_RELEASE})
55     ENDIF (QCA2_LIBRARIES_RELEASE)
56   ENDIF (QCA2_LIBRARIES_DEBUG AND QCA2_LIBRARIES_RELEASE)
57
58
59   find_path(QCA2_INCLUDE_DIR qca.h
60             HINTS ${PC_QCA2_INCLUDEDIR} ${PC_QCA2_INCLUDE_DIRS}
61             PATH_SUFFIXES QtCrypto)
62
63   include(FindPackageHandleStandardArgs)
64   find_package_handle_standard_args(QCA2 QCA2_LIBRARIES QCA2_INCLUDE_DIR)
65
66   mark_as_advanced(QCA2_INCLUDE_DIR QCA2_LIBRARIES)
67
68 endif (QCA2_INCLUDE_DIR AND QCA2_LIBRARIES)