spl-core 6.5.0__tar.gz → 7.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. {spl_core-6.5.0 → spl_core-7.1.0}/PKG-INFO +1 -1
  2. {spl_core-6.5.0 → spl_core-7.1.0}/pyproject.toml +1 -1
  3. spl_core-7.1.0/src/spl_core/__init__.py +1 -0
  4. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/common.cmake +8 -3
  5. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/spl.cmake +1 -1
  6. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/test_utils/base_variant_test_runner.py +7 -7
  7. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/test_utils/spl_build.py +9 -1
  8. spl_core-6.5.0/src/spl_core/__init__.py +0 -1
  9. {spl_core-6.5.0 → spl_core-7.1.0}/LICENSE +0 -0
  10. {spl_core-6.5.0 → spl_core-7.1.0}/README.md +0 -0
  11. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/__run.py +0 -0
  12. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/common/__init__.py +0 -0
  13. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/common/command_line_executor.py +0 -0
  14. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/common/path.py +0 -0
  15. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/conan.cmake +0 -0
  16. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/config/KConfig +0 -0
  17. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/gcov_maid/__init__.py +0 -0
  18. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/gcov_maid/gcov_maid.py +0 -0
  19. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kconfig/__init__.py +0 -0
  20. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kconfig/kconfig.py +0 -0
  21. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kconfig.cmake +0 -0
  22. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/__init__.py +0 -0
  23. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/create.py +0 -0
  24. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/.vscode/cmake-variants.json +0 -0
  25. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/KConfig +0 -0
  26. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/src/greeter/CMakeLists.txt +0 -0
  27. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/src/greeter/doc/_images/screenshot.png +0 -0
  28. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/src/greeter/doc/index.rst +0 -0
  29. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/src/greeter/src/greeter.c +0 -0
  30. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/src/greeter/src/greeter.h +0 -0
  31. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/src/greeter/test/test_greeter.cc +0 -0
  32. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/src/main/CMakeLists.txt +0 -0
  33. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/src/main/doc/index.rst +0 -0
  34. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/src/main/src/main.c +0 -0
  35. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/test/EnglishVariant/test__EnglishVariant.py +0 -0
  36. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/test/German/test__GermanVariant.py +0 -0
  37. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/variants/EnglishVariant/config.cmake +0 -0
  38. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/variants/EnglishVariant/parts.cmake +0 -0
  39. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/variants/GermanVariant/config.cmake +0 -0
  40. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/variants/GermanVariant/config.txt +0 -0
  41. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/application/variants/GermanVariant/parts.cmake +0 -0
  42. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/.gitignore +0 -0
  43. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/.vscode/cmake-kits.json +0 -0
  44. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/.vscode/extensions.json +0 -0
  45. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/.vscode/launch.json +0 -0
  46. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/.vscode/settings.json +0 -0
  47. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/.vscode/tasks.json +0 -0
  48. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/CMakeLists.txt +0 -0
  49. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/README.md +0 -0
  50. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/build.bat +0 -0
  51. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/build.ps1 +0 -0
  52. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/conf.py +0 -0
  53. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/doc/Doxyfile.in +0 -0
  54. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/doc/common/index.rst +0 -0
  55. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/doc/components/index.rst +0 -0
  56. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/doc/doxygen-awesome/LICENSE +0 -0
  57. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/doc/doxygen-awesome/doxygen-awesome.css +0 -0
  58. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/doc/software_architecture/index.rst +0 -0
  59. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/doc/software_requirements/index.rst +0 -0
  60. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/doc/test_report_template.txt +0 -0
  61. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/index.rst +0 -0
  62. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/pipfile +0 -0
  63. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/pytest.ini +0 -0
  64. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/scoopfile.json +0 -0
  65. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/tools/toolchains/clang/toolchain.cmake +0 -0
  66. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/kickstart/templates/project/tools/toolchains/gcc/toolchain.cmake +0 -0
  67. {spl_core-6.5.0 → spl_core-7.1.0}/src/spl_core/main.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: spl-core
3
- Version: 6.5.0
3
+ Version: 7.1.0
4
4
  Summary: Software Product Line Support for CMake
5
5
  License: MIT
