# # Copyright (c) 1991-2025 by the GMT Team (https://www.generic-mapping-tools.org/team.html) # See LICENSE.TXT file for copying and redistribution conditions. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; version 3 or any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # Contact info: www.generic-mapping-tools.org #------------------------------------------------------------------------------- # run tests if (DO_TESTS) # Automatically detect all subdirectories for testing include (GmtHelperMacros) get_subdir_list (GMT_TEST_DIRS ${CMAKE_CURRENT_SOURCE_DIR}) list (REMOVE_ITEM GMT_TEST_DIRS animation) if (NOT DO_API_TESTS) list (REMOVE_ITEM GMT_TEST_DIRS api) endif (NOT DO_API_TESTS) if (NOT DO_SUPPLEMENT_TESTS) list (REMOVE_ITEM GMT_TEST_DIRS geodesy) list (REMOVE_ITEM GMT_TEST_DIRS gmtmex) list (REMOVE_ITEM GMT_TEST_DIRS gshhg) list (REMOVE_ITEM GMT_TEST_DIRS img) list (REMOVE_ITEM GMT_TEST_DIRS mgd77) list (REMOVE_ITEM GMT_TEST_DIRS potential) list (REMOVE_ITEM GMT_TEST_DIRS pssac) list (REMOVE_ITEM GMT_TEST_DIRS segy) list (REMOVE_ITEM GMT_TEST_DIRS seis) list (REMOVE_ITEM GMT_TEST_DIRS spotter) list (REMOVE_ITEM GMT_TEST_DIRS x2sys) endif (NOT DO_SUPPLEMENT_TESTS) # Remove latex-specific tests if latex or dvips not found if (NOT LATEX_FOUND) list (REMOVE_ITEM GMT_TEST_DIRS latex) endif (NOT LATEX_FOUND) # export HAVE_GMT_DEBUG_SYMBOLS get_directory_property (_dir_defs COMPILE_DEFINITIONS) list (FIND _dir_defs DEBUG HAVE_GMT_DEBUG_SYMBOLS) if (HAVE_GMT_DEBUG_SYMBOLS EQUAL -1) set (HAVE_GMT_DEBUG_SYMBOLS) else (HAVE_GMT_DEBUG_SYMBOLS EQUAL -1) set (HAVE_GMT_DEBUG_SYMBOLS TRUE) endif (HAVE_GMT_DEBUG_SYMBOLS EQUAL -1) configure_file (gmtest.in gmtest @ONLY) # add tests foreach (_test_dir ${GMT_TEST_DIRS}) file (GLOB _test_scripts RELATIVE ${CMAKE_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/${_test_dir}/*.sh") foreach (_test ${_test_scripts}) add_test (NAME ${_test} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${BASH} gmtest ${_test}) endforeach (_test ${_test_scripts}) endforeach (_test_dir ${GMT_TEST_DIRS}) endif (DO_TESTS)