11cmake_minimum_required (VERSION 3.11 )
2- project (beagle-config VERSION 0.1.0 )
2+ project (beaglecfg VERSION 0.1)
33
44option (BEAGLE_CONFIG_SANITIZE "Use sanitize debug options" OFF )
5+ option (ARMHF_DEB "Debian Package for armhf" OFF )
56
67include (FetchContent )
78set (FETCHCONTENT_UPDATES_DISCONNECTED TRUE )
@@ -17,7 +18,7 @@ if(NOT ftxui_POPULATED)
1718 add_subdirectory (${ftxui_SOURCE_DIR } ${ftxui_BINARY_DIR } EXCLUDE_FROM_ALL )
1819endif ()
1920
20- add_executable (beagle-config
21+ add_executable (${ PROJECT_NAME }
2122 src/main.cpp
2223 src/ui/panel/emmc/emmc_impl.cpp
2324 src/ui/panel/gpio/gpio_impl.cpp
@@ -37,19 +38,19 @@ add_executable(beagle-config
3738 src/utils.cpp
3839)
3940
40- target_link_libraries (beagle-config
41+ target_link_libraries (${ PROJECT_NAME }
4142 PRIVATE ftxui::component
4243 PRIVATE stdc++fs
4344)
4445
45- target_include_directories (beagle-config
46+ target_include_directories (${ PROJECT_NAME }
4647 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR } /src/
4748 PRIVATE ${CMAKE_CURRENT_BINARY_DIR } /src/
4849)
4950
50- set_property (TARGET beagle-config PROPERTY CXX_STANDARD 17)
51+ set_property (TARGET ${ PROJECT_NAME } PROPERTY CXX_STANDARD 17)
5152
52- target_compile_options (beagle-config
53+ target_compile_options (${ PROJECT_NAME }
5354 PRIVATE "-Wall"
5455 PRIVATE "-Wextra"
5556 PRIVATE "-pedantic"
@@ -60,8 +61,8 @@ target_compile_options(beagle-config
6061
6162# Useful for debugging and find
6263if (BEAGLE_CONFIG_SANITIZE)
63- target_compile_options (beagle-config PRIVATE -fsanitize=address,leak,undefined )
64- target_link_libraries (beagle-config PRIVATE -fsanitize=address,leak,undefined )
64+ target_compile_options (${ PROJECT_NAME } PRIVATE -fsanitize=address,leak,undefined )
65+ target_link_libraries (${ PROJECT_NAME } PRIVATE -fsanitize=address,leak,undefined )
6566endif ()
6667
6768set (git_version "unknown" )
@@ -86,3 +87,29 @@ configure_file(
8687 ${CMAKE_CURRENT_SOURCE_DIR } /src/environment.hpp.in
8788 ${CMAKE_CURRENT_BINARY_DIR } /src/environment.hpp
8889)
90+
91+ if (ARMHF_DEB)
92+
93+ set (ARCHITECTURE "armhf" )
94+ set (CPACK_GENERATOR "DEB" )
95+ set (CPACK_SOURCE_GENERATOR "TGZ" )
96+ set (CPACK_DEBIAN_PACKAGE_MAINTAINER "Shreyas Atre" )
97+ set (CPACK_PACKAGE_CONTACT "Shreyas Atre shreyasatre16@gmail.com" )
98+ set (CPACK_PACKAGE_VERSION "${CMAKE_PROJECT_VERSION} -${git_version} " )
99+ set (CPACK_DEBIAN_PACKAGE_NAME "${CMAKE_PROJECT_NAME } " )
100+ set (CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${ARCHITECTURE} )
101+ set (CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME } -${CMAKE_PROJECT_VERSION} -${git_version} -${ARCHITECTURE} " )
102+ set (CPACK_DEBIAN_PACKAGE_DESCRIPTION "Configure your beaglebone device" )
103+ set (CPACK_DEBIAN_PACKAGE_PRIORITY "standard" )
104+ set (CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/SAtacker/beagle-config" )
105+ set (CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX } " )
106+ set (CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR } /README.md" )
107+ set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR } /LICENSE" )
108+ set (CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR } /README.md" )
109+ set (CPACK_RESOURCE_FILE_WELCOME "${CMAKE_SOURCE_DIR } /README.md" )
110+ set (CPACK_SOURCE_IGNORE_FILES "${CMAKE_SOURCE_DIR } /build/;${CMAKE_SOURCE_DIR } /.git/" )
111+ set (CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_SOURCE_DIR } /script/postinst" )
112+
113+ include (CPack )
114+
115+ endif (ARMHF_DEB )
0 commit comments