Commit 486ec29b by Derek Mauro Committed by Copybara-Service

Release the batch files used to test Abseil with MSVC

PiperOrigin-RevId: 521450545
Change-Id: Ia4fe02a57d23411f0a80443c0ad89dfaf4117a37
parent e46a87a1
:: Copyright 2023 The Abseil Authors
::
:: 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
::
:: https://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.
SETLOCAL ENABLEDELAYEDEXPANSION
:: Change directory to the root of the project.
CD %~dp0\..
if %errorlevel% neq 0 EXIT /B 1
:: Set the standard version, [c++14|c++latest]
:: https://msdn.microsoft.com/en-us/library/mt490614.aspx
:: The default is c++14 if not set on command line.
IF "%STD%"=="" SET STD=c++14
:: Set the compilation_mode (fastbuild|opt|dbg)
:: https://docs.bazel.build/versions/master/user-manual.html#flag--compilation_mode
:: The default is fastbuild
IF "%COMPILATION_MODE%"=="" SET COMPILATION_MODE=fastbuild
:: Do not skip time_test by default (https://b/163035516).
IF "%SKIP_TIME_TESTS_BROKEN_ON_MSVC_OPT%"=="" SET SKIP_TIME_TESTS_BROKEN_ON_MSVC_OPT=0
:: Copy the alternate option file, if specified.
IF NOT "%ALTERNATE_OPTIONS%"=="" copy %ALTERNATE_OPTIONS% absl\base\options.h
:: To upgrade Bazel, first download a new binary from
:: https://github.com/bazelbuild/bazel/releases and copy it to
:: /google/data/rw/teams/absl/kokoro/windows.
%KOKORO_GFILE_DIR%\bazel-5.1.1-windows-x86_64.exe ^
test ... ^
--compilation_mode=%COMPILATION_MODE% ^
--copt=/WX ^
--copt=/std:%STD% ^
--copt=/DABSL_SKIP_TIME_TESTS_BROKEN_ON_MSVC_OPT=%SKIP_TIME_TESTS_BROKEN_ON_MSVC_OPT% ^
--define=absl=1 ^
--distdir=%KOKORO_GFILE_DIR%\distdir ^
--features=external_include_paths ^
--keep_going ^
--test_env="GTEST_INSTALL_FAILURE_SIGNAL_HANDLER=1" ^
--test_env=TZDIR="%CD%\absl\time\internal\cctz\testdata\zoneinfo" ^
--test_output=errors ^
--test_tag_filters=-benchmark
if %errorlevel% neq 0 EXIT /B 1
EXIT /B 0
:: Copyright 2023 The Abseil Authors
::
:: 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
::
:: https://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.
SETLOCAL ENABLEDELAYEDEXPANSION
SET ABSL_GOOGLETEST_COMMIT=934542165899c786cb5d8a710529c37184730183
IF EXIST %KOKORO_GFILE_DIR%\distdir\%ABSL_GOOGLETEST_COMMIT%.zip (
SET ABSL_GOOGLETEST_DOWNLOAD_URL=file://%KOKORO_GFILE_DIR%\distdir\%ABSL_GOOGLETEST_COMMIT%.zip
) ELSE (
SET ABSL_GOOGLETEST_DOWNLOAD_URL=https://github.com/google/googletest/archive/%ABSL_GOOGLETEST_COMMIT%.zip
)
:: Replace '\' with '/' in Windows paths for CMake.
:: Note that this cannot go inside the IF block above, because BAT files are weird.
SET ABSL_GOOGLETEST_DOWNLOAD_URL=%ABSL_GOOGLETEST_DOWNLOAD_URL:\=/%
IF EXIST "C:\Program Files\CMake\bin\" (
SET CMAKE_BIN="C:\Program Files\CMake\bin\cmake.exe"
SET CTEST_BIN="C:\Program Files\CMake\bin\ctest.exe"
) ELSE (
SET CMAKE_BIN="cmake.exe"
SET CTEST_BIN="ctest.exe"
)
SET CTEST_OUTPUT_ON_FAILURE=1
SET CMAKE_BUILD_PARALLEL_LEVEL=16
SET CTEST_PARALLEL_LEVEL=16
:: Change directory to the root of the project.
CD %~dp0\..
if %errorlevel% neq 0 EXIT /B 1
SET TZDIR=%CD%\absl\time\internal\cctz\testdata\zoneinfo
MKDIR "build"
CD "build"
SET CXXFLAGS="/WX"
%CMAKE_BIN% ^
-DABSL_BUILD_TEST_HELPERS=ON ^
-DABSL_BUILD_TESTING=ON ^
-DABSL_GOOGLETEST_DOWNLOAD_URL=%ABSL_GOOGLETEST_DOWNLOAD_URL% ^
-DBUILD_SHARED_LIBS=%ABSL_CMAKE_BUILD_SHARED% ^
-DCMAKE_CXX_STANDARD=%ABSL_CMAKE_CXX_STANDARD% ^
-G "%ABSL_CMAKE_GENERATOR%" ^
..
IF %errorlevel% neq 0 EXIT /B 1
%CMAKE_BIN% --build . --target ALL_BUILD --config %ABSL_CMAKE_BUILD_TYPE%
IF %errorlevel% neq 0 EXIT /B 1
%CTEST_BIN% -C %ABSL_CMAKE_BUILD_TYPE% -E "absl_lifetime_test|absl_symbolize_test"
IF %errorlevel% neq 0 EXIT /B 1
EXIT /B 0
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment