add setup_optional_dir() to setup subdirectories and files.
Merge branch 'fix-setup-optional-dir'