Skip to content

DaniilRyb/Homework06

Repository files navigation

Build Status Build status

Homework VI

% sed -i "" '/project(solver)/a\
set(SOLVER_VERSION_STRING "v\${SOLVER_VERSION}")
' CMakeLists.txt
% sed -i "" '/project(solver)/a\
set(SOLVER_VERSION\
  \${SOLVER_VERSION_MAJOR}.\${SOLVER_VERSION_MINOR}.\${SOLVER_VERSION_PATCH}.\${SOLVER_VERSION_TWEAK})
' CMakeLists.txt
% sed -i "" '/project(solver)/a\
set(SOLVER_VERSION_PATCH 0)
' CMakeLists.txt
% sed -i "" '/project(solver)/a\
set(SOLVER_VERSION_MINOR 0)
' CMakeLists.txt
% sed -i "" '/project(solver)/a\
set(SOLVER_VERSION_MAJOR 1)
' CMakeLists.txt
% touch DESCRIPTION && atom DESCRIPTION
% touch ChangeLog.md
% export DATE="`LANG=en_US date +'%a %b %d %Y'`"
% cat > ChangeLog.md <<EOF
* ${DATE} DaniilRyb <pochtaworld7@gmail.com> 1.0.0
- Initial RPM release
EOF
% cat > CPackConfig.cmake <<EOF
include(InstallRequiredSystemLibraries)
EOF
% cat >> CPackConfig.cmake <<EOF

# Установка контакта
set(CPACK_PACKAGE_CONTACT evgengrmit@icloud.com)
# Установка версии пакета
set(CPACK_PACKAGE_VERSION_MAJOR \${SOLVER_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR \${SOLVER_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH \${SOLVER_VERSION_PATCH})
set(CPACK_PACKAGE_VERSION \${SOLVER_VERSION})
#  Установка с файлом описания проекта
set(CPACK_PACKAGE_DESCRIPTION_FILE \${CMAKE_CURRENT_SOURCE_DIR}/DESCRIPTION)
# Краткое описание проекта
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Application Solver for square equation")
EOF
% cat >> CPackConfig.cmake <<EOF

# Установка лицензии
set(CPACK_RESOURCE_FILE_LICENSE \${CMAKE_CURRENT_SOURCE_DIR}/LICENSE)
# Добавление README.md
set(CPACK_RESOURCE_FILE_README \${CMAKE_CURRENT_SOURCE_DIR}/README.md)
EOF
$ cat >> CPackConfig.cmake <<EOF

# Имя пакета RPM
set(CPACK_RPM_PACKAGE_NAME "solver-devel")
# Лицензионная политика пакета RPM.
set(CPACK_RPM_PACKAGE_LICENSE "MIT")
# Группа пакетов RPM
set(CPACK_RPM_PACKAGE_GROUP "solver")
# Добавление файла с описанием изменений пакета
set(CPACK_RPM_CHANGELOG_FILE \${CMAKE_CURRENT_SOURCE_DIR}/ChangeLog.md)
# Выпуск пакета RPM
set(CPACK_RPM_PACKAGE_RELEASE 1)
EOF

N

% cat >> CPackConfig.cmake <<EOF

# Имя пакета DEBIAN
set(CPACK_DEBIAN_PACKAGE_NAME "AppSolver")
# Условия для работы пакета
set(CPACK_DEBIAN_PACKAGE_PREDEPENDS "cmake >= 3.0")
# Выпуск пакета DEBIAN
set(CPACK_DEBIAN_PACKAGE_RELEASE 1)
EOF
% cat >> CPackConfig.cmake <<EOF

# Имя созданного пакета
set(CPACK_DMG_VOLUME_NAME "solverOS")
# Минимальная версия OSX
set(CPACK_OSX_PACKAGE_VERSION 10.5)
set(CPACK_WIX_LICENSE_RTF ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt)
EOF
% cat >> CPackConfig.cmake <<EOF

# Помощь в установке пакета
set(CPACK_NSIS_HELP_LINK https://github.com/Evgengrmit/hw06)
# Помощь в использовании
set(CPACK_NSIS_URL_INFO_ABOUT https://github.com/Evgengrmit/hw06)
# Контактная информация
set(CPACK_NSIS_CONTACT evgengrmit@icloud.com)
EOF
% cat >> CPackConfig.cmake <<EOF

include(CPack)
EOF
% cat >> CMakeLists.txt <<EOF

include(CPackConfig.cmake)
EOF
% cat >> .travis.yml <<EOF
language: cpp
jobs:
  include:
  - os: windows
    script:
    - cmake -H. -B_build
    - cmake --build _build
    - cd _build
    - cpack -G DragNDrop
    - cd ..
  - os: linux
    script:
    - cmake -H. -B_build
    - cmake --build _build
    - cd _build
    - cpack -G DEB
    - cpack -G RPM
    - cd ..
addons:
  apt:
    packages:
      - cmake
      - cmake-data
      - rpm
EOF
% travis login --auto --ppro
% travis enable --pro
% travis setup releases --pro

% cat >> CMakeLists.txt <<EOF
file:
  - ./_build/solver-1.0.0.-Darwin.dmg
  - ./_build/solver-1.0.0.-Linux.deb
  - ./_build/solver-1.0.0.-Linux.rpm
skip_cleanup: true
on:
  tags: true
EOF
% git add .
% git commit -m "First release"
% git tag v1.0.0
% git push origin master --tags
% cat >> appveyor.yml <<EOF
image: Visual Studio 2019
platform:
  - x86
  - x64
configuration: Release

build_script:
  - cmd: cmake -H. -B_build
  - cmd: cmake --build _build --config Release
  - cmd: cd _build
  - cmd: ls
  - cmd: cpack -G NSIS
  - cmd: cd ..

artifacts:
  - path: ./_build/*.msi
    name: solver
deploy:
  release: $(APPVEYOR_REPO_TAG_NAME)
  description: 'Release description'
  provider: GitHub
  auth_token:
    secure: tZdq4qXRLud/z27+KjHqLP0jpdTdUkrQ1XmSJMbSAnd2KTvjSqLjRlueHzHPhzLe
  artifact: print
  on:
    APPVEYOR_REPO_TAG: true

EOF
$ cat .travis.yml
os: osx
script:
...
- cpack -G DragNDrop # dmg

$ cat .travis.yml
os: linux
script:
...
- cpack -G DEB # deb

$ cat .travis.yml
os: linux
addons:
  apt:
    packages:
    - rpm
script:
...
- cpack -G RPM # rpm

$ cat appveyor.yml
platform:
- x86
- x64
build_script:
...
- cpack -G NSIS # msi

Links

Copyright (c) 2015-2020 The ISC Authors

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published