├── .gitignore
├── BuildCustomizations
├── glsl.props
├── glsl.rules
├── glsl.targets
└── glsl.xml
├── LICENSE.txt
├── README.md
├── Resources
├── buildcustomizations.png
├── burgericon.png
└── customization_list.png
├── build_rules.py
├── install_2017
├── build_rules.py
├── glsl_2017.csproj
├── glsl_2017.sln
└── source.extension.vsixmanifest
├── install_2019
├── build_rules.py
├── glsl_2019.csproj
├── glsl_2019.sln
└── source.extension.vsixmanifest
├── install_2022
├── build_rules.py
├── glsl_2022.csproj
├── glsl_2022.sln
└── source.extension.vsixmanifest
├── install_pre_2017
├── build_rules.py
├── glsl_msi-v22.sln
└── glsl_msi-v22.vdproj
└── stripcomments
├── build_rules.py
├── source
├── stripcomments.cpp
└── stripcomments.h
├── stripcommentsv22win10.sln
├── stripcommentsv22win10.vcxproj
├── stripcommentsv22win10.vcxproj.filters
└── stripcommentsxc3osx.xcodeproj
└── project.pbxproj
/.gitignore:
--------------------------------------------------------------------------------
1 | #
2 | # This file tells Git about engine files that never really belong in source control. They are usually build products, log
3 | # files and intermediate files generated from a compiler or the engine runtime.
4 | #
5 | #
6 | # NOTE:
7 | # Paths that start with / match paths relative to the root (where the .gitignore file is)
8 | # Paths that end with / will match a folder and all files under it (but not a regular file with no extension)
9 | # Use * for wildcards. Wildcards stop at path separators
10 | # Use ** for a wildcard that spans path separators
11 | # Paths in this file should use forward slash characters, not back slashes
12 | # Use \ to escape special characters like ! and #
13 | # Use ! to negate a previous pattern. But it doesn't work if the parent sub-folder was masked out already.
14 | #
15 |
16 |
17 | # Ignore project files in the root
18 | **/bin
19 | **/temp
20 | **/ipch
21 | **/* Data
22 | **/*_Data
23 | **/xcuserdata
24 | **/.vs
25 | **/obj
26 | **/build
27 |
28 | # IDE droppings
29 | *.snk
30 | *.suo
31 |
--------------------------------------------------------------------------------
/BuildCustomizations/glsl.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Midl
11 | CustomBuild
12 |
13 |
14 |
15 |
16 |
17 |
18 | true
19 |
20 |
21 | g_%(FileName)
22 |
23 |
24 | %(RootDir)%(Directory)%(FileName).h
25 |
26 |
27 | "$(MSBuildThisFileDirectory)..\x64\stripcomments.exe" [Inputs] [AllOptions] [AdditionalOptions]
28 | "$(MSBuildThisFileDirectory)..\stripcomments.exe" [Inputs] [AllOptions] [AdditionalOptions]
29 |
30 |
31 | Stripcomments %(FileName)%(Extension)...
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/BuildCustomizations/glsl.rules:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/BuildCustomizations/glsl.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | _GLSL
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
24 |
25 |
26 |
28 | $(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 | @(GLSL,'|')
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
68 |
69 |
70 |
77 |
78 |
79 |
80 |
88 |
89 |
90 |
--------------------------------------------------------------------------------
/BuildCustomizations/glsl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
24 |
28 |
29 |
33 |
34 |
35 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | The gist of the license... Have fun using this code, I won't sue you
2 | and you can't sue me. However, please be nice about it and give me a
3 | credit in your software that you used my code in.
4 |
5 | Please?
6 |
7 | --------------------------------------------
8 |
9 | Copyright (c) 2015-2022 Rebecca Ann Heineman
10 |
11 | --------------------------------------------
12 |
13 | Permission is hereby granted, free of charge, to any person obtaining a copy
14 | of this software and associated documentation files (the "Software"), to deal
15 | in the Software without restriction, including without limitation the rights
16 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17 | copies of the Software, and to permit persons to whom the Software is
18 | furnished to do so, subject to the following conditions:
19 |
20 | 1. The above copyright notice and this permission notice shall be included in all
21 | copies or substantial portions of the Software.
22 |
23 | 2. Altered source versions must be plainly marked as such, and must not be
24 | misrepresented as being the original software.
25 |
26 | 3. This notice may not be removed or altered from any source distribution.
27 |
28 | Rebecca Ann Heineman
29 | becky@burgerbecky.com
30 |
31 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37 | SOFTWARE.
38 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # GLSL Visual Studio 2010+ Integration
2 |
3 | **Or, how do I include OpenGL source in my project?**
4 |
5 | Copyright 2015-2022 by Rebecca Ann Heineman becky@burgerbecky.com
6 |
7 | It is released under an MIT Open Source license. Please see LICENSE for license details. Yes, you can use it in a commercial title without paying anything, just give me a credit.
8 |
9 | Please? It's not like I'm asking you for money!
10 |
11 | ## What is GLSL Visual Studio 2010+ Integration?
12 |
13 | This is a plug in for Visual Studio 2010 or higher that will allow files with the GLSL extension to automatically be processed with a tool that will remove all white space and comments and then create a C/C++ header that can be directly included in a C++ program for use with OpenGL.
14 |
15 | The tool will be listed as "Comment stripper tool"
16 |
17 | ## What does it require?
18 |
19 | Visual Studio 2010, 2012, 2013 or any other MSBuild compatible IDE.
20 |
21 | ## How do I use it?
22 |
23 | Copy the contents of the "plugin" folder to the folder *C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations*
24 |
25 | Find this line in your .vcxproj file *<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>*
26 |
27 | Insert this after it
28 |
29 | ```xml
30 |
31 |
32 |
33 | ```
34 |
35 | Find this line near the end of your .vcxproj file *<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />*
36 |
37 | Insert this after it.
38 |
39 | ```xml
40 |
41 |
42 |
43 | ```
44 |
45 | ## This is great/sucks! But, how can I change/rewrite/steal the tool?
46 |
47 | The source code to the tool is in the folder "source". It will require Burgerlib for some subroutines. has the binaries of the library and has the source to the library.
48 |
49 | ## To build the tool on windows
50 |
51 | 1. Install Visual Studio 2022
52 | 2. Install the Visual Studio SDK
53 | 3. Install the Windows SDK 10 (Any version should do)
54 | 4. Install the ARM and ARM64 C++ compilers V143
55 | 5. In the Visual Studio extensions, install Microsoft Visual Studio Installer Projects 2022
56 | 6. Install Python (Prefer 3)
57 | 7. pip install makeprojects
58 | 8. Ensure python scripts are in the PATH so python scripts can be run from the command line
59 | 9. Set the directory to the folder these instructions reside, usually "GLSL"
60 | 10. buildme
61 |
62 | ## To build the tool on macOS for Xcode
63 |
64 | 1. Install XCode
65 | 2. Install Python (Prefer 3 using brew or macports)
66 | 3. pip install makeprojects
67 | 4. Ensure python scripts are in the PATH so python scripts can be run from the terminal
68 | 5. Set the directory to the folder "stripcomments"
69 | 6. buildme
70 | 7. Rename the executable in the bin folder to "stripcomments"
71 | 8. move the tool into the folder that contains tools, /opt/local/bin is an example
72 |
--------------------------------------------------------------------------------
/Resources/buildcustomizations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/burgerbecky/glslvisualstudio/042d027b92aee6ce00dc3a410db7c4dc83f331cc/Resources/buildcustomizations.png
--------------------------------------------------------------------------------
/Resources/burgericon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/burgerbecky/glslvisualstudio/042d027b92aee6ce00dc3a410db7c4dc83f331cc/Resources/burgericon.png
--------------------------------------------------------------------------------
/Resources/customization_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/burgerbecky/glslvisualstudio/042d027b92aee6ce00dc3a410db7c4dc83f331cc/Resources/customization_list.png
--------------------------------------------------------------------------------
/build_rules.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding: utf-8 -*-
3 |
4 | """
5 | Copy the GLSL visual studio plugin to sdks/visualstudio
6 |
7 | Copyright 1995-2022 by Rebecca Ann Heineman becky@burgerbecky.com
8 |
9 | It is released under an MIT Open Source license. Please see LICENSE
10 | for license details. Yes, you can use it in a
11 | commercial title without paying anything, just give me a credit.
12 | Please? It's not like I'm asking you for money!
13 | """
14 |
15 | from __future__ import absolute_import, unicode_literals
16 |
17 | import os
18 | import sys
19 | from burger import clean_directories, clean_files
20 |
21 | # ``cleanme`` will process any child directory with the clean() function if
22 | # True.
23 | CLEANME_GENERIC = True
24 |
25 | # ``cleanme`` will assume only the function ``clean()`` is used if True.
26 | CLEANME_PROCESS_PROJECT_FILES = False
27 |
28 | # Process listed folders using their rules before processing this folder.
29 | DEPENDENCIES = ['stripcomments', 'install_pre_2017', 'install_2017',
30 | 'install_2019', 'install_2022']
31 |
32 | ########################################
33 |
34 |
35 | def clean(working_directory):
36 | """
37 | Delete temporary files.
38 |
39 | This function is called by ``cleanme`` to remove temporary files.
40 |
41 | On exit, return 0 for no error, or a non zero error code if there was an
42 | error to report.
43 |
44 | Args:
45 | working_directory
46 | Directory this script resides in.
47 |
48 | Returns:
49 | None if not implemented, otherwise an integer error code.
50 | """
51 |
52 | clean_directories(
53 | working_directory,
54 | ('bin', 'temp', 'obj', 'Properties', '.vs', '.vscode', 'build'))
55 | clean_files(working_directory,
56 | ('Key.snk', '*.user', '*.suo', '*.msi'), True)
57 | return 0
58 |
59 |
60 | # If called as a command line and not a class, perform the build
61 | if __name__ == "__main__":
62 | sys.exit(clean(os.path.dirname(os.path.abspath(__file__))))
63 |
--------------------------------------------------------------------------------
/install_2017/build_rules.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding: utf-8 -*-
3 |
4 | """
5 | Copy up the glsl visual studio plug in to sdks/visualstudio
6 |
7 | Copyright 1995-2022 by Rebecca Ann Heineman becky@burgerbecky.com
8 |
9 | It is released under an MIT Open Source license. Please see LICENSE
10 | for license details. Yes, you can use it in a
11 | commercial title without paying anything, just give me a credit.
12 | Please? It's not like I'm asking you for money!
13 | """
14 |
15 | from __future__ import absolute_import, unicode_literals
16 |
17 | # ``cleanme`` will assume only the function ``clean()`` is used if True.
18 | CLEANME_PROCESS_PROJECT_FILES = False
19 |
20 | # Process ``build_rules.py`` in the parent folder if True.
21 | CLEANME_CONTINUE = True
22 |
23 | # Build the folders listed before processing this folder.
24 | BUILDME_DEPENDENCIES = ['../stripcomments']
25 |
--------------------------------------------------------------------------------
/install_2017/glsl_2017.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 15.0
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | true
10 |
11 |
12 | Key.snk
13 |
14 |
15 |
16 | Release
17 | AnyCPU
18 | 2.0
19 | {82B43B9B-A64C-4715-B499-D71E9CA2BD60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
20 | {10C5DF6B-A040-41A2-84F5-CEAF6CBC6FF3}
21 | Library
22 | Properties
23 | glsl_vs2017
24 | glsl-vs2017
25 | v4.0
26 | false
27 | false
28 | false
29 | false
30 | false
31 | false
32 | Program
33 | $(DevEnvDir)devenv.exe
34 | /rootsuffix Exp
35 |
36 |
37 | pdbonly
38 | true
39 | ..\bin\
40 |
41 |
42 | prompt
43 | 4
44 | False
45 | False
46 | false
47 |
48 |
49 |
50 | true
51 |
52 |
53 | true
54 | VCTargets
55 | BuildCustomizations
56 |
57 |
58 | true
59 | VCTargets
60 | BuildCustomizations
61 |
62 |
63 | true
64 | VCTargets
65 | BuildCustomizations
66 |
67 |
68 | true
69 | VCTargets
70 | stripcomments.exe
71 | .
72 |
73 |
74 | true
75 | VCTargets
76 | stripcomments.exe
77 | x64
78 |
79 |
80 | LICENSE.txt
81 | true
82 |
83 |
84 | Designer
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 | if not exist $(ProjectDir)Key.snk ("$(TargetFrameworkSDKToolsDirectory)\x64\sn.exe" -k $(ProjectDir)Key.snk)
95 |
96 |
--------------------------------------------------------------------------------
/install_2017/glsl_2017.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.27004.2006
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "glsl_2017", "glsl_2017.csproj", "{10C5DF6B-A040-41A2-84F5-CEAF6CBC6FF3}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Release|Any CPU = Release|Any CPU
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {10C5DF6B-A040-41A2-84F5-CEAF6CBC6FF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
14 | {10C5DF6B-A040-41A2-84F5-CEAF6CBC6FF3}.Release|Any CPU.Build.0 = Release|Any CPU
15 | EndGlobalSection
16 | GlobalSection(SolutionProperties) = preSolution
17 | HideSolutionNode = FALSE
18 | EndGlobalSection
19 | GlobalSection(ExtensibilityGlobals) = postSolution
20 | SolutionGuid = {BD0FC803-C28B-4327-A129-CFB35C873897}
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/install_2017/source.extension.vsixmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GLSL Visual Studio 2017 comment stripper
6 | This is a plug in for Visual Studio 2017 that will allow files with the GLSL extension to automatically be compiled with a tool that will strip all comments. The tool will be listed as "Comment stripper tool". Versions compatible with earlier versions of Visual Studio can be found here: https://github.com/burgerbecky/glslvisualstudio
7 | https://github.com/burgerbecky/glslvisualstudio
8 | https://github.com/burgerbecky/glslvisualstudio/blob/master/README.md
9 | Resources\burgericon.png
10 | Resources\burgericon.png
11 | opengl, glsl, directx, fxc, shader, build, buildcustomizations, compiler, game, graphics
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/install_2019/build_rules.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding: utf-8 -*-
3 |
4 | """
5 | Copy up the glsl visual studio plug in to sdks/visualstudio
6 |
7 | Copyright 1995-2022 by Rebecca Ann Heineman becky@burgerbecky.com
8 |
9 | It is released under an MIT Open Source license. Please see LICENSE
10 | for license details. Yes, you can use it in a
11 | commercial title without paying anything, just give me a credit.
12 | Please? It's not like I'm asking you for money!
13 | """
14 |
15 | from __future__ import absolute_import, unicode_literals
16 |
17 | # ``cleanme`` will assume only the function ``clean()`` is used if True.
18 | CLEANME_PROCESS_PROJECT_FILES = False
19 |
20 | # Process ``build_rules.py`` in the parent folder if True.
21 | CLEANME_CONTINUE = True
22 |
23 | # Build the folders listed before processing this folder.
24 | BUILDME_DEPENDENCIES = ['../stripcomments']
25 |
--------------------------------------------------------------------------------
/install_2019/glsl_2019.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 15.0
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | true
10 |
11 |
12 | Key.snk
13 |
14 |
15 |
16 | Release
17 | AnyCPU
18 | 2.0
19 | {82B43B9B-A64C-4715-B499-D71E9CA2BD60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
20 | {E393C2D1-EF52-4E70-8EAB-A50C0406622E}
21 | Library
22 | Properties
23 | glsl_vs2019
24 | glsl-vs2019
25 | v4.0
26 | false
27 | false
28 | false
29 | false
30 | false
31 | false
32 | Program
33 | $(DevEnvDir)devenv.exe
34 | /rootsuffix Exp
35 |
36 |
37 | pdbonly
38 | true
39 | ..\bin\
40 |
41 |
42 | prompt
43 | 4
44 | False
45 | False
46 | false
47 |
48 |
49 |
50 | true
51 |
52 |
53 | true
54 | MSBuild
55 | VC\v150\BuildCustomizations\glsl.xml
56 | Microsoft
57 |
58 |
59 | true
60 | MSBuild
61 | VC\v150\BuildCustomizations\glsl.props
62 | Microsoft
63 |
64 |
65 | true
66 | MSBuild
67 | VC\v150\BuildCustomizations\glsl.targets
68 | Microsoft
69 |
70 |
71 | true
72 | MSBuild
73 | VC\v150\stripcomments.exe
74 | Microsoft
75 |
76 |
77 | true
78 | MSBuild
79 | VC\v150\x64\stripcomments.exe
80 | Microsoft
81 |
82 |
83 | true
84 | MSBuild
85 | VC\v160\BuildCustomizations\glsl.xml
86 | Microsoft
87 |
88 |
89 | true
90 | MSBuild
91 | VC\v160\BuildCustomizations\glsl.props
92 | Microsoft
93 |
94 |
95 | true
96 | MSBuild
97 | VC\v160\BuildCustomizations\glsl.targets
98 | Microsoft
99 |
100 |
101 | true
102 | MSBuild
103 | VC\v160\stripcomments.exe
104 | Microsoft
105 |
106 |
107 | true
108 | MSBuild
109 | VC\v160\x64\stripcomments.exe
110 | Microsoft
111 |
112 |
113 | LICENSE.txt
114 | true
115 |
116 |
117 | Designer
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 | if not exist $(ProjectDir)Key.snk ("$(TargetFrameworkSDKToolsDirectory)\x64\sn.exe" -k $(ProjectDir)Key.snk)
128 |
129 |
--------------------------------------------------------------------------------
/install_2019/glsl_2019.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.28803.452
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "glsl_2019", "glsl_2019.csproj", "{E393C2D1-EF52-4E70-8EAB-A50C0406622E}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Release|Any CPU = Release|Any CPU
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {E393C2D1-EF52-4E70-8EAB-A50C0406622E}.Release|Any CPU.ActiveCfg = Release|Any CPU
14 | {E393C2D1-EF52-4E70-8EAB-A50C0406622E}.Release|Any CPU.Build.0 = Release|Any CPU
15 | EndGlobalSection
16 | GlobalSection(SolutionProperties) = preSolution
17 | HideSolutionNode = FALSE
18 | EndGlobalSection
19 | GlobalSection(ExtensibilityGlobals) = postSolution
20 | SolutionGuid = {BD0FC803-C28B-4327-A129-CFB35C873897}
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/install_2019/source.extension.vsixmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GLSL Visual Studio 2019 comment stripper
6 | This is a plug in for Visual Studio 2019 that will allow files with the GLSL extension to automatically be compiled with a tool that will strip all comments. The tool will be listed as "Comment stripper tool". Versions compatible with earlier versions of Visual Studio can be found here: https://github.com/burgerbecky/glslvisualstudio
7 | https://github.com/burgerbecky/glslvisualstudio
8 | https://github.com/burgerbecky/glslvisualstudio/blob/master/README.md
9 | Resources\burgericon.png
10 | Resources\burgericon.png
11 | opengl, glsl, directx, fxc, shader, build, buildcustomizations, compiler, game, graphics
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/install_2022/build_rules.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding: utf-8 -*-
3 |
4 | """
5 | Copy up the glsl visual studio plug in to sdks/visualstudio
6 |
7 | Copyright 1995-2022 by Rebecca Ann Heineman becky@burgerbecky.com
8 |
9 | It is released under an MIT Open Source license. Please see LICENSE
10 | for license details. Yes, you can use it in a
11 | commercial title without paying anything, just give me a credit.
12 | Please? It's not like I'm asking you for money!
13 | """
14 |
15 | from __future__ import absolute_import, unicode_literals
16 |
17 | # ``cleanme`` will assume only the function ``clean()`` is used if True.
18 | CLEANME_PROCESS_PROJECT_FILES = False
19 |
20 | # Process ``build_rules.py`` in the parent folder if True.
21 | CLEANME_CONTINUE = True
22 |
23 | # Build the folders listed before processing this folder.
24 | BUILDME_DEPENDENCIES = ['../stripcomments']
25 |
--------------------------------------------------------------------------------
/install_2022/glsl_2022.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 15.0
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | true
10 |
11 |
12 | Key.snk
13 |
14 |
15 |
16 | Release
17 | AnyCPU
18 | 2.0
19 | {82B43B9B-A64C-4715-B499-D71E9CA2BD60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
20 | {729CEEB5-D903-41D2-8808-3A2E5C99806C}
21 | Library
22 | Properties
23 | glsl_vs2022
24 | glsl-vs2022
25 | v4.0
26 | false
27 | false
28 | false
29 | false
30 | false
31 | false
32 | Program
33 | $(DevEnvDir)devenv.exe
34 | /rootsuffix Exp
35 |
36 |
37 | pdbonly
38 | true
39 | ..\bin\
40 |
41 |
42 | prompt
43 | 4
44 | False
45 | False
46 | false
47 |
48 |
49 |
50 | true
51 |
52 |
53 | true
54 | MSBuild
55 | VC\v170\BuildCustomizations\glsl.xml
56 | Microsoft
57 |
58 |
59 | true
60 | MSBuild
61 | VC\v170\BuildCustomizations\glsl.props
62 | Microsoft
63 |
64 |
65 | true
66 | MSBuild
67 | VC\v170\BuildCustomizations\glsl.targets
68 | Microsoft
69 |
70 |
71 | true
72 | MSBuild
73 | VC\v170\stripcomments.exe
74 | Microsoft
75 |
76 |
77 | true
78 | MSBuild
79 | VC\v170\x64\stripcomments.exe
80 | Microsoft
81 |
82 |
83 | LICENSE.txt
84 | true
85 |
86 |
87 | Designer
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 | if not exist $(ProjectDir)Key.snk ("$(TargetFrameworkSDKToolsDirectory)\x64\sn.exe" -k $(ProjectDir)Key.snk)
98 |
99 |
--------------------------------------------------------------------------------
/install_2022/glsl_2022.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.0.32112.339
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "glsl_2022", "glsl_2022.csproj", "{729CEEB5-D903-41D2-8808-3A2E5C99806C}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Release|Any CPU = Release|Any CPU
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {729CEEB5-D903-41D2-8808-3A2E5C99806C}.Release|Any CPU.ActiveCfg = Release|Any CPU
14 | {729CEEB5-D903-41D2-8808-3A2E5C99806C}.Release|Any CPU.Build.0 = Release|Any CPU
15 | EndGlobalSection
16 | GlobalSection(SolutionProperties) = preSolution
17 | HideSolutionNode = FALSE
18 | EndGlobalSection
19 | GlobalSection(ExtensibilityGlobals) = postSolution
20 | SolutionGuid = {BD0FC803-C28B-4327-A129-CFB35C873897}
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/install_2022/source.extension.vsixmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GLSL Visual Studio 2022 comment stripper
6 | This is a plug in for Visual Studio 2022 that will allow files with the GLSL extension to automatically be compiled with a tool that will strip all comments. The tool will be listed as "Comment stripper tool". Versions compatible with earlier versions of Visual Studio can be found here: https://github.com/burgerbecky/glslvisualstudio
7 | https://github.com/burgerbecky/glslvisualstudio
8 | https://github.com/burgerbecky/glslvisualstudio/blob/master/README.md
9 | Resources\burgericon.png
10 | Resources\burgericon.png
11 | opengl, glsl, directx, fxc, shader, build, buildcustomizations, compiler, game, graphics
12 |
13 |
14 |
17 |
18 | x86
19 |
20 |
21 | x86
22 |
23 |
24 | x86
25 |
26 |
29 |
30 | amd64
31 |
32 |
33 | amd64
34 |
35 |
36 | amd64
37 |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/install_pre_2017/build_rules.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding: utf-8 -*-
3 |
4 | """
5 | Copy up the glsl visual studio plug in to sdks/visualstudio
6 |
7 | Copyright 1995-2022 by Rebecca Ann Heineman becky@burgerbecky.com
8 |
9 | It is released under an MIT Open Source license. Please see LICENSE
10 | for license details. Yes, you can use it in a
11 | commercial title without paying anything, just give me a credit.
12 | Please? It's not like I'm asking you for money!
13 | """
14 |
15 | from __future__ import absolute_import, unicode_literals
16 |
17 | # ``cleanme`` will assume only the function ``clean()`` is used if True.
18 | CLEANME_PROCESS_PROJECT_FILES = False
19 |
20 | # Process ``build_rules.py`` in the parent folder if True.
21 | CLEANME_CONTINUE = True
22 |
23 | # Build the folders listed before processing this folder.
24 | BUILDME_DEPENDENCIES = ['../stripcomments']
25 |
--------------------------------------------------------------------------------
/install_pre_2017/glsl_msi-v22.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.1.32210.238
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "GLSL Visual Studio Integration", "glsl_msi-v22.vdproj", "{FCCA1D3C-1008-4F2F-BBA7-C319BBAE6F89}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Release|Default = Release|Default
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {FCCA1D3C-1008-4F2F-BBA7-C319BBAE6F89}.Release|Default.ActiveCfg = Release
14 | {FCCA1D3C-1008-4F2F-BBA7-C319BBAE6F89}.Release|Default.Build.0 = Release
15 | EndGlobalSection
16 | GlobalSection(SolutionProperties) = preSolution
17 | HideSolutionNode = FALSE
18 | EndGlobalSection
19 | GlobalSection(ExtensibilityGlobals) = postSolution
20 | SolutionGuid = {85CEA509-2325-4E06-A162-2C066B8FEF4E}
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/install_pre_2017/glsl_msi-v22.vdproj:
--------------------------------------------------------------------------------
1 | "DeployProject"
2 | {
3 | "VSVersion" = "3:800"
4 | "ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
5 | "IsWebType" = "8:FALSE"
6 | "ProjectName" = "8:GLSL Visual Studio Integration"
7 | "LanguageId" = "3:1033"
8 | "CodePage" = "3:1252"
9 | "UILanguageId" = "3:1033"
10 | "SccProjectName" = "8:"
11 | "SccLocalPath" = "8:"
12 | "SccAuxPath" = "8:"
13 | "SccProvider" = "8:"
14 | "Hierarchy"
15 | {
16 | "Entry"
17 | {
18 | "MsmKey" = "8:_06A8A1E841A5410899201894C7AF53E3"
19 | "OwnerKey" = "8:_UNDEFINED"
20 | "MsmSig" = "8:_UNDEFINED"
21 | }
22 | "Entry"
23 | {
24 | "MsmKey" = "8:_0CDA6FC29AA84F9AA169B8876E01F4D3"
25 | "OwnerKey" = "8:_UNDEFINED"
26 | "MsmSig" = "8:_UNDEFINED"
27 | }
28 | "Entry"
29 | {
30 | "MsmKey" = "8:_0F68AF42D725496F8500F931D345B9D3"
31 | "OwnerKey" = "8:_UNDEFINED"
32 | "MsmSig" = "8:_UNDEFINED"
33 | }
34 | "Entry"
35 | {
36 | "MsmKey" = "8:_18E6A2820DD145BB9134342A59FA2ECB"
37 | "OwnerKey" = "8:_UNDEFINED"
38 | "MsmSig" = "8:_UNDEFINED"
39 | }
40 | "Entry"
41 | {
42 | "MsmKey" = "8:_1B244BB0AB3541BEBFE2402463511124"
43 | "OwnerKey" = "8:_UNDEFINED"
44 | "MsmSig" = "8:_UNDEFINED"
45 | }
46 | "Entry"
47 | {
48 | "MsmKey" = "8:_2866539B77F54A8395AB156DCC2DF70E"
49 | "OwnerKey" = "8:_UNDEFINED"
50 | "MsmSig" = "8:_UNDEFINED"
51 | }
52 | "Entry"
53 | {
54 | "MsmKey" = "8:_3695E73FE2DE44C2BC77F72A1C34BD7E"
55 | "OwnerKey" = "8:_UNDEFINED"
56 | "MsmSig" = "8:_UNDEFINED"
57 | }
58 | "Entry"
59 | {
60 | "MsmKey" = "8:_41344DB2715D4A05A0D11740AD6F6E84"
61 | "OwnerKey" = "8:_UNDEFINED"
62 | "MsmSig" = "8:_UNDEFINED"
63 | }
64 | "Entry"
65 | {
66 | "MsmKey" = "8:_4B1B5509D89848CB94508F349289F483"
67 | "OwnerKey" = "8:_UNDEFINED"
68 | "MsmSig" = "8:_UNDEFINED"
69 | }
70 | "Entry"
71 | {
72 | "MsmKey" = "8:_4E50A01BFEEF4C3AB08F9E29513A6338"
73 | "OwnerKey" = "8:_UNDEFINED"
74 | "MsmSig" = "8:_UNDEFINED"
75 | }
76 | "Entry"
77 | {
78 | "MsmKey" = "8:_5499CE38FBB6485A9B1B501BD3D00C62"
79 | "OwnerKey" = "8:_UNDEFINED"
80 | "MsmSig" = "8:_UNDEFINED"
81 | }
82 | "Entry"
83 | {
84 | "MsmKey" = "8:_795033CDEDAB4C759617480220948056"
85 | "OwnerKey" = "8:_UNDEFINED"
86 | "MsmSig" = "8:_UNDEFINED"
87 | }
88 | "Entry"
89 | {
90 | "MsmKey" = "8:_7BB18AF4D2864DC3A4B90D8ED9C3DF2B"
91 | "OwnerKey" = "8:_UNDEFINED"
92 | "MsmSig" = "8:_UNDEFINED"
93 | }
94 | "Entry"
95 | {
96 | "MsmKey" = "8:_7C937CB91B9C4F4498615DA6341AAA90"
97 | "OwnerKey" = "8:_UNDEFINED"
98 | "MsmSig" = "8:_UNDEFINED"
99 | }
100 | "Entry"
101 | {
102 | "MsmKey" = "8:_846A82D01E064E6FA3CD6622C76CF690"
103 | "OwnerKey" = "8:_UNDEFINED"
104 | "MsmSig" = "8:_UNDEFINED"
105 | }
106 | "Entry"
107 | {
108 | "MsmKey" = "8:_8D708D264EFB45E2860EB1C601E6796C"
109 | "OwnerKey" = "8:_UNDEFINED"
110 | "MsmSig" = "8:_UNDEFINED"
111 | }
112 | "Entry"
113 | {
114 | "MsmKey" = "8:_8E490083646E45808F96C40354B346D4"
115 | "OwnerKey" = "8:_UNDEFINED"
116 | "MsmSig" = "8:_UNDEFINED"
117 | }
118 | "Entry"
119 | {
120 | "MsmKey" = "8:_925CF59B1EC340B198F71A106C8E3554"
121 | "OwnerKey" = "8:_UNDEFINED"
122 | "MsmSig" = "8:_UNDEFINED"
123 | }
124 | "Entry"
125 | {
126 | "MsmKey" = "8:_939A3806B72E40EA9EBF55E80E0D85C9"
127 | "OwnerKey" = "8:_UNDEFINED"
128 | "MsmSig" = "8:_UNDEFINED"
129 | }
130 | "Entry"
131 | {
132 | "MsmKey" = "8:_D10A144C85444B7CA838E22AAFBE0D6F"
133 | "OwnerKey" = "8:_UNDEFINED"
134 | "MsmSig" = "8:_UNDEFINED"
135 | }
136 | "Entry"
137 | {
138 | "MsmKey" = "8:_D37996E1282548109592C096CDE32527"
139 | "OwnerKey" = "8:_UNDEFINED"
140 | "MsmSig" = "8:_UNDEFINED"
141 | }
142 | "Entry"
143 | {
144 | "MsmKey" = "8:_E53DF2F04B014E43A9223AE472281240"
145 | "OwnerKey" = "8:_UNDEFINED"
146 | "MsmSig" = "8:_UNDEFINED"
147 | }
148 | "Entry"
149 | {
150 | "MsmKey" = "8:_F47376EEFDF745C7A3923C692B319A0A"
151 | "OwnerKey" = "8:_UNDEFINED"
152 | "MsmSig" = "8:_UNDEFINED"
153 | }
154 | "Entry"
155 | {
156 | "MsmKey" = "8:_F4C9E9F55FF746F8AC82D0101C1C60FA"
157 | "OwnerKey" = "8:_UNDEFINED"
158 | "MsmSig" = "8:_UNDEFINED"
159 | }
160 | }
161 | "Configurations"
162 | {
163 | "Release"
164 | {
165 | "DisplayName" = "8:Release"
166 | "IsDebugOnly" = "11:FALSE"
167 | "IsReleaseOnly" = "11:TRUE"
168 | "OutputFilename" = "8:..\\bin\\glsl-vs2005-2015.msi"
169 | "PackageFilesAs" = "3:2"
170 | "PackageFileSize" = "3:-2147483648"
171 | "CabType" = "3:1"
172 | "Compression" = "3:3"
173 | "SignOutput" = "11:FALSE"
174 | "CertificateFile" = "8:"
175 | "PrivateKeyFile" = "8:"
176 | "TimeStampServer" = "8:"
177 | "InstallerBootstrapper" = "3:2"
178 | "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
179 | {
180 | "Enabled" = "11:FALSE"
181 | "PromptEnabled" = "11:TRUE"
182 | "PrerequisitesLocation" = "2:1"
183 | "Url" = "8:"
184 | "ComponentsUrl" = "8:"
185 | "Items"
186 | {
187 | }
188 | }
189 | }
190 | }
191 | "Deployable"
192 | {
193 | "CustomAction"
194 | {
195 | }
196 | "DefaultFeature"
197 | {
198 | "Name" = "8:DefaultFeature"
199 | "Title" = "8:"
200 | "Description" = "8:"
201 | }
202 | "ExternalPersistence"
203 | {
204 | "LaunchCondition"
205 | {
206 | }
207 | }
208 | "File"
209 | {
210 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_06A8A1E841A5410899201894C7AF53E3"
211 | {
212 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.targets"
213 | "TargetName" = "8:glsl.targets"
214 | "Tag" = "8:"
215 | "Folder" = "8:_CEA6FECD97C343409A43835A25796A7F"
216 | "Condition" = "8:"
217 | "Transitive" = "11:FALSE"
218 | "Vital" = "11:TRUE"
219 | "ReadOnly" = "11:FALSE"
220 | "Hidden" = "11:FALSE"
221 | "System" = "11:FALSE"
222 | "Permanent" = "11:FALSE"
223 | "SharedLegacy" = "11:FALSE"
224 | "PackageAs" = "3:1"
225 | "Register" = "3:1"
226 | "Exclude" = "11:FALSE"
227 | "IsDependency" = "11:FALSE"
228 | "IsolateTo" = "8:"
229 | }
230 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0CDA6FC29AA84F9AA169B8876E01F4D3"
231 | {
232 | "SourcePath" = "8:..\\stripcomments\\bin\\stripcomments.exe"
233 | "TargetName" = "8:stripcomments.exe"
234 | "Tag" = "8:"
235 | "Folder" = "8:_7787301E452A419E9D70F13D2B192CFE"
236 | "Condition" = "8:"
237 | "Transitive" = "11:FALSE"
238 | "Vital" = "11:TRUE"
239 | "ReadOnly" = "11:FALSE"
240 | "Hidden" = "11:FALSE"
241 | "System" = "11:FALSE"
242 | "Permanent" = "11:FALSE"
243 | "SharedLegacy" = "11:FALSE"
244 | "PackageAs" = "3:1"
245 | "Register" = "3:1"
246 | "Exclude" = "11:FALSE"
247 | "IsDependency" = "11:FALSE"
248 | "IsolateTo" = "8:"
249 | }
250 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0F68AF42D725496F8500F931D345B9D3"
251 | {
252 | "SourcePath" = "8:..\\stripcomments\\bin\\stripcomments64.exe"
253 | "TargetName" = "8:stripcomments.exe"
254 | "Tag" = "8:"
255 | "Folder" = "8:_5AA32538DAB044AAA5A3D33FAD0D94FF"
256 | "Condition" = "8:"
257 | "Transitive" = "11:FALSE"
258 | "Vital" = "11:TRUE"
259 | "ReadOnly" = "11:FALSE"
260 | "Hidden" = "11:FALSE"
261 | "System" = "11:FALSE"
262 | "Permanent" = "11:FALSE"
263 | "SharedLegacy" = "11:FALSE"
264 | "PackageAs" = "3:1"
265 | "Register" = "3:1"
266 | "Exclude" = "11:FALSE"
267 | "IsDependency" = "11:FALSE"
268 | "IsolateTo" = "8:"
269 | }
270 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_18E6A2820DD145BB9134342A59FA2ECB"
271 | {
272 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.props"
273 | "TargetName" = "8:glsl.props"
274 | "Tag" = "8:"
275 | "Folder" = "8:_CEA6FECD97C343409A43835A25796A7F"
276 | "Condition" = "8:"
277 | "Transitive" = "11:FALSE"
278 | "Vital" = "11:TRUE"
279 | "ReadOnly" = "11:FALSE"
280 | "Hidden" = "11:FALSE"
281 | "System" = "11:FALSE"
282 | "Permanent" = "11:FALSE"
283 | "SharedLegacy" = "11:FALSE"
284 | "PackageAs" = "3:1"
285 | "Register" = "3:1"
286 | "Exclude" = "11:FALSE"
287 | "IsDependency" = "11:FALSE"
288 | "IsolateTo" = "8:"
289 | }
290 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1B244BB0AB3541BEBFE2402463511124"
291 | {
292 | "SourcePath" = "8:..\\stripcomments\\bin\\stripcomments64.exe"
293 | "TargetName" = "8:stripcomments.exe"
294 | "Tag" = "8:"
295 | "Folder" = "8:_4D7FEFF8EE9C473AA5F0B863F45AA38E"
296 | "Condition" = "8:"
297 | "Transitive" = "11:FALSE"
298 | "Vital" = "11:TRUE"
299 | "ReadOnly" = "11:FALSE"
300 | "Hidden" = "11:FALSE"
301 | "System" = "11:FALSE"
302 | "Permanent" = "11:FALSE"
303 | "SharedLegacy" = "11:FALSE"
304 | "PackageAs" = "3:1"
305 | "Register" = "3:1"
306 | "Exclude" = "11:FALSE"
307 | "IsDependency" = "11:FALSE"
308 | "IsolateTo" = "8:"
309 | }
310 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2866539B77F54A8395AB156DCC2DF70E"
311 | {
312 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.rules"
313 | "TargetName" = "8:glsl.rules"
314 | "Tag" = "8:"
315 | "Folder" = "8:_2A21D7AAF0AB4C5086D8C07F50143E34"
316 | "Condition" = "8:"
317 | "Transitive" = "11:FALSE"
318 | "Vital" = "11:TRUE"
319 | "ReadOnly" = "11:FALSE"
320 | "Hidden" = "11:FALSE"
321 | "System" = "11:FALSE"
322 | "Permanent" = "11:FALSE"
323 | "SharedLegacy" = "11:FALSE"
324 | "PackageAs" = "3:1"
325 | "Register" = "3:1"
326 | "Exclude" = "11:FALSE"
327 | "IsDependency" = "11:FALSE"
328 | "IsolateTo" = "8:"
329 | }
330 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3695E73FE2DE44C2BC77F72A1C34BD7E"
331 | {
332 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.xml"
333 | "TargetName" = "8:glsl.xml"
334 | "Tag" = "8:"
335 | "Folder" = "8:_0ADF7AA71AFD43688596D44C0B5DB582"
336 | "Condition" = "8:"
337 | "Transitive" = "11:FALSE"
338 | "Vital" = "11:TRUE"
339 | "ReadOnly" = "11:FALSE"
340 | "Hidden" = "11:FALSE"
341 | "System" = "11:FALSE"
342 | "Permanent" = "11:FALSE"
343 | "SharedLegacy" = "11:FALSE"
344 | "PackageAs" = "3:1"
345 | "Register" = "3:1"
346 | "Exclude" = "11:FALSE"
347 | "IsDependency" = "11:FALSE"
348 | "IsolateTo" = "8:"
349 | }
350 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_41344DB2715D4A05A0D11740AD6F6E84"
351 | {
352 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.props"
353 | "TargetName" = "8:glsl.props"
354 | "Tag" = "8:"
355 | "Folder" = "8:_FDA6FA1DA5994F3D9DD24BCBA092EEC3"
356 | "Condition" = "8:"
357 | "Transitive" = "11:FALSE"
358 | "Vital" = "11:TRUE"
359 | "ReadOnly" = "11:FALSE"
360 | "Hidden" = "11:FALSE"
361 | "System" = "11:FALSE"
362 | "Permanent" = "11:FALSE"
363 | "SharedLegacy" = "11:FALSE"
364 | "PackageAs" = "3:1"
365 | "Register" = "3:1"
366 | "Exclude" = "11:FALSE"
367 | "IsDependency" = "11:FALSE"
368 | "IsolateTo" = "8:"
369 | }
370 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4B1B5509D89848CB94508F349289F483"
371 | {
372 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.props"
373 | "TargetName" = "8:glsl.props"
374 | "Tag" = "8:"
375 | "Folder" = "8:_0ADF7AA71AFD43688596D44C0B5DB582"
376 | "Condition" = "8:"
377 | "Transitive" = "11:FALSE"
378 | "Vital" = "11:TRUE"
379 | "ReadOnly" = "11:FALSE"
380 | "Hidden" = "11:FALSE"
381 | "System" = "11:FALSE"
382 | "Permanent" = "11:FALSE"
383 | "SharedLegacy" = "11:FALSE"
384 | "PackageAs" = "3:1"
385 | "Register" = "3:1"
386 | "Exclude" = "11:FALSE"
387 | "IsDependency" = "11:FALSE"
388 | "IsolateTo" = "8:"
389 | }
390 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4E50A01BFEEF4C3AB08F9E29513A6338"
391 | {
392 | "SourcePath" = "8:..\\stripcomments\\bin\\stripcomments.exe"
393 | "TargetName" = "8:stripcomments.exe"
394 | "Tag" = "8:"
395 | "Folder" = "8:_7B089E638AA041439E87404C662E4D45"
396 | "Condition" = "8:"
397 | "Transitive" = "11:FALSE"
398 | "Vital" = "11:TRUE"
399 | "ReadOnly" = "11:FALSE"
400 | "Hidden" = "11:FALSE"
401 | "System" = "11:FALSE"
402 | "Permanent" = "11:FALSE"
403 | "SharedLegacy" = "11:FALSE"
404 | "PackageAs" = "3:1"
405 | "Register" = "3:1"
406 | "Exclude" = "11:FALSE"
407 | "IsDependency" = "11:FALSE"
408 | "IsolateTo" = "8:"
409 | }
410 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5499CE38FBB6485A9B1B501BD3D00C62"
411 | {
412 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.xml"
413 | "TargetName" = "8:glsl.xml"
414 | "Tag" = "8:"
415 | "Folder" = "8:_FEB59A038B1648249F5A3B34C9FE2DDD"
416 | "Condition" = "8:"
417 | "Transitive" = "11:FALSE"
418 | "Vital" = "11:TRUE"
419 | "ReadOnly" = "11:FALSE"
420 | "Hidden" = "11:FALSE"
421 | "System" = "11:FALSE"
422 | "Permanent" = "11:FALSE"
423 | "SharedLegacy" = "11:FALSE"
424 | "PackageAs" = "3:1"
425 | "Register" = "3:1"
426 | "Exclude" = "11:FALSE"
427 | "IsDependency" = "11:FALSE"
428 | "IsolateTo" = "8:"
429 | }
430 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_795033CDEDAB4C759617480220948056"
431 | {
432 | "SourcePath" = "8:..\\stripcomments\\bin\\stripcomments64.exe"
433 | "TargetName" = "8:stripcomments.exe"
434 | "Tag" = "8:"
435 | "Folder" = "8:_6A6B547AD66742CAB20E8A7A07EA3C37"
436 | "Condition" = "8:"
437 | "Transitive" = "11:FALSE"
438 | "Vital" = "11:TRUE"
439 | "ReadOnly" = "11:FALSE"
440 | "Hidden" = "11:FALSE"
441 | "System" = "11:FALSE"
442 | "Permanent" = "11:FALSE"
443 | "SharedLegacy" = "11:FALSE"
444 | "PackageAs" = "3:1"
445 | "Register" = "3:1"
446 | "Exclude" = "11:FALSE"
447 | "IsDependency" = "11:FALSE"
448 | "IsolateTo" = "8:"
449 | }
450 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7BB18AF4D2864DC3A4B90D8ED9C3DF2B"
451 | {
452 | "SourcePath" = "8:..\\stripcomments\\bin\\stripcomments.exe"
453 | "TargetName" = "8:stripcomments.exe"
454 | "Tag" = "8:"
455 | "Folder" = "8:_D4BBF3FF07304D59963D6617004D6C46"
456 | "Condition" = "8:"
457 | "Transitive" = "11:FALSE"
458 | "Vital" = "11:TRUE"
459 | "ReadOnly" = "11:FALSE"
460 | "Hidden" = "11:FALSE"
461 | "System" = "11:FALSE"
462 | "Permanent" = "11:FALSE"
463 | "SharedLegacy" = "11:FALSE"
464 | "PackageAs" = "3:1"
465 | "Register" = "3:1"
466 | "Exclude" = "11:FALSE"
467 | "IsDependency" = "11:FALSE"
468 | "IsolateTo" = "8:"
469 | }
470 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7C937CB91B9C4F4498615DA6341AAA90"
471 | {
472 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.targets"
473 | "TargetName" = "8:glsl.targets"
474 | "Tag" = "8:"
475 | "Folder" = "8:_FDA6FA1DA5994F3D9DD24BCBA092EEC3"
476 | "Condition" = "8:"
477 | "Transitive" = "11:FALSE"
478 | "Vital" = "11:TRUE"
479 | "ReadOnly" = "11:FALSE"
480 | "Hidden" = "11:FALSE"
481 | "System" = "11:FALSE"
482 | "Permanent" = "11:FALSE"
483 | "SharedLegacy" = "11:FALSE"
484 | "PackageAs" = "3:1"
485 | "Register" = "3:1"
486 | "Exclude" = "11:FALSE"
487 | "IsDependency" = "11:FALSE"
488 | "IsolateTo" = "8:"
489 | }
490 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_846A82D01E064E6FA3CD6622C76CF690"
491 | {
492 | "SourcePath" = "8:..\\stripcomments\\bin\\stripcomments64.exe"
493 | "TargetName" = "8:stripcomments.exe"
494 | "Tag" = "8:"
495 | "Folder" = "8:_EB3F9FCCD0A542D894F48E089A85D628"
496 | "Condition" = "8:"
497 | "Transitive" = "11:FALSE"
498 | "Vital" = "11:TRUE"
499 | "ReadOnly" = "11:FALSE"
500 | "Hidden" = "11:FALSE"
501 | "System" = "11:FALSE"
502 | "Permanent" = "11:FALSE"
503 | "SharedLegacy" = "11:FALSE"
504 | "PackageAs" = "3:1"
505 | "Register" = "3:1"
506 | "Exclude" = "11:FALSE"
507 | "IsDependency" = "11:FALSE"
508 | "IsolateTo" = "8:"
509 | }
510 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8D708D264EFB45E2860EB1C601E6796C"
511 | {
512 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.props"
513 | "TargetName" = "8:glsl.props"
514 | "Tag" = "8:"
515 | "Folder" = "8:_FEB59A038B1648249F5A3B34C9FE2DDD"
516 | "Condition" = "8:"
517 | "Transitive" = "11:FALSE"
518 | "Vital" = "11:TRUE"
519 | "ReadOnly" = "11:FALSE"
520 | "Hidden" = "11:FALSE"
521 | "System" = "11:FALSE"
522 | "Permanent" = "11:FALSE"
523 | "SharedLegacy" = "11:FALSE"
524 | "PackageAs" = "3:1"
525 | "Register" = "3:1"
526 | "Exclude" = "11:FALSE"
527 | "IsDependency" = "11:FALSE"
528 | "IsolateTo" = "8:"
529 | }
530 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8E490083646E45808F96C40354B346D4"
531 | {
532 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.xml"
533 | "TargetName" = "8:glsl.xml"
534 | "Tag" = "8:"
535 | "Folder" = "8:_FDA6FA1DA5994F3D9DD24BCBA092EEC3"
536 | "Condition" = "8:"
537 | "Transitive" = "11:FALSE"
538 | "Vital" = "11:TRUE"
539 | "ReadOnly" = "11:FALSE"
540 | "Hidden" = "11:FALSE"
541 | "System" = "11:FALSE"
542 | "Permanent" = "11:FALSE"
543 | "SharedLegacy" = "11:FALSE"
544 | "PackageAs" = "3:1"
545 | "Register" = "3:1"
546 | "Exclude" = "11:FALSE"
547 | "IsDependency" = "11:FALSE"
548 | "IsolateTo" = "8:"
549 | }
550 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_925CF59B1EC340B198F71A106C8E3554"
551 | {
552 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.targets"
553 | "TargetName" = "8:glsl.targets"
554 | "Tag" = "8:"
555 | "Folder" = "8:_0ADF7AA71AFD43688596D44C0B5DB582"
556 | "Condition" = "8:"
557 | "Transitive" = "11:FALSE"
558 | "Vital" = "11:TRUE"
559 | "ReadOnly" = "11:FALSE"
560 | "Hidden" = "11:FALSE"
561 | "System" = "11:FALSE"
562 | "Permanent" = "11:FALSE"
563 | "SharedLegacy" = "11:FALSE"
564 | "PackageAs" = "3:1"
565 | "Register" = "3:1"
566 | "Exclude" = "11:FALSE"
567 | "IsDependency" = "11:FALSE"
568 | "IsolateTo" = "8:"
569 | }
570 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_939A3806B72E40EA9EBF55E80E0D85C9"
571 | {
572 | "SourcePath" = "8:..\\stripcomments\\bin\\stripcomments.exe"
573 | "TargetName" = "8:stripcomments.exe"
574 | "Tag" = "8:"
575 | "Folder" = "8:_97E6D48FB390432E81C64E53E3B6EE27"
576 | "Condition" = "8:"
577 | "Transitive" = "11:FALSE"
578 | "Vital" = "11:TRUE"
579 | "ReadOnly" = "11:FALSE"
580 | "Hidden" = "11:FALSE"
581 | "System" = "11:FALSE"
582 | "Permanent" = "11:FALSE"
583 | "SharedLegacy" = "11:FALSE"
584 | "PackageAs" = "3:1"
585 | "Register" = "3:1"
586 | "Exclude" = "11:FALSE"
587 | "IsDependency" = "11:FALSE"
588 | "IsolateTo" = "8:"
589 | }
590 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D10A144C85444B7CA838E22AAFBE0D6F"
591 | {
592 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.targets"
593 | "TargetName" = "8:glsl.targets"
594 | "Tag" = "8:"
595 | "Folder" = "8:_FEB59A038B1648249F5A3B34C9FE2DDD"
596 | "Condition" = "8:"
597 | "Transitive" = "11:FALSE"
598 | "Vital" = "11:TRUE"
599 | "ReadOnly" = "11:FALSE"
600 | "Hidden" = "11:FALSE"
601 | "System" = "11:FALSE"
602 | "Permanent" = "11:FALSE"
603 | "SharedLegacy" = "11:FALSE"
604 | "PackageAs" = "3:1"
605 | "Register" = "3:1"
606 | "Exclude" = "11:FALSE"
607 | "IsDependency" = "11:FALSE"
608 | "IsolateTo" = "8:"
609 | }
610 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D37996E1282548109592C096CDE32527"
611 | {
612 | "SourcePath" = "8:..\\stripcomments\\bin\\stripcomments.exe"
613 | "TargetName" = "8:stripcomments.exe"
614 | "Tag" = "8:"
615 | "Folder" = "8:_B10D0E314CD5425B9675D97DF596C396"
616 | "Condition" = "8:"
617 | "Transitive" = "11:FALSE"
618 | "Vital" = "11:TRUE"
619 | "ReadOnly" = "11:FALSE"
620 | "Hidden" = "11:FALSE"
621 | "System" = "11:FALSE"
622 | "Permanent" = "11:FALSE"
623 | "SharedLegacy" = "11:FALSE"
624 | "PackageAs" = "3:1"
625 | "Register" = "3:1"
626 | "Exclude" = "11:FALSE"
627 | "IsDependency" = "11:FALSE"
628 | "IsolateTo" = "8:"
629 | }
630 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E53DF2F04B014E43A9223AE472281240"
631 | {
632 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.rules"
633 | "TargetName" = "8:glsl.rules"
634 | "Tag" = "8:"
635 | "Folder" = "8:_EB9CE7CC176F402AA356C6818455E808"
636 | "Condition" = "8:"
637 | "Transitive" = "11:FALSE"
638 | "Vital" = "11:TRUE"
639 | "ReadOnly" = "11:FALSE"
640 | "Hidden" = "11:FALSE"
641 | "System" = "11:FALSE"
642 | "Permanent" = "11:FALSE"
643 | "SharedLegacy" = "11:FALSE"
644 | "PackageAs" = "3:1"
645 | "Register" = "3:1"
646 | "Exclude" = "11:FALSE"
647 | "IsDependency" = "11:FALSE"
648 | "IsolateTo" = "8:"
649 | }
650 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F47376EEFDF745C7A3923C692B319A0A"
651 | {
652 | "SourcePath" = "8:..\\BuildCustomizations\\glsl.xml"
653 | "TargetName" = "8:glsl.xml"
654 | "Tag" = "8:"
655 | "Folder" = "8:_CEA6FECD97C343409A43835A25796A7F"
656 | "Condition" = "8:"
657 | "Transitive" = "11:FALSE"
658 | "Vital" = "11:TRUE"
659 | "ReadOnly" = "11:FALSE"
660 | "Hidden" = "11:FALSE"
661 | "System" = "11:FALSE"
662 | "Permanent" = "11:FALSE"
663 | "SharedLegacy" = "11:FALSE"
664 | "PackageAs" = "3:1"
665 | "Register" = "3:1"
666 | "Exclude" = "11:FALSE"
667 | "IsDependency" = "11:FALSE"
668 | "IsolateTo" = "8:"
669 | }
670 | "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F4C9E9F55FF746F8AC82D0101C1C60FA"
671 | {
672 | "SourcePath" = "8:..\\stripcomments\\bin\\stripcomments.exe"
673 | "TargetName" = "8:stripcomments.exe"
674 | "Tag" = "8:"
675 | "Folder" = "8:_0570FDAD01A647F9BCDE7CC7833888F3"
676 | "Condition" = "8:"
677 | "Transitive" = "11:FALSE"
678 | "Vital" = "11:TRUE"
679 | "ReadOnly" = "11:FALSE"
680 | "Hidden" = "11:FALSE"
681 | "System" = "11:FALSE"
682 | "Permanent" = "11:FALSE"
683 | "SharedLegacy" = "11:FALSE"
684 | "PackageAs" = "3:1"
685 | "Register" = "3:1"
686 | "Exclude" = "11:FALSE"
687 | "IsDependency" = "11:FALSE"
688 | "IsolateTo" = "8:"
689 | }
690 | }
691 | "FileType"
692 | {
693 | }
694 | "Folder"
695 | {
696 | "{1525181F-901A-416C-8A58-119130FE478E}:_27D289C7006C424BA2A6AC7F15FA42A3"
697 | {
698 | "Name" = "8:#1912"
699 | "AlwaysCreate" = "11:FALSE"
700 | "Condition" = "8:"
701 | "Transitive" = "11:FALSE"
702 | "Property" = "8:ProgramFilesFolder"
703 | "Folders"
704 | {
705 | "{9EF0B969-E518-4E46-987F-47570745A589}:_22BD74C3398B4F58AB7C34C6F8A6E3B2"
706 | {
707 | "Name" = "8:Microsoft Visual Studio 9.0"
708 | "AlwaysCreate" = "11:FALSE"
709 | "Condition" = "8:"
710 | "Transitive" = "11:FALSE"
711 | "Property" = "8:_70E264419DC4420C93B70893A00EB098"
712 | "Folders"
713 | {
714 | "{9EF0B969-E518-4E46-987F-47570745A589}:_6A35E99F7E894B2E9EA712E0EB33F458"
715 | {
716 | "Name" = "8:VC"
717 | "AlwaysCreate" = "11:FALSE"
718 | "Condition" = "8:"
719 | "Transitive" = "11:FALSE"
720 | "Property" = "8:_61F970D635D340D193EAA1EE8C7BAEED"
721 | "Folders"
722 | {
723 | "{9EF0B969-E518-4E46-987F-47570745A589}:_7B089E638AA041439E87404C662E4D45"
724 | {
725 | "Name" = "8:bin"
726 | "AlwaysCreate" = "11:FALSE"
727 | "Condition" = "8:"
728 | "Transitive" = "11:FALSE"
729 | "Property" = "8:_C1195EC5514145F8890DB526332F5758"
730 | "Folders"
731 | {
732 | }
733 | }
734 | "{9EF0B969-E518-4E46-987F-47570745A589}:_EB9CE7CC176F402AA356C6818455E808"
735 | {
736 | "Name" = "8:VCProjectDefaults"
737 | "AlwaysCreate" = "11:FALSE"
738 | "Condition" = "8:"
739 | "Transitive" = "11:FALSE"
740 | "Property" = "8:_DD02014CA13349288E575BF36318C4A3"
741 | "Folders"
742 | {
743 | }
744 | }
745 | }
746 | }
747 | }
748 | }
749 | "{9EF0B969-E518-4E46-987F-47570745A589}:_396AD06E2E504DC9B2EA21C30199775B"
750 | {
751 | "Name" = "8:Microsoft Visual Studio 8"
752 | "AlwaysCreate" = "11:FALSE"
753 | "Condition" = "8:"
754 | "Transitive" = "11:FALSE"
755 | "Property" = "8:_52F424D3B0514EA1AE392E431AD4BB0F"
756 | "Folders"
757 | {
758 | "{9EF0B969-E518-4E46-987F-47570745A589}:_0FA962959C004C559AC22EF2291432DF"
759 | {
760 | "Name" = "8:VC"
761 | "AlwaysCreate" = "11:FALSE"
762 | "Condition" = "8:"
763 | "Transitive" = "11:FALSE"
764 | "Property" = "8:_B042986B15A34863B79EC9E2BF5BF015"
765 | "Folders"
766 | {
767 | "{9EF0B969-E518-4E46-987F-47570745A589}:_2A21D7AAF0AB4C5086D8C07F50143E34"
768 | {
769 | "Name" = "8:VCProjectDefaults"
770 | "AlwaysCreate" = "11:FALSE"
771 | "Condition" = "8:"
772 | "Transitive" = "11:FALSE"
773 | "Property" = "8:_C5DA5155E7954B5C97AFCD86778C333F"
774 | "Folders"
775 | {
776 | }
777 | }
778 | "{9EF0B969-E518-4E46-987F-47570745A589}:_B10D0E314CD5425B9675D97DF596C396"
779 | {
780 | "Name" = "8:bin"
781 | "AlwaysCreate" = "11:FALSE"
782 | "Condition" = "8:"
783 | "Transitive" = "11:FALSE"
784 | "Property" = "8:_A242DA1641084A8BAC9E45A744361849"
785 | "Folders"
786 | {
787 | }
788 | }
789 | }
790 | }
791 | }
792 | }
793 | "{9EF0B969-E518-4E46-987F-47570745A589}:_E70CFD2797DC4A709787BBD3B0A3EC74"
794 | {
795 | "Name" = "8:MSBuild"
796 | "AlwaysCreate" = "11:FALSE"
797 | "Condition" = "8:"
798 | "Transitive" = "11:FALSE"
799 | "Property" = "8:_73822E911DFB44FEB18B10FFBD4B7A41"
800 | "Folders"
801 | {
802 | "{9EF0B969-E518-4E46-987F-47570745A589}:_BA4881C04030417EAF6BF18F51DF47B8"
803 | {
804 | "Name" = "8:Microsoft.Cpp"
805 | "AlwaysCreate" = "11:FALSE"
806 | "Condition" = "8:"
807 | "Transitive" = "11:FALSE"
808 | "Property" = "8:_40AEC28E0CC545808E10EEBDA06ABBC0"
809 | "Folders"
810 | {
811 | "{9EF0B969-E518-4E46-987F-47570745A589}:_0570FDAD01A647F9BCDE7CC7833888F3"
812 | {
813 | "Name" = "8:v4.0"
814 | "AlwaysCreate" = "11:FALSE"
815 | "Condition" = "8:"
816 | "Transitive" = "11:FALSE"
817 | "Property" = "8:_0744B8C98AEC4E549CB23DDD0F1D52DA"
818 | "Folders"
819 | {
820 | "{9EF0B969-E518-4E46-987F-47570745A589}:_0ADF7AA71AFD43688596D44C0B5DB582"
821 | {
822 | "Name" = "8:BuildCustomizations"
823 | "AlwaysCreate" = "11:FALSE"
824 | "Condition" = "8:"
825 | "Transitive" = "11:FALSE"
826 | "Property" = "8:_5EC2EC096DFC4CA18820978B6076C426"
827 | "Folders"
828 | {
829 | }
830 | }
831 | "{9EF0B969-E518-4E46-987F-47570745A589}:_5AA32538DAB044AAA5A3D33FAD0D94FF"
832 | {
833 | "Name" = "8:x64"
834 | "AlwaysCreate" = "11:FALSE"
835 | "Condition" = "8:"
836 | "Transitive" = "11:FALSE"
837 | "Property" = "8:_F52392FBAE91456FB65DEAD5E3B230F0"
838 | "Folders"
839 | {
840 | }
841 | }
842 | "{9EF0B969-E518-4E46-987F-47570745A589}:_7787301E452A419E9D70F13D2B192CFE"
843 | {
844 | "Name" = "8:V120"
845 | "AlwaysCreate" = "11:FALSE"
846 | "Condition" = "8:"
847 | "Transitive" = "11:FALSE"
848 | "Property" = "8:_DF11BE322787467888CF22F7D43F4B82"
849 | "Folders"
850 | {
851 | "{9EF0B969-E518-4E46-987F-47570745A589}:_6A6B547AD66742CAB20E8A7A07EA3C37"
852 | {
853 | "Name" = "8:x64"
854 | "AlwaysCreate" = "11:FALSE"
855 | "Condition" = "8:"
856 | "Transitive" = "11:FALSE"
857 | "Property" = "8:_64A2EF37EC4242858CFF7EABB5E2802B"
858 | "Folders"
859 | {
860 | }
861 | }
862 | "{9EF0B969-E518-4E46-987F-47570745A589}:_FEB59A038B1648249F5A3B34C9FE2DDD"
863 | {
864 | "Name" = "8:BuildCustomizations"
865 | "AlwaysCreate" = "11:FALSE"
866 | "Condition" = "8:"
867 | "Transitive" = "11:FALSE"
868 | "Property" = "8:_578FEB2AEFA54E7A91A473034D14003A"
869 | "Folders"
870 | {
871 | }
872 | }
873 | }
874 | }
875 | "{9EF0B969-E518-4E46-987F-47570745A589}:_97E6D48FB390432E81C64E53E3B6EE27"
876 | {
877 | "Name" = "8:V110"
878 | "AlwaysCreate" = "11:FALSE"
879 | "Condition" = "8:"
880 | "Transitive" = "11:FALSE"
881 | "Property" = "8:_2C7F7A304631466CB17266FEEC6282AC"
882 | "Folders"
883 | {
884 | "{9EF0B969-E518-4E46-987F-47570745A589}:_CEA6FECD97C343409A43835A25796A7F"
885 | {
886 | "Name" = "8:BuildCustomizations"
887 | "AlwaysCreate" = "11:FALSE"
888 | "Condition" = "8:"
889 | "Transitive" = "11:FALSE"
890 | "Property" = "8:_CB13F3BB5FF54E609C4B3477BAB9879A"
891 | "Folders"
892 | {
893 | }
894 | }
895 | "{9EF0B969-E518-4E46-987F-47570745A589}:_EB3F9FCCD0A542D894F48E089A85D628"
896 | {
897 | "Name" = "8:x64"
898 | "AlwaysCreate" = "11:FALSE"
899 | "Condition" = "8:"
900 | "Transitive" = "11:FALSE"
901 | "Property" = "8:_89DC057F62264BC0AC5E28A9254454F4"
902 | "Folders"
903 | {
904 | }
905 | }
906 | }
907 | }
908 | "{9EF0B969-E518-4E46-987F-47570745A589}:_D4BBF3FF07304D59963D6617004D6C46"
909 | {
910 | "Name" = "8:V140"
911 | "AlwaysCreate" = "11:FALSE"
912 | "Condition" = "8:"
913 | "Transitive" = "11:FALSE"
914 | "Property" = "8:_EB299833201C4E42AE9852612C75A64A"
915 | "Folders"
916 | {
917 | "{9EF0B969-E518-4E46-987F-47570745A589}:_4D7FEFF8EE9C473AA5F0B863F45AA38E"
918 | {
919 | "Name" = "8:x64"
920 | "AlwaysCreate" = "11:FALSE"
921 | "Condition" = "8:"
922 | "Transitive" = "11:FALSE"
923 | "Property" = "8:_965D4C526E3F4ED4BD860093D8F6EB52"
924 | "Folders"
925 | {
926 | }
927 | }
928 | "{9EF0B969-E518-4E46-987F-47570745A589}:_FDA6FA1DA5994F3D9DD24BCBA092EEC3"
929 | {
930 | "Name" = "8:BuildCustomizations"
931 | "AlwaysCreate" = "11:FALSE"
932 | "Condition" = "8:"
933 | "Transitive" = "11:FALSE"
934 | "Property" = "8:_646D40A0D4D54165AADA4C0B8E910020"
935 | "Folders"
936 | {
937 | }
938 | }
939 | }
940 | }
941 | }
942 | }
943 | }
944 | }
945 | }
946 | }
947 | }
948 | }
949 | "{3C67513D-01DD-4637-8A68-80971EB9504F}:_7AE79F2088E24EAE9C7412DAFEBECE47"
950 | {
951 | "DefaultLocation" = "8:[ProgramFilesFolder]MSBuild\\Microsoft.Cpp\\v4.0\\BuildCustomizations"
952 | "Name" = "8:#1925"
953 | "AlwaysCreate" = "11:FALSE"
954 | "Condition" = "8:"
955 | "Transitive" = "11:FALSE"
956 | "Property" = "8:TARGETDIR"
957 | "Folders"
958 | {
959 | }
960 | }
961 | }
962 | "LaunchCondition"
963 | {
964 | }
965 | "Locator"
966 | {
967 | }
968 | "MsiBootstrapper"
969 | {
970 | "LangId" = "3:1033"
971 | "RequiresElevation" = "11:FALSE"
972 | }
973 | "Product"
974 | {
975 | "Name" = "8:Microsoft Visual Studio"
976 | "ProductName" = "8:GLSL Visual Studio 2005-2015 Integration"
977 | "ProductCode" = "8:{0F45B2BC-5541-4BB9-8E6A-DBCDC275B15F}"
978 | "PackageCode" = "8:{EB7E0460-B3B3-4DF7-A906-D203337F7F65}"
979 | "UpgradeCode" = "8:{E8C73CA4-AEC1-4492-A500-52A32AD0B975}"
980 | "AspNetVersion" = "8:4.0.30319.0"
981 | "RestartWWWService" = "11:FALSE"
982 | "RemovePreviousVersions" = "11:TRUE"
983 | "DetectNewerInstalledVersion" = "11:TRUE"
984 | "InstallAllUsers" = "11:TRUE"
985 | "ProductVersion" = "8:1.0.4"
986 | "Manufacturer" = "8:Rebecca Ann Heineman"
987 | "ARPHELPTELEPHONE" = "8:"
988 | "ARPHELPLINK" = "8:"
989 | "Title" = "8:GLSL Visual Studio 2005-2015 Integration"
990 | "Subject" = "8:"
991 | "ARPCONTACT" = "8:Rebecca Ann Heineman"
992 | "Keywords" = "8:"
993 | "ARPCOMMENTS" = "8:GLSL Visual Studio 2005-2015 Integration"
994 | "ARPURLINFOABOUT" = "8:http://www.burgerbecky.com"
995 | "ARPPRODUCTICON" = "8:"
996 | "ARPIconIndex" = "3:0"
997 | "SearchPath" = "8:"
998 | "UseSystemSearchPath" = "11:TRUE"
999 | "TargetPlatform" = "3:0"
1000 | "PreBuildEvent" = "8:"
1001 | "PostBuildEvent" = "8:"
1002 | "RunPostBuildEvent" = "3:0"
1003 | }
1004 | "Registry"
1005 | {
1006 | "HKLM"
1007 | {
1008 | "Keys"
1009 | {
1010 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2176469405984DB7B621CCBD85802882"
1011 | {
1012 | "Name" = "8:Software"
1013 | "Condition" = "8:"
1014 | "AlwaysCreate" = "11:FALSE"
1015 | "DeleteAtUninstall" = "11:FALSE"
1016 | "Transitive" = "11:FALSE"
1017 | "Keys"
1018 | {
1019 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E7CC758429A3454F8036C1D5C9C492C1"
1020 | {
1021 | "Name" = "8:[Manufacturer]"
1022 | "Condition" = "8:"
1023 | "AlwaysCreate" = "11:FALSE"
1024 | "DeleteAtUninstall" = "11:FALSE"
1025 | "Transitive" = "11:FALSE"
1026 | "Keys"
1027 | {
1028 | }
1029 | "Values"
1030 | {
1031 | }
1032 | }
1033 | }
1034 | "Values"
1035 | {
1036 | }
1037 | }
1038 | }
1039 | }
1040 | "HKCU"
1041 | {
1042 | "Keys"
1043 | {
1044 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_87FDC8D25A194BD19AB9694830F83573"
1045 | {
1046 | "Name" = "8:Software"
1047 | "Condition" = "8:"
1048 | "AlwaysCreate" = "11:FALSE"
1049 | "DeleteAtUninstall" = "11:FALSE"
1050 | "Transitive" = "11:FALSE"
1051 | "Keys"
1052 | {
1053 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_87272DB5D8204598961B0A9B38FC70CD"
1054 | {
1055 | "Name" = "8:[Manufacturer]"
1056 | "Condition" = "8:"
1057 | "AlwaysCreate" = "11:FALSE"
1058 | "DeleteAtUninstall" = "11:FALSE"
1059 | "Transitive" = "11:FALSE"
1060 | "Keys"
1061 | {
1062 | }
1063 | "Values"
1064 | {
1065 | }
1066 | }
1067 | }
1068 | "Values"
1069 | {
1070 | }
1071 | }
1072 | }
1073 | }
1074 | "HKCR"
1075 | {
1076 | "Keys"
1077 | {
1078 | }
1079 | }
1080 | "HKU"
1081 | {
1082 | "Keys"
1083 | {
1084 | }
1085 | }
1086 | "HKPU"
1087 | {
1088 | "Keys"
1089 | {
1090 | }
1091 | }
1092 | }
1093 | "Sequences"
1094 | {
1095 | }
1096 | "Shortcut"
1097 | {
1098 | }
1099 | "UserInterface"
1100 | {
1101 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_3081B32F2CC3423C9176EA0103E19917"
1102 | {
1103 | "Name" = "8:#1901"
1104 | "Sequence" = "3:2"
1105 | "Attributes" = "3:2"
1106 | "Dialogs"
1107 | {
1108 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3C76050F6EF6479885DF06AE7C9B18AB"
1109 | {
1110 | "Sequence" = "3:100"
1111 | "DisplayName" = "8:Progress"
1112 | "UseDynamicProperties" = "11:TRUE"
1113 | "IsDependency" = "11:FALSE"
1114 | "SourcePath" = "8:\\VsdAdminProgressDlg.wid"
1115 | "Properties"
1116 | {
1117 | "BannerBitmap"
1118 | {
1119 | "Name" = "8:BannerBitmap"
1120 | "DisplayName" = "8:#1001"
1121 | "Description" = "8:#1101"
1122 | "Type" = "3:8"
1123 | "ContextData" = "8:Bitmap"
1124 | "Attributes" = "3:4"
1125 | "Setting" = "3:1"
1126 | "UsePlugInResources" = "11:TRUE"
1127 | }
1128 | "ShowProgress"
1129 | {
1130 | "Name" = "8:ShowProgress"
1131 | "DisplayName" = "8:#1009"
1132 | "Description" = "8:#1109"
1133 | "Type" = "3:5"
1134 | "ContextData" = "8:1;True=1;False=0"
1135 | "Attributes" = "3:0"
1136 | "Setting" = "3:0"
1137 | "Value" = "3:1"
1138 | "DefaultValue" = "3:1"
1139 | "UsePlugInResources" = "11:TRUE"
1140 | }
1141 | }
1142 | }
1143 | }
1144 | }
1145 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_3B1FAD5F4EB547BA82356618EA3FC464"
1146 | {
1147 | "Name" = "8:#1901"
1148 | "Sequence" = "3:1"
1149 | "Attributes" = "3:2"
1150 | "Dialogs"
1151 | {
1152 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E9BC8076816841B0BC64C3FE4CE09968"
1153 | {
1154 | "Sequence" = "3:100"
1155 | "DisplayName" = "8:Progress"
1156 | "UseDynamicProperties" = "11:TRUE"
1157 | "IsDependency" = "11:FALSE"
1158 | "SourcePath" = "8:\\VsdProgressDlg.wid"
1159 | "Properties"
1160 | {
1161 | "BannerBitmap"
1162 | {
1163 | "Name" = "8:BannerBitmap"
1164 | "DisplayName" = "8:#1001"
1165 | "Description" = "8:#1101"
1166 | "Type" = "3:8"
1167 | "ContextData" = "8:Bitmap"
1168 | "Attributes" = "3:4"
1169 | "Setting" = "3:1"
1170 | "UsePlugInResources" = "11:TRUE"
1171 | }
1172 | "ShowProgress"
1173 | {
1174 | "Name" = "8:ShowProgress"
1175 | "DisplayName" = "8:#1009"
1176 | "Description" = "8:#1109"
1177 | "Type" = "3:5"
1178 | "ContextData" = "8:1;True=1;False=0"
1179 | "Attributes" = "3:0"
1180 | "Setting" = "3:0"
1181 | "Value" = "3:1"
1182 | "DefaultValue" = "3:1"
1183 | "UsePlugInResources" = "11:TRUE"
1184 | }
1185 | }
1186 | }
1187 | }
1188 | }
1189 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_483B496DDD0447BBB7BCEF8B41C915F7"
1190 | {
1191 | "Name" = "8:#1900"
1192 | "Sequence" = "3:2"
1193 | "Attributes" = "3:1"
1194 | "Dialogs"
1195 | {
1196 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4E5785C81E4C47D2A0B0BDF5B3379304"
1197 | {
1198 | "Sequence" = "3:300"
1199 | "DisplayName" = "8:Confirm Installation"
1200 | "UseDynamicProperties" = "11:TRUE"
1201 | "IsDependency" = "11:FALSE"
1202 | "SourcePath" = "8:\\VsdAdminConfirmDlg.wid"
1203 | "Properties"
1204 | {
1205 | "BannerBitmap"
1206 | {
1207 | "Name" = "8:BannerBitmap"
1208 | "DisplayName" = "8:#1001"
1209 | "Description" = "8:#1101"
1210 | "Type" = "3:8"
1211 | "ContextData" = "8:Bitmap"
1212 | "Attributes" = "3:4"
1213 | "Setting" = "3:1"
1214 | "UsePlugInResources" = "11:TRUE"
1215 | }
1216 | }
1217 | }
1218 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_B32D748A9EE649F59AAB5F5918167447"
1219 | {
1220 | "Sequence" = "3:100"
1221 | "DisplayName" = "8:Welcome"
1222 | "UseDynamicProperties" = "11:TRUE"
1223 | "IsDependency" = "11:FALSE"
1224 | "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid"
1225 | "Properties"
1226 | {
1227 | "BannerBitmap"
1228 | {
1229 | "Name" = "8:BannerBitmap"
1230 | "DisplayName" = "8:#1001"
1231 | "Description" = "8:#1101"
1232 | "Type" = "3:8"
1233 | "ContextData" = "8:Bitmap"
1234 | "Attributes" = "3:4"
1235 | "Setting" = "3:1"
1236 | "UsePlugInResources" = "11:TRUE"
1237 | }
1238 | "CopyrightWarning"
1239 | {
1240 | "Name" = "8:CopyrightWarning"
1241 | "DisplayName" = "8:#1002"
1242 | "Description" = "8:#1102"
1243 | "Type" = "3:3"
1244 | "ContextData" = "8:"
1245 | "Attributes" = "3:0"
1246 | "Setting" = "3:1"
1247 | "Value" = "8:#1202"
1248 | "DefaultValue" = "8:#1202"
1249 | "UsePlugInResources" = "11:TRUE"
1250 | }
1251 | "Welcome"
1252 | {
1253 | "Name" = "8:Welcome"
1254 | "DisplayName" = "8:#1003"
1255 | "Description" = "8:#1103"
1256 | "Type" = "3:3"
1257 | "ContextData" = "8:"
1258 | "Attributes" = "3:0"
1259 | "Setting" = "3:1"
1260 | "Value" = "8:#1203"
1261 | "DefaultValue" = "8:#1203"
1262 | "UsePlugInResources" = "11:TRUE"
1263 | }
1264 | }
1265 | }
1266 | }
1267 | }
1268 | "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_54320339A5354925982A93DCDB4C16E9"
1269 | {
1270 | "UseDynamicProperties" = "11:FALSE"
1271 | "IsDependency" = "11:FALSE"
1272 | "SourcePath" = "8:\\VsdBasicDialogs.wim"
1273 | }
1274 | "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_7B20DB3C2E2748FA8194400604156853"
1275 | {
1276 | "UseDynamicProperties" = "11:FALSE"
1277 | "IsDependency" = "11:FALSE"
1278 | "SourcePath" = "8:\\VsdUserInterface.wim"
1279 | }
1280 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_C94CA0A371B647009077836DF4F5D888"
1281 | {
1282 | "Name" = "8:#1900"
1283 | "Sequence" = "3:1"
1284 | "Attributes" = "3:1"
1285 | "Dialogs"
1286 | {
1287 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_55FF30AA958E41DEA23D3578DDD25494"
1288 | {
1289 | "Sequence" = "3:100"
1290 | "DisplayName" = "8:Welcome"
1291 | "UseDynamicProperties" = "11:TRUE"
1292 | "IsDependency" = "11:FALSE"
1293 | "SourcePath" = "8:\\VsdWelcomeDlg.wid"
1294 | "Properties"
1295 | {
1296 | "BannerBitmap"
1297 | {
1298 | "Name" = "8:BannerBitmap"
1299 | "DisplayName" = "8:#1001"
1300 | "Description" = "8:#1101"
1301 | "Type" = "3:8"
1302 | "ContextData" = "8:Bitmap"
1303 | "Attributes" = "3:4"
1304 | "Setting" = "3:1"
1305 | "UsePlugInResources" = "11:TRUE"
1306 | }
1307 | "CopyrightWarning"
1308 | {
1309 | "Name" = "8:CopyrightWarning"
1310 | "DisplayName" = "8:#1002"
1311 | "Description" = "8:#1102"
1312 | "Type" = "3:3"
1313 | "ContextData" = "8:"
1314 | "Attributes" = "3:0"
1315 | "Setting" = "3:1"
1316 | "Value" = "8:#1202"
1317 | "DefaultValue" = "8:#1202"
1318 | "UsePlugInResources" = "11:TRUE"
1319 | }
1320 | "Welcome"
1321 | {
1322 | "Name" = "8:Welcome"
1323 | "DisplayName" = "8:#1003"
1324 | "Description" = "8:#1103"
1325 | "Type" = "3:3"
1326 | "ContextData" = "8:"
1327 | "Attributes" = "3:0"
1328 | "Setting" = "3:1"
1329 | "Value" = "8:#1203"
1330 | "DefaultValue" = "8:#1203"
1331 | "UsePlugInResources" = "11:TRUE"
1332 | }
1333 | }
1334 | }
1335 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_640741B906B447D09B4D56FF92262018"
1336 | {
1337 | "Sequence" = "3:300"
1338 | "DisplayName" = "8:Confirm Installation"
1339 | "UseDynamicProperties" = "11:TRUE"
1340 | "IsDependency" = "11:FALSE"
1341 | "SourcePath" = "8:\\VsdConfirmDlg.wid"
1342 | "Properties"
1343 | {
1344 | "BannerBitmap"
1345 | {
1346 | "Name" = "8:BannerBitmap"
1347 | "DisplayName" = "8:#1001"
1348 | "Description" = "8:#1101"
1349 | "Type" = "3:8"
1350 | "ContextData" = "8:Bitmap"
1351 | "Attributes" = "3:4"
1352 | "Setting" = "3:1"
1353 | "UsePlugInResources" = "11:TRUE"
1354 | }
1355 | }
1356 | }
1357 | }
1358 | }
1359 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_E73218824A54420DA99885B4B442E457"
1360 | {
1361 | "Name" = "8:#1902"
1362 | "Sequence" = "3:1"
1363 | "Attributes" = "3:3"
1364 | "Dialogs"
1365 | {
1366 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_40EF84483B2149819D3FC0FF011AA176"
1367 | {
1368 | "Sequence" = "3:100"
1369 | "DisplayName" = "8:Finished"
1370 | "UseDynamicProperties" = "11:TRUE"
1371 | "IsDependency" = "11:FALSE"
1372 | "SourcePath" = "8:\\VsdFinishedDlg.wid"
1373 | "Properties"
1374 | {
1375 | "BannerBitmap"
1376 | {
1377 | "Name" = "8:BannerBitmap"
1378 | "DisplayName" = "8:#1001"
1379 | "Description" = "8:#1101"
1380 | "Type" = "3:8"
1381 | "ContextData" = "8:Bitmap"
1382 | "Attributes" = "3:4"
1383 | "Setting" = "3:1"
1384 | "UsePlugInResources" = "11:TRUE"
1385 | }
1386 | "UpdateText"
1387 | {
1388 | "Name" = "8:UpdateText"
1389 | "DisplayName" = "8:#1058"
1390 | "Description" = "8:#1158"
1391 | "Type" = "3:15"
1392 | "ContextData" = "8:"
1393 | "Attributes" = "3:0"
1394 | "Setting" = "3:1"
1395 | "Value" = "8:#1258"
1396 | "DefaultValue" = "8:#1258"
1397 | "UsePlugInResources" = "11:TRUE"
1398 | }
1399 | }
1400 | }
1401 | }
1402 | }
1403 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F10EC4CCD0304814846F9645BE608115"
1404 | {
1405 | "Name" = "8:#1902"
1406 | "Sequence" = "3:2"
1407 | "Attributes" = "3:3"
1408 | "Dialogs"
1409 | {
1410 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_BD475A9126D04D8AB7E2186E408E4883"
1411 | {
1412 | "Sequence" = "3:100"
1413 | "DisplayName" = "8:Finished"
1414 | "UseDynamicProperties" = "11:TRUE"
1415 | "IsDependency" = "11:FALSE"
1416 | "SourcePath" = "8:\\VsdAdminFinishedDlg.wid"
1417 | "Properties"
1418 | {
1419 | "BannerBitmap"
1420 | {
1421 | "Name" = "8:BannerBitmap"
1422 | "DisplayName" = "8:#1001"
1423 | "Description" = "8:#1101"
1424 | "Type" = "3:8"
1425 | "ContextData" = "8:Bitmap"
1426 | "Attributes" = "3:4"
1427 | "Setting" = "3:1"
1428 | "UsePlugInResources" = "11:TRUE"
1429 | }
1430 | }
1431 | }
1432 | }
1433 | }
1434 | }
1435 | "MergeModule"
1436 | {
1437 | }
1438 | "ProjectOutput"
1439 | {
1440 | }
1441 | }
1442 | }
1443 |
--------------------------------------------------------------------------------
/stripcomments/build_rules.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding: utf-8 -*-
3 |
4 | """
5 | Copy up the glsl visual studio plug in to sdks/visualstudio
6 |
7 | Copyright 1995-2022 by Rebecca Ann Heineman becky@burgerbecky.com
8 |
9 | It is released under an MIT Open Source license. Please see LICENSE
10 | for license details. Yes, you can use it in a
11 | commercial title without paying anything, just give me a credit.
12 | Please? It's not like I'm asking you for money!
13 | """
14 |
15 | from __future__ import absolute_import, unicode_literals
16 |
17 | import os
18 | import sys
19 | from burger import copy_file_if_needed
20 |
21 | # pylint: disable=unused-argument
22 |
23 | # ``cleanme`` will assume only the function ``clean()`` is used if True.
24 | CLEANME_PROCESS_PROJECT_FILES = False
25 |
26 | # Process ``build_rules.py`` in the parent folder if True.
27 | CONTINUE = True
28 |
29 | ########################################
30 |
31 |
32 | def postbuild(working_directory, configuration):
33 | """
34 | Issue build commands after all IDE projects have been built.
35 |
36 | This function can assume all other build projects have executed for final
37 | deployment or cleanup
38 |
39 | On exit, return 0 for no error, or a non zero error code if there was an
40 | error to report.
41 |
42 | Args:
43 | working_directory
44 | Directory this script resides in.
45 |
46 | configuration
47 | Configuration to build, ``all`` if no configuration was requested.
48 |
49 | Returns:
50 | None if not implemented, otherwise an integer error code.
51 | """
52 |
53 | # The packaging projects require the executables to be called
54 | # stripcomments.exe for x86 and stripcomments64.exe for x64
55 |
56 | # After the binaries are built, copy them if needed with their
57 | # new names
58 |
59 | source_dir = os.path.join(working_directory, 'bin')
60 | source = os.path.join(source_dir, 'stripcommentsv22w32ltc.exe')
61 | destination = os.path.join(source_dir, 'stripcomments.exe')
62 | error = copy_file_if_needed(source, destination)
63 | if error:
64 | return error
65 |
66 | source = os.path.join(source_dir, 'stripcommentsv22w64ltc.exe')
67 | destination = os.path.join(source_dir, 'stripcomments64.exe')
68 | error = copy_file_if_needed(source, destination)
69 |
70 | return error
71 |
72 |
73 | # If called as a command line and not a class, perform the build
74 | if __name__ == "__main__":
75 | sys.exit(postbuild(os.path.dirname(os.path.abspath(__file__)), 'all'))
76 |
--------------------------------------------------------------------------------
/stripcomments/source/stripcomments.cpp:
--------------------------------------------------------------------------------
1 | /***************************************
2 |
3 | Simple utility to strip all C++ style comments from a text file and output
4 | it into a C++ include file. Used mostly for converting GLSL files into
5 | source that can be directly linked into an OpenGL program.
6 |
7 | Copyright (c) 1995-2022 by Rebecca Ann Heineman
8 |
9 | It is released under an MIT Open Source license. Please see LICENSE for
10 | license details. Yes, you can use it in a commercial title without paying
11 | anything, just give me a credit.
12 |
13 | Please? It's not like I'm asking you for money!
14 |
15 | ***************************************/
16 |
17 | #include "stripcomments.h"
18 |
19 | using namespace Burger;
20 |
21 | static const char g_GenerationHeader[] =
22 | "/***************************************\n"
23 | "\n"
24 | " This file was generated by the\n"
25 | " stripcomments tool\n"
26 | "\n"
27 | "***************************************/\n"
28 | "\n";
29 |
30 | /***************************************
31 |
32 | By using a simple state machine, parse the text as if it's a C++ file and
33 | remove all empty lines, whitespace and comments.
34 |
35 | ***************************************/
36 |
37 | void BURGER_API StripComments(
38 | OutputMemoryStream* pOutput, const char* pInput, uintptr_t uLength)
39 | {
40 | enum eState {
41 | REMOVING_WHITESPACE,
42 | AFTER_TOKEN,
43 | INSIDE_QUOTE,
44 | ALLOW_TEXT,
45 | ASTERISK_COMMENT,
46 | SLASH_COMMENT
47 | };
48 |
49 | if (uLength) {
50 | // Not in an active quote
51 | uint_t uQuoteCharacter = 0;
52 | // Remove whitespace from the start of a line
53 | eState eCurrentState = REMOVING_WHITESPACE;
54 | eState eOldAsteriskState = REMOVING_WHITESPACE;
55 | uint_t uCharacter;
56 | do {
57 | // Pull out a character
58 | uCharacter = reinterpret_cast(pInput)[0];
59 | --uLength;
60 | ++pInput;
61 | // Process according to the current state
62 | switch (eCurrentState) {
63 |
64 | // Dispose of all whitespace, until text appears, then
65 | // fall through to normal text parsing
66 | case REMOVING_WHITESPACE:
67 | if ((uCharacter == ' ') || (uCharacter == '\t') ||
68 | (uCharacter == '\r') || (uCharacter == '\n')) {
69 | break;
70 | }
71 | if ((uCharacter == '/') && (uLength)) {
72 | if (reinterpret_cast(pInput)[0] == '/') {
73 | --uLength;
74 | ++pInput;
75 | eCurrentState = SLASH_COMMENT;
76 | break;
77 | }
78 | if (reinterpret_cast(pInput)[0] == '*') {
79 | ++pInput;
80 | --uLength;
81 | eCurrentState = ASTERISK_COMMENT;
82 | eOldAsteriskState = REMOVING_WHITESPACE;
83 | break;
84 | }
85 | }
86 | eCurrentState = ALLOW_TEXT;
87 |
88 | // Handle normal text processing until a token end is reached
89 | case ALLOW_TEXT:
90 | // Entering a quote?
91 | if ((uCharacter == '\'') || (uCharacter == '"')) {
92 | uQuoteCharacter = uCharacter;
93 | eCurrentState = INSIDE_QUOTE;
94 | pOutput->Append(static_cast(uCharacter));
95 | break;
96 | }
97 | // Is this an escape sequence?
98 | if (uCharacter == '\\') {
99 | if (uLength) {
100 | pOutput->Append('\\');
101 | uCharacter =
102 | reinterpret_cast(pInput)[0];
103 | --uLength;
104 | ++pInput;
105 | }
106 | }
107 | // In between tokens
108 | if ((uCharacter == ' ') || (uCharacter == '\t')) {
109 | eCurrentState = AFTER_TOKEN;
110 | break;
111 | }
112 | // Is this an end of line?
113 | if (uCharacter == '\r') {
114 | if (uLength &&
115 | reinterpret_cast(pInput)[0] == '\n') {
116 | ++pInput;
117 | --uLength;
118 | }
119 | uCharacter = '\n';
120 | }
121 | if (uCharacter == '\n') {
122 | pOutput->Append('\n');
123 | eCurrentState = REMOVING_WHITESPACE;
124 | break;
125 | }
126 | if (uCharacter == '/') {
127 | if (uLength) {
128 | if (reinterpret_cast(pInput)[0] ==
129 | '/') {
130 | ++pInput;
131 | --uLength;
132 | eCurrentState = SLASH_COMMENT;
133 | pOutput->Append('\n');
134 | break;
135 | }
136 | if (reinterpret_cast(pInput)[0] ==
137 | '*') {
138 | ++pInput;
139 | --uLength;
140 | eCurrentState = ASTERISK_COMMENT;
141 | eOldAsteriskState = ALLOW_TEXT;
142 | break;
143 | }
144 | }
145 | }
146 | pOutput->Append(static_cast(uCharacter));
147 | break;
148 |
149 | // After a parsed token, and removing whitespace, but will
150 | // insert a space if another token is found
151 | case AFTER_TOKEN:
152 | if ((uCharacter == ' ') || (uCharacter == '\t')) {
153 | break;
154 | }
155 | if ((uCharacter == '\r') || (uCharacter == '\n')) {
156 | pOutput->Append('\n');
157 | eCurrentState = REMOVING_WHITESPACE;
158 | break;
159 | }
160 | if ((uCharacter == '/') && (uLength)) {
161 | if (reinterpret_cast(pInput)[0] == '/') {
162 | --uLength;
163 | ++pInput;
164 | pOutput->Append('\n');
165 | eCurrentState = SLASH_COMMENT;
166 | break;
167 | }
168 | if (reinterpret_cast(pInput)[0] == '*') {
169 | ++pInput;
170 | --uLength;
171 | eCurrentState = ASTERISK_COMMENT;
172 | eOldAsteriskState = REMOVING_WHITESPACE;
173 | break;
174 | }
175 | }
176 | pOutput->Append(' ');
177 | pOutput->Append(static_cast(uCharacter));
178 | eCurrentState = ALLOW_TEXT;
179 | break;
180 |
181 | // Is inside a quote
182 | case INSIDE_QUOTE:
183 | // Exiting the quote?
184 | if (uCharacter == uQuoteCharacter) {
185 | eCurrentState = ALLOW_TEXT;
186 | }
187 | // Is this an escape sequence?
188 | if (uCharacter == '\\') {
189 | if (uLength) {
190 | pOutput->Append('\\');
191 | uCharacter =
192 | reinterpret_cast(pInput)[0];
193 | --uLength;
194 | ++pInput;
195 | }
196 | }
197 | // Is this an end of line?
198 | if (uCharacter == '\r') {
199 | if (uLength &&
200 | reinterpret_cast(pInput)[0] == '\n') {
201 | ++pInput;
202 | --uLength;
203 | }
204 | uCharacter = '\n';
205 | }
206 | // Output the quoted string
207 | pOutput->Append(static_cast(uCharacter));
208 | break;
209 |
210 | // Wait for a "*/" end quote stream
211 | case ASTERISK_COMMENT:
212 | if (uCharacter == '*') {
213 | if (uLength &&
214 | reinterpret_cast(pInput)[0] == '/') {
215 | ++pInput;
216 | --uLength;
217 | eCurrentState = eOldAsteriskState;
218 | }
219 | }
220 | break;
221 |
222 | // Parse to end of line for //
223 | case SLASH_COMMENT:
224 | // Is there a line continuation character?
225 | if (uCharacter == '\\') {
226 | // While supported by some compilers, this case
227 | // shouldn't be found in good source code. It's here only
228 | // for completeness and it really should issue an error
229 | // condition. Thankfully, visual studio issues a warning for
230 | // source containing this case
231 | if (uLength) {
232 | if (reinterpret_cast(pInput)[0] ==
233 | '\r') {
234 | ++pInput;
235 | --uLength;
236 | if (uLength &&
237 | reinterpret_cast(pInput)[0] ==
238 | '\n') {
239 | ++pInput;
240 | --uLength;
241 | }
242 | // Stay in the // comment mode
243 | break;
244 | }
245 |
246 | if (reinterpret_cast(pInput)[0] ==
247 | '\n') {
248 | ++pInput;
249 | --uLength;
250 | // Stay in the // comment mode
251 | break;
252 | }
253 | }
254 | // If it got here, it was a false alarm, discard the
255 | // character
256 | }
257 |
258 | // Time to stop discarding text?
259 | if (uCharacter == '\r') {
260 | if (uLength &&
261 | reinterpret_cast(pInput)[0] == '\n') {
262 | ++pInput;
263 | --uLength;
264 | }
265 | uCharacter = '\n';
266 | }
267 | if (uCharacter == '\n') {
268 | // Exit this mode, go back to whitespace removal
269 | eCurrentState = REMOVING_WHITESPACE;
270 | }
271 | break;
272 | }
273 | } while (uLength);
274 | }
275 | }
276 |
277 | /***************************************
278 |
279 | Simple utility to convert a shader source file into a header that can be
280 | included for direct compilation into an application.
281 |
282 | ***************************************/
283 |
284 | int BURGER_ANSIAPI main(int argc, const char** argv)
285 | {
286 | ConsoleApp MyApp(argc, argv);
287 |
288 | // Switches
289 |
290 | CommandParameterBooleanTrue CPP("Convert to C++ string", "c");
291 | CommandParameterString Label("Label override [-l g_ConstCharLabel]", "l");
292 |
293 | const CommandParameter* MyParms[] = {&CPP, &Label};
294 | argv = MyApp.GetArgv();
295 | argc = CommandParameter::Process(MyApp.GetArgc(), argv, MyParms,
296 | BURGER_ARRAYSIZE(MyParms),
297 | "Usage: stripcomments InputFile [Outputfile]\n\n"
298 | "This will strip C++ style comments from a source file.\n"
299 | "Copyright Rebecca Ann Heineman.\n",
300 | 3, 3);
301 | Globals::SetErrorCode(kErrorInvalidParameter);
302 | if (argc >= 0) {
303 | MyApp.SetArgc(argc);
304 | Filename InputFilename;
305 | InputFilename.SetFromNative(argv[1]);
306 | uintptr_t uLength;
307 | const char* pInputBuffer = static_cast(
308 | FileManager::LoadFile(&InputFilename, &uLength));
309 |
310 | if (!pInputBuffer) {
311 | printf("Can't open %s!", InputFilename.GetNative());
312 |
313 | } else {
314 | // Perform the strip
315 | OutputMemoryStream Output;
316 | StripComments(&Output, pInputBuffer, uLength);
317 | Free(pInputBuffer);
318 |
319 | Filename OutputFilename;
320 | OutputFilename.SetFromNative(argv[2]);
321 |
322 | // Convert to a source file?
323 |
324 | if (CPP.GetValue()) {
325 | pInputBuffer =
326 | static_cast(Output.Flatten(&uLength));
327 | Output.Clear();
328 |
329 | // Insert the header
330 | Output.Append(g_GenerationHeader);
331 |
332 | String BaseName;
333 | OutputFilename.get_basename(&BaseName);
334 | // Strip the extension
335 | char* pExtension =
336 | StringCharacterReverse(BaseName.c_str(), '.');
337 | if (pExtension) {
338 | pExtension[0] = 0;
339 | }
340 |
341 | Output.Append("const char ");
342 | const char* pLabel = Label.GetValue();
343 | if (pLabel[0]) {
344 | Output.Append(pLabel);
345 | } else {
346 | String TempLabel("g_", BaseName.c_str());
347 | Output.Append(TempLabel.c_str());
348 | }
349 | Output.Append("[] = ");
350 | if (!uLength) {
351 | Output.Append("\"\"");
352 | } else {
353 | const char* pWork = pInputBuffer;
354 | uint_t bQuoted = FALSE;
355 | do {
356 | if (!bQuoted) {
357 | Output.Append("\n\"");
358 | bQuoted = TRUE;
359 | }
360 | uint_t uTemp =
361 | reinterpret_cast(pWork)[0];
362 | ++pWork;
363 | --uLength;
364 | if (uTemp == '\r') {
365 | if (uLength &&
366 | reinterpret_cast(pWork)[0] ==
367 | '\n') {
368 | ++pWork;
369 | --uLength;
370 | }
371 | uTemp = '\n';
372 | }
373 | if (uTemp == '\n') {
374 | Output.Append("\\n\"");
375 | bQuoted = FALSE;
376 | continue;
377 | }
378 | if (uTemp == '\"') {
379 | Output.Append("\\\"");
380 | continue;
381 | }
382 | if (uTemp == '\\') {
383 | Output.Append("\\\\");
384 | continue;
385 | }
386 | Output.Append(static_cast(uTemp));
387 | } while (uLength);
388 | }
389 | Free(pInputBuffer);
390 | Output.Append(";\n\n");
391 | }
392 |
393 | // Save the text file to disk
394 |
395 | uint_t uResult = Output.SaveFile(&OutputFilename);
396 | if (uResult) {
397 | printf("Error in saving %s\n", OutputFilename.GetNative());
398 | }
399 | Globals::SetErrorCode(static_cast(uResult));
400 | }
401 | }
402 | return Globals::GetErrorCode();
403 | }
404 |
--------------------------------------------------------------------------------
/stripcomments/source/stripcomments.h:
--------------------------------------------------------------------------------
1 | /***************************************
2 |
3 | Simple utility to strip all C++ style comments from a text file and output
4 | it into a C++ include file. Used mostly for converting GLSL files into
5 | source that can be directly linked into an OpenGL program.
6 |
7 | Copyright (c) 1995-2022 by Rebecca Ann Heineman
8 |
9 | It is released under an MIT Open Source license. Please see LICENSE for
10 | license details. Yes, you can use it in a commercial title without paying
11 | anything, just give me a credit.
12 |
13 | Please? It's not like I'm asking you for money!
14 |
15 | ***************************************/
16 |
17 | #ifndef __STRIPCOMMENTS_H__
18 | #define __STRIPCOMMENTS_H__
19 |
20 | #ifndef __BURGER__
21 | #include
22 | #endif
23 |
24 | extern void BURGER_API StripComments(
25 | Burger::OutputMemoryStream* pOutput, const char* pInput, uintptr_t uLength);
26 | extern int BURGER_ANSIAPI main(int argc, const char** argv);
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/stripcomments/stripcommentsv22win10.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.1.32210.238
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stripcomments", "stripcommentsv22win10.vcxproj", "{0E83BE4B-9F39-3C83-B149-A4C361BA057D}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Release_LTCG|Win32 = Release_LTCG|Win32
11 | Release_LTCG|x64 = Release_LTCG|x64
12 | Release_LTCG|ARM = Release_LTCG|ARM
13 | Release_LTCG|ARM64 = Release_LTCG|ARM64
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {0E83BE4B-9F39-3C83-B149-A4C361BA057D}.Release_LTCG|Win32.ActiveCfg = Release_LTCG|Win32
17 | {0E83BE4B-9F39-3C83-B149-A4C361BA057D}.Release_LTCG|Win32.Build.0 = Release_LTCG|Win32
18 | {0E83BE4B-9F39-3C83-B149-A4C361BA057D}.Release_LTCG|x64.ActiveCfg = Release_LTCG|x64
19 | {0E83BE4B-9F39-3C83-B149-A4C361BA057D}.Release_LTCG|x64.Build.0 = Release_LTCG|x64
20 | {0E83BE4B-9F39-3C83-B149-A4C361BA057D}.Release_LTCG|ARM.ActiveCfg = Release_LTCG|ARM
21 | {0E83BE4B-9F39-3C83-B149-A4C361BA057D}.Release_LTCG|ARM.Build.0 = Release_LTCG|ARM
22 | {0E83BE4B-9F39-3C83-B149-A4C361BA057D}.Release_LTCG|ARM64.ActiveCfg = Release_LTCG|ARM64
23 | {0E83BE4B-9F39-3C83-B149-A4C361BA057D}.Release_LTCG|ARM64.Build.0 = Release_LTCG|ARM64
24 | EndGlobalSection
25 | GlobalSection(SolutionProperties) = preSolution
26 | HideSolutionNode = FALSE
27 | EndGlobalSection
28 | GlobalSection(ExtensibilityGlobals) = postSolution
29 | SolutionGuid = {B6FA54F0-2622-4700-BD43-73EB0EBEFE41}
30 | EndGlobalSection
31 | EndGlobal
32 |
--------------------------------------------------------------------------------
/stripcomments/stripcommentsv22win10.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Release_LTCG
6 | Win32
7 |
8 |
9 | Release_LTCG
10 | x64
11 |
12 |
13 | Release_LTCG
14 | ARM
15 |
16 |
17 | Release_LTCG
18 | ARM64
19 |
20 |
21 |
22 | stripcomments
23 | {0E83BE4B-9F39-3C83-B149-A4C361BA057D}
24 | 10.0
25 |
26 |
27 |
28 | Application
29 | false
30 | v143
31 | true
32 | Unicode
33 | false
34 | false
35 | false
36 |
37 |
38 | Application
39 | false
40 | v143
41 | true
42 | Unicode
43 | false
44 | false
45 | false
46 |
47 |
48 | Application
49 | false
50 | v143
51 | true
52 | Unicode
53 | false
54 | false
55 | false
56 |
57 |
58 | Application
59 | false
60 | v143
61 | true
62 | Unicode
63 | false
64 | false
65 | false
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 | false
75 | $(ProjectName)v22w32ltc
76 | $(ProjectDir)temp\$(ProjectName)v22w32ltc\
77 | $(ProjectDir)bin\
78 | false
79 | AllRules.ruleset
80 | $(OutDir)$(TargetName)$(TargetExt)
81 |
82 |
83 | false
84 | $(ProjectName)v22w64ltc
85 | $(ProjectDir)temp\$(ProjectName)v22w64ltc\
86 | $(ProjectDir)bin\
87 | AllRules.ruleset
88 | $(OutDir)$(TargetName)$(TargetExt)
89 |
90 |
91 | false
92 | $(ProjectName)v22wina32ltc
93 | $(ProjectDir)temp\$(ProjectName)v22wina32ltc\
94 | $(ProjectDir)bin\
95 | AllRules.ruleset
96 | $(OutDir)$(TargetName)$(TargetExt)
97 |
98 |
99 | false
100 | $(ProjectName)v22wina64ltc
101 | $(ProjectDir)temp\$(ProjectName)v22wina64ltc\
102 | $(ProjectDir)bin\
103 | AllRules.ruleset
104 | $(OutDir)$(TargetName)$(TargetExt)
105 |
106 |
107 |
108 | MinSpace
109 | MultiThreaded
110 | true
111 | false
112 | AnySuitable
113 | true
114 | true
115 | false
116 | true
117 | $(ProjectDir)source;$(BURGER_SDKS)\windows\burgerlib;%(AdditionalIncludeDirectories)
118 | NDEBUG;_WINDOWS;WIN32_LEAN_AND_MEAN;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
119 | Level4
120 | ProgramDatabase
121 | $(OutDir)$(TargetName).pdb
122 | false
123 | Fast
124 | false
125 | true
126 | true
127 | true
128 | true
129 | FastCall
130 |
131 |
132 | $(BURGER_SDKS)\windows\burgerlib;%(AdditionalLibraryDirectories)
133 | Kernel32.lib;Gdi32.lib;Shell32.lib;Ole32.lib;User32.lib;Advapi32.lib;version.lib;Ws2_32.lib;Comctl32.lib;burgerv22w32ltc.lib;%(AdditionalDependencies)
134 | Console
135 | MachineX86
136 | true
137 | true
138 | true
139 |
140 |
141 |
142 |
143 | MinSpace
144 | MultiThreaded
145 | true
146 | false
147 | AnySuitable
148 | true
149 | true
150 | false
151 | true
152 | $(ProjectDir)source;$(BURGER_SDKS)\windows\burgerlib;%(AdditionalIncludeDirectories)
153 | NDEBUG;_WINDOWS;WIN32_LEAN_AND_MEAN;WIN64;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
154 | Level4
155 | ProgramDatabase
156 | $(OutDir)$(TargetName).pdb
157 | false
158 | Fast
159 | false
160 | true
161 | true
162 | true
163 | true
164 |
165 |
166 | $(BURGER_SDKS)\windows\burgerlib;%(AdditionalLibraryDirectories)
167 | Kernel32.lib;Gdi32.lib;Shell32.lib;Ole32.lib;User32.lib;Advapi32.lib;version.lib;Ws2_32.lib;Comctl32.lib;burgerv22w64ltc.lib;%(AdditionalDependencies)
168 | Console
169 | MachineX64
170 | true
171 | true
172 | true
173 |
174 |
175 |
176 |
177 | MinSpace
178 | MultiThreaded
179 | true
180 | false
181 | AnySuitable
182 | true
183 | true
184 | false
185 | true
186 | $(ProjectDir)source;$(BURGER_SDKS)\windows\burgerlib;%(AdditionalIncludeDirectories)
187 | NDEBUG;_WINDOWS;WIN32_LEAN_AND_MEAN;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
188 | Level4
189 | ProgramDatabase
190 | $(OutDir)$(TargetName).pdb
191 | false
192 | Fast
193 | false
194 | true
195 | true
196 | true
197 | true
198 |
199 |
200 | $(BURGER_SDKS)\windows\burgerlib;%(AdditionalLibraryDirectories)
201 | Kernel32.lib;Gdi32.lib;Shell32.lib;Ole32.lib;User32.lib;Advapi32.lib;version.lib;Ws2_32.lib;Comctl32.lib;burgerv22wina32ltc.lib;%(AdditionalDependencies)
202 | Console
203 | MachineARM
204 | true
205 | true
206 | true
207 |
208 |
209 |
210 |
211 | MinSpace
212 | MultiThreaded
213 | true
214 | false
215 | AnySuitable
216 | true
217 | true
218 | false
219 | true
220 | $(ProjectDir)source;$(BURGER_SDKS)\windows\burgerlib;%(AdditionalIncludeDirectories)
221 | NDEBUG;_WINDOWS;WIN32_LEAN_AND_MEAN;WIN64;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
222 | Level4
223 | ProgramDatabase
224 | $(OutDir)$(TargetName).pdb
225 | false
226 | Fast
227 | false
228 | true
229 | true
230 | true
231 | true
232 |
233 |
234 | $(BURGER_SDKS)\windows\burgerlib;%(AdditionalLibraryDirectories)
235 | Kernel32.lib;Gdi32.lib;Shell32.lib;Ole32.lib;User32.lib;Advapi32.lib;version.lib;Ws2_32.lib;Comctl32.lib;burgerv22wina64ltc.lib;%(AdditionalDependencies)
236 | Console
237 | MachineARM64
238 | true
239 | true
240 | true
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
--------------------------------------------------------------------------------
/stripcomments/stripcommentsv22win10.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | source
6 |
7 |
8 | source
9 |
10 |
11 | C1F80770-3444-37E2-A54C-3FA9513F2686
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/stripcomments/stripcommentsxc3osx.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 45;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 170A527C6D92F8428AE898E3 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 957F7268BCFABFC0E258709B /* QuartzCore.framework */; };
11 | 4240DC30318791AEA29F4244 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 39EDF37A025CE139D5738163 /* AudioToolbox.framework */; };
12 | 4C176397906DC1DFDAEDC9B6 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60566A081602146F3C8BA8CA /* Carbon.framework */; };
13 | 6C902814AB77A08BC4043DAC /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6C38CB99080A8ACE07C99B7 /* SystemConfiguration.framework */; };
14 | 703FB004E425A87F34439960 /* stripcomments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B72EAA1950D02F9735E21634 /* stripcomments.cpp */; };
15 | 711EFC702A92A9D938F2CADC /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AC54CC47F3C0DD9956B9AD3 /* OpenGL.framework */; };
16 | A05A5D51D83195B4A9ADD4BC /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6061B328817055E8B2E193D6 /* AppKit.framework */; };
17 | A5DC981E8FB0CA2A5B6E0B93 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB663B78C243F425CB5F622D /* IOKit.framework */; };
18 | A7DA9ABD6BEC875E6AC6D997 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04BBF96056AA4E7B57C08772 /* Cocoa.framework */; };
19 | B640D35CE4DC325B57C77C21 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 176C3F0503654FF92FDC346E /* AudioUnit.framework */; };
20 | FAC2A65BC3B522F4FF8DEDDF /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 67DB78113BD1F2042245B847 /* CoreAudio.framework */; };
21 | /* End PBXBuildFile section */
22 |
23 | /* Begin PBXFileReference section */
24 | 04BBF96056AA4E7B57C08772 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
25 | 176C3F0503654FF92FDC346E /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; };
26 | 39EDF37A025CE139D5738163 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
27 | 4A349BB3A467A11B64C9A28F /* stripcomments */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = stripcomments; sourceTree = BUILT_PRODUCTS_DIR; };
28 | 60566A081602146F3C8BA8CA /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
29 | 6061B328817055E8B2E193D6 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
30 | 67DB78113BD1F2042245B847 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
31 | 957F7268BCFABFC0E258709B /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
32 | 9AC54CC47F3C0DD9956B9AD3 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
33 | B72EAA1950D02F9735E21634 /* stripcomments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = stripcomments.cpp; path = source/stripcomments.cpp; sourceTree = SOURCE_ROOT; };
34 | CB663B78C243F425CB5F622D /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
35 | E6C38CB99080A8ACE07C99B7 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
36 | EAF5518D29BCA938939FEFA8 /* stripcomments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stripcomments.h; path = source/stripcomments.h; sourceTree = SOURCE_ROOT; };
37 | /* End PBXFileReference section */
38 |
39 | /* Begin PBXFrameworksBuildPhase section */
40 | C333FEA773F453EF8DE39E19 /* Frameworks */ = {
41 | isa = PBXFrameworksBuildPhase;
42 | buildActionMask = 2147483647;
43 | files = (
44 | A05A5D51D83195B4A9ADD4BC /* AppKit.framework in Frameworks */,
45 | 4240DC30318791AEA29F4244 /* AudioToolbox.framework in Frameworks */,
46 | B640D35CE4DC325B57C77C21 /* AudioUnit.framework in Frameworks */,
47 | 4C176397906DC1DFDAEDC9B6 /* Carbon.framework in Frameworks */,
48 | A7DA9ABD6BEC875E6AC6D997 /* Cocoa.framework in Frameworks */,
49 | FAC2A65BC3B522F4FF8DEDDF /* CoreAudio.framework in Frameworks */,
50 | A5DC981E8FB0CA2A5B6E0B93 /* IOKit.framework in Frameworks */,
51 | 711EFC702A92A9D938F2CADC /* OpenGL.framework in Frameworks */,
52 | 170A527C6D92F8428AE898E3 /* QuartzCore.framework in Frameworks */,
53 | 6C902814AB77A08BC4043DAC /* SystemConfiguration.framework in Frameworks */,
54 | );
55 | runOnlyForDeploymentPostprocessing = 0;
56 | };
57 | /* End PBXFrameworksBuildPhase section */
58 |
59 | /* Begin PBXGroup section */
60 | 4CE489F4A9041625DE5927C3 /* source */ = {
61 | isa = PBXGroup;
62 | children = (
63 | B72EAA1950D02F9735E21634 /* stripcomments.cpp */,
64 | EAF5518D29BCA938939FEFA8 /* stripcomments.h */,
65 | );
66 | path = source;
67 | sourceTree = SOURCE_ROOT;
68 | };
69 | 5661B90E05C1797F20D64E1A /* stripcomments */ = {
70 | isa = PBXGroup;
71 | children = (
72 | 6555983C4FFDAFC88D6ED936 /* Frameworks */,
73 | 9796CE949CD3951E99BB35F6 /* Products */,
74 | 4CE489F4A9041625DE5927C3 /* source */,
75 | );
76 | name = stripcomments;
77 | sourceTree = "";
78 | };
79 | 6555983C4FFDAFC88D6ED936 /* Frameworks */ = {
80 | isa = PBXGroup;
81 | children = (
82 | 6061B328817055E8B2E193D6 /* AppKit.framework */,
83 | 39EDF37A025CE139D5738163 /* AudioToolbox.framework */,
84 | 176C3F0503654FF92FDC346E /* AudioUnit.framework */,
85 | 60566A081602146F3C8BA8CA /* Carbon.framework */,
86 | 04BBF96056AA4E7B57C08772 /* Cocoa.framework */,
87 | 67DB78113BD1F2042245B847 /* CoreAudio.framework */,
88 | CB663B78C243F425CB5F622D /* IOKit.framework */,
89 | 9AC54CC47F3C0DD9956B9AD3 /* OpenGL.framework */,
90 | 957F7268BCFABFC0E258709B /* QuartzCore.framework */,
91 | E6C38CB99080A8ACE07C99B7 /* SystemConfiguration.framework */,
92 | );
93 | name = Frameworks;
94 | sourceTree = "";
95 | };
96 | 9796CE949CD3951E99BB35F6 /* Products */ = {
97 | isa = PBXGroup;
98 | children = (
99 | 4A349BB3A467A11B64C9A28F /* stripcomments */,
100 | );
101 | name = Products;
102 | sourceTree = "";
103 | };
104 | /* End PBXGroup section */
105 |
106 | /* Begin PBXNativeTarget section */
107 | C3E5C143FC0D9E361E370AA3 /* stripcomments */ = {
108 | isa = PBXNativeTarget;
109 | buildConfigurationList = 88962AE4E6957ACDD9C075BA /* Build configuration list for PBXNativeTarget "stripcomments" */;
110 | buildPhases = (
111 | 4A40543083F35221121EB0D6 /* Sources */,
112 | C333FEA773F453EF8DE39E19 /* Frameworks */,
113 | 210684EC2E47B1FB06F54A83 /* ShellScript */,
114 | 8F430460C95B37D52EABF971 /* ShellScript */,
115 | );
116 | buildRules = (
117 | );
118 | dependencies = (
119 | );
120 | name = stripcomments;
121 | productName = stripcomments;
122 | productReference = 4A349BB3A467A11B64C9A28F /* stripcomments */;
123 | productType = "com.apple.product-type.tool";
124 | };
125 | /* End PBXNativeTarget section */
126 |
127 | /* Begin PBXProject section */
128 | FC9EF6EBA512E144A1996BDC /* Project object */ = {
129 | isa = PBXProject;
130 | attributes = {
131 | BuildIndependentTargetsInParallel = YES;
132 | };
133 | buildConfigurationList = A9F67EBFF5271CAE62D0194D /* Build configuration list for PBXProject "stripcommentsxc3osx" */;
134 | compatibilityVersion = "Xcode 3.1";
135 | developmentRegion = English;
136 | hasScannedForEncodings = 1;
137 | knownRegions = (
138 | en,
139 | );
140 | mainGroup = 5661B90E05C1797F20D64E1A /* stripcomments */;
141 | projectDirPath = "";
142 | projectRoot = "";
143 | targets = (
144 | C3E5C143FC0D9E361E370AA3 /* stripcomments */,
145 | );
146 | };
147 | /* End PBXProject section */
148 |
149 | /* Begin PBXShellScriptBuildPhase section */
150 | 210684EC2E47B1FB06F54A83 /* ShellScript */ = {
151 | isa = PBXShellScriptBuildPhase;
152 | buildActionMask = 2147483647;
153 | files = (
154 | );
155 | inputPaths = (
156 | "${CONFIGURATION_BUILD_DIR}/${EXECUTABLE_NAME}",
157 | );
158 | outputPaths = (
159 | "${SRCROOT}/bin/${EXECUTABLE_NAME}xc3${SUFFIX}",
160 | );
161 | runOnlyForDeploymentPostprocessing = 0;
162 | shellPath = /bin/sh;
163 | shellScript = "if [ ! -d ${SRCROOT}/bin ]; then mkdir ${SRCROOT}/bin; fi\n${CP} ${CONFIGURATION_BUILD_DIR}/${EXECUTABLE_NAME} ${SRCROOT}/bin/${EXECUTABLE_NAME}xc3${SUFFIX}\n";
164 | showEnvVarsInLog = 0;
165 | };
166 | 8F430460C95B37D52EABF971 /* ShellScript */ = {
167 | isa = PBXShellScriptBuildPhase;
168 | buildActionMask = 2147483647;
169 | files = (
170 | );
171 | inputPaths = (
172 | "${CONFIGURATION_BUILD_DIR}/${EXECUTABLE_NAME}",
173 | );
174 | outputPaths = (
175 | "${BURGER_SDKS}/macosx/bin/${PRODUCT_NAME}",
176 | );
177 | runOnlyForDeploymentPostprocessing = 0;
178 | shellPath = /bin/sh;
179 | shellScript = "if [ \"${CONFIGURATION}\" == \"Release\" ]; then \n/opt/local/bin/p4 edit ${BURGER_SDKS}/macosx/bin/${PRODUCT_NAME}\n${CP} ${CONFIGURATION_BUILD_DIR}/${EXECUTABLE_NAME} ${BURGER_SDKS}/macosx/bin/${PRODUCT_NAME}\nfi\n\n";
180 | showEnvVarsInLog = 0;
181 | };
182 | /* End PBXShellScriptBuildPhase section */
183 |
184 | /* Begin PBXSourcesBuildPhase section */
185 | 4A40543083F35221121EB0D6 /* Sources */ = {
186 | isa = PBXSourcesBuildPhase;
187 | buildActionMask = 2147483647;
188 | files = (
189 | 703FB004E425A87F34439960 /* stripcomments.cpp in Sources */,
190 | );
191 | runOnlyForDeploymentPostprocessing = 0;
192 | };
193 | /* End PBXSourcesBuildPhase section */
194 |
195 | /* Begin XCBuildConfiguration section */
196 | 5DECB183A6E8FE9506DD94BF /* Release */ = {
197 | isa = XCBuildConfiguration;
198 | buildSettings = {
199 | ARCHS = (
200 | ppc,
201 | ppc64,
202 | i386,
203 | x86_64,
204 | );
205 | CONFIGURATION_BUILD_DIR = "$(SYMROOT)/$(PRODUCT_NAME)xc3osxrel";
206 | CONFIGURATION_TEMP_DIR = "$(SYMROOT)/$(PRODUCT_NAME)xc3osxrel";
207 | DEAD_CODE_STRIPPING = YES;
208 | DEBUG_INFORMATION_FORMAT = dwarf;
209 | GCC_CW_ASM_SYNTAX = YES;
210 | GCC_C_LANGUAGE_STANDARD = gnu99;
211 | GCC_DYNAMIC_NO_PIC = NO;
212 | "GCC_DYNAMIC_NO_PIC[arch=i386]" = YES;
213 | "GCC_DYNAMIC_NO_PIC[arch=ppc64]" = YES;
214 | "GCC_DYNAMIC_NO_PIC[arch=ppc]" = YES;
215 | GCC_ENABLE_CPP_EXCEPTIONS = NO;
216 | GCC_ENABLE_CPP_RTTI = NO;
217 | GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
218 | GCC_MODEL_PPC64 = NO;
219 | "GCC_MODEL_PPC64[arch=ppc64]" = YES;
220 | GCC_MODEL_TUNING = G4;
221 | "GCC_MODEL_TUNING[arch=ppc64]" = G5;
222 | GCC_OPTIMIZATION_LEVEL = s;
223 | GCC_PREPROCESSOR_DEFINITIONS = (
224 | NDEBUG,
225 | );
226 | GCC_THREADSAFE_STATICS = NO;
227 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
228 | "GCC_VERSION[sdk=macosx10.4]" = com.apple.compilers.llvmgcc42;
229 | "GCC_VERSION[sdk=macosx10.5]" = com.apple.compilers.llvmgcc42;
230 | "GCC_VERSION[sdk=macosx10.5][arch=i386]" = 4.2;
231 | "GCC_VERSION[sdk=macosx10.5][arch=ppc64]" = 4.0;
232 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
233 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
234 | GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES;
235 | GCC_WARN_ABOUT_RETURN_TYPE = YES;
236 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES;
237 | GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
238 | GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
239 | GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO;
240 | GCC_WARN_MISSING_PARENTHESES = YES;
241 | GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
242 | GCC_WARN_PROTOTYPE_CONVERSION = YES;
243 | GCC_WARN_SHADOW = YES;
244 | GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
245 | GCC_WARN_UNINITIALIZED_AUTOS = YES;
246 | GCC_WARN_UNUSED_FUNCTION = YES;
247 | GCC_WARN_UNUSED_LABEL = YES;
248 | GCC_WARN_UNUSED_PARAMETER = YES;
249 | GCC_WARN_UNUSED_VALUE = YES;
250 | GCC_WARN_UNUSED_VARIABLE = YES;
251 | GENERATE_PROFILING_CODE = NO;
252 | HEADER_SEARCH_PATHS = (
253 | "$(BURGER_SDKS)/macosx/burgerlib",
254 | );
255 | LIBRARY_SEARCH_PATHS = (
256 | "$(BURGER_SDKS)/macosx/burgerlib",
257 | );
258 | MACH_O_TYPE = mh_execute;
259 | MACOSX_DEPLOYMENT_TARGET = 10.4;
260 | OBJROOT = temp;
261 | ONLY_ACTIVE_ARCH = NO;
262 | OTHER_LDFLAGS = (
263 | "-lburgerxc3osxrel",
264 | );
265 | PREBINDING = YES;
266 | PRODUCT_NAME = "$(TARGET_NAME)";
267 | SDKROOT = macosx10.5;
268 | STRINGS_FILE_OUTPUT_ENCODING = "UTF-8";
269 | SUFFIX = osxrel;
270 | SYMROOT = temp;
271 | };
272 | name = Release;
273 | };
274 | AD8C07CCBFDD02C89CA9679A /* Release */ = {
275 | isa = XCBuildConfiguration;
276 | buildSettings = {
277 | };
278 | name = Release;
279 | };
280 | /* End XCBuildConfiguration section */
281 |
282 | /* Begin XCConfigurationList section */
283 | 88962AE4E6957ACDD9C075BA /* Build configuration list for PBXNativeTarget "stripcomments" */ = {
284 | isa = XCConfigurationList;
285 | buildConfigurations = (
286 | AD8C07CCBFDD02C89CA9679A /* Release */,
287 | );
288 | defaultConfigurationIsVisible = 0;
289 | defaultConfigurationName = Release;
290 | };
291 | A9F67EBFF5271CAE62D0194D /* Build configuration list for PBXProject "stripcommentsxc3osx" */ = {
292 | isa = XCConfigurationList;
293 | buildConfigurations = (
294 | 5DECB183A6E8FE9506DD94BF /* Release */,
295 | );
296 | defaultConfigurationIsVisible = 0;
297 | defaultConfigurationName = Release;
298 | };
299 | /* End XCConfigurationList section */
300 | };
301 | rootObject = FC9EF6EBA512E144A1996BDC /* Project object */;
302 | }
303 |
--------------------------------------------------------------------------------