Przeglądaj źródła

Merge topic 'test-add_subdirectory-in-function'

010c5959 Tests: Add case for add_subdirectory inside a function
Brad King 10 lat temu
rodzic
commit
db7457452c

+ 10 - 0
Tests/RunCMake/add_subdirectory/Function-stdout.txt

@@ -0,0 +1,10 @@
+-- var='1' before my_add_subdirectory
+-- var='2' in my_add_subdirectory before add_subdirectory
+-- var='2' in subdirectory before set
+-- var='3' in subdirectory after set
+-- var_sub='' in subdirectory after set PARENT_SCOPE
+-- var='2' in my_add_subdirectory after add_subdirectory
+-- var_sub='sub' in my_add_subdirectory after add_subdirectory
+-- var='1' after my_add_subdirectory
+-- var_sub='' after my_add_subdirectory
+-- var='3' taken from subdirectory

+ 17 - 0
Tests/RunCMake/add_subdirectory/Function.cmake

@@ -0,0 +1,17 @@
+function(my_add_subdirectory dir)
+  set(var 2)
+  message(STATUS "var='${var}' in my_add_subdirectory before add_subdirectory")
+  add_subdirectory(${dir})
+  message(STATUS "var='${var}' in my_add_subdirectory after add_subdirectory")
+  message(STATUS "var_sub='${var_sub}' in my_add_subdirectory after add_subdirectory")
+endfunction()
+
+set(var 1)
+
+message(STATUS "var='${var}' before my_add_subdirectory")
+my_add_subdirectory(Function)
+message(STATUS "var='${var}' after my_add_subdirectory")
+message(STATUS "var_sub='${var_sub}' after my_add_subdirectory")
+
+get_directory_property(sub_var DIRECTORY Function DEFINITION var)
+message(STATUS "var='${sub_var}' taken from subdirectory")

+ 5 - 0
Tests/RunCMake/add_subdirectory/Function/CMakeLists.txt

@@ -0,0 +1,5 @@
+message(STATUS "var='${var}' in subdirectory before set")
+set(var 3)
+message(STATUS "var='${var}' in subdirectory after set")
+set(var_sub sub PARENT_SCOPE)
+message(STATUS "var_sub='${var_sub}' in subdirectory after set PARENT_SCOPE")

+ 1 - 0
Tests/RunCMake/add_subdirectory/RunCMakeTest.cmake

@@ -2,3 +2,4 @@ include(RunCMake)
 
 run_cmake(DoesNotExist)
 run_cmake(Missing)
+run_cmake(Function)