@@ -40,6 +40,14 @@ DECLARE_STATIC_LOGGER(logger, "project");
4040using MimeType = String;
4141using MimeTypes = std::set<MimeType>;
4242
43+ static const std::vector<String> additional_include_dirs_public{
44+ " ${BDIR}" ,
45+ };
46+
47+ static const std::vector<String> additional_include_dirs_private{
48+ " ${BDIR_PRIVATE}" ,
49+ };
50+
4351const MimeTypes source_mime_types{
4452 " application/xml" ,
4553 " text/xml" ,
@@ -1339,7 +1347,8 @@ void Project::load(const yaml &root)
13391347 dirs.push_back (" " );
13401348 autodetect_source_dir (dirs);
13411349 }
1342- include_directories.public_ .insert (" ${BDIR}" );
1350+ include_directories.public_ .insert (additional_include_dirs_public.begin (), additional_include_dirs_public.end ());
1351+ include_directories.private_ .insert (additional_include_dirs_private.begin (), additional_include_dirs_private.end ());
13431352 }
13441353
13451354 // files
@@ -1697,18 +1706,21 @@ String Project::print_cpp()
16971706 ctx.addLine(s);
16981707 }*/
16991708
1700- if (! include_directories.private_ .empty ())
1709+ if (include_directories.private_ .size () > additional_include_dirs_private. size ())
17011710 {
17021711 ctx.addLine (name + " .Private +=" );
17031712 String s;
17041713 for (auto &t : include_directories.private_ )
1705- s += " \" " + t.string () + " \" _id,\n " ;
1714+ {
1715+ if (t.string ().find (" BDIR" ) == -1 )
1716+ s += " \" " + t.string () + " \" _id,\n " ;
1717+ }
17061718 s.resize (s.size () - 2 );
17071719 s += " ;\n " ;
17081720 ctx.addLine (s);
17091721 }
17101722
1711- if (include_directories.public_ .size () > 1 )
1723+ if (include_directories.public_ .size () > additional_include_dirs_public. size () )
17121724 {
17131725 ctx.addLine (name + " .Public +=" );
17141726 String s;
@@ -2008,20 +2020,23 @@ String Project::print_cpp2()
20082020 ctx.decreaseIndent ();
20092021 }
20102022
2011- if (! include_directories.private_ .empty ())
2023+ if (include_directories.private_ .size () > additional_include_dirs_private. size ())
20122024 {
20132025 ctx.addLine (name + " .Private +=" );
20142026 String s;
20152027 for (auto &t : include_directories.private_ )
2016- s += " \" " + t.string () + " \" _id,\n " ;
2028+ {
2029+ if (t.string ().find (" BDIR" ) == -1 )
2030+ s += " \" " + t.string () + " \" _id,\n " ;
2031+ }
20172032 s.resize (s.size () - 2 );
20182033 s += " ;\n " ;
20192034 ctx.increaseIndent ();
20202035 ctx.addLine (s);
20212036 ctx.decreaseIndent ();
20222037 }
20232038
2024- if (include_directories.public_ .size () > 1 )
2039+ if (include_directories.public_ .size () > additional_include_dirs_public. size () )
20252040 {
20262041 String s;
20272042 for (auto &t : include_directories.public_ )
0 commit comments