6
6
  Author: Avengineers
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "spl-core"
3
- version = "6.5.0"
3
+ version = "7.1.0"
4
4
  description = "Software Product Line Support for CMake"
5
5
  authors = ["Avengineers <karsten.guenther@kamg.de>"]
6
6
  license = "MIT"
@@ -0,0 +1 @@
1
+ __version__ = "7.1.0"
@@ -528,7 +528,7 @@ macro(_spl_add_test_suite COMPONENT_NAME PROD_SRC TEST_SOURCES)
528
528
  target_compile_options(${exe_name} PRIVATE ${TEST_COMPILE_OPTIONS})
529
529
 
530
530
  # Coverage data is only generated for the component's sources
531
- target_compile_options(${COMPONENT_NAME} PRIVATE --coverage ${TEST_COMPILE_OPTIONS})
531
+ target_compile_options(${COMPONENT_NAME} PRIVATE --coverage -fcondition-coverage ${TEST_COMPILE_OPTIONS})
532
532
 
533
533
  # Define list of test specific compile options for all sources
534
534
  # SPLE_UNIT_TESTING: add possibility to configure the code for unit testing
@@ -547,7 +547,7 @@ macro(_spl_add_test_suite COMPONENT_NAME PROD_SRC TEST_SOURCES)
547
547
  target_compile_definitions(${COMPONENT_NAME} PRIVATE ${TEST_COMPILE_DEFINITIONS})
548
548
 
549
549
  target_link_options(${exe_name}
550
- PRIVATE -ggdb --coverage
550
+ PRIVATE -ggdb --coverage -fcondition-coverage
551
551
  )
552
552
 
