c -> c++
[inoclam.git] / CMakeLists.txt
blobaddc3e22f551fcd000e50ab341703cbf2b654438
1 # inoclam - Inotify+ClamAV virus scanner
2 # Copyright (C) 2007 Vermont Department of Taxes
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18 # Contributor(s):
19 #   Tom Cort <tom.cort@state.vt.us>
21 PROJECT (inoclam)
23 SET (libdirs /usr/lib /usr/pkg/lib /usr/local/lib /usr/lib64 /usr/local/lib64 /usr/lib32 /usr/local/lib32)
24 SET (bindirs /usr/bin /usr/pkg/bin /usr/local/bin)
25 SET (incdirs /usr/include /usr/local/include /usr/pkg/include /usr/include/jwsmtp-1.32 /usr/local/include/jwsmtp-1.32 /usr/pkg/include/jwsmtp-1.32)
27 #############################################
28 # libclamav checks
29 #############################################
31 FIND_LIBRARY(LIBCLAMAV clamav ${libdirs})
33 IF (LIBCLAMAV)
34   MESSAGE(STATUS "Found libclamav: ${LIBCLAMAV}")
35 ELSE (LIBCLAMAV)
36   MESSAGE (FATAL_ERROR "libclamav not found.")
37 ENDIF (LIBCLAMAV)
39 FIND_PATH(LIBCLAMAV_INCLUDE_DIR clamav.h ${incdirs})
41 IF (LIBCLAMAV_INCLUDE_DIR)
42   MESSAGE(STATUS "Found clamav.h in ${LIBCLAMAV_INCLUDE_DIR}")
43 ELSE (LIBCLAMAV_INCLUDE_DIR)
44   MESSAGE (FATAL_ERROR "clamav.h not found.")
45 ENDIF (LIBCLAMAV_INCLUDE_DIR)
47 #############################################
48 # libdaemon checks
49 #############################################
51 FIND_LIBRARY(LIBDAEMON daemon ${libdirs})
53 IF (LIBDAEMON)
54   MESSAGE(STATUS "Found libdaemon: ${LIBDAEMON}")
55 ELSE (LIBDAEMON)
56   MESSAGE (FATAL_ERROR "libdaemon not found.")
57 ENDIF (LIBDAEMON)
59 FIND_PATH(LIBDAEMON_INCLUDE_DIR libdaemon/daemon.h ${incdirs})
61 IF (LIBDAEMON_INCLUDE_DIR)
62   MESSAGE(STATUS "Found libdaemon/daemon.h in ${LIBDAEMON_INCLUDE_DIR}")
63 ELSE (LIBDAEMON_INCLUDE_DIR)
64   MESSAGE (FATAL_ERROR "libdaemon/daemon.h not found.")
65 ENDIF (LIBDAEMON_INCLUDE_DIR)
67 #############################################
68 # libinotifytools checks
69 #############################################
71 FIND_LIBRARY(LIBINOTIFYTOOLS inotifytools ${libdirs})
73 IF (LIBINOTIFYTOOLS)
74   MESSAGE(STATUS "Found libnotifytools: ${LIBINOTIFYTOOLS}")
75 ELSE (LIBINOTIFYTOOLS)
76   MESSAGE (FATAL_ERROR "libinotifytools not found.")
77 ENDIF (LIBINOTIFYTOOLS)
79 FIND_PATH(LIBINOTIFYTOOLS_INCLUDE_DIR inotifytools/inotify.h ${incdirs})
81 IF (LIBINOTIFYTOOLS_INCLUDE_DIR)
82   MESSAGE(STATUS "Found inotifytools/inotify.h in ${LIBINOTIFYTOOLS_INCLUDE_DIR}")
83 ELSE (LIBINOTIFYTOOLS_INCLUDE_DIR)
84   MESSAGE (FATAL_ERROR "inotifytools/inotify.h not found.")
85 ENDIF (LIBINOTIFYTOOLS_INCLUDE_DIR)
87 #############################################
88 # jwsmtp checks
89 #############################################
91 FIND_LIBRARY(JWSMTP jwsmtp ${libdirs})
93 IF (JWSMTP)
94   MESSAGE(STATUS "Found jwsmtp: ${JWSMTP}")
95 ELSE (JWSMTP)
96   MESSAGE (FATAL_ERROR "jwsmtp not found.")
97 ENDIF (JWSMTP)
99 FIND_PATH(JWSMTP_INCLUDE_DIR jwsmtp/jwsmtp.h ${incdirs})
101 IF (JWSMTP_INCLUDE_DIR)
102   MESSAGE(STATUS "Found jwsmtp/jwsmtp.h in ${JWSMTP_INCLUDE_DIR}")
103 ELSE (JWSMTP_INCLUDE_DIR)
104   MESSAGE (FATAL_ERROR "jwsmtp/jwsmtp.h not found.")
105 ENDIF (JWSMTP_INCLUDE_DIR)
107 #############################################
108 # inotify checks
109 #############################################
111 FIND_PATH(INOTIFY_INCLUDE_DIR sys/inotify.h ${incdirs})
113 IF (INOTIFY_INCLUDE_DIR)
114   MESSAGE(STATUS "Found sys/inotify.h in ${INOTIFY_INCLUDE_DIR}")
115 ELSE (INOTIFY_INCLUDE_DIR)
116   MESSAGE (FATAL_ERROR "sys/inotify.h not found.")
117 ENDIF (INOTIFY_INCLUDE_DIR)
119 #############################################
120 # include dirs
121 #############################################
123 INCLUDE_DIRECTORIES(${incdirs} ${LIBCLAMAV_INCLUDE_DIR} ${LIBDAEMON_INCLUDE_DIR} ${LIBINOTIFYTOOLS_INCLUDE_DIR} ${INOTIFY_INCLUDE_DIR} ${JWSMTP_INCLUDE_DIR})
125 #############################################
126 # compile
127 #############################################
129 ADD_EXECUTABLE(inoclam clam.cxx inoclam.cxx inotify.cxx monitor.cxx signal.cxx smtp.cxx)
131 #############################################
132 # link
133 #############################################
135 TARGET_LINK_LIBRARIES(inoclam ${LIBCLAMAV} ${LIBDAEMON} ${LIBINOTIFYTOOLS} ${JWSMTP})