From: Dustin Graves Date: Tue, 31 May 2016 22:32:29 +0000 (-0600) Subject: cmake: Fix MSVCRT override X-Git-Tag: upstream/1.1.92~3040^2~76 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9507300766059bc17bff83b388aca6bd286a3c46;p=platform%2Fupstream%2FVulkan-Tools.git cmake: Fix MSVCRT override Fix the CMake code that overrides the /MD flag with the /MT flag for the Windows demo and loader projects. The CMake debug and release variables were set to /MTd and /MT, overriding all existing debug and release settings. Now replacing /MD with /MT in the debug and release variables, without losing other debug/release settings. Also performing the MD/MT substitution for all release and debug configurations. Change-Id: Id4a57c38bde0d909a95e7a49d9867029829e2c61 --- diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt index 7d8681a..652efb7 100644 --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt @@ -28,8 +28,13 @@ if(WIN32) set (BUILDTGT_DIR build32) endif() - set(CMAKE_C_FLAGS_DEBUG "-MTd") - set(CMAKE_C_FLAGS_RELEASE "-MT") + # Use static MSVCRT libraries + foreach(configuration in CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO + CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO) + if(${configuration} MATCHES "/MD") + string(REGEX REPLACE "/MD" "/MT" ${configuration} "${${configuration}}") + endif() + endforeach() add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/tri-vert.spv COMMAND ${GLSLANG_VALIDATOR} -s -V ${PROJECT_SOURCE_DIR}/demos/tri.vert diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt index 2c3b245..f47ee58 100644 --- a/loader/CMakeLists.txt +++ b/loader/CMakeLists.txt @@ -37,8 +37,14 @@ set (OPT_LOADER_SRCS set (LOADER_SRCS ${NORMAL_LOADER_SRCS} ${OPT_LOADER_SRCS}) if (WIN32) - set(CMAKE_C_FLAGS_DEBUG "-MTd") - set(CMAKE_C_FLAGS_RELEASE "-MT") + # Use static MSVCRT libraries + foreach(configuration in CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO + CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO) + if(${configuration} MATCHES "/MD") + string(REGEX REPLACE "/MD" "/MT" ${configuration} "${${configuration}}") + endif() + endforeach() + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS") # Build dev_ext_trampoline.c with -O2 to allow tail-call optimization. # Build other C files with normal options