News:

The new Release 25.03 is out! You can download binaries for Windows and many major Linux distros here .

Main Menu

[solved]individual compiler options per file (not per target/project).

Started by DJLinux, January 13, 2015, 04:25:09 PM

Previous topic - Next topic

DJLinux

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 ?:<Unit filename="Unix\file3.cpp">
  <Option target="Window_L32" />
  <Option target="Window_L64" />
  <Compiler>
    <Add option="-fno-strict-aliasing" />
  </Compiler>
</Unit>

stahta01

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"


$compiler -fno-strict-aliasing $options $includes -c $file -o $object
C Programmer working to learn more about C++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

DJLinux

@stahta01 Thank you now I can generate *.cbp files via scripts.

DJ<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>