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;msvc8;msvc10"), 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"));
36 if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("gcc")))
38 project.AddLinkLib(_T("libpsychlopswin32gcc4.a"));
39 project.AddLinkLib(_T("libpng_mingw.a"));
40 project.AddLinkLib(_T("libfftw3.a"));
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")))
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"));
58 if (GetCompilerFactory().CompilerInheritsFrom(Wizard.GetCompilerID(), _T("msvc10")))
60 project.AddLinkLib(_T("psychlopswin32vc10.lib"));
61 project.AddLinkLib(_T("libpng_vc9.lib"));
62 project.AddLinkLib(_T("libfftw3_vc9.lib"));
63 project.AddCompilerOption(_T("/GR"));
64 project.AddCompilerOption(_T("/EHs"));
65 project.AddCompilerOption(_T("/GA"));
71 project.AddLinkLib(_T("GL"));
72 project.AddLinkLib(_T("X11"));
76 // enable compiler warnings (project-wide)
77 //WarningsOn(project, Wizard.GetCompilerID());
80 local target = project.GetBuildTarget(Wizard.GetDebugName());
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
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());
95 target = project.GetBuildTarget(Wizard.GetReleaseName());
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());