set(TMP1  aspack.c autoit.c binhex.c blob.c cab.c chmunpack.c cvd.c dconf.c dsig.c elf.c entconv.c filetypes.c fsg.c hashtab.c htmlnorm.c is_tar.c jscript.c line.c lockdb.c matcher-ac.c matcher-bm.c matcher.c mbox.c md5.c message.c mew.c msexpand.c mspack.c ole2_extract.c others.c packlibs.c pdf.c pe.c petite.c phishcheck.c phish_domaincheck_db.c phish_whitelist.c pst.c readdb.c rebuildpe.c regex_list.c rtf.c scanners.c sis.c snprintf.c special.c spin.c str.c suecrypt.c table.c text.c tnef.c unarj.c unsp.c untar.c unzip.c upack.c upx.c uuencode.c vba_extract.c wwunpack.c yc.c)
llvm_prepend(TMP1 libclamav_ ${TMP1})
set(TMP2  clamscan.c manager.c others.c treewalk.c)
llvm_prepend(TMP2 clamscan_ ${TMP2})
set(TMP3  cdiff.c cfgparser.c getopt.c misc.c network.c options.c output.c sha256.c)
llvm_prepend(TMP3 shared_ ${TMP3})
set(TMP4  regerror.c regfree.c regcomp.c  regexec.c strlcpy.c)
llvm_prepend(TMP4 libclamav_regex_ ${TMP4})
set(TMP5  nulsft.c bzlib.c infblock.c LZMADecode.c )
llvm_prepend(TMP5 libclamav_nsis_ ${TMP5})
set(Source ${TMP1} ${TMP2} ${TMP3} ${TMP4} ${TMP5})
set(INPUT ${CMAKE_CURRENT_SOURCE_DIR}/inputs/clam.cab ${CMAKE_CURRENT_SOURCE_DIR}/inputs/clamdoc.tar.gz ${CMAKE_CURRENT_SOURCE_DIR}/inputs/clam.exe ${CMAKE_CURRENT_SOURCE_DIR}/inputs/clam.exe.bz2 ${CMAKE_CURRENT_SOURCE_DIR}/inputs/clam-v2.rar ${CMAKE_CURRENT_SOURCE_DIR}/inputs/clam-v3.rar ${CMAKE_CURRENT_SOURCE_DIR}/inputs/clam.zip ${CMAKE_CURRENT_SOURCE_DIR}/inputs/README ${CMAKE_CURRENT_SOURCE_DIR}/inputs/rtf-test/Doc11.rtf ${CMAKE_CURRENT_SOURCE_DIR}/inputs/rtf-test/Doc1.rtf ${CMAKE_CURRENT_SOURCE_DIR}/inputs/rtf-test/Doc22.rtf ${CMAKE_CURRENT_SOURCE_DIR}/inputs/rtf-test/Doc2.rtf ${CMAKE_CURRENT_SOURCE_DIR}/inputs/rtf-test/doc3.rtf ${CMAKE_CURRENT_SOURCE_DIR}/inputs/rtf-test/docCLAMexe.rtf ${CMAKE_CURRENT_SOURCE_DIR}/inputs/rtf-test/rtf1.rtf ${CMAKE_CURRENT_SOURCE_DIR}/inputs/rtf-test/rtf-novirus.rtf)
set(PROG clamscan)
list(APPEND CPPFLAGS -DHAVE_CONFIG_H -I. -DDONT_LOCK_DBDIRS)
set(LDFLAGS -lz)
set(RUN_OPTIONS --debug --exclude-dir .svn --verbose -d${CMAKE_CURRENT_SOURCE_DIR}/dbdir -r ${INPUT})
if("${TARGET_OS}" STREQUAL "Darwin")
  list(APPEND CPPFLAGS -DC_DARWIN)
endif()
if("${TARGET_OS}" STREQUAL "AIX")
  list(APPEND CPPFLAGS -DC_AIX)
endif()
if("${TARGET_OS}" STREQUAL "IRIX")
  list(APPEND CPPFLAGS -DC_IRIX)
endif()
if("${TARGET_OS}" STREQUAL "Cygwin")
  list(APPEND CPPFLAGS -DC_CYGWIN)
endif()
if("${TARGET_OS}" STREQUAL "FreeBSD")
  list(APPEND CPPFLAGS -DC_BSD)
endif()
if("${TARGET_OS}" STREQUAL "OpenBSD")
  list(APPEND CPPFLAGS -DC_BSD)
endif()
if("${TARGET_OS}" STREQUAL "NetBSD")
  list(APPEND CPPFLAGS -DC_BSD)
endif()
if("${TARGET_OS}" STREQUAL "HP-UX")
  list(APPEND CPPFLAGS -DC_HPUX)
endif()
if("${TARGET_OS}" STREQUAL "Interix")
  list(APPEND CPPFLAGS -DC_INTERIX -DC_WINDOWS)
endif()
if("${TARGET_OS}" STREQUAL "Win32")
  list(APPEND CPPFLAGS -DC_WINDOWS)
endif()
if("${TARGET_OS}" STREQUAL "mingw")
  list(APPEND CPPFLAGS -DC_WINDOWS)
endif()
if("${TARGET_OS}" STREQUAL "Linux")
  list(APPEND CPPFLAGS -DC_LINUX)
endif()
if(NOT "${ARCH}" STREQUAL "ARM")
  if("${ENDIAN}" STREQUAL "little")
    list(APPEND CPPFLAGS -DFPU_WORDS_BIGENDIAN=0)
  endif()
  if("${ENDIAN}" STREQUAL "big")
    list(APPEND CPPFLAGS -DFPU_WORDS_BIGENDIAN=1)
  endif()
endif()
if("${ENDIAN}" STREQUAL "little")
  list(APPEND CPPFLAGS -DWORDS_BIGENDIAN=0)
endif()
if("${ENDIAN}" STREQUAL "big")
  list(APPEND CPPFLAGS -DWORDS_BIGENDIAN=1)
endif()
set(DIFFPROG ${PROGDIR}/DiffOutput.sh "diff ")
if("${TARGET_OS}" STREQUAL "Darwin")
  list(APPEND EXTRA_LLIFLAGS -load=libz.dylib)
else()
  if("${TARGET_OS}" STREQUAL "Linux")
    list(APPEND EXTRA_LLIFLAGS -load=libz.so.1)
  else()
    list(APPEND EXTRA_LLIFLAGS -load=libz)
  endif()
endif()
llvm_multisource()
