update cmake modules
This commit is contained in:
@@ -58,7 +58,7 @@
|
|||||||
# the new option.
|
# the new option.
|
||||||
# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in
|
# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in
|
||||||
# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would
|
# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would
|
||||||
# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
|
# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefore.
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2010 Alexander Neundorf <neundorf@kde.org>
|
# Copyright 2010 Alexander Neundorf <neundorf@kde.org>
|
||||||
|
|||||||
@@ -31,6 +31,6 @@ if(PC_GNURADIO_RUNTIME_FOUND)
|
|||||||
endif(PC_GNURADIO_RUNTIME_FOUND)
|
endif(PC_GNURADIO_RUNTIME_FOUND)
|
||||||
|
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
# do not check GNURADIO_RUNTIME_INCLUDE_DIRS, is not set when default include path us used.
|
# do not check GNURADIO_RUNTIME_INCLUDE_DIRS, is not set when default include path is used.
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_RUNTIME DEFAULT_MSG GNURADIO_RUNTIME_LIBRARIES)
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_RUNTIME DEFAULT_MSG GNURADIO_RUNTIME_LIBRARIES)
|
||||||
MARK_AS_ADVANCED(GNURADIO_RUNTIME_LIBRARIES GNURADIO_RUNTIME_INCLUDE_DIRS)
|
MARK_AS_ADVANCED(GNURADIO_RUNTIME_LIBRARIES GNURADIO_RUNTIME_INCLUDE_DIRS)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# Copyright 2010-2011,2014 Free Software Foundation, Inc.
|
# Copyright 2010-2011,2014 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of GNU Radio
|
# This file was generated by gr_modtool, a tool from the GNU Radio framework
|
||||||
|
# This file is a part of gr-ieee802_11
|
||||||
#
|
#
|
||||||
# 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
|
||||||
@@ -135,18 +136,14 @@ endfunction(GR_LIBTOOL)
|
|||||||
# Also handle gnuradio custom naming conventions w/ extras mode.
|
# Also handle gnuradio custom naming conventions w/ extras mode.
|
||||||
########################################################################
|
########################################################################
|
||||||
function(GR_LIBRARY_FOO target)
|
function(GR_LIBRARY_FOO target)
|
||||||
#parse the arguments for component names
|
|
||||||
include(CMakeParseArgumentsCopy)
|
|
||||||
CMAKE_PARSE_ARGUMENTS(GR_LIBRARY "" "RUNTIME_COMPONENT;DEVEL_COMPONENT" "" ${ARGN})
|
|
||||||
|
|
||||||
#set additional target properties
|
#set additional target properties
|
||||||
set_target_properties(${target} PROPERTIES SOVERSION ${LIBVER})
|
set_target_properties(${target} PROPERTIES SOVERSION ${LIBVER})
|
||||||
|
|
||||||
#install the generated files like so...
|
#install the generated files like so...
|
||||||
install(TARGETS ${target}
|
install(TARGETS ${target}
|
||||||
LIBRARY DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .so/.dylib file
|
LIBRARY DESTINATION ${GR_LIBRARY_DIR} # .so/.dylib file
|
||||||
ARCHIVE DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_DEVEL_COMPONENT} # .lib file
|
ARCHIVE DESTINATION ${GR_LIBRARY_DIR} # .lib file
|
||||||
RUNTIME DESTINATION ${GR_RUNTIME_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .dll file
|
RUNTIME DESTINATION ${GR_RUNTIME_DIR} # .dll file
|
||||||
)
|
)
|
||||||
|
|
||||||
#extras mode enabled automatically on linux
|
#extras mode enabled automatically on linux
|
||||||
@@ -178,7 +175,7 @@ function(GR_LIBRARY_FOO target)
|
|||||||
FILES
|
FILES
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so
|
${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0
|
${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0
|
||||||
DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT}
|
DESTINATION ${GR_LIBRARY_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
endif(LIBRARY_EXTRAS)
|
endif(LIBRARY_EXTRAS)
|
||||||
@@ -190,7 +187,7 @@ endfunction(GR_LIBRARY_FOO)
|
|||||||
# GR_GEN_TARGET_DEPS(unique_name target_deps <target1> <target2> ...)
|
# GR_GEN_TARGET_DEPS(unique_name target_deps <target1> <target2> ...)
|
||||||
# ADD_CUSTOM_COMMAND(<the usual args> ${target_deps})
|
# ADD_CUSTOM_COMMAND(<the usual args> ${target_deps})
|
||||||
#
|
#
|
||||||
# Custom command cant depend on targets, but can depend on executables,
|
# Custom command can't depend on targets, but can depend on executables,
|
||||||
# and executables can depend on targets. So this is the process:
|
# and executables can depend on targets. So this is the process:
|
||||||
########################################################################
|
########################################################################
|
||||||
function(GR_GEN_TARGET_DEPS name var)
|
function(GR_GEN_TARGET_DEPS name var)
|
||||||
@@ -209,55 +206,12 @@ function(GR_GEN_TARGET_DEPS name var)
|
|||||||
endif(ARGN)
|
endif(ARGN)
|
||||||
|
|
||||||
if(CMAKE_CROSSCOMPILING)
|
if(CMAKE_CROSSCOMPILING)
|
||||||
set(${var} "DEPENDS;${name}" PARENT_SCOPE) #cant call command when cross
|
set(${var} "DEPENDS;${name}" PARENT_SCOPE) #can't call command when cross
|
||||||
else()
|
else()
|
||||||
set(${var} "DEPENDS;${name};COMMAND;${name}" PARENT_SCOPE)
|
set(${var} "DEPENDS;${name};COMMAND;${name}" PARENT_SCOPE)
|
||||||
endif()
|
endif()
|
||||||
endfunction(GR_GEN_TARGET_DEPS)
|
endfunction(GR_GEN_TARGET_DEPS)
|
||||||
|
|
||||||
########################################################################
|
|
||||||
# Control use of gr_logger
|
|
||||||
# Usage:
|
|
||||||
# GR_LOGGING()
|
|
||||||
#
|
|
||||||
# Will set ENABLE_GR_LOG to 1 by default.
|
|
||||||
# Can manually set with -DENABLE_GR_LOG=0|1
|
|
||||||
########################################################################
|
|
||||||
function(GR_LOGGING)
|
|
||||||
find_package(Log4cpp)
|
|
||||||
|
|
||||||
OPTION(ENABLE_GR_LOG "Use gr_logger" ON)
|
|
||||||
if(ENABLE_GR_LOG)
|
|
||||||
# If gr_logger is enabled, make it usable
|
|
||||||
add_definitions( -DENABLE_GR_LOG )
|
|
||||||
|
|
||||||
# also test LOG4CPP; if we have it, use this version of the logger
|
|
||||||
# otherwise, default to the stdout/stderr model.
|
|
||||||
if(LOG4CPP_FOUND)
|
|
||||||
SET(HAVE_LOG4CPP True CACHE INTERNAL "" FORCE)
|
|
||||||
add_definitions( -DHAVE_LOG4CPP )
|
|
||||||
else(not LOG4CPP_FOUND)
|
|
||||||
SET(HAVE_LOG4CPP False CACHE INTERNAL "" FORCE)
|
|
||||||
SET(LOG4CPP_INCLUDE_DIRS "" CACHE INTERNAL "" FORCE)
|
|
||||||
SET(LOG4CPP_LIBRARY_DIRS "" CACHE INTERNAL "" FORCE)
|
|
||||||
SET(LOG4CPP_LIBRARIES "" CACHE INTERNAL "" FORCE)
|
|
||||||
endif(LOG4CPP_FOUND)
|
|
||||||
|
|
||||||
SET(ENABLE_GR_LOG ${ENABLE_GR_LOG} CACHE INTERNAL "" FORCE)
|
|
||||||
|
|
||||||
else(ENABLE_GR_LOG)
|
|
||||||
SET(HAVE_LOG4CPP False CACHE INTERNAL "" FORCE)
|
|
||||||
SET(LOG4CPP_INCLUDE_DIRS "" CACHE INTERNAL "" FORCE)
|
|
||||||
SET(LOG4CPP_LIBRARY_DIRS "" CACHE INTERNAL "" FORCE)
|
|
||||||
SET(LOG4CPP_LIBRARIES "" CACHE INTERNAL "" FORCE)
|
|
||||||
endif(ENABLE_GR_LOG)
|
|
||||||
|
|
||||||
message(STATUS "ENABLE_GR_LOG set to ${ENABLE_GR_LOG}.")
|
|
||||||
message(STATUS "HAVE_LOG4CPP set to ${HAVE_LOG4CPP}.")
|
|
||||||
message(STATUS "LOG4CPP_LIBRARIES set to ${LOG4CPP_LIBRARIES}.")
|
|
||||||
|
|
||||||
endfunction(GR_LOGGING)
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Run GRCC to compile .grc files into .py files.
|
# Run GRCC to compile .grc files into .py files.
|
||||||
#
|
#
|
||||||
@@ -350,176 +304,3 @@ set(CMAKE_REQUIRED_LIBRARIES -lpthread)
|
|||||||
)
|
)
|
||||||
GR_ADD_COND_DEF(HAVE_SCHED_SETSCHEDULER)
|
GR_ADD_COND_DEF(HAVE_SCHED_SETSCHEDULER)
|
||||||
endmacro(GR_CHECK_LINUX_SCHED_AVAIL)
|
endmacro(GR_CHECK_LINUX_SCHED_AVAIL)
|
||||||
|
|
||||||
########################################################################
|
|
||||||
# Macros to generate source and header files from template
|
|
||||||
########################################################################
|
|
||||||
macro(GR_EXPAND_X_H component root)
|
|
||||||
|
|
||||||
include(GrPython)
|
|
||||||
|
|
||||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
|
|
||||||
"#!${PYTHON_EXECUTABLE}
|
|
||||||
|
|
||||||
import sys, os, re
|
|
||||||
sys.path.append('${GR_RUNTIME_PYTHONPATH}')
|
|
||||||
os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}'
|
|
||||||
os.chdir('${CMAKE_CURRENT_BINARY_DIR}')
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
import build_utils
|
|
||||||
root, inp = sys.argv[1:3]
|
|
||||||
for sig in sys.argv[3:]:
|
|
||||||
name = re.sub ('X+', sig, root)
|
|
||||||
d = build_utils.standard_dict2(name, sig, '${component}')
|
|
||||||
build_utils.expand_template(d, inp)
|
|
||||||
")
|
|
||||||
|
|
||||||
#make a list of all the generated headers
|
|
||||||
unset(expanded_files_h)
|
|
||||||
foreach(sig ${ARGN})
|
|
||||||
string(REGEX REPLACE "X+" ${sig} name ${root})
|
|
||||||
list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/${name}.h)
|
|
||||||
endforeach(sig)
|
|
||||||
unset(name)
|
|
||||||
|
|
||||||
#create a command to generate the headers
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${expanded_files_h}
|
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.h.t
|
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
|
|
||||||
${root} ${root}.h.t ${ARGN}
|
|
||||||
)
|
|
||||||
|
|
||||||
#install rules for the generated headers
|
|
||||||
list(APPEND generated_includes ${expanded_files_h})
|
|
||||||
|
|
||||||
endmacro(GR_EXPAND_X_H)
|
|
||||||
|
|
||||||
macro(GR_EXPAND_X_CC_H component root)
|
|
||||||
|
|
||||||
include(GrPython)
|
|
||||||
|
|
||||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
|
|
||||||
"#!${PYTHON_EXECUTABLE}
|
|
||||||
|
|
||||||
import sys, os, re
|
|
||||||
sys.path.append('${GR_RUNTIME_PYTHONPATH}')
|
|
||||||
os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}'
|
|
||||||
os.chdir('${CMAKE_CURRENT_BINARY_DIR}')
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
import build_utils
|
|
||||||
root, inp = sys.argv[1:3]
|
|
||||||
for sig in sys.argv[3:]:
|
|
||||||
name = re.sub ('X+', sig, root)
|
|
||||||
d = build_utils.standard_impl_dict2(name, sig, '${component}')
|
|
||||||
build_utils.expand_template(d, inp)
|
|
||||||
")
|
|
||||||
|
|
||||||
#make a list of all the generated files
|
|
||||||
unset(expanded_files_cc)
|
|
||||||
unset(expanded_files_h)
|
|
||||||
foreach(sig ${ARGN})
|
|
||||||
string(REGEX REPLACE "X+" ${sig} name ${root})
|
|
||||||
list(APPEND expanded_files_cc ${CMAKE_CURRENT_BINARY_DIR}/${name}.cc)
|
|
||||||
list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/${name}.h)
|
|
||||||
endforeach(sig)
|
|
||||||
unset(name)
|
|
||||||
|
|
||||||
#create a command to generate the source files
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${expanded_files_cc}
|
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.cc.t
|
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
|
|
||||||
${root} ${root}.cc.t ${ARGN}
|
|
||||||
)
|
|
||||||
|
|
||||||
#create a command to generate the header files
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${expanded_files_h}
|
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.h.t
|
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
|
|
||||||
${root} ${root}.h.t ${ARGN}
|
|
||||||
)
|
|
||||||
|
|
||||||
#make source files depends on headers to force generation
|
|
||||||
set_source_files_properties(${expanded_files_cc}
|
|
||||||
PROPERTIES OBJECT_DEPENDS "${expanded_files_h}"
|
|
||||||
)
|
|
||||||
|
|
||||||
#install rules for the generated files
|
|
||||||
list(APPEND generated_sources ${expanded_files_cc})
|
|
||||||
list(APPEND generated_headers ${expanded_files_h})
|
|
||||||
|
|
||||||
endmacro(GR_EXPAND_X_CC_H)
|
|
||||||
|
|
||||||
macro(GR_EXPAND_X_CC_H_IMPL component root)
|
|
||||||
|
|
||||||
include(GrPython)
|
|
||||||
|
|
||||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
|
|
||||||
"#!${PYTHON_EXECUTABLE}
|
|
||||||
|
|
||||||
import sys, os, re
|
|
||||||
sys.path.append('${GR_RUNTIME_PYTHONPATH}')
|
|
||||||
os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}'
|
|
||||||
os.chdir('${CMAKE_CURRENT_BINARY_DIR}')
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
import build_utils
|
|
||||||
root, inp = sys.argv[1:3]
|
|
||||||
for sig in sys.argv[3:]:
|
|
||||||
name = re.sub ('X+', sig, root)
|
|
||||||
d = build_utils.standard_dict(name, sig, '${component}')
|
|
||||||
build_utils.expand_template(d, inp, '_impl')
|
|
||||||
")
|
|
||||||
|
|
||||||
#make a list of all the generated files
|
|
||||||
unset(expanded_files_cc_impl)
|
|
||||||
unset(expanded_files_h_impl)
|
|
||||||
unset(expanded_files_h)
|
|
||||||
foreach(sig ${ARGN})
|
|
||||||
string(REGEX REPLACE "X+" ${sig} name ${root})
|
|
||||||
list(APPEND expanded_files_cc_impl ${CMAKE_CURRENT_BINARY_DIR}/${name}_impl.cc)
|
|
||||||
list(APPEND expanded_files_h_impl ${CMAKE_CURRENT_BINARY_DIR}/${name}_impl.h)
|
|
||||||
list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/../include/gnuradio/${component}/${name}.h)
|
|
||||||
endforeach(sig)
|
|
||||||
unset(name)
|
|
||||||
|
|
||||||
#create a command to generate the _impl.cc files
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${expanded_files_cc_impl}
|
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}_impl.cc.t
|
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
|
|
||||||
${root} ${root}_impl.cc.t ${ARGN}
|
|
||||||
)
|
|
||||||
|
|
||||||
#create a command to generate the _impl.h files
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${expanded_files_h_impl}
|
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}_impl.h.t
|
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
|
|
||||||
${root} ${root}_impl.h.t ${ARGN}
|
|
||||||
)
|
|
||||||
|
|
||||||
#make _impl.cc source files depend on _impl.h to force generation
|
|
||||||
set_source_files_properties(${expanded_files_cc_impl}
|
|
||||||
PROPERTIES OBJECT_DEPENDS "${expanded_files_h_impl}"
|
|
||||||
)
|
|
||||||
|
|
||||||
#make _impl.h source files depend on headers to force generation
|
|
||||||
set_source_files_properties(${expanded_files_h_impl}
|
|
||||||
PROPERTIES OBJECT_DEPENDS "${expanded_files_h}"
|
|
||||||
)
|
|
||||||
|
|
||||||
#install rules for the generated files
|
|
||||||
list(APPEND generated_sources ${expanded_files_cc_impl})
|
|
||||||
list(APPEND generated_headers ${expanded_files_h_impl})
|
|
||||||
|
|
||||||
endmacro(GR_EXPAND_X_CC_H_IMPL)
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# Copyright 2011 Free Software Foundation, Inc.
|
# Copyright 2011 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of GNU Radio
|
# This file was generated by gr_modtool, a tool from the GNU Radio framework
|
||||||
|
# This file is a part of gr-ieee802_11
|
||||||
#
|
#
|
||||||
# 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
|
||||||
@@ -51,4 +52,12 @@ endif()
|
|||||||
if(NOT DEFINED LIB_SUFFIX AND LIB64_CONVENTION AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$")
|
if(NOT DEFINED LIB_SUFFIX AND LIB64_CONVENTION AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$")
|
||||||
set(LIB_SUFFIX 64)
|
set(LIB_SUFFIX 64)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Detect /lib versus /lib64
|
||||||
|
########################################################################
|
||||||
|
if (CMAKE_INSTALL_LIBDIR MATCHES lib64)
|
||||||
|
set(LIB_SUFFIX 64)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix")
|
set(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix")
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# Copyright 2010-2011 Free Software Foundation, Inc.
|
# Copyright 2010-2011 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of GNU Radio
|
# This file was generated by gr_modtool, a tool from the GNU Radio framework
|
||||||
|
# This file is a part of gr-ieee802_11
|
||||||
#
|
#
|
||||||
# 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
|
||||||
@@ -36,11 +37,12 @@ if(PYTHON_EXECUTABLE)
|
|||||||
else(PYTHON_EXECUTABLE)
|
else(PYTHON_EXECUTABLE)
|
||||||
|
|
||||||
#use the built-in find script
|
#use the built-in find script
|
||||||
|
set(Python_ADDITIONAL_VERSIONS 3.4 3.5 3.6)
|
||||||
find_package(PythonInterp 2)
|
find_package(PythonInterp 2)
|
||||||
|
|
||||||
#and if that fails use the find program routine
|
#and if that fails use the find program routine
|
||||||
if(NOT PYTHONINTERP_FOUND)
|
if(NOT PYTHONINTERP_FOUND)
|
||||||
find_program(PYTHON_EXECUTABLE NAMES python python2 python2.7 python2.6 python2.5)
|
find_program(PYTHON_EXECUTABLE NAMES python python2 python2.7)
|
||||||
if(PYTHON_EXECUTABLE)
|
if(PYTHON_EXECUTABLE)
|
||||||
set(PYTHONINTERP_FOUND TRUE)
|
set(PYTHONINTERP_FOUND TRUE)
|
||||||
endif(PYTHON_EXECUTABLE)
|
endif(PYTHON_EXECUTABLE)
|
||||||
@@ -86,7 +88,7 @@ macro(GR_PYTHON_CHECK_MODULE desc mod cmd have)
|
|||||||
try:
|
try:
|
||||||
import ${mod}
|
import ${mod}
|
||||||
assert ${cmd}
|
assert ${cmd}
|
||||||
except ImportError, AssertionError: exit(-1)
|
except (ImportError, AssertionError): exit(-1)
|
||||||
except: pass
|
except: pass
|
||||||
#########################################"
|
#########################################"
|
||||||
RESULT_VARIABLE ${have}
|
RESULT_VARIABLE ${have}
|
||||||
@@ -106,7 +108,7 @@ endmacro(GR_PYTHON_CHECK_MODULE)
|
|||||||
if(NOT DEFINED GR_PYTHON_DIR)
|
if(NOT DEFINED GR_PYTHON_DIR)
|
||||||
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "
|
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "
|
||||||
from distutils import sysconfig
|
from distutils import sysconfig
|
||||||
print sysconfig.get_python_lib(plat_specific=True, prefix='')
|
print(sysconfig.get_python_lib(plat_specific=True, prefix=''))
|
||||||
" OUTPUT_VARIABLE GR_PYTHON_DIR OUTPUT_STRIP_TRAILING_WHITESPACE
|
" OUTPUT_VARIABLE GR_PYTHON_DIR OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@@ -119,7 +121,7 @@ file(TO_CMAKE_PATH ${GR_PYTHON_DIR} GR_PYTHON_DIR)
|
|||||||
function(GR_UNIQUE_TARGET desc)
|
function(GR_UNIQUE_TARGET desc)
|
||||||
file(RELATIVE_PATH reldir ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
file(RELATIVE_PATH reldir ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import re, hashlib
|
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import re, hashlib
|
||||||
unique = hashlib.md5('${reldir}${ARGN}').hexdigest()[:5]
|
unique = hashlib.md5(b'${reldir}${ARGN}').hexdigest()[:5]
|
||||||
print(re.sub('\\W', '_', '${desc} ${reldir} ' + unique))"
|
print(re.sub('\\W', '_', '${desc} ${reldir} ' + unique))"
|
||||||
OUTPUT_VARIABLE _target OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_VARIABLE _target OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
add_custom_target(${_target} ALL DEPENDS ${ARGN})
|
add_custom_target(${_target} ALL DEPENDS ${ARGN})
|
||||||
@@ -130,7 +132,7 @@ endfunction(GR_UNIQUE_TARGET)
|
|||||||
########################################################################
|
########################################################################
|
||||||
function(GR_PYTHON_INSTALL)
|
function(GR_PYTHON_INSTALL)
|
||||||
include(CMakeParseArgumentsCopy)
|
include(CMakeParseArgumentsCopy)
|
||||||
CMAKE_PARSE_ARGUMENTS(GR_PYTHON_INSTALL "" "DESTINATION;COMPONENT" "FILES;PROGRAMS" ${ARGN})
|
CMAKE_PARSE_ARGUMENTS(GR_PYTHON_INSTALL "" "DESTINATION" "FILES;PROGRAMS" ${ARGN})
|
||||||
|
|
||||||
####################################################################
|
####################################################################
|
||||||
if(GR_PYTHON_INSTALL_FILES)
|
if(GR_PYTHON_INSTALL_FILES)
|
||||||
@@ -182,7 +184,6 @@ function(GR_PYTHON_INSTALL)
|
|||||||
set(python_install_gen_targets ${pycfiles} ${pyofiles})
|
set(python_install_gen_targets ${pycfiles} ${pyofiles})
|
||||||
install(FILES ${python_install_gen_targets}
|
install(FILES ${python_install_gen_targets}
|
||||||
DESTINATION ${GR_PYTHON_INSTALL_DESTINATION}
|
DESTINATION ${GR_PYTHON_INSTALL_DESTINATION}
|
||||||
COMPONENT ${GR_PYTHON_INSTALL_COMPONENT}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
####################################################################
|
####################################################################
|
||||||
@@ -219,7 +220,6 @@ function(GR_PYTHON_INSTALL)
|
|||||||
|
|
||||||
install(PROGRAMS ${pyexefile} RENAME ${pyfile_name}
|
install(PROGRAMS ${pyexefile} RENAME ${pyfile_name}
|
||||||
DESTINATION ${GR_PYTHON_INSTALL_DESTINATION}
|
DESTINATION ${GR_PYTHON_INSTALL_DESTINATION}
|
||||||
COMPONENT ${GR_PYTHON_INSTALL_COMPONENT}
|
|
||||||
)
|
)
|
||||||
endforeach(pyfile)
|
endforeach(pyfile)
|
||||||
|
|
||||||
@@ -235,7 +235,7 @@ endfunction(GR_PYTHON_INSTALL)
|
|||||||
file(WRITE ${CMAKE_BINARY_DIR}/python_compile_helper.py "
|
file(WRITE ${CMAKE_BINARY_DIR}/python_compile_helper.py "
|
||||||
import sys, py_compile
|
import sys, py_compile
|
||||||
files = sys.argv[1:]
|
files = sys.argv[1:]
|
||||||
srcs, gens = files[:len(files)/2], files[len(files)/2:]
|
srcs, gens = files[:len(files)//2], files[len(files)//2:]
|
||||||
for src, gen in zip(srcs, gens):
|
for src, gen in zip(srcs, gens):
|
||||||
py_compile.compile(file=src, cfile=gen, doraise=True)
|
py_compile.compile(file=src, cfile=gen, doraise=True)
|
||||||
")
|
")
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# Copyright 2010-2011 Free Software Foundation, Inc.
|
# Copyright 2010-2011 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of GNU Radio
|
# This file was generated by gr_modtool, a tool from the GNU Radio framework
|
||||||
|
# This file is a part of gr-ieee802_11
|
||||||
#
|
#
|
||||||
# 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
|
||||||
@@ -35,7 +36,7 @@ include(GrPython)
|
|||||||
function(GR_SWIG_MAKE_DOCS output_file)
|
function(GR_SWIG_MAKE_DOCS output_file)
|
||||||
if(ENABLE_DOXYGEN)
|
if(ENABLE_DOXYGEN)
|
||||||
|
|
||||||
#setup the input files variable list, quote formated
|
#setup the input files variable list, quote formatted
|
||||||
set(input_files)
|
set(input_files)
|
||||||
unset(INPUT_PATHS)
|
unset(INPUT_PATHS)
|
||||||
foreach(input_path ${ARGN})
|
foreach(input_path ${ARGN})
|
||||||
@@ -76,7 +77,7 @@ function(GR_SWIG_MAKE_DOCS output_file)
|
|||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${output_file}
|
OUTPUT ${output_file}
|
||||||
DEPENDS ${input_files} ${stamp-file} ${OUTPUT_DIRECTORY}/xml/index.xml
|
DEPENDS ${input_files} ${stamp-file} ${OUTPUT_DIRECTORY}/xml/index.xml
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
COMMAND ${PYTHON_EXECUTABLE} -B
|
||||||
${CMAKE_SOURCE_DIR}/docs/doxygen/swig_doc.py
|
${CMAKE_SOURCE_DIR}/docs/doxygen/swig_doc.py
|
||||||
${OUTPUT_DIRECTORY}/xml
|
${OUTPUT_DIRECTORY}/xml
|
||||||
${output_file}
|
${output_file}
|
||||||
@@ -171,7 +172,12 @@ macro(GR_SWIG_MAKE name)
|
|||||||
#setup the actual swig library target to be built
|
#setup the actual swig library target to be built
|
||||||
include(UseSWIG)
|
include(UseSWIG)
|
||||||
SWIG_ADD_MODULE(${name} python ${ifiles})
|
SWIG_ADD_MODULE(${name} python ${ifiles})
|
||||||
SWIG_LINK_LIBRARIES(${name} ${PYTHON_LIBRARIES} ${GR_SWIG_LIBRARIES})
|
if(APPLE)
|
||||||
|
set(PYTHON_LINK_OPTIONS "-undefined dynamic_lookup")
|
||||||
|
else()
|
||||||
|
set(PYTHON_LINK_OPTIONS ${PYTHON_LIBRARIES})
|
||||||
|
endif(APPLE)
|
||||||
|
SWIG_LINK_LIBRARIES(${name} ${PYTHON_LINK_OPTIONS} ${GR_SWIG_LIBRARIES})
|
||||||
if(${name} STREQUAL "runtime_swig")
|
if(${name} STREQUAL "runtime_swig")
|
||||||
SET_TARGET_PROPERTIES(${SWIG_MODULE_runtime_swig_REAL_NAME} PROPERTIES DEFINE_SYMBOL "gnuradio_runtime_EXPORTS")
|
SET_TARGET_PROPERTIES(${SWIG_MODULE_runtime_swig_REAL_NAME} PROPERTIES DEFINE_SYMBOL "gnuradio_runtime_EXPORTS")
|
||||||
endif(${name} STREQUAL "runtime_swig")
|
endif(${name} STREQUAL "runtime_swig")
|
||||||
@@ -183,24 +189,21 @@ endmacro(GR_SWIG_MAKE)
|
|||||||
# GR_SWIG_INSTALL(
|
# GR_SWIG_INSTALL(
|
||||||
# TARGETS target target target...
|
# TARGETS target target target...
|
||||||
# [DESTINATION destination]
|
# [DESTINATION destination]
|
||||||
# [COMPONENT component]
|
|
||||||
# )
|
# )
|
||||||
########################################################################
|
########################################################################
|
||||||
macro(GR_SWIG_INSTALL)
|
macro(GR_SWIG_INSTALL)
|
||||||
|
|
||||||
include(CMakeParseArgumentsCopy)
|
include(CMakeParseArgumentsCopy)
|
||||||
CMAKE_PARSE_ARGUMENTS(GR_SWIG_INSTALL "" "DESTINATION;COMPONENT" "TARGETS" ${ARGN})
|
CMAKE_PARSE_ARGUMENTS(GR_SWIG_INSTALL "" "DESTINATION" "TARGETS" ${ARGN})
|
||||||
|
|
||||||
foreach(name ${GR_SWIG_INSTALL_TARGETS})
|
foreach(name ${GR_SWIG_INSTALL_TARGETS})
|
||||||
install(TARGETS ${SWIG_MODULE_${name}_REAL_NAME}
|
install(TARGETS ${SWIG_MODULE_${name}_REAL_NAME}
|
||||||
DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
|
DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
|
||||||
COMPONENT ${GR_SWIG_INSTALL_COMPONENT}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
include(GrPython)
|
include(GrPython)
|
||||||
GR_PYTHON_INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}.py
|
GR_PYTHON_INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}.py
|
||||||
DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
|
DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
|
||||||
COMPONENT ${GR_SWIG_INSTALL_COMPONENT}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
GR_LIBTOOL(
|
GR_LIBTOOL(
|
||||||
@@ -240,7 +243,7 @@ def get_swig_deps(file_path, level):
|
|||||||
inc_path = os.path.join(inc_dir, inc_file)
|
inc_path = os.path.join(inc_dir, inc_file)
|
||||||
if not os.path.exists(inc_path): continue
|
if not os.path.exists(inc_path): continue
|
||||||
deps.extend(get_swig_deps(inc_path, level-1))
|
deps.extend(get_swig_deps(inc_path, level-1))
|
||||||
break #found, we dont search in lower prio inc dirs
|
break #found, we don't search in lower prio inc dirs
|
||||||
return deps
|
return deps
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# Copyright 2010-2011 Free Software Foundation, Inc.
|
# Copyright 2010-2011 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of GNU Radio
|
# This file was generated by gr_modtool, a tool from the GNU Radio framework
|
||||||
|
# This file is a part of gr-ieee802_11
|
||||||
#
|
#
|
||||||
# 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
|
||||||
|
|||||||
@@ -224,9 +224,9 @@ print(re.sub('\\W', '_', '${name} ${reldir} ' + unique))"
|
|||||||
foreach(swig_gen_file ${${outfiles}})
|
foreach(swig_gen_file ${${outfiles}})
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${swig_gen_file}
|
OUTPUT ${swig_gen_file}
|
||||||
COMMAND ""
|
COMMAND "${CMAKE_COMMAND}" -E touch_nocreate "${swig_gen_file}"
|
||||||
DEPENDS ${_target}
|
DEPENDS ${_target}
|
||||||
COMMENT ""
|
COMMENT "dummy command to show ${_target} dependency of ${swig_gen_file}"
|
||||||
)
|
)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
|||||||
+1
-6
@@ -19,13 +19,8 @@
|
|||||||
# Include swig generation macros
|
# Include swig generation macros
|
||||||
########################################################################
|
########################################################################
|
||||||
find_package(SWIG)
|
find_package(SWIG)
|
||||||
find_package(PythonLibs 2)
|
|
||||||
if(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND)
|
|
||||||
message(FATAL_ERROR "Python or Swig not found (or version not supported).")
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
include(GrSwig)
|
|
||||||
include(GrPython)
|
include(GrPython)
|
||||||
|
include(GrSwig)
|
||||||
|
|
||||||
set(GR_SWIG_INCLUDE_DIRS
|
set(GR_SWIG_INCLUDE_DIRS
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/../include/
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/
|
||||||
|
|||||||
Reference in New Issue
Block a user