Skip to content

Commit 7b522eb

Browse files
committed
Add consume pkg-config test.
1 parent 47fcebb commit 7b522eb

2 files changed

Lines changed: 62 additions & 0 deletions

File tree

.github/workflows/linux.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,3 +282,21 @@ jobs:
282282
- name: Test pkg-config --libs
283283
shell: bash
284284
run: PKG_CONFIG_PATH="$GITHUB_WORKSPACE/install/lib/pkgconfig" pkg-config OpenCL --libs | grep -q "\-L$GITHUB_WORKSPACE/install/lib -lOpenCL"
285+
286+
- name: Consume pkg-config
287+
shell: bash
288+
run: ln -s $GITHUB_WORKSPACE/external/OpenCL-Headers/install/include $GITHUB_WORKSPACE/install/include;
289+
PKG_CONFIG_PATH="$GITHUB_WORKSPACE/install/lib/pkgconfig" $CMAKE_EXE
290+
-G "${{matrix.GEN}}"
291+
-D CMAKE_C_COMPILER=${{matrix.COMPILER}}
292+
-D CMAKE_C_FLAGS="-Wall -Wextra -pedantic -m${{matrix.BIN}}"
293+
-D CMAKE_C_STANDARD=${{matrix.STD}}
294+
-D CMAKE_C_EXTENSIONS=${{matrix.EXT}}
295+
-D DRIVER_STUB_PATH=$GITHUB_WORKSPACE/build/Release/libOpenCLDriverStub.so
296+
-B $GITHUB_WORKSPACE/build/downstream/pkgconfig
297+
-S $GITHUB_WORKSPACE/test/pkgconfig/pkgconfig;
298+
$CMAKE_EXE --build $GITHUB_WORKSPACE/build/downstream/pkgconfig --config Release;
299+
$CMAKE_EXE --build $GITHUB_WORKSPACE/build/downstream/pkgconfig --config Debug;
300+
cd $GITHUB_WORKSPACE/build/downstream/pkgconfig;
301+
$CTEST_EXE --output-on-failure -C Release;
302+
$CTEST_EXE --output-on-failure -C Debug;
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
cmake_minimum_required(VERSION 3.1)
2+
find_package(PkgConfig REQUIRED)
3+
4+
project(PkgConfigTest
5+
LANGUAGES C
6+
)
7+
8+
pkg_check_modules(OPENCL REQUIRED OpenCL)
9+
10+
add_executable(${PROJECT_NAME}
11+
../pkgconfig.c
12+
)
13+
14+
target_include_directories(${PROJECT_NAME}
15+
PRIVATE
16+
${OPENCL_INCLUDE_DIRS}
17+
)
18+
19+
target_link_libraries(${PROJECT_NAME}
20+
PRIVATE
21+
${OPENCL_LINK_LIBRARIES}
22+
)
23+
24+
target_compile_options(${PROJECT_NAME}
25+
PRIVATE
26+
${OPENCL_CFLAGS_OTHER}
27+
)
28+
29+
target_compile_definitions(${PROJECT_NAME}
30+
PRIVATE
31+
CL_TARGET_OPENCL_VERSION=120
32+
)
33+
34+
include(CTest)
35+
36+
add_test(
37+
NAME ${PROJECT_NAME}
38+
COMMAND ${PROJECT_NAME}
39+
)
40+
41+
set_tests_properties(${PROJECT_NAME}
42+
PROPERTIES
43+
ENVIRONMENT "OCL_ICD_FILENAMES=${DRIVER_STUB_PATH}"
44+
)

0 commit comments

Comments
 (0)