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
|
set(SRCS
|
||||||
cmStandardIncludes.cxx
|
cmStandardIncludes.cxx
|
||||||
cmArchiveWrite.cxx
|
cmArchiveWrite.cxx
|
||||||
cmBootstrapCommands.cxx
|
cmBootstrapCommands1.cxx
|
||||||
|
cmBootstrapCommands2.cxx
|
||||||
cmCacheManager.cxx
|
cmCacheManager.cxx
|
||||||
cmCacheManager.h
|
cmCacheManager.h
|
||||||
cmCommands.cxx
|
cmCommands.cxx
|
||||||
|
|
|
@ -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
|
// This is sort of a boot strapping approach since you would
|
||||||
// like to have CMake to build CMake.
|
// like to have CMake to build CMake.
|
||||||
#include "cmCommands.h"
|
#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 "cmGeneratorExpressionEvaluationFile.cxx"
|
||||||
#include "cmGetCMakePropertyCommand.cxx"
|
#include "cmGetCMakePropertyCommand.cxx"
|
||||||
#include "cmGetDirectoryPropertyCommand.cxx"
|
#include "cmGetDirectoryPropertyCommand.cxx"
|
||||||
|
@ -96,41 +58,8 @@
|
||||||
#include "cmUnsetCommand.cxx"
|
#include "cmUnsetCommand.cxx"
|
||||||
#include "cmWhileCommand.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 cmGetCMakePropertyCommand);
|
||||||
commands.push_back(new cmGetDirectoryPropertyCommand);
|
commands.push_back(new cmGetDirectoryPropertyCommand);
|
||||||
commands.push_back(new cmGetFilenameComponentCommand);
|
commands.push_back(new cmGetFilenameComponentCommand);
|
|
@ -16,12 +16,13 @@
|
||||||
class cmCommand;
|
class cmCommand;
|
||||||
/**
|
/**
|
||||||
* Global function to return all compiled in commands.
|
* 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.
|
* and add your command.
|
||||||
* It is up to the caller to delete the commands created by this
|
* It is up to the caller to delete the commands created by this
|
||||||
* call.
|
* 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);
|
void GetPredefinedCommands(std::list<cmCommand*>& commands);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,8 @@
|
||||||
============================================================================*/
|
============================================================================*/
|
||||||
#include "cmGetCMakePropertyCommand.h"
|
#include "cmGetCMakePropertyCommand.h"
|
||||||
|
|
||||||
|
#include "cmGlobalGenerator.h"
|
||||||
|
#include "cmLocalGenerator.h"
|
||||||
#include "cmake.h"
|
#include "cmake.h"
|
||||||
|
|
||||||
// cmGetCMakePropertyCommand
|
// cmGetCMakePropertyCommand
|
||||||
|
|
|
@ -13,6 +13,9 @@
|
||||||
|
|
||||||
#include "cmake.h"
|
#include "cmake.h"
|
||||||
#include "cmTest.h"
|
#include "cmTest.h"
|
||||||
|
#include "cmGlobalGenerator.h"
|
||||||
|
#include "cmLocalGenerator.h"
|
||||||
|
#include "cmSourceFile.h"
|
||||||
#include "cmPropertyDefinition.h"
|
#include "cmPropertyDefinition.h"
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
|
@ -2642,7 +2642,8 @@ const char* cmake::GetCacheDefinition(const char* name) const
|
||||||
void cmake::AddDefaultCommands()
|
void cmake::AddDefaultCommands()
|
||||||
{
|
{
|
||||||
std::list<cmCommand*> commands;
|
std::list<cmCommand*> commands;
|
||||||
GetBootstrapCommands(commands);
|
GetBootstrapCommands1(commands);
|
||||||
|
GetBootstrapCommands2(commands);
|
||||||
GetPredefinedCommands(commands);
|
GetPredefinedCommands(commands);
|
||||||
for(std::list<cmCommand*>::iterator i = commands.begin();
|
for(std::list<cmCommand*>::iterator i = commands.begin();
|
||||||
i != commands.end(); ++i)
|
i != commands.end(); ++i)
|
||||||
|
|
18
bootstrap
18
bootstrap
|
@ -247,7 +247,8 @@ CMAKE_CXX_SOURCES="\
|
||||||
cmMakefileUtilityTargetGenerator \
|
cmMakefileUtilityTargetGenerator \
|
||||||
cmOSXBundleGenerator \
|
cmOSXBundleGenerator \
|
||||||
cmNewLineStyle \
|
cmNewLineStyle \
|
||||||
cmBootstrapCommands \
|
cmBootstrapCommands1 \
|
||||||
|
cmBootstrapCommands2 \
|
||||||
cmCommands \
|
cmCommands \
|
||||||
cmTarget \
|
cmTarget \
|
||||||
cmTest \
|
cmTest \
|
||||||
|
@ -1449,11 +1450,15 @@ for a in ${CMAKE_CXX_SOURCES} ${CMAKE_C_SOURCES} ${KWSYS_CXX_SOURCES} ${KWSYS_C_
|
||||||
objs="${objs} ${a}.o"
|
objs="${objs} ${a}.o"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Generate dependencies for cmBootstrapCommands.cxx
|
# Generate dependencies for cmBootstrapCommands1.cxx
|
||||||
for file in `grep "#include.*cm[^.]*.cxx" "${cmake_source_dir}/Source/cmBootstrapCommands.cxx" | sed "s/.* \"\(.*\)\"/\1/"`; do
|
for file in `grep "#include.*cm[^.]*.cxx" "${cmake_source_dir}/Source/cmBootstrapCommands1.cxx" | sed "s/.* \"\(.*\)\"/\1/"`; do
|
||||||
cmBootstrapCommandsDeps="${cmBootstrapCommandsDeps} `cmake_escape "${cmake_source_dir}/Source/$file"`"
|
cmBootstrapCommands1Deps="${cmBootstrapCommands1Deps} `cmake_escape "${cmake_source_dir}/Source/$file"`"
|
||||||
done
|
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
|
if [ "x${cmake_ansi_cxx_flags}" != "x" ]; then
|
||||||
cmake_cxx_flags="${cmake_ansi_cxx_flags} ${cmake_cxx_flags}"
|
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 "${a}.o : ${src} ${dep}" >> "${cmake_bootstrap_dir}/Makefile"
|
||||||
echo " ${cmake_cxx_compiler} ${cmake_cxx_flags} -c ${src} -o ${a}.o" >> "${cmake_bootstrap_dir}/Makefile"
|
echo " ${cmake_cxx_compiler} ${cmake_cxx_flags} -c ${src} -o ${a}.o" >> "${cmake_bootstrap_dir}/Makefile"
|
||||||
done
|
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
|
for a in ${CMAKE_C_SOURCES}; do
|
||||||
src=`cmake_escape "${cmake_source_dir}/Source/${a}.c"`
|
src=`cmake_escape "${cmake_source_dir}/Source/${a}.c"`
|
||||||
echo "${a}.o : ${src} ${dep}" >> "${cmake_bootstrap_dir}/Makefile"
|
echo "${a}.o : ${src} ${dep}" >> "${cmake_bootstrap_dir}/Makefile"
|
||||||
|
|
Loading…
Reference in New Issue