mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-18 04:31:26 -06:00
FindCups: add imported target
This commit is contained in:
committed by
Brad King
parent
062cfd991f
commit
dd45f23b01
4
Help/release/dev/FindCups-imported-target.rst
Normal file
4
Help/release/dev/FindCups-imported-target.rst
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
FindCups-imported-target
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
* The :module:`FindCups` module now provides imported targets.
|
||||||
@@ -5,18 +5,38 @@
|
|||||||
FindCups
|
FindCups
|
||||||
--------
|
--------
|
||||||
|
|
||||||
Try to find the Cups printing system
|
Find the CUPS printing system.
|
||||||
|
|
||||||
Once done this will define
|
Set CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE to TRUE if you need a version which
|
||||||
|
features this function (i.e. at least 1.1.19)
|
||||||
|
|
||||||
::
|
Imported targets
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CUPS_FOUND - system has Cups
|
This module defines :prop_tgt:`IMPORTED` target ``Cups::Cups``, if Cups has
|
||||||
CUPS_INCLUDE_DIR - the Cups include directory
|
been found.
|
||||||
CUPS_LIBRARIES - Libraries needed to use Cups
|
|
||||||
CUPS_VERSION_STRING - version of Cups found (since CMake 2.8.8)
|
Result variables
|
||||||
Set CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE to TRUE if you need a version which
|
^^^^^^^^^^^^^^^^
|
||||||
features this function (i.e. at least 1.1.19)
|
|
||||||
|
This module will set the following variables in your project:
|
||||||
|
|
||||||
|
``CUPS_FOUND``
|
||||||
|
true if CUPS headers and libraries were found
|
||||||
|
``CUPS_INCLUDE_DIRS``
|
||||||
|
the directory containing the Cups headers
|
||||||
|
``CUPS_LIBRARIES``
|
||||||
|
the libraries to link against to use CUPS.
|
||||||
|
``CUPS_VERSION_STRING``
|
||||||
|
the version of CUPS found (since CMake 2.8.8)
|
||||||
|
|
||||||
|
Cache variables
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The following cache variables may also be set:
|
||||||
|
|
||||||
|
``CUPS_INCLUDE_DIR``
|
||||||
|
the directory containing the Cups headers
|
||||||
#]=======================================================================]
|
#]=======================================================================]
|
||||||
|
|
||||||
find_path(CUPS_INCLUDE_DIR cups/cups.h )
|
find_path(CUPS_INCLUDE_DIR cups/cups.h )
|
||||||
@@ -66,3 +86,13 @@ else ()
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
mark_as_advanced(CUPS_INCLUDE_DIR CUPS_LIBRARIES)
|
mark_as_advanced(CUPS_INCLUDE_DIR CUPS_LIBRARIES)
|
||||||
|
|
||||||
|
if (CUPS_FOUND)
|
||||||
|
set(CUPS_INCLUDE_DIRS "${CUPS_INCLUDE_DIR}")
|
||||||
|
if (NOT TARGET Cups::Cups)
|
||||||
|
add_library(Cups::Cups INTERFACE IMPORTED)
|
||||||
|
set_target_properties(Cups::Cups PROPERTIES
|
||||||
|
INTERFACE_LINK_LIBRARIES "${CUPS_LIBRARIES}"
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${CUPS_INCLUDE_DIR}")
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|||||||
@@ -1413,6 +1413,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
|
|||||||
add_subdirectory(FindCURL)
|
add_subdirectory(FindCURL)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CMake_TEST_FindCups)
|
||||||
|
add_subdirectory(FindCups)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(CMake_TEST_FindDoxygen)
|
if(CMake_TEST_FindDoxygen)
|
||||||
add_subdirectory(FindDoxygen)
|
add_subdirectory(FindDoxygen)
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
10
Tests/FindCups/CMakeLists.txt
Normal file
10
Tests/FindCups/CMakeLists.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
add_test(NAME FindCups.Test COMMAND
|
||||||
|
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
|
||||||
|
--build-and-test
|
||||||
|
"${CMake_SOURCE_DIR}/Tests/FindCups/Test"
|
||||||
|
"${CMake_BINARY_DIR}/Tests/FindCups/Test"
|
||||||
|
${build_generator_args}
|
||||||
|
--build-project FindCups
|
||||||
|
--build-options ${build_options}
|
||||||
|
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||||
|
)
|
||||||
16
Tests/FindCups/Test/CMakeLists.txt
Normal file
16
Tests/FindCups/Test/CMakeLists.txt
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.10)
|
||||||
|
project(TestFindCups C)
|
||||||
|
include(CTest)
|
||||||
|
|
||||||
|
find_package(Cups REQUIRED)
|
||||||
|
|
||||||
|
add_definitions(-DCMAKE_EXPECTED_CUPS_VERSION="${CUPS_VERSION_STRING}")
|
||||||
|
|
||||||
|
add_executable(test_tgt main.c)
|
||||||
|
target_link_libraries(test_tgt Cups::Cups)
|
||||||
|
add_test(NAME test_tgt COMMAND test_tgt)
|
||||||
|
|
||||||
|
add_executable(test_var main.c)
|
||||||
|
target_include_directories(test_var PRIVATE ${CUPS_INCLUDE_DIRS})
|
||||||
|
target_link_libraries(test_var PRIVATE ${CUPS_LIBRARIES})
|
||||||
|
add_test(NAME test_var COMMAND test_var)
|
||||||
12
Tests/FindCups/Test/main.c
Normal file
12
Tests/FindCups/Test/main.c
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#include <cups/cups.h>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int num_options = 0;
|
||||||
|
cups_option_t* options = NULL;
|
||||||
|
|
||||||
|
num_options = cupsAddOption(CUPS_COPIES, "1", num_options, &options);
|
||||||
|
cupsFreeOptions(num_options, options);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user