44 lines
1.4 KiB
CMake
44 lines
1.4 KiB
CMake
|
include (ProjectVersioning)
|
||
|
|
||
|
function (generate_versioning_information
|
||
|
TARGET_NAME i_target_name
|
||
|
EXPORT_HEADER i_export_header
|
||
|
EXPORT_MACRO i_export_macro
|
||
|
VERSIONED_ENTITY i_versioned_entity
|
||
|
INCLUDE_PREFIX i_include_prefix
|
||
|
COMPANY_NAME i_company_name
|
||
|
COMPANY_COPYRIGHT i_company_copyright
|
||
|
FILE_DESCRIPTION i_file_description
|
||
|
)
|
||
|
target_version_information (
|
||
|
TARGET_NAME ${i_target_name}
|
||
|
EXPORT_HEADER ${i_export_header}
|
||
|
EXPORT_MACRO ${i_export_macro}
|
||
|
VERSIONED_ENTITY ${i_versioned_entity}
|
||
|
)
|
||
|
|
||
|
if (WIN32)
|
||
|
include (generate_product_version)
|
||
|
|
||
|
get_target_property (gitDescribe
|
||
|
${i_target_name} GIT_DESCRIBE)
|
||
|
|
||
|
get_target_property (gitUntracked
|
||
|
${i_target_name} GIT_UNTRACKED_FILES)
|
||
|
|
||
|
generate_product_version (
|
||
|
win32VersionInfoFiles
|
||
|
NAME ${i_versioned_entity}
|
||
|
VERSION_MAJOR ${${i_versioned_entity}_VERSION_MAJOR}
|
||
|
VERSION_MINOR ${${i_versioned_entity}_VERSION_MINOR}
|
||
|
VERSION_PATCH ${${i_versioned_entity}_VERSION_PATCH}
|
||
|
COMPANY_NAME ${i_company_name}
|
||
|
COMPANY_COPYRIGHT ${i_company_copyright}
|
||
|
COMMENTS "${gitDescribe}${gitUntracked}"
|
||
|
FILE_DESCRIPTION ${i_file_description}
|
||
|
)
|
||
|
|
||
|
target_sources (${i_target_name} PRIVATE ${win32VersionInfoFiles})
|
||
|
endif (WIN32)
|
||
|
endfunction (generate_versioning_information)
|