Option 1:
Obfuscate your source and continue to use clCreateProgramWithSource. Remove all comments and make variable and function names meaningless. This will still work on all platforms and devices.
Option 2:
Only ship binary and use clCreateProgramWithBinary. The downsid