| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- REM Copyright The OpenTelemetry Authors
- REM SPDX-License-Identifier: Apache-2.0
- @echo off
- REM +-------------------------------------------------------------------+
- REM | Autodetect and set up the build environment. |
- REM | Build Tools version may be specified as 1st argument. |
- REM +-------------------------------------------------------------------+
- REM | Description | Argument value |
- REM +-----------------------------------------+-------------------------+
- REM | Autodetect Visual Studio 2022 | vs2022 |
- REM | Visual Studio 2022 Enterprise | vs2022_enterprise |
- REM | Visual Studio 2022 Professional | vs2022_professional |
- REM | Visual Studio 2022 Community | vs2022_community |
- REM | Visual Studio 2022 Build Tools (no IDE) | vs2022_buildtools |
- REM | | |
- REM | Autodetect Visual Studio 2019 | vs2019 |
- REM | Visual Studio 2019 Enterprise | vs2019_enterprise |
- REM | Visual Studio 2019 Professional | vs2019_professional |
- REM | Visual Studio 2019 Community | vs2019_community |
- REM | Visual Studio 2019 Build Tools (no IDE) | vs2019_buildtools |
- REM | | |
- REM | Autodetect Visual Studio 2017 | vs2017 |
- REM | Visual Studio 2017 Enterprise | vs2017_enterprise |
- REM | Visual Studio 2017 Professional | vs2017_professional |
- REM | Visual Studio 2017 Community | vs2017_community |
- REM | Visual Studio 2017 Build Tools (no IDE) | vs2017_buildtools |
- REM | | |
- REM | Visual Studio 2015 Build Tools (no IDE) | vs2015 |
- REM | | |
- REM | LLVM Clang (any version) | clang |
- REM | LLVM Clang 9 | clang-9 |
- REM | LLVM Clang 10 | clang-10 |
- REM | LLVM Clang 11 | clang-11 |
- REM | LLVM Clang 11 | clang-12 |
- REM +-----------------------------------------+-------------------------+
- set "VSCMD_START_DIR=%CD%"
- if not defined ARCH (
- set ARCH=x64
- )
- if "%1" neq "" (
- goto %1
- )
- if defined BUILDTOOLS_VERSION (
- goto %BUILDTOOLS_VERSION%
- )
- :vs2022
- :vs2022_enterprise
- set TOOLS_VS2022_ENTERPRISE="%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
- if exist %TOOLS_VS2022_ENTERPRISE% (
- echo Building with vs2022 Enterprise...
- call %TOOLS_VS2022_ENTERPRISE% %ARCH%
- goto tools_configured
- )
- :vs2022_professional
- set TOOLS_VS2022_PRO="%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat"
- if exist %TOOLS_VS2022_PRO% (
- echo Building with vs2022 Professional...
- call %TOOLS_VS2022_PRO% %ARCH%
- goto tools_configured
- )
- :vs2022_community
- set TOOLS_VS2022_COMMUNITY="%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat"
- if exist %TOOLS_VS2022_COMMUNITY% (
- echo Building with vs2022 Community...
- call %TOOLS_VS2022_COMMUNITY% %ARCH%
- goto tools_configured
- )
- :vs2022_buildtools
- set TOOLS_VS2022="%ProgramFiles%\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat"
- if exist %TOOLS_VS2022% (
- echo Building with vs2022 BuildTools...
- call %TOOLS_VS2022% %ARCH%
- goto tools_configured
- )
- :vs2019
- :vs2019_enterprise
- set TOOLS_VS2019_ENTERPRISE="%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
- if exist %TOOLS_VS2019_ENTERPRISE% (
- echo Building with vs2019 Enterprise...
- call %TOOLS_VS2019_ENTERPRISE% %ARCH%
- goto tools_configured
- )
- :vs2019_professional
- set TOOLS_VS2019_PRO="%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat"
- if exist %TOOLS_VS2019_PRO% (
- echo Building with vs2019 Professional...
- call %TOOLS_VS2019_PRO% %ARCH%
- goto tools_configured
- )
- :vs2019_community
- set TOOLS_VS2019_COMMUNITY="%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat"
- if exist %TOOLS_VS2019_COMMUNITY% (
- echo Building with vs2019 Community...
- call %TOOLS_VS2019_COMMUNITY% %ARCH%
- goto tools_configured
- )
- :vs2019_buildtools
- set TOOLS_VS2019="%ProgramFiles(x86)%\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat"
- if exist %TOOLS_VS2019% (
- echo Building with vs2019 BuildTools...
- call %TOOLS_VS2019% %ARCH%
- goto tools_configured
- )
- :vs2017
- :vs2017_enterprise
- set TOOLS_VS2017_ENTERPRISE="%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
- if exist %TOOLS_VS2017_ENTERPRISE% (
- echo Building with vs2017 Enterprise...
- call %TOOLS_VS2017_ENTERPRISE% %ARCH%
- goto tools_configured
- )
- :vs2017_professional
- set TOOLS_VS2017_PRO="%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat"
- if exist %TOOLS_VS2017_PRO% (
- echo Building with vs2017 Professional...
- call %TOOLS_VS2017_PRO% %ARCH%
- goto tools_configured
- )
- :vs2017_community
- set TOOLS_VS2017_COMMUNITY="%ProgramFiles(x86)%\Microsoft Visual Studio\2017\VC\Auxiliary\Build\vcvarsall.bat"
- if exist %TOOLS_VS2017_COMMUNITY% (
- echo Building with vs2017 Community...
- call %TOOLS_VS2017_COMMUNITY% %ARCH%
- goto tools_configured
- )
- :vs2017_buildtools
- set TOOLS_VS2017="%ProgramFiles(x86)%\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat"
- if exist %TOOLS_VS2017% (
- echo Building with vs2017 BuildTools...
- call %TOOLS_VS2017% %ARCH%
- goto tools_configured
- )
- :vs2015
- set TOOLS_VS2015="%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
- if exist %TOOLS_VS2015% (
- echo Building with vs2015 BuildTools...
- call %TOOLS_VS2015% %ARCH% %WINSDK_VERSION%
- set "VCPKG_VISUAL_STUDIO_PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0"
- set VCPKG_PLATFORM_TOOLSET=v140
- goto tools_configured
- )
- echo WARNING: cannot auto-detect Visual Studio version !!!
- REM Caller may decide what to do if Visual Studio environment
- REM is not set up by checking TOOLS_VS_NOTFOUND
- set TOOLS_VS_NOTFOUND=1
- exit /b 0
- REM +-------------------------------------------------------------------+
- REM | There is no auto-detection of LLVM Clang version. |
- REM | LLVM Clang of any version is installed in the same directory |
- REM | at %ProgramFiles%\LLVM\bin . Developers choose their own custom |
- REM | layout for installing multiple clang toolchains side-by-side. |
- REM | |
- REM | Example layout (merely a guideline, layout could differ): |
- REM | |
- REM | %ProgramFiles%\LLVM-9\bin |
- REM | %ProgramFiles%\LLVM-10\bin |
- REM | %ProgramFiles%\LLVM-11\bin |
- REM | %ProgramFiles%\LLVM-12\bin |
- REM +-------------------------------------------------------------------+
- REM
- REM ## Example 1: use clang-10 located in LLVM-10 directory:
- REM set BUILDTOOLS_VERSION=clang-10
- REM set "PATH=%ProgramFiles%\LLVM-10\bin;%PATH%"
- REM tools\build.cmd
- REM
- REM ## Example 2: use whatever clang located in LLVM directory:
- REM set BUILDTOOLS_VERSION=clang
- REM set "PATH=%ProgramFiles%\LLVM\bin;%PATH%"
- REM tools\build.cmd
- REM
- REM BUILDTOOLS_VERSION determines the output directory location.
- REM Store build artifacts produced by different toolchains -
- REM side-by-side, each in its own separate output directory.
- REM
- :clang
- :clang-9
- :clang-10
- :clang-11
- :clang-12
- :tools_configured
|