]> granicus.if.org Git - libexpat/blob - expat/cmake/expat-config.cmake.in
CMake: Re-model char type components for usability
[libexpat] / expat / cmake / expat-config.cmake.in
1 #                          __  __            _
2 #                       ___\ \/ /_ __   __ _| |_
3 #                      / _ \\  /| '_ \ / _` | __|
4 #                     |  __//  \| |_) | (_| | |_
5 #                      \___/_/\_\ .__/ \__,_|\__|
6 #                               |_| XML parser
7 #
8 # Copyright (c) 2019 Expat development team
9 # Licensed under the MIT license:
10 #
11 # Permission is  hereby granted,  free of charge,  to any  person obtaining
12 # a  copy  of  this  software   and  associated  documentation  files  (the
13 # "Software"),  to  deal in  the  Software  without restriction,  including
14 # without  limitation the  rights  to use,  copy,  modify, merge,  publish,
15 # distribute, sublicense, and/or sell copies of the Software, and to permit
16 # persons  to whom  the Software  is  furnished to  do so,  subject to  the
17 # following conditions:
18 #
19 # The above copyright  notice and this permission notice  shall be included
20 # in all copies or substantial portions of the Software.
21 #
22 # THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND,
23 # EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF
24 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
25 # NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
26 # DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR
27 # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
28 # USE OR OTHER DEALINGS IN THE SOFTWARE.
29 #
30 if(NOT _expat_config_included)
31     # Protect against multiple inclusion
32     set(_expat_config_included TRUE)
33
34
35 include("${CMAKE_CURRENT_LIST_DIR}/expat.cmake")
36
37 @PACKAGE_INIT@
38
39 #
40 # Supported components
41 #
42 macro(_register_component _NAME _AVAILABE)
43     set(expat_${_NAME}_FOUND ${_AVAILABE})
44 endmacro()
45
46 _register_component(attr_info          @EXPAT_ATTR_INFO@)
47 if(@EXPAT_CONTEXT_BYTES@)
48     _register_component(context_bytes  ON)
49 else()
50     _register_component(context_bytes  OFF)
51 endif()
52 _register_component(dtd                @EXPAT_DTD@)
53 _register_component(large_size         @EXPAT_LARGE_SIZE@)
54 _register_component(min_size           @EXPAT_MIN_SIZE@)
55 _register_component(ns                 @EXPAT_NS@)
56 if("@EXPAT_CHAR_TYPE@" STREQUAL "char")
57     _register_component(char           ON)
58     _register_component(ushort         OFF)
59     _register_component(wchar_t        OFF)
60 elseif("@EXPAT_CHAR_TYPE@" STREQUAL "ushort")
61     _register_component(char           OFF)
62     _register_component(ushort         ON)
63     _register_component(wchar_t        OFF)
64 elseif("@EXPAT_CHAR_TYPE@" STREQUAL "wchar_t")
65     _register_component(char           OFF)
66     _register_component(ushort         OFF)
67     _register_component(wchar_t        ON)
68 endif()
69
70 check_required_components(expat)
71
72
73 endif(NOT _expat_config_included)