diff options
author | Mavridis Philippe <[email protected]> | 2021-01-25 15:48:29 +0200 |
---|---|---|
committer | Mavridis Philippe <[email protected]> | 2021-01-25 15:48:29 +0200 |
commit | 3988d0b5dd1614839cee5a6aa23439cc156efe2d (patch) | |
tree | bf9b1f58ac0f799a9895aae701d7af93107f06b9 /CMakeLists.txt | |
parent | c06676f232466dcc7917299b75f5296ff830b01c (diff) | |
download | klamav-3988d0b5dd1614839cee5a6aa23439cc156efe2d.tar.gz klamav-3988d0b5dd1614839cee5a6aa23439cc156efe2d.zip |
CMake conversion
Signed-off-by: Mavridis Philippe <[email protected]>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..e66f9d1 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,85 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +# Modified by Mavridis Philippe for KlamAV. +# +################################################# + +cmake_minimum_required( VERSION 2.8.12 ) + + +##### general package setup ##################### + +project( klamav ) +set( VERSION R14.0.10 ) + + +##### include essential cmake modules ########### + +include( FindPkgConfig ) +include( CheckFunctionExists ) +include( CheckSymbolExists ) +include( CheckIncludeFile ) +include( CheckLibraryExists ) +include( CheckCSourceCompiles ) +include( CheckCXXSourceCompiles ) + + +##### include our cmake modules ################# + +set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ) +include( TDEMacros ) + + +##### setup install paths ####################### + +include( TDESetupPaths ) +tde_setup_paths( ) + + + +##### optional stuff ############################ + +option( WITH_ALL_OPTIONS "Enable all optional support" OFF ) +option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} ) +option( WITH_EMBEDDED_SQLITE "Use included SQLite instead of system one" ${WITH_ALL_OPTIONS} ) + + +##### user requested modules #################### + +option( BUILD_ALL "Build all" ON ) +option( BUILD_DOC "Build documentation" ${BUILD_ALL} ) +option( BUILD_KLAMMAIL "Build Klammail (e-mail filter)" ${BUILD_ALL} ) +# option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} ) + + +##### configure checks ########################## + +include( ConfigureChecks.cmake ) + + +###### global compiler settings ################# + +add_definitions( -DHAVE_CONFIG_H ) + +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" ) +set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" ) +set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" ) + + +##### source directories ######################## + +add_subdirectory( src ) +tde_conditional_add_subdirectory( BUILD_DOC doc ) +tde_conditional_add_subdirectory( BUILD_TRANSLATIONS translations ) + + +##### write configure files ##################### + +configure_file( config.h.cmake config.h @ONLY ) |