# FindSquish

– Typical Use

This module can be used to find Squish. Currently Squish versions 3 and 4 are supported.

    SQUISH_FOUND                    If false, don't try to use Squish
    SQUISH_VERSION                  The full version of Squish found
    SQUISH_VERSION_MAJOR            The major version of Squish found
    SQUISH_VERSION_MINOR            The minor version of Squish found
    SQUISH_VERSION_PATCH            The patch version of Squish found

    SQUISH_INSTALL_DIR              The Squish installation directory
                                    (containing bin, lib, etc)
    SQUISH_SERVER_EXECUTABLE        The squishserver executable
    SQUISH_CLIENT_EXECUTABLE        The squishrunner executable

    SQUISH_INSTALL_DIR_FOUND        Was the install directory found?
    SQUISH_SERVER_EXECUTABLE_FOUND  Was the server executable found?
    SQUISH_CLIENT_EXECUTABLE_FOUND  Was the client executable found?

It provides the function squish_v4_add_test() for adding a squish test to cmake using Squish 4.x:

    squish_v4_add_test(cmakeTestName
      AUT targetName SUITE suiteName TEST squishTestName
      [SETTINGSGROUP group] [PRE_COMMAND command] [POST_COMMAND command] )

The arguments have the following meaning:

`cmakeTestName`
  this will be used as the first argument for add_test()
`AUT targetName`
  the name of the cmake target which will be used as AUT, i.e. the executable which will be tested.
`SUITE suiteName`
  this is either the full path to the squish suite, or just the last directory of the suite, i.e. the suite name. In this case the CMakeLists.txt which calls squish_add_test() must be located in the parent directory of the suite directory.
`TEST squishTestName`
  the name of the squish test, i.e. the name of the subdirectory of the test inside the suite directory.
`SETTINGSGROUP group`
  if specified, the given settings group will be used for executing the test. If not specified, the groupname will be “CTest_<username>”
`PRE_COMMAND command`
  if specified, the given command will be executed before starting the squish test.
`POST_COMMAND command`
  same as PRE_COMMAND, but after the squish test has been executed.

    enable_testing()
    find_package(Squish 4.0)
    if (SQUISH_FOUND)
       squish_v4_add_test(myTestName
         AUT myApp
         SUITE ${CMAKE_SOURCE_DIR}/tests/mySuite
         TEST someSquishTest
         SETTINGSGROUP myGroup
         )
    endif ()

For users of Squish version 3.x the macro squish_v3_add_test() is provided:

    squish_v3_add_test(testName applicationUnderTest testCase envVars testWrapper)
    Use this macro to add a test using Squish 3.x.

    enable_testing()
    find_package(Squish)
    if (SQUISH_FOUND)
      squish_v3_add_test(myTestName myApplication testCase envVars testWrapper)
    endif ()

macro SQUISH_ADD_TEST(testName applicationUnderTest testCase envVars testWrapper)

    This is deprecated. Use SQUISH_V3_ADD_TEST() if you are using Squish 3.x instead.