###################################################################################################
#
# Name: Common_Predefined_FindWorkAreaPWSetup.cfg
# Description: Finds WorkArea PWSetup for later inclusion.
# Author: Buddy Branham
# Date: 2022/02/28
# Version: 2.0.0.0
#
#--------------------------------------------------------------------------------------------------
# Notes:
# - 2022-02-21 Intial vesion of file (2.0.0.0)
# - 2022-02-21 Added Variable Summary (2.0.0.0)
# - 2022-02-21 Added Added FindNameInPath Option for when WorkArea is not defined (2.0.0.0)
# - 2022-02-28 Initial Release (2.0.0.0)
#
#--------------------------------------------------------------------------------------------------
# Available Variables: Variables previously defined in configuration that may be applicable to cfg file
#
# CSB Block/CFG File Level Variable Value
# Common_Predefined.cfg Pre-defined _DYNAMIC_DATASOURCE_BENTLEYROOT PW Moniker to folder that houses Common_Predefined.cfg
# Common_Predefined.cfg Pre-defined _DYNAMIC_WORKAREA $(DMS_PROJECT(_DGNDIR))
# Common_Predefined.cfg Pre-defined _DYNAMIC_WORKAREA_NAME $(LASTDIRPIECE(_DYNAMIC_WORKAREA))
# Common_Predefined.cfg Pre-defined _DYNAMIC_PARENTWORKAREA $(DMS_PARENTPROJECT(_DGNDIR))
# Common_Predefined.cfg Pre-defined _DYNAMIC_PARENTWORKAREA_NAME $(LASTDIRPIECE(_DYNAMIC_PARENTWORKAREA))
# Common_Predefined.cfg Pre-defined _DYNAMIC_CONNECTEDPROJECT $(DMS_CONNECTEDPROJECT(_DGNDIR))
# Common_Predefined.cfg Pre-defined _DYNAMIC_CONNECTEDPROJECTNAME $(LASTDIRPIECE(_DYNAMIC_CONNECTEDPROJECT))
# Common_Predefined.cfg Pre-defined _USTN_CONNECT_PROJECTGUID $(DMS_CONNECTEDPROJECTGUID(_DGNDIR))
#
# Common_Predefined.cfg Pre-defined _DYNAMIC_MSG_NOT_FOUND NOT FOUND
# Common_Predefined.cfg Pre-defined _DYNAMIC_MSG_VERIFY_PATH PLEASE VERIFY SPELLING AND PATH OF VARIABLE.
#
# Common_Predefined.cfg Pre-defined _DYNAMIC_PWSETUP_PATH _PWSetup
# Common_Predefined.cfg Pre-defined _DYNAMIC_BENTLEY_PWSETUP $(_DYNAMIC_DATASOURCE_BENTLEYROOT)$(_DYNAMIC_PWSETUP_PATH)
#
###################################################################################################
###################################################################################################
# DYNAMIC CONFIG VARIABLE
#--------------------------------------------------------------------------------------------------
# The "_DYNAMIC_CONFIGS" variable can be appended in each cfg file to track
# loading of cfgs and other notations.
###################################################################################################
_DYNAMIC_CONFIGS > Common_Predefined_FindWorkAreaPWSetup.cfg 2.0.0.0
###################################################################################################
# FIND WORKAREA PWSETUP:
# This section finds PWSETUP if it exists relative to a WorkArea.
# This section also provides an example of how to identify additional nested workareas.
###################################################################################################
##### EDIT: Edit this path to match organization standard path of WorkArea PWSetup location.
_DYNAMIC_WORKAREA_EXISTS_PATH:_PWSetup/
#_DYNAMIC_WORKAREA_EXISTS_PATH:Design/_PWSetup/
%if defined(_DYNAMIC_CONNECTEDPROJECT) && exists ($(_DYNAMIC_CONNECTEDPROJECT)$(_DYNAMIC_WORKAREA_EXISTS_PATH))
_DYNAMIC_WORKAREAROOT:$(_DYNAMIC_CONNECTEDPROJECT)
%elif defined(_DYNAMIC_WORKAREA) && exists ($(_DYNAMIC_WORKAREA)$(_DYNAMIC_WORKAREA_EXISTS_PATH))
_DYNAMIC_WORKAREAROOT:$(_DYNAMIC_WORKAREA)
%elif defined(_DYNAMIC_PARENTWORKAREA) && exists ($(_DYNAMIC_PARENTWORKAREA)$(_DYNAMIC_WORKAREA_EXISTS_PATH))
_DYNAMIC_WORKAREAROOT:$(_DYNAMIC_PARENTWORKAREA))
##### EDIT OR DELETE:
##### If not used, delete to avoid confusion.
#%elif exists ($(DMS_PARENTPROJECT(_DYNAMIC_PARENTWORKAREA)))
# _DYNAMIC_WORKAREA3 : $(DMS_PARENTPROJECT(_DYNAMIC_PARENTWORKAREA))
# _DYNAMIC_WORKAREA3_NAME : $(LASTDIRPIECE(_DYNAMIC_WORKAREA3))
# %if exists ($(_DYNAMIC_WORKAREA3)$(_DYNAMIC_WORKAREA_EXISTS_PATH)/)
# _DYNAMIC_WORKAREAROOT:$(_DYNAMIC_WORKAREA3)
# %endif
#%elif exists ($(DMS_PARENTPROJECT(_DYNAMIC_WORKAREA3)))
# _DYNAMIC_WORKAREA4 : $(DMS_PARENTPROJECT(_DYNAMIC_WORKAREA3))
# _DYNAMIC_WORKAREA4_NAME : $(LASTDIRPIECE(_DYNAMIC_WORKAREA3))
# %if exists ($(_DYNAMIC_WORKAREA4)$(_DYNAMIC_WORKAREA_EXISTS_PATH)/)
# _DYNAMIC_WORKAREAROOT:$(_DYNAMIC_WORKAREA4)
# %endif
%else
#### EDIT: Edit this section as needed to match workspace conditions
%if defined (_DYNAMIC_WORKAREA)
_DYNAMIC_WORKAREAROOT:$(_DYNAMIC_WORKAREA)
#%else
#%error NO WORKAREA DEFINED.
##### FindNameInPath.cfg can be used here to find location if WorkArea is not found.
%else
FINDDIR_SEARCHPATH:$(_DGNDIR) #Path to search, typically _DGNDIR.
FINDDIR_NAME=Projects #Searches FINDDIR_SEARCHPATH to find this directory name.
FINDDIR_NEST=1 #Sets nest level of directory to find up from "found" directory.
FINDDIR_UNDEF=1 #1, undefines variables to avoid copyout of each directory.
FINDDIR_FOUND=0 #Flag to identify if path has been previously parsed.
%include $(_DYNAMIC_DATASOURCE_BENTLEYROOT)FindNameInPath.cfg
##### NOTE: if "Projects" not found, "NOT FOUND NAME" is returned
%if !($(FINDDIR_FOUNDNAME)=="NOT FOUND NAME")
_DYNAMIC_WORKAREAROOT=${FINDDIR_FOUNDDIR}
%endif
%endif
%endif
%if defined (_DYNAMIC_WORKAREAROOT)
_DYNAMIC_WORKAREAROOT_NAME : $(lastdirpiece(_DYNAMIC_WORKAREAROOT))
%endif
%undef _DYNAMIC_WORKAREA_EXISTS_PATH
###################################################################################################
# Summary of Variables and Include Statements
###################################################################################################
# _DYNAMIC_WORKAREA_EXISTS_PATH:_PWSetup/
# _DYNAMIC_WORKAREAROOT:$(_DYNAMIC_CONNECTEDPROJECT)
# _DYNAMIC_WORKAREAROOT:$(_DYNAMIC_WORKAREA)
# _DYNAMIC_WORKAREAROOT:$(_DYNAMIC_PARENTWORKAREA)
# _DYNAMIC_WORKAREAROOT:$(_USTN_WORKSETROOT)