├── .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 | 15 | x86 16 | 17 | 18 | x86 19 | 20 | 21 | x86 22 | 23 | 24 | x86 25 | 26 | 27 | amd64 28 | 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 | --------------------------------------------------------------------------------