restructured cmake to support multiple launchers