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 >>