Project-Riddle/CMakeLists.txt
2012-11-06 10:14:38 +01:00

83 lines
2.9 KiB
CMake

cmake_minimum_required(VERSION 2.6)
project(ProjectRiddle)
set(SYSCONF_INSTALL_DIR
"/etc"
CACHE PATH "Path where to install configuration")
add_subdirectory(commons) # Commons libraries.
add_subdirectory(libraries) # Libraries for a single executable
add_subdirectory(config) # Configuration files
set(LIBRARIES_DIR libraries)
include_directories(${CMAKE_CURRENT_BINARY_DIR}/commons/)
set(RIDDLE_SRCS Riddle.cpp)
set(CIGARETTE_SRCS ${LIBRARIES_DIR}/libCigarette.cpp ${LIBRARIES_DIR}/libCigarette.h Cigarette.cpp)
set(RANGING_SRCS ${LIBRARIES_DIR}/libRanging.h ${LIBRARIES_DIR}/libRanging.cpp Ranging.cpp)
set(PURSUER_SRCS ${LIBRARIES_DIR}/libPursuer.h ${LIBRARIES_DIR}/libPursuer.cpp Pursuer.cpp)
set(BREEDER_SRCS ${LIBRARIES_DIR}/libBreeder.h ${LIBRARIES_DIR}/libBreeder.cpp Breeder.cpp)
add_executable(ranging ${RANGING_SRCS})
add_executable(cigarette ${CIGARETTE_SRCS})
add_executable(riddle ${RIDDLE_SRCS})
add_executable(pursuer ${PURSUER_SRCS})
add_executable(breeder ${BREEDER_SRCS})
set(BOOST_LIBS program_options system regex thread)
find_package(Boost COMPONENTS ${BOOST_LIBS} REQUIRED)
find_library(LIBPCAP pcap)
find_package (Threads)
SET(CURSES_NEED_NCURSES TRUE)
find_package(Curses)
# Build riddle
target_link_libraries(riddle ${Boost_LIBRARIES})
target_link_libraries(riddle ${LIBPCAP})
target_link_libraries(riddle libDump)
# Build cigarette
target_link_libraries(cigarette ${Boost_LIBRARIES})
target_link_libraries(cigarette ${CMAKE_THREAD_LIBS_INIT})
target_link_libraries(cigarette libNetwork)
target_link_libraries(cigarette libDump)
# Build ranging
target_link_libraries(ranging ${Boost_LIBRARIES})
target_link_libraries(ranging ${CMAKE_THREAD_LIBS_INIT})
target_link_libraries(ranging ${CURSES_LIBRARY})
target_link_libraries(ranging libNetwork)
# Build pursuer
target_link_libraries(pursuer ${Boost_LIBRARIES})
target_link_libraries(pursuer ${CMAKE_THREAD_LIBS_INIT})
target_link_libraries(pursuer libNetwork)
target_link_libraries(pursuer libDump)
# Build breeder
target_link_libraries(breeder ${Boost_LIBRARIES})
target_link_libraries(breeder ${CMAKE_THREAD_LIBS_INIT})
target_link_libraries(breeder libNetwork)
target_link_libraries(breeder libDump)
# Install binaries
install(TARGETS riddle DESTINATION sbin)
install(TARGETS breeder cigarette pursuer ranging DESTINATION bin)
# Generate packages
INCLUDE(InstallRequiredSystemLibraries)
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Riddle is a modular network sniffer")
SET(CPACK_PACKAGE_VENDOR "Andrea Bontempi")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
SET(CPACK_PACKAGE_VERSION_MAJOR "0")
SET(CPACK_PACKAGE_VERSION_MINOR "1")
SET(CPACK_PACKAGE_VERSION_PATCH "0")
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
SET(CPACK_PACKAGE_CONTACT "Andrea Bontempi <andreabont@yahoo.it>")
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Andrea Bontempi")
INCLUDE(CPack)