mirror of
https://github.com/reactos/CMake.git
synced 2024-11-23 19:49:51 +00:00
Split cmBootstrapCommands.cxx into two sources
The single translation unit has grown too large for some compilers. Split it into cmBootstrapCommands1.cxx and cmBootstrapCommands2.cxx.
This commit is contained in:
parent
82771f1862
commit
b9f4383f69
@ -113,7 +113,8 @@ endif()
|
||||
set(SRCS
|
||||
cmStandardIncludes.cxx
|
||||
cmArchiveWrite.cxx
|
||||
cmBootstrapCommands.cxx
|
||||
cmBootstrapCommands1.cxx
|
||||
cmBootstrapCommands2.cxx
|
||||
cmCacheManager.cxx
|
||||
cmCacheManager.h
|
||||
cmCommands.cxx
|
||||
|
91
Source/cmBootstrapCommands1.cxx
Normal file
91
Source/cmBootstrapCommands1.cxx
Normal file
@ -0,0 +1,91 @@
|
||||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
// This file is used to compile all the commands
|
||||
// that CMake knows about at compile time.
|
||||
// This is sort of a boot strapping approach since you would
|
||||
// like to have CMake to build CMake.
|
||||
#include "cmCommands.h"
|
||||
#include "cmAddCustomCommandCommand.cxx"
|
||||
#include "cmAddCustomTargetCommand.cxx"
|
||||
#include "cmAddDefinitionsCommand.cxx"
|
||||
#include "cmAddDependenciesCommand.cxx"
|
||||
#include "cmAddExecutableCommand.cxx"
|
||||
#include "cmAddLibraryCommand.cxx"
|
||||
#include "cmAddSubDirectoryCommand.cxx"
|
||||
#include "cmAddTestCommand.cxx"
|
||||
#include "cmBreakCommand.cxx"
|
||||
#include "cmBuildCommand.cxx"
|
||||
#include "cmCMakeMinimumRequired.cxx"
|
||||
#include "cmCMakePolicyCommand.cxx"
|
||||
#include "cmCommandArgumentsHelper.cxx"
|
||||
#include "cmConfigureFileCommand.cxx"
|
||||
#include "cmCoreTryCompile.cxx"
|
||||
#include "cmCreateTestSourceList.cxx"
|
||||
#include "cmDefinePropertyCommand.cxx"
|
||||
#include "cmElseCommand.cxx"
|
||||
#include "cmEnableLanguageCommand.cxx"
|
||||
#include "cmEnableTestingCommand.cxx"
|
||||
#include "cmEndForEachCommand.cxx"
|
||||
#include "cmEndFunctionCommand.cxx"
|
||||
#include "cmEndIfCommand.cxx"
|
||||
#include "cmEndMacroCommand.cxx"
|
||||
#include "cmEndWhileCommand.cxx"
|
||||
#include "cmExecProgramCommand.cxx"
|
||||
#include "cmExecuteProcessCommand.cxx"
|
||||
#include "cmExternalMakefileProjectGenerator.cxx"
|
||||
#include "cmFindBase.cxx"
|
||||
#include "cmFindCommon.cxx"
|
||||
#include "cmFileCommand.cxx"
|
||||
#include "cmFindFileCommand.cxx"
|
||||
#include "cmFindLibraryCommand.cxx"
|
||||
#include "cmFindPackageCommand.cxx"
|
||||
#include "cmFindPathCommand.cxx"
|
||||
#include "cmFindProgramCommand.cxx"
|
||||
#include "cmForEachCommand.cxx"
|
||||
#include "cmFunctionCommand.cxx"
|
||||
|
||||
void GetBootstrapCommands1(std::list<cmCommand*>& commands)
|
||||
{
|
||||
commands.push_back(new cmAddCustomCommandCommand);
|
||||
commands.push_back(new cmAddCustomTargetCommand);
|
||||
commands.push_back(new cmAddDefinitionsCommand);
|
||||
commands.push_back(new cmAddDependenciesCommand);
|
||||
commands.push_back(new cmAddExecutableCommand);
|
||||
commands.push_back(new cmAddLibraryCommand);
|
||||
commands.push_back(new cmAddSubDirectoryCommand);
|
||||
commands.push_back(new cmAddTestCommand);
|
||||
commands.push_back(new cmBreakCommand);
|
||||
commands.push_back(new cmBuildCommand);
|
||||
commands.push_back(new cmCMakeMinimumRequired);
|
||||
commands.push_back(new cmCMakePolicyCommand);
|
||||
commands.push_back(new cmConfigureFileCommand);
|
||||
commands.push_back(new cmCreateTestSourceList);
|
||||
commands.push_back(new cmDefinePropertyCommand);
|
||||
commands.push_back(new cmElseCommand);
|
||||
commands.push_back(new cmEnableLanguageCommand);
|
||||
commands.push_back(new cmEnableTestingCommand);
|
||||
commands.push_back(new cmEndForEachCommand);
|
||||
commands.push_back(new cmEndFunctionCommand);
|
||||
commands.push_back(new cmEndIfCommand);
|
||||
commands.push_back(new cmEndMacroCommand);
|
||||
commands.push_back(new cmEndWhileCommand);
|
||||
commands.push_back(new cmExecProgramCommand);
|
||||
commands.push_back(new cmExecuteProcessCommand);
|
||||
commands.push_back(new cmFileCommand);
|
||||
commands.push_back(new cmFindFileCommand);
|
||||
commands.push_back(new cmFindLibraryCommand);
|
||||
commands.push_back(new cmFindPackageCommand);
|
||||
commands.push_back(new cmFindPathCommand);
|
||||
commands.push_back(new cmFindProgramCommand);
|
||||
commands.push_back(new cmForEachCommand);
|
||||
commands.push_back(new cmFunctionCommand);
|
||||
}
|
@ -14,44 +14,6 @@
|
||||
// This is sort of a boot strapping approach since you would
|
||||
// like to have CMake to build CMake.
|
||||
#include "cmCommands.h"
|
||||
#include "cmAddCustomCommandCommand.cxx"
|
||||
#include "cmAddCustomTargetCommand.cxx"
|
||||
#include "cmAddDefinitionsCommand.cxx"
|
||||
#include "cmAddDependenciesCommand.cxx"
|
||||
#include "cmAddExecutableCommand.cxx"
|
||||
#include "cmAddLibraryCommand.cxx"
|
||||
#include "cmAddSubDirectoryCommand.cxx"
|
||||
#include "cmAddTestCommand.cxx"
|
||||
#include "cmBreakCommand.cxx"
|
||||
#include "cmBuildCommand.cxx"
|
||||
#include "cmCMakeMinimumRequired.cxx"
|
||||
#include "cmCMakePolicyCommand.cxx"
|
||||
#include "cmCommandArgumentsHelper.cxx"
|
||||
#include "cmConfigureFileCommand.cxx"
|
||||
#include "cmCoreTryCompile.cxx"
|
||||
#include "cmCreateTestSourceList.cxx"
|
||||
#include "cmDefinePropertyCommand.cxx"
|
||||
#include "cmElseCommand.cxx"
|
||||
#include "cmEnableLanguageCommand.cxx"
|
||||
#include "cmEnableTestingCommand.cxx"
|
||||
#include "cmEndForEachCommand.cxx"
|
||||
#include "cmEndFunctionCommand.cxx"
|
||||
#include "cmEndIfCommand.cxx"
|
||||
#include "cmEndMacroCommand.cxx"
|
||||
#include "cmEndWhileCommand.cxx"
|
||||
#include "cmExecProgramCommand.cxx"
|
||||
#include "cmExecuteProcessCommand.cxx"
|
||||
#include "cmExternalMakefileProjectGenerator.cxx"
|
||||
#include "cmFindBase.cxx"
|
||||
#include "cmFindCommon.cxx"
|
||||
#include "cmFileCommand.cxx"
|
||||
#include "cmFindFileCommand.cxx"
|
||||
#include "cmFindLibraryCommand.cxx"
|
||||
#include "cmFindPackageCommand.cxx"
|
||||
#include "cmFindPathCommand.cxx"
|
||||
#include "cmFindProgramCommand.cxx"
|
||||
#include "cmForEachCommand.cxx"
|
||||
#include "cmFunctionCommand.cxx"
|
||||
#include "cmGeneratorExpressionEvaluationFile.cxx"
|
||||
#include "cmGetCMakePropertyCommand.cxx"
|
||||
#include "cmGetDirectoryPropertyCommand.cxx"
|
||||
@ -96,41 +58,8 @@
|
||||
#include "cmUnsetCommand.cxx"
|
||||
#include "cmWhileCommand.cxx"
|
||||
|
||||
void GetBootstrapCommands(std::list<cmCommand*>& commands)
|
||||
void GetBootstrapCommands2(std::list<cmCommand*>& commands)
|
||||
{
|
||||
commands.push_back(new cmAddCustomCommandCommand);
|
||||
commands.push_back(new cmAddCustomTargetCommand);
|
||||
commands.push_back(new cmAddDefinitionsCommand);
|
||||
commands.push_back(new cmAddDependenciesCommand);
|
||||
commands.push_back(new cmAddExecutableCommand);
|
||||
commands.push_back(new cmAddLibraryCommand);
|
||||
commands.push_back(new cmAddSubDirectoryCommand);
|
||||
commands.push_back(new cmAddTestCommand);
|
||||
commands.push_back(new cmBreakCommand);
|
||||
commands.push_back(new cmBuildCommand);
|
||||
commands.push_back(new cmCMakeMinimumRequired);
|
||||
commands.push_back(new cmCMakePolicyCommand);
|
||||
commands.push_back(new cmConfigureFileCommand);
|
||||
commands.push_back(new cmCreateTestSourceList);
|
||||
commands.push_back(new cmDefinePropertyCommand);
|
||||
commands.push_back(new cmElseCommand);
|
||||
commands.push_back(new cmEnableLanguageCommand);
|
||||
commands.push_back(new cmEnableTestingCommand);
|
||||
commands.push_back(new cmEndForEachCommand);
|
||||
commands.push_back(new cmEndFunctionCommand);
|
||||
commands.push_back(new cmEndIfCommand);
|
||||
commands.push_back(new cmEndMacroCommand);
|
||||
commands.push_back(new cmEndWhileCommand);
|
||||
commands.push_back(new cmExecProgramCommand);
|
||||
commands.push_back(new cmExecuteProcessCommand);
|
||||
commands.push_back(new cmFileCommand);
|
||||
commands.push_back(new cmFindFileCommand);
|
||||
commands.push_back(new cmFindLibraryCommand);
|
||||
commands.push_back(new cmFindPackageCommand);
|
||||
commands.push_back(new cmFindPathCommand);
|
||||
commands.push_back(new cmFindProgramCommand);
|
||||
commands.push_back(new cmForEachCommand);
|
||||
commands.push_back(new cmFunctionCommand);
|
||||
commands.push_back(new cmGetCMakePropertyCommand);
|
||||
commands.push_back(new cmGetDirectoryPropertyCommand);
|
||||
commands.push_back(new cmGetFilenameComponentCommand);
|
@ -16,12 +16,13 @@
|
||||
class cmCommand;
|
||||
/**
|
||||
* Global function to return all compiled in commands.
|
||||
* To add a new command edit cmCommands.cxx or cmBootstrapCommands.cxx
|
||||
* To add a new command edit cmCommands.cxx or cmBootstrapCommands[12].cxx
|
||||
* and add your command.
|
||||
* It is up to the caller to delete the commands created by this
|
||||
* call.
|
||||
*/
|
||||
void GetBootstrapCommands(std::list<cmCommand*>& commands);
|
||||
void GetBootstrapCommands1(std::list<cmCommand*>& commands);
|
||||
void GetBootstrapCommands2(std::list<cmCommand*>& commands);
|
||||
void GetPredefinedCommands(std::list<cmCommand*>& commands);
|
||||
|
||||
|
||||
|
@ -11,6 +11,8 @@
|
||||
============================================================================*/
|
||||
#include "cmGetCMakePropertyCommand.h"
|
||||
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmake.h"
|
||||
|
||||
// cmGetCMakePropertyCommand
|
||||
|
@ -13,6 +13,9 @@
|
||||
|
||||
#include "cmake.h"
|
||||
#include "cmTest.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmSourceFile.h"
|
||||
#include "cmPropertyDefinition.h"
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
@ -2642,7 +2642,8 @@ const char* cmake::GetCacheDefinition(const char* name) const
|
||||
void cmake::AddDefaultCommands()
|
||||
{
|
||||
std::list<cmCommand*> commands;
|
||||
GetBootstrapCommands(commands);
|
||||
GetBootstrapCommands1(commands);
|
||||
GetBootstrapCommands2(commands);
|
||||
GetPredefinedCommands(commands);
|
||||
for(std::list<cmCommand*>::iterator i = commands.begin();
|
||||
i != commands.end(); ++i)
|
||||
|
18
bootstrap
18
bootstrap
@ -247,7 +247,8 @@ CMAKE_CXX_SOURCES="\
|
||||
cmMakefileUtilityTargetGenerator \
|
||||
cmOSXBundleGenerator \
|
||||
cmNewLineStyle \
|
||||
cmBootstrapCommands \
|
||||
cmBootstrapCommands1 \
|
||||
cmBootstrapCommands2 \
|
||||
cmCommands \
|
||||
cmTarget \
|
||||
cmTest \
|
||||
@ -1449,11 +1450,15 @@ for a in ${CMAKE_CXX_SOURCES} ${CMAKE_C_SOURCES} ${KWSYS_CXX_SOURCES} ${KWSYS_C_
|
||||
objs="${objs} ${a}.o"
|
||||
done
|
||||
|
||||
# Generate dependencies for cmBootstrapCommands.cxx
|
||||
for file in `grep "#include.*cm[^.]*.cxx" "${cmake_source_dir}/Source/cmBootstrapCommands.cxx" | sed "s/.* \"\(.*\)\"/\1/"`; do
|
||||
cmBootstrapCommandsDeps="${cmBootstrapCommandsDeps} `cmake_escape "${cmake_source_dir}/Source/$file"`"
|
||||
# Generate dependencies for cmBootstrapCommands1.cxx
|
||||
for file in `grep "#include.*cm[^.]*.cxx" "${cmake_source_dir}/Source/cmBootstrapCommands1.cxx" | sed "s/.* \"\(.*\)\"/\1/"`; do
|
||||
cmBootstrapCommands1Deps="${cmBootstrapCommands1Deps} `cmake_escape "${cmake_source_dir}/Source/$file"`"
|
||||
done
|
||||
cmBootstrapCommandsDeps=`echo $cmBootstrapCommandsDeps`
|
||||
cmBootstrapCommands1Deps=`echo $cmBootstrapCommands1Deps`
|
||||
for file in `grep "#include.*cm[^.]*.cxx" "${cmake_source_dir}/Source/cmBootstrapCommands2.cxx" | sed "s/.* \"\(.*\)\"/\1/"`; do
|
||||
cmBootstrapCommands2Deps="${cmBootstrapCommands2Deps} `cmake_escape "${cmake_source_dir}/Source/$file"`"
|
||||
done
|
||||
cmBootstrapCommands2Deps=`echo $cmBootstrapCommands2Deps`
|
||||
|
||||
if [ "x${cmake_ansi_cxx_flags}" != "x" ]; then
|
||||
cmake_cxx_flags="${cmake_ansi_cxx_flags} ${cmake_cxx_flags}"
|
||||
@ -1486,7 +1491,8 @@ for a in ${CMAKE_CXX_SOURCES}; do
|
||||
echo "${a}.o : ${src} ${dep}" >> "${cmake_bootstrap_dir}/Makefile"
|
||||
echo " ${cmake_cxx_compiler} ${cmake_cxx_flags} -c ${src} -o ${a}.o" >> "${cmake_bootstrap_dir}/Makefile"
|
||||
done
|
||||
echo "cmBootstrapCommands.o : $cmBootstrapCommandsDeps" >> "${cmake_bootstrap_dir}/Makefile"
|
||||
echo "cmBootstrapCommands1.o : $cmBootstrapCommands1Deps" >> "${cmake_bootstrap_dir}/Makefile"
|
||||
echo "cmBootstrapCommands2.o : $cmBootstrapCommands2Deps" >> "${cmake_bootstrap_dir}/Makefile"
|
||||
for a in ${CMAKE_C_SOURCES}; do
|
||||
src=`cmake_escape "${cmake_source_dir}/Source/${a}.c"`
|
||||
echo "${a}.o : ${src} ${dep}" >> "${cmake_bootstrap_dir}/Makefile"
|
||||
|
Loading…
Reference in New Issue
Block a user