Skip to content
Snippets Groups Projects
Commit c9854a5a authored by Lars Krombeen's avatar Lars Krombeen Committed by Jakob Maljaars
Browse files

Packaging

parent 21a36d40
No related branches found
No related tags found
No related merge requests found
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
stages: stages:
- prepare - prepare
- build - build
- package
- oskar-comparison - oskar-comparison
- deploy - deploy
...@@ -50,7 +51,7 @@ test-and-coverage: ...@@ -50,7 +51,7 @@ test-and-coverage:
- gcovr -r .. -e '.*/external/.*' -e '.*/CompilerIdCXX/.*' -e '.*/test/.*' -e '.*/demo/.*' --xml > coverage.xml - gcovr -r .. -e '.*/external/.*' -e '.*/CompilerIdCXX/.*' -e '.*/test/.*' -e '.*/demo/.*' --xml > coverage.xml
# Check whether pyeverybeam modules can be found from home directory after setting the PYTHONPATH # Check whether pyeverybeam modules can be found from home directory after setting the PYTHONPATH
- PYVERSION=`python3 --version | grep -P -o ".*\s\K\d\.\d(?=\.\d)"` - PYVERSION=`python3 --version | grep -P -o ".*\s\K\d\.\d(?=\.\d)"`
- export PYTHONPATH=${WORKDIR}/lib/python${PYVERSION}/site-packages - export PYTHONPATH=${WORKDIR}/lib/python${PYVERSION}/dist-packages
- cd && python3 -c "import everybeam" - cd && python3 -c "import everybeam"
artifacts: artifacts:
reports: reports:
...@@ -79,6 +80,24 @@ build-doc: ...@@ -79,6 +80,24 @@ build-doc:
paths: paths:
- build/doc/html - build/doc/html
# Deploy package should be ran when
# when: manual
# only:
# - master
build-package:
stage: package
needs: ["build-everybeam"]
image: everybeam:${CI_COMMIT_SHORT_SHA}
script:
- mkdir everybeam_package
- export SRC=$(pwd)
- cd /opt/everybeam/build
- make package
- mv $(ls -p | grep *\.deb) $SRC/everybeam_package
artifacts:
paths:
- everybeam_package/
build-compare-oskar: build-compare-oskar:
stage: oskar-comparison stage: oskar-comparison
image: everybeam:${CI_COMMIT_SHORT_SHA} image: everybeam:${CI_COMMIT_SHORT_SHA}
......
...@@ -20,6 +20,7 @@ endif() ...@@ -20,6 +20,7 @@ endif()
project(EveryBeam VERSION ${EVERYBEAM_VERSION}) project(EveryBeam VERSION ${EVERYBEAM_VERSION})
option (BUILD_WITH_PYTHON "Build python bindings" OFF) option (BUILD_WITH_PYTHON "Build python bindings" OFF)
option (BUILD_APT_PACKAGES "Build apt package" OFF)
string(TOLOWER ${CMAKE_PROJECT_NAME} projectname ) string(TOLOWER ${CMAKE_PROJECT_NAME} projectname )
...@@ -167,3 +168,11 @@ add_custom_target(doc ...@@ -167,3 +168,11 @@ add_custom_target(doc
elseif(DOXYGEN_FOUND) elseif(DOXYGEN_FOUND)
endif(DOXYGEN_FOUND) endif(DOXYGEN_FOUND)
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Allow packaging with "make package"
if(BUILD_APT_PACKAGES)
add_subdirectory(package)
endif()
#------------------------------------------------------------------------------
\ No newline at end of file
...@@ -8,5 +8,5 @@ ENV EVERYBEAMDIR /opt/everybeam ...@@ -8,5 +8,5 @@ ENV EVERYBEAMDIR /opt/everybeam
ADD . ${EVERYBEAMDIR}/EveryBeam ADD . ${EVERYBEAMDIR}/EveryBeam
RUN mkdir -p ${EVERYBEAMDIR}/build && cd ${EVERYBEAMDIR}/build \ RUN mkdir -p ${EVERYBEAMDIR}/build && cd ${EVERYBEAMDIR}/build \
&& cmake -DBUILD_WITH_PYTHON=ON -DCMAKE_INSTALL_PREFIX=.. ../EveryBeam \ && cmake -DBUILD_WITH_PYTHON=ON -DBUILD_APT_PACKAGES=ON -DCMAKE_INSTALL_PREFIX=.. ../EveryBeam \
&& make -j8 && make install -j8 && make -j8 && make install -j8
# Copyright (C) 2020 ASTRON (Netherlands Institute for Radio Astronomy)
# SPDX-License-Identifier: GPL-3.0-or-later
set(CPACK_PACKAGE_NAME "EveryBeam")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
set(CPACK_GENERATOR "DEB")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Astron")
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
set(CPACK_PACKAGE_VERSION_MAJOR "${EVERYBEAM_VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${EVERYBEAM_VERSION_MINOR}")
set(CPACK_PACKAGE_VERSION_PATCH "${EVERYBEAM_VERSION_PATCH}")
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "casacore-dev, libcfitsio-dev, wcslib-dev, libhdf5-serial-dev, libfftw3-dev, libpython3-dev")
include(CPack)
\ No newline at end of file
...@@ -30,7 +30,13 @@ add_subdirectory(lobes) ...@@ -30,7 +30,13 @@ add_subdirectory(lobes)
# If the PYTHON_LIBRARY_DIR is not specified, install in lib dir # If the PYTHON_LIBRARY_DIR is not specified, install in lib dir
if(NOT DEFINED ${PYTHON_LIBRARY_DIR}) if(NOT DEFINED ${PYTHON_LIBRARY_DIR})
set(PYTHON_LIBRARY_DIR ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "import site; print(site.getsitepackages()[0])" OUTPUT_VARIABLE PYTHON_DIST_PATH OUTPUT_STRIP_TRAILING_WHITESPACE)
if(PYTHON_DIST_PATH MATCHES "\\/(python${PYTHON_VERSION_MAJOR}\\.${PYTHON_VERSION_MINOR}\\/.*)")
set(PYTHON_LIBRARY_DIR ${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_MATCH_1})
else()
message(FATAL_ERROR "Failed to parse PYTHON_DIST_PATH='${PYTHON_DIST_PATH}'")
endif()
endif() endif()
# Install pyeverybeam in site-packages directory # Install pyeverybeam in site-packages directory
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment