smart to findbuild directory and executable

- source directory without CMakeLists could find build directory
- add_executable in CMakeLists.txt could use variable name