Use CMake file API to find executables for source file
This is a lot more precise than the currently existing method and correctly detects any modification to the executable file path (e.g. setting CMAKE_RUNTIME_OUTPUT_DIRECTORY or the OUTPUT_NAME property).
This implements #449 (closed).