diff --git a/utils.cmake b/utils.cmake index c12f5ac..343547e 100644 --- a/utils.cmake +++ b/utils.cmake @@ -1500,7 +1500,7 @@ END endfunction() function(generate_win32_manifest_file) - cmake_parse_arguments(MF_ARGS "UTF8_CODEPAGE;VISTA_COMPAT;WIN7_COMPAT;WIN8_COMPAT;WIN8_1_COMPAT;WIN10_COMPAT;WIN11_COMPAT;XAML_ISLANDS_COMPAT;REQUIRE_ADMIN" "PATH;ID;VERSION;DESCRIPTION" "" ${ARGN}) + cmake_parse_arguments(MF_ARGS "UTF8_CODEPAGE;VISTA_COMPAT;WIN7_COMPAT;WIN8_COMPAT;WIN8_1_COMPAT;WIN10_COMPAT;WIN11_COMPAT;XAML_ISLANDS_COMPAT;REQUIRE_ADMIN" "PATH;ID;VERSION;DESCRIPTION;ARCHITECTURE;LANGUAGE;PUBLIC_KEY_TOKEN" "" ${ARGN}) if(NOT MF_ARGS_PATH) message(AUTHOR_WARNING "generate_win32_manifest_file: You need to specify where to put the generated rc file for this function!") return() @@ -1514,7 +1514,7 @@ function(generate_win32_manifest_file) return() endif() set(__id "${MF_ARGS_ID}") - set(__version) + set(__version "") if(MF_ARGS_VERSION) if(MF_ARGS_VERSION MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+") set(__version "${MF_ARGS_VERSION}") @@ -1530,42 +1530,60 @@ function(generate_win32_manifest_file) else() set(__version "0.0.0.0") endif() - set(__description) + set(__architecture "") + if(MF_ARGS_ARCHITECTURE) + set(__architecture "${MF_ARGS_ARCHITECTURE}") + else() + set(__architecture "*") + endif() + set(__language "") + if(MF_ARGS_LANGUAGE) + set(__language "${MF_ARGS_LANGUAGE}") + else() + set(__language "*") + endif() + set(__public_key_token "") + if(MF_ARGS_PUBLIC_KEY_TOKEN) + set(__public_key_token "publicKeyToken=\"${MF_ARGS_PUBLIC_KEY_TOKEN}\" ") + endif() + set(__description "") if(MF_ARGS_DESCRIPTION) set(__description "${MF_ARGS_DESCRIPTION}") endif() - set(__execution_level) + set(__execution_level "") if(MF_ARGS_REQUIRE_ADMIN) set(__execution_level "requireAdministrator") else() set(__execution_level "asInvoker") endif() - set(__vista_compat) + set(__vista_compat "") if(MF_ARGS_VISTA_COMPAT) set(__vista_compat " ") endif() - set(__win7_compat) + set(__win7_compat "") if(MF_ARGS_WIN7_COMPAT) set(__win7_compat " ") endif() - set(__win8_compat) + set(__win8_compat "") if(MF_ARGS_WIN8_COMPAT) set(__win8_compat " ") endif() - set(__win8_1_compat) + set(__win8_1_compat "") if(MF_ARGS_WIN8_1_COMPAT) set(__win8_1_compat " ") endif() - set(__win10_11_compat) + set(__win10_11_compat "") if(MF_ARGS_WIN10_COMPAT OR MF_ARGS_WIN11_COMPAT) - set(__win10_11_compat " + set(__win10_11_compat " ") endif() - set(__xaml_islands_compat " + set(__xaml_islands_compat "") + if(MF_ARGS_XAML_ISLANDS_COMPAT) + set(__xaml_islands_compat " @@ -1585,7 +1603,8 @@ function(generate_win32_manifest_file) ") - set(__utf8_codepage) + endif() + set(__utf8_codepage "") if(MF_ARGS_UTF8_CODEPAGE) set(__utf8_codepage "UTF-8") endif() @@ -1594,7 +1613,7 @@ function(generate_win32_manifest_file) - + ${__description} @@ -1626,6 +1645,10 @@ function(generate_win32_manifest_file) True SegmentHeap ${__utf8_codepage} + True + True + True +