[PATCH] autodetect path to libdrm

Andres Rodriguez andresx7 at gmail.com
Sun Feb 5 22:14:40 UTC 2017


Yeah that approach should be perfectly fine.

I don't think libdrm needs anything fancier than that.

Regards,
Andres

On 2/5/2017 4:53 PM, StDenis, Tom wrote:
> Hi Andres,
>
>
> Oh I can see how that's much simpler than a Makefile 😊 (100 lines of
> "find libdrm" later...).
>
>
> I'd rather not wholesale rip off KDE since their license (appears to be
> BSDish) is different.
>
>
> I may just clone the one Edward provided as you suggested instead.
>
>
> Tom
>
>
>
> ------------------------------------------------------------------------
> *From:* Andres Rodriguez <andresx7 at gmail.com>
> *Sent:* Sunday, February 5, 2017 16:26
> *To:* Tom St Denis; amd-gfx at lists.freedesktop.org
> *Cc:* StDenis, Tom
> *Subject:* Re: [PATCH] autodetect path to libdrm
>
> Hey Tom,
>
> Overall in cmake calling pkg_check_modules() directly is usually not a
> good practice. The common approach is to have a file in
> cmake/modules/Find$(name).cmake that takes care of everything.
>
> For example, you could use this FindLibdrm.cmake from the KDE project:
> https://github.com/KDE/kwin/blob/master/cmake/modules/FindLibdrm.cmake
> <https://github.com/KDE/kwin/blob/master/cmake/modules/FindLibdrm.cmake>
> 	
> KDE/kwin
> <https://github.com/KDE/kwin/blob/master/cmake/modules/FindLibdrm.cmake>
> github.com
> kwin - This repository has no description
>
>
>
>
> Alternatively a simple modification of the FindPCIAccess.cmake file that
> Edward sent out could also work.
>
> Sorry for the late feedback on a Sunday.
>
> Regards,
> Andres
>
> On 2/5/2017 10:34 AM, Tom St Denis wrote:
>> Signed-off-by: Tom St Denis <tom.stdenis at amd.com>
>> ---
>>  CMakeLists.txt      | 4 +++-
>>  src/lib/query_drm.c | 4 ++--
>>  2 files changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/CMakeLists.txt b/CMakeLists.txt
>> index bef94fdba788..d2f393f0fa9b 100644
>> --- a/CMakeLists.txt
>> +++ b/CMakeLists.txt
>> @@ -25,6 +25,8 @@ include_directories(${CURSES_INCLUDE_DIRS})
>>  find_package(PCIAccess REQUIRED)
>>  include_directories(${PCIACCESS_INCLUDE_DIR})
>>
>> +pkg_check_modules(DRM REQUIRED libdrm)
>> +
>>  set(REQUIRED_EXTERNAL_LIBS
>>    ${CURSES_LIBRARIES}
>>    ${PCIACCESS_LIBRARIES}
>> @@ -34,7 +36,7 @@ set(REQUIRED_EXTERNAL_LIBS
>>  set(CMAKE_POSITION_INDEPENDENT_CODE ON)
>>
>>  # CFLAGS += -Wall -W -O2 -g3 -Isrc/ -DPIC -fPIC
>> -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -W -O2 -g3")
>> +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${DRM_CFLAGS} -Wall -W -O2 -g3")
>>
>>  add_subdirectory(src)
>>  add_subdirectory(doc)
>> diff --git a/src/lib/query_drm.c b/src/lib/query_drm.c
>> index b9d80a8fc0c8..755c65fbc662 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
>>


More information about the amd-gfx mailing list