view CMakeLists.txt @ 12:dbf24a82f625 default tip

Fix doxygen comments and add a Doxyfile
author Louis Opter <kalessin@kalessin.fr>
date Fri, 07 Jan 2011 21:49:31 +0100
parents 6f2e13f5fcfd
children
line wrap: on
line source

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

# Global definitions ###########################################################

PROJECT(LIBLXCSTATS C)

SET(CPACK_PACKAGE_VERSION_MAJOR "0")
SET(CPACK_PACKAGE_VERSION_MINOR "0")
SET(CPACK_PACKAGE_VERSION_PATCH "1")
SET(LIBLXCSTATS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")

MESSAGE(STATUS "CMake Version: ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}")
MESSAGE(STATUS "liblxcstats Version: ${LIBLXCSTATS_VERSION}")
MESSAGE(STATUS "Build Type: ${CMAKE_BUILD_TYPE}")
MESSAGE(STATUS "System: ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION}")
MESSAGE(STATUS "Install Prefix: ${CMAKE_INSTALL_PREFIX}")
MESSAGE(STATUS "Source Directory: ${LIBLXCSTATS_SOURCE_DIR}")

ENABLE_TESTING()

IF (CMAKE_COMPILER_IS_GNUCC)
    ADD_DEFINITIONS("-pipe -Wextra -Wall -std=c99 -Wstrict-prototypes")
ENDIF (CMAKE_COMPILER_IS_GNUCC)

IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
    ADD_DEFINITIONS("-D_POSIX_C_SOURCE=200112L" "-D_XOPEN_SOURCE=500" "-D_FILE_OFFSET_BITS=64" "-D_BSD_SOURCE")
ELSE (CMAKE_SYSTEM_NAME MATCHES "Linux")
    MESSAGE(SEND_ERROR "The liblxcstats is Linux specific.")
ENDIF (CMAKE_SYSTEM_NAME MATCHES "Linux")

# Generate files ###############################################################

CONFIGURE_FILE(Doxyfile.in "${CMAKE_BINARY_DIR}/Doxyfile")

# Build rules ##################################################################

SET(PROBES_SRC
    probes/cpuacct.c
    probes/memory.c
    probes/probes.c
   )

SET(SRC
    compat/strlcpy.c
    compat/strlcat.c
    close.c
    container.c
    globals.c
    open.c
    utils.c
    ${PROBES_SRC}
   )

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})

ADD_LIBRARY(lxcstats SHARED ${SRC})

# Install/Uninstall rules ######################################################

INSTALL(TARGETS lxcstats LIBRARY DESTINATION lib)

INSTALL(FILES lxcstats.h DESTINATION include)

CONFIGURE_FILE("${LIBLXCSTATS_SOURCE_DIR}/CMakeScripts/cmake_uninstall.cmake.in"
               "${LIBLXCSTATS_BINARY_DIR}/cmake_uninstall.cmake"
               IMMEDIATE @ONLY
              )

ADD_CUSTOM_TARGET(uninstall
                  "${CMAKE_COMMAND}" -P "${LIBLXCSTATS_BINARY_DIR}/cmake_uninstall.cmake"
                 )

# Subdirectories ###############################################################

ADD_SUBDIRECTORY(tests)
ADD_SUBDIRECTORY(probes)