Add cross platform compilation