Commit 2f07e8e8 authored by Ken Martin's avatar Ken Martin
Browse files

ENH: added new test for SourceFile objects and properties

parent 5a6a3cd8
...@@ -46,6 +46,7 @@ IF(BUILD_TESTING) ...@@ -46,6 +46,7 @@ IF(BUILD_TESTING)
ADD_TEST_MACRO(LinkLine LinkLine) ADD_TEST_MACRO(LinkLine LinkLine)
ADD_TEST_MACRO(MacroTest miniMacroTest) ADD_TEST_MACRO(MacroTest miniMacroTest)
ADD_TEST_MACRO(Framework bar) ADD_TEST_MACRO(Framework bar)
ADD_TEST_MACRO(Properties Properties)
# add tests with more complex invocations # add tests with more complex invocations
ADD_TEST(TargetName ${CMAKE_CTEST_COMMAND} ADD_TEST(TargetName ${CMAKE_CTEST_COMMAND}
......
# a simple CXX only test case
project (Properties)
# these first three tests really test both properties and the management of
# cmSourceFile objects by CMake.
# test properties on a build tree file that is relative (yuck)
configure_file(properties.h.in "${Properties_BINARY_DIR}/properties.h")
set_source_files_properties(properties.h PROPERTIES TEST1 1)
get_source_file_property(RESULT1 properties.h TEST1)
# test properties on a headerfile in the source tree
# accessed without an extenion (also yuck)
set_source_files_properties(properties2 PROPERTIES TEST2 1)
get_source_file_property(RESULT2 properties2 TEST2)
# test properties on a relative source that is not generated
set_source_files_properties(SubDir/properties3.cxx PROPERTIES TEST3 1)
get_source_file_property(RESULT3 SubDir/properties3.cxx TEST3)
include_directories("${Properties_SOURCE_DIR}" "${Properties_BINARY_DIR}")
if (RESULT1 AND RESULT2 AND RESULT3)
add_executable (Properties SubDir/properties3.cxx)
else (RESULT1 AND RESULT2 AND RESULT3)
message("Error: test results are TEST1=${TEST1} TEST2=${TEST2} TEST3=${TEST3}")
endif (RESULT1 AND RESULT2 AND RESULT3)
#include "properties.h"
#include "properties2.h"
#if defined HAVE_PROPERTIES_H && defined HAVE_PROPERTIES2_H
int main ()
{
return 0;
}
#endif
#define HAVE_PROPERTIES_H
#define HAVE_PROPERTIES2_H
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment