modified cmake  functional