def create_cmakelists(package_template, rosdistro, meta=False):
    if meta:
        template_path = get_metapackage_cmake_template_path()
        temp_dict = {'name': package_template.name,
                      'metapackage_arguments': ''
                      }
        return configure_file(template_path, temp_dict)
    else:
        cmakelists_txt_template = read_template_file('CMakeLists.txt', rosdistro)
        ctemp = CatkinTemplate(cmakelists_txt_template)
        if package_template.catkin_deps == []:
            components = ''
        else:
            components = ' COMPONENTS\n  %s\n' % '\n  '.join(package_template.catkin_deps)
        boost_find_package = \
            ('' if not package_template.boost_comps
             else ('find_package(Boost REQUIRED COMPONENTS %s)\n' %
                   ' '.join(package_template.boost_comps)))
        system_find_package = ''
        for sysdep in package_template.system_deps:
            if sysdep == 'boost':
                continue
            if sysdep.startswith('python-'):
                system_find_package += '# '
            system_find_package += 'find_package(%s REQUIRED)\n' % sysdep
        # provide dummy values
        catkin_depends = (' '.join(package_template.catkin_deps)
                          if package_template.catkin_deps
                          else 'other_catkin_pkg')
        system_depends = (' '.join(package_template.system_deps)
                          if package_template.system_deps
                          else 'system_lib')
        message_pkgs = [pkg for pkg in package_template.catkin_deps if pkg.endswith('_msgs')]
        if message_pkgs:
            message_depends = '#   %s' % '#   '.join(message_pkgs)
        else:
            message_depends = '#   std_msgs  # Or other packages containing msgs'
        temp_dict = {'name': package_template.name,
                     'components': components,
                     'include_directories': _create_include_macro(package_template),
                     'boost_find': boost_find_package,
                     'systems_find': system_find_package,
                     'catkin_depends': catkin_depends,
                     'system_depends': system_depends,
                     'target_libraries': _create_targetlib_args(package_template),
                     'message_dependencies': message_depends
                     }
        return ctemp.substitute(temp_dict)
:param package_template: contains the required information
dataset/ETHPy150Open ros-infrastructure/catkin_pkg/src/catkin_pkg/package_templates.py/create_cmakelists