changes for cmake to live outside of the source tree
This commit is contained in:
parent
cb0af952cf
commit
7ec7fb7e95
@ -73,3 +73,12 @@ void cmMSProjectGenerator::SetLocal(bool local)
|
|||||||
{
|
{
|
||||||
m_BuildDSW = !local;
|
m_BuildDSW = !local;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cmMSProjectGenerator::ComputeSystemInfo()
|
||||||
|
{
|
||||||
|
// now load the settings
|
||||||
|
std::string fpath =
|
||||||
|
cmCacheManager::GetInstance()->GetCacheValue("CMAKE_ROOT");
|
||||||
|
fpath += "/CMakeWindowsSystemConfig.cmake";
|
||||||
|
m_Makefile->ReadListFile(NULL,fpath.c_str());
|
||||||
|
}
|
||||||
|
@ -98,6 +98,12 @@ public:
|
|||||||
cmDSPMakefile* GetDSPMakefile()
|
cmDSPMakefile* GetDSPMakefile()
|
||||||
{return m_DSPMakefile;}
|
{return m_DSPMakefile;}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Try to determine system infomation such as shared library
|
||||||
|
* extension, pthreads, byte order etc.
|
||||||
|
*/
|
||||||
|
virtual void ComputeSystemInfo();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
cmDSWMakefile* m_DSWMakefile;
|
cmDSWMakefile* m_DSWMakefile;
|
||||||
cmDSPMakefile* m_DSPMakefile;
|
cmDSPMakefile* m_DSPMakefile;
|
||||||
|
@ -76,6 +76,12 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual void SetLocal(bool ) {};
|
virtual void SetLocal(bool ) {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Try to determine system infomation such as shared library
|
||||||
|
* extension, pthreads, byte order etc.
|
||||||
|
*/
|
||||||
|
virtual void ComputeSystemInfo() = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
cmMakefile* m_Makefile;
|
cmMakefile* m_Makefile;
|
||||||
};
|
};
|
||||||
|
@ -755,7 +755,7 @@ void cmUnixMakefileGenerator::OutputMakeVariables(std::ostream& fout)
|
|||||||
"THREAD_LIBS = @CMAKE_THREAD_LIBS@\n"
|
"THREAD_LIBS = @CMAKE_THREAD_LIBS@\n"
|
||||||
"\n"
|
"\n"
|
||||||
"# set up the path to the rulesgen program\n"
|
"# set up the path to the rulesgen program\n"
|
||||||
"CMAKE_COMMAND = ${CMAKE_BINARY_DIR}/CMake/Source/CMakeBuildTargets\n"
|
"CMAKE_COMMAND = ${CMAKE_COMMAND}\n"
|
||||||
"\n"
|
"\n"
|
||||||
"\n"
|
"\n"
|
||||||
"\n";
|
"\n";
|
||||||
@ -793,12 +793,6 @@ void cmUnixMakefileGenerator::OutputMakeRules(std::ostream& fout)
|
|||||||
"all",
|
"all",
|
||||||
"Makefile cmake.depends ${TARGETS} ${SUBDIR_BUILD} ${CMAKE_COMMAND}",
|
"Makefile cmake.depends ${TARGETS} ${SUBDIR_BUILD} ${CMAKE_COMMAND}",
|
||||||
0);
|
0);
|
||||||
this->OutputMakeRule(fout,
|
|
||||||
"rule to build cmake from source",
|
|
||||||
"${CMAKE_COMMAND}", "${CMAKE_SOURCE_DIR}/CMake/Source/*.cxx "
|
|
||||||
"${CMAKE_SOURCE_DIR}/CMake/Source/*.h",
|
|
||||||
"cd ${CMAKE_BINARY_DIR}/CMake/Source; "
|
|
||||||
"${MAKE} CMakeBuildTargets");
|
|
||||||
this->OutputMakeRule(fout,
|
this->OutputMakeRule(fout,
|
||||||
"remove generated files",
|
"remove generated files",
|
||||||
"clean",
|
"clean",
|
||||||
@ -830,7 +824,7 @@ void cmUnixMakefileGenerator::OutputMakeRules(std::ostream& fout)
|
|||||||
"rebuild_cache",
|
"rebuild_cache",
|
||||||
"${CMAKE_BINARY_DIR}/CMakeCache.txt",
|
"${CMAKE_BINARY_DIR}/CMakeCache.txt",
|
||||||
"${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR}/CMakeLists.txt "
|
"${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR}/CMakeLists.txt "
|
||||||
"-MakeCache -S${CMAKE_SOURCE_DIR} -O${CMAKE_BINARY_DIR} "
|
"-S${CMAKE_SOURCE_DIR} -O${CMAKE_BINARY_DIR} "
|
||||||
"-H${CMAKE_SOURCE_DIR} -B${CMAKE_BINARY_DIR}");
|
"-H${CMAKE_SOURCE_DIR} -B${CMAKE_BINARY_DIR}");
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -889,3 +883,23 @@ void cmUnixMakefileGenerator::SetLocal (bool local)
|
|||||||
m_Recurse = true;
|
m_Recurse = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cmUnixMakefileGenerator::ComputeSystemInfo()
|
||||||
|
{
|
||||||
|
if (m_CacheOnly)
|
||||||
|
{
|
||||||
|
// currently we run configure shell script here to determine the info
|
||||||
|
std::string output;
|
||||||
|
std::string cmd;
|
||||||
|
const char* root
|
||||||
|
= cmCacheManager::GetInstance()->GetCacheValue("CMAKE_ROOT");
|
||||||
|
cmd = root;
|
||||||
|
cmd += "/Templates/configure";
|
||||||
|
cmSystemTools::RunCommand(cmd.c_str(), output);
|
||||||
|
}
|
||||||
|
|
||||||
|
// now load the settings
|
||||||
|
std::string fpath = m_Makefile->GetHomeOutputDirectory();
|
||||||
|
fpath += "/CMakeSystemConfig.cmake";
|
||||||
|
m_Makefile->ReadListFile(NULL,fpath.c_str());
|
||||||
|
}
|
||||||
|
@ -84,6 +84,12 @@ public:
|
|||||||
*/
|
*/
|
||||||
void OutputObjectDepends(std::ostream&);
|
void OutputObjectDepends(std::ostream&);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Try to determine system infomation such as shared library
|
||||||
|
* extension, pthreads, byte order etc.
|
||||||
|
*/
|
||||||
|
virtual void ComputeSystemInfo();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void RecursiveGenerateCacheOnly();
|
void RecursiveGenerateCacheOnly();
|
||||||
void GenerateCacheOnly();
|
void GenerateCacheOnly();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user