OSDN Git Service

first
[psychlops/cpp.git] / win32gl / package / trunk / CB13.12 / 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         project.AddIncludeDir(_T("%SystemDrive%\\Library\\Frameworks\\Psychlops.framework\\cv\\include"));
35         project.AddLibDir(_T("%SystemDrive%\\Library\\Frameworks\\Psychlops.framework\\cv\\lib\\mingw4"));
36
37         // add link libraries
38         if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("gcc")))
39         {
40             project.AddLinkLib(_T("libpsychlopswin32gcc.a"));
41             project.AddLinkLib(_T("libpng_mingw.a"));
42             project.AddLinkLib(_T("libfftw3.a"));
43             project.AddLinkLib(_T("libopencv_calib3d249.dll.a"));
44             project.AddLinkLib(_T("libopencv_contrib249.dll.a"));
45             project.AddLinkLib(_T("libopencv_core249.dll.a"));
46             project.AddLinkLib(_T("libopencv_features2d249.dll.a"));
47             project.AddLinkLib(_T("libopencv_flann249.dll.a"));
48             project.AddLinkLib(_T("libopencv_gpu249.dll.a"));
49             project.AddLinkLib(_T("libopencv_haartraining_engine.a"));
50             project.AddLinkLib(_T("libopencv_highgui249.dll.a"));
51             project.AddLinkLib(_T("libopencv_imgproc249.dll.a"));
52             project.AddLinkLib(_T("libopencv_legacy249.dll.a"));
53             project.AddLinkLib(_T("libopencv_ml249.dll.a"));
54             project.AddLinkLib(_T("libopencv_nonfree249.dll.a"));
55             project.AddLinkLib(_T("libopencv_objdetect249.dll.a"));
56             project.AddLinkLib(_T("libopencv_ocl249.dll.a"));
57             project.AddLinkLib(_T("libopencv_photo249.dll.a"));
58             project.AddLinkLib(_T("libopencv_stitching249.dll.a"));
59             project.AddLinkLib(_T("libopencv_superres249.dll.a"));
60             project.AddLinkLib(_T("libopencv_video249.dll.a"));
61             project.AddLinkLib(_T("libopencv_videostab249.dll.a"));
62         }
63         project.AddLinkLib(_T("kernel32"));
64         project.AddLinkLib(_T("opengl32"));
65         project.AddLinkLib(_T("glu32"));
66         project.AddLinkLib(_T("gdi32"));
67         project.AddLinkLib(_T("advapi32"));
68         project.AddLinkLib(_T("user32"));
69         project.AddLinkLib(_T("comdlg32"));
70         if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("msvc8")))
71         {
72             project.AddLinkLib(_T("psychlopswin32vc9.lib"));
73             project.AddLinkLib(_T("libpng_vc9.lib"));
74             project.AddLinkLib(_T("libfftw3_vc9.lib"));
75             project.AddCompilerOption(_T("/GR"));
76             project.AddCompilerOption(_T("/EHs"));
77             project.AddCompilerOption(_T("/GA"));
78         }
79         else if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("bcc")))
80         {
81             project.AddLinkLib(_T("cw32mt.lib"));
82             project.AddLinkLib(_T("import32.lib"));
83             project.AddLinkLib(_T("psychlopswin32bcc.lib"));
84             project.AddLinkLib(_T("libpng_bcc.lib"));
85             project.AddCompilerOption(_T("-tW"));
86             project.AddCompilerOption(_T("-tWM"));
87         }
88     }
89     else
90     {
91         // add link libraries
92         project.AddLinkLib(_T("GL"));
93         project.AddLinkLib(_T("X11"));
94     }
95
96
97     // enable compiler warnings (project-wide)
98     //WarningsOn(project, Wizard.GetCompilerID());
99
100     // Debug
101     local target = project.GetBuildTarget(Wizard.GetDebugName());
102     if (!IsNull(target))
103     {
104         if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("gcc")))
105             target.SetTargetType(ttConsoleOnly); // ttConsoleOnly: console for debugging
106         else if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("msvc*")))
107             target.SetTargetType(ttConsoleOnly); // ttConsoleOnly: console for debugging
108         else
109             target.SetTargetType(ttExecutable); // For others, keep it GUI
110         target.SetOutputFilename(Wizard.GetDebugOutputDir() + Wizard.GetProjectName() + DOT_EXT_EXECUTABLE);
111         // enable generation of debugging symbols for target
112         // DebugSymbolsOn(target, Wizard.GetCompilerID());
113     }
114
115     // Release
116     target = project.GetBuildTarget(Wizard.GetReleaseName());
117     if (!IsNull(target))
118     {
119         target.SetTargetType(ttExecutable); // ttExecutable: no console
120         target.SetOutputFilename(Wizard.GetReleaseOutputDir() + Wizard.GetProjectName() + DOT_EXT_EXECUTABLE);
121         // enable optimizations for target
122         OptimizationsOn(target, Wizard.GetCompilerID());
123     }
124
125
126
127     return true;
128 }