Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit 543ff09

Browse files
e10harveyWilliam McLendon
authored andcommitted
Fixes TRILFRAME-120
1 parent 2b54841 commit 543ff09

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

src/setprogramoptions/SetProgramOptionsCMake.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,13 @@ def _program_option_handler_opt_set_cmake_var_bash(self, params, value) -> str:
213213
params.append(":" + param_opts['TYPE'])
214214

215215
# Cache 'known' CMake vars here.
216+
try:
217+
if self._var_formatter_cache[varname] is not None and not param_opts['FORCE']:
218+
# Do not add this to the output unless it's a forceful set
219+
return None
220+
except:
221+
pass
222+
216223
self._var_formatter_cache[varname] = value
217224

218225
return self._generic_program_option_handler_bash(params, value)

src/setprogramoptions/unittests/files_ini/config_test_setprogramoptions.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,15 +143,15 @@ opt-set-cmake-var CMAKE_CXX_FLAGS STRING : "${LDFLAGS|ENV} -foo"
143143
[TEST_VAR_EXPANSION_UPDATE_01]
144144
opt-set cmake
145145
use TEST_VAR_EXPANSION_COMMON
146-
opt-set-cmake-var CMAKE_CXX_FLAGS STRING: "${CMAKE_CXX_FLAGS|CMAKE} -bar"
146+
opt-set-cmake-var CMAKE_CXX_FLAGS STRING FORCE : "${CMAKE_CXX_FLAGS|CMAKE} -bar"
147147

148148
[TEST_VAR_EXPANSION_UPDATE_02]
149149
use TEST_VAR_EXPANSION_UPDATE_01
150150
opt-set-cmake-var CMAKE_F90_FLAGS STRING: "${CMAKE_F90_FLAGS|CMAKE} -baz"
151151

152152
[TEST_VAR_EXPANSION_UPDATE_03]
153153
use TEST_VAR_EXPANSION_UPDATE_01
154-
opt-set-cmake-var CMAKE_CXX_FLAGS STRING: "${CMAKE_CXX_FLAGS|CMAKE} -bif"
154+
opt-set-cmake-var CMAKE_CXX_FLAGS STRING FORCE : "${CMAKE_CXX_FLAGS|CMAKE} -bif"
155155

156156

157157
[TEST_STRING_DOUBLE_QUOTES]

src/setprogramoptions/unittests/test_SetProgramOptionsCMake.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ def test_SetProgramOptionsCMake_gen_option_list_cmake_fragment_expandvars(self):
338338

339339
option_list_expect = [
340340
'set(CMAKE_CXX_FLAGS "$ENV{LDFLAGS} -foo" CACHE STRING "from .ini configuration")',
341-
'set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -bar" CACHE STRING "from .ini configuration")',
341+
'set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -bar" CACHE STRING "from .ini configuration" FORCE)',
342342
'set(CMAKE_F90_FLAGS "${CMAKE_F90_FLAGS} -baz" CACHE STRING "from .ini configuration")'
343343
]
344344

0 commit comments

Comments
 (0)