summaryrefslogtreecommitdiff
path: root/solenv/doc/gbuild/solenv/gbuild/executable.mk
blob: 8f7fcc9b0ce952e305fb79c67d2b2720eaddd516 (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
#include <types.h>

namespace gb
{
    using namespace types;

    class LinkTarget;

    class Executable : public IsCleanable, public HasDependencies, public IsLinking, public DeliversHeaders, public HasCompileSettings, public Target
    {
        public:
            Executable(String name);

        private:
            /// private helper function for the constructor
            void Executable_impl(LinkTarget library_linktarget);
            /// platformdependant additional setup for constructor (used on Windows only)
            void Executable_platform(LinkTarget library_linktarget);
            /// helper function to wrap LinkTargets functions (this is more or less pimpl ...)
            void forward_to_linktarget(Function f);

            static const List<String> TARGETTYPEFLAGS;
    };
}
/* vim: set filetype=cpp : */