1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
/*
SPDX-FileCopyrightText: 2014 Sergey Kalinichev <kalinichev.so.0@gmail.com>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
#ifndef PROJECTSGENERATOR_H
#define PROJECTSGENERATOR_H
#include "testsexport.h"
namespace KDevelop
{
class IProject;
/// Simple class for generating projects at runtime for testing purposes.
class KDEVPLATFORMTESTS_EXPORT ProjectsGenerator
{
public:
/**
* Generates a pointer to a project with the following directory structure:
* ./simpleproject.kdev4
* ./src/main.cpp
* ./.kdev4/simpleproject.kdev4
*
* Files are located in the OS temporary folder, subfolder 'simpleproject'
*/
static KDevelop::IProject* GenerateSimpleProject();
/**
* This actually does create the same directory structure as genereate simple project.
* However, the .kdev_include_paths file is also included in this project, so the structure
* becomes:
* ./simpleproject.kdev4
* ./.kdev_include_paths
* ./src/main.cpp
* ./.kdev4/simpleproject.kdev4
*
* Files are located in the OS temporary folder, subfolder 'simpleproject'
*/
static KDevelop::IProject* GenerateSimpleProjectWithOutOfProjectFiles();
/**
* Generates a pointer to a project with the following directory structure:
* ./multipathproject.kdev4
* ./src/main.cpp
* ./anotherFolder/tst.h
* ./.kdev4/multipathproject.kdev4
*
* Files are located in the OS temporary folder, subfolder 'multipathproject'
*/
static KDevelop::IProject* GenerateMultiPathProject();
/**
* Generates a pointer to a project with the following directory structure:
* ./emptyproject.kdev4
* ./.kdev4/emptyproject.kdev4
*
* Files are located in the OS temporary folder, subfolder 'emptyproject'
*/
static KDevelop::IProject* GenerateEmptyProject();
/**
* Generates a pointer to a project with the following directory structure:
* ./emptybuilddirproject.kdev4
* ./src/main.cpp
* ./.kdev4/emptybuilddirproject.kdev4
*
* Files are located in the OS temporary folder, subfolder 'emptybuilddirproject'
*/
static KDevelop::IProject* GenerateEmptyBuildDirProject();
};
}
#endif // PROJECTSGENERATOR_H
|