view CMakeLists.txt @ 1:3e30c3b2d6da

Add install/uninstall rules
author Louis Opter <louis@dotcloud.com>
date Thu, 30 Dec 2010 18:48:34 +0100
parents 6ce4443e7545
children ba9d8601d5f9
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")

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

SET(SRC
    compat/strlcpy.c
    compat/strlcat.c
    close.c
    container.c
    open.c
    utils.c
   )

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})

ADD_LIBRARY(lxcstats SHARED ${SRC})

TARGET_LINK_LIBRARIES(lxcstats probes)

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

INSTALL(TARGETS lxcstats LIBRARY DESTINATION lib)

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)