Skip to content

Commit 41a60d9

Browse files
authored
Merge pull request #9 from acasta69/py_versions
Allow to choose Python version to build for
2 parents 078a5c3 + db85d96 commit 41a60d9

7 files changed

Lines changed: 131 additions & 22 deletions

build-deps-x64.bat

Lines changed: 71 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ CALL:checkEnvVarValid "LUX_X64_LIBTIFF_ROOT" || EXIT /b -1
3535
CALL:checkEnvVarValid "LUX_X64_OIIO_ROOT" || EXIT /b -1
3636
CALL:checkEnvVarValid "LUX_X64_OPENEXR_ROOT" || EXIT /b -1
3737
CALL:checkEnvVarValid "LUX_X64_OPENJPEG_ROOT" || EXIT /b -1
38-
CALL:checkEnvVarValid "LUX_X64_PYTHON3_ROOT" || EXIT /b -1
38+
CALL:checkEnvVarValid "LUX_X64_PYTHON35_ROOT" || EXIT /b -1
39+
CALL:checkEnvVarValid "LUX_X64_PYTHON36_ROOT" || EXIT /b -1
40+
CALL:checkEnvVarValid "LUX_X64_PYTHON37_ROOT" || EXIT /b -1
3941
CALL:checkEnvVarValid "LUX_X64_QT_ROOT" || EXIT /b -1
4042
CALL:checkEnvVarValid "LUX_X64_TBB_ROOT" || EXIT /b -1
4143
CALL:checkEnvVarValid "LUX_X64_ZLIB_ROOT" || EXIT /b -1
@@ -190,17 +192,47 @@ echo.
190192
echo **************************************************************************
191193
echo * Building Python 35 *
192194
echo **************************************************************************
193-
cd /d %LUX_X64_PYTHON3_ROOT%\PCbuild
195+
cd /d %LUX_X64_PYTHON35_ROOT%\PCbuild
194196
CALL:copyFile ..\PC\pyconfig.h ..\Include
195197

196198
msbuild %MSBUILD_OPTS% /property:"Configuration=%BUILD_CONFIGURATION%" /target:"python" pcbuild.sln
197199
if ERRORLEVEL 1 goto :EOF
198200

199-
mkdir %INCLUDE_DIR%\Python3
200-
CALL:copyFile ..\include\*.h %INCLUDE_DIR%\Python3
201+
mkdir %INCLUDE_DIR%\Python35
202+
CALL:copyFile ..\include\*.h %INCLUDE_DIR%\Python35
201203
CALL:copyFile amd64\python35.lib %LIB_DIR%
202204
CALL:copyFile amd64\python35.dll %LIB_DIR%
203205

206+
echo.
207+
echo **************************************************************************
208+
echo * Building Python 36 *
209+
echo **************************************************************************
210+
cd /d %LUX_X64_PYTHON36_ROOT%\PCbuild
211+
CALL:copyFile ..\PC\pyconfig.h ..\Include
212+
213+
msbuild %MSBUILD_OPTS% /property:"Configuration=%BUILD_CONFIGURATION%" /target:"python" pcbuild.sln
214+
if ERRORLEVEL 1 goto :EOF
215+
216+
mkdir %INCLUDE_DIR%\Python36
217+
CALL:copyFile ..\include\*.h %INCLUDE_DIR%\Python36
218+
CALL:copyFile amd64\python36.lib %LIB_DIR%
219+
CALL:copyFile amd64\python36.dll %LIB_DIR%
220+
221+
echo.
222+
echo **************************************************************************
223+
echo * Building Python 37 *
224+
echo **************************************************************************
225+
cd /d %LUX_X64_PYTHON37_ROOT%\PCbuild
226+
CALL:copyFile ..\PC\pyconfig.h ..\Include
227+
228+
msbuild %MSBUILD_OPTS% /property:"Configuration=%BUILD_CONFIGURATION%" /target:"python" pcbuild.sln
229+
if ERRORLEVEL 1 goto :EOF
230+
231+
mkdir %INCLUDE_DIR%\Python37
232+
CALL:copyFile ..\include\*.h %INCLUDE_DIR%\Python37
233+
CALL:copyFile amd64\python37.lib %LIB_DIR%
234+
CALL:copyFile amd64\python37.dll %LIB_DIR%
235+
204236
:: ****************************************************************************
205237
:: ******************************* BOOST **************************************
206238
:: ****************************************************************************
@@ -221,8 +253,9 @@ echo **************************************************************************
221253
cd /d %LUX_X64_BOOST_ROOT%
222254

