update
This commit is contained in:
parent
cbbe5f32fb
commit
1cdae6b0d8
38
utils.cmake
38
utils.cmake
|
@ -527,6 +527,10 @@ function(setup_project)
|
||||||
set(__meta_target ${PROJECT_NAME}_METADATA)
|
set(__meta_target ${PROJECT_NAME}_METADATA)
|
||||||
if(NOT TARGET ${__meta_target})
|
if(NOT TARGET ${__meta_target})
|
||||||
add_custom_target(${__meta_target})
|
add_custom_target(${__meta_target})
|
||||||
|
define_property(TARGET PROPERTY __PROJECT_LICENSE_HEADER) # INHERITED
|
||||||
|
define_property(TARGET PROPERTY __PROJECT_MODIFY_LOST_WARNING) # INHERITED
|
||||||
|
define_property(TARGET PROPERTY __PROJECT_CONFIG_PREFIX) # INHERITED
|
||||||
|
define_property(TARGET PROPERTY __PROJECT_VERSION_PREFIX) # INHERITED
|
||||||
endif()
|
endif()
|
||||||
if(arg_LICENSE_HEADER)
|
if(arg_LICENSE_HEADER)
|
||||||
set_target_properties(${__meta_target} PROPERTIES __PROJECT_LICENSE_HEADER "${arg_LICENSE_HEADER}")
|
set_target_properties(${__meta_target} PROPERTIES __PROJECT_LICENSE_HEADER "${arg_LICENSE_HEADER}")
|
||||||
|
@ -2027,6 +2031,7 @@ function(generate_project_config)
|
||||||
message(AUTHOR_WARNING "generate_project_config: The modification lost warning is not set.")
|
message(AUTHOR_WARNING "generate_project_config: The modification lost warning is not set.")
|
||||||
endif()
|
endif()
|
||||||
set(__inc_guard "_${PROJECT_NAME}_CONFIG_INCLUDE_GUARD_")
|
set(__inc_guard "_${PROJECT_NAME}_CONFIG_INCLUDE_GUARD_")
|
||||||
|
string(TOUPPER "${__inc_guard}" __inc_guard)
|
||||||
set(__options "")
|
set(__options "")
|
||||||
foreach(__raw_option ${__raw_options})
|
foreach(__raw_option ${__raw_options})
|
||||||
set(__length -1)
|
set(__length -1)
|
||||||
|
@ -2084,54 +2089,74 @@ function(query_git_information)
|
||||||
endif()
|
endif()
|
||||||
#message(STATUS "Git found: ${GIT_EXECUTABLE} (version ${GIT_VERSION_STRING})")
|
#message(STATUS "Git found: ${GIT_EXECUTABLE} (version ${GIT_VERSION_STRING})")
|
||||||
if(arg_HASH)
|
if(arg_HASH)
|
||||||
|
set(__hash "")
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND "${GIT_EXECUTABLE}" log -1 --pretty=format:%H
|
COMMAND "${GIT_EXECUTABLE}" log -1 --pretty=format:%H
|
||||||
OUTPUT_VARIABLE ${arg_HASH}
|
OUTPUT_VARIABLE __hash
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
ERROR_QUIET
|
ERROR_QUIET
|
||||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||||
RESULT_VARIABLE __result_code
|
RESULT_VARIABLE __result_code
|
||||||
)
|
)
|
||||||
|
if(__result_code EQUAL 0)
|
||||||
|
set(${arg_HASH} "${__hash}" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(arg_SUBJECT)
|
if(arg_SUBJECT)
|
||||||
|
set(__subject "")
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND "${GIT_EXECUTABLE}" log -1 --pretty=format:%s
|
COMMAND "${GIT_EXECUTABLE}" log -1 --pretty=format:%s
|
||||||
OUTPUT_VARIABLE ${arg_SUBJECT}
|
OUTPUT_VARIABLE __subject
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
ERROR_QUIET
|
ERROR_QUIET
|
||||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||||
RESULT_VARIABLE __result_code
|
RESULT_VARIABLE __result_code
|
||||||
)
|
)
|
||||||
|
if(__result_code EQUAL 0)
|
||||||
|
set(${arg_SUBJECT} "${__subject}" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(arg_AUTHOR)
|
if(arg_AUTHOR)
|
||||||
|
set(__author "")
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND "${GIT_EXECUTABLE}" log -1 --pretty=format:"%aN (%aE)"
|
COMMAND "${GIT_EXECUTABLE}" log -1 --pretty=format:"%aN (%aE)"
|
||||||
OUTPUT_VARIABLE ${arg_AUTHOR}
|
OUTPUT_VARIABLE __author
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
ERROR_QUIET
|
ERROR_QUIET
|
||||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||||
RESULT_VARIABLE __result_code
|
RESULT_VARIABLE __result_code
|
||||||
)
|
)
|
||||||
|
if(__result_code EQUAL 0)
|
||||||
|
set(${arg_AUTHOR} "${__author}" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(arg_DATETIME)
|
if(arg_DATETIME)
|
||||||
|
set(__datetime "")
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND "${GIT_EXECUTABLE}" log -1 --pretty=format:%aI
|
COMMAND "${GIT_EXECUTABLE}" log -1 --pretty=format:%aI
|
||||||
OUTPUT_VARIABLE ${arg_DATETIME}
|
OUTPUT_VARIABLE __datetime
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
ERROR_QUIET
|
ERROR_QUIET
|
||||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||||
RESULT_VARIABLE __result_code
|
RESULT_VARIABLE __result_code
|
||||||
)
|
)
|
||||||
|
if(__result_code EQUAL 0)
|
||||||
|
set(${arg_DATETIME} "${__datetime}" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(arg_BRANCH)
|
if(arg_BRANCH)
|
||||||
|
set(__branch "")
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND "${GIT_EXECUTABLE}" symbolic-ref --quiet --short HEAD
|
COMMAND "${GIT_EXECUTABLE}" symbolic-ref --quiet --short HEAD
|
||||||
OUTPUT_VARIABLE ${arg_BRANCH}
|
OUTPUT_VARIABLE __branch
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
ERROR_QUIET
|
ERROR_QUIET
|
||||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||||
RESULT_VARIABLE __result_code
|
RESULT_VARIABLE __result_code
|
||||||
)
|
)
|
||||||
|
if(__result_code EQUAL 0)
|
||||||
|
set(${arg_BRANCH} "${__branch}" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
@ -2402,6 +2427,7 @@ function(generate_project_version)
|
||||||
set(__full_ver_hex "0x00000000")
|
set(__full_ver_hex "0x00000000")
|
||||||
math(EXPR __full_ver_hex "((${__major} & 0xff) << 24) | ((${__minor} & 0xff) << 16) | ((${__patch} & 0xff) << 8) | (${__tweak} & 0xff)" OUTPUT_FORMAT HEXADECIMAL)
|
math(EXPR __full_ver_hex "((${__major} & 0xff) << 24) | ((${__minor} & 0xff) << 16) | ((${__patch} & 0xff) << 8) | (${__tweak} & 0xff)" OUTPUT_FORMAT HEXADECIMAL)
|
||||||
set(__inc_guard "_${PROJECT_NAME}_VERSION_INCLUDE_GUARD_")
|
set(__inc_guard "_${PROJECT_NAME}_VERSION_INCLUDE_GUARD_")
|
||||||
|
string(TOUPPER "${__inc_guard}" __inc_guard)
|
||||||
set(__versions "")
|
set(__versions "")
|
||||||
set(__common_num "[[maybe_unused]] inline constexpr const unsigned long")
|
set(__common_num "[[maybe_unused]] inline constexpr const unsigned long")
|
||||||
set(__common_str "[[maybe_unused]] inline constexpr const char")
|
set(__common_str "[[maybe_unused]] inline constexpr const char")
|
||||||
|
@ -2477,7 +2503,7 @@ function(generate_project_version)
|
||||||
string(APPEND __versions "${__common_str} ${__prefix}_CMAKE_VERSION_STR[] = \"${CMAKE_VERSION}\";\n")
|
string(APPEND __versions "${__common_str} ${__prefix}_CMAKE_VERSION_STR[] = \"${CMAKE_VERSION}\";\n")
|
||||||
endif()
|
endif()
|
||||||
if(arg_GENERATOR)
|
if(arg_GENERATOR)
|
||||||
string(APPEND __versions "${__common_str} ${__prefix}_CMAKE_VERSION_STR[] = \"${CMAKE_GENERATOR}\";\n")
|
string(APPEND __versions "${__common_str} ${__prefix}_CMAKE_GENERATOR_STR[] = \"${CMAKE_GENERATOR}\";\n")
|
||||||
endif()
|
endif()
|
||||||
set(__version_content "${__license_header}
|
set(__version_content "${__license_header}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue