mirror of
https://github.com/valitydev/thrift.git
synced 2024-11-07 02:45:22 +00:00
80 lines
2.8 KiB
Batchfile
80 lines
2.8 KiB
Batchfile
::
|
|
:: 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.
|
|
::
|
|
|
|
::
|
|
:: Detect the compiler edition we're building in and then
|
|
:: set the GENERATOR environment variable to one of:
|
|
::
|
|
:: Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
|
|
:: Optional [arch] can be "Win64" or "ARM".
|
|
:: Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
|
|
:: Optional [arch] can be "Win64" or "ARM".
|
|
:: Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
|
|
:: Optional [arch] can be "Win64" or "ARM".
|
|
:: Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
|
|
:: Optional [arch] can be "Win64" or "ARM".
|
|
:: Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
|
|
:: Optional [arch] can be "Win64" or "IA64".
|
|
:: MinGW Makefiles = Generates makefiles for MinGW
|
|
:: MSYS Makefiles = Generates makefiles for MSYS
|
|
:: Unix Makefiles = Generates makefiles for CYGWIN
|
|
::
|
|
:: Honors any existing GENERATOR environment variable
|
|
:: setting instead of overwriting it, to allow it
|
|
:: to be forced if needed.
|
|
::
|
|
:: Sets ERRORLEVEL to 0 if GENERATOR can be determined,
|
|
:: to 1 if it cannot.
|
|
::
|
|
|
|
IF DEFINED GENERATOR (
|
|
ECHO [warn ] using existing environment variable GENERATOR
|
|
EXIT /B 0
|
|
)
|
|
|
|
|
|
IF "%PROFILE:~0,4%" == "MING" (
|
|
SET GENERATOR=MinGW Makefiles
|
|
|
|
) ELSE IF "%PROFILE:~0,4%" == "CYGW" (
|
|
SET GENERATOR=Unix Makefiles
|
|
|
|
) ELSE IF "%PROFILE:~0,4%" == "MSYS" (
|
|
SET GENERATOR=MSYS Makefiles
|
|
) ELSE (
|
|
IF /i "%PLATFORM%" == "x64" SET GENARCH= Win64
|
|
CALL :CHECK 16
|
|
IF !ERRORLEVEL! == 0 SET GENERATOR=Visual Studio 10 2010!GENARCH!
|
|
CALL :CHECK 17
|
|
IF !ERRORLEVEL! == 0 SET GENERATOR=Visual Studio 11 2012!GENARCH!
|
|
CALL :CHECK 18
|
|
IF !ERRORLEVEL! == 0 SET GENERATOR=Visual Studio 12 2013!GENARCH!
|
|
CALL :CHECK 19.0
|
|
IF !ERRORLEVEL! == 0 SET GENERATOR=Visual Studio 14 2015!GENARCH!
|
|
CALL :CHECK 19.1
|
|
IF !ERRORLEVEL! == 0 SET GENERATOR=Visual Studio 15 2017!GENARCH!
|
|
)
|
|
|
|
IF NOT DEFINED GENERATOR (
|
|
ECHO [error] unable to determine the CMake generator to use
|
|
EXIT /B 1
|
|
)
|
|
|
|
ECHO [info ] using CMake generator %GENERATOR%
|
|
EXIT /B 0
|
|
|
|
:CHECK
|
|
cl /? 2>&1 | findstr /C:"Version %1%" > nul
|
|
EXIT /B
|