223255
CALL bootstrap.bat
224-
type %LUX_WINDOWS_BUILD_ROOT%\support\x64-project-config-3.jam >> project-config.jam
225-
set BJAM_OPTS=-a -q -j%NUMBER_OF_PROCESSORS% address-model=64 link=static threading=multi runtime-link=shared --with-date_time --with-filesystem --with-iostreams --with-locale --with-program_options --with-python --with-regex --with-serialization --with-system --with-thread -sBZIP2_SOURCE=%LUX_X64_BZIP_ROOT% -sPYTHON_SOURCE=%LUX_X64_PYTHON3_ROOT% -sZLIB_SOURCE=%LUX_X64_ZLIB_ROOT%
256+
CALL:copyfile project-config.jam .\project-config.bck
257+
type %LUX_WINDOWS_BUILD_ROOT%\support\x64-project-config-35.jam >> project-config.jam
258+
set BJAM_OPTS=-a -q -j%NUMBER_OF_PROCESSORS% address-model=64 link=static threading=multi runtime-link=shared --with-date_time --with-filesystem --with-iostreams --with-locale --with-program_options --with-python --with-regex --with-serialization --with-system --with-thread -sBZIP2_SOURCE=%LUX_X64_BZIP_ROOT% -sPYTHON_SOURCE=%LUX_X64_PYTHON35_ROOT% -sZLIB_SOURCE=%LUX_X64_ZLIB_ROOT%
226259

227260
set BUILD_CONFIGURATION_BOOST=release
228261
IF %BUILD_CONFIGURATION%==Debug set BUILD_CONFIGURATION_BOOST=debug
@@ -234,7 +267,38 @@ mkdir %INCLUDE_DIR%\Boost
234267
mkdir %INCLUDE_DIR%\Boost\boost
235268
CALL:xcopyFiles boost\*.* %INCLUDE_DIR%\Boost\boost
236269
CALL:copyFile stage\lib\*.lib %LIB_DIR%
237-
CALL:copyFile %LIB_DIR%\libboost_python35-vc141-mt-x64-1_67.lib %LIB_DIR%\libboost_python-vc141-mt-x64-1_67.lib
270+
271+
:: with python 3.6
272+
b2 --clean
273+
CALL:copyfile project-config.bck .\project-config.jam
274+
type %LUX_WINDOWS_BUILD_ROOT%\support\x64-project-config-36.jam >> project-config.jam
275+
set BJAM_OPTS=-a -q -j%NUMBER_OF_PROCESSORS% address-model=64 link=static threading=multi runtime-link=shared --with-python -sBZIP2_SOURCE=%LUX_X64_BZIP_ROOT% -sPYTHON_SOURCE=%LUX_X64_PYTHON36_ROOT% -sZLIB_SOURCE=%LUX_X64_ZLIB_ROOT%
276+
277+
set BUILD_CONFIGURATION_BOOST=release
278+
IF %BUILD_CONFIGURATION%==Debug set BUILD_CONFIGURATION_BOOST=debug
279+
280+
bjam %BJAM_OPTS% variant=%BUILD_CONFIGURATION_BOOST% stage
281+
if ERRORLEVEL 1 goto :EOF
282+
283+
mkdir %INCLUDE_DIR%\Boost
284+
mkdir %INCLUDE_DIR%\Boost\boost
285+
CALL:copyFile stage\lib\*.lib %LIB_DIR%
286+
287+
:: with python 3.7
288+
b2 --clean
289+
CALL:copyfile project-config.bck .\project-config.jam
290+
type %LUX_WINDOWS_BUILD_ROOT%\support\x64-project-config-37.jam >> project-config.jam
291+
set BJAM_OPTS=-a -q -j%NUMBER_OF_PROCESSORS% address-model=64 link=static threading=multi runtime-link=shared --with-python -sBZIP2_SOURCE=%LUX_X64_BZIP_ROOT% -sPYTHON_SOURCE=%LUX_X64_PYTHON37_ROOT% -sZLIB_SOURCE=%LUX_X64_ZLIB_ROOT%
292+
293+
set BUILD_CONFIGURATION_BOOST=release
294+
IF %BUILD_CONFIGURATION%==Debug set BUILD_CONFIGURATION_BOOST=debug
295+
296+
bjam %BJAM_OPTS% variant=%BUILD_CONFIGURATION_BOOST% stage
297+
if ERRORLEVEL 1 goto :EOF
298+
299+
mkdir %INCLUDE_DIR%\Boost
300+
mkdir %INCLUDE_DIR%\Boost\boost
301+
CALL:copyFile stage\lib\*.lib %LIB_DIR%
238302

