[Cmake-commits] [cmake-commits] king committed CMakeLists.txt 1.6 1.7

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Sep 16 09:52:11 EDT 2009


Update of /cvsroot/CMake/CMake/Tests/FunctionTest
In directory public:/mounts/ram/cvs-serv7363/Tests/FunctionTest

Modified Files:
	CMakeLists.txt 
Log Message:
Test add_subdirectory inside function

This commit teaches the FunctionTest to check variable scope behavior
when a subdirectory is added inside a function call.  Any PARENT_SCOPE
sets in the subdirectory should affect only the function scope which
called add_subdirectory and not its parent scope.


Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CMake/CMake/Tests/FunctionTest/CMakeLists.txt,v
retrieving revision 1.6
retrieving revision 1.7
diff -C 2 -d -r1.6 -r1.7
*** CMakeLists.txt	8 Jul 2009 15:41:27 -0000	1.6
--- CMakeLists.txt	16 Sep 2009 13:52:04 -0000	1.7
***************
*** 131,133 ****
--- 131,168 ----
  ENDIF(DEFINED SUBDIR_DEFINED)
  
+ # Test function-scoped directory.
+ FUNCTION(ADD_SUBDIR2 dir)
+   ADD_SUBDIRECTORY("${dir}" "${dir}2")
+   # The parent scope sets in the subdir should be visible here.
+   IF(DEFINED SUBDIR_UNDEFINED)
+     FAILED("Subdir Function Undefine Test 1" "(${SUBDIR_UNDEFINED})")
+   ELSE(DEFINED SUBDIR_UNDEFINED)
+     PASS("Subdir Function Undefine Test 1" "(${SUBDIR_UNDEFINED})")
+   ENDIF(DEFINED SUBDIR_UNDEFINED)
+   IF(DEFINED SUBDIR_DEFINED)
+     PASS("Subdir Function Define Test 1" "(${SUBDIR_DEFINED})")
+   ELSE(DEFINED SUBDIR_DEFINED)
+     FAILED("Subdir Function Define Test 1" "(${SUBDIR_DEFINED})")
+   ENDIF(DEFINED SUBDIR_DEFINED)
+ ENDFUNCTION(ADD_SUBDIR2)
+ 
+ # Reset test variables.
+ SET(SUBDIR_UNDEFINED 1)
+ SET(SUBDIR_DEFINED)
+ 
+ # Run test function.
+ ADD_SUBDIR2(SubDirScope)
+ 
+ # The parent scope sets in the subdir should not be visible here.
+ IF(DEFINED SUBDIR_UNDEFINED)
+   PASS("Subdir Function Undefine Test 2" "(${SUBDIR_UNDEFINED})")
+ ELSE(DEFINED SUBDIR_UNDEFINED)
+   FAILED("Subdir Function Undefine Test 2" "(${SUBDIR_UNDEFINED})")
+ ENDIF(DEFINED SUBDIR_UNDEFINED)
+ IF(DEFINED SUBDIR_DEFINED)
+   FAILED("Subdir Function Define Test 2" "(${SUBDIR_DEFINED})")
+ ELSE(DEFINED SUBDIR_DEFINED)
+   PASS("Subdir Function Define Test 2" "(${SUBDIR_DEFINED})")
+ ENDIF(DEFINED SUBDIR_DEFINED)
+ 
  ADD_EXECUTABLE(FunctionTest functionTest.c)



More information about the Cmake-commits mailing list