mirror of
https://github.com/reactos/CMake.git
synced 2024-11-28 05:50:42 +00:00
ENH: added new test for SourceFile objects and properties
This commit is contained in:
parent
5a6a3cd869
commit
2f07e8e8f8
@ -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}
|
||||||
|
27
Tests/Properties/CMakeLists.txt
Normal file
27
Tests/Properties/CMakeLists.txt
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# 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)
|
9
Tests/Properties/SubDir/properties3.cxx
Normal file
9
Tests/Properties/SubDir/properties3.cxx
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#include "properties.h"
|
||||||
|
#include "properties2.h"
|
||||||
|
|
||||||
|
#if defined HAVE_PROPERTIES_H && defined HAVE_PROPERTIES2_H
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
1
Tests/Properties/properties.h.in
Normal file
1
Tests/Properties/properties.h.in
Normal file
@ -0,0 +1 @@
|
|||||||
|
#define HAVE_PROPERTIES_H
|
1
Tests/Properties/properties2.h
Normal file
1
Tests/Properties/properties2.h
Normal file
@ -0,0 +1 @@
|
|||||||
|
#define HAVE_PROPERTIES2_H
|
Loading…
Reference in New Issue
Block a user