This is an automated email from the ASF dual-hosted git repository. aboda pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit 8f8136afb8fc3c8ec21e1ca7a98e63e8461d4437 Author: Marton Szasz <[email protected]> AuthorDate: Fri Jan 29 23:11:22 2021 +0100 MINIFICPP-1375 more robust UCRT search On some systems, the UCRT redistributable DLLs are not under "$ENV{WindowsSdkDir}Redist\\ucrt\\DLLs\\$ENV{Platform}", but at "$ENV{WindowsSdkDir}Redist\\$ENV{WindowsSDKVersion}ucrt\\DLLs\\$ENV{Platform}", contrary to MS docs. This commit tries the documented place first, then falls back to the observed one. Signed-off-by: Marton Szasz <[email protected]> MINIFICPP-1375 not finding ucrt is now a fatal error Signed-off-by: Arpad Boda <[email protected]> This closes #985 --- CMakeLists.txt | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d6f81d3..ff0024f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -650,13 +650,21 @@ if(WIN32) if (MSI_REDISTRIBUTE_UCRT_NONASL) set(UCRT_DIR_NAT "$ENV{WindowsSdkDir}Redist\\ucrt\\DLLs\\$ENV{Platform}") file(TO_CMAKE_PATH "${UCRT_DIR_NAT}" UCRT_DIR) - message("Using UCRT from ${UCRT_DIR}") - file(GLOB UCRT_DLLS "${UCRT_DIR}/*.dll") - file(COPY ${UCRT_DLLS} DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/ucrt") - install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/ucrt/" - DESTINATION bin - COMPONENT bin - ) + if (NOT EXISTS "${UCRT_DIR}") + set(UCRT_DIR_NAT "$ENV{WindowsSdkDir}Redist\\$ENV{WindowsSDKVersion}ucrt\\DLLs\\$ENV{Platform}") + file(TO_CMAKE_PATH "${UCRT_DIR_NAT}" UCRT_DIR) + endif() + if (NOT EXISTS "${UCRT_DIR}") + message(FATAL_ERROR "Couldn't find UCRT") + else() + message("Using UCRT from ${UCRT_DIR}") + file(GLOB UCRT_DLLS "${UCRT_DIR}/*.dll") + file(COPY ${UCRT_DLLS} DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/ucrt") + install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/ucrt/" + DESTINATION bin + COMPONENT bin + ) + endif() endif() if (INSTALLER_MERGE_MODULES)
