Skip to content

Commit

Permalink
Merge pull request #2090 from Jarod42/codelite_undefines
Browse files Browse the repository at this point in the history
Add support to `undefines` for Codelite.
  • Loading branch information
nickclark2016 authored Jul 3, 2023
2 parents f56d5b2 + c487cb5 commit 3df1efc
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
13 changes: 9 additions & 4 deletions modules/codelite/codelite_project.lua
Original file line number Diff line number Diff line change
Expand Up @@ -204,8 +204,9 @@
local toolset = m.getcompiler(cfg)
local externalincludedirs = toolset.getincludedirs(cfg, {}, cfg.externalincludedirs, cfg.frameworkdirs, cfg.includedirsafter)
local forceincludes = toolset.getforceincludes(cfg)
local cxxflags = table.concat(table.join(externalincludedirs, toolset.getcxxflags(cfg), forceincludes, cfg.buildoptions), ";")
local cflags = table.concat(table.join(externalincludedirs, toolset.getcflags(cfg), forceincludes, cfg.buildoptions), ";")
local defines = iif(#cfg.undefines > 0, table.join(toolset.getdefines(cfg.defines), toolset.getundefines(cfg.undefines)), {})
local cxxflags = table.concat(table.join(externalincludedirs, toolset.getcxxflags(cfg), forceincludes, cfg.buildoptions, defines), ";")
local cflags = table.concat(table.join(externalincludedirs, toolset.getcflags(cfg), forceincludes, cfg.buildoptions, defines), ";")
local asmflags = ""
local pch = p.tools.gcc.getpch(cfg)
local usepch = "yes"
Expand All @@ -219,8 +220,12 @@
for _, includedir in ipairs(cfg.includedirs) do
_x(4, '<IncludePath Value="%s"/>', project.getrelative(cfg.project, includedir))
end
for _, define in ipairs(cfg.defines) do
_p(4, '<Preprocessor Value="%s"/>', p.esc(define):gsub(' ', '\\ '))
-- undefines should be placed *after* defines/buildoptions
-- Codelite places preprocessors after buildoptions...
if #cfg.undefines == 0 then
for _, define in ipairs(cfg.defines) do
_p(4, '<Preprocessor Value="%s"/>', p.esc(define):gsub(' ', '\\ '))
end
end
_p(3, '</Compiler>')
end
Expand Down
11 changes: 11 additions & 0 deletions modules/codelite/tests/test_codelite_config.lua
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,17 @@
]]
end

function suite.OnProjectCfg_Undefines()
defines { "TEST" }
undefines { "UNDEF" }
prepare()
codelite.project.compiler(cfg)
test.capture [[
<Compiler Options="-DTEST;-UUNDEF" C_Options="-DTEST;-UUNDEF" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="1">
</Compiler>
]]
end

function suite.OnProjectCfg_Pch()
pchheader "pch.h"
prepare()
Expand Down

0 comments on commit 3df1efc

Please sign in to comment.