xref: /libbtbb/CMakeLists.txt (revision a04ed95dacac07e55d79b95a5c0868dc7892c666)
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)
25e25b118aSDominic Spillset(MINOR_VERSION 2)
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
31*a04ed95dSDominic Spill# Instruct user to remove previous versions, unless using a package manager
32*a04ed95dSDominic Spillif(NOT PACKAGE_MANAGER)
33*a04ed95dSDominic Spill  # Unset variables to force the recheck next time
34*a04ed95dSDominic Spill  # (there has to be a better way to do it than this)
35*a04ed95dSDominic Spill  UNSET(LIBBTBB_FOUND CACHE)
36*a04ed95dSDominic Spill  UNSET(LIBBTBB_INCLUDE_DIR CACHE)
37*a04ed95dSDominic Spill  UNSET(LIBBTBB_LIBRARIES CACHE)
38*a04ed95dSDominic Spill
39*a04ed95dSDominic Spill  find_package(BTBB)
40*a04ed95dSDominic Spill  if(LIBBTBB_FOUND)
41*a04ed95dSDominic Spill    message( FATAL_ERROR
42*a04ed95dSDominic 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")
43*a04ed95dSDominic Spill  endif()
44*a04ed95dSDominic Spillendif()
45*a04ed95dSDominic Spill
46e25b118aSDominic Spilladd_subdirectory(lib)
47aff807a7SDominic Spillif(NOT DISABLE_PYTHON)
48e25b118aSDominic Spill	add_subdirectory(python)
49aff807a7SDominic Spillendif()
50e25b118aSDominic Spill
51e25b118aSDominic Spill# Comment the following out for releases.
52e25b118aSDominic Spillset(CMAKE_C_FLAGS "$ENV{CFLAGS}")
53e25b118aSDominic Spill
54e25b118aSDominic Spill# Create uninstall target
55e25b118aSDominic Spillconfigure_file(
56e25b118aSDominic Spill    ${PROJECT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in
57e25b118aSDominic Spill    ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
58e25b118aSDominic Spill@ONLY)
59e25b118aSDominic Spill
60e25b118aSDominic Spilladd_custom_target(uninstall
61e25b118aSDominic Spill    ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
62e25b118aSDominic Spill)
63