start applying changes from modtool
This commit is contained in:
+52
-52
@@ -1,6 +1,6 @@
|
|||||||
# Copyright 2011,2012 Free Software Foundation, Inc.
|
# Copyright 2011,2012 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of GNU Radio
|
# This file is part of gr-foo
|
||||||
#
|
#
|
||||||
# GNU Radio is free software; you can redistribute it and/or modify
|
# GNU Radio is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -17,14 +17,19 @@
|
|||||||
# the Free Software Foundation, Inc., 51 Franklin Street,
|
# the Free Software Foundation, Inc., 51 Franklin Street,
|
||||||
# Boston, MA 02110-1301, USA.
|
# Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Project setup
|
# Project setup
|
||||||
########################################################################
|
########################################################################
|
||||||
cmake_minimum_required(VERSION 2.6)
|
cmake_minimum_required(VERSION 3.8)
|
||||||
project(gr-foo CXX C)
|
project(gr-foo CXX C)
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
||||||
|
#install to PyBOMBS target prefix if defined
|
||||||
|
if(DEFINED ENV{PYBOMBS_PREFIX})
|
||||||
|
set(CMAKE_INSTALL_PREFIX $ENV{PYBOMBS_PREFIX})
|
||||||
|
message(STATUS "PyBOMBS installed GNU Radio. Setting CMAKE_INSTALL_PREFIX to $ENV{PYBOMBS_PREFIX}")
|
||||||
|
endif()
|
||||||
|
|
||||||
#select the release build type by default to get optimization flags
|
#select the release build type by default to get optimization flags
|
||||||
if(NOT CMAKE_BUILD_TYPE)
|
if(NOT CMAKE_BUILD_TYPE)
|
||||||
set(CMAKE_BUILD_TYPE "Release")
|
set(CMAKE_BUILD_TYPE "Release")
|
||||||
@@ -32,15 +37,25 @@ if(NOT CMAKE_BUILD_TYPE)
|
|||||||
endif(NOT CMAKE_BUILD_TYPE)
|
endif(NOT CMAKE_BUILD_TYPE)
|
||||||
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
|
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
|
||||||
|
|
||||||
|
#make sure our local CMake Modules path comes first
|
||||||
list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)
|
list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)
|
||||||
|
|
||||||
|
# Set the version information here
|
||||||
|
set(VERSION_INFO_MAJOR_VERSION 3)
|
||||||
|
set(VERSION_INFO_API_COMPAT 8)
|
||||||
|
set(VERSION_INFO_MINOR_VERSION git)
|
||||||
|
set(VERSION_INFO_MAINT_VERSION 0)
|
||||||
|
|
||||||
|
cmake_policy(SET CMP0011 NEW)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Compiler specific setup
|
# Compiler specific setup
|
||||||
########################################################################
|
########################################################################
|
||||||
if(NOT WIN32)
|
if((CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR
|
||||||
|
CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
|
AND NOT WIN32)
|
||||||
#http://gcc.gnu.org/wiki/Visibility
|
#http://gcc.gnu.org/wiki/Visibility
|
||||||
add_definitions(-fvisibility=hidden)
|
add_definitions(-fvisibility=hidden)
|
||||||
add_definitions(-std=c++0x)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(UHD)
|
find_package(UHD)
|
||||||
@@ -54,44 +69,23 @@ else()
|
|||||||
add_definitions(-DFOO_UHD)
|
add_definitions(-DFOO_UHD)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
########################################################################
|
|
||||||
# Find boost
|
|
||||||
########################################################################
|
|
||||||
if(UNIX AND EXISTS "/usr/lib64")
|
|
||||||
list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
|
|
||||||
endif(UNIX AND EXISTS "/usr/lib64")
|
|
||||||
set(Boost_ADDITIONAL_VERSIONS
|
|
||||||
"1.35.0" "1.35" "1.36.0" "1.36" "1.37.0" "1.37" "1.38.0" "1.38" "1.39.0" "1.39"
|
|
||||||
"1.40.0" "1.40" "1.41.0" "1.41" "1.42.0" "1.42" "1.43.0" "1.43" "1.44.0" "1.44"
|
|
||||||
"1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49"
|
|
||||||
"1.50.0" "1.50" "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54"
|
|
||||||
"1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59"
|
|
||||||
"1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64"
|
|
||||||
"1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69"
|
|
||||||
)
|
|
||||||
find_package(Boost "1.35" COMPONENTS filesystem system thread)
|
|
||||||
|
|
||||||
if(NOT Boost_FOUND)
|
|
||||||
message(FATAL_ERROR "Boost required to compile foo")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
########################################################################
|
|
||||||
# Find gnuradio build dependencies
|
|
||||||
########################################################################
|
|
||||||
set(GR_REQUIRED_COMPONENTS RUNTIME PMT BLOCKS FILTER ANALOG)
|
|
||||||
|
|
||||||
find_package(Gnuradio)
|
|
||||||
if(NOT GNURADIO_RUNTIME_FOUND)
|
|
||||||
message(FATAL_ERROR "GnuRadio Runtime required to compile foo")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Install directories
|
# Install directories
|
||||||
########################################################################
|
########################################################################
|
||||||
|
set(GR_REQUIRED_COMPONENTS RUNTIME PMT BLOCKS FILTER ANALOG)
|
||||||
|
find_package(Gnuradio "3.8" REQUIRED)
|
||||||
|
include(GrVersion)
|
||||||
|
|
||||||
include(GrPlatform) #define LIB_SUFFIX
|
include(GrPlatform) #define LIB_SUFFIX
|
||||||
|
|
||||||
|
if(NOT CMAKE_MODULES_DIR)
|
||||||
|
set(CMAKE_MODULES_DIR lib${LIB_SUFFIX}/cmake)
|
||||||
|
endif(NOT CMAKE_MODULES_DIR)
|
||||||
|
|
||||||
set(GR_RUNTIME_DIR bin)
|
set(GR_RUNTIME_DIR bin)
|
||||||
set(GR_LIBRARY_DIR lib${LIB_SUFFIX})
|
set(GR_LIBRARY_DIR lib${LIB_SUFFIX})
|
||||||
set(GR_INCLUDE_DIR include/foo)
|
set(GR_INCLUDE_DIR include/foo)
|
||||||
|
SET(GR_CMAKE_DIR ${CMAKE_MODULES_DIR}/foo)
|
||||||
set(GR_DATA_DIR share)
|
set(GR_DATA_DIR share)
|
||||||
set(GR_PKG_DATA_DIR ${GR_DATA_DIR}/${CMAKE_PROJECT_NAME})
|
set(GR_PKG_DATA_DIR ${GR_DATA_DIR}/${CMAKE_PROJECT_NAME})
|
||||||
set(GR_DOC_DIR ${GR_DATA_DIR}/doc)
|
set(GR_DOC_DIR ${GR_DATA_DIR}/doc)
|
||||||
@@ -101,7 +95,6 @@ set(GR_PKG_CONF_DIR ${GR_CONF_DIR}/${CMAKE_PROJECT_NAME}/conf.d)
|
|||||||
set(GR_LIBEXEC_DIR libexec)
|
set(GR_LIBEXEC_DIR libexec)
|
||||||
set(GR_PKG_LIBEXEC_DIR ${GR_LIBEXEC_DIR}/${CMAKE_PROJECT_NAME})
|
set(GR_PKG_LIBEXEC_DIR ${GR_LIBEXEC_DIR}/${CMAKE_PROJECT_NAME})
|
||||||
set(GRC_BLOCKS_DIR ${GR_PKG_DATA_DIR}/grc/blocks)
|
set(GRC_BLOCKS_DIR ${GR_PKG_DATA_DIR}/grc/blocks)
|
||||||
set(GR_PYTHON3_MIN_VERSION "3.4")
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# On Apple only, set install name and use rpath correctly, if not already set
|
# On Apple only, set install name and use rpath correctly, if not already set
|
||||||
@@ -113,7 +106,7 @@ if(APPLE)
|
|||||||
PATH "Library Install Name Destination Directory" FORCE)
|
PATH "Library Install Name Destination Directory" FORCE)
|
||||||
endif(NOT CMAKE_INSTALL_NAME_DIR)
|
endif(NOT CMAKE_INSTALL_NAME_DIR)
|
||||||
if(NOT CMAKE_INSTALL_RPATH)
|
if(NOT CMAKE_INSTALL_RPATH)
|
||||||
set(cmakE_INSTALL_RPATH
|
set(CMAKE_INSTALL_RPATH
|
||||||
${CMAKE_INSTALL_PREFIX}/${GR_LIBRARY_DIR} CACHE
|
${CMAKE_INSTALL_PREFIX}/${GR_LIBRARY_DIR} CACHE
|
||||||
PATH "Library Install RPath" FORCE)
|
PATH "Library Install RPath" FORCE)
|
||||||
endif(NOT CMAKE_INSTALL_RPATH)
|
endif(NOT CMAKE_INSTALL_RPATH)
|
||||||
@@ -124,22 +117,18 @@ if(APPLE)
|
|||||||
endif(APPLE)
|
endif(APPLE)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Setup the include and linker paths
|
# Find gnuradio build dependencies
|
||||||
########################################################################
|
########################################################################
|
||||||
include_directories(
|
find_package(Doxygen)
|
||||||
${CMAKE_SOURCE_DIR}/include
|
|
||||||
${Boost_INCLUDE_DIRS}
|
|
||||||
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
link_directories(
|
########################################################################
|
||||||
${Boost_LIBRARY_DIRS}
|
# Setup doxygen option
|
||||||
${GNURADIO_RUNTIME_LIBRARY_DIRS}
|
########################################################################
|
||||||
)
|
if(DOXYGEN_FOUND)
|
||||||
|
option(ENABLE_DOXYGEN "Build docs using Doxygen" ON)
|
||||||
# Set component parameters
|
else(DOXYGEN_FOUND)
|
||||||
set(GR_CCS_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE INTERNAL "" FORCE)
|
option(ENABLE_DOXYGEN "Build docs using Doxygen" OFF)
|
||||||
set(GR_CCS_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/swig CACHE INTERNAL "" FORCE)
|
endif(DOXYGEN_FOUND)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Create uninstall target
|
# Create uninstall target
|
||||||
@@ -153,6 +142,7 @@ add_custom_target(uninstall
|
|||||||
${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
|
${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Add subdirectories
|
# Add subdirectories
|
||||||
########################################################################
|
########################################################################
|
||||||
@@ -160,4 +150,14 @@ add_subdirectory(include/foo)
|
|||||||
add_subdirectory(lib)
|
add_subdirectory(lib)
|
||||||
add_subdirectory(swig)
|
add_subdirectory(swig)
|
||||||
add_subdirectory(python)
|
add_subdirectory(python)
|
||||||
|
if(ENABLE_GRC)
|
||||||
add_subdirectory(grc)
|
add_subdirectory(grc)
|
||||||
|
endif(ENABLE_GRC)
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Install cmake search helper for this library
|
||||||
|
########################################################################
|
||||||
|
|
||||||
|
install(FILES cmake/Modules/fooConfig.cmake
|
||||||
|
DESTINATION ${CMAKE_MODULES_DIR}/foo
|
||||||
|
)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Copyright 2011,2012 Free Software Foundation, Inc.
|
# Copyright 2011,2012 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of GNU Radio
|
# This file is part of gr-foo
|
||||||
#
|
#
|
||||||
# GNU Radio is free software; you can redistribute it and/or modify
|
# GNU Radio is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2011 Free Software Foundation, Inc.
|
* Copyright 2011 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* This file is part of GNU Radio
|
* This file is part of gr-foo
|
||||||
*
|
*
|
||||||
* GNU Radio is free software; you can redistribute it and/or modify
|
* GNU Radio is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Copyright 2011 Free Software Foundation, Inc.
|
# Copyright 2011 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of GNU Radio
|
# This file is part of gr-foo
|
||||||
#
|
#
|
||||||
# GNU Radio is free software; you can redistribute it and/or modify
|
# GNU Radio is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -16,8 +16,21 @@
|
|||||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# The presence of this file turns this directory into a Python package
|
||||||
|
|
||||||
|
'''
|
||||||
|
This is the GNU Radio FOO module. Place your Python package
|
||||||
|
description here (python/__init__.py).
|
||||||
|
'''
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
# import swig generated symbols into the foo namespace
|
# import swig generated symbols into the foo namespace
|
||||||
|
try:
|
||||||
|
# this might fail if the module is python-only
|
||||||
from .foo_swig import *
|
from .foo_swig import *
|
||||||
|
except ImportError:
|
||||||
|
pass
|
||||||
|
|
||||||
from .selector import *
|
from .selector import *
|
||||||
|
|
||||||
# import any pure python here
|
# import any pure python here
|
||||||
|
|||||||
+16
-4
@@ -1,6 +1,6 @@
|
|||||||
# Copyright 2011 Free Software Foundation, Inc.
|
# Copyright 2011 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of GNU Radio
|
# This file is part of gr-foo
|
||||||
#
|
#
|
||||||
# GNU Radio is free software; you can redistribute it and/or modify
|
# GNU Radio is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -17,21 +17,33 @@
|
|||||||
# the Free Software Foundation, Inc., 51 Franklin Street,
|
# the Free Software Foundation, Inc., 51 Franklin Street,
|
||||||
# Boston, MA 02110-1301, USA.
|
# Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Check if there is C++ code at all
|
||||||
|
########################################################################
|
||||||
|
if(NOT foo_sources)
|
||||||
|
MESSAGE(STATUS "No C++ sources... skipping swig/")
|
||||||
|
return()
|
||||||
|
endif(NOT foo_sources)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Include swig generation macros
|
# Include swig generation macros
|
||||||
########################################################################
|
########################################################################
|
||||||
find_package(SWIG)
|
find_package(SWIG)
|
||||||
|
find_package(PythonLibs)
|
||||||
|
if(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
include(GrSwig)
|
include(GrSwig)
|
||||||
include(GrPython)
|
include(GrPython)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Setup swig generation
|
# Setup swig generation
|
||||||
########################################################################
|
########################################################################
|
||||||
foreach(incdir ${GNURADIO_RUNTIME_INCLUDE_DIRS})
|
set(GR_SWIG_INCLUDE_DIRS $<TARGET_PROPERTY:gnuradio::runtime_swig,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||||
list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/gnuradio/swig)
|
set(GR_SWIG_TARGET_DEPS gnuradio::runtime_swig)
|
||||||
endforeach(incdir)
|
|
||||||
|
|
||||||
set(GR_SWIG_LIBRARIES gnuradio-foo)
|
set(GR_SWIG_LIBRARIES gnuradio-foo)
|
||||||
|
|
||||||
set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/foo_swig_doc.i)
|
set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/foo_swig_doc.i)
|
||||||
set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include)
|
set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include)
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -1,6 +1,8 @@
|
|||||||
|
/* -*- c++ -*- */
|
||||||
|
|
||||||
#define FOO_API
|
#define FOO_API
|
||||||
|
|
||||||
%include "gnuradio.i"
|
%include "gnuradio.i" // the common stuff
|
||||||
|
|
||||||
//load generated python docstrings
|
//load generated python docstrings
|
||||||
%include "foo_swig_doc.i"
|
%include "foo_swig_doc.i"
|
||||||
|
|||||||
Reference in New Issue
Block a user