mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
Update Github Actions CI and add Windows (#1413)
- Add one Windows build to Github Actions - Remove Appveyor config - Move a few build steps out of the script - Use Ninja as the generator (makes for more readable logs) - Add build cache (except on Windows where it seems to break) Change-Id: Ida90ee1842af98aff86e5144ab7b9766480378c9 Signed-off-by: Kevin Petit <kevin.petit@arm.com>
This commit is contained in:
31
presubmit.sh
31
presubmit.sh
@@ -15,7 +15,7 @@ touch ${TOOLCHAIN_FILE}
|
||||
BUILD_OPENGL_TEST="OFF"
|
||||
|
||||
# Prepare toolchain if needed
|
||||
if [[ ${JOB_ARCHITECTURE} != "" ]]; then
|
||||
if [[ ${JOB_ARCHITECTURE} != "" && ${RUNNER_OS} != "Windows" ]]; then
|
||||
TOOLCHAIN_URL_VAR=TOOLCHAIN_URL_${JOB_ARCHITECTURE}
|
||||
TOOLCHAIN_URL=${!TOOLCHAIN_URL_VAR}
|
||||
wget ${TOOLCHAIN_URL}
|
||||
@@ -38,35 +38,36 @@ fi
|
||||
|
||||
if [[ ( ${JOB_ARCHITECTURE} == "" && ${JOB_ENABLE_GL} == "1" ) ]]; then
|
||||
BUILD_OPENGL_TEST="ON"
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install libglu1-mesa-dev freeglut3-dev mesa-common-dev libglew-dev
|
||||
fi
|
||||
# Prepare headers
|
||||
git clone https://github.com/KhronosGroup/OpenCL-Headers.git
|
||||
cd OpenCL-Headers
|
||||
ln -s CL OpenCL # For OSX builds
|
||||
cd ..
|
||||
|
||||
# Get and build loader
|
||||
git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader.git
|
||||
cd ${TOP}/OpenCL-ICD-Loader
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DOPENCL_ICD_LOADER_HEADERS_DIR=${TOP}/OpenCL-Headers/ ..
|
||||
make
|
||||
cmake .. -G Ninja -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DOPENCL_ICD_LOADER_HEADERS_DIR=${TOP}/OpenCL-Headers/
|
||||
cmake --build . -j2 --config Release
|
||||
|
||||
# Build CTS
|
||||
cd ${TOP}
|
||||
ls -l
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCL_INCLUDE_DIR=${TOP}/OpenCL-Headers \
|
||||
if [[ ${RUNNER_OS} == "Windows" ]]; then
|
||||
CMAKE_OPENCL_LIBRARIES_OPTION="OpenCL"
|
||||
CMAKE_CACHE_OPTIONS=""
|
||||
else
|
||||
CMAKE_OPENCL_LIBRARIES_OPTION="-lOpenCL -lpthread"
|
||||
CMAKE_CACHE_OPTIONS="-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
|
||||
fi
|
||||
cmake .. -G Ninja \
|
||||
${CMAKE_CACHE_OPTIONS} \
|
||||
-DCL_INCLUDE_DIR=${TOP}/OpenCL-Headers \
|
||||
-DCL_LIB_DIR=${TOP}/OpenCL-ICD-Loader/build \
|
||||
-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} \
|
||||
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=./bin \
|
||||
-DOPENCL_LIBRARIES="-lOpenCL -lpthread" \
|
||||
-DOPENCL_LIBRARIES="${CMAKE_OPENCL_LIBRARIES_OPTION}" \
|
||||
-DUSE_CL_EXPERIMENTAL=ON \
|
||||
-DGL_IS_SUPPORTED=${BUILD_OPENGL_TEST} \
|
||||
..
|
||||
make -j2
|
||||
-DGL_IS_SUPPORTED=${BUILD_OPENGL_TEST}
|
||||
cmake --build . -j3 --config Release
|
||||
|
||||
|
||||
Reference in New Issue
Block a user