diff --git a/cmake-modules/AddTestCMocka.cmake b/cmake-modules/AddTestCMocka.cmake index bb2883233c..d607e25cb3 100644 --- a/cmake-modules/AddTestCMocka.cmake +++ b/cmake-modules/AddTestCMocka.cmake @@ -77,7 +77,21 @@ function(ADD_CMOCKA_TEST _TARGET_NAME) endif() if(DEFINED ENV{VCPKG_ROOT} OR DEFINED ENV{VCPKG_INSTALLATION_ROOT}) - set(CMOCKA_LIB ${CMOCKA_LIBRARIES}) + if(DEFINED ENV{VCPKG_ROOT}) + set(VCPKG_PATH $ENV{VCPKG_ROOT}) + endif() + if(DEFINED ENV{VCPKG_INSTALLATION_ROOT}) + set(VCPKG_PATH "$ENV{VCPKG_INSTALLATION_ROOT}/") + endif() + + # Patch for new VCPKG cmocka returning relative path + if(MSVC) + set(CMOCKA_STATIC_LIB "/lib/cmocka-static.lib") + else() + set(CMOCKA_STATIC_LIB "/lib/libcmocka-static.a") + endif() + set(CMOCKA_PREFIX "${VCPKG_PATH}installed/${VCPKG_TARGET_TRIPLET}") + set(CMOCKA_LIB "debug;${CMOCKA_PREFIX}/debug${CMOCKA_STATIC_LIB};optimized;${CMOCKA_PREFIX}${CMOCKA_STATIC_LIB}") else() set(CMOCKA_LIB cmocka) endif()