57 lines
2.0 KiB
CMake
57 lines
2.0 KiB
CMake
# Файл для включения в проект на CMAKE.
|
|
# Перед включением необходимо определить переменные
|
|
# LTIMER_DIR - путь к директории, где находится ltimer.cmake
|
|
# LCSPEC_DIR - путь к директории, где находится файлы lcspec
|
|
#
|
|
# После включения будут установлены следующие перменные:
|
|
# LTIMER_HEADERS - используемые заголовочные файлы
|
|
# LTIMER_SOURCES - используемые файлы исходных кодов
|
|
# LTIMER_LIBS - используемые библиотеки
|
|
# LTIMER_DEFINITIONS - используемые определения компилятора
|
|
|
|
cmake_policy(PUSH)
|
|
|
|
cmake_minimum_required(VERSION 2.8.12)
|
|
|
|
include(CheckLibraryExists)
|
|
include(CheckFunctionExists)
|
|
|
|
|
|
set (LTIMER_HEADERS
|
|
${LTIMER_DIR}/ltimer.h
|
|
${LCSPEC_DIR}/lcspec.h
|
|
)
|
|
|
|
|
|
|
|
if(UNIX)
|
|
set(LTIMER_SOURCES ${LTIMER_DIR}/ports/linux/lclock.c)
|
|
include_directories(${LTIMER_DIR}/ports/linux)
|
|
elseif(WIN32)
|
|
set(LTIMER_SOURCES ${LTIMER_DIR}/ports/win/lclock.c)
|
|
include_directories(${LTIMER_DIR}/ports/win)
|
|
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "QNX4")
|
|
set(LTIMER_SOURCES ${LTIMER_DIR}/ports/linux/lclock.c)
|
|
include_directories(${LTIMER_DIR}/ports/linux)
|
|
endif(UNIX)
|
|
|
|
include_directories(${LCSPEC_DIR} ${LTIMER_DIR})
|
|
|
|
if(UNIX)
|
|
check_library_exists(rt clock_gettime "" HAVE_LIBRT)
|
|
if(HAVE_LIBRT)
|
|
set(LTIMER_LIBS ${TIMER_LIBS} rt)
|
|
else(HAVE_LIBRT)
|
|
set(CMAKE_REQUIRED_INCLUDES time.h)
|
|
# проверяем наличие clock_gettime вне librt.
|
|
# если нет, то можем откатиться к gettimeofday
|
|
check_function_exists("clock_gettime" HAVE_CLOCKGETTIME)
|
|
|
|
if(NOT HAVE_CLOCKGETTIME)
|
|
set(LTIMER_DEFINITIONS NO_CLOCKGETTIME)
|
|
endif(NOT HAVE_CLOCKGETTIME)
|
|
endif(HAVE_LIBRT)
|
|
endif(UNIX)
|
|
|
|
cmake_policy(POP)
|