# http://www.cmake.org cmake_minimum_required(VERSION 2.6) project(MEMLOG) add_executable(memlog memlog.cpp) find_library(SQLITE3 sqlite3) if(NOT SQLITE3) message(FATAL_ERROR "sqlite3 not found. Aborting.") endif(NOT SQLITE3) target_link_libraries(memlog sqlite3) find_package(Doxygen) if(DOXYGEN_FOUND) configure_file(${PROJECT_SOURCE_DIR}/Doxyfile.in Doxyfile @ONLY) add_custom_command(OUTPUT doc COMMAND ${DOXYGEN_EXECUTABLE}) add_custom_target(doxygen ALL DEPENDS doc) set(DOCDIR ${CMAKE_INSTALL_PREFIX}/share/doc/memlog) install(DIRECTORY ${PROJECT_BINARY_DIR}/doc/html DESTINATION ${DOCDIR}) else(DOXYGEN_FOUND) message(STATUS "doxygen not found. Unable to build doxygen documentation.") endif(DOXYGEN_FOUND) find_program(HELP2MAN help2man) if(HELP2MAN) add_custom_command(OUTPUT memlog.1 memlog-python.1 COMMAND help2man ./memlog --no-info > memlog.1 COMMAND help2man ${PROJECT_SOURCE_DIR}/memlog.py --no-info > memlog-python.1 DEPENDS memlog memlog.py) add_custom_target(man ALL DEPENDS memlog.1 memlog-python.1) else(HELP2MAN) message(STATUS "help2man not found. Unable to create manpages.") endif(HELP2MAN) install(TARGETS memlog RUNTIME DESTINATION bin) install(FILES memlog.py DESTINATION bin) set(MANDIR ${CMAKE_INSTALL_PREFIX}/share/man) set(MANPAGES1 memlog.1 memlog-python.1) set(MANPAGES3 DbError.3 Options.3 Process.3 SystemStatus.3) foreach(SECTION RANGE 1 3 2) foreach(MAN${SECTION} ${MANPAGES${SECTION}}) install(FILES ${PROJECT_BINARY_DIR}/${MAN${SECTION}} ${PROJECT_BINARY_DIR}/doc/man/man3/${MAN${SECTION}} DESTINATION ${MANDIR}/man${SECTION} OPTIONAL) endforeach(MAN${SECTION}) endforeach(SECTION)