From a116e6081d0281174a7834fa9c1b4d6a57df2a62 Mon Sep 17 00:00:00 2001 From: Isaac Torres Date: Wed, 9 Feb 2022 15:50:05 -0700 Subject: [PATCH 1/3] Function For Emmiting Project Info --- WriteMetadata.cmake | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 WriteMetadata.cmake diff --git a/WriteMetadata.cmake b/WriteMetadata.cmake new file mode 100644 index 0000000..3d55c43 --- /dev/null +++ b/WriteMetadata.cmake @@ -0,0 +1,22 @@ +# +# Copyright (C) 2022 Swift Navigation Inc. +# Contact: Swift Navigation +# +# This source is subject to the license found in the file 'LICENSE' which must +# be be distributed together with this source. All other rights reserved. +# +# THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, +# EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. +# + +# Writes project metadata to a json file at the build root. +function(write_metadata) + if(NOT ${PROJECT_NAME} STREQUAL ${CMAKE_PROJECT_NAME}) + return() + endif() + + file(WRITE ${CMAKE_BINARY_DIR}/project.json " { \"project\": \"${CMAKE_PROJECT_NAME}\" }") + +endfunction() + From 68446099aeeef2049573ddc3a698872925b0d657 Mon Sep 17 00:00:00 2001 From: Isaac Torres Date: Tue, 15 Feb 2022 15:32:32 -0700 Subject: [PATCH 2/3] Add Commit Hash to Metadata --- WriteMetadata.cmake | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/WriteMetadata.cmake b/WriteMetadata.cmake index 3d55c43..fa803c0 100644 --- a/WriteMetadata.cmake +++ b/WriteMetadata.cmake @@ -16,7 +16,15 @@ function(write_metadata) return() endif() - file(WRITE ${CMAKE_BINARY_DIR}/project.json " { \"project\": \"${CMAKE_PROJECT_NAME}\" }") + # TODO: Make sure this executes successfully + execute_process( + COMMAND git rev-parse --short HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE SHA + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + file(WRITE ${CMAKE_BINARY_DIR}/project.json " { \"project\": \"${CMAKE_PROJECT_NAME}\", \"sha\": \"${SHA}\" }") endfunction() From 391f093f5994f7239181ca2c93dca99a9e05b47f Mon Sep 17 00:00:00 2001 From: Isaac Torres Date: Tue, 15 Feb 2022 16:36:18 -0700 Subject: [PATCH 3/3] Improve Readability --- WriteMetadata.cmake | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/WriteMetadata.cmake b/WriteMetadata.cmake index fa803c0..932e6d7 100644 --- a/WriteMetadata.cmake +++ b/WriteMetadata.cmake @@ -24,7 +24,12 @@ function(write_metadata) OUTPUT_STRIP_TRAILING_WHITESPACE ) - file(WRITE ${CMAKE_BINARY_DIR}/project.json " { \"project\": \"${CMAKE_PROJECT_NAME}\", \"sha\": \"${SHA}\" }") + set(project_data "\"project\": \"${CMAKE_PROJECT_NAME}\"") + set(sha_data "\"sha\": \"${SHA}\"") + set(compiler_data "\"compiler\": \"${CMAKE_C_COMPILER_ID}-${CMAKE_C_COMPILER_VERSION}\"") -endfunction() + set(payload "{ ${project_data}, ${sha_data}, ${compiler_data} }") + + file(WRITE ${CMAKE_BINARY_DIR}/project.json ${payload}) +endfunction()