mirror of
https://github.com/reactos/CMake.git
synced 2025-02-02 18:12:52 +00:00
FindCups: add imported target
This commit is contained in:
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
|
||||
--------
|
||||
|
||||
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
|
||||
CUPS_INCLUDE_DIR - the Cups include directory
|
||||
CUPS_LIBRARIES - Libraries needed to use Cups
|
||||
CUPS_VERSION_STRING - version of Cups found (since CMake 2.8.8)
|
||||
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 defines :prop_tgt:`IMPORTED` target ``Cups::Cups``, if Cups has
|
||||
been found.
|
||||
|
||||
Result variables
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
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 )
|
||||
@ -66,3 +86,13 @@ else ()
|
||||
endif ()
|
||||
|
||||
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)
|
||||
endif()
|
||||
|
||||
if(CMake_TEST_FindCups)
|
||||
add_subdirectory(FindCups)
|
||||
endif()
|
||||
|
||||
if(CMake_TEST_FindDoxygen)
|
||||
add_subdirectory(FindDoxygen)
|
||||
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;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user