Can I use the same workspace and project files to build the code with different compiler configurations by substituting variables with macros?
For instance, say, I have a workspace, Prog.workspace, that includes a project, A.cbp, and I want to use this to build with normal release build and with Clang address sanitizer.
The file A.cbp, will look like the following. Can I make the compiler/linker settings for address sanitizer a variable and set them from some kind of variable that can controlled from the workspace?
Thanks for any help.
Alex
===========
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="A" />
<Option platforms="Unix;" />
<Option pch_mode="2" />
<Option compiler="clang" />
<Build>
<Target title="Debug64">
<Option platforms="Unix;" />
<Option output="$(WORKSPACE_DIR)/$(TARGET_NAME)/A" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="$(WORKSPACE_DIR)/$(TARGET_NAME)/obj" />
<Option type="2" />
<Option compiler="clang" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DDEBUG" />
</Compiler>
<Linker>
<Add option="-Wl,-rpath=$(WORKSPACE_DIR)/$(TARGET_NAME)" />
</Linker>
</Target>
<Target title="Release64">
<Option platforms="Unix;" />
<Option output="$(WORKSPACE_DIR)/$(TARGET_NAME)/A" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="$(WORKSPACE_DIR)/$(TARGET_NAME)/obj" />
<Option type="2" />
<Option compiler="clang" />
<Option createDefFile="1" />
<Compiler>
<Add option="-O3" />
</Compiler>
</Target>
</Build>
<Compiler>
<Add option="-fsanitize=address" />
<Add option="-fno-omit-frame-pointer" />
<Add option="-std=c++11" />
<Add option="-g" />
<Add option="-Wall" />
....
<Add directory="$(PROJECT_DIR)../../Linux/$(TARGET_NAME)/OpenSSL/include" />
</Compiler>
<Linker>
<Add option="-fsanitize=address" />
<Add directory="$(WORKSPACE_DIR)/$(TARGET_NAME)" />
</Linker>