| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- # file LICENSE.rst or https://cmake.org/licensing for details.
- #[=======================================================================[.rst:
- FindIcotool
- -----------
- Finds ``icotool``, command-line program for converting and creating Win32 icon
- and cursor files:
- .. code-block:: cmake
- find_package(Icotool [<version>] [...])
- Result Variables
- ^^^^^^^^^^^^^^^^
- This module defines the following variables:
- ``Icotool_FOUND``
- True if ``icotool`` has been found. For backward compatibility, the
- ``ICOTOOL_FOUND`` variable is also set to the same value.
- ``ICOTOOL_VERSION_STRING``
- The version of ``icotool`` found.
- Cache Variables
- ^^^^^^^^^^^^^^^
- The following cache variables may also be set:
- ``ICOTOOL_EXECUTABLE``
- The full path to the ``icotool`` tool.
- Examples
- ^^^^^^^^
- Finding ``icotool`` and executing it in a process to create ``.ico`` icon from
- the source ``.png`` image located in the current source directory:
- .. code-block:: cmake
- find_package(Icotool)
- if(Icotool_FOUND)
- execute_process(
- COMMAND
- ${ICOTOOL_EXECUTABLE} -c -o ${CMAKE_CURRENT_BINARY_DIR}/img.ico img.png
- )
- endif()
- #]=======================================================================]
- find_program(ICOTOOL_EXECUTABLE
- icotool
- )
- if(ICOTOOL_EXECUTABLE)
- execute_process(
- COMMAND ${ICOTOOL_EXECUTABLE} --version
- OUTPUT_VARIABLE _icotool_version
- ERROR_QUIET
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
- if("${_icotool_version}" MATCHES "^icotool \\([^\\)]*\\) ([0-9\\.]+[^ \n]*)")
- set( ICOTOOL_VERSION_STRING
- "${CMAKE_MATCH_1}"
- )
- else()
- set( ICOTOOL_VERSION_STRING
- ""
- )
- endif()
- unset(_icotool_version)
- endif()
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(
- Icotool
- REQUIRED_VARS ICOTOOL_EXECUTABLE
- VERSION_VAR ICOTOOL_VERSION_STRING
- )
- mark_as_advanced(
- ICOTOOL_EXECUTABLE
- )
|