Skip to content

Commit

Permalink
detect application version based on git tag instead of hardcode
Browse files Browse the repository at this point in the history
  • Loading branch information
PonomarevDA committed Apr 17, 2024
1 parent ba861f0 commit db9c7d5
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 17 deletions.
16 changes: 16 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,22 @@ execute_process(
OUTPUT_VARIABLE GIT_HASH_SHORT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND rl-git-info --major
COMMAND_ERROR_IS_FATAL ANY
OUTPUT_VARIABLE APP_VERSION_MAJOR
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND rl-git-info --minor
COMMAND_ERROR_IS_FATAL ANY
OUTPUT_VARIABLE APP_VERSION_MINOR
OUTPUT_STRIP_TRAILING_WHITESPACE
)
add_definitions(-DAPP_VERSION_MAJOR=${APP_VERSION_MAJOR})
add_definitions(-DAPP_VERSION_MINOR=${APP_VERSION_MINOR})
add_definitions(-DHW_VERSION_MAJOR=2)
add_definitions(-DHW_VERSION_MINOR=1)
set(GIT_HASH "0x${GIT_HASH_SHORT}")
add_definitions(-DGIT_HASH=${GIT_HASH})

Expand Down
2 changes: 1 addition & 1 deletion Libs/Cyphal
2 changes: 1 addition & 1 deletion Libs/libparams
17 changes: 7 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ IS_SUBMODULE_INITIALIZED := $(shell find Libs/libparams -mindepth 1 | wc -l)

# Cyphal
NUNAVUT_OUT_DIR:=$(BUILD_DIR)/nunavut_out
IS_DSDL_GENERATED := $(shell find ${NUNAVUT_OUT_DIR} -mindepth 1 | wc -l)
IS_DSDL_GENERATED:=$(shell if [ -d ${NUNAVUT_OUT_DIR} ]; then find ${NUNAVUT_OUT_DIR} -mindepth 1 | wc -l; else echo 0; fi)
generate_dsdl:
mkdir -p ${NUNAVUT_OUT_DIR}
@if [ "$(IS_DSDL_GENERATED)" -eq 0 ]; then \
Expand All @@ -17,37 +17,34 @@ generate_dsdl:
else \
echo "[INFO] Cyphal DSDL: already generated. Skip."; \
fi
cyphal: check_submodules generate_dsdl clean autogenerate_git_related_headers
cyphal: check_submodules generate_dsdl clean
mkdir -p ${BUILD_OBJ_DIR}
cd ${BUILD_OBJ_DIR} && cmake -DCAN_PROTOCOL=cyphal ../.. && make
sitl_cyphal: check_submodules generate_dsdl clean autogenerate_git_related_headers
sitl_cyphal: check_submodules generate_dsdl clean
mkdir -p ${BUILD_OBJ_DIR}
cd ${BUILD_OBJ_DIR} && cmake -DCAN_PROTOCOL=cyphal -DUSE_PLATFORM_UBUNTU=1 ../.. && make

# Dronecan:
dronecan: check_submodules clean autogenerate_git_related_headers
dronecan: check_submodules clean
mkdir -p ${BUILD_OBJ_DIR}
cd ${BUILD_OBJ_DIR} && cmake -DCAN_PROTOCOL=dronecan ../.. && make
sitl_dronecan: check_submodules clean autogenerate_git_related_headers
sitl_dronecan: check_submodules clean
mkdir -p ${BUILD_OBJ_DIR}
cd ${BUILD_OBJ_DIR} && cmake -DCAN_PROTOCOL=dronecan -DUSE_PLATFORM_UBUNTU=1 ../.. && make

# Common:
check_submodules:
@if [ "$(IS_SUBMODULE_INITIALIZED)" -eq 0 ]; then \
echo "[Error]: submodules are empty. Please type: 'git submodule update --init --recursive'"; \
echo "[ERROR]: submodules check has been failed. Please type: 'git submodule update --init --recursive'"; \
exit 1; \
else \
echo "[INFO] Directory is fine"; \
echo "[INFO] Makefile: submodules check has been passed!"; \
fi
upload:
./scripts/tools/stm32/flash.sh ${BUILD_OBJ_DIR}/example.bin
run:
./scripts/tools/can/vcan.sh slcan0
./build/obj/example.out
autogenerate_git_related_headers:
mkdir -p ${BUILD_DIR}/src
./scripts/tools/stm32/generate_software_version.sh ${BUILD_DIR}/src
clean:
-rm -fR ${BUILD_OBJ_DIR}/
distclean:
Expand Down
4 changes: 0 additions & 4 deletions Src/dronecan_application/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@
cmake_path(GET CMAKE_CURRENT_LIST_DIR PARENT_PATH SRC_DIR)
cmake_path(GET SRC_DIR PARENT_PATH ROOT_DIR)

add_definitions(-DAPP_VERSION_MAJOR=0)
add_definitions(-DAPP_VERSION_MINOR=2)
add_definitions(-DHW_VERSION_MAJOR=2)
add_definitions(-DHW_VERSION_MINOR=1)
add_definitions(-DFLASH_DRIVER_STORAGE_FILE="${CMAKE_CURRENT_LIST_DIR}/default_params.yml")

include(${ROOT_DIR}/Libs/Dronecan/CMakeLists.txt)
Expand Down

0 comments on commit db9c7d5

Please sign in to comment.