diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -363,26 +363,39 @@ "" ${ARGN}) + # Set from arguments. if (NOT DEFINED ARG_VERSION_MAJOR) set(ARG_VERSION_MAJOR ${LLVM_VERSION_MAJOR}) endif() - if (NOT DEFINED ARG_VERSION_MINOR) set(ARG_VERSION_MINOR ${LLVM_VERSION_MINOR}) endif() - if (NOT DEFINED ARG_VERSION_PATCHLEVEL) set(ARG_VERSION_PATCHLEVEL ${LLVM_VERSION_PATCH}) endif() - if (NOT DEFINED ARG_VERSION_STRING) set(ARG_VERSION_STRING ${PACKAGE_VERSION}) endif() - if (NOT DEFINED ARG_PRODUCT_NAME) set(ARG_PRODUCT_NAME "LLVM") endif() + # Make sure to default integer fields in the case that version information + # is not defaulted above (can happen in out of tree projects). Leaving these + # blank causes the resource compiler to fail with obscure errors. + if (NOT ARG_VERSION_MAJOR) + set(ARG_VERSION_MAJOR 0) + endif() + if (NOT ARG_VERSION_MINOR) + set(ARG_VERSION_MINOR 0) + endif() + if (NOT ARG_VERSION_PATCHLEVEL) + set(ARG_VERSION_PATCHLEVEL 0) + endif() + if (NOT ARG_VERSION_STRING) + set(ARG_VERSION_STRING 0) + endif() + set_property(SOURCE ${resource_file} PROPERTY COMPILE_FLAGS /nologo) set_property(SOURCE ${resource_file}