OSDN Git Service

2.0.0
[psychlops/cpp.git] / win32gl / package / trunk / CB10.05 / Program Files / Codeblocks / share / CodeBlocks / templates / wizard / PsychlopsGL / wizard.script
1 ////////////////////////////////////////////////////////////////////////////////
2 //
3 // Psychlops project wizard
4 //
5 ////////////////////////////////////////////////////////////////////////////////
6
7 function BeginWizard()
8 {
9     local intro_msg = _T("Welcome to the new Psychlops project wizard!\n\n" +
10                          "This wizard will guide you to create a new project\n" +
11                          "using Psychlops.\n\n" +
12                          "When you 're ready to proceed, please click \"Next\"...");
13
14     Wizard.AddInfoPage(_T("PsychlopsIntro"), intro_msg);
15     Wizard.AddProjectPathPage();
16     Wizard.AddCompilerPage(_T(""), _T("gcc;bcc*;msvc8"), true, true);
17 }
18
19 // return the files this project contains
20 function GetFilesDir()
21 {
22     local result = _T("PsychlopsGL/files");
23     return result;
24 }
25
26 // setup the already created project
27 function SetupProject(project)
28 {
29     if (PLATFORM == PLATFORM_MSW)
30     {
31         project.AddIncludeDir(_T("%SystemDrive%\\Library\\Frameworks\\Psychlops.framework\\Headers"));
32         project.AddLibDir(_T("%SystemDrive%\\Library\\Frameworks\\Psychlops.framework\\Lib"));
33         project.AddLibDir(_T("%SystemDrive%\\Library\\Frameworks\\Psychlops.framework\\Lib\\extension"));
34
35         // add link libraries
36         if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("gcc")))
37         {
38             project.AddLinkLib(_T("libpsychlopswin32gcc.a"));
39             project.AddLinkLib(_T("libpng_mingw.a"));
40             project.AddLinkLib(_T("libfftw3.a"));
41         }
42         project.AddLinkLib(_T("kernel32"));
43         project.AddLinkLib(_T("opengl32"));
44         project.AddLinkLib(_T("glu32"));
45         project.AddLinkLib(_T("gdi32"));
46         project.AddLinkLib(_T("advapi32"));
47         project.AddLinkLib(_T("user32"));
48         project.AddLinkLib(_T("comdlg32"));
49         if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("msvc8")))
50         {
51             project.AddLinkLib(_T("psychlopswin32vc9.lib"));
52             project.AddLinkLib(_T("libpng_vc9.lib"));
53             project.AddLinkLib(_T("libfftw3_vc9.lib"));
54             project.AddCompilerOption(_T("/GR"));
55             project.AddCompilerOption(_T("/EHs"));
56             project.AddCompilerOption(_T("/GA"));
57         }
58         else if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("bcc")))
59         {
60             project.AddLinkLib(_T("cw32mt.lib"));
61             project.AddLinkLib(_T("import32.lib"));
62             project.AddLinkLib(_T("psychlopswin32bcc.lib"));
63             project.AddLinkLib(_T("libpng_bcc.lib"));
64             project.AddCompilerOption(_T("-tW"));
65             project.AddCompilerOption(_T("-tWM"));
66         }
67     }
68     else
69     {
70         // add link libraries
71         project.AddLinkLib(_T("GL"));
72         project.AddLinkLib(_T("X11"));
73     }
74
75
76     // enable compiler warnings (project-wide)
77     //WarningsOn(project, Wizard.GetCompilerID());
78
79     // Debug
80     local target = project.GetBuildTarget(Wizard.GetDebugName());
81     if (!IsNull(target))
82     {
83         if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("gcc")))
84             target.SetTargetType(ttConsoleOnly); // ttConsoleOnly: console for debugging
85         else if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("msvc*")))
86             target.SetTargetType(ttConsoleOnly); // ttConsoleOnly: console for debugging
87         else
88             target.SetTargetType(ttExecutable); // For others, keep it GUI
89         target.SetOutputFilename(Wizard.GetDebugOutputDir() + Wizard.GetProjectName() + DOT_EXT_EXECUTABLE);
90         // enable generation of debugging symbols for target
91         // DebugSymbolsOn(target, Wizard.GetCompilerID());
92     }
93
94     // Release
95     target = project.GetBuildTarget(Wizard.GetReleaseName());
96     if (!IsNull(target))
97     {
98         target.SetTargetType(ttExecutable); // ttExecutable: no console
99         target.SetOutputFilename(Wizard.GetReleaseOutputDir() + Wizard.GetProjectName() + DOT_EXT_EXECUTABLE);
100         // enable optimizations for target
101         OptimizationsOn(target, Wizard.GetCompilerID());
102     }
103
104
105
106     return true;
107 }