diff options
Diffstat (limited to 'PxShared/buildtools')
49 files changed, 2196 insertions, 0 deletions
diff --git a/PxShared/buildtools/clang-format/clang-format-all.bat b/PxShared/buildtools/clang-format/clang-format-all.bat new file mode 100644 index 0000000..1006b00 --- /dev/null +++ b/PxShared/buildtools/clang-format/clang-format-all.bat @@ -0,0 +1,24 @@ +@echo off +setlocal enabledelayedexpansion + +set BLAST_PATH=..\.. + +set /a count=0 +set /a fail=0 +for /F %%d IN (directories.txt) do ( + call :check %BLAST_PATH%\%%d +) + +echo %fail% of %count% files reformatted. +exit /b %fail% + +:check +for /R "%1" %%f in (*.h, *.cpp, *.cu, *.hlsl) do ( + p4 edit %%f + clang-format.exe -i %%f + if errorlevel 1 ( + echo %%f + set /a fail += 1 + ) + set /a count += 1 +) diff --git a/PxShared/buildtools/clang-format/clang-format-p4.bat b/PxShared/buildtools/clang-format/clang-format-p4.bat new file mode 100644 index 0000000..0b246e3 --- /dev/null +++ b/PxShared/buildtools/clang-format/clang-format-p4.bat @@ -0,0 +1,24 @@ +@echo off +setlocal + +set BLAST_PATH=..\.. + +if "%*"=="" ( + echo Usage: format-change.bat ^<p4 changelist #^> + exit /b +) + +set change=%~1 +for /F %%d IN (directories.txt) do ( + call :format %BLAST_PATH%\%%d +) + +exit /b + +:format +for /F "delims=#" %%a in ('p4 opened -c %change% %~f1\....h, %~f1\....cpp, %~f1\....cu, %~f1\....hlsl 2^> NUL') do ( + for /F "tokens=3" %%f IN ('p4 where %%a') do ( + echo %%f + clang-format.exe -i %%f + ) +) diff --git a/PxShared/buildtools/clang-format/clang-format.exe b/PxShared/buildtools/clang-format/clang-format.exe Binary files differnew file mode 100644 index 0000000..9c91ddf --- /dev/null +++ b/PxShared/buildtools/clang-format/clang-format.exe diff --git a/PxShared/buildtools/clang-format/directories.txt b/PxShared/buildtools/clang-format/directories.txt new file mode 100644 index 0000000..1dc947f --- /dev/null +++ b/PxShared/buildtools/clang-format/directories.txt @@ -0,0 +1,4 @@ +source\common +source\extensions +source\solver +shared\utils diff --git a/PxShared/buildtools/cmake_projects_android.bat b/PxShared/buildtools/cmake_projects_android.bat new file mode 100644 index 0000000..8321e3f --- /dev/null +++ b/PxShared/buildtools/cmake_projects_android.bat @@ -0,0 +1,112 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_android-ndk_PATH %PM_android-ndk_PATH% +echo PM_android-ndk_VERSION %PM_android-ndk_VERSION% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +echo "Cmake: %CMAKECMD%" + +REM Generate projects here + +echo. +echo ############################################################################################# +ECHO "Creating android mingw" + +REM Set android compiler variables for cmake +set ANDROID_PLATFORM=android-19 +set ANDROID_ABI="armeabi-v7a with NEON" + +REM Common cmd line params +set CMAKE_CMD_LINE_PARAMS=-DTARGET_BUILD_PLATFORM=android ^ +-DCMAKE_TOOLCHAIN_FILE=%PM_CMakeModules_PATH%/android/android.toolchain.cmake ^ +-DANDROID_NATIVE_API_LEVEL=%ANDROID_PLATFORM% ^ +-DANDROID_ABI=%ANDROID_ABI% ^ +-DANDROID_STL="gnustl_static" ^ +-DCM_ANDROID_FP="softfp" ^ +-DANDROID_NDK=%PM_AndroidNDK_PATH% ^ +-DCM_ANDROID_NDK_VERSION=%PM_AndroidNDK_VERSION% ^ +-DCMAKE_MAKE_PROGRAM=%PM_android-ndk_PATH%/prebuilt/windows/bin/make.exe ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DPX_OUTPUT_LIB_DIR=%PXSHARED_ROOT_DIR%/ ^ +-DPX_OUTPUT_BIN_DIR=%PXSHARED_ROOT_DIR%/ ^ +-DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%/install/android19/ + + +REM Compiler dependend params +set CMAKE_MINGW_CMD_LINE_PARAMS=-G "MinGW Makefiles" +set CMAKE_MSYS_CMD_LINE_PARAMS=-G "MSYS Makefiles" + +SET CMAKE_OUTPUT_DIR=compiler\%ANDROID_PLATFORM%-debug +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake %CMAKE_CMD_LINE_PARAMS% -DCMAKE_BUILD_TYPE=debug %CMAKE_MINGW_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% +) + + +SET CMAKE_OUTPUT_DIR=compiler\%ANDROID_PLATFORM%-profile +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake %CMAKE_CMD_LINE_PARAMS% -DCMAKE_BUILD_TYPE=profile %CMAKE_MINGW_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% +) + +SET CMAKE_OUTPUT_DIR=compiler\%ANDROID_PLATFORM%-checked +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake %CMAKE_CMD_LINE_PARAMS% -DCMAKE_BUILD_TYPE=checked %CMAKE_MINGW_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% +) + +SET CMAKE_OUTPUT_DIR=compiler\%ANDROID_PLATFORM%-release +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake %CMAKE_CMD_LINE_PARAMS% -DCMAKE_BUILD_TYPE=release %CMAKE_MINGW_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% +) + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/cmake_projects_ios.sh b/PxShared/buildtools/cmake_projects_ios.sh new file mode 100644 index 0000000..b8c9878 --- /dev/null +++ b/PxShared/buildtools/cmake_projects_ios.sh @@ -0,0 +1,69 @@ +#!/bin/bash +x + +DATE=$(date +"%m-%d-%Y") +TIME=$(date +"%T") +echo "#############################################################################################" +echo "Starting ${0##*/} $DATE $TIME " +echo "#############################################################################################" + +echo "PM_CMakeModules_VERSION $PM_CMakeModules_VERSION" +echo "PM_CMakeModules_PATH $PM_CMakeModules_PATH" +echo "PM_PATHS $PM_PATHS" + +[ -z "$PM_CMakeModules_VERSION" ] && echo "Don't run this batch file directly. Run generate_projects_(platform).bat instead." && exit 1; + +[ -z "$PM_PACKAGES_ROOT" ] && echo "PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree." && exit 1; + +# Now set up the CMake command from PM_PACKAGES_ROOT + +CMAKECMD=$PM_cmake_PATH/bin/cmake + +echo "Cmake: $CMAKECMD" + +echo "#############################################################################################" +echo "Creating Ios XCode projects" + + +# Common cmd line params +CMAKE_CMD_LINE_PARAMS="\ +-DTARGET_BUILD_PLATFORM=ios \ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON \ +-DAPPEND_CONFIG_NAME=OFF \ +-DCMAKE_PREFIX_PATH=$PM_PATHS \ +-DFORCE_64BIT_SUFFIX=ON \ +-DPX_OUTPUT_ARCH=arm \ +-DPX_OUTPUT_LIB_DIR=$PXSHARED_ROOT_DIR \ +-DPX_OUTPUT_BIN_DIR=$PXSHARED_ROOT_DIR \ +-DCMAKE_TOOLCHAIN_FILE=$PM_CMakeModules_PATH/ios/ios.toolchain.cmake \ +-DCMAKE_INSTALL_PREFIX=$PXSHARED_ROOT_DIR/install/ios \ +-DUSE_DEBUG_WINCRT=OFF" + +# Generate projects here + +IOSPLATDIR=ios +mkdir -p compiler +CMAKE_OUTPUT_DIR=compiler/$IOSPLATDIR-xcode/ + +rm -r -f $CMAKE_OUTPUT_DIR +mkdir -p $CMAKE_OUTPUT_DIR +pushd $CMAKE_OUTPUT_DIR + +$CMAKECMD $PXSHARED_ROOT_DIR/src/compiler/cmake -G "Xcode" -DCMAKE_INSTALL_PREFIX=$PXSHARED_ROOT_DIR/install/$IOSPLATDIR/ $CMAKE_CMD_LINE_PARAMS || exit 1 + +popd + +OSXPLATDIR=ios +mkdir -p compiler +for config in "debug" "profile" "checked" "release"; do +CMAKE_OUTPUT_DIR=compiler/$IOSPLATDIR-$config/ + +rm -r -f $CMAKE_OUTPUT_DIR +mkdir -p $CMAKE_OUTPUT_DIR +pushd $CMAKE_OUTPUT_DIR + +$CMAKECMD $PXSHARED_ROOT_DIR/src/compiler/cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=$config -DCMAKE_INSTALL_PREFIX=$PXSHARED_ROOT_DIR/install/$IOSPLATDIR/ $CMAKE_CMD_LINE_PARAMS || exit 1 + +popd + +done + diff --git a/PxShared/buildtools/cmake_projects_linux.bat b/PxShared/buildtools/cmake_projects_linux.bat new file mode 100644 index 0000000..e4f5417 --- /dev/null +++ b/PxShared/buildtools/cmake_projects_linux.bat @@ -0,0 +1,101 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +SET LINUX_ROOT=%PM_ClangCrosscompile_PATH% + +echo "Cmake: %CMAKECMD%" +echo "LINUX_ROOT: %LINUX_ROOT%" + +echo. +echo ############################################################################################# +ECHO "Creating linux crosscompiler makefiles" + +REM Common cmd line params +set CMAKE_CMD_LINE_PARAMS= ^ +-DTARGET_BUILD_PLATFORM=linux ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DPX_OUTPUT_ARCH=x86 ^ +-DPX_OUTPUT_LIB_DIR="%PXSHARED_ROOT_DIR%" ^ +-DPX_OUTPUT_BIN_DIR="%PXSHARED_ROOT_DIR%" ^ +-DCMAKE_INSTALL_PREFIX="%PXSHARED_ROOT_DIR%install/linux/" ^ +-DCMAKE_TOOLCHAIN_FILE="%PM_CMakeModules_PATH%\linux\LinuxCrossToolchain.x86_64-unknown-linux-gnu.cmake" ^ +-DARCHITECTURE_TRIPLE=x86_64-unknown-linux-gnu ^ +-DCMAKE_MAKE_PROGRAM:PATH="%PM_MinGW_PATH%\bin\mingw32-make.exe" ^ +-DGENERATE_STATIC_LIBRARIES=ON + + +REM Generate projects here +SET CMAKE_OUTPUT_DIR=compiler\linux-crosscompile-debug +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake --no-warn-unused-cli %CMAKE_CMD_LINE_PARAMS% -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=debug + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% +) + +SET CMAKE_OUTPUT_DIR=compiler\linux-crosscompile-profile +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -G "Unix Makefiles" %CMAKE_CMD_LINE_PARAMS% -DCMAKE_BUILD_TYPE=profile + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% +) + +SET CMAKE_OUTPUT_DIR=compiler\linux-crosscompile-checked +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -G "Unix Makefiles" %CMAKE_CMD_LINE_PARAMS% -DCMAKE_BUILD_TYPE=checked + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% +) + +SET CMAKE_OUTPUT_DIR=compiler\linux-crosscompile-release +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -G "Unix Makefiles" %CMAKE_CMD_LINE_PARAMS% -DCMAKE_BUILD_TYPE=release + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% +) + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/cmake_projects_linux.sh b/PxShared/buildtools/cmake_projects_linux.sh new file mode 100644 index 0000000..2fbfcb7 --- /dev/null +++ b/PxShared/buildtools/cmake_projects_linux.sh @@ -0,0 +1,57 @@ +#!/bin/bash +x + +DATE=$(date +"%m-%d-%Y") +TIME=$(date +"%T") +echo "#############################################################################################" +echo "Starting ${0##*/} $DATE $TIME " +echo "#############################################################################################" + +echo "PM_CMakeModules_VERSION $PM_CMakeModules_VERSION" +echo "PM_CMakeModules_PATH $PM_CMakeModules_PATH" +echo "PM_PATHS $PM_PATHS" + +[ -z "$PM_CMakeModules_VERSION" ] && echo "Don't run this batch file directly. Run generate_projects_(platform).bat instead." && exit 1; + +[ -z "$PM_PACKAGES_ROOT" ] && echo "PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree." && exit 1; + +# Now set up the CMake command from PM_PACKAGES_ROOT + +export CMAKECMD=$PM_cmake_PATH/bin/cmake + +echo "Cmake: $CMAKECMD" + +echo "PXshared Root: $PXSHARED_ROOT_DIR" + +# Generate projects here + +echo "#############################################################################################" +echo "Creating Unix Makefiles" + +# Common cmd line params +CMAKE_CMD_LINE_PARAMS="\ +-DTARGET_BUILD_PLATFORM=linux \ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON \ +-DAPPEND_CONFIG_NAME=OFF \ +-DCMAKE_PREFIX_PATH=$PM_PATHS \ +-DPX_OUTPUT_ARCH=x86 \ +-DPX_OUTPUT_LIB_DIR=$PXSHARED_ROOT_DIR \ +-DPX_OUTPUT_BIN_DIR=$PXSHARED_ROOT_DIR \ +-DCUDA_TOOLKIT_ROOT_DIR=$PM_CUDA_PATH \ +-DCMAKE_INSTALL_PREFIX=$PXSHARED_ROOT_DIR/install/linux/ \ +-DGENERATE_STATIC_LIBRARIES=ON \ +-DPX_GENERATE_GPU_PROJECTS=ON" + +# Compiler dependend params +CMAKE_CLANG_CMD_LINE_PARAMS="-DCMAKE_C_COMPILER=clang-3.8 -DCMAKE_CXX_COMPILER=clang++-3.8" + +# Generate projects here +mkdir -p compiler +for config in "debug" "profile" "checked" "release"; do + +rm -r -f compiler/linux-$config-clang/ +mkdir -p compiler/linux-$config-clang/ +pushd compiler/linux-$config-clang/ +$CMAKECMD $PXSHARED_ROOT_DIR/src/compiler/cmake -G "Unix Makefiles" $CMAKE_CLANG_CMD_LINE_PARAMS -DCMAKE_BUILD_TYPE=$config $CMAKE_CMD_LINE_PARAMS || exit 1 +popd + +done diff --git a/PxShared/buildtools/cmake_projects_mac.sh b/PxShared/buildtools/cmake_projects_mac.sh new file mode 100644 index 0000000..de49902 --- /dev/null +++ b/PxShared/buildtools/cmake_projects_mac.sh @@ -0,0 +1,98 @@ +#!/bin/bash +x + +DATE=$(date +"%m-%d-%Y") +TIME=$(date +"%T") +echo "#############################################################################################" +echo "Starting ${0##*/} $DATE $TIME " +echo "#############################################################################################" + +echo "PM_CMakeModules_VERSION $PM_CMakeModules_VERSION" +echo "PM_CMakeModules_PATH $PM_CMakeModules_PATH" +echo "PM_PATHS $PM_PATHS" + +[ -z "$PM_CMakeModules_VERSION" ] && echo "Don't run this batch file directly. Run generate_projects_(platform).bat instead." && exit 1; + +[ -z "$PM_PACKAGES_ROOT" ] && echo "PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree." && exit 1; + +# Now set up the CMake command from PM_PACKAGES_ROOT + +CMAKECMD=$PM_cmake_PATH/bin/cmake + +echo "Cmake: $CMAKECMD" + +echo "#############################################################################################" +echo "Creating Mac XCode projects" + + +# Common cmd line params +CMAKE_CMD_LINE_PARAMS="\ +-DTARGET_BUILD_PLATFORM=mac \ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON \ +-DAPPEND_CONFIG_NAME=OFF \ +-DCMAKE_PREFIX_PATH=$PM_PATHS \ +-DPX_OUTPUT_ARCH=x86 \ +-DPX_OUTPUT_LIB_DIR=$PXSHARED_ROOT_DIR \ +-DPX_OUTPUT_BIN_DIR=$PXSHARED_ROOT_DIR \ +-DGENERATE_STATIC_LIBRARIES=ON \ +-DUSE_DEBUG_WINCRT=OFF" + +# Compiler dependend params +CMAKE_MAC32_CMD_LINE_PARAMS="-DFORCE_32BIT_SUFFIX=ON" + +CMAKE_MAC64_CMD_LINE_PARAMS="-DFORCE_64BIT_SUFFIX=ON" + +# Generate projects here + +MACPLATDIR=mac32 +mkdir -p compiler +for config in "debug" "profile" "checked" "release"; do +CMAKE_OUTPUT_DIR=compiler/$MACPLATDIR-$config/ + +rm -r -f $CMAKE_OUTPUT_DIR +mkdir -p $CMAKE_OUTPUT_DIR +pushd $CMAKE_OUTPUT_DIR + +$CMAKECMD $PXSHARED_ROOT_DIR/src/compiler/cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=$config -DCMAKE_INSTALL_PREFIX=$PXSHARED_ROOT_DIR/install/$MACPLATDIR/ $CMAKE_CMD_LINE_PARAMS $CMAKE_MAC32_CMD_LINE_PARAMS || exit 1 + +popd + +done + +MACPLATDIR=mac64 +mkdir -p compiler +for config in "debug" "profile" "checked" "release"; do +CMAKE_OUTPUT_DIR=compiler/$MACPLATDIR-$config/ + +rm -r -f $CMAKE_OUTPUT_DIR +mkdir -p $CMAKE_OUTPUT_DIR +pushd $CMAKE_OUTPUT_DIR + +$CMAKECMD $PXSHARED_ROOT_DIR/src/compiler/cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=$config -DCMAKE_INSTALL_PREFIX=$PXSHARED_ROOT_DIR/install/$MACPLATDIR/ $CMAKE_CMD_LINE_PARAMS $CMAKE_MAC64_CMD_LINE_PARAMS || exit 1 + +popd + +done + +MACPLATDIR=mac32 +mkdir -p compiler +CMAKE_OUTPUT_DIR=compiler/$MACPLATDIR-xcode/ + +rm -r -f $CMAKE_OUTPUT_DIR +mkdir -p $CMAKE_OUTPUT_DIR +pushd $CMAKE_OUTPUT_DIR + +$CMAKECMD $PXSHARED_ROOT_DIR/src/compiler/cmake -G "Xcode" -DCMAKE_BUILD_TYPE=$config -DCMAKE_INSTALL_PREFIX=$PXSHARED_ROOT_DIR/install/$MACPLATDIR/ $CMAKE_CMD_LINE_PARAMS $CMAKE_MAC32_CMD_LINE_PARAMS || exit 1 + +popd + +MACPLATDIR=mac64 +mkdir -p compiler +CMAKE_OUTPUT_DIR=compiler/$MACPLATDIR-xcode/ + +rm -r -f $CMAKE_OUTPUT_DIR +mkdir -p $CMAKE_OUTPUT_DIR +pushd $CMAKE_OUTPUT_DIR + +$CMAKECMD $PXSHARED_ROOT_DIR/src/compiler/cmake -G "Xcode" -DCMAKE_BUILD_TYPE=$config -DCMAKE_INSTALL_PREFIX=$PXSHARED_ROOT_DIR/install/$MACPLATDIR/ $CMAKE_CMD_LINE_PARAMS $CMAKE_MAC64_CMD_LINE_PARAMS || exit 1 + +popd diff --git a/PxShared/buildtools/cmake_projects_vc12win.bat b/PxShared/buildtools/cmake_projects_vc12win.bat new file mode 100644 index 0000000..27a489e --- /dev/null +++ b/PxShared/buildtools/cmake_projects_vc12win.bat @@ -0,0 +1,103 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +echo "Cmake: %CMAKECMD%" + +REM Common cmd line params +set CMAKE_CMD_LINE_PARAMS=-DTARGET_BUILD_PLATFORM=windows ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DPX_OUTPUT_ARCH=x86 ^ +-DPX_OUTPUT_LIB_DIR="%PXSHARED_ROOT_DIR%" ^ +-DPX_OUTPUT_BIN_DIR="%PXSHARED_ROOT_DIR%" ^ +-DUSE_DEBUG_WINCRT=OFF + +REM Compiler dependend params +set CMAKE_VC12WIN32_CMD_LINE_PARAMS= ^ +-G "Visual Studio 12 2013" -AWin32 ^ +-DPX_GENERATE_GPU_PROJECTS=ON ^ +-DCUDA_TOOLKIT_ROOT_DIR=%PM_CUDA_PATH% + +set CMAKE_VC12WIN64_CMD_LINE_PARAMS= ^ +-G "Visual Studio 12 2013" -Ax64 ^ +-DPX_GENERATE_GPU_PROJECTS=ON ^ +-DCUDA_TOOLKIT_ROOT_DIR=%PM_CUDA_PATH% + +echo. +echo ############################################################################################# +ECHO "Creating VC12 VS2013" + +SET VCPLATDIR=vc12win64-md +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% "%PXSHARED_ROOT_DIR%src/compiler/cmake" -DUSE_STATIC_WINCRT=OFF -DCMAKE_INSTALL_PREFIX="%PXSHARED_ROOT_DIR%install/%VCPLATDIR%/" %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC12WIN64_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +SET VCPLATDIR=vc12win64-mt +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% "%PXSHARED_ROOT_DIR%src/compiler/cmake" -DUSE_STATIC_WINCRT=ON -DCMAKE_INSTALL_PREFIX="%PXSHARED_ROOT_DIR%install/%VCPLATDIR%/" %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC12WIN64_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +SET VCPLATDIR=vc12win32-mt +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% "%PXSHARED_ROOT_DIR%src/compiler/cmake" -DUSE_STATIC_WINCRT=ON -DCMAKE_INSTALL_PREFIX="%PXSHARED_ROOT_DIR%install/%VCPLATDIR%/" %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC12WIN32_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +SET VCPLATDIR=vc12win32-md +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% "%PXSHARED_ROOT_DIR%src/compiler/cmake" -DUSE_STATIC_WINCRT=OFF -DCMAKE_INSTALL_PREFIX="%PXSHARED_ROOT_DIR%install/%VCPLATDIR%/" %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC12WIN32_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/cmake_projects_vc14ps4.bat b/PxShared/buildtools/cmake_projects_vc14ps4.bat new file mode 100644 index 0000000..716f8b5 --- /dev/null +++ b/PxShared/buildtools/cmake_projects_vc14ps4.bat @@ -0,0 +1,62 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +echo "Cmake: %CMAKECMD%" + + +REM Generate projects here + +echo. +echo ############################################################################################# +ECHO "Creating VC14 VS2015 Ps4" + +SET CMAKE_OUTPUT_DIR=compiler\vc14ps4\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake ^ +-G "Visual Studio 14 2015" ^ +-DTARGET_BUILD_PLATFORM=ps4 ^ +-DCMAKE_TOOLCHAIN_FILE="%PM_CMakeModules_PATH%\ps4\PS4Toolchain.txt" ^ +-DCMAKE_GENERATOR_PLATFORM=ORBIS ^ +-DPX_OUTPUT_LIB_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DPX_OUTPUT_BIN_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\clangps4\ + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/cmake_projects_vc14switch.bat b/PxShared/buildtools/cmake_projects_vc14switch.bat new file mode 100644 index 0000000..1b496a5 --- /dev/null +++ b/PxShared/buildtools/cmake_projects_vc14switch.bat @@ -0,0 +1,62 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +echo "Cmake: %CMAKECMD%" + + +REM Generate projects here + +echo. +echo ############################################################################################# +ECHO "Creating VC14 VS2015 Switch" + +SET CMAKE_OUTPUT_DIR=compiler\vc14switch\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake ^ +-G "Visual Studio 14 2015" ^ +-DTARGET_BUILD_PLATFORM=switch ^ +-DCMAKE_TOOLCHAIN_FILE="%PM_CMakeModules_PATH%\switch\NX64Toolchain.txt" ^ +-DCMAKE_GENERATOR_PLATFORM=NX64 ^ +-DPX_OUTPUT_LIB_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DPX_OUTPUT_BIN_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\clangswitch\ + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/cmake_projects_vc14uwp.bat b/PxShared/buildtools/cmake_projects_vc14uwp.bat new file mode 100644 index 0000000..5f43473 --- /dev/null +++ b/PxShared/buildtools/cmake_projects_vc14uwp.bat @@ -0,0 +1,100 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +echo "Cmake: %CMAKECMD%" + +REM Common cmd line params +set CMAKE_CMD_LINE_PARAMS=-DTARGET_BUILD_PLATFORM=uwp ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DPX_OUTPUT_LIB_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DPX_OUTPUT_BIN_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DUSE_DEBUG_WINCRT=OFF ^ +-DCMAKE_SYSTEM_NAME=WindowsStore ^ +-DCMAKE_SYSTEM_VERSION=10.0 + +REM Compiler dependend params +set CMAKE_VC14WIN32_CMD_LINE_PARAMS= ^ +-G "Visual Studio 14" -AWin32 ^ +-DPX_OUTPUT_ARCH=x86 ^ +-DPX_GENERATE_GPU_PROJECTS=OFF + + +set CMAKE_VC14WIN64_CMD_LINE_PARAMS= ^ +-G "Visual Studio 14" -Ax64 ^ +-DPX_OUTPUT_ARCH=x86 ^ +-DPX_GENERATE_GPU_PROJECTS=OFF + +set CMAKE_VC14ARM_CMD_LINE_PARAMS= ^ +-G "Visual Studio 14" -Aarm ^ +-DPX_OUTPUT_ARCH=arm ^ +-DPX_GENERATE_GPU_PROJECTS=OFF + +echo. +echo ############################################################################################# +ECHO "Creating VC14 VS2015" + +SET VCPLATDIR=vc14uwp64 +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\%VCPLATDIR%\ %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC14WIN64_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +SET VCPLATDIR=vc14uwp32 +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\%VCPLATDIR%\ %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC14WIN32_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +GOTO :End + +SET VCPLATDIR=vc14uwparm +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\%VCPLATDIR%\ %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC14ARM_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/cmake_projects_vc14win.bat b/PxShared/buildtools/cmake_projects_vc14win.bat new file mode 100644 index 0000000..af70161 --- /dev/null +++ b/PxShared/buildtools/cmake_projects_vc14win.bat @@ -0,0 +1,104 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +echo "Cmake: %CMAKECMD%" + +REM Common cmd line params +set CMAKE_CMD_LINE_PARAMS=-DTARGET_BUILD_PLATFORM=windows ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DPX_OUTPUT_ARCH=x86 ^ +-DPX_OUTPUT_LIB_DIR="%PXSHARED_ROOT_DIR%" ^ +-DPX_OUTPUT_BIN_DIR="%PXSHARED_ROOT_DIR%" ^ +-DUSE_DEBUG_WINCRT=OFF + +REM Compiler dependend params +set CMAKE_VC14WIN32_CMD_LINE_PARAMS= ^ +-G "Visual Studio 14 2015" -AWin32 ^ +-DPX_GENERATE_GPU_PROJECTS=ON ^ +-DCUDA_TOOLKIT_ROOT_DIR=%PM_CUDA_PATH% + + +set CMAKE_VC14WIN64_CMD_LINE_PARAMS= ^ +-G "Visual Studio 14 2015" -Ax64 ^ +-DPX_GENERATE_GPU_PROJECTS=ON ^ +-DCUDA_TOOLKIT_ROOT_DIR=%PM_CUDA_PATH% + +echo. +echo ############################################################################################# +ECHO "Creating VC14 VS2015" + +SET VCPLATDIR=vc14win64-md +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% "%PXSHARED_ROOT_DIR%src/compiler/cmake" -DUSE_STATIC_WINCRT=OFF -DCMAKE_INSTALL_PREFIX="%PXSHARED_ROOT_DIR%install/%VCPLATDIR%/" %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC14WIN64_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +SET VCPLATDIR=vc14win64-mt +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% "%PXSHARED_ROOT_DIR%src/compiler/cmake" -DUSE_STATIC_WINCRT=ON -DCMAKE_INSTALL_PREFIX="%PXSHARED_ROOT_DIR%install/%VCPLATDIR%/" %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC14WIN64_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +SET VCPLATDIR=vc14win32-md +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% "%PXSHARED_ROOT_DIR%src/compiler/cmake" -DUSE_STATIC_WINCRT=OFF -DCMAKE_INSTALL_PREFIX="%PXSHARED_ROOT_DIR%install/%VCPLATDIR%/" %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC14WIN32_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +SET VCPLATDIR=vc14win32-mt +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% "%PXSHARED_ROOT_DIR%src/compiler/cmake" -DUSE_STATIC_WINCRT=ON -DCMAKE_INSTALL_PREFIX="%PXSHARED_ROOT_DIR%install/%VCPLATDIR%/" %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC14WIN32_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/cmake_projects_vc14xboxone.bat b/PxShared/buildtools/cmake_projects_vc14xboxone.bat new file mode 100644 index 0000000..771737f --- /dev/null +++ b/PxShared/buildtools/cmake_projects_vc14xboxone.bat @@ -0,0 +1,62 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +echo "Cmake: %CMAKECMD%" + + +REM Generate projects here + +echo. +echo ############################################################################################# +ECHO "Creating VC14 VS2015 XboxOne" + +SET CMAKE_OUTPUT_DIR=compiler\vc14xboxone\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake ^ +-G "Visual Studio 14 2015" ^ +-DTARGET_BUILD_PLATFORM=xboxone ^ +-DCMAKE_TOOLCHAIN_FILE="%PM_CMakeModules_PATH%\xboxone\XboxOneToolchain.txt" ^ +-DCMAKE_GENERATOR_PLATFORM=Durango ^ +-DPX_OUTPUT_LIB_DIR=%PXSHARED_ROOT_DIR% ^ +-DPX_OUTPUT_BIN_DIR=%PXSHARED_ROOT_DIR% ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\vc14xboxone\ + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/cmake_projects_vc15ps4.bat b/PxShared/buildtools/cmake_projects_vc15ps4.bat new file mode 100644 index 0000000..5538859 --- /dev/null +++ b/PxShared/buildtools/cmake_projects_vc15ps4.bat @@ -0,0 +1,62 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +echo "Cmake: %CMAKECMD%" + + +REM Generate projects here + +echo. +echo ############################################################################################# +ECHO "Creating VC15 VS2017 Ps4" + +SET CMAKE_OUTPUT_DIR=compiler\vc15ps4\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake ^ +-G "Visual Studio 15 2017" ^ +-DTARGET_BUILD_PLATFORM=ps4 ^ +-DCMAKE_TOOLCHAIN_FILE="%PM_CMakeModules_PATH%\ps4\PS4Toolchain.txt" ^ +-DCMAKE_GENERATOR_PLATFORM=ORBIS ^ +-DPX_OUTPUT_LIB_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DPX_OUTPUT_BIN_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\clangps4\ + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/cmake_projects_vc15switch.bat b/PxShared/buildtools/cmake_projects_vc15switch.bat new file mode 100644 index 0000000..0e0c60a --- /dev/null +++ b/PxShared/buildtools/cmake_projects_vc15switch.bat @@ -0,0 +1,62 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +echo "Cmake: %CMAKECMD%" + + +REM Generate projects here + +echo. +echo ############################################################################################# +ECHO "Creating VC15 VS2017 Switch" + +SET CMAKE_OUTPUT_DIR=compiler\vc15switch\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake ^ +-G "Visual Studio 15" ^ +-T v141 ^ +-DTARGET_BUILD_PLATFORM=switch ^ +-DCMAKE_TOOLCHAIN_FILE="%PM_CMakeModules_PATH%\switch\NX64Toolchain.txt" ^ +-DCMAKE_GENERATOR_PLATFORM=NX64 ^ +-DPX_OUTPUT_LIB_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DPX_OUTPUT_BIN_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\clangswitch\ + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/cmake_projects_vc15uwp.bat b/PxShared/buildtools/cmake_projects_vc15uwp.bat new file mode 100644 index 0000000..8065781 --- /dev/null +++ b/PxShared/buildtools/cmake_projects_vc15uwp.bat @@ -0,0 +1,101 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +echo "Cmake: %CMAKECMD%" + +REM Common cmd line params +set CMAKE_CMD_LINE_PARAMS=-DTARGET_BUILD_PLATFORM=uwp ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DPX_OUTPUT_LIB_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DPX_OUTPUT_BIN_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DUSE_DEBUG_WINCRT=OFF ^ +-DCMAKE_SYSTEM_NAME=WindowsStore ^ +-DCMAKE_SYSTEM_VERSION=10.0 + +REM Compiler dependend params +set CMAKE_VC15WIN32_CMD_LINE_PARAMS= ^ +-G "Visual Studio 15 2017" -AWin32 ^ +-DPX_OUTPUT_ARCH=x86 ^ +-DPX_GENERATE_GPU_PROJECTS=OFF + + +set CMAKE_VC15WIN64_CMD_LINE_PARAMS= ^ +-G "Visual Studio 15 2017" -Ax64 ^ +-DPX_OUTPUT_ARCH=x86 ^ +-DPX_GENERATE_GPU_PROJECTS=OFF + +set CMAKE_VC15ARM_CMD_LINE_PARAMS= ^ +-G "Visual Studio 15 2017" -Aarm ^ +-DPX_OUTPUT_ARCH=arm ^ +-DPX_GENERATE_GPU_PROJECTS=OFF + +echo. +echo ############################################################################################# +ECHO "Creating VC15 VS2017" + +SET VCPLATDIR=vc15uwp64 +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\%VCPLATDIR%\ %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC15WIN64_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +SET VCPLATDIR=vc15uwp32 +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\%VCPLATDIR%\ %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC15WIN32_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +GOTO :End + +SET VCPLATDIR=vc15uwparm +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\%VCPLATDIR%\ %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC15ARM_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/cmake_projects_vc15win.bat b/PxShared/buildtools/cmake_projects_vc15win.bat new file mode 100644 index 0000000..f1b07bc --- /dev/null +++ b/PxShared/buildtools/cmake_projects_vc15win.bat @@ -0,0 +1,102 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +echo "Cmake: %CMAKECMD%" + +REM Common cmd line params +set CMAKE_CMD_LINE_PARAMS=-DTARGET_BUILD_PLATFORM=windows ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DPX_OUTPUT_ARCH=x86 ^ +-DPX_OUTPUT_LIB_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DPX_OUTPUT_BIN_DIR=%PXSHARED_ROOT_DIR%\ ^ +-DUSE_DEBUG_WINCRT=OFF + +REM Compiler dependend params +set CMAKE_VC15WIN32_CMD_LINE_PARAMS= ^ +-G "Visual Studio 15 2017" -AWin32 ^ +-DPX_GENERATE_GPU_PROJECTS=OFF + + +set CMAKE_VC15WIN64_CMD_LINE_PARAMS= ^ +-G "Visual Studio 15 2017" -Ax64 ^ +-DPX_GENERATE_GPU_PROJECTS=OFF + +echo. +echo ############################################################################################# +ECHO "Creating VC15 VS2017" + +SET VCPLATDIR=vc15win64-md +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -DUSE_STATIC_WINCRT=OFF -DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\%VCPLATDIR%\ %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC15WIN64_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +SET VCPLATDIR=vc15win64-mt +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -DUSE_STATIC_WINCRT=ON -DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\%VCPLATDIR%\ %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC15WIN64_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +SET VCPLATDIR=vc15win32-md +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -DUSE_STATIC_WINCRT=OFF -DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\%VCPLATDIR%\ %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC15WIN32_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + +SET VCPLATDIR=vc15win32-mt +SET CMAKE_OUTPUT_DIR=compiler\%VCPLATDIR%\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake -DUSE_STATIC_WINCRT=ON -DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\%VCPLATDIR%\ %CMAKE_CMD_LINE_PARAMS% %CMAKE_VC15WIN32_CMD_LINE_PARAMS% + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/cmake_projects_vc15xboxone.bat b/PxShared/buildtools/cmake_projects_vc15xboxone.bat new file mode 100644 index 0000000..0e4e8de --- /dev/null +++ b/PxShared/buildtools/cmake_projects_vc15xboxone.bat @@ -0,0 +1,73 @@ +@echo off + +echo ############################################################################################# +echo Starting %~n0 %date% %time% +echo ############################################################################################# + +echo PM_CMakeModules_VERSION %PM_CMakeModules_VERSION% +echo PM_CMakeModules_PATH %PM_CMakeModules_PATH% +echo PM_PATHS %PM_PATHS% + +if NOT DEFINED PM_CMakeModules_VERSION GOTO DONT_RUN_STEP_2 + +IF NOT DEFINED PM_PACKAGES_ROOT GOTO PM_PACKAGES_ROOT_UNDEFINED + +REM Now set up the CMake command from PM_PACKAGES_ROOT + +SET CMAKECMD=%PM_cmake_PATH%\bin\cmake.exe + +SET VSWHERE=%PM_vswhere_PATH%\VsWhere.exe + +echo "Cmake: %CMAKECMD%" + +rem ## Try to get the VS 15 path using vswhere (see https://github.com/Microsoft/vswhere) +for /f "delims=" %%i in ('%VSWHERE% -latest -property installationPath') do ( + if exist "%%i" ( + set VS150PATH="%%i" + ) +) + +echo "VS150PATH: %VS150PATH%" + +REM Generate projects here + +echo. +echo ############################################################################################# +ECHO "Creating VC15 VS2017 XboxOne" + +SET CMAKE_OUTPUT_DIR=compiler\vc15xboxone\ +IF EXIST %CMAKE_OUTPUT_DIR% rmdir /S /Q %CMAKE_OUTPUT_DIR% +mkdir %CMAKE_OUTPUT_DIR% +pushd %CMAKE_OUTPUT_DIR% + + +%CMAKECMD% %PXSHARED_ROOT_DIR%\src\compiler\cmake ^ +-G "Visual Studio 15 2017" ^ +-DTARGET_BUILD_PLATFORM=xboxone ^ +-DCMAKE_TOOLCHAIN_FILE="%PM_CMakeModules_PATH%\xboxone\XboxOneToolchainVC15.txt" ^ +-DCMAKE_GENERATOR_PLATFORM=Durango ^ +-DPX_OUTPUT_LIB_DIR=%PXSHARED_ROOT_DIR% ^ +-DPX_OUTPUT_BIN_DIR=%PXSHARED_ROOT_DIR% ^ +-DAPPEND_CONFIG_NAME=OFF ^ +-DCMAKE_PREFIX_PATH="%PM_PATHS%" ^ +-DUSE_GAMEWORKS_OUTPUT_DIRS=ON ^ +-DCMAKE_VS150PATH=%VS150PATH% ^ +-DCMAKE_INSTALL_PREFIX=%PXSHARED_ROOT_DIR%\install\vc15xboxone\ + +popd +if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% + + +GOTO :End + +:PM_PACKAGES_ROOT_UNDEFINED +ECHO PM_PACKAGES_ROOT has to be defined, pointing to the root of the dependency tree. +PAUSE +GOTO END + +:DONT_RUN_STEP_2 +ECHO Don't run this batch file directly. Run generate_projects_(platform).bat instead +PAUSE +GOTO END + +:End diff --git a/PxShared/buildtools/packman/packman b/PxShared/buildtools/packman/packman new file mode 100644 index 0000000..4d0c292 --- /dev/null +++ b/PxShared/buildtools/packman/packman @@ -0,0 +1,80 @@ +#!/bin/bash + +PM_PACKMAN_VERSION=4.2-rc2 + +# Specify where configuration file could exist +export PM_CONFIG_PATH=$(dirname ${BASH_SOURCE})/packman_config.txt + +# The packages root may already be configured by the user +if [ -z "$PM_PACKAGES_ROOT" ]; then + # Set variable permanently using .profile for this user + echo "export PM_PACKAGES_ROOT=\$HOME/packman-repo" >> ~/.profile + # Set variable temporarily in this process so that the following execution will work + export PM_PACKAGES_ROOT="${HOME}/packman-repo" +fi + +# Ensure the packages root path exists: +if [ ! -d "$PM_PACKAGES_ROOT" ]; then + echo "Creating packman packages repository at $PM_PACKAGES_ROOT" + mkdir -p "$PM_PACKAGES_ROOT" +fi + +# The packman module may be externally configured +if [ -z "$PM_MODULE_EXT" ]; then + PM_MODULE_DIR="$PM_PACKAGES_ROOT/packman-common/$PM_PACKMAN_VERSION" + export PM_MODULE="$PM_MODULE_DIR/packman.py" +else + export PM_MODULE="$PM_MODULE_EXT" +fi + +fetch_file_from_s3() +{ + SOURCE=$1 + SOURCE_URL=http://packman.s3.amazonaws.com/$SOURCE + TARGET=$2 + echo "Fetching $SOURCE from S3 ..." + if command -v wget >/dev/null 2>&1; then + wget --quiet -O$TARGET $SOURCE_URL + else + curl -o $TARGET $SOURCE_URL -s -S + fi +} + +# Ensure the packman package exists: +if [ ! -f "$PM_MODULE" ]; then + PM_MODULE_PACKAGE="packman-common@$PM_PACKMAN_VERSION.zip" + TARGET="/tmp/$PM_MODULE_PACKAGE" + # We always fetch packman from S3: + fetch_file_from_s3 $PM_MODULE_PACKAGE $TARGET + if [ "$?" -eq "0" ]; then + echo "Unpacking ..." + mkdir -p "$PM_MODULE_DIR" + unzip -q $TARGET -d "$PM_MODULE_DIR" + rm $TARGET + else + echo "Failure while fetching packman module from S3!" + exit 1 + fi +fi + +# Generate temporary file name for environment variables: +PM_VAR_PATH=`mktemp -u -t tmp.XXXXX.$$.pmvars` + +python "$PM_MODULE" $* --var-path="$PM_VAR_PATH" +exit_code=$? + +# Export the variables if the file was used and remove the file: +if [ -f "$PM_VAR_PATH" ]; then + while read -r line + do + if [ ${#line} -gt 0 ]; then + export "$line" + fi + done < "$PM_VAR_PATH" + rm -f "$PM_VAR_PATH" +fi + +# Return the exit code from python +if [ "$exit_code" != 0 ]; then + exit $exit_code +fi diff --git a/PxShared/buildtools/packman/packman.cmd b/PxShared/buildtools/packman/packman.cmd new file mode 100644 index 0000000..8e98015 --- /dev/null +++ b/PxShared/buildtools/packman/packman.cmd @@ -0,0 +1,41 @@ +:: Reset errorlevel status so we are not inheriting this state from the calling process:
+@call :RESET_ERROR
+:: You can remove the call below if you do your own manual configuration of the dev machines
+@call "%~dp0\win-bootstrap\configure.bat"
+@if errorlevel 1 exit /b 1
+:: Everything below is mandatory
+@if not defined PM_PYTHON goto :PYTHON_ENV_ERROR
+@if not defined PM_MODULE goto :MODULE_ENV_ERROR
+
+:: Generate temporary path for variable file
+:TEMP_VAR_PATH_LOOP
+@set "PM_VAR_PATH=%tmp%\tmp.%RANDOM%.pmvars"
+@if exist "%PM_VAR_PATH%" goto :TEMP_VAR_PATH_LOOP
+
+@"%PM_PYTHON%" "%PM_MODULE%" %* --var-path="%PM_VAR_PATH%"
+@if errorlevel 1 goto :eof
+
+:: Marshall environment variables into the current environment if they have been generated and remove temporary file
+@if exist "%PM_VAR_PATH%" (
+ @for /F "usebackq tokens=*" %%A in ("%PM_VAR_PATH%") do @set "%%A"
+ @if errorlevel 1 goto :VAR_ERROR
+ @del /F "%PM_VAR_PATH%"
+)
+@set PM_VAR_PATH=
+@goto :eof
+
+:: Subroutines below
+:PYTHON_ENV_ERROR
+@echo User environment variable PM_PYTHON is not set! Please configure machine for packman or call configure.bat.
+@exit /b 1
+
+:MODULE_ENV_ERROR
+@echo User environment variable PM_MODULE is not set! Please configure machine for packman or call configure.bat.
+@exit /b 1
+
+:VAR_ERROR
+@echo Error while processing and setting environment variables!
+@exit /b 1
+
+:RESET_ERROR
+@exit /b 0
\ No newline at end of file diff --git a/PxShared/buildtools/packman/packman_config.txt b/PxShared/buildtools/packman/packman_config.txt new file mode 100644 index 0000000..dafaf9a --- /dev/null +++ b/PxShared/buildtools/packman/packman_config.txt @@ -0,0 +1,5 @@ +PM_PACKAGES_SOURCE=gtl
+PM_GTL_USER=svcgtlautomate
+PM_GTL_KEY=QHV0ME1AdDNHVEwkY3IxcHQk
+PM_S3_READ_KEY_ID=AKIAJHPSPBMWMTZS6TJA
+PM_S3_READ_SECRET_KEY=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
diff --git a/PxShared/buildtools/packman/win-bootstrap/configure.bat b/PxShared/buildtools/packman/win-bootstrap/configure.bat new file mode 100644 index 0000000..d21a7d1 --- /dev/null +++ b/PxShared/buildtools/packman/win-bootstrap/configure.bat @@ -0,0 +1,104 @@ +@set PM_PACKMAN_VERSION=4.2-rc2
+
+:: Specify where config file could exist
+@set PM_CONFIG_PATH=%~dp0..\packman_config.txt
+
+:: The external root may already be configured and we should do minimal work in that case
+@if defined PM_PACKAGES_ROOT goto ENSURE_DIR
+
+:: If the folder isn't set we assume that the best place for it is on the drive that we are currently
+:: running from
+@set PM_DRIVE=%CD:~0,2%
+
+@set PM_PACKAGES_ROOT=%PM_DRIVE%\packman-repo
+
+:: We use *setx* here so that the variable is persisted in the user environment
+@echo Setting user environment variable PM_PACKAGES_ROOT to %PM_PACKAGES_ROOT%
+@setx PM_PACKAGES_ROOT %PM_PACKAGES_ROOT%
+@if errorlevel 1 goto ERROR
+
+:: The above doesn't work properly from a build step in VisualStudio because a separate process is
+:: spawned for it so it will be lost for subsequent compilation steps - VisualStudio must
+:: be launched from a new process. We catch this odd-ball case here:
+@if defined PM_DISABLE_VS_WARNING goto ENSURE_DIR
+@if not defined VSLANG goto ENSURE_DIR
+@echo The above is a once-per-computer operation. Unfortunately VisualStudio cannot pick up environment change
+@echo unless *VisualStudio is RELAUNCHED*.
+@echo If you are launching VisualStudio from command line or command line utility make sure
+@echo you have a fresh launch environment (relaunch the command line or utility).
+@echo If you are using 'linkPath' and referring to packages via local folder links you can safely ignore this warning.
+@echo You can disable this warning by setting the environment variable PM_DISABLE_VS_WARNING.
+@echo.
+
+:: Check for the directory that we need. Note that mkdir will create any directories
+:: that may be needed in the path
+:ENSURE_DIR
+@if not exist "%PM_PACKAGES_ROOT%" (
+ @echo Creating directory %PM_PACKAGES_ROOT%
+ @mkdir "%PM_PACKAGES_ROOT%"
+ @if errorlevel 1 goto ERROR_MKDIR_PACKAGES_ROOT
+)
+
+:: The Python interpreter may already be externally configured
+@if defined PM_PYTHON_EXT (
+ @set PM_PYTHON=%PM_PYTHON_EXT%
+ @goto PACKMAN
+)
+
+@set PM_PYTHON_DIR=%PM_PACKAGES_ROOT%\python\2.7.6-windows-x86
+@set PM_PYTHON=%PM_PYTHON_DIR%\python.exe
+
+@if exist "%PM_PYTHON%" goto PACKMAN
+
+@set [email protected]
+@for /f "delims=" %%a in ('powershell -ExecutionPolicy ByPass -NoLogo -NoProfile -File "%~dp0\generate_temp_file_name.ps1"') do @set TEMP_FILE_NAME=%%a
+@set TARGET=%TEMP_FILE_NAME%.exe
+@call "%~dp0fetch_file_from_s3.cmd" %PM_PYTHON_PACKAGE% %TARGET%
+@if errorlevel 1 goto ERROR
+
+@echo Unpacking ...
+@%TARGET% -o"%PM_PYTHON_DIR%" -y 1> nul
+@if errorlevel 1 goto ERROR
+
+@del %TARGET%
+
+:PACKMAN
+:: The packman module may already be externally configured
+@if defined PM_MODULE_EXT (
+ @set PM_MODULE=%PM_MODULE_EXT%
+ @goto END
+)
+
+@set PM_MODULE_DIR=%PM_PACKAGES_ROOT%\packman-common\%PM_PACKMAN_VERSION%
+@set PM_MODULE=%PM_MODULE_DIR%\packman.py
+
+@if exist "%PM_MODULE%" goto END
+
+@set PM_MODULE_PACKAGE=packman-common@%PM_PACKMAN_VERSION%.zip
+@for /f "delims=" %%a in ('powershell -ExecutionPolicy ByPass -NoLogo -NoProfile -File "%~dp0\generate_temp_file_name.ps1"') do @set TEMP_FILE_NAME=%%a
+@set TARGET=%TEMP_FILE_NAME%
+@call "%~dp0fetch_file_from_s3.cmd" %PM_MODULE_PACKAGE% %TARGET%
+@if errorlevel 1 goto ERROR
+
+@echo Unpacking ...
+@"%PM_PYTHON%" "%~dp0\install_package.py" %TARGET% "%PM_MODULE_DIR%"
+@if errorlevel 1 goto ERROR
+
+@del %TARGET%
+
+@goto END
+
+:ERROR_MKDIR_PACKAGES_ROOT
+@echo Failed to automatically create packman packages repo at %PM_PACKAGES_ROOT%.
+@echo Please set a location explicitly that packman has permission to write to, by issuing:
+@echo.
+@echo setx PM_PACKAGES_ROOT {path-you-choose-for-storing-packman-packages-locally}
+@echo.
+@echo Then launch a new command console for the changes to take effect and run packman command again.
+@exit /B 1
+
+:ERROR
+@echo !!! Failure while configuring local machine :( !!!
+@exit /B 1
+
+:END
diff --git a/PxShared/buildtools/packman/win-bootstrap/fetch_file_from_gtl.ps1 b/PxShared/buildtools/packman/win-bootstrap/fetch_file_from_gtl.ps1 new file mode 100644 index 0000000..d4ae86b --- /dev/null +++ b/PxShared/buildtools/packman/win-bootstrap/fetch_file_from_gtl.ps1 @@ -0,0 +1,43 @@ +param( +[Parameter(Mandatory=$true)][string]$sourceGUID=$null, +[string]$output="out.exe" +) +$source = "http://nvgtl/download/" + $sourceGUID +$filename = $output +$key64 = 'QHV0ME1AdDNHVEwkY3IxcHQk' +$key = [System.Text.Encoding]::GetEncoding(1252).GetString([Convert]::FromBase64String($key64)) +$key = $key | ConvertTo-SecureString -asPlainText -Force +$credential = New-Object System.Management.Automation.PSCredential('svcgtlautomate', $key) +$cache = New-Object System.Net.CredentialCache +$cache.Add( "http://sso.nvidia.com", "NTLM", $credential) + +$req = [System.Net.httpwebrequest]::Create($source) +$req.cookiecontainer = New-Object System.net.CookieContainer +$req.Credentials = $cache +Write-Host "Connecting to NVGTL ..." +$res = $req.GetResponse() + +if($res.StatusCode -eq "OK") { + Write-Host "Downloading ..." + [int]$goal = $res.ContentLength + $reader = $res.GetResponseStream() + $writer = new-object System.IO.FileStream $fileName, "Create" + [byte[]]$buffer = new-object byte[] 4096 + [int]$total = [int]$count = 0 + do + { + $count = $reader.Read($buffer, 0, $buffer.Length); + $writer.Write($buffer, 0, $count); + $total += $count + if($goal -gt 0) { + Write-Progress "Downloading $url" "Saving $total of $goal" -id 0 -percentComplete (($total/$goal)*100) + } else { + Write-Progress "Downloading $url" "Saving $total bytes..." -id 0 + } + } while ($count -gt 0) + + $reader.Close() + $writer.Flush() + $writer.Close() +} + diff --git a/PxShared/buildtools/packman/win-bootstrap/fetch_file_from_s3.cmd b/PxShared/buildtools/packman/win-bootstrap/fetch_file_from_s3.cmd new file mode 100644 index 0000000..550040f --- /dev/null +++ b/PxShared/buildtools/packman/win-bootstrap/fetch_file_from_s3.cmd @@ -0,0 +1,19 @@ +:: You need to specify <package-name> <target-name> as input to this command
+
+@set PACKAGE_NAME=%1
+@set TARGET=%2
+
+@echo Fetching %PACKAGE_NAME% from s3 ...
+
+@powershell -ExecutionPolicy ByPass -NoLogo -NoProfile -File "%~dp0fetch_file_from_s3.ps1" -sourceName %PACKAGE_NAME% -output %TARGET%
+:: A bug in powershell prevents the errorlevel code from being set when using the -File execution option
+:: We must therefore do our own failure analysis, basically make sure the file exists and is larger than 0 bytes:
+@if not exist %TARGET% goto ERROR_DOWNLOAD_FAILED
+@if %~z2==0 goto ERROR_DOWNLOAD_FAILED
+
+@exit /b 0
+
+:ERROR_DOWNLOAD_FAILED
+@echo Failed to download file from %1
+@echo Most likely because endpoint cannot be reached (VPN connection down?)
+@exit /b 1
\ No newline at end of file diff --git a/PxShared/buildtools/packman/win-bootstrap/fetch_file_from_s3.ps1 b/PxShared/buildtools/packman/win-bootstrap/fetch_file_from_s3.ps1 new file mode 100644 index 0000000..ad4c7d4 --- /dev/null +++ b/PxShared/buildtools/packman/win-bootstrap/fetch_file_from_s3.ps1 @@ -0,0 +1,60 @@ +param(
+[Parameter(Mandatory=$true)][string]$sourceName=$null,
+[string]$output="out.exe"
+)
+$source = "http://packman.s3.amazonaws.com/" + $sourceName
+$filename = $output
+
+$triesLeft = 3
+
+do
+{
+ $triesLeft -= 1
+ $req = [System.Net.httpwebrequest]::Create($source)
+ $req.cookiecontainer = New-Object System.net.CookieContainer
+
+ try
+ {
+ Write-Host "Connecting to S3 ..."
+ $res = $req.GetResponse()
+ if($res.StatusCode -eq "OK") {
+ Write-Host "Downloading ..."
+ [int]$goal = $res.ContentLength
+ $reader = $res.GetResponseStream()
+ $writer = new-object System.IO.FileStream $fileName, "Create"
+ [byte[]]$buffer = new-object byte[] 4096
+ [int]$total = [int]$count = 0
+ do
+ {
+ $count = $reader.Read($buffer, 0, $buffer.Length);
+ $writer.Write($buffer, 0, $count);
+ $total += $count
+ if($goal -gt 0) {
+ Write-Progress "Downloading $url" "Saving $total of $goal" -id 0 -percentComplete (($total/$goal)*100)
+ } else {
+ Write-Progress "Downloading $url" "Saving $total bytes..." -id 0
+ }
+ } while ($count -gt 0)
+
+ $triesLeft = 0
+ }
+ }
+ catch
+ {
+ Write-Host "Error connecting to S3!"
+ Write-Host $_.Exception|format-list -force
+ }
+ finally
+ {
+ if ($reader)
+ {
+ $reader.Close()
+ }
+ if ($writer)
+ {
+ $writer.Flush()
+ $writer.Close()
+ }
+ }
+} while ($triesLeft -gt 0)
+
diff --git a/PxShared/buildtools/packman/win-bootstrap/fetch_file_from_url.ps1 b/PxShared/buildtools/packman/win-bootstrap/fetch_file_from_url.ps1 new file mode 100644 index 0000000..9abaa46 --- /dev/null +++ b/PxShared/buildtools/packman/win-bootstrap/fetch_file_from_url.ps1 @@ -0,0 +1,37 @@ +param(
+[Parameter(Mandatory=$true)][string]$sourceUrl=$null,
+[Parameter(Mandatory=$true)][string]$output=$null
+)
+$source = $sourceUrl
+$filename = $output
+
+$req = [System.Net.httpwebrequest]::Create($source)
+$req.cookiecontainer = New-Object System.net.CookieContainer
+
+Write-Host "Connecting to $source ..."
+$res = $req.GetResponse()
+
+if($res.StatusCode -eq "OK") {
+ Write-Host "Downloading ..."
+ [int]$goal = $res.ContentLength
+ $reader = $res.GetResponseStream()
+ $writer = new-object System.IO.FileStream $fileName, "Create"
+ [byte[]]$buffer = new-object byte[] 4096
+ [int]$total = [int]$count = 0
+ do
+ {
+ $count = $reader.Read($buffer, 0, $buffer.Length);
+ $writer.Write($buffer, 0, $count);
+ $total += $count
+ if($goal -gt 0) {
+ Write-Progress "Downloading $url" "Saving $total of $goal" -id 0 -percentComplete (($total/$goal)*100)
+ } else {
+ Write-Progress "Downloading $url" "Saving $total bytes..." -id 0
+ }
+ } while ($count -gt 0)
+
+ $reader.Close()
+ $writer.Flush()
+ $writer.Close()
+}
+
diff --git a/PxShared/buildtools/packman/win-bootstrap/generate_temp_file_name.ps1 b/PxShared/buildtools/packman/win-bootstrap/generate_temp_file_name.ps1 new file mode 100644 index 0000000..896cf14 --- /dev/null +++ b/PxShared/buildtools/packman/win-bootstrap/generate_temp_file_name.ps1 @@ -0,0 +1,2 @@ +$out = [System.IO.Path]::GetTempFileName()
+Write-Host $out
\ No newline at end of file diff --git a/PxShared/buildtools/packman/win-bootstrap/install_package.py b/PxShared/buildtools/packman/win-bootstrap/install_package.py new file mode 100644 index 0000000..ce50a3e --- /dev/null +++ b/PxShared/buildtools/packman/win-bootstrap/install_package.py @@ -0,0 +1,39 @@ +import logging
+import zipfile
+import tempfile
+import sys
+import shutil
+
+__author__ = 'hfannar'
+logging.basicConfig(level=logging.WARNING, format="%(message)s")
+logger = logging.getLogger('install_package')
+
+
+class TemporaryDirectory:
+ def __init__(self):
+ self.path = None
+
+ def __enter__(self):
+ self.path = tempfile.mkdtemp()
+ return self.path
+
+ def __exit__(self, type, value, traceback ):
+ # Remove temporary data created
+ shutil.rmtree(self.path)
+
+
+def install_package(package_src_path, package_dst_path):
+ with zipfile.ZipFile(package_src_path, allowZip64=True) as zip_file, TemporaryDirectory() as temp_dir:
+ zip_file.extractall(temp_dir)
+ # Recursively copy (temp_dir will be automatically cleaned up on exit)
+ try:
+ # Recursive copy is needed because both package name and version folder could be missing in
+ # target directory:
+ shutil.copytree(temp_dir, package_dst_path)
+ except OSError, exc:
+ logger.warning("Directory %s already present, packaged installation aborted" % package_dst_path)
+ else:
+ logger.info("Package successfully installed to %s" % package_dst_path)
+
+
+install_package(sys.argv[1], sys.argv[2])
\ No newline at end of file diff --git a/PxShared/buildtools/steps/build_all_linux.sh b/PxShared/buildtools/steps/build_all_linux.sh new file mode 100644 index 0000000..167912f --- /dev/null +++ b/PxShared/buildtools/steps/build_all_linux.sh @@ -0,0 +1,22 @@ +#!/bin/bash +x + +set -e + +# get number of CPU cores +if [ -f /proc/cpuinfo ]; then + CPUS=`grep processor /proc/cpuinfo | wc -l` +else + CPUS=1 +fi + +# Stackoverflow suggests jobs count of (CPU cores + 1) as a respctively good number! +JOBS=`expr $CPUS + 1` + +# run make for all configs +pushd "$(dirname "$0")/../../compiler/linux-debug-clang" +make -j$JOBS || exit 1 +popd + +pushd "$(dirname "$0")/../../compiler/linux-release-clang" +make -j$JOBS || exit 1 +popd diff --git a/PxShared/buildtools/steps/build_all_mac.sh b/PxShared/buildtools/steps/build_all_mac.sh new file mode 100644 index 0000000..57437a0 --- /dev/null +++ b/PxShared/buildtools/steps/build_all_mac.sh @@ -0,0 +1,29 @@ +#!/bin/bash +x + +# exit script on first error +set -e + +# get number of CPU cores +CPUS=`sysctl -n hw.ncpu` + +# Stackoverflow suggests jobs count of (CPU cores + 1) as a respctively good number! +JOBS=`expr $CPUS + 1` + +build_config() +{ + CONFIG=$1 + echo "*** Building: $CONFIG ***" + pushd "$(dirname "$0")/../../compiler/$CONFIG" + make -j$JOBS install + popd +} + +# run make for all configs +build_config "osx32-checked" +build_config "osx32-debug" +build_config "osx32-profile" +build_config "osx32-release" +build_config "osx64-checked" +build_config "osx64-debug" +build_config "osx64-profile" +build_config "osx64-release" diff --git a/PxShared/buildtools/steps/build_all_windows.bat b/PxShared/buildtools/steps/build_all_windows.bat new file mode 100644 index 0000000..5708927 --- /dev/null +++ b/PxShared/buildtools/steps/build_all_windows.bat @@ -0,0 +1,12 @@ +@cmd /c "%~dp0build_all_windows_vc12.bat" +@if %ERRORLEVEL% neq 0 goto ERROR + +@cmd /c "%~dp0build_all_windows_vc14.bat" +@if %ERRORLEVEL% neq 0 goto ERROR + +:: Success +@exit /B 0 + +:ERROR +@echo !!! Failure while building for Windows!!! +@exit /B 1 diff --git a/PxShared/buildtools/steps/build_all_windows_vc12.bat b/PxShared/buildtools/steps/build_all_windows_vc12.bat new file mode 100644 index 0000000..695c20c --- /dev/null +++ b/PxShared/buildtools/steps/build_all_windows_vc12.bat @@ -0,0 +1,60 @@ +:: Setup VS2013 build environment +@call "%VS120COMNTOOLS%VsdevCmd.bat" + +:: Note that we use /build rather than /rebuild because cmake cleans the directories when we +:: generate the projects (making /rebuild redundant since it's basically /clean + /build). +:: By using /build these bat files can be useful during regular development (to verify changes) +:: Will rename them from rebuild to build at a future point in time. + +@set ROOT_PATH=%~dp0..\..\compiler + +@set SOLUTION_PATH=vc12win32-mt\PxShared.sln +@call :BUILD +@if %ERRORLEVEL% neq 0 goto ERROR + +@set SOLUTION_PATH=vc12win32-md\PxShared.sln +@call :BUILD +@if %ERRORLEVEL% neq 0 goto ERROR + +@set SOLUTION_PATH=vc12win64-mt\PxShared.sln +@call :BUILD +@if %ERRORLEVEL% neq 0 goto ERROR + +@set SOLUTION_PATH=vc12win64-md\PxShared.sln +@call :BUILD +@if %ERRORLEVEL% neq 0 goto ERROR + +:: Success +@exit /B 0 + +:ERROR +@echo Failure while building *Windows vc12* targets! +@exit /B 1 + +:BUILD +@echo | set /p dummyName=** Building %SOLUTION_PATH% debug ... ** +@devenv "%ROOT_PATH%\%SOLUTION_PATH%" /build "debug" /Project INSTALL +@echo ** End of %SOLUTION_PATH% debug ** +@echo. +@if %ERRORLEVEL% neq 0 goto ERROR + +@echo | set /p dummyName=** Building %SOLUTION_PATH% profile ... ** +@devenv "%ROOT_PATH%\%SOLUTION_PATH%" /build "profile" /Project INSTALL +@echo ** End of %SOLUTION_PATH% profile ** +@echo. +@if %ERRORLEVEL% neq 0 goto ERROR + +@echo | set /p dummyName=** Building %SOLUTION_PATH% profile ... ** +@devenv "%ROOT_PATH%\%SOLUTION_PATH%" /build "checked" /Project INSTALL +@echo ** End of %SOLUTION_PATH% checked ** +@echo. +@if %ERRORLEVEL% neq 0 goto ERROR + +@echo | set /p dummyName=** Building %SOLUTION_PATH% profile ... ** +@devenv "%ROOT_PATH%\%SOLUTION_PATH%" /build "release" /Project INSTALL +@echo ** End of %SOLUTION_PATH% release ** +@echo. +@if %ERRORLEVEL% neq 0 goto ERROR + + +@exit /B
\ No newline at end of file diff --git a/PxShared/buildtools/steps/build_all_windows_vc14.bat b/PxShared/buildtools/steps/build_all_windows_vc14.bat new file mode 100644 index 0000000..3baec1d --- /dev/null +++ b/PxShared/buildtools/steps/build_all_windows_vc14.bat @@ -0,0 +1,61 @@ +:: Setup VS2015 build environment +@call "%VS140COMNTOOLS%VsdevCmd.bat" + +:: Note that we use /build rather than /rebuild because cmake cleans the directories when we +:: generate the projects (making /rebuild redundant since it's basically /clean + /build). +:: By using /build these bat files can be useful during regular development (to verify changes) +:: Will rename them from rebuild to build at a future point in time. + +@set ROOT_PATH=%~dp0..\..\compiler + +:: Windows 'all' +@set SOLUTION_PATH=vc14win32-mt\PxShared.sln +@call :BUILD +@if %ERRORLEVEL% neq 0 goto ERROR + +@set SOLUTION_PATH=vc14win32-md\PxShared.sln +@call :BUILD +@if %ERRORLEVEL% neq 0 goto ERROR + +@set SOLUTION_PATH=vc14win64-mt\PxShared.sln +@call :BUILD +@if %ERRORLEVEL% neq 0 goto ERROR + +@set SOLUTION_PATH=vc14win64-md\PxShared.sln +@call :BUILD +@if %ERRORLEVEL% neq 0 goto ERROR + +:: Success +@exit /B 0 + +:ERROR +@echo Failure while building *Windows vc14* targets! +@exit /B 1 + +:BUILD +@echo | set /p dummyName=** Building %SOLUTION_PATH% debug ... ** +@devenv "%ROOT_PATH%\%SOLUTION_PATH%" /build "debug" /Project INSTALL +@echo ** End of %SOLUTION_PATH% debug ** +@echo. +@if %ERRORLEVEL% neq 0 goto ERROR + +@echo | set /p dummyName=** Building %SOLUTION_PATH% profile ... ** +@devenv "%ROOT_PATH%\%SOLUTION_PATH%" /build "profile" /Project INSTALL +@echo ** End of %SOLUTION_PATH% profile ** +@echo. +@if %ERRORLEVEL% neq 0 goto ERROR + +@echo | set /p dummyName=** Building %SOLUTION_PATH% profile ... ** +@devenv "%ROOT_PATH%\%SOLUTION_PATH%" /build "checked" /Project INSTALL +@echo ** End of %SOLUTION_PATH% checked ** +@echo. +@if %ERRORLEVEL% neq 0 goto ERROR + +@echo | set /p dummyName=** Building %SOLUTION_PATH% profile ... ** +@devenv "%ROOT_PATH%\%SOLUTION_PATH%" /build "release" /Project INSTALL +@echo ** End of %SOLUTION_PATH% release ** +@echo. +@if %ERRORLEVEL% neq 0 goto ERROR + + +@exit /B
\ No newline at end of file diff --git a/PxShared/buildtools/steps/package_all_linux.sh b/PxShared/buildtools/steps/package_all_linux.sh new file mode 100644 index 0000000..2b3d7af --- /dev/null +++ b/PxShared/buildtools/steps/package_all_linux.sh @@ -0,0 +1,28 @@ +#!/bin/bash +x + +set -e + +# build docs +pushd "$(dirname "$0")/../../docs/_compile" +./build_all.sh +popd + +# remove all zips +pushd "$(dirname "$0")/../.." +rm -f *.zip +popd + +# replace packman's config file to use s3 instead of gtl +echo "s3" > "$(dirname "$0")/../packman/source.conf" + +# run packager +if [ -z $1 ] ; then + OPTIONS="" +else + OPTIONS="-v $1" + shift +fi + +pushd "$(dirname "$0")/../packager/" +./create_packages.sh linux $OPTIONS $@ +popd
\ No newline at end of file diff --git a/PxShared/buildtools/steps/package_all_mac.sh b/PxShared/buildtools/steps/package_all_mac.sh new file mode 100644 index 0000000..e7566bc --- /dev/null +++ b/PxShared/buildtools/steps/package_all_mac.sh @@ -0,0 +1,24 @@ +#!/bin/bash +x + +# exit script on first error +set -e + +#@set ROOT_PATH=%~dp0..\.. + +#::Remove old builds to keep things clean (important on build agents so we don't fill them up) +#@del /q /f "%ROOT_PATH%\pxshared*.zip" + +# run packager +if [ -z $1 ] ; then + VERSION=0 +else + VERSION=$1 +fi + +ROOT_PATH=$(dirname ${BASH_SOURCE})/../.. +PACKMAN_CMD=$ROOT_PATH/buildtools/packman/packman +echo $PACKMAN_CMD + +source "$PACKMAN_CMD" install packman-packager 1.0.3 +echo "Launching create_packman_packages" +python "$PM_packman_packager_PATH/create_packman_packages.py" "$ROOT_PATH/install" --output-dir="$ROOT_PATH" osx pxshared $VERSION "$PM_packman_packager_PATH/templates/CMakeConfigWrapperNIX.cmake" "$PM_packman_packager_PATH/templates/CMakeConfigVersionTemplate.cmake" diff --git a/PxShared/buildtools/steps/package_all_ps4.bat b/PxShared/buildtools/steps/package_all_ps4.bat new file mode 100644 index 0000000..87455e9 --- /dev/null +++ b/PxShared/buildtools/steps/package_all_ps4.bat @@ -0,0 +1,20 @@ +@set ROOT_PATH=%~dp0..\.. + +::Remove old builds to keep things clean (important on build agents so we don't fill them up) +@del /q /f "%ROOT_PATH%\blast_*.zip" + +@pushd "%ROOT_PATH%\docs\_compile" +@call build_all.bat +@popd +@if %errorlevel% NEQ 0 goto :ERROR + +@set VERSION=%1 +@set OPTIONS= +@if ["%VERSION%"] NEQ [""] set OPTIONS=-v %VERSION% + +@call "%ROOT_PATH%\buildtools\packager\create_packages.bat" %OPTIONS% ps4 +@if %ERRORLEVEL% EQU 0 goto :eof + +:ERROR +@echo Failure during packaging for PS4!!! +@exit /b 1
\ No newline at end of file diff --git a/PxShared/buildtools/steps/package_all_windows.bat b/PxShared/buildtools/steps/package_all_windows.bat new file mode 100644 index 0000000..e55cb1b --- /dev/null +++ b/PxShared/buildtools/steps/package_all_windows.bat @@ -0,0 +1,26 @@ +@set ROOT_PATH=%~dp0..\.. + +::Remove old builds to keep things clean (important on build agents so we don't fill them up) +@del /q /f "%ROOT_PATH%\pxshared*.zip" + +@set VERSION=%1 +@set OPTIONS= +@if ["%VERSION%"] EQU [""] set VERSION=0 + +@call "%ROOT_PATH%\buildtools\packman\packman" install python 2.7.6-windows-x86 +@if %ERRORLEVEL% NEQ 0 goto :ERROR + +@call "%ROOT_PATH%\buildtools\packman\packman" install packman-packager 1.0 +@if %ERRORLEVEL% NEQ 0 goto :ERROR + +%PM_PYTHON% "%PM_packman_packager_PATH%/create_packman_packages.py" "%ROOT_PATH%\install" --output-dir="%ROOT_PATH%" vc14win pxshared %VERSION% "%PM_packman_packager_PATH%/templates/CMakeConfigWrapperWindows.cmake" "%PM_packman_packager_PATH%/templates/CMakeConfigVersionTemplate.cmake" +@if %ERRORLEVEL% NEQ 0 goto :ERROR + +%PM_PYTHON% "%PM_packman_packager_PATH%/create_packman_packages.py" "%ROOT_PATH%\install" --output-dir="%ROOT_PATH%" vc12win pxshared %VERSION% "%PM_packman_packager_PATH%/templates/CMakeConfigWrapperWindows.cmake" "%PM_packman_packager_PATH%/templates/CMakeConfigVersionTemplate.cmake" +@if %ERRORLEVEL% NEQ 0 goto :ERROR + +@goto :eof + +:ERROR +@echo Failure during packaging for Windows!!! +@exit /b 1 diff --git a/PxShared/buildtools/steps/package_all_xboxone.bat b/PxShared/buildtools/steps/package_all_xboxone.bat new file mode 100644 index 0000000..86d5ff0 --- /dev/null +++ b/PxShared/buildtools/steps/package_all_xboxone.bat @@ -0,0 +1,20 @@ +@set ROOT_PATH=%~dp0..\.. + +::Remove old builds to keep things clean (important on build agents so we don't fill them up) +@del /q /f "%ROOT_PATH%\blast_*.zip" + +@pushd "%ROOT_PATH%\docs\_compile" +@call build_all.bat +@popd +@if %errorlevel% NEQ 0 goto :ERROR + +@set VERSION=%1 +@set OPTIONS= +@if ["%VERSION%"] NEQ [""] set OPTIONS=-v %VERSION% + +@call "%ROOT_PATH%\buildtools\packager\create_packages.bat" %OPTIONS% xboxone +@if %ERRORLEVEL% EQU 0 goto :eof + +:ERROR +@echo Failure during packaging for xboxone!!! +@exit /b 1
\ No newline at end of file diff --git a/PxShared/buildtools/steps/pre-build_linux.sh b/PxShared/buildtools/steps/pre-build_linux.sh new file mode 100644 index 0000000..c6c3160 --- /dev/null +++ b/PxShared/buildtools/steps/pre-build_linux.sh @@ -0,0 +1,7 @@ +#!/bin/bash +x + +set -e +pushd "$(dirname "$0")/../.." +./generate_projects_linux.sh +popd + diff --git a/PxShared/buildtools/steps/pre-build_mac.sh b/PxShared/buildtools/steps/pre-build_mac.sh new file mode 100644 index 0000000..3094938 --- /dev/null +++ b/PxShared/buildtools/steps/pre-build_mac.sh @@ -0,0 +1,7 @@ +#!/bin/bash +x + +set -e +pushd "$(dirname "$0")/../.." +./generate_projects_mac.sh +popd + diff --git a/PxShared/buildtools/steps/pre-build_ps4.bat b/PxShared/buildtools/steps/pre-build_ps4.bat new file mode 100644 index 0000000..7be0ba8 --- /dev/null +++ b/PxShared/buildtools/steps/pre-build_ps4.bat @@ -0,0 +1,5 @@ +@pushd "%~dp0..\.." +@call generate_projects_vc14ps4.bat +@popd +@if %errorlevel% NEQ 0 exit /b 1 + diff --git a/PxShared/buildtools/steps/pre-build_windows.bat b/PxShared/buildtools/steps/pre-build_windows.bat new file mode 100644 index 0000000..cd80520 --- /dev/null +++ b/PxShared/buildtools/steps/pre-build_windows.bat @@ -0,0 +1,6 @@ +@pushd "%~dp0..\.." +@call generate_projects_win.bat vc12 +@call generate_projects_win.bat vc14 +@popd +@if %errorlevel% NEQ 0 exit /b 1 + diff --git a/PxShared/buildtools/steps/pre-build_xboxone.bat b/PxShared/buildtools/steps/pre-build_xboxone.bat new file mode 100644 index 0000000..2e9c950 --- /dev/null +++ b/PxShared/buildtools/steps/pre-build_xboxone.bat @@ -0,0 +1,5 @@ +@pushd "%~dp0..\.." +@call generate_projects_vc14xboxone.bat +@popd +@if %errorlevel% NEQ 0 exit /b 1 + diff --git a/PxShared/buildtools/steps/rebuild_all_ps4.bat b/PxShared/buildtools/steps/rebuild_all_ps4.bat new file mode 100644 index 0000000..405b4ea --- /dev/null +++ b/PxShared/buildtools/steps/rebuild_all_ps4.bat @@ -0,0 +1,18 @@ +:: Setup VS2015 build environment +@call "%VS140COMNTOOLS%VsdevCmd.bat" + +@set ROOT_PATH=%~dp0..\..\compiler +:: Xbox targets +@devenv "%ROOT_PATH%\vc14ps4-cmake\BlastAll.sln" /rebuild "debug" +@if %ERRORLEVEL% neq 0 goto ERROR + +@devenv "%ROOT_PATH%\vc14ps4-cmake\BlastAll.sln" /rebuild "profile" +@if %ERRORLEVEL% neq 0 goto ERROR + + +:: Success +@exit /B 0 + +:ERROR +@echo Failure while building *PS4* targets! +@exit /B 1 diff --git a/PxShared/buildtools/steps/rebuild_all_xboxone.bat b/PxShared/buildtools/steps/rebuild_all_xboxone.bat new file mode 100644 index 0000000..7c2d3f1 --- /dev/null +++ b/PxShared/buildtools/steps/rebuild_all_xboxone.bat @@ -0,0 +1,17 @@ +:: Setup VS2015 build environment +@call "%VS140COMNTOOLS%VsdevCmd.bat" + +@set ROOT_PATH=%~dp0..\..\compiler +:: Xbox targets +@devenv "%ROOT_PATH%\vc14xboxone-cmake\BlastAll.sln" /rebuild "debug" +@if %ERRORLEVEL% neq 0 goto ERROR + +@devenv "%ROOT_PATH%\vc14xboxone-cmake\BlastAll.sln" /rebuild "profile" +@if %ERRORLEVEL% neq 0 goto ERROR + +:: Success +@exit /B 0 + +:ERROR +@echo Failure while building *Xbox One* targets! +@exit /B 1 diff --git a/PxShared/buildtools/steps/run_tests_linux.sh b/PxShared/buildtools/steps/run_tests_linux.sh new file mode 100644 index 0000000..8770e39 --- /dev/null +++ b/PxShared/buildtools/steps/run_tests_linux.sh @@ -0,0 +1,11 @@ +#!/bin/bash +x + +set -e + +# run tests +pushd "$(dirname "$0")/../../bin/linux64-gcc" +./BlastUnitTestsDEBUG.elf --gtest_output=xml:BlastUnitTestsDEBUG.xml +echo \#\#teamcity[importData type=\'gtest\' parseOutOfDate=\'true\' file=\'bin/linux64-gcc/BlastUnitTestsDEBUG.xml\'] +./BlastUnitTests.elf --gtest_output=xml:BlastUnitTests.xml +echo \#\#teamcity[importData type=\'gtest\' parseOutOfDate=\'true\' file=\'bin/linux64-gcc/BlastUnitTests.xml\'] +popd diff --git a/PxShared/buildtools/steps/run_tests_windows.bat b/PxShared/buildtools/steps/run_tests_windows.bat new file mode 100644 index 0000000..b18e2b0 --- /dev/null +++ b/PxShared/buildtools/steps/run_tests_windows.bat @@ -0,0 +1,6 @@ +@set BIN_PATH=%~dp0..\..\bin\vc14win64-cmake +@pushd "%BIN_PATH%" +@call BlastUnitTestsDEBUG_x64.exe --gtest_output=xml:BlastUnitTestsDEBUG_x64.xml +@echo ##teamcity[importData type='gtest' parseOutOfDate='true' file='%BIN_PATH%\BlastUnitTestsDEBUG_x64.xml'] +@popd +@if %errorlevel% NEQ 0 exit /b 1
\ No newline at end of file |