1 ////////////////////////////////////////////////////////////////////////////////
3 // Psychlops project wizard
5 ////////////////////////////////////////////////////////////////////////////////
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\"...");
14 Wizard.AddInfoPage(_T("PsychlopsIntro"), intro_msg);
15 Wizard.AddProjectPathPage();
16 Wizard.AddCompilerPage(_T(""), _T("gcc;bcc*;msvc8"), true, true);
19 // return the files this project contains
20 function GetFilesDir()
22 local result = _T("PsychlopsGL/files");
26 // setup the already created project
27 function SetupProject(project)
29 if (PLATFORM == PLATFORM_MSW)
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"));
38 if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("gcc")))
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"));
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")))
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"));
79 else if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("bcc")))
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"));
92 project.AddLinkLib(_T("GL"));
93 project.AddLinkLib(_T("X11"));
97 // enable compiler warnings (project-wide)
98 //WarningsOn(project, Wizard.GetCompilerID());
101 local target = project.GetBuildTarget(Wizard.GetDebugName());
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
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());
116 target = project.GetBuildTarget(Wizard.GetReleaseName());
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());