Skip to content

Commit 362d6c1

Browse files
authored
use INSTALL_LIBDIR to find the actual OpenCL loader (#348)
On some distributions (e.g. Fedora) `/usr/lib` is used for 32 bit libs. Instead of searching in hardcoded `/usr/lib/` and `/usr/local/lib` we should make use of CMAKE_INSTALL_LIBDIR as this will most like contain the correct value for the targeted system.
1 parent ab23b77 commit 362d6c1

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

intercept/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,5 +273,6 @@ if(WIN32)
273273
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
274274
elseif(UNIX)
275275
include(GNUInstallDirs)
276+
target_compile_definitions(OpenCL PRIVATE CLINTERCEPT_LIBRARY_DIR="${CMAKE_INSTALL_LIBDIR}")
276277
install(TARGETS OpenCL DESTINATION ${CMAKE_INSTALL_LIBDIR})
277278
endif()

intercept/src/intercept.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,12 @@ bool CLIntercept::init()
557557
#ifdef CLINTERCEPT_LIBRARY_ARCHITECTURE
558558
"/usr/lib/" CLINTERCEPT_LIBRARY_ARCHITECTURE "/libOpenCL.so.1",
559559
"/usr/lib/" CLINTERCEPT_LIBRARY_ARCHITECTURE "/libOpenCL.so",
560+
#endif
561+
#ifdef CLINTERCEPT_LIBRARY_DIR
562+
"/usr/" CLINTERCEPT_LIBRARY_DIR "/libOpenCL.so.1",
563+
"/usr/" CLINTERCEPT_LIBRARY_DIR "/libOpenCL.so",
564+
"/usr/local/" CLINTERCEPT_LIBRARY_DIR "/libOpenCL.so.1",
565+
"/usr/local/" CLINTERCEPT_LIBRARY_DIR "/libOpenCL.so",
560566
#endif
561567
"/usr/lib/libOpenCL.so.1",
562568
"/usr/lib/libOpenCL.so",

0 commit comments

Comments
 (0)