Добавлена сборка в пакет для Debian дистрибутива
This commit is contained in:
parent
a74579d709
commit
2ad04b4603
15 changed files with 610 additions and 0 deletions
84
CMakeLists.txt
Normal file
84
CMakeLists.txt
Normal file
|
@ -0,0 +1,84 @@
|
|||
cmake_minimum_required(VERSION 3.14)
|
||||
|
||||
project(snag)
|
||||
set(PROJECT_VERSION_MAJOR 0)
|
||||
set(PROJECT_VERSION_MINOR 1)
|
||||
set(PROJECT_VERSION_PATCH 0)
|
||||
string(TIMESTAMP PROJECT_VERSION_BUILD "%y%j.%H%M")
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||
include(snag_git)
|
||||
include(snag_platforms)
|
||||
set(PROJECT_VERSION_SUFFIX "-${GIT_VERSION_SUFFIX}")
|
||||
|
||||
# Overwrite suffix for Release or Release Candidate builds
|
||||
set(PROJECT_VERSION_SUFFIX "-alpha.1")
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
if(CMAKE_BUILD_TYPE)
|
||||
set(BUILD_TYPE ${CMAKE_BUILD_TYPE})
|
||||
else()
|
||||
set(BUILD_TYPE "Debug")
|
||||
endif()
|
||||
|
||||
set(PROJECT_VERSION_CODENAME ${OS_RELEASE_VERSION_CODENAME})
|
||||
set(PROJECT_VERSION_DISPLAY "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}.${PROJECT_VERSION_BUILD}")
|
||||
message(STATUS "PROJECT_VERSION_CODENAME: ${PROJECT_VERSION_CODENAME}")
|
||||
message(STATUS "PROJECT_VERSION_DISPLAY: ${PROJECT_VERSION_DISPLAY}")
|
||||
message(STATUS "")
|
||||
|
||||
# Deb package
|
||||
set(DEB_PACKAGE_VERSION "${PROJECT_VERSION_DISPLAY}${PROJECT_VERSION_SUFFIX}")
|
||||
if(PROJECT_VERSION_CODENAME)
|
||||
set(DEB_PACKAGE_VERSION "${DEB_PACKAGE_VERSION}-${PROJECT_VERSION_CODENAME}")
|
||||
endif()
|
||||
set(DEB_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
|
||||
string(TIMESTAMP DEB_PACKAGE_CHANGELOG_DATE "%a, %d %b %Y %H:%M:%S +0000")
|
||||
|
||||
configure_file(
|
||||
"${CMAKE_SOURCE_DIR}/debian/changelog.in"
|
||||
"${CMAKE_SOURCE_DIR}/debian/changelog"
|
||||
)
|
||||
|
||||
configure_file(
|
||||
"${CMAKE_SOURCE_DIR}/source/snag/version_.d.in"
|
||||
"${CMAKE_SOURCE_DIR}/source/snag/version_.d"
|
||||
)
|
||||
|
||||
message(STATUS "DEB_PACKAGE_NAME: ${DEB_PACKAGE_NAME}")
|
||||
message(STATUS "DEB_PACKAGE_VERSION: ${DEB_PACKAGE_VERSION}")
|
||||
message(STATUS "")
|
||||
|
||||
file(MAKE_DIRECTORY "${CMAKE_SOURCE_DIR}/bin")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT "${CMAKE_SOURCE_DIR}/bin/${CMAKE_PROJECT_NAME}"
|
||||
COMMAND build dlang ldc --output "${CMAKE_SOURCE_DIR}/bin" --project "${CMAKE_SOURCE_DIR}"
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
COMMENT "Building snag with dub"
|
||||
)
|
||||
|
||||
add_custom_target(snag ALL
|
||||
DEPENDS "${CMAKE_SOURCE_DIR}/bin/${CMAKE_PROJECT_NAME}"
|
||||
)
|
||||
|
||||
include(snag_patch)
|
||||
|
||||
add_dependencies(snag apply_config_patch)
|
||||
|
||||
install(
|
||||
FILES "${CMAKE_SOURCE_DIR}/bin/${CMAKE_PROJECT_NAME}"
|
||||
DESTINATION bin
|
||||
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
|
||||
)
|
||||
|
||||
install(
|
||||
FILES "${CMAKE_SOURCE_DIR}/files/snag.json.bak"
|
||||
DESTINATION /etc/snag/
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
||||
)
|
||||
|
||||
install(
|
||||
FILES "${CMAKE_SOURCE_DIR}/files/snag.8"
|
||||
DESTINATION /usr/share/man/ru/man8/
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue