BUG: fix inplace builds

This commit is contained in:
Bill Hoffman 2001-04-27 11:36:53 -04:00
parent de67154214
commit 5b13f975b9
2 changed files with 17 additions and 11 deletions

View File

@ -20,7 +20,7 @@ depend: ${CMAKE} ${SUBDIR_DEPEND}
clean: ${SUBDIR_CLEAN} clean: ${SUBDIR_CLEAN}
rm -f ${SRC_OBJ} ${EXECUTABLES} ${TARGETS} rm -f ${SRC_OBJ} ${EXECUTABLES} ${TARGETS}
CMakeTargets.make: ${CMAKE} ${srcdir}/CMakeLists.txt CMakeTargets.make: ${CMAKE} ${srcdir}/CMakeLists.txt ${CMAKE_CONFIG_DIR}/CMakeCache.txt
${CMAKE} ${currentdir}/CMakeLists.txt -S${currentdir} -O${currentbindir} -H${topdir} -B${CMAKE_CONFIG_DIR} ${CMAKE} ${currentdir}/CMakeLists.txt -S${currentdir} -O${currentbindir} -H${topdir} -B${CMAKE_CONFIG_DIR}
rebuild_cache: ${CMAKE_CONFIG_DIR}/CMakeCache.txt rebuild_cache: ${CMAKE_CONFIG_DIR}/CMakeCache.txt

View File

@ -670,20 +670,26 @@ void cmMakefile::GenerateCacheOnly()
<< mf->GetHomeOutputDirectory() << "/CMake/CMakeMaster.make\n"; << mf->GetHomeOutputDirectory() << "/CMake/CMakeMaster.make\n";
dest = mf->GetStartOutputDirectory(); dest = mf->GetStartOutputDirectory();
dest += "/CMakeTargets.make"; dest += "/CMakeTargets.make";
std::cout << "cmake: creating : " << dest.c_str() << "\n"; // make sure there is a CMakeTargets.make file as some
std::ofstream fout2(dest.c_str()); // makes require it to exist
if(!fout2) if(!cmSystemTools::FileExists(dest.c_str()))
{ {
cmSystemTools::Error("Failed to open file for write " , dest.c_str()); std::cout << "cmake: creating : " << dest.c_str() << "\n";
std::ofstream fout(dest.c_str());
if(!fout)
{
cmSystemTools::Error("Failed to open file for write " , dest.c_str());
}
fout << "#Initial CMakeTargets.make file created only to keep \n";
fout << "#certain makes happy that don't like to include makefiles\n";
fout << "#that do not exist\n";
} }
fout2 << "#Initial CMakeTargets.make file created only to keep \n";
fout2 << "#certain makes happy that don't like to include makefiles\n";
fout2 << "#that do not exist\n";
} }
// CLEAN up the makefiles created
for(unsigned int i =0; i < makefiles.size(); ++i) for(unsigned int i =0; i < makefiles.size(); ++i)
{ {
delete makefiles[i]; delete makefiles[i];
} }
} }