63 lines
2.3 KiB
CMake
63 lines
2.3 KiB
CMake
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright Contributors to the OpenEXR Project.
|
|
|
|
# This is a sample cmake test script that can be used to integrate into
|
|
# a larger CI setup if you are building your own versions of OpenEXR
|
|
# and also use a cdash (or cdash compliant) results server.
|
|
#
|
|
# There are also settings in the CMakeLists.txt you may wish to
|
|
# just set in there, or replicate here.
|
|
|
|
# Running ctest -S thisscript.cmake will build into the binary directory
|
|
# and run a few different tests based on what commands are specified
|
|
# (and the steps below). It is best to read the ctest docs to
|
|
# understand all these settings, and how to control it, this is merely
|
|
# provided as a sample
|
|
|
|
# An edited version (or multiple) are intended to be placed in the CI
|
|
# system, and putting O.S. / configuration specific control to this file
|
|
# instead of having to put it into the make CMakeLists.txt tree
|
|
# somehow.
|
|
|
|
# this contains the path to the source tree. This may come in as an
|
|
# environment variable from the CI system, but you are free to have
|
|
# any path in here
|
|
set(CTEST_SOURCE_DIRECTORY "$ENV{PATH_TO_OPENEXR_TREE}")
|
|
# Similarly, this is scratch space used to configure, build
|
|
# and run the various tests.
|
|
# For CI builds, it is recommended to make sure this is a
|
|
# unique tree for each build
|
|
set(CTEST_BINARY_DIRECTORY "/tmp/ctest")
|
|
|
|
# set an override for any compile flags to enable coverage
|
|
# NB: This can make some of the auxiliary binaries such as the
|
|
# dwa lookup table generator quite slow
|
|
#set(ENV{CXXFLAGS} "--coverage")
|
|
|
|
# If you have alternate build systems, you can control that here
|
|
#set(CTEST_CMAKE_GENERATOR "Ninja")
|
|
set(CTEST_USE_LAUNCHERS 1)
|
|
|
|
# The various paths to programs to run coverage and memory checks
|
|
set(CTEST_COVERAGE_COMMAND "gcov")
|
|
set(CTEST_MEMORYCHECK_COMMAND "valgrind")
|
|
#set(CTEST_MEMORYCHECK_TYPE "ThreadSanitizer")
|
|
#
|
|
|
|
# any of the usual configurations (Debug, Release, etc).
|
|
# We do not attempt to create any alternate configurations
|
|
set(CTEST_CONFIGURATION_TYPE "RelWithDebInfo")
|
|
|
|
# can be Continuous, Nightly, or Experimental (see the cmake docs)
|
|
ctest_start("Continuous")
|
|
|
|
# applies the various ctest steps
|
|
ctest_configure()
|
|
ctest_build()
|
|
ctest_test()
|
|
ctest_coverage()
|
|
ctest_memcheck()
|
|
|
|
# This uploads the results to the server you configured
|
|
ctest_submit()
|