Browse Source

Add TEST_INCLUDE_FILES

Add new directory property TEST_INCLUDE_FILES. This supersedes
TEST_INCLUDE_FILE, though the latter is of course retained for
compatibility.

Basically, this is a list rather than a single file. This allows the
feature to be used by generic utilities without conflicting with local
use.
pull/310/head
Matthew Woehlke 8 years ago
parent
commit
ed5bde30f7
  1. 3
      Help/manual/cmake-properties.7.rst
  2. 4
      Help/prop_dir/TEST_INCLUDE_FILE.rst
  3. 7
      Help/prop_dir/TEST_INCLUDE_FILES.rst
  4. 7
      Help/release/dev/test_include_files.rst
  5. 11
      Source/cmLocalGenerator.cxx

3
Help/manual/cmake-properties.7.rst

@ -83,7 +83,7 @@ Properties on Directories
/prop_dir/RULE_LAUNCH_LINK /prop_dir/RULE_LAUNCH_LINK
/prop_dir/SOURCE_DIR /prop_dir/SOURCE_DIR
/prop_dir/SUBDIRECTORIES /prop_dir/SUBDIRECTORIES
/prop_dir/TEST_INCLUDE_FILE
/prop_dir/TEST_INCLUDE_FILES
/prop_dir/VARIABLES /prop_dir/VARIABLES
/prop_dir/VS_GLOBAL_SECTION_POST_section /prop_dir/VS_GLOBAL_SECTION_POST_section
/prop_dir/VS_GLOBAL_SECTION_PRE_section /prop_dir/VS_GLOBAL_SECTION_PRE_section
@ -435,6 +435,7 @@ Deprecated Properties on Directories
:maxdepth: 1 :maxdepth: 1
/prop_dir/COMPILE_DEFINITIONS_CONFIG /prop_dir/COMPILE_DEFINITIONS_CONFIG
/prop_dir/TEST_INCLUDE_FILE
Deprecated Properties on Targets Deprecated Properties on Targets

4
Help/prop_dir/TEST_INCLUDE_FILE.rst

@ -1,7 +1,9 @@
TEST_INCLUDE_FILE TEST_INCLUDE_FILE
----------------- -----------------
Deprecated. Use :prop_dir:`TEST_INCLUDE_FILES` instead.
A cmake file that will be included when ctest is run. A cmake file that will be included when ctest is run.
If you specify TEST_INCLUDE_FILE, that file will be included and
If you specify ``TEST_INCLUDE_FILE``, that file will be included and
processed when ctest is run on the directory. processed when ctest is run on the directory.

7
Help/prop_dir/TEST_INCLUDE_FILES.rst

@ -0,0 +1,7 @@
TEST_INCLUDE_FILES
------------------
A list of cmake files that will be included when ctest is run.
If you specify ``TEST_INCLUDE_FILES``, those files will be included and
processed when ctest is run on the directory.

7
Help/release/dev/test_include_files.rst

@ -0,0 +1,7 @@
test_include_files
------------------
* A :prop_dir:`TEST_INCLUDE_FILES` directory property was added to
list any number of files to be included when running tests with
:manual:`ctest(1)`. This generalizes the :prop_dir:`TEST_INCLUDE_FILE`
property.

11
Source/cmLocalGenerator.cxx

@ -259,6 +259,17 @@ void cmLocalGenerator::GenerateTestFiles()
fout << "include(\"" << testIncludeFile << "\")" << std::endl; fout << "include(\"" << testIncludeFile << "\")" << std::endl;
} }
const char* testIncludeFiles =
this->Makefile->GetProperty("TEST_INCLUDE_FILES");
if (testIncludeFiles) {
std::vector<std::string> includesList;
cmSystemTools::ExpandListArgument(testIncludeFiles, includesList);
for (std::vector<std::string>::const_iterator i = includesList.begin();
i != includesList.end(); ++i) {
fout << "include(\"" << *i << "\")" << std::endl;
}
}
// Ask each test generator to write its code. // Ask each test generator to write its code.
std::vector<cmTestGenerator*> const& testers = std::vector<cmTestGenerator*> const& testers =
this->Makefile->GetTestGenerators(); this->Makefile->GetTestGenerators();

Loading…
Cancel
Save