Esempio n. 1
0
 def setUp(self):
     cur_dir = os.path.dirname(os.path.realpath(__file__))
     context = Context()
     context.verbose = False
     vs_project = '{}/datatest/foo.vcxproj'.format(cur_dir)
     context.cmake = './'
     converter = DataConverter()
     converter.convert_project(context, vs_project, cur_dir)
Esempio n. 2
0
def main():  # pragma: no cover
    """
    Define arguments and message to DataConverter()

    """

    usage = "cmake-converter -s <path/to/file.sln> " \
            "[ -h | -p | -d | -v | -w | -j | -a ]"
    parser = argparse.ArgumentParser(
        usage=usage,
        description=
        'Converts Visual Studio projects in solution (*.sln) to CMakeLists.txt tree'
    )
    parser.add_argument(
        '-s',
        '--solution',
        help='[required] valid solution file. i.e.: ../../my.sln',
        required=True,
        dest='solution')
    parser.add_argument(
        '-p',
        '--projects-filter',
        help=
        'python regexp to filter that projects should be converted from the given solution',
        dest='projects_regexp')
    parser.add_argument('-d',
                        '--dry-run',
                        help='run converter without touching files.',
                        dest='dry',
                        action='store_true')
    parser.add_argument('-v',
                        '--verbose-mode',
                        help='run converter with more messages in log.',
                        dest='verbose',
                        action='store_true')
    parser.add_argument(
        '-w',
        '--warning-level',
        help='run converter with given verbocity of warnings([1..4]default=3).',
        dest='warn',
    )
    parser.add_argument(
        '-j',
        '--jobs',
        help='run converter using given number of processes.',
        dest='jobs',
    )
    parser.add_argument(
        '-a',
        '--additional',
        help=
        '[experimental] import cmake code from file.cmake to your final CMakeLists.txt',
        dest='additional')

    parser.add_argument(
        '-pi',
        '--private-include-directories',
        help='use PRIVATE specifier for target_include_directories',
        dest='private_includes',
        default=False,
        action='store_true')

    args = parser.parse_args()

    root_context = Context()
    # Prepare context
    root_context.additional_code = args.additional

    if args.projects_regexp:
        root_context.projects_regexp = args.projects_regexp

    if args.dry:
        root_context.dry = True
        message(root_context, 'Converter runs in dry mode', 'done')

    if args.verbose:
        root_context.verbose = True
        message(root_context, 'Converter runs in verbose mode', 'done')

    if args.jobs:
        root_context.jobs = int(args.jobs)
    message(root_context, 'processes count = {}'.format(root_context.jobs),
            'done')

    if args.warn:
        root_context.warn_level = int(args.warn)
    message(root_context,
            'warnings level = {}'.format(root_context.warn_level), 'done')

    if args.private_includes:
        message(root_context, 'include directories will be PRIVATE', 'done')
        root_context.private_include_directories = True

    converter = VSSolutionConverter()
    converter.convert_solution(root_context, os.path.abspath(args.solution))
Esempio n. 3
0
 def setUp(self):
     context = Context()
     context.verbose = False
     solution_file = '{}/datatest/sln/cpp.sln'.format(self.cur_dir)
     converter = VSSolutionConverter()
     converter.convert_solution(context, os.path.abspath(solution_file))