Revert "Updated to include build type and variant in binary names, so they don't need to be rebuilt everytime the configuration is changed."
Modifying the suffix variables broke the library file detection, at least on Windows. This reverts commit e6e7dbe6425e1b60cf6383242453d8fc8db8da1e.
This commit is contained in:
parent
e6e7dbe642
commit
3a3c79d240
40
SConscript
40
SConscript
@ -570,13 +570,11 @@ def _generate_project(project_type: str) -> None:
|
||||
for target in env['SPP_TARGETS']:
|
||||
if target.target_type == TargetType.PROGRAM:
|
||||
trgt = _target_entry(target.kwargs['target'])
|
||||
def _exe_path(build_type) -> str:
|
||||
exe_path = pathlib.Path(trgt.abspath).relative_to(root_path)
|
||||
exe_path = exe_path.parent / f'{env.subst("$PROGPREFIX")}{exe_path.name}{_make_suffix(env.subst("$ORIG_PROGSUFFIX"), build_type, variant)}'
|
||||
return str(exe_path)
|
||||
exe_path = pathlib.Path(trgt.abspath).relative_to(root_path)
|
||||
exe_path = exe_path.parent / f'{env["PROGPREFIX"]}{exe_path.name}{env["PROGSUFFIX"]}'
|
||||
result.append({
|
||||
'name': target.name,
|
||||
'filename': _exe_path
|
||||
'filename': str(exe_path)
|
||||
})
|
||||
return result
|
||||
def _get_libraries() -> list:
|
||||
@ -584,23 +582,19 @@ def _generate_project(project_type: str) -> None:
|
||||
for target in env['SPP_TARGETS']:
|
||||
if target.target_type == TargetType.STATIC_LIBRARY:
|
||||
trgt = _target_entry(target.kwargs['target'])
|
||||
def _lib_path(build_type) -> str:
|
||||
lib_path = pathlib.Path(trgt.abspath).relative_to(root_path)
|
||||
lib_path = lib_path.parent / f'{env.subst("$LIBPREFIX")}{lib_path.name}{_make_suffix(env.subst("ORIG_$LIBSUFFIX"), build_type, variant)}'
|
||||
return str(lib_path)
|
||||
lib_path = pathlib.Path(trgt.abspath).relative_to(root_path)
|
||||
lib_path = lib_path.parent / f'{env.subst("$LIBPREFIX")}{lib_path.name}{env.subst("$LIBSUFFIX")}'
|
||||
result.append({
|
||||
'name': target.name,
|
||||
'filename': _lib_path
|
||||
'filename': str(lib_path)
|
||||
})
|
||||
elif target.target_type == TargetType.SHARED_LIBRARY:
|
||||
trgt = _target_entry(target.kwargs['target'])
|
||||
def _lib_path(build_type) -> str:
|
||||
lib_path = pathlib.Path(trgt.abspath).relative_to(root_path)
|
||||
lib_path = lib_path.parent / f'{env.subst("$SHLIBPREFIX")}{lib_path.name}{_make_suffix(env.subst("ORIG_$SHLIBSUFFIX"), build_type, variant)}'
|
||||
return str(lib_path)
|
||||
lib_path = pathlib.Path(trgt.abspath).relative_to(root_path)
|
||||
lib_path = lib_path.parent / f'{env.subst("$SHLIBPREFIX")}{lib_path.name}{env.subst("$SHLIBSUFFIX")}'
|
||||
result.append({
|
||||
'name': target.name,
|
||||
'filename': _lib_path
|
||||
'filename': str(lib_path)
|
||||
})
|
||||
return result
|
||||
def _escape_path(input: str) -> str:
|
||||
@ -843,19 +837,9 @@ env['SPP_TARGET_DEPENDENCIES'] = []
|
||||
env['SPP_DEPENDENCIES'] = {}
|
||||
env['SPP_RECIPES'] = {}
|
||||
|
||||
def _make_suffix(orig: str, build_type: str, variant: str|None = None) -> str:
|
||||
add_to_suffix = f".{build_type}"
|
||||
if variant:
|
||||
add_to_suffix = f".{variant}{add_to_suffix}"
|
||||
return add_to_suffix + orig
|
||||
env['ORIG_LIBSUFFIX'] = env['LIBSUFFIX']
|
||||
env['ORIG_OBJSUFFIX'] = env['OBJSUFFIX']
|
||||
env['ORIG_PROGSUFFIX'] = env['PROGSUFFIX']
|
||||
env['ORIG_SHLIBSUFFIX'] = env['SHLIBSUFFIX']
|
||||
env['LIBSUFFIX'] = _make_suffix(env['LIBSUFFIX'], env['BUILD_TYPE'], variant)
|
||||
env['OBJSUFFIX'] = _make_suffix(env['OBJSUFFIX'], env['BUILD_TYPE'], variant)
|
||||
env['PROGSUFFIX'] = _make_suffix(env['PROGSUFFIX'], env['BUILD_TYPE'], variant)
|
||||
env['SHLIBSUFFIX'] = _make_suffix(env['SHLIBSUFFIX'], env['BUILD_TYPE'], variant)
|
||||
env['OBJSUFFIX'] = f".{env['BUILD_TYPE']}{env['OBJSUFFIX']}"
|
||||
if variant:
|
||||
env['OBJSUFFIX'] = f".{variant}{env['OBJSUFFIX']}"
|
||||
|
||||
# create the cache dir
|
||||
os.makedirs(env['CACHE_DIR'], exist_ok=True)
|
||||
|
@ -5,14 +5,14 @@
|
||||
<tool name="{{ executable.name }} {{ build_type_name }}" showInMainMenu="false" showInEditor="false" showInProject="false" showInSearchPopup="false" disabled="false" useConsole="true" showConsoleOnStdOut="false" showConsoleOnStdErr="false" synchronizeAfterRun="true">
|
||||
<exec>
|
||||
<option name="COMMAND" value="{{ scons_exe }}" />
|
||||
<option name="PARAMETERS" value="-j{{ nproc }} --build_type={{ build_type }} --unity=disable {{ executable.filename(build_type) }} compile_commands.json" />
|
||||
<option name="PARAMETERS" value="-j{{ nproc }} --build_type={{ build_type }} --unity=disable {{ executable.filename }} compile_commands.json" />
|
||||
<option name="WORKING_DIRECTORY" value="$ProjectFileDir$" />
|
||||
</exec>
|
||||
</tool>
|
||||
<tool name="{{ executable.name }} {{ build_type_name }} Clean" showInMainMenu="false" showInEditor="false" showInProject="false" showInSearchPopup="false" disabled="false" useConsole="true" showConsoleOnStdOut="false" showConsoleOnStdErr="false" synchronizeAfterRun="true">
|
||||
<exec>
|
||||
<option name="COMMAND" value="{{ scons_exe }}" />
|
||||
<option name="PARAMETERS" value="--build_type={{ build_type }} --unity=disable {{ executable.filename(build_type) }} -c" />
|
||||
<option name="PARAMETERS" value="--build_type={{ build_type }} --unity=disable {{ executable.filename }} -c" />
|
||||
<option name="WORKING_DIRECTORY" value="$ProjectFileDir$" />
|
||||
</exec>
|
||||
</tool>
|
||||
@ -24,14 +24,14 @@
|
||||
<tool name="{{ library.name }} {{ build_type_name }}" showInMainMenu="false" showInEditor="false" showInProject="false" showInSearchPopup="false" disabled="false" useConsole="true" showConsoleOnStdOut="false" showConsoleOnStdErr="false" synchronizeAfterRun="true">
|
||||
<exec>
|
||||
<option name="COMMAND" value="{{ scons_exe }}" />
|
||||
<option name="PARAMETERS" value="-j{{ nproc }} --build_type={{ build_type }} --unity=disable {{ library.filename(build_type) }} compile_commands.json" />
|
||||
<option name="PARAMETERS" value="-j{{ nproc }} --build_type={{ build_type }} --unity=disable {{ library.filename }} compile_commands.json" />
|
||||
<option name="WORKING_DIRECTORY" value="$ProjectFileDir$" />
|
||||
</exec>
|
||||
</tool>
|
||||
<tool name="{{ library.name }} {{ build_type_name }} Clean" showInMainMenu="false" showInEditor="false" showInProject="false" showInSearchPopup="false" disabled="false" useConsole="true" showConsoleOnStdOut="false" showConsoleOnStdErr="false" synchronizeAfterRun="true">
|
||||
<exec>
|
||||
<option name="COMMAND" value="{{ scons_exe }}" />
|
||||
<option name="PARAMETERS" value="--build_type={{ build_type }} --unity=disable {{ library.filename(build_type) }} -c" />
|
||||
<option name="PARAMETERS" value="--build_type={{ build_type }} --unity=disable {{ library.filename }} -c" />
|
||||
<option name="WORKING_DIRECTORY" value="$ProjectFileDir$" />
|
||||
</exec>
|
||||
</tool>
|
||||
|
@ -84,7 +84,7 @@
|
||||
{% for executable in project.executables -%}
|
||||
{% for build_type in project.build_types -%}
|
||||
{% set build_type_name = build_type | capitalize -%}
|
||||
<configuration name="{{ executable.name }} {{ build_type_name }}" type="CLionExternalRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="{{ project.name }}" TARGET_NAME="{{ executable.name }} {{ build_type_name }}" CONFIG_NAME="{{ executable.name }} {{ build_type_name }}" RUN_PATH="$PROJECT_DIR$/{{ executable.filename(build_type) }}">
|
||||
<configuration name="{{ executable.name }} {{ build_type_name }}" type="CLionExternalRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="{{ project.name }}" TARGET_NAME="{{ executable.name }} {{ build_type_name }}" CONFIG_NAME="{{ executable.name }} {{ build_type_name }}" RUN_PATH="$PROJECT_DIR$/{{ executable.filename }}">
|
||||
<method v="2">
|
||||
<option name="CLION.EXTERNAL.BUILD" enabled="true" />
|
||||
</method>
|
||||
|
@ -6,7 +6,7 @@
|
||||
"name": "Debug {{ executable.name }}",
|
||||
"type": "cppvsdbg",
|
||||
"request": "launch",
|
||||
"program": "{{ executable.filename(build_type) | escape_path }}",
|
||||
"program": "{{ executable.filename | escape_path }}",
|
||||
"args": [],
|
||||
"stopAtEntry": false,
|
||||
"cwd": "${workspaceFolder}",
|
||||
|
@ -9,7 +9,7 @@
|
||||
{
|
||||
"label": "{{ executable.name }} {{ build_type_name }}",
|
||||
"type": "shell",
|
||||
"command": "{{ scons_exe | escape_path }} -j{{ nproc }} --build_type={{ build_type }} --unity=disable {{ executable.filename(build_type) | escape_path }} compile_commands.json",
|
||||
"command": "{{ scons_exe | escape_path }} -j{{ nproc }} --build_type={{ build_type }} --unity=disable {{ executable.filename | escape_path }} compile_commands.json",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}"
|
||||
},
|
||||
@ -22,7 +22,7 @@
|
||||
{
|
||||
"label": "{{ executable.name }} {{ build_type_name }} Clean",
|
||||
"type": "shell",
|
||||
"command": "{{ scons_exe | escape_path }} --build_type={{ build_type }} --unity=disable {{ executable.filename(build_type) | escape_path }} -c",
|
||||
"command": "{{ scons_exe | escape_path }} --build_type={{ build_type }} --unity=disable {{ executable.filename | escape_path }} -c",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}"
|
||||
},
|
||||
@ -40,7 +40,7 @@
|
||||
{
|
||||
"label": "{{ library.name }} {{ build_type_name }}",
|
||||
"type": "shell",
|
||||
"command": "{{ scons_exe | escape_path }} -j{{ nproc }} --build_type={{ build_type }} --unity=disable {{ library.filename(build_type) | escape_path }} compile_commands.json",
|
||||
"command": "{{ scons_exe | escape_path }} -j{{ nproc }} --build_type={{ build_type }} --unity=disable {{ library.filename | escape_path }} compile_commands.json",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}"
|
||||
},
|
||||
@ -53,7 +53,7 @@
|
||||
{
|
||||
"label": "{{ library.name }} {{ build_type_name }} Clean",
|
||||
"type": "shell",
|
||||
"command": "{{ scons_exe | escape_path }} --build_type={{ build_type }} --unity=disable {{ library.filename(build_type) | escape_path }} -c",
|
||||
"command": "{{ scons_exe | escape_path }} --build_type={{ build_type }} --unity=disable {{ library.filename | escape_path }} -c",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}"
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user