From 041b733cf4216f9f4cc878343dda22b1d35f27a7 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
Date: Sat, 5 Nov 2022 23:18:13 -0400
Subject: [PATCH] cmake: Simplify lookup logic for libjami headers.

* extras/build/cmake/modules/FindLibJami.cmake: Rename
LIBJAMI_INCLUDE_DIRS to LIBJAMI_INCLUDE_DIR.  Use find_path to search
for jami.h directory.
* CMakeLists.txt: Adjust accordingly.
* src/libclient/CMakeLists.txt: Likewise.
* src/libclient/qtwrapper/CMakeLists.txt: Likewise.

Change-Id: I494358f9bfafb41f000daeec4196747b2c184401
---
 CMakeLists.txt                               |  2 +-
 extras/build/cmake/modules/FindLibJami.cmake | 21 ++++++--------------
 src/libclient/CMakeLists.txt                 |  2 +-
 src/libclient/qtwrapper/CMakeLists.txt       |  2 +-
 4 files changed, 9 insertions(+), 18 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b640c2c79..3937191c6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -124,7 +124,7 @@ set(CMAKE_MODULE_PATH
   ${CMAKE_MODULE_PATH} "${EXTRAS_DIR}/build/cmake/modules")
 find_package(LibJami REQUIRED)
 if(LIBJAMI_FOUND)
-  include_directories(${LIBJAMI_INCLUDE_DIRS})
+  include_directories(${LIBJAMI_INCLUDE_DIR})
 endif()
 
 include(FindPython3)
diff --git a/extras/build/cmake/modules/FindLibJami.cmake b/extras/build/cmake/modules/FindLibJami.cmake
index 1e271001e..a263889e0 100644
--- a/extras/build/cmake/modules/FindLibJami.cmake
+++ b/extras/build/cmake/modules/FindLibJami.cmake
@@ -20,28 +20,19 @@
 
 # Once done, this find module will set:
 #
-#   LIBJAMI_INCLUDE_DIRS - libjami include directories
+#   LIBJAMI_INCLUDE_DIR - libjami include directories
 #   LIBJAMI_FOUND - whether it was able to find the include directories
 #   LIBJAMI_LIB - path to libjami or libring library
 
 set(LIBJAMI_FOUND true)
 
 if(WITH_DAEMON_SUBMODULE)
-  set(LIBJAMI_INCLUDE_DIRS ${DAEMON_DIR}/src/jami)
+  set(LIBJAMI_INCLUDE_DIR ${DAEMON_DIR}/src/jami)
 else()
-  if(EXISTS ${LIBJAMI_INCLUDE_DIR}/jami.h)
-    set(LIBJAMI_INCLUDE_DIRS ${LIBJAMI_INCLUDE_DIR})
-  elseif(EXISTS ${LIBJAMI_BUILD_DIR}/jami/jami.h)
-    set(LIBJAMI_INCLUDE_DIRS ${LIBJAMI_BUILD_DIR}/jami)
-  elseif(EXISTS ${RING_INCLUDE_DIR}/jami.h)
-    set(LIBJAMI_INCLUDE_DIRS ${RING_INCLUDE_DIR})
-  elseif(EXISTS ${RING_BUILD_DIR}/jami/jami.h)
-    set(LIBJAMI_INCLUDE_DIRS ${RING_BUILD_DIR}/jami)
-  elseif(EXISTS ${CMAKE_INSTALL_PREFIX}/include/jami/jami.h)
-    set(LIBJAMI_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/include/jami)
-  else()
+  find_path(LIBJAMI_INCLUDE_DIR jami.h PATH_SUFFIXES jami)
+  if(NOT LIBJAMI_INCLUDE_DIR)
     message(STATUS "Jami daemon headers not found!
-Set -DLIBJAMI_BUILD_DIR or -DCMAKE_INSTALL_PREFIX")
+Set -DCMAKE_INSTALL_PREFIX or use -DWITH_DAEMON_SUBMODULE")
     set(LIBJAMI_FOUND false)
   endif()
 endif()
@@ -107,5 +98,5 @@ endif()
 # Restore the original value of CMAKE_FIND_LIBRARY_SUFFIXES.
 set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_orig})
 
-message(STATUS "Jami daemon headers are in " ${LIBJAMI_INCLUDE_DIRS})
+message(STATUS "Jami daemon headers are in " ${LIBJAMI_INCLUDE_DIR})
 message(STATUS "Jami daemon library is at " ${LIBJAMI_LIB})
diff --git a/src/libclient/CMakeLists.txt b/src/libclient/CMakeLists.txt
index 4c0db810c..c12dc113e 100644
--- a/src/libclient/CMakeLists.txt
+++ b/src/libclient/CMakeLists.txt
@@ -62,7 +62,7 @@ set(CMAKE_MODULE_PATH
   ${CMAKE_MODULE_PATH} "${EXTRAS_DIR}/build/cmake/modules")
 find_package(LibJami REQUIRED)
 if(LIBJAMI_FOUND)
-  include_directories(${LIBJAMI_INCLUDE_DIRS})
+  include_directories(${LIBJAMI_INCLUDE_DIR})
 endif()
 
 string(SUBSTRING ${CMAKE_GENERATOR} 0 14 CMAKE_GENERATOR_SHORT)
diff --git a/src/libclient/qtwrapper/CMakeLists.txt b/src/libclient/qtwrapper/CMakeLists.txt
index acee0d0cd..ba68aac44 100644
--- a/src/libclient/qtwrapper/CMakeLists.txt
+++ b/src/libclient/qtwrapper/CMakeLists.txt
@@ -46,7 +46,7 @@ else()
 endif()
 
 include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-include_directories(${LIBJAMI_INCLUDE_DIRS})
+include_directories(${LIBJAMI_INCLUDE_DIR})
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../)
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../dbus)
 
-- 
GitLab