@ -55,10 +55,14 @@ cmExtraSublimeTextGenerator::GetFactory()
cmExtraSublimeTextGenerator : : cmExtraSublimeTextGenerator ( )
cmExtraSublimeTextGenerator : : cmExtraSublimeTextGenerator ( )
: cmExternalMakefileProjectGenerator ( )
: cmExternalMakefileProjectGenerator ( )
{
{
this - > ExcludeBuildFolder = false ;
}
}
void cmExtraSublimeTextGenerator : : Generate ( )
void cmExtraSublimeTextGenerator : : Generate ( )
{
{
this - > ExcludeBuildFolder = this - > GlobalGenerator - > GlobalSettingIsOn (
" CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE " ) ;
// for each sub project in the project create a sublime text 2 project
// for each sub project in the project create a sublime text 2 project
for ( std : : map < std : : string , std : : vector < cmLocalGenerator * > > : : const_iterator
for ( std : : map < std : : string , std : : vector < cmLocalGenerator * > > : : const_iterator
it = this - > GlobalGenerator - > GetProjectMap ( ) . begin ( ) ;
it = this - > GlobalGenerator - > GetProjectMap ( ) . begin ( ) ;
@ -84,6 +88,7 @@ void cmExtraSublimeTextGenerator::CreateNewProjectFile(
const std : : vector < cmLocalGenerator * > & lgs , const std : : string & filename )
const std : : vector < cmLocalGenerator * > & lgs , const std : : string & filename )
{
{
const cmMakefile * mf = lgs [ 0 ] - > GetMakefile ( ) ;
const cmMakefile * mf = lgs [ 0 ] - > GetMakefile ( ) ;
cmGeneratedFileStream fout ( filename . c_str ( ) ) ;
cmGeneratedFileStream fout ( filename . c_str ( ) ) ;
if ( ! fout ) {
if ( ! fout ) {
return ;
return ;
@ -102,9 +107,11 @@ void cmExtraSublimeTextGenerator::CreateNewProjectFile(
if ( ( ! outputRelativeToSourceRoot . empty ( ) ) & &
if ( ( ! outputRelativeToSourceRoot . empty ( ) ) & &
( ( outputRelativeToSourceRoot . length ( ) < 3 ) | |
( ( outputRelativeToSourceRoot . length ( ) < 3 ) | |
( outputRelativeToSourceRoot . substr ( 0 , 3 ) ! = " ../ " ) ) ) {
( outputRelativeToSourceRoot . substr ( 0 , 3 ) ! = " ../ " ) ) ) {
if ( this - > ExcludeBuildFolder ) {
fout < < " , \n \t \t \t \" folder_exclude_patterns \" : [ \" "
fout < < " , \n \t \t \t \" folder_exclude_patterns \" : [ \" "
< < outputRelativeToSourceRoot < < " \" ] " ;
< < outputRelativeToSourceRoot < < " \" ] " ;
}
}
}
} else {
} else {
fout < < " \t { \n \t \t \t \" path \" : \" ./ \" " ;
fout < < " \t { \n \t \t \t \" path \" : \" ./ \" " ;
}
}