From ae4c89e5a7876cc3d348e6411fc42b99f8c06fd0 Mon Sep 17 00:00:00 2001
From: Přemysl Janouch
Date: Thu, 14 Jan 2016 20:20:39 +0100
Subject: Try harder to find ncursesw
---
CMakeLists.txt | 15 ++++++---------
cmake/FindLibEV.cmake | 12 +++++++-----
cmake/FindNcursesw.cmake | 17 +++++++++++++++++
termo | 2 +-
4 files changed, 31 insertions(+), 15 deletions(-)
create mode 100644 cmake/FindNcursesw.cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2615758..3cbc04c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,9 +23,8 @@ set (project_VERSION "${project_VERSION}.${project_VERSION_PATCH}")
set (CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
# Dependencies
-find_package (PkgConfig REQUIRED)
-pkg_check_modules (ncursesw REQUIRED ncursesw)
find_package (LibEV REQUIRED)
+find_package (Ncursesw REQUIRED)
if (USE_SYSTEM_TERMO)
find_package (Termo REQUIRED)
@@ -41,22 +40,20 @@ else (USE_SYSTEM_TERMO)
set (Termo_LIBRARIES termo-static)
endif (USE_SYSTEM_TERMO)
-include_directories (${ncursesw_INCLUDE_DIRS}
- ${LIBEV_INCLUDE_DIRS} ${Termo_INCLUDE_DIRS})
+set (project_libraries ${LIBEV_LIBRARIES} ${Termo_LIBRARIES}
+ ${NCURSESW_LIBRARIES})
+include_directories (${LIBEV_INCLUDE_DIRS} ${Termo_INCLUDE_DIRS}
+ ${NCURSESW_INCLUDE_DIRS})
# Configuration
include (CheckFunctionExists)
-set (CMAKE_REQUIRED_LIBRARIES ${ncursesw_LIBRARIES})
+set (CMAKE_REQUIRED_LIBRARIES ${project_libraries})
CHECK_FUNCTION_EXISTS ("resizeterm" HAVE_RESIZETERM)
# Project source files
set (project_sources ${PROJECT_NAME}.c)
set (project_headers ${PROJECT_BINARY_DIR}/config.h)
-# Project libraries
-set (project_libraries
- ${ncursesw_LIBRARIES} ${LIBEV_LIBRARIES} ${Termo_LIBRARIES})
-
# Generate a configuration file
configure_file (${PROJECT_SOURCE_DIR}/config.h.in ${PROJECT_BINARY_DIR}/config.h)
include_directories (${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR})
diff --git a/cmake/FindLibEV.cmake b/cmake/FindLibEV.cmake
index cdc67dc..e8a1fda 100644
--- a/cmake/FindLibEV.cmake
+++ b/cmake/FindLibEV.cmake
@@ -5,14 +5,16 @@
# Some distributions do add it, though
find_package (PkgConfig REQUIRED)
-pkg_check_modules (LIBEV libev)
+pkg_check_modules (LIBEV QUIET libev)
+set (required_vars LIBEV_LIBRARIES)
if (NOT LIBEV_FOUND)
find_path (LIBEV_INCLUDE_DIRS ev.h)
find_library (LIBEV_LIBRARIES NAMES ev)
-
- if (LIBEV_INCLUDE_DIRS AND LIBEV_LIBRARIES)
- set (LIBEV_FOUND TRUE)
- endif (LIBEV_INCLUDE_DIRS AND LIBEV_LIBRARIES)
+ list (APPEND required_vars LIBEV_INCLUDE_DIRS)
endif (NOT LIBEV_FOUND)
+include (FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS (LIBEV DEFAULT_MSG ${required_vars})
+
+mark_as_advanced (LIBEV_LIBRARIES LIBEV_INCLUDE_DIRS)
diff --git a/cmake/FindNcursesw.cmake b/cmake/FindNcursesw.cmake
new file mode 100644
index 0000000..88c1d01
--- /dev/null
+++ b/cmake/FindNcursesw.cmake
@@ -0,0 +1,17 @@
+# Public Domain
+
+find_package (PkgConfig REQUIRED)
+pkg_check_modules (NCURSESW QUIET ncursesw)
+
+# OpenBSD doesn't provide a pkg-config file
+set (required_vars NCURSESW_LIBRARIES)
+if (NOT NCURSESW_FOUND)
+ find_library (NCURSESW_LIBRARIES NAMES ncursesw)
+ find_path (NCURSESW_INCLUDE_DIRS ncurses.h)
+ list (APPEND required_vars NCURSESW_INCLUDE_DIRS)
+endif (NOT NCURSESW_FOUND)
+
+include (FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS (NCURSESW DEFAULT_MSG ${required_vars})
+
+mark_as_advanced (NCURSESW_LIBRARIES NCURSESW_INCLUDE_DIRS)
diff --git a/termo b/termo
index bc0a71f..783b744 160000
--- a/termo
+++ b/termo
@@ -1 +1 @@
-Subproject commit bc0a71f082296cad0ca590889ead558b70fb39d9
+Subproject commit 783b744e8baeb606dd8925547ec0318df3c75237
--
cgit v1.2.3-70-g09d2