diff --git a/CMakeLists.txt b/CMakeLists.txt index 6997d7e5..cff21dec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,10 @@ cmake_minimum_required(VERSION 3.10) +if (NOT (CMAKE_VERSION VERSION_LESS "3.14")) + cmake_policy(SET CMP0091 NEW) +endif () + set(PACKAGE_BUGREPORT "http://github.com/GoogleCloudPlatform/functions-framework-cpp") project( @@ -30,6 +34,12 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) +if (VCPKG_TARGET_TRIPLET MATCHES "-static$") + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") +else () + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") +endif () + include(CTest) include(FunctionsFrameworkCppHelpers) add_subdirectory(google/cloud/functions) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 3dea62a6..3d98f9c4 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -63,6 +63,7 @@ functions_framework_cpp_add_common_options(functions_framework_examples) if (MSVC) set_property( SOURCE site/tips_gcp_apis/tips_gcp_apis.cc site/env_vars/env_vars.cc + site/tutorial_cloud_spanner/tutorial_cloud_spanner.cc APPEND PROPERTY COMPILE_DEFINITIONS _CRT_SECURE_NO_WARNINGS) endif () diff --git a/examples/site/testing_pubsub/CMakeLists.txt b/examples/site/testing_pubsub/CMakeLists.txt index e1484a3d..3f2fdb02 100644 --- a/examples/site/testing_pubsub/CMakeLists.txt +++ b/examples/site/testing_pubsub/CMakeLists.txt @@ -50,4 +50,10 @@ if (BUILD_TESTING) target_link_libraries( pubsub_system_test PRIVATE google-cloud-cpp::pubsub fmt::fmt Boost::log GTest::gmock_main GTest::gmock GTest::gtest) + if (MSVC) + set_property( + SOURCE pubsub_system_test.cc + APPEND + PROPERTY COMPILE_DEFINITIONS _CRT_SECURE_NO_WARNINGS) + endif () endif () diff --git a/examples/site/testing_storage/CMakeLists.txt b/examples/site/testing_storage/CMakeLists.txt index 5860d6bf..05db0e88 100644 --- a/examples/site/testing_storage/CMakeLists.txt +++ b/examples/site/testing_storage/CMakeLists.txt @@ -50,4 +50,10 @@ if (BUILD_TESTING) storage_system_test PRIVATE google-cloud-cpp::storage fmt::fmt Boost::log GTest::gmock_main GTest::gmock GTest::gtest) + if (MSVC) + set_property( + SOURCE storage_system_test.cc + APPEND + PROPERTY COMPILE_DEFINITIONS _CRT_SECURE_NO_WARNINGS) + endif () endif () diff --git a/examples/site_test.cc b/examples/site_test.cc index 288d13ff..b9e26935 100644 --- a/examples/site_test.cc +++ b/examples/site_test.cc @@ -128,7 +128,7 @@ lUtj+/nH3HDQjM4ltYfTPUg= std::ofstream(filename) << keyfile.dump() << "\n"; google::cloud::functions_internal::SetEnv("GOOGLE_APPLICATION_CREDENTIALS", - filename); + filename.string()); EXPECT_THROW(bearer_token(gcf::HttpRequest{}), std::exception); EXPECT_NO_THROW( diff --git a/google/cloud/functions/internal/base64_decode.cc b/google/cloud/functions/internal/base64_decode.cc index 038cb47e..38c9a721 100644 --- a/google/cloud/functions/internal/base64_decode.cc +++ b/google/cloud/functions/internal/base64_decode.cc @@ -15,6 +15,7 @@ #include "google/cloud/functions/internal/base64_decode.h" #include #include +#include namespace google::cloud::functions_internal { inline namespace FUNCTIONS_FRAMEWORK_CPP_NS {