git-subtree-dir: third_party/cpp/googleapis git-subtree-mainline:438050b3d9git-subtree-split:c873fd3aa1
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
# ~~~
 | 
						|
# Copyright 2019 Google LLC
 | 
						|
#
 | 
						|
# Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
# you may not use this file except in compliance with the License.
 | 
						|
# You may obtain a copy of the License at
 | 
						|
#
 | 
						|
#     http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
#
 | 
						|
# Unless required by applicable law or agreed to in writing, software
 | 
						|
# distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
# See the License for the specific language governing permissions and
 | 
						|
# limitations under the License.
 | 
						|
# ~~~
 | 
						|
 | 
						|
# When compiling against *-static vcpkg packages we need to use the static C++
 | 
						|
# runtime with MSVC. The default is to use the dynamic runtime, which does not
 | 
						|
# work in this case.  This seems to be the recommended way to change the
 | 
						|
# runtime:
 | 
						|
#
 | 
						|
# ~~~
 | 
						|
#  https://gitlab.kitware.com/cmake/community/wikis/FAQ#how-can-i-build-my-msvc-application-with-a-static-runtime
 | 
						|
# ~~~
 | 
						|
#
 | 
						|
# Note that currently we use VCPKG_TARGET_TRIPLET to determine if the static
 | 
						|
# runtime is needed. In the future we may need to use a more complex expression
 | 
						|
# to determine this, but this is a good start.
 | 
						|
#
 | 
						|
if (MSVC AND VCPKG_TARGET_TRIPLET MATCHES "-static$")
 | 
						|
    foreach (flag_var
 | 
						|
             CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
 | 
						|
             CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
 | 
						|
        if (${flag_var} MATCHES "/MD")
 | 
						|
            string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
 | 
						|
        endif ()
 | 
						|
    endforeach (flag_var)
 | 
						|
    unset(flag_var)
 | 
						|
endif ()
 |