553
553
  add_custom_command(
@@ -684,7 +684,12 @@ macro(spl_run_conan)
684
684
  endmacro(spl_run_conan)
685
685
 
686
686
  macro(_spl_set_ninja_wrapper_as_cmake_make)
687
- set(NINJA_WRAPPER ${CMAKE_SOURCE_DIR}/build/${VARIANT}/${BUILD_KIT}/ninja_wrapper.bat)
687
+ # if CMAKE_BUILD_TYPE is not empty, NINJA_WRAPPER should be placed in the build directory with build type
688
+ if(CMAKE_BUILD_TYPE)
689
+ set(NINJA_WRAPPER ${CMAKE_SOURCE_DIR}/build/${VARIANT}/${BUILD_KIT}/${CMAKE_BUILD_TYPE}/ninja_wrapper.bat)
690
+ else()
691
+ set(NINJA_WRAPPER ${CMAKE_SOURCE_DIR}/build/${VARIANT}/${BUILD_KIT}/ninja_wrapper.bat)
692
+ endif()
688
693
  file(WRITE ${NINJA_WRAPPER}
689
694
  "@echo off
690
695
  @call %~dp0%/activate_run.bat
@@ -16,7 +16,7 @@ string(REPLACE "/" "_" BINARY_BASENAME ${VARIANT})
16
16
  # Set SPL relevant variables as environment variables.
17
17
  # Can easily be extended in CMakeLists.txt of project.
18
18
  # Also used for KConfig variable expansion.
19
- list(APPEND ENVVARS FLAVOR SUBSYSTEM VARIANT BUILD_KIT BINARY_BASENAME CMAKE_SOURCE_DIR)
19
+ list(APPEND ENVVARS FLAVOR SUBSYSTEM VARIANT BUILD_KIT CMAKE_BUILD_TYPE BINARY_BASENAME CMAKE_SOURCE_DIR)
20
20
 
21
21
  foreach(ENVVAR IN LISTS ENVVARS)
22
22
  set(ENV{${ENVVAR}} "${${ENVVAR}}")
@@ -1,7 +1,7 @@
1
1
  import re
2
2
  from abc import ABC, abstractmethod
3
3
  from pathlib import Path
4
- from typing import List
4
+ from typing import List, Optional
5
5
 
6
6
  import pytest
7
7
 
@@ -60,8 +60,8 @@ class BaseVariantTestRunner(ABC):
60
60
  assert Path.joinpath(dir, artifact).exists(), f"Artifact {Path.joinpath(dir, artifact)} does not exist" # noqa: S101
61
61
 
62
62
  @pytest.mark.build
63
- def test_build(self) -> None:
64
- spl_build: SplBuild = SplBuild(variant=self.variant, build_kit="prod")
63
+ def test_build(self, build_type: Optional[str] = None) -> None:
64
+ spl_build: SplBuild = SplBuild(variant=self.variant, build_kit="prod", build_type=build_type)
65
65
  assert 0 == spl_build.execute(target="all") # noqa: S101
66
66
  for artifact in self.expected_build_artifacts:
67
67
  self.assert_artifact_exists(dir=spl_build.build_dir, artifact=artifact)
@@ -72,15 +72,15 @@ class BaseVariantTestRunner(ABC):
72
72
  spl_build.create_artifacts_json(self.expected_archive_artifacts)
73
73
 
74
74
  @pytest.mark.unittests
75
- def test_unittests(self) -> None:
76
- spl_build: SplBuild = SplBuild(variant=self.variant, build_kit="test")
75
+ def test_unittests(self, build_type: Optional[str] = None) -> None:
76
+ spl_build: SplBuild = SplBuild(variant=self.variant, build_kit="test", build_type=build_type)
77
77
  assert 0 == spl_build.execute(target="unittests") # noqa: S101
78
78
  for artifact in self.expected_test_artifacts:
79
79
  self.assert_artifact_exists(dir=spl_build.build_dir, artifact=artifact)
80
80
 
81
81
  @pytest.mark.reports
82
- def test_reports(self) -> None:
83
- spl_build: SplBuild = SplBuild(variant=self.variant, build_kit="test")
82
+ def test_reports(self, build_type: Optional[str] = None) -> None:
83
+ spl_build: SplBuild = SplBuild(variant=self.variant, build_kit="test", build_type=build_type)
84
84
  assert 0 == spl_build.execute(target="all") # noqa: S101
85
85
  for artifact in self.expected_variant_report_artifacts:
86
86
  self.assert_artifact_exists(dir=spl_build.build_dir, artifact=artifact)
@@ -41,17 +41,19 @@ class ArtifactsCollection:
41
41
  class SplBuild:
42
42
  """Class for building an SPL repository."""
43
43
 
44
- def __init__(self, variant: str, build_kit: str):
44
+ def __init__(self, variant: str, build_kit: str, build_type: Optional[str] = None) -> None:
45
45
  """
46
46
  Initialize a SplBuild instance.
47
47
 
48
48
  Args:
49
49
  variant (str): The build variant.
50
50
  build_kit (str): The build kit.
51
+ build_type (str, optional): The build type. Defaults to None.
51
52
 
52
53
  """
53
54
  self.variant = variant
54
55
  self.build_kit = build_kit
56
+ self.build_type = build_type
55
57
 
56
58
  @property
57
59
  def build_dir(self) -> Path:
@@ -62,6 +64,8 @@ class SplBuild:
62
64
  Path: The build directory path.
63
65
 
64
66
  """
67
+ if self.build_type:
68
+ return Path(f"build/{self.variant}/{self.build_kit}/{self.build_type}")
65
69
  return Path(f"build/{self.variant}/{self.build_kit}")
66
70
 
67
71
  @time_it()
@@ -91,6 +95,8 @@ class SplBuild:
91
95
  target,
92
96
  "-reconfigure",
93
97
  ]
98
+ if self.build_type:
99
+ cmd.extend(["-buildType", self.build_type])
94
100
  cmd.extend(additional_args)
95
101
  result = CommandLineExecutor().execute(cmd)
96
102
  return_code = result.returncode
@@ -155,6 +161,8 @@ class SplBuild:
155
161
  "build_kit": self.build_kit,
156
162
  "artifacts": [str(artifact.archive_path.as_posix()) for artifact in artifacts_collection.archive_artifacts],
157
163
  }
164
+ if self.build_type:
165
+ json_content["build_type"] = self.build_type
158
166
  json_path = self.build_dir / "artifacts.json"
159
167
 
160
168
  json_path.write_text(json.dumps(json_content, indent=4))
@@ -1 +0,0 @@
1
- __version__ = "6.5.0"
File without changes
File without changes
File without changes
File without changes