| # 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`` |
| .. versionadded:: 3.3 |
| |
| Boolean indicating whether (the requested version of) ``icotool`` was |
| found. |
| |
| ``Icotool_VERSION`` |
| .. versionadded:: 4.2 |
| |
| The version of ``icotool`` found. |
| |
| Cache Variables |
| ^^^^^^^^^^^^^^^ |
| |
| The following cache variables may also be set: |
| |
| ``ICOTOOL_EXECUTABLE`` |
| The full path to the ``icotool`` tool. |
| |
| Deprecated Variables |
| ^^^^^^^^^^^^^^^^^^^^ |
| |
| The following variables are provided for backward compatibility: |
| |
| ``ICOTOOL_FOUND`` |
| .. deprecated:: 4.2 |
| Use ``Icotool_FOUND``, which has the same value. |
| |
| Boolean indicating whether (the requested version of) ``icotool`` was |
| found. |
| |
| ``ICOTOOL_VERSION_STRING`` |
| .. deprecated:: 4.2 |
| Use ``Icotool_VERSION``, which has the same value. |
| |
| The version of ``icotool`` found. |
| |
| 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 "${CMAKE_MATCH_1}") |
| else() |
| set(Icotool_VERSION "") |
| endif() |
| set(ICOTOOL_VERSION_STRING "${Icotool_VERSION}") |
| endif() |
| |
| include(FindPackageHandleStandardArgs) |
| find_package_handle_standard_args( |
| Icotool |
| REQUIRED_VARS ICOTOOL_EXECUTABLE |
| VERSION_VAR Icotool_VERSION |
| ) |
| |
| mark_as_advanced( |
| ICOTOOL_EXECUTABLE |
| ) |