239303

240304
:: ****************************************************************************

cmake-build-x64.bat

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ set DISABLE_OPENCL=0
1010
set CPU_PLATFORM=x64
1111
set BUILD_TYPE=Release
1212
set BUILD_DLL=0
13+
set PYTHON_VERSION=35
1314

1415
:ParseCmdParams
1516
if "%1" EQU "" goto Start
@@ -19,6 +20,9 @@ if /i "%1" EQU "luxmark" set BUILD_LUXMARK_ONLY=1
1920
if /i "%1" EQU "/no-ocl" set DISABLE_OPENCL=1
2021
if /i "%1" EQU "/dll" set BUILD_DLL=1
2122
if /i "%1" EQU "/debug" set BUILD_TYPE=Debug
23+
if /i "%1" EQU "/python35" set PYTHON_VERSION=35
24+
if /i "%1" EQU "/python36" set PYTHON_VERSION=36
25+
if /i "%1" EQU "/python37" set PYTHON_VERSION=37
2226

2327
shift
2428
goto ParseCmdParams
@@ -96,7 +100,7 @@ if %BUILD_DLL% EQU 1 (
96100
set DLL_OPTION=
97101
)
98102

99-
set CMAKE_OPTS=-G %CMAKE_GENERATOR% %CMAKE_PLATFORM% %CMAKE_TOOLSET% -D CMAKE_INCLUDE_PATH="%INCLUDE_DIR%" -D CMAKE_LIBRARY_PATH="%LIB_DIR%" -D PYTHON_LIBRARY="%LIB_DIR%" -D PYTHON_INCLUDE_DIR="%INCLUDE_DIR%\Python3" -D CMAKE_BUILD_TYPE=%BUILD_TYPE% %OCL_OPTION% %DLL_OPTION%
103+
set CMAKE_OPTS=-G %CMAKE_GENERATOR% %CMAKE_PLATFORM% %CMAKE_TOOLSET% -D CMAKE_INCLUDE_PATH="%INCLUDE_DIR%" -D CMAKE_LIBRARY_PATH="%LIB_DIR%" -D PYTHON_LIBRARY="%LIB_DIR%" -D PYTHON_V="python%PYTHON_VERSION%" -D PYTHON_INCLUDE_DIR="%INCLUDE_DIR%\Python%PYTHON_VERSION%" -D CMAKE_BUILD_TYPE=%BUILD_TYPE% %OCL_OPTION% %DLL_OPTION%
100104
rem To display only errors add: /clp:ErrorsOnly
101105
set MSBUILD_OPTS=/nologo /maxcpucount /verbosity:normal /toolsversion:15.0 /property:"Platform=%MSBUILD_PLATFORM%" /property:"Configuration=%BUILD_TYPE%" /p:WarningLevel=0
102106

getdeps.bat

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ SET OIIO_VER=1.8.11
1919
SET OPENEXR_VER=2.2.0
2020
SET OPENJPEG_VER=1.5.1
2121
SET PYTHON35_VER=3.5.5
22+
SET PYTHON36_VER=3.6.6
23+
SET PYTHON37_VER=3.7.0
2224
SET QT_VER=4.8.7
2325
SET TBB_VER=2017
2426
SET TBB_VER_FULL=2017_20160722
@@ -45,6 +47,7 @@ echo OpenEXR %OPENEXR_VER% http://www.openexr.com/
4547
echo OpenImageIO %OIIO_VER% http://openimageio.org/
4648
echo OpenJPEG %OPENJPEG_VER% http://www.openjpeg.org/
4749
echo Python %PYTHON35_VER% http://www.python.org/
50+
echo Python %PYTHON36_VER% http://www.python.org/
4851
echo QT %QT_VER% http://qt-project.org/
4952
echo tbb %TBB_VER% https://www.threadingbuildingblocks.org/
5053
echo zlib %ZLIB_VER% http://www.zlib.net/
@@ -236,7 +239,19 @@ CALL:addBuildPathVar "LUX_X64_OPENJPEG_ROOT", "%D64%\openjpeg-%OPENJPEG_VER%"
236239
CALL:downloadFile "Python %PYTHON35_VER%", "http://python.org/ftp/python/%PYTHON35_VER%/Python-%PYTHON35_VER%.tgz", "Python-%PYTHON35_VER%.tgz", "--no-check-certificate" || EXIT /b -1
237240
CALL:extractFile "Python %PYTHON35_VER%", "%DOWNLOADS%\Python-%PYTHON35_VER%.tgz"
238241

