cmake/Modules/FindLCOV.cmake
author Tero Marttila <terom@fixme.fi>
Thu, 28 May 2009 01:17:36 +0300
branchnew-lib-errors
changeset 219 cefec18b8268
parent 186 33ef336dbb4b
permissions -rw-r--r--
some of the lib/transport stuff compiles
186
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
#
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
# This module looks for an installed LCOV environment, and sets some paths for the executables
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
#
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
# see:
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
#  http://ltp.sourceforge.net/coverage/lcov.php
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
#
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
# It will set the following variables:
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
#
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
#  LCOV_FOUND
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
#  LCOV_EXECUTABLE
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
#  LCOV_GENHTML_EXECUTABLE
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
#
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
find_program (LCOV_EXECUTABLE
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
    lcov
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
    DOC "Path to `lcov` binary"
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
)
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
find_program (LCOV_GENHTML_EXECUTABLE
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
    genhtml
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
    DOC "Path to LCOV `genhtml` binary"
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
)
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
# set LCOV_FOUND flag
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
if (LCOV_EXECUTABLE AND LCOV_GENHTML_EXECUTABLE)
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
    set (LCOV_FOUND TRUE)
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
    
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
    # status message, unless QUIETLY
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    29
    if (NOT LCOV_FIND_QUIETLY)
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    30
        message (STATUS "Found lcov at '${LCOV_EXECUTABLE}', and genhtml at '${LCOV_GENHTML_EXECUTABLE}'")
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    31
    endif (NOT LCOV_FIND_QUIETLY)
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    32
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    33
else (LCOV_EXECUTABLE AND LCOV_GENHTML_EXECUTABLE)
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    34
    set (LCOV_FOUND FALSE)
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    35
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    36
endif (LCOV_EXECUTABLE AND LCOV_GENHTML_EXECUTABLE)
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    37
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    38
# enforce REQUIRED
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    39
if (NOT LCOV_FOUND AND LCOV_FIND_REQUIRED)
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    40
    message (FATAL_ERROR "Could not find lcov executables")
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    41
33ef336dbb4b rework CMake scripts, particularly re make: Nothing to be done for `test'., integrate lcov now
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    42
endif (NOT LCOV_FOUND AND LCOV_FIND_REQUIRED)