Tidy up build directories.
authorIain Patterson <me@iain.cx>
Sat, 21 Dec 2013 17:12:10 +0000 (17:12 +0000)
committerIain Patterson <me@iain.cx>
Sat, 21 Dec 2013 17:12:10 +0000 (17:12 +0000)
Build object files in tmp/<configuration>/<platform> and link
executables in out/<configuration>/<platform>.

Now switching architectures doesn't require a full rebuild and the
working directoryis a bit cleaner.

nssm.sln
nssm.vcproj

index a59b655..f79be77 100644 (file)
--- a/nssm.sln
+++ b/nssm.sln
@@ -5,20 +5,20 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nssm", "nssm.vcproj", "{329
 EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
-               Debug|Win32 = Debug|Win32\r
-               Debug|x64 = Debug|x64\r
-               Release|Win32 = Release|Win32\r
-               Release|x64 = Release|x64\r
+               Release|win64 = Release|win64\r
+               Release|win32 = Release|win32\r
+               Debug|win64 = Debug|win64\r
+               Debug|win32 = Debug|win32\r
        EndGlobalSection\r
        GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
-               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Debug|Win32.Build.0 = Debug|Win32\r
-               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Debug|x64.ActiveCfg = Debug|x64\r
-               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Debug|x64.Build.0 = Debug|x64\r
-               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Release|Win32.ActiveCfg = Release|Win32\r
-               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Release|Win32.Build.0 = Release|Win32\r
-               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Release|x64.ActiveCfg = Release|x64\r
-               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Release|x64.Build.0 = Release|x64\r
+               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Release|win64.ActiveCfg = Release|x64\r
+               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Release|win64.Build.0 = Release|x64\r
+               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Release|win32.ActiveCfg = Release|Win32\r
+               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Release|win32.Build.0 = Release|Win32\r
+               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Debug|win64.ActiveCfg = Debug|x64\r
+               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Debug|win64.Build.0 = Debug|x64\r
+               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Debug|win32.ActiveCfg = Debug|Win32\r
+               {32995E05-606F-4D83-A2E6-C2B361B34DF1}.Debug|win32.Build.0 = Debug|Win32\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
index 8398979..803bb43 100755 (executable)
@@ -20,8 +20,8 @@
        <Configurations>\r
                <Configuration\r
                        Name="Debug|Win32"\r
-                       OutputDirectory=".\Debug"\r
-                       IntermediateDirectory=".\Debug"\r
+                       OutputDirectory="out\$(ConfigurationName)\win32"\r
+                       IntermediateDirectory="tmp\$(ConfigurationName)\win32"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"\r
                        UseOfMFC="0"\r
@@ -45,7 +45,7 @@
                        />\r
                        <Tool\r
                                Name="VCMIDLTool"\r
-                               TypeLibraryName=".\Debug/nssm.tlb"\r
+                               TypeLibraryName="$(IntDir)/$(ProjectName).tlb"\r
                                HeaderFileName=""\r
                        />\r
                        <Tool\r
                                MinimalRebuild="true"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="1"\r
-                               PrecompiledHeaderFile=".\Debug/nssm.pch"\r
-                               AssemblerListingLocation=".\Debug/"\r
-                               ObjectFile=".\Debug/"\r
-                               ProgramDataBaseFileName=".\Debug/"\r
+                               PrecompiledHeaderFile="$(IntDir)/$(ProjectName).pch"\r
+                               AssemblerListingLocation="$(IntDir)/"\r
+                               ObjectFile="$(IntDir)/"\r
+                               ProgramDataBaseFileName="$(IntDir)/"\r
                                WarningLevel="3"\r
                                SuppressStartupBanner="true"\r
                                DebugInformationFormat="4"\r
@@ -80,7 +80,7 @@
                                LinkIncremental="2"\r
                                SuppressStartupBanner="true"\r
                                GenerateDebugInformation="true"\r
-                               ProgramDatabaseFile=".\Debug/nssm_debug.pdb"\r
+                               ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"\r
                                SubSystem="1"\r
                                RandomizedBaseAddress="1"\r
                                DataExecutionPrevention="0"\r
@@ -98,7 +98,7 @@
                        <Tool\r
                                Name="VCBscMakeTool"\r
                                SuppressStartupBanner="true"\r
-                               OutputFile=".\Debug/nssm.bsc"\r
+                               OutputFile="$(IntDir)/$(ProjectName).bsc"\r
                        />\r
                        <Tool\r
                                Name="VCFxCopTool"\r
                </Configuration>\r
                <Configuration\r
                        Name="Debug|x64"\r
-                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
-                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       OutputDirectory="out\$(ConfigurationName)\win64"\r
+                       IntermediateDirectory="tmp\$(ConfigurationName)\win64"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"\r
                        UseOfMFC="0"\r
                        <Tool\r
                                Name="VCMIDLTool"\r
                                TargetEnvironment="3"\r
-                               TypeLibraryName=".\Debug/nssm.tlb"\r
+                               TypeLibraryName="$(IntDir)/$(ProjectName).tlb"\r
                                HeaderFileName=""\r
                        />\r
                        <Tool\r
                                MinimalRebuild="true"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="1"\r
-                               PrecompiledHeaderFile=".\Debug/nssm.pch"\r
-                               AssemblerListingLocation=".\Debug/"\r
-                               ObjectFile=".\Debug/"\r
-                               ProgramDataBaseFileName=".\Debug/"\r
+                               PrecompiledHeaderFile="$(IntDir)/$(ProjectName).pch"\r
+                               AssemblerListingLocation="$(IntDir)/"\r
+                               ObjectFile="$(IntDir)/"\r
+                               ProgramDataBaseFileName="$(IntDir)/"\r
                                WarningLevel="3"\r
                                SuppressStartupBanner="true"\r
                                DebugInformationFormat="3"\r
                                LinkIncremental="2"\r
                                SuppressStartupBanner="true"\r
                                GenerateDebugInformation="true"\r
-                               ProgramDatabaseFile=".\Debug/nssm_debug.pdb"\r
+                               ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"\r
                                SubSystem="1"\r
                                RandomizedBaseAddress="1"\r
                                DataExecutionPrevention="0"\r
                        <Tool\r
                                Name="VCBscMakeTool"\r
                                SuppressStartupBanner="true"\r
-                               OutputFile=".\Debug/nssm.bsc"\r
+                               OutputFile="$(IntDir)/$(ProjectName).bsc"\r
                        />\r
                        <Tool\r
                                Name="VCFxCopTool"\r
                </Configuration>\r
                <Configuration\r
                        Name="Release|Win32"\r
-                       OutputDirectory=".\Release"\r
-                       IntermediateDirectory=".\Release"\r
+                       OutputDirectory="out\$(ConfigurationName)\win32"\r
+                       IntermediateDirectory="tmp\$(ConfigurationName)\win32"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"\r
                        UseOfMFC="0"\r
                        />\r
                        <Tool\r
                                Name="VCMIDLTool"\r
-                               TypeLibraryName=".\Release/nssm.tlb"\r
+                               TypeLibraryName="$(IntDir)/$(ProjectName).tlb"\r
                                HeaderFileName=""\r
                        />\r
                        <Tool\r
                                StringPooling="true"\r
                                RuntimeLibrary="0"\r
                                EnableFunctionLevelLinking="true"\r
-                               PrecompiledHeaderFile=".\Release/nssm.pch"\r
-                               AssemblerListingLocation=".\Release/"\r
-                               ObjectFile=".\Release/"\r
-                               ProgramDataBaseFileName=".\Release/"\r
+                               PrecompiledHeaderFile="$(IntDir)/$(ProjectName).pch"\r
+                               AssemblerListingLocation="$(IntDir)/"\r
+                               ObjectFile="$(IntDir)/"\r
+                               ProgramDataBaseFileName="$(IntDir)/"\r
                                WarningLevel="3"\r
                                SuppressStartupBanner="true"\r
                        />\r
                                AdditionalDependencies="shlwapi.lib"\r
                                LinkIncremental="1"\r
                                SuppressStartupBanner="true"\r
-                               ProgramDatabaseFile=".\Release/nssm.pdb"\r
+                               ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"\r
                                SubSystem="1"\r
                                RandomizedBaseAddress="1"\r
                                DataExecutionPrevention="0"\r
                        <Tool\r
                                Name="VCBscMakeTool"\r
                                SuppressStartupBanner="true"\r
-                               OutputFile=".\Release/nssm.bsc"\r
+                               OutputFile="$(IntDir)/$(ProjectName).bsc"\r
                        />\r
                        <Tool\r
                                Name="VCFxCopTool"\r
                </Configuration>\r
                <Configuration\r
                        Name="Release|x64"\r
-                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
-                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       OutputDirectory="out\$(ConfigurationName)\win64"\r
+                       IntermediateDirectory="tmp\$(ConfigurationName)\win64"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"\r
                        UseOfMFC="0"\r
                        <Tool\r
                                Name="VCMIDLTool"\r
                                TargetEnvironment="3"\r
-                               TypeLibraryName=".\Release/nssm.tlb"\r
+                               TypeLibraryName="$(IntDir)/$(ProjectName).tlb"\r
                                HeaderFileName=""\r
                        />\r
                        <Tool\r
                                StringPooling="true"\r
                                RuntimeLibrary="0"\r
                                EnableFunctionLevelLinking="true"\r
-                               PrecompiledHeaderFile=".\Release/nssm.pch"\r
-                               AssemblerListingLocation=".\Release/"\r
-                               ObjectFile=".\Release/"\r
-                               ProgramDataBaseFileName=".\Release/"\r
+                               PrecompiledHeaderFile="$(IntDir)/$(ProjectName).pch"\r
+                               AssemblerListingLocation="$(IntDir)/"\r
+                               ObjectFile="$(IntDir)/"\r
+                               ProgramDataBaseFileName="$(IntDir)/"\r
                                WarningLevel="3"\r
                                SuppressStartupBanner="true"\r
                        />\r
                                AdditionalDependencies="shlwapi.lib"\r
                                LinkIncremental="1"\r
                                SuppressStartupBanner="true"\r
-                               ProgramDatabaseFile=".\Release/nssm.pdb"\r
+                               ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"\r
                                SubSystem="1"\r
                                RandomizedBaseAddress="1"\r
                                DataExecutionPrevention="0"\r
                        <Tool\r
                                Name="VCBscMakeTool"\r
                                SuppressStartupBanner="true"\r
-                               OutputFile=".\Release/nssm.bsc"\r
+                               OutputFile="$(IntDir)/$(ProjectName).bsc"\r
                        />\r
                        <Tool\r
                                Name="VCFxCopTool"\r