239-
CALL:addBuildPathVar "LUX_X64_PYTHON3_ROOT", "%D64%\Python-%PYTHON35_VER%"
242+
CALL:addBuildPathVar "LUX_X64_PYTHON35_ROOT", "%D64%\Python-%PYTHON35_VER%"
243+
244+
:python36
245+
CALL:downloadFile "Python %PYTHON36_VER%", "http://python.org/ftp/python/%PYTHON36_VER%/Python-%PYTHON36_VER%.tgz", "Python-%PYTHON36_VER%.tgz", "--no-check-certificate" || EXIT /b -1
246+
CALL:extractFile "Python %PYTHON36_VER%", "%DOWNLOADS%\Python-%PYTHON36_VER%.tgz"
247+
248+
CALL:addBuildPathVar "LUX_X64_PYTHON36_ROOT", "%D64%\Python-%PYTHON36_VER%"
249+
250+
:python37
251+
CALL:downloadFile "Python %PYTHON37_VER%", "http://python.org/ftp/python/%PYTHON37_VER%/Python-%PYTHON37_VER%.tgz", "Python-%PYTHON37_VER%.tgz", "--no-check-certificate" || EXIT /b -1
252+
CALL:extractFile "Python %PYTHON37_VER%", "%DOWNLOADS%\Python-%PYTHON37_VER%.tgz"
253+
254+
CALL:addBuildPathVar "LUX_X64_PYTHON37_ROOT", "%D64%\Python-%PYTHON37_VER%"
240255

241256
:qt
242257
CALL:downloadFile "QT %QT_VER%", "http://download.qt-project.org/official_releases/qt/4.8/%QT_VER%/qt-everywhere-opensource-src-%QT_VER%.tar.gz", "qt-everywhere-opensource-src-%QT_VER%.tar.gz" || EXIT /b -1

support/x64-project-config-3.jam

Lines changed: 0 additions & 13 deletions
This file was deleted.

support/x64-project-config-35.jam

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import os ;
2+
local LUX_X64_PYTHON35_ROOT = [ os.environ LUX_X64_PYTHON35_ROOT ] ;
3+
4+
using python : 3.5
5+
: $(LUX_X64_PYTHON35_ROOT)\\PCbuild\\amd64\\python
6+
: $(LUX_X64_PYTHON35_ROOT)\\Include
7+
: #
8+
;
9+
using python : 3.5
10+
: $(LUX_X64_PYTHON35_ROOT)\\PCbuild\\amd64\\python_d
11+
: $(LUX_X64_PYTHON35_ROOT)\\Include
12+
: #
13+
: <python-debugging>on ;

support/x64-project-config-36.jam

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import os ;
2+
local LUX_X64_PYTHON36_ROOT = [ os.environ LUX_X64_PYTHON36_ROOT ] ;
3+
4+
using python : 3.6
5+
: $(LUX_X64_PYTHON36_ROOT)\\PCbuild\\amd64\\python
6+
: $(LUX_X64_PYTHON36_ROOT)\\Include
7+
: #
8+
;
9+
using python : 3.6
10+
: $(LUX_X64_PYTHON36_ROOT)\\PCbuild\\amd64\\python_d
11+
: $(LUX_X64_PYTHON36_ROOT)\\Include
12+
: #
13+
: <python-debugging>on ;

support/x64-project-config-37.jam

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import os ;
2+
local LUX_X64_PYTHON37_ROOT = [ os.environ LUX_X64_PYTHON37_ROOT ] ;
3+
4+
using python : 3.7
5+
: $(LUX_X64_PYTHON37_ROOT)\\PCbuild\\amd64\\python
6+
: $(LUX_X64_PYTHON37_ROOT)\\Include
7+
: #
8+
;
9+
using python : 3.7
10+
: $(LUX_X64_PYTHON37_ROOT)\\PCbuild\\amd64\\python_d
11+
: $(LUX_X64_PYTHON37_ROOT)\\Include
12+
: #
13+
: <python-debugging>on ;

0 commit comments

Comments
 (0)