Skip to content

Commit ca075c9

Browse files
committed
SWPROT-8953: build: cmake: Adapt packaging rules since split
Something to deduplicate or align to standards Signed-off-by: Philippe Coval <philippe.coval@silabs.com>
1 parent 041c85f commit ca075c9

File tree

3 files changed

+41
-19
lines changed

3 files changed

+41
-19
lines changed

applications/zpc/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ include(${COMMON_PATH}/cmake/include/compiler_options.cmake)
2828
include(${COMMON_PATH}/cmake/include/version.cmake)
2929
# include(${COMMON_PATH}/cmake/include/doxygen.cmake)
3030
include(${COMMON_PATH}/cmake/modules/CMakeCargo.cmake)
31-
# include(${COMMON_PATH}/cmake/include/package-helper.cmake)
31+
include(../../cmake/include/package-helper.cmake)
3232
include(${COMMON_PATH}/cmake/include/zap.cmake)
3333
include(${COMMON_PATH}/cmake/include/unittest.cmake)
3434
include(${COMMON_PATH}/cmake/include/version_file.cmake)

cmake/include/package-helper.cmake

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
if(NOT PACKAGE_HELPER_CMAKE)
2-
set(PACKAGE_HELPER_CMAKE ${CMAKE_CURRENT_LIST_DIR})
1+
if(NOT ZPC_PACKAGE_HELPER_CMAKE)
2+
set(ZPC_PACKAGE_HELPER_CMAKE ${CMAKE_CURRENT_LIST_DIR})
33
else()
44
return()
55
endif()
@@ -9,8 +9,13 @@ set(CPACK_DEB_COMPONENT_INSTALL ON)
99
set(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS ON)
1010
set(CPACK_DEB_PACKAGE_COMPONENT ON)
1111

12+
# TODO: Not aligned to debian arch
13+
if(NOT DEFINED FILE_NAME_VERSIONING_ARCH)
14+
set(FILE_NAME_VERSIONING_ARCH "${CMAKE_PROJECT_VERSION}_${CMAKE_SYSTEM_PROCESSOR}")
15+
endif()
16+
1217
set(CPACK_PACKAGE_FILE_NAME
13-
"${CMAKE_PROJECT_NAME}_${FILE_NAME_VERSIONING_ARCH}"
18+
"${CMAKE_PROJECT_NAME}_${FILE_NAME_VERSIONING_ARCH}"
1419
)
1520

1621
# Common CPACK configuration
@@ -108,22 +113,8 @@ macro(add_component_to_uic PKG_NAME PKG_DESCRIPTION PKG_FILE_NAME PKG_DEPNDS PKG
108113
set(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} CACHE STRING "Packages that will have Debian packages built: ${CPACK_COMPONENTS_ALL}" FORCE)
109114

110115
install(
111-
FILES "${PACKAGE_HELPER_CMAKE}/../../copyright"
116+
FILES "${CMAKE_SOURCE_DIR}/copyright"
112117
DESTINATION share/doc/${PKG_NAME}
113118
COMPONENT ${PKG_NAME})
114119
endif()
115120
endmacro()
116-
117-
set(DEB_PACKAGE_FOLDER "unify_${FILE_NAME_VERSIONING_ARCH}")
118-
set(DEB_PACKAGE_ZIP "${DEB_PACKAGE_FOLDER}.zip")
119-
add_custom_target(
120-
deb
121-
DEPENDS package
122-
COMMAND mkdir -p "${DEB_PACKAGE_FOLDER}"
123-
COMMAND mv "\*_${FILE_NAME_VERSIONING_ARCH}.deb" "${DEB_PACKAGE_FOLDER}/"
124-
COMMAND cd "${DEB_PACKAGE_FOLDER}" && dpkg-scanpackages . /dev/null
125-
> Packages && cd ..
126-
COMMAND zip -rm "${DEB_PACKAGE_ZIP}" "${DEB_PACKAGE_FOLDER}"
127-
COMMAND mkdir -p deb-packages && mv "${DEB_PACKAGE_ZIP}" deb-packages
128-
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --cyan
129-
"Debian packages archived in deb-packages/${DEB_PACKAGE_FOLDER}.zip")

cmake/include/package.cmake

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,37 @@
11
message(STATUS "Components of Unify which will have deb packages"
22
": ${CPACK_COMPONENTS_ALL}")
33

4+
# TODO: Not aligned to debian arch
5+
if(NOT DEFINED FILE_NAME_VERSIONING_ARCH)
6+
set(FILE_NAME_VERSIONING_ARCH "${CMAKE_PROJECT_VERSION}_${CMAKE_SYSTEM_PROCESSOR}")
7+
endif()
8+
9+
# Generate Debian package
10+
set(CPACK_GENERATOR "DEB")
11+
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Silicon Labs")
12+
set(CPACK_COMPONENTS_GROUPING "IGNORE")
13+
set(CPACK_DEB_COMPONENT_INSTALL ON)
14+
set(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS ON)
15+
set(CPACK_DEB_PACKAGE_COMPONENT ON)
16+
set(CPACK_SOURCE_GENERATOR "TGZ")
17+
set(DEB_PACKAGE_FOLDER "${CMAKE_PROJECT_NAME}_${FILE_NAME_VERSIONING_ARCH}")
18+
set(DEB_PACKAGE_ZIP "${DEB_PACKAGE_FOLDER}.zip")
19+
set(DIST_FOLDER "dist")
20+
21+
add_custom_target(
22+
package_archive
23+
DEPENDS package
24+
COMMAND mkdir -p "${CMAKE_BINARY_DIR}/${DEB_PACKAGE_FOLDER}"
25+
COMMAND mv "${CMAKE_BINARY_DIR}/\*.deb" "${CMAKE_BINARY_DIR}/${DEB_PACKAGE_FOLDER}/"
26+
COMMAND cd "${CMAKE_BINARY_DIR}/${DEB_PACKAGE_FOLDER}"
27+
&& dpkg-scanpackages . /dev/null > Packages
28+
&& cd ..
29+
COMMAND zip --recurse-paths "${DEB_PACKAGE_ZIP}" "${DEB_PACKAGE_FOLDER}"
30+
COMMAND mkdir -p "${DIST_FOLDER}" && mv "${DEB_PACKAGE_ZIP}" "${DIST_FOLDER}"
31+
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --cyan
32+
"${CPACK_GENERATOR} packages archived in ${DIST_FOLDER}/${DEB_PACKAGE_FOLDER}.zip"
33+
)
34+
435
if(PROJECT_IS_TOP_LEVEL)
536
message(STATUS "cpack: Included from ${CMAKE_SOURCE_DIR}")
637
include(CPack)

0 commit comments

Comments
 (0)