blob: 0f0e190a17c99517b6f13d54cd9a743ee377b47b (
plain)
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
|
/**
* \file action.h
* \brief Built-in engine actions.
* \author Copyright (c) 2002-2008 Jason Perkins and the Premake project
*
* \defgroup action Actions
*
* The actions component contains the implementation of all of the built-in
* Premake actions, along with a few common support functions.
*
* @{
*/
#if !defined(PREMAKE_ACTION_H)
#define PREMAKE_ACTION_H
#include "session/session.h"
/**
* State values for the source tree enumeration functions.
*/
enum ActionSourceState
{
GroupStart,
GroupEnd,
SourceFile
};
/**
* Per-file callback signature for action_source_tree.
* \param sess The current execution state context.
* \param prj The current project; contains the file being enumerated.
* \param strm The active output stream; for writing the file markup.
* \param filename The name of the file to process.
* \param state One of the ActionSourceStates, enabling file grouping.
* \returns OKAY if successful.
*/
typedef int (*ActionSourceCallback)(Session sess, Project prj, Stream strm, const char* filename, int state);
/* the list of built-in Premake actions */
extern SessionAction Actions[];
int gmake_action(Session sess);
int vs2002_action(Session sess);
int vs2003_action(Session sess);
int vs2005_action(Session sess);
int vs2008_action(Session sess);
/* support functions */
int action_source_tree(Session sess, Project prj, Stream strm, ActionSourceCallback handler);
#endif
/** @} */
|