summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom St Denis <tom.stdenis@amd.com>2017-02-05 17:24:08 -0500
committerTom St Denis <tom.stdenis@amd.com>2017-02-05 17:29:30 -0500
commit3f7460a5fe76e755e26b551f21908e74dfc96874 (patch)
treea13341e0e0eeb125f92f50e1efae6d54f5eb967e
parent511a8dea1b1a95beb26a5aa9537c8c6723215b05 (diff)
Autodetect libdrm path (v2)HEADmaster
(v2): Use findLibDRM script instead of directly finding path Signed-off-by: Tom St Denis <tom.stdenis@amd.com> Reviewed-by: Andres Rodriguez<andresx7@gmail.com>
-rw-r--r--CMakeLists.txt3
-rw-r--r--cmake_modules/FindLibDRM.cmake35
-rw-r--r--src/lib/query_drm.c4
3 files changed, 40 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bef94fd..ef78c97 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,6 +25,9 @@ include_directories(${CURSES_INCLUDE_DIRS})
find_package(PCIAccess REQUIRED)
include_directories(${PCIACCESS_INCLUDE_DIR})
+find_package(LibDRM REQUIRED)
+include_directories(${LIBDRM_INCLUDE_DIR})
+
set(REQUIRED_EXTERNAL_LIBS
${CURSES_LIBRARIES}
${PCIACCESS_LIBRARIES}
diff --git a/cmake_modules/FindLibDRM.cmake b/cmake_modules/FindLibDRM.cmake
new file mode 100644
index 0000000..e840c4d
--- /dev/null
+++ b/cmake_modules/FindLibDRM.cmake
@@ -0,0 +1,35 @@
+# Try to find libdrm
+#
+# Once done, this will define
+#
+# LIBDRM_FOUND
+# LIBDRM_INCLUDE_DIR
+# LIBDRM_LIBRARIES
+
+find_package(PkgConfig)
+
+pkg_check_modules(PC_LIBDRM QUIET libdrm)
+
+find_path(LIBDRM_INCLUDE_DIR NAMES amdgpu_drm.h
+ HINTS
+ ${PC_LIBDRM_INCLUDEDIR}
+ ${PC_LIBDRM_INCLUDE_DIRS}
+ /usr/include
+)
+
+find_library(LIBDRM_LIBRARY NAMES libdrm_amdgpu.so.1
+ HINTS
+ ${PC_LIBDRM_LIBDIR}
+ ${PC_LIBDRM_LIBRARY_DIRS}
+ /usr/lib64
+ /usr/lib
+)
+
+SET(LIBDRM_LIBRARIES optimized ${LIBDRM_LIBRARY})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(LIBDRM DEFAULT_MSG
+ LIBDRM_LIBRARIES LIBDRM_INCLUDE_DIR
+)
+
+mark_as_advanced(LIBDRM_INCLUDE_DIR LIBDRM_LIBRARIES)
diff --git a/src/lib/query_drm.c b/src/lib/query_drm.c
index b9d80a8..755c65f 100644
--- a/src/lib/query_drm.c
+++ b/src/lib/query_drm.c
@@ -25,8 +25,8 @@
#include "umr.h"
#include <asm/ioctl.h>
#include <sys/ioctl.h>
-#include <drm/drm.h>
-#include <drm/amdgpu_drm.h>
+#include <drm.h>
+#include <amdgpu_drm.h>
#define DRM_IOC(dir, group, nr, size) _IOC(dir, group, nr, size)
#define DRM_IOC_WRITE _IOC_WRITE