Code::Blocks Forums

User forums => Using Code::Blocks => Topic started by: DJLinux on January 13, 2015, 04:25:09 pm

Title: [solved]individual compiler options per file (not per target/project).
Post by: DJLinux on January 13, 2015, 04:25:09 pm
First sorry about my bad english.
I portet my large project's from make files to *.cbp files.

I can't solve one problem: How i can add a compiler flag (in the *.cbp file) to only one file of an project ?

for example a project has 50 files are all compiled with option -NDEBUG and -O3 but one file of the project needs one extra option.

result while the codeblock project are build:
g++ -DNDEBUG  -IPATH -O3 -c file1.cpp -o file1.o
g++ -DNDEBUG  -IPATH -O3 -c file2.cpp -o file2.o
g++ -DNDEBUG  -IPATH -fno-strict-aliasing  -O3 -c file3.cpp -o file3.o
g++ -DNDEBUG  -IPATH -O3 -c file4.cpp -o file4.o
...

How looks the syntax inside the *.cbp file ?

thank you

DJ

edit: is it something like ?:
Code
<Unit filename="Unix\file3.cpp">
  <Option target="Window_L32" />
  <Option target="Window_L64" />
  <Compiler>
    <Add option="-fno-strict-aliasing" />
  </Compiler>
</Unit>
Title: Re: individual compiler flag per file (not per target/project)
Post by: stahta01 on January 13, 2015, 05:23:55 pm
My educated guess is you need to do this on the File Properties.
Under the advanced tab and checkmark "Use custom command to build file"

Code
$compiler -fno-strict-aliasing $options $includes -c $file -o $object
Title: Re: individual compiler flag per file (not per target/project)
Post by: DJLinux on January 13, 2015, 05:54:55 pm
@stahta01 Thank you now I can generate *.cbp files via scripts.

DJ
Code
<Unit filename="file3.cpp">
  <Option compiler="gnu_gcc_compiler_i686_w64" use="1" buildCommand="$compiler -fno-strict-aliasing $options $includes -c $file -o $object" />
</Unit>