diff --git a/CMakeLists.txt b/CMakeLists.txt index ace74675a..0680c118d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1043,3 +1043,5 @@ add_custom_target(uninstall # Add subdirectories (in order of deps) ######################################################################## add_subdirectory(src) + +include(GnssSdrPackaging) diff --git a/cmake/Modules/GnssSdrPackaging.cmake b/cmake/Modules/GnssSdrPackaging.cmake new file mode 100644 index 000000000..27b2ee89f --- /dev/null +++ b/cmake/Modules/GnssSdrPackaging.cmake @@ -0,0 +1,95 @@ +# Copyright (C) 2012-2014 (see AUTHORS file for a list of contributors) +# +# This file is part of GNSS-SDR. +# +# GNSS-SDR 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 of the License, or +# (at your option) any later version. +# +# GNSS-SDR 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 GNSS-SDR. If not, see . +# + + +if(DEFINED __INCLUDED_GNSS_SDR_PACKAGE_CMAKE) + return() +endif() +set( __INCLUDED_GNSS_SDR_PACKAGE_CMAKE TRUE) + + +#set the cpack generator based on the platform type +if(CPACK_GENERATOR) + #already set by user +elseif(APPLE) + set(CPACK_GENERATOR PackageMaker) +elseif(WIN32) + set(CPACK_GENERATOR NSIS) +elseif(DEBIAN) + set(CPACK_GENERATOR DEB) +elseif(REDHAT) + set(CPACK_GENERATOR RPM) +else() + set(CPACK_GENERATOR TGZ) +endif() + + + +######################################################################## +# Setup CPack +######################################################################## +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "GNSS-SDR - An Open Source GNSS Software Defined Receiver") +set(CPACK_PACKAGE_VENDOR "Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)") +set(CPACK_PACKAGE_CONTACT "Carles Fernandez-Prades ") +set(CPACK_PACKAGE_ICON ${CMAKE_SOURCE_DIR}/docs/doxygen/images/gnss-sdr_logo_round.png) +set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_INFO_MAJOR_VERSION} +set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_INFO_API_COMPAT} +set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_INFO_MINOR_VERSION} +set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/COPYING) +set(CPACK_RESOURCE_FILE_README ${CMAKE_SOURCE_DIR}/README.md) +set(CPACK_RESOURCE_FILE_WELCOME ${CMAKE_SOURCE_DIR}/README.md) +set(CPACK_SOURCE_GENERATOR "TGZ;TZ") +set(CPACK_DEBIAN_PACKAGE_SECTION "Science") +#set(DEBIAN_PACKAGE_BUILDS_DEPENDS "cmake (>= 2.8.8), libstdc++6 (>= 4.7)" +set(CPACK_DEBIAN_PACKAGE_DEPENDS "libboost-dev (>= 1.45), + libstdc++6 (>= 4.7), + libc6 (>= 2.18), + gnuradio (>= 3.7), + libarmadillo-dev (>= 1:4.400.2), + liblapack-dev (>= 3.5), + libopenblas-dev (>= 0.2), + gfortran (>= 1:4.7), + libssl-dev (>= 1.0), + libgflags-dev (>= 2.0)") + +#find_program(LSB_RELEASE_EXECUTABLE lsb_release) + +#if((DEBIAN OR REDHAT) AND LSB_RELEASE_EXECUTABLE) + #extract system information by executing the commands +# execute_process( +# COMMAND ${LSB_RELEASE_EXECUTABLE} --short --id +# OUTPUT_VARIABLE LSB_ID OUTPUT_STRIP_TRAILING_WHITESPACE +# ) + +# execute_process( +# COMMAND ${LSB_RELEASE_EXECUTABLE} --short --release +# OUTPUT_VARIABLE LSB_RELEASE OUTPUT_STRIP_TRAILING_WHITESPACE +# ) + + #set a more sensible package name for this system +# SET(CPACK_PACKAGE_FILE_NAME "gnss-sdr_${CPACK_PACKAGE_VERSION}_${LSB_ID}-${LSB_RELEASE}-${CMAKE_SYSTEM_PROCESSOR}") + + #now try to include the component based dependencies +# set(package_deps_file "${CMAKE_SOURCE_DIR}/cmake/Packaging/${LSB_ID}-${LSB_RELEASE}.cmake") +# if (EXISTS ${package_deps_file}) +# include(${package_deps_file}) +# endif() +#endif() + + +include(CPack) \ No newline at end of file