From 88b46a6ce9694a3d1ab3d9df27c019b70fa3ac51 Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Mon, 4 Jun 2018 22:35:57 -0600 Subject: make.bat : Fix clang+asan msbuild project generation --- build_files/windows/configure_msbuild.cmd | 7 +++---- build_files/windows/reset_variables.cmd | 4 +++- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'build_files') diff --git a/build_files/windows/configure_msbuild.cmd b/build_files/windows/configure_msbuild.cmd index eee21f568be..f8c2a87de8e 100644 --- a/build_files/windows/configure_msbuild.cmd +++ b/build_files/windows/configure_msbuild.cmd @@ -1,5 +1,3 @@ -set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -G "Visual Studio %BUILD_VS_VER% %BUILD_VS_YEAR%%WINDOWS_ARCH%" %TESTS_CMAKE_ARGS% - if "%BUILD_ARCH%"=="x64" ( set MSBUILD_PLATFORM=x64 ) else if "%BUILD_ARCH%"=="x86" ( @@ -11,9 +9,9 @@ if "%BUILD_ARCH%"=="x64" ( ) if "%WITH_CLANG%"=="1" ( - set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -T"LLVM-vs2017" + set CLANG_CMAKE_ARGS=-T"LLVM-vs2017" if "%WITH_ASAN%"=="1" ( - set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DWITH_COMPILER_ASAN=On + set ASAN_CMAKE_ARGS=-DWITH_COMPILER_ASAN=On ) ) else ( if "%WITH_ASAN%"=="1" ( @@ -21,6 +19,7 @@ if "%WITH_CLANG%"=="1" ( exit /b 1 ) ) +set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -G "Visual Studio %BUILD_VS_VER% %BUILD_VS_YEAR%%WINDOWS_ARCH%" %TESTS_CMAKE_ARGS% %CLANG_CMAKE_ARGS% %ASAN_CMAKE_ARGS% if NOT EXIST %BUILD_DIR%\nul ( mkdir %BUILD_DIR% diff --git a/build_files/windows/reset_variables.cmd b/build_files/windows/reset_variables.cmd index f933729b91c..a522ed7407f 100644 --- a/build_files/windows/reset_variables.cmd +++ b/build_files/windows/reset_variables.cmd @@ -22,4 +22,6 @@ set BUILD_SHOW_HASHES= set SHOW_HELP= set BUILD_WITH_NINJA= set WITH_CLANG= -set WITH_ASAN= \ No newline at end of file +set WITH_ASAN= +set CLANG_CMAKE_ARGS= +set ASAN_CMAKE_ARGS= -- cgit v1.2.3 From d860d23e1a9c41ded126e54cae3c05ed9b869805 Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Tue, 5 Jun 2018 07:25:37 -0600 Subject: make.bat: cache the vcredist directory. When run from make.bat the environment is setup correctly and the VCToolsRedistDir environment variable exists, on later invocations of cmake this may no longer be the case and a warning was emitted about the missing runtime. we can't rely on InstallRequiredSystemLibraries.cmake here since it uses the compiler version to figure out the correct location and it doesn't know how to deal with clang. --- build_files/cmake/platform/platform_win32.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'build_files') diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 6e049c0048f..ec70f11ea22 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -31,7 +31,8 @@ endif() if(CMAKE_C_COMPILER_ID MATCHES "Clang") set(MSVC_CLANG On) - set(MSVC_REDIST_DIR $ENV{VCToolsRedistDir}) + set(VC_TOOLS_DIR $ENV{VCToolsRedistDir} CACHE STRING "Location of the msvc redistributables") + set(MSVC_REDIST_DIR ${VC_TOOLS_DIR}) if (DEFINED MSVC_REDIST_DIR) file(TO_CMAKE_PATH ${MSVC_REDIST_DIR} MSVC_REDIST_DIR) else() -- cgit v1.2.3