Explorar el Código

Add module FindIcotool

This module looks for icotool.

Signed-off-by: Aleksey Avdeev <[email protected]>
Aleksey Avdeev hace 13 años
padre
commit
86a184d8bb
Se han modificado 2 ficheros con 59 adiciones y 2 borrados
  1. 56 0
      Modules/FindIcotool.cmake
  2. 3 2
      Tests/CMakeOnly/AllFindModules/CMakeLists.txt

+ 56 - 0
Modules/FindIcotool.cmake

@@ -0,0 +1,56 @@
+# - Find icotool
+# This module looks for icotool. This module defines the
+# following values:
+#  ICOTOOL_EXECUTABLE: the full path to the icotool tool.
+#  ICOTOOL_FOUND: True if icotool has been found.
+#  ICOTOOL_VERSION_STRING: the version of icotool found.
+#
+
+#=============================================================================
+# Copyright 2012 Aleksey Avdeev <[email protected]>
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+#  License text for the above reference.)
+
+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()
+
+# handle the QUIETLY and REQUIRED arguments and set ICOTOOL_FOUND to TRUE if
+# all listed variables are TRUE
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+  Icotool
+  REQUIRED_VARS ICOTOOL_EXECUTABLE
+  VERSION_VAR ICOTOOL_VERSION_STRING
+)
+
+mark_as_advanced(
+  ICOTOOL_EXECUTABLE
+)

+ 3 - 2
Tests/CMakeOnly/AllFindModules/CMakeLists.txt

@@ -70,8 +70,9 @@ endmacro()
 # If any of these modules reported that it was found a version number should have been
 # reported.
 
-foreach(VTEST ALSA ARMADILLO BZIP2 CUPS CURL EXPAT FREETYPE GETTEXT GIT HG HSPELL
-        JASPER LIBLZMA LIBXML2 LIBXSLT PERL PKG_CONFIG PostgreSQL TIFF ZLIB)
+foreach(VTEST ALSA ARMADILLO BZIP2 CUPS CURL EXPAT FREETYPE GETTEXT GIT HG
+        HSPELL ICOTOOL JASPER LIBLZMA LIBXML2 LIBXSLT PERL PKG_CONFIG
+        PostgreSQL TIFF ZLIB)
     check_version_string(${VTEST} ${VTEST}_VERSION_STRING)
 endforeach()