summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2020-03-02 22:10:47 -0700
committerGitHub <noreply@github.com>2020-03-02 22:10:47 -0700
commitd53b8aa524a3ea2cce3fc323f4ac3885fcdc04aa (patch)
treeb01ea6b8ce19d902ec596e920e7c52d612e1efd2 /cmake
parent32e336155340a4c975808cf9c6a4a9f963983499 (diff)
downloadbcm5719-ortega-d53b8aa524a3ea2cce3fc323f4ac3885fcdc04aa.tar.gz
bcm5719-ortega-d53b8aa524a3ea2cce3fc323f4ac3885fcdc04aa.zip
release: Add support for generating a release package. (#54)
Diffstat (limited to 'cmake')
-rw-r--r--cmake/arm.cmake4
-rw-r--r--cmake/config.cmake5
-rw-r--r--cmake/cpack.cmake64
-rw-r--r--cmake/mips.cmake5
4 files changed, 75 insertions, 3 deletions
diff --git a/cmake/arm.cmake b/cmake/arm.cmake
index 5f4f3de..7cbad40 100644
--- a/cmake/arm.cmake
+++ b/cmake/arm.cmake
@@ -10,7 +10,7 @@
###
################################################################################
###
-### @copyright Copyright (c) 2018, Evan Lojewski
+### @copyright Copyright (c) 2018-2020, Evan Lojewski
### @cond
###
### All rights reserved.
@@ -75,6 +75,8 @@ function(arm_add_executable target)
DEPENDS ${target} bin2c
VERBATIM)
+ set_target_properties(${target} PROPERTIES RESOURCE ${CMAKE_CURRENT_BINARY_DIR}/${target}.bin)
+
# Add host binary
add_library(${target}-binary EXCLUDE_FROM_ALL ${target}.c)
endfunction(arm_add_executable)
diff --git a/cmake/config.cmake b/cmake/config.cmake
index 7085146..60ddeff 100644
--- a/cmake/config.cmake
+++ b/cmake/config.cmake
@@ -10,7 +10,7 @@
###
################################################################################
###
-### @copyright Copyright (c) 2018, Evan Lojewski
+### @copyright Copyright (c) 2018-2020, Evan Lojewski
### @cond
###
### All rights reserved.
@@ -57,3 +57,6 @@ include(${CMAKE_CURRENT_LIST_DIR}/mips.cmake)
# Settings and build rules for arm targets
include(${CMAKE_CURRENT_LIST_DIR}/arm.cmake)
+
+# Settings for generating release packages
+include(${CMAKE_CURRENT_LIST_DIR}/cpack.cmake)
diff --git a/cmake/cpack.cmake b/cmake/cpack.cmake
new file mode 100644
index 0000000..630ccba
--- /dev/null
+++ b/cmake/cpack.cmake
@@ -0,0 +1,64 @@
+################################################################################
+###
+### @file cpack.cmake
+###
+### @project
+###
+### @brief Release Pacakge configurations
+###
+################################################################################
+###
+################################################################################
+###
+### @copyright Copyright (c) 2020, Evan Lojewski
+### @cond
+###
+### All rights reserved.
+###
+### Redistribution and use in source and binary forms, with or without
+### modification, are permitted provided that the following conditions are met:
+### 1. Redistributions of source code must retain the above copyright notice,
+### this list of conditions and the following disclaimer.
+### 2. Redistributions in binary form must reproduce the above copyright notice,
+### this list of conditions and the following disclaimer in the documentation
+### and/or other materials provided with the distribution.
+### 3. Neither the name of the copyright holder nor the
+### names of its contributors may be used to endorse or promote products
+### derived from this software without specific prior written permission.
+###
+################################################################################
+###
+### THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+### AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+### IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+### ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+### LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+### CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+### SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+### INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+### CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+### ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+### POSSIBILITY OF SUCH DAMAGE.
+### @endcond
+################################################################################
+
+# Packaging support
+set(CPACK_PACKAGE_VENDOR "Evan Lojewski")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "bcm5719-fw")
+set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
+set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
+set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
+set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md")
+
+set(CPACK_GENERATOR "TGZ;ZIP")
+
+set(CPACK_SOURCE_GENERATOR "TGZ;ZIP")
+set(CPACK_SOURCE_IGNORE_FILES
+ /.git
+ /dist
+ /.*build.*
+ /\\\\.DS_Store
+)
+
+include(CPack)
diff --git a/cmake/mips.cmake b/cmake/mips.cmake
index ab41029..b46d47f 100644
--- a/cmake/mips.cmake
+++ b/cmake/mips.cmake
@@ -10,7 +10,7 @@
###
################################################################################
###
-### @copyright Copyright (c) 2018, Evan Lojewski
+### @copyright Copyright (c) 2018-2020, Evan Lojewski
### @cond
###
### All rights reserved.
@@ -64,6 +64,9 @@ function(mips_add_executable target)
TARGET ${target} POST_BUILD
COMMAND ${COMPILER_BASE}/bin/llvm-objcopy -O binary ${target} ${target}.bin
BYPRODUCTS ${target}.bin)
+
+ set_target_properties(${target} PROPERTIES RESOURCE ${CMAKE_CURRENT_BINARY_DIR}/${target}.bin)
+
endfunction(mips_add_executable)
# MIPS-specific libraries
OpenPOWER on IntegriCloud