1e25b118aSDominic Spill# 2e25b118aSDominic Spill# Copyright 2013 Dominic Spill 3e25b118aSDominic Spill# 4e25b118aSDominic Spill# This file is part of Libbtbb. 5e25b118aSDominic Spill# 6e25b118aSDominic Spill# This program is free software; you can redistribute it and/or modify 7e25b118aSDominic Spill# it under the terms of the GNU General Public License as published by 8e25b118aSDominic Spill# the Free Software Foundation; either version 2, or (at your option) 9e25b118aSDominic Spill# any later version. 10e25b118aSDominic Spill# 11e25b118aSDominic Spill# This program is distributed in the hope that it will be useful, 12e25b118aSDominic Spill# but WITHOUT ANY WARRANTY; without even the implied warranty of 13e25b118aSDominic Spill# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14e25b118aSDominic Spill# GNU General Public License for more details. 15e25b118aSDominic Spill# 16e25b118aSDominic Spill# You should have received a copy of the GNU General Public License 17e25b118aSDominic Spill# along with this program; see the file COPYING. If not, write to 18e25b118aSDominic Spill# the Free Software Foundation, Inc., 51 Franklin Street, 19e25b118aSDominic Spill# Boston, MA 02110-1301, USA. 20e25b118aSDominic Spill# 21e25b118aSDominic Spill#top level cmake project for libbtbb lib + tools 22e25b118aSDominic Spill 23e25b118aSDominic Spillcmake_minimum_required(VERSION 2.8) 24e25b118aSDominic Spillset(MAJOR_VERSION 0) 258f3e7eeaSChristopher Kilgourset(MINOR_VERSION 3) 26e25b118aSDominic Spillproject(libbtbb_all) 27e25b118aSDominic Spillset(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules) 28e25b118aSDominic Spill 29e25b118aSDominic Spillset(INSTALL_DEFAULT_BINDIR "bin" CACHE STRING "Appended to CMAKE_INSTALL_PREFIX") 30e25b118aSDominic Spill 31b858c0c0SDominic Spill## Instruct user to remove previous versions, unless using a package manager 32b858c0c0SDominic Spill#if(NOT PACKAGE_MANAGER) 33b858c0c0SDominic Spill# # Unset variables to force the recheck next time 34b858c0c0SDominic Spill# # (there has to be a better way to do it than this) 35b858c0c0SDominic Spill# UNSET(LIBBTBB_FOUND CACHE) 36b858c0c0SDominic Spill# UNSET(LIBBTBB_INCLUDE_DIR CACHE) 37b858c0c0SDominic Spill# UNSET(LIBBTBB_LIBRARIES CACHE) 38b858c0c0SDominic Spill# 39b858c0c0SDominic Spill# find_package(BTBB) 40b858c0c0SDominic Spill# if(LIBBTBB_FOUND) 41b858c0c0SDominic Spill# message( FATAL_ERROR 42b858c0c0SDominic Spill# "An existing installation of libbtbb is already present on this system. Please remove it, and any depending applications before building. A helper script is provided, run\n$ sudo ../cmake/cleanup.sh -d\nto find and remove libbtbb and libubertooth and the ubertooth tools") 43b858c0c0SDominic Spill# endif() 44b858c0c0SDominic Spill#endif() 45a04ed95dSDominic Spill 46*7469b4d1SDominic Spill# automatic git version when working out of git 47*7469b4d1SDominic Spillexecute_process(COMMAND git log --pretty=format:%h -n 1 48*7469b4d1SDominic Spill OUTPUT_VARIABLE GIT_VERSION) 49*7469b4d1SDominic Spill 50*7469b4d1SDominic SpillMESSAGE(STATUS "Git version set to ${GIT_VERSION}") 51*7469b4d1SDominic Spill 52*7469b4d1SDominic Spillexecute_process(COMMAND git status -s --untracked-files=no | grep modified 53*7469b4d1SDominic Spill RESULT_VARIABLE DIRTY) 54*7469b4d1SDominic Spill 55*7469b4d1SDominic Spillif( ${DIRTY} EQUAL "0" ) 56*7469b4d1SDominic Spill MESSAGE(STATUS "Modifications found since last commit") 57*7469b4d1SDominic Spill set(DIRTY_FLAG "*") 58*7469b4d1SDominic Spillendif( ${DIRTY} EQUAL "0" ) 59*7469b4d1SDominic Spill 60*7469b4d1SDominic Spillset( VERSION ${MAJOR_VERSION}.${MINOR_VERSION} ) 61*7469b4d1SDominic Spillset( RELEASE git-${GIT_VERSION}${DIRTY_FLAG} ) 62*7469b4d1SDominic Spill 63*7469b4d1SDominic Spilladd_definitions( -DVERSION="${VERSION}" ) 64*7469b4d1SDominic Spilladd_definitions( -DRELEASE="${RELEASE}" ) 65*7469b4d1SDominic Spill 66*7469b4d1SDominic Spill# Comment the following out for releases. 67*7469b4d1SDominic Spillset(CMAKE_C_FLAGS "$ENV{CFLAGS}") 68*7469b4d1SDominic Spill 69e25b118aSDominic Spilladd_subdirectory(lib) 70aff807a7SDominic Spillif(NOT DISABLE_PYTHON) 71e25b118aSDominic Spill add_subdirectory(python) 72aff807a7SDominic Spillendif() 73e25b118aSDominic Spill 74e25b118aSDominic Spill# Create uninstall target 75e25b118aSDominic Spillconfigure_file( 76e25b118aSDominic Spill ${PROJECT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in 77e25b118aSDominic Spill ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake 78e25b118aSDominic Spill@ONLY) 79e25b118aSDominic Spill 80e25b118aSDominic Spilladd_custom_target(uninstall 81e25b118aSDominic Spill ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake 82e25b118aSDominic Spill) 83