use only on CMakeLists.txt to build shared, static libs and test.
update.