From 16d4eabb97777321c50163f0f87836b85eb1b320 Mon Sep 17 00:00:00 2001 From: luciouskami Date: Thu, 7 Jul 2022 18:59:40 +0800 Subject: [PATCH 1/2] [fix] fix runtime error --- CMakeLists.txt | 2 +- tutorial/CMakeLists.txt | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 79b15305..ddce9a4a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,7 +60,7 @@ foreach(header_file ${INCLUDE_HEADERS} ${INCLUDE_KERNEL_HEADERS}) endforeach() if (WIN32) - if (SRPC_TUTORIAL_BUILD_STATIC_RUNTIME) + if (WORKFLOW_BUILD_STATIC_RUNTIME) set(CompilerFlags CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG diff --git a/tutorial/CMakeLists.txt b/tutorial/CMakeLists.txt index 0b65676a..498fee0c 100644 --- a/tutorial/CMakeLists.txt +++ b/tutorial/CMakeLists.txt @@ -6,6 +6,10 @@ project(tutorial LANGUAGES C CXX ) +if (WIN32) + option(WORKFLOW_TUTORIAL_BUILD_STATIC_RUNTIME "Use static runtime" ON) +endif () + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}) find_library(LIBRT rt) @@ -14,6 +18,24 @@ find_package(workflow REQUIRED CONFIG HINTS ..) include_directories(${OPENSSL_INCLUDE_DIR} ${WORKFLOW_INCLUDE_DIR}) link_directories(${WORKFLOW_LIB_DIR}) +if (WIN32) + if (WORKFLOW_BUILD_STATIC_RUNTIME) + set(CompilerFlags + CMAKE_CXX_FLAGS + CMAKE_CXX_FLAGS_DEBUG + CMAKE_CXX_FLAGS_RELEASE + CMAKE_CXX_FLAGS_MINSIZEREL + CMAKE_C_FLAGS + CMAKE_C_FLAGS_DEBUG + CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL + ) + foreach(CompilerFlag ${CompilerFlags}) + string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}") + endforeach () + endif () +endif () + if (WIN32) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP /wd4200") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /wd4200 /Zc:__cplusplus /std:c++14") From 63a8b16d1907afa1bde1a1341758e2a157ee23c8 Mon Sep 17 00:00:00 2001 From: luciouskami Date: Thu, 7 Jul 2022 19:02:27 +0800 Subject: [PATCH 2/2] [fix] fix runtime error --- tutorial/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorial/CMakeLists.txt b/tutorial/CMakeLists.txt index 498fee0c..0cf1f353 100644 --- a/tutorial/CMakeLists.txt +++ b/tutorial/CMakeLists.txt @@ -19,7 +19,7 @@ include_directories(${OPENSSL_INCLUDE_DIR} ${WORKFLOW_INCLUDE_DIR}) link_directories(${WORKFLOW_LIB_DIR}) if (WIN32) - if (WORKFLOW_BUILD_STATIC_RUNTIME) + if (WORKFLOW_TUTORIAL_BUILD_STATIC_RUNTIME) set(CompilerFlags CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG