From 5c7a578e4fd8a55e7db15788a6cc6a04486e2a34 Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Wed, 17 Feb 2016 12:08:51 +0100 Subject: [PATCH] Tiding up cmake code for creating symbolic links --- apps/CMakeLists.txt | 19 ++++----------- apps/helpers/CMakeLists.txt | 39 +++++++++++++++++++++++++++++++ cmake/Modules/CreateSymlink.cmake | 10 ++++++++ 3 files changed, 53 insertions(+), 15 deletions(-) create mode 100644 apps/helpers/CMakeLists.txt create mode 100644 cmake/Modules/CreateSymlink.cmake diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt index db2a803..48fabb0 100644 --- a/apps/CMakeLists.txt +++ b/apps/CMakeLists.txt @@ -18,37 +18,26 @@ # Boston, MA 02110-1301, USA. include(GrPython) +include(CreateSymlink) +add_subdirectory(helpers) GR_PYTHON_INSTALL( PROGRAMS grgsm_livemon grgsm_scanner grgsm_decode - helpers/grgsm_capture.py - helpers/grgsm_channelize.py DESTINATION bin ) -#create logical links in order to keep legacy names of apps -macro(CREATE_SYMLINK _source _dest) - set(source ${CMAKE_CURRENT_SOURCE_DIR}/${_source}) - set(dest ${CMAKE_CURRENT_BINARY_DIR}/${_dest}) - list(APPEND symlinks ${dest}) - add_custom_command( - DEPENDS ${source} OUTPUT ${dest} - COMMAND ln -sf ${_source} ${_dest} - ) -endmacro(CREATE_SYMLINK) - CREATE_SYMLINK(grgsm_livemon airprobe_rtlsdr.py) -CREATE_SYMLINK(helpers/grgsm_capture.py airprobe_rtlsdr_capture.py) CREATE_SYMLINK(grgsm_decode airprobe_decode.py) CREATE_SYMLINK(grgsm_scanner airprobe_rtlsdr_scanner.py) -add_custom_target(multi_rtl_grc_xml_blocks ALL DEPENDS ${symlinks}) +add_custom_target(apps_symlinks ALL DEPENDS ${symlinks}) install( PROGRAMS ${symlinks} DESTINATION bin ) + diff --git a/apps/helpers/CMakeLists.txt b/apps/helpers/CMakeLists.txt new file mode 100644 index 0000000..4418ed7 --- /dev/null +++ b/apps/helpers/CMakeLists.txt @@ -0,0 +1,39 @@ +# Copyright 2011 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# 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 +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. + +include(GrPython) +include(CreateSymlink) + +GR_PYTHON_INSTALL( + PROGRAMS + grgsm_capture.py + grgsm_channelize.py + DESTINATION bin +) + +CREATE_SYMLINK(grgsm_capture.py airprobe_rtlsdr_capture.py) + +add_custom_target(helpers_symlinks ALL DEPENDS ${symlinks}) + +install( + PROGRAMS + ${symlinks} + DESTINATION bin +) + diff --git a/cmake/Modules/CreateSymlink.cmake b/cmake/Modules/CreateSymlink.cmake new file mode 100644 index 0000000..574c443 --- /dev/null +++ b/cmake/Modules/CreateSymlink.cmake @@ -0,0 +1,10 @@ +#create logical links in order to keep legacy names of apps +macro(CREATE_SYMLINK _source _dest) + set(source ${CMAKE_CURRENT_SOURCE_DIR}/${_source}) + set(dest ${CMAKE_CURRENT_BINARY_DIR}/${_dest}) + list(APPEND symlinks ${dest}) + add_custom_command( + DEPENDS ${source} OUTPUT ${dest} + COMMAND ln -sf ${_source} ${_dest} + ) +endmacro(CREATE_SYMLINK)