@@ -486,7 +486,7 @@ function(add_variable array variable)
486486 list (REMOVE_AT ${array} _VALUES ${found} )
487487 list (INSERT ${array} _VALUES ${found} "${${variable} }" )
488488 #message(STATUS "New array: ${${array}_VALUES}")
489- set (${array} _VALUES ${${array} _VALUES} PARENT_SCOPE )
489+ set (${array} _VALUES ${${array} _VALUES} CACHE STRING "Chached array." FORCE )
490490 endif ()
491491
492492 return ()
@@ -500,23 +500,19 @@ function(add_variable array variable)
500500 list (APPEND ${array} _VALUES "${${variable} }" )
501501 endif ()
502502
503- set (${array} _TYPES ${${array} _TYPES} PARENT_SCOPE )
504- set (${array} _KEYS ${${array} _KEYS} PARENT_SCOPE )
505- set (${array} _VALUES ${${array} _VALUES} PARENT_SCOPE )
503+ set (${array} _TYPES ${${array} _TYPES} CACHE STRING "Chached array." FORCE )
504+ set (${array} _KEYS ${${array} _KEYS} CACHE STRING "Chached array." FORCE )
505+ set (${array} _VALUES ${${array} _VALUES} CACHE STRING "Chached array." FORCE )
506506endfunction (add_variable )
507507
508508########################################
509509# FUNCTION clear_variables
510510########################################
511511
512512function (clear_variables array )
513- set (${array} _TYPES)
514- set (${array} _KEYS)
515- set (${array} _VALUES)
516-
517- set (${array} _TYPES ${${array} _TYPES} PARENT_SCOPE )
518- set (${array} _KEYS ${${array} _KEYS} PARENT_SCOPE )
519- set (${array} _VALUES ${${array} _VALUES} PARENT_SCOPE )
513+ unset (${array} _TYPES CACHE )
514+ unset (${array} _KEYS CACHE )
515+ unset (${array} _VALUES CACHE )
520516endfunction (clear_variables )
521517
522518########################################
@@ -557,9 +553,9 @@ function(read_variables_file array f)
557553 add_variable (${array} ${k} )
558554 endforeach ()
559555
560- set (${array} _TYPES ${${array} _TYPES} PARENT_SCOPE )
561- set (${array} _KEYS ${${array} _KEYS} PARENT_SCOPE )
562- set (${array} _VALUES ${${array} _VALUES} PARENT_SCOPE )
556+ set (${array} _TYPES ${${array} _TYPES} CACHE STRING "Chached array." FORCE )
557+ set (${array} _KEYS ${${array} _KEYS} CACHE STRING "Chached array." FORCE )
558+ set (${array} _VALUES ${${array} _VALUES} CACHE STRING "Chached array." FORCE )
563559endfunction (read_variables_file )
564560
565561########################################
@@ -597,11 +593,6 @@ endfunction(write_variables_file)
597593
598594function (add_check_variable v )
599595 add_variable (CPPAN_VARIABLES ${v} )
600-
601- set (CPPAN_VARIABLES_TYPES ${CPPAN_VARIABLES_TYPES} PARENT_SCOPE )
602- set (CPPAN_VARIABLES_KEYS ${CPPAN_VARIABLES_KEYS} PARENT_SCOPE )
603- set (CPPAN_VARIABLES_VALUES ${CPPAN_VARIABLES_VALUES} PARENT_SCOPE )
604-
605596 set (CPPAN_NEW_VARIABLE_ADDED 1 PARENT_SCOPE )
606597endfunction (add_check_variable )
607598
@@ -610,16 +601,7 @@ endfunction(add_check_variable)
610601########################################
611602
612603function (read_check_variables_file f )
613- #if (NOT EXISTS ${f})
614- #message(STATUS "Check variables file does not exist: ${f}")
615- #return()
616- #endif()
617-
618604 read_variables_file (CPPAN_VARIABLES ${f} )
619-
620- set (CPPAN_VARIABLES_TYPES ${CPPAN_VARIABLES_TYPES} PARENT_SCOPE )
621- set (CPPAN_VARIABLES_KEYS ${CPPAN_VARIABLES_KEYS} PARENT_SCOPE )
622- set (CPPAN_VARIABLES_VALUES ${CPPAN_VARIABLES_VALUES} PARENT_SCOPE )
623605endfunction (read_check_variables_file )
624606
625607########################################
@@ -947,4 +929,29 @@ function(set_cache_var variable value)
947929 set (${variable} ${value} CACHE STRING "" FORCE )
948930endfunction ()
949931
932+ ########################################
933+ # FUNCTION clear_once_variables
934+ ########################################
935+
936+ function (clear_once_variables )
937+ #message(STATUS "clear_once_variables - ${CPPAN_ONCE_VARIABLES}")
938+ if (NOT CPPAN_ONCE_VARIABLES)
939+ return ()
940+ endif ()
941+
942+ foreach (v ${CPPAN_ONCE_VARIABLES} )
943+ #message(STATUS "unsetting ${v}")
944+ unset (${v} CACHE )
945+ endforeach ()
946+ endfunction ()
947+
948+ ########################################
949+ # FUNCTION set_once_var
950+ ########################################
951+
952+ function (set_once_var variable )
953+ set_cache_var (${variable} 1 )
954+ set (CPPAN_ONCE_VARIABLES ${CPPAN_ONCE_VARIABLES} ${variable} CACHE STRING "" FORCE )
955+ endfunction ()
956+
950957################################################################################
0 commit comments