cmake_modules/FindFreePascal.cmake
changeset 8665 3ff8694d9e22
parent 8285 a1500ffdc343
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cmake_modules/FindFreePascal.cmake	Wed Mar 06 11:18:54 2013 +0100
@@ -0,0 +1,37 @@
+# - Try to find the FreePascal executable
+# Once done this will define
+#
+#  FREEPASCAL_FOUND       - system has Freepascal
+#  FREEPASCAL_VERSION     - Freepascal version
+#  FREEPASCAL_EXECUTABLE  - Freepascal executable
+#
+# Copyright (c) 2012, Bryan Dunsmore <dunsmoreb@gmail.com>
+# Copyright (c) 2013, Vittorio Giovara <vittorio.giovara@gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+find_program(FREEPASCAL_EXECUTABLE
+    NAMES fpc
+    PATHS /opt/local/bin /usr/local/bin /usr/bin
+    )
+
+if (FREEPASCAL_EXECUTABLE)
+    # check Freepascal version
+    execute_process(COMMAND ${FREEPASCAL_EXECUTABLE} -iV
+                    OUTPUT_VARIABLE FREEPASCAL_VERSION
+                    ERROR_VARIABLE FREEPASCAL_VERSION_ERROR
+                    RESULT_VARIABLE FREEPASCAL_VERSION_RESULT
+                    OUTPUT_STRIP_TRAILING_WHITESPACE
+                    )
+
+    if(NOT ${FREEPASCAL_VERSION_RESULT} EQUAL 0)
+        message(SEND_ERROR "Command \"${FREEPASCAL_EXECUTABLE} -iV\" failed with output: ${FREEPASCAL_VERSION_ERROR}")
+    endif()
+endif()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(FreePascal DEFAULT_MSG FREEPASCAL_EXECUTABLE FREEPASCAL_VERSION)
+mark_as_advanced(FREEPASCAL_VERSION)
+