mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
build: Fix a warning from git describe
Fixed a fatal message when run `git describe`.
This commit is contained in:
parent
c0f5e58bdc
commit
7b68e346fa
@ -75,7 +75,9 @@ idf_get_git_revision()
|
||||
idf_check_config_target()
|
||||
|
||||
## get PROJECT_VER
|
||||
app_get_revision("${CMAKE_SOURCE_DIR}")
|
||||
if(NOT BOOTLOADER_BUILD)
|
||||
app_get_revision("${CMAKE_SOURCE_DIR}")
|
||||
endif()
|
||||
|
||||
# Add some idf-wide definitions
|
||||
idf_set_global_compile_options()
|
||||
|
@ -11,11 +11,13 @@ ifndef IS_BOOTLOADER_BUILD
|
||||
GET_PROJECT_VER ?=
|
||||
ifeq ("${PROJECT_VER}", "")
|
||||
ifeq ("$(wildcard ${PROJECT_PATH}/version.txt)","")
|
||||
GET_PROJECT_VER := $(shell cd ${PROJECT_PATH} && git describe --always --tags --dirty || echo "Not found git repo")
|
||||
ifeq ("${GET_PROJECT_VER}", "Not found git repo")
|
||||
$(info Project do not have git repo, it needs to get PROJECT_VER from `git describe` command.)
|
||||
GET_PROJECT_VER := ""
|
||||
|
||||
GET_PROJECT_VER := $(shell cd ${PROJECT_PATH} && git describe --always --tags --dirty 2> /dev/null)
|
||||
ifeq ("${GET_PROJECT_VER}", "")
|
||||
GET_PROJECT_VER := "1"
|
||||
$(info Project is not inside a git repository, will not use 'git describe' to determine PROJECT_VER.)
|
||||
endif
|
||||
|
||||
else
|
||||
# read from version.txt
|
||||
GET_PROJECT_VER := $(shell cat ${PROJECT_PATH}/version.txt)
|
||||
@ -24,7 +26,7 @@ endif
|
||||
# If ``PROJECT_VER`` variable set in project Makefile file, its value will be used.
|
||||
# Else, if the ``$PROJECT_PATH/version.txt`` exists, its contents will be used as ``PROJECT_VER``.
|
||||
# Else, if the project is located inside a Git repository, the output of git describe will be used.
|
||||
# Otherwise, ``PROJECT_VER`` will be empty.
|
||||
# Otherwise, ``PROJECT_VER`` will be "1".
|
||||
|
||||
ifeq ("${PROJECT_VER}", "")
|
||||
PROJECT_VER:= $(GET_PROJECT_VER)
|
||||
|
@ -330,7 +330,7 @@ The following variables are set at the project level, but available for use in c
|
||||
* If ``PROJECT_VER`` variable set in project CMakeLists.txt file, its value will be used.
|
||||
* Else, if the ``$PROJECT_PATH/version.txt`` exists, its contents will be used as ``PROJECT_VER``.
|
||||
* Else, if the project is located inside a Git repository, the output of git describe will be used.
|
||||
* Otherwise, ``PROJECT_VER`` will be empty.
|
||||
* Otherwise, ``PROJECT_VER`` will be "1".
|
||||
|
||||
If you modify any of these variables inside ``CMakeLists.txt`` then this will not prevent other components from building but it may make your component hard to build and/or debug.
|
||||
|
||||
|
@ -192,7 +192,7 @@ The following variables are set at the project level, but exported for use in th
|
||||
* If ``PROJECT_VER`` variable set in project Makefile file, its value will be used.
|
||||
* Else, if the ``$PROJECT_PATH/version.txt`` exists, its contents will be used as ``PROJECT_VER``.
|
||||
* Else, if the project is located inside a Git repository, the output of git describe will be used.
|
||||
* Otherwise, ``PROJECT_VER`` will be empty.
|
||||
* Otherwise, ``PROJECT_VER`` will be "1".
|
||||
|
||||
If you modify any of these variables inside ``component.mk`` then this will not prevent other components from building but it may make your component hard to build and/or debug.
|
||||
|
||||
|
@ -227,19 +227,24 @@ endfunction()
|
||||
# If PROJECT_VER variable set in project CMakeLists.txt file, its value will be used.
|
||||
# Else, if the _project_path/version.txt exists, its contents will be used as PROJECT_VER.
|
||||
# Else, if the project is located inside a Git repository, the output of git describe will be used.
|
||||
# Otherwise, PROJECT_VER will be empty.
|
||||
# Otherwise, PROJECT_VER will be "1".
|
||||
function(app_get_revision _project_path)
|
||||
git_describe(PROJECT_VER_GIT "${_project_path}")
|
||||
if(NOT DEFINED PROJECT_VER)
|
||||
if(EXISTS "${_project_path}/version.txt")
|
||||
file(STRINGS "${_project_path}/version.txt" PROJECT_VER)
|
||||
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${_project_path}/version.txt")
|
||||
else()
|
||||
set(PROJECT_VER ${PROJECT_VER_GIT})
|
||||
git_describe(PROJECT_VER_GIT "${_project_path}")
|
||||
if(PROJECT_VER_GIT)
|
||||
set(PROJECT_VER ${PROJECT_VER_GIT})
|
||||
else()
|
||||
message(STATUS "Project is not inside a git repository, \
|
||||
will not use 'git describe' to determine PROJECT_VER.")
|
||||
set(PROJECT_VER "1")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
message(STATUS "Project version: ${PROJECT_VER}")
|
||||
git_submodule_check("${_project_path}")
|
||||
set(PROJECT_VER ${PROJECT_VER} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user