fix bug: add #pragma once
refactory canscope project.
add test_support project.