diff --git a/CMakeLists.txt b/CMakeLists.txt index bded30e..bd68d60 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright 2011,2012 Free Software Foundation, Inc. +# Copyright 2011,2012,2014,2016,2018 Free Software Foundation, Inc. # # This file is part of gr-foo # @@ -24,20 +24,20 @@ cmake_minimum_required(VERSION 3.8) project(gr-foo CXX C) enable_testing() -#install to PyBOMBS target prefix if defined +# 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) set(CMAKE_BUILD_TYPE "Release") message(STATUS "Build type not specified: defaulting to release.") endif(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "") -#make sure our local CMake Modules path comes first +# Make sure our local CMake Modules path comes first list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules) # Set the version information here @@ -48,6 +48,9 @@ set(VERSION_INFO_MAINT_VERSION 0) cmake_policy(SET CMP0011 NEW) +# Enable generation of compile_commands.json for code completion engines +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + ######################################################################## # Compiler specific setup ######################################################################## @@ -58,6 +61,26 @@ if((CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR add_definitions(-fvisibility=hidden) endif() +IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + SET(CMAKE_CXX_STANDARD 11) +ELSEIF(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + SET(CMAKE_CXX_STANDARD 11) +ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + SET(CMAKE_CXX_STANDARD 11) +ELSE() + message(WARNING "C++ standard could not be set because compiler is not GNU, Clang or MSVC.") +ENDIF() + +IF(CMAKE_C_COMPILER_ID STREQUAL "GNU") + SET(CMAKE_C_STANDARD 11) +ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Clang") + SET(CMAKE_C_STANDARD 11) +ELSEIF(CMAKE_C_COMPILER_ID STREQUAL "MSVC") + SET(CMAKE_C_STANDARD 11) +ELSE() + message(WARNING "C standard could not be set because compiler is not GNU, Clang or MSVC.") +ENDIF() + find_package(UHD) if(NOT UHD_FOUND) message(STATUS "UHD library not found, no support for timed TX.") @@ -128,19 +151,12 @@ add_subdirectory(include/foo) add_subdirectory(lib) add_subdirectory(swig) add_subdirectory(python) -if(ENABLE_GRC) - add_subdirectory(grc) -endif() +add_subdirectory(grc) ######################################################################## # Install cmake search helper for this library ######################################################################## -configure_file( - ${CMAKE_SOURCE_DIR}/cmake/Modules/fooConfig.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/fooConfig.cmake -@ONLY) - -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/fooConfig.cmake +install(FILES cmake/Modules/fooConfig.cmake DESTINATION ${CMAKE_MODULES_DIR}/foo ) diff --git a/cmake/Modules/fooConfig.cmake.in b/cmake/Modules/fooConfig.cmake similarity index 57% rename from cmake/Modules/fooConfig.cmake.in rename to cmake/Modules/fooConfig.cmake index 1d348b7..4821286 100644 --- a/cmake/Modules/fooConfig.cmake.in +++ b/cmake/Modules/fooConfig.cmake @@ -6,11 +6,9 @@ FIND_PATH( NAMES foo/api.h HINTS $ENV{FOO_DIR}/include ${PC_FOO_INCLUDEDIR} - PATHS - @CMAKE_INSTALL_PREFIX@/include - ${CMAKE_INSTALL_PREFIX}/include - /usr/local/include - /usr/include + PATHS ${CMAKE_INSTALL_PREFIX}/include + /usr/local/include + /usr/include ) FIND_LIBRARY( @@ -18,16 +16,13 @@ FIND_LIBRARY( NAMES gnuradio-foo HINTS $ENV{FOO_DIR}/lib ${PC_FOO_LIBDIR} - PATHS - @CMAKE_INSTALL_PREFIX@/lib - @CMAKE_INSTALL_PREFIX@/lib64 - ${CMAKE_INSTALL_PREFIX}/lib - ${CMAKE_INSTALL_PREFIX}/lib64 - /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 -) + PATHS ${CMAKE_INSTALL_PREFIX}/lib + ${CMAKE_INSTALL_PREFIX}/lib64 + /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 + ) include("${CMAKE_CURRENT_LIST_DIR}/fooTarget.cmake") diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 112e4a2..400517d 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -23,11 +23,9 @@ include(GrPlatform) #define LIB_SUFFIX include_directories( - ${Boost_INCLUDE_DIR} ${UHD_INCLUDE_DIRS} ) link_directories( - ${Boost_LIBRARY_DIRS} ${UHD_LIBRARY_DIRS} ) diff --git a/python/__init__.py b/python/__init__.py index d676697..e4346f2 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -31,7 +31,6 @@ try: except ImportError: pass -from .selector import * - # import any pure python here +from .selector import * # diff --git a/swig/CMakeLists.txt b/swig/CMakeLists.txt index 353d00f..1156e2b 100644 --- a/swig/CMakeLists.txt +++ b/swig/CMakeLists.txt @@ -21,8 +21,8 @@ # Check if there is C++ code at all ######################################################################## if(NOT foo_sources) - MESSAGE(STATUS "No C++ sources... skipping swig/") - return() + MESSAGE(STATUS "No C++ sources... skipping swig/") + return() endif(NOT foo_sources) ########################################################################