mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-06 07:51:47 +00:00
More changes to Windows build scripts
Limited compatibility to Visual Studio 2013 or newer Fixed the missing 'd' suffix linking ....\opencollada\xmld.lib Fixed failure when calling the scripts without specifying a generator
This commit is contained in:
@@ -209,6 +209,10 @@ endfunction()
|
|||||||
|
|
||||||
if(BUILD_IFCGEOM)
|
if(BUILD_IFCGEOM)
|
||||||
|
|
||||||
|
IF(MSVC)
|
||||||
|
add_debug_variants(LIBXML2_LIBRARIES "${LIBXML2_LIBRARIES}" d)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# Find Open CASCADE
|
# Find Open CASCADE
|
||||||
IF("${OCC_INCLUDE_DIR}" STREQUAL "")
|
IF("${OCC_INCLUDE_DIR}" STREQUAL "")
|
||||||
SET(OCC_INCLUDE_DIR "/usr/include/oce/" CACHE FILEPATH "Open CASCADE header files")
|
SET(OCC_INCLUDE_DIR "/usr/include/oce/" CACHE FILEPATH "Open CASCADE header files")
|
||||||
|
|||||||
+1
-1
@@ -551,7 +551,7 @@ echo 2. Install Git and make sure 'git' is accessible from PATH.
|
|||||||
echo - https://git-for-windows.github.io/
|
echo - https://git-for-windows.github.io/
|
||||||
echo 3. Install CMake and make sure 'cmake' is accessible from PATH.
|
echo 3. Install CMake and make sure 'cmake' is accessible from PATH.
|
||||||
echo - http://www.cmake.org/
|
echo - http://www.cmake.org/
|
||||||
echo 4. Visual Studio 2008 or newer (2013 or newer recommended) with C++ toolset.
|
echo 4. Visual Studio 2013 or newer with C++ toolset.
|
||||||
echo - https://www.visualstudio.com/
|
echo - https://www.visualstudio.com/
|
||||||
echo 5. Run this batch script with Visual Studio environment variables set.
|
echo 5. Run this batch script with Visual Studio environment variables set.
|
||||||
echo - https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx
|
echo - https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx
|
||||||
|
|||||||
+13
-22
@@ -23,7 +23,7 @@
|
|||||||
:: the VisualStudioVersion environment variable and from the location of cl.exe.
|
:: the VisualStudioVersion environment variable and from the location of cl.exe.
|
||||||
::
|
::
|
||||||
:: The generator string must be in the CMake 3.0 and newer format, i.e.
|
:: The generator string must be in the CMake 3.0 and newer format, i.e.
|
||||||
:: "Visual Studio 10 2010" instead of "Visual Studio 10"
|
:: "Visual Studio 12 2013" instead of "Visual Studio 12"
|
||||||
::
|
::
|
||||||
:: User-friendly VS generators are preferred, since they permit a more accurate
|
:: User-friendly VS generators are preferred, since they permit a more accurate
|
||||||
:: platform and toolset configuration. Some examples:
|
:: platform and toolset configuration. Some examples:
|
||||||
@@ -41,14 +41,11 @@
|
|||||||
set GENERATOR=%1
|
set GENERATOR=%1
|
||||||
|
|
||||||
:: Supported Visual Studio versions:
|
:: Supported Visual Studio versions:
|
||||||
set GENERATORS[1]="Visual Studio 9 2008"
|
set GENERATORS[1]="Visual Studio 12 2013"
|
||||||
set GENERATORS[2]="Visual Studio 10 2010"
|
set GENERATORS[2]="Visual Studio 14 2015"
|
||||||
set GENERATORS[3]="Visual Studio 11 2012"
|
set GENERATORS[3]="Visual Studio 15 2017"
|
||||||
set GENERATORS[4]="Visual Studio 12 2013"
|
set GENERATORS[4]="Visual Studio 16 2019"
|
||||||
set GENERATORS[5]="Visual Studio 14 2015"
|
set LAST_GENERATOR_IDX=4
|
||||||
set GENERATORS[6]="Visual Studio 15 2017"
|
|
||||||
set GENERATORS[7]="Visual Studio 16 2019"
|
|
||||||
set LAST_GENERATOR_IDX=7
|
|
||||||
|
|
||||||
:: Is generator shorthand used?
|
:: Is generator shorthand used?
|
||||||
set GEN_SHORTHAND=!GENERATOR:vs=!
|
set GEN_SHORTHAND=!GENERATOR:vs=!
|
||||||
@@ -61,10 +58,6 @@ echo(!GEN_SHORTHAND! | findstr /c:"-x64" >nul && ( set "VS_PLATFORM=x64" )
|
|||||||
echo(!GEN_SHORTHAND! | findstr /c:"-ARM" >nul && ( set "VS_PLATFORM=ARM" )
|
echo(!GEN_SHORTHAND! | findstr /c:"-ARM" >nul && ( set "VS_PLATFORM=ARM" )
|
||||||
echo(!GEN_SHORTHAND! | findstr /c:"-ARM64" >nul && ( set "VS_PLATFORM=ARM64" )
|
echo(!GEN_SHORTHAND! | findstr /c:"-ARM64" >nul && ( set "VS_PLATFORM=ARM64" )
|
||||||
|
|
||||||
echo(!GEN_SHORTHAND! | findstr /c:"-v90" >nul && ( set "VS_TOOLSET=v90" ) && ( set "BOOST_TOOLSET=9.0" )
|
|
||||||
echo(!GEN_SHORTHAND! | findstr /c:"-v100" >nul && ( set "VS_TOOLSET=v100" ) && ( set "BOOST_TOOLSET=10.0" )
|
|
||||||
echo(!GEN_SHORTHAND! | findstr /c:"-v110" >nul && ( set "VS_TOOLSET=v110" ) && ( set "BOOST_TOOLSET=11.0" )
|
|
||||||
echo(!GEN_SHORTHAND! | findstr /c:"-v110_xp" >nul && ( set "VS_TOOLSET=v110_xp" ) && ( set "BOOST_TOOLSET=11.0" )
|
|
||||||
echo(!GEN_SHORTHAND! | findstr /c:"-v120" >nul && ( set "VS_TOOLSET=v120" ) && ( set "BOOST_TOOLSET=12.0" )
|
echo(!GEN_SHORTHAND! | findstr /c:"-v120" >nul && ( set "VS_TOOLSET=v120" ) && ( set "BOOST_TOOLSET=12.0" )
|
||||||
echo(!GEN_SHORTHAND! | findstr /c:"-v120_xp" >nul && ( set "VS_TOOLSET=v120_xp" ) && ( set "BOOST_TOOLSET=12.0" )
|
echo(!GEN_SHORTHAND! | findstr /c:"-v120_xp" >nul && ( set "VS_TOOLSET=v120_xp" ) && ( set "BOOST_TOOLSET=12.0" )
|
||||||
echo(!GEN_SHORTHAND! | findstr /c:"-v140" >nul && ( set "VS_TOOLSET=v140" ) && ( set "BOOST_TOOLSET=14.0" )
|
echo(!GEN_SHORTHAND! | findstr /c:"-v140" >nul && ( set "VS_TOOLSET=v140" ) && ( set "BOOST_TOOLSET=14.0" )
|
||||||
@@ -91,14 +84,15 @@ echo(!GENERATOR! | findstr /c:"vs20" >nul && (
|
|||||||
where cl.exe | findstr "amd64 x64" >nul
|
where cl.exe | findstr "amd64 x64" >nul
|
||||||
set START=%ERRORLEVEL%
|
set START=%ERRORLEVEL%
|
||||||
|
|
||||||
|
:: NOTE add space before VC_VER so that e.g. "12" doesn't match with "2012"
|
||||||
IF "!GENERATOR!"=="" IF NOT "%VisualStudioVersion%"=="" (
|
IF "!GENERATOR!"=="" IF NOT "%VisualStudioVersion%"=="" (
|
||||||
set VC_VER=%VisualStudioVersion:.0=%
|
set VC_VER=%VisualStudioVersion:.0=%
|
||||||
FOR /L %%i in (%START%,1,%LAST_GENERATOR_IDX%) DO (
|
FOR /L %%i in (%START%,1,%LAST_GENERATOR_IDX%) DO (
|
||||||
:: NOTE add space before VC_VER so that e.g. "12" doesn't match with "2012"
|
|
||||||
echo(!GENERATORS[%%i]! | findstr /c:" !VC_VER!" >nul && (
|
echo(!GENERATORS[%%i]! | findstr /c:" !VC_VER!" >nul && (
|
||||||
set GENERATOR=!GENERATORS[%%i]!
|
set GENERATOR=!GENERATORS[%%i]!
|
||||||
call utils\cecho.cmd black cyan "Generator not passed, but VisualStudioVersion=%VisualStudioVersion% environment variable detected:"
|
call utils\cecho.cmd black cyan "Generator not passed, but VisualStudioVersion=%VisualStudioVersion% environment variable detected:"
|
||||||
call utils\cecho.cmd black cyan "using '`"!GENERATOR!`'" as the generator."
|
call utils\cecho.cmd black cyan "using '`"!GENERATOR!`'" as the generator."
|
||||||
|
SET VS_VER=!GENERATOR:~-5,4!
|
||||||
GOTO :GeneratorValid
|
GOTO :GeneratorValid
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -150,9 +144,6 @@ FOR %%i IN (%GENERATOR_SPLIT%) DO (
|
|||||||
:PlatformDefined
|
:PlatformDefined
|
||||||
|
|
||||||
:: determine the Visual C++ default version
|
:: determine the Visual C++ default version
|
||||||
IF %VS_VER%==2008 ( set "VC_VER=9.0" )
|
|
||||||
IF %VS_VER%==2010 ( set "VC_VER=10.0" )
|
|
||||||
IF %VS_VER%==2012 ( set "VC_VER=11.0" )
|
|
||||||
IF %VS_VER%==2013 ( set "VC_VER=12.0" )
|
IF %VS_VER%==2013 ( set "VC_VER=12.0" )
|
||||||
IF %VS_VER%==2015 ( set "VC_VER=14.0" )
|
IF %VS_VER%==2015 ( set "VC_VER=14.0" )
|
||||||
IF %VS_VER%==2017 ( set "VC_VER=14.1" )
|
IF %VS_VER%==2017 ( set "VC_VER=14.1" )
|
||||||
@@ -199,10 +190,11 @@ FOR /f "delims=" %%i in ('where cmake') DO set CMAKE_PATH=%%i
|
|||||||
IF NOT "%CMAKE_PATH%"=="" (
|
IF NOT "%CMAKE_PATH%"=="" (
|
||||||
FOR /f "delims=" %%i in ('cmake --version ^| findstr /C:"cmake version 3"') DO GOTO :CMake3AndNewer
|
FOR /f "delims=" %%i in ('cmake --version ^| findstr /C:"cmake version 3"') DO GOTO :CMake3AndNewer
|
||||||
)
|
)
|
||||||
:: CMake older than 3.0.0: convert new format generators to the old format (simple brute force for simplicity)
|
|
||||||
set GENERATOR=%GENERATOR: 2013=%
|
:: reject older CMake, see also build-deps.cmd
|
||||||
set GENERATOR=%GENERATOR: 2012=%
|
echo "CMake v3.11.4 or higher is required"
|
||||||
set GENERATOR=%GENERATOR: 2010=%
|
exit /b 1
|
||||||
|
|
||||||
:CMake3AndNewer
|
:CMake3AndNewer
|
||||||
|
|
||||||
:: check variables for debugging
|
:: check variables for debugging
|
||||||
@@ -226,7 +218,6 @@ IF DEFINED VS_TOOLSET (
|
|||||||
|
|
||||||
:: VS project file extension is different on older VS versions
|
:: VS project file extension is different on older VS versions
|
||||||
set VCPROJ_FILE_EXT=vcxproj
|
set VCPROJ_FILE_EXT=vcxproj
|
||||||
IF %VS_VER%==2008 set VCPROJ_FILE_EXT=vcproj
|
|
||||||
|
|
||||||
:: Add utils to PATH
|
:: Add utils to PATH
|
||||||
set ORIGINAL_PATH=%PATH%
|
set ORIGINAL_PATH=%PATH%
|
||||||
|
|||||||
Reference in New Issue
Block a user