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..0cf1f353 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_TUTORIAL_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")