spl-core 6.3.1__py3-none-any.whl → 6.4.1__py3-none-any.whl

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.
spl_core/kconfig.cmake ADDED
@@ -0,0 +1,41 @@
1
+ # Paths for KConfig output
2
+ set(KCONFIG_OUT_DIR ${PROJECT_BINARY_DIR}/kconfig)
3
+ set(AUTOCONF_H ${KCONFIG_OUT_DIR}/autoconf.h)
4
+ set(AUTOCONF_JSON ${KCONFIG_OUT_DIR}/autoconf.json)
5
+ set(AUTOCONF_CMAKE ${KCONFIG_OUT_DIR}/autoconf.cmake)
6
+ set(KCONFIG_MODEL_FILE ${PROJECT_SOURCE_DIR}/KConfig)
7
+ set(KCONFIG_CONFIG_FILE ${PROJECT_SOURCE_DIR}/variants/${VARIANT}/config.txt)
8
+
9
+ if(EXISTS ${KCONFIG_MODEL_FILE})
10
+ set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${KCONFIG_MODEL_FILE})
11
+
12
+ if(EXISTS ${KCONFIG_CONFIG_FILE})
13
+ set(_KCONFIG_CONFIG_FILE_option --kconfig_config_file ${KCONFIG_CONFIG_FILE})
14
+ set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${KCONFIG_CONFIG_FILE})
15
+ else()
16
+ message(STATUS "No variant configuration found, using defaults.")
17
+ endif()
18
+
19
+ # TODO: kconfig.py should not update its outputs when the inputs did not change.
20
+ # So an incremental build with configure is not possible. autoconf.h gets updated
21
+ # every time (although the content did not change). Therefore stuff gets compiled.
22
+ execute_process(
23
+ WORKING_DIRECTORY ${SPL_CORE_ROOT_DIRECTORY} # TODO: is there a better way to let kconfig.py find other modules?
24
+ COMMAND python ${SPL_CORE_PYTHON_DIRECTORY}/kconfig/kconfig.py
25
+ --kconfig_model_file ${KCONFIG_MODEL_FILE} ${_KCONFIG_CONFIG_FILE_option}
26
+ --out_header_file ${AUTOCONF_H}
27
+ --out_json_file ${AUTOCONF_JSON}
28
+ --out_cmake_file ${AUTOCONF_CMAKE}
29
+ COMMAND_ECHO STDOUT
30
+ RESULT_VARIABLE ret
31
+ )
32
+
33
+ if(NOT "${ret}" STREQUAL "0")
34
+ message(FATAL_ERROR "KConfig failed with return code: ${ret}")
35
+ endif()
36
+
37
+ # Make the generated files location public
38
+ include_directories(${KCONFIG_OUT_DIR})
39
+ else()
40
+ message(STATUS "No KConfig feature model file found, skipping KConfig.")
41
+ endif()
@@ -22,7 +22,7 @@ include(FetchContent)
22
22
  # Include spl-core
23
23
  if(DEFINED ENV{SPLCORE_PATH})
24
24
  message(WARNING "SPLCORE_PATH defined! Use fixed SPL-CORE version from: $ENV{SPLCORE_PATH}")
25
- include($ENV{SPLCORE_PATH}/cmake/spl.cmake)
25
+ include($ENV{SPLCORE_PATH}/spl.cmake)
26
26
  else()
27
27
  # Fetch spl-core
28
28
  FetchContent_Declare(
spl_core/spl.cmake ADDED
@@ -0,0 +1,116 @@
1
+ # Define the SPL Core root directory to be used to refer to files
2
+ # relative to the SPL Core installation directory.
3
+ set(SPL_CORE_ROOT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
4
+ set(SPL_CORE_CMAKE_DIRECTORY ${SPL_CORE_ROOT_DIRECTORY})
5
+ set(SPL_CORE_PYTHON_DIRECTORY ${SPL_CORE_ROOT_DIRECTORY})
6
+
7
+ # Always create a compile_commands.json file for C/C++ intellisense / CMake Tools extension
8
+ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
9
+
10
+ # The link target needs a name. This is not the name of the executable.
11
+ set(LINK_TARGET_NAME link)
12
+
13
+ # The variant's name is used to determine the base name of the created binaries.
14
+ string(REPLACE "/" "_" BINARY_BASENAME ${VARIANT})
15
+
16
+ # Set SPL relevant variables as environment variables.
17
+ # Can easily be extended in CMakeLists.txt of project.
18
+ # Also used for KConfig variable expansion.
19
+ list(APPEND ENVVARS FLAVOR SUBSYSTEM VARIANT BUILD_KIT BINARY_BASENAME CMAKE_SOURCE_DIR)
20
+
21
+ foreach(ENVVAR IN LISTS ENVVARS)
22
+ set(ENV{${ENVVAR}} "${${ENVVAR}}")
23
+ endforeach()
24
+
25
+ # Include common CMake functions and macros
26
+ include(${SPL_CORE_CMAKE_DIRECTORY}/common.cmake)
27
+
28
+ # Include and run KConfig
29
+ include(${SPL_CORE_CMAKE_DIRECTORY}/kconfig.cmake)
30
+
31
+ if(EXISTS ${AUTOCONF_CMAKE})
32
+ include(${AUTOCONF_CMAKE})
33
+ endif(EXISTS ${AUTOCONF_CMAKE})
34
+
35
+ if(BUILD_KIT STREQUAL prod)
36
+ # set default link target output name and extension
37
+ if(LINKER_OUTPUT_FILE)
38
+ get_filename_component(LINK_FILE_BASENAME ${LINKER_OUTPUT_FILE} NAME_WE)
39
+ get_filename_component(LINK_FILE_EXTENSION ${LINKER_OUTPUT_FILE} EXT)
40
+
41
+ # add variant specific linker script if defined
42
+ if(VARIANT_LINKER_FILE)
43
+ list(APPEND LINK_TARGET_DEPENDS ${VARIANT_LINKER_FILE})
44
+ endif(VARIANT_LINKER_FILE)
45
+
46
+ # create executable
47
+ add_executable(${LINK_TARGET_NAME} ${LINK_TARGET_DEPENDS})
48
+ target_compile_options(${LINK_TARGET_NAME} PRIVATE ${VARIANT_ADDITIONAL_LINK_FLAGS})
49
+ set_target_properties(${LINK_TARGET_NAME} PROPERTIES
50
+ OUTPUT_NAME ${LINK_FILE_BASENAME}
51
+ SUFFIX ${LINK_FILE_EXTENSION}
52
+ LINK_DEPENDS "${LINK_TARGET_DEPENDS}"
53
+ )
54
+
55
+ if(LINKER_BYPRODUCTS_EXTENSIONS)
56
+ # combine basename and byproduct extension
57
+ string(REPLACE "," ";" LINKER_BYPRODUCTS "${LINKER_BYPRODUCTS_EXTENSIONS}")
58
+ list(TRANSFORM LINKER_BYPRODUCTS PREPEND ${LINK_FILE_BASENAME}.)
59
+ endif(LINKER_BYPRODUCTS_EXTENSIONS)
60
+
61
+ if(LINKER_BYPRODUCT_HEX)
62
+ list(APPEND LINKER_BYPRODUCTS ${LINKER_BYPRODUCT_HEX})
63
+ endif(LINKER_BYPRODUCT_HEX)
64
+
65
+ if(LINKER_BYPRODUCT_MAP)
66
+ list(APPEND LINKER_BYPRODUCTS ${LINKER_BYPRODUCT_MAP})
67
+ endif(LINKER_BYPRODUCT_MAP)
68
+
69
+ if(LINKER_BYPRODUCT_MDF)
70
+ list(APPEND LINKER_BYPRODUCTS ${LINKER_BYPRODUCT_MDF})
71
+ endif(LINKER_BYPRODUCT_MDF)
72
+
73
+ if(LINKER_BYPRODUCT_OTHERS)
74
+ string(REPLACE "," ";" LINKER_BYPRODUCTS_TMP "${LINKER_BYPRODUCT_OTHERS}")
75
+ list(APPEND LINKER_BYPRODUCTS ${LINKER_BYPRODUCTS_TMP})
76
+ endif(LINKER_BYPRODUCT_OTHERS)
77
+
78
+ if(LINKER_BYPRODUCTS)
79
+ add_custom_target(
80
+ linker_byproducts ALL
81
+ COMMAND ${CMAKE_COMMAND} -E true
82
+ DEPENDS ${LINKER_OUTPUT_FILE}
83
+ BYPRODUCTS ${LINKER_BYPRODUCTS}
84
+ )
85
+ endif(LINKER_BYPRODUCTS)
86
+ endif(LINKER_OUTPUT_FILE)
87
+ elseif(BUILD_KIT STREQUAL test)
88
+ _spl_get_google_test()
89
+ include(CTest)
90
+ list(APPEND CMAKE_CTEST_ARGUMENTS "--output-on-failure")
91
+
92
+ add_custom_target(coverage)
93
+ else()
94
+ message(FATAL_ERROR "Invalid BUILD_KIT selected!")
95
+ endif(BUILD_KIT STREQUAL prod)
96
+
97
+ # # Things to be done at the very end of configure phase as if they would be at bottom of CMakelists.txt
98
+ cmake_language(DEFER DIRECTORY ${CMAKE_SOURCE_DIR} CALL _spl_hook_end_of_configure())
99
+
100
+ function(_spl_hook_end_of_configure)
101
+ if(BUILD_KIT STREQUAL test)
102
+ _spl_coverage_create_overall_report()
103
+ _spl_create_docs_target()
104
+ _spl_create_reports_target()
105
+ endif(BUILD_KIT STREQUAL test)
106
+ _spl_create_build_info_file()
107
+ endfunction(_spl_hook_end_of_configure)
108
+
109
+ # # This is one possibility to open guiconfig of kconfiglib. VSCode task is the preferred solution
110
+ set(_CONFIGURATION_TARGET configuration.stamp)
111
+ add_custom_command(
112
+ OUTPUT ${_CONFIGURATION_TARGET}
113
+ COMMAND set "KCONFIG_CONFIG=${CMAKE_SOURCE_DIR}/variants/${VARIANT}/config.txt" && cd ${CMAKE_SOURCE_DIR} && guiconfig
114
+ )
115
+
116
+ add_custom_target(configuration DEPENDS ${_CONFIGURATION_TARGET})
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: spl-core
3
- Version: 6.3.1
3
+ Version: 6.4.1
4
4
  Summary: Software Product Line Support for CMake
5
5
  License: MIT
6
6
  Author: Avengineers
@@ -16,26 +16,26 @@ Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Topic :: Software Development :: Libraries
18
18
  Requires-Dist: cookiecutter (==2.1.1)
19
- Requires-Dist: doxysphinx (>=3.3.7,<4.0.0)
20
- Requires-Dist: gcovr
21
- Requires-Dist: hammocking
22
- Requires-Dist: kconfiglib
23
- Requires-Dist: mlx-traceability (>=10.0.0,<11.0.0)
19
+ Requires-Dist: doxysphinx (>=3.3,<4.0)
20
+ Requires-Dist: gcovr (>=8.3,<9.0)
21
+ Requires-Dist: hammocking (>=0.4.1,<0.5.0)
22
+ Requires-Dist: kconfiglib (>=14.1,<15.0)
23
+ Requires-Dist: mlx-traceability (>=10.0,<11.0)
24
24
  Requires-Dist: myst-parser (>=0.16)
25
25
  Requires-Dist: py-app-dev (>=2.1,<3.0)
26
- Requires-Dist: sphinx (>=7.3.5,<8.0.0)
27
- Requires-Dist: sphinx-book-theme (>=1.1.2,<2.0.0)
28
- Requires-Dist: sphinx-copybutton (>=0.5.2,<0.6.0)
29
- Requires-Dist: sphinx-design (>=0.5.0,<0.6.0)
30
- Requires-Dist: sphinx-needs (>=2.0.0,<3.0.0)
31
- Requires-Dist: sphinx-new-tab-link (>=0.4.0,<0.5.0)
32
- Requires-Dist: sphinx-rtd-size (>=0.2.0,<0.3.0)
33
- Requires-Dist: sphinx-rtd-theme (>=2.0.0,<3.0.0)
34
- Requires-Dist: sphinx-test-reports (>=1.0.2,<2.0.0)
35
- Requires-Dist: sphinxcontrib-datatemplates (>=0.11.0,<0.12.0)
36
- Requires-Dist: sphinxcontrib-mermaid (>=0.9.2,<0.10.0)
26
+ Requires-Dist: sphinx (>=7.3,<8.0)
27
+ Requires-Dist: sphinx-book-theme (>=1.1,<2.0)
28
+ Requires-Dist: sphinx-copybutton (>=0.5,<0.6)
29
+ Requires-Dist: sphinx-design (>=0.5,<0.6)
30
+ Requires-Dist: sphinx-needs (>=2.0,<3.0)
31
+ Requires-Dist: sphinx-new-tab-link (>=0.4,<0.5)
32
+ Requires-Dist: sphinx-rtd-size (>=0.2,<0.3)
33
+ Requires-Dist: sphinx-rtd-theme (>=2.0,<3.0)
34
+ Requires-Dist: sphinx-test-reports (>=1.0,<2.0)
35
+ Requires-Dist: sphinxcontrib-datatemplates (>=0.11,<0.12)
36
+ Requires-Dist: sphinxcontrib-mermaid (>=0.9,<0.10)
37
37
  Requires-Dist: sphinxcontrib-plantuml (>=0.29,<0.30)
38
- Requires-Dist: typer (>=0.12.3,<0.13.0)
38
+ Requires-Dist: typer (>=0,<1)
39
39
  Project-URL: Bug Tracker, https://github.com/avengineers/spl-core/issues
40
40
  Project-URL: Changelog, https://github.com/avengineers/spl-core/blob/develop/CHANGELOG.md
41
41
  Project-URL: Documentation, https://spl-core.readthedocs.io
@@ -1,12 +1,15 @@
1
- spl_core/__init__.py,sha256=pM7gHyeWFY4GDFAxcDi8cHwCw8YNk6zQN8QWLwNdwI4,22
1
+ spl_core/__init__.py,sha256=GH_YrEsDwB0Ju5p-I4jYcuvVAMkFfVBYw2mMejqPF1Y,22
2
2
  spl_core/__run.py,sha256=DphnN7_Bjiw_mOOztsHxTDHS8snz1g2MMWAaJpZxPKM,361
3
3
  spl_core/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  spl_core/common/command_line_executor.py,sha256=GHIMpNiMD_eP44vq7L_HiC08aKt7lgW_wn_omU6REwQ,2217
5
5
  spl_core/common/path.py,sha256=sDujd3n4XP1XGjHc7ImXEdjihO6A8BOIDbKCf7HgQ0Y,462
6
+ spl_core/common.cmake,sha256=SGDojoED4jazy_Y8C2lo31F1oYNChbTYbRk0UkGWOcc,32415
7
+ spl_core/conan.cmake,sha256=i1AuyN-e8cczX7TI1nl6e3Y8N-EP-QXPVY7LG6NUyJY,41958
6
8
  spl_core/gcov_maid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
9
  spl_core/gcov_maid/gcov_maid.py,sha256=5rPIeL9daQDm5ad9xzaIhlDf_0H5g6r2zHo8WN8T4-8,1455
8
10
  spl_core/kconfig/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
11
  spl_core/kconfig/kconfig.py,sha256=JLBSUvPnc5dEZNWHeuMTFgP9iBgtzEV6tnrhE4-5oCg,9795
12
+ spl_core/kconfig.cmake,sha256=5S8MeW9RAl1jZHxSUzZFmbPaaCI5EPbfwyQErl0auvs,1845
10
13
  spl_core/kickstart/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
14
  spl_core/kickstart/create.py,sha256=Lv7-3nb71HKmclHBSCliLKiFdmAIOBl1VTvA39YboLQ,2741
12
15
  spl_core/kickstart/templates/application/.vscode/cmake-variants.json,sha256=sF_dsbdrDwhfIo5EfGzvIgMZZcz5Z5k4Al0qrS8j7AY,553
@@ -33,7 +36,7 @@ spl_core/kickstart/templates/project/.vscode/extensions.json,sha256=49RYati_P9i3
33
36
  spl_core/kickstart/templates/project/.vscode/launch.json,sha256=30-tsNapUNNIvVDohdIf4SEnHrHh8qbWuTjLJjsMcEY,1103
34
37
  spl_core/kickstart/templates/project/.vscode/settings.json,sha256=w2zAkNk4P0eZC5zDxiG7jKy35Jl37TyVDg38lXjq3hw,1369
35
38
  spl_core/kickstart/templates/project/.vscode/tasks.json,sha256=fPaiY-vpI-3wMK0dpc3LZma4-YYyaI_xc6uQrEUf6sw,3434
36
- spl_core/kickstart/templates/project/CMakeLists.txt,sha256=uVrk_6B83NMUet3DcCG1bl26P6nUND1tRDCBP02kusI,1460
39
+ spl_core/kickstart/templates/project/CMakeLists.txt,sha256=xLLmYujryWwBrIZTONzR88qSFx0VmgPGkt5xPszsMXA,1454
37
40
  spl_core/kickstart/templates/project/README.md,sha256=k-P_SycFIRnRmjjUoAiDrRF8Gg1Te-qErAX-pgtYuqg,310
38
41
  spl_core/kickstart/templates/project/build.bat,sha256=HlOqePYRoHTrp7v6oQ551dXI-qCymGCG0gQ9Au6bpos,73
39
42
  spl_core/kickstart/templates/project/build.ps1,sha256=oQSCxUoleJSkBSRW3nTqg_23eANh9mfjlJPgTfH21Ak,11057
@@ -53,10 +56,11 @@ spl_core/kickstart/templates/project/scoopfile.json,sha256=DcfZ8jYf9hmPHM-AWwnPK
53
56
  spl_core/kickstart/templates/project/tools/toolchains/clang/toolchain.cmake,sha256=fDD-eb6DeqmAYkCbILL2V5PLnCPRdTu1Tpg0WfDC_dE,713
54
57
  spl_core/kickstart/templates/project/tools/toolchains/gcc/toolchain.cmake,sha256=AmLzPyhTgfc_Dsre4AlsvSOkVGW6VswWvrEnUL8JLhA,183
55
58
  spl_core/main.py,sha256=_hL4j155WZMXog_755bgAH1PeUwvTdJZvVdVw9EWhvo,1225
59
+ spl_core/spl.cmake,sha256=uG1tnDba1Tgjj1ql5rgIRJFkfi9CY9IHoYLePWklYxw,4524
56
60
  spl_core/test_utils/base_variant_test_runner.py,sha256=jW9mRbSI0rSFLh-lOwkj7oJgyk2xm07Dw63vhJmnE3s,3312
57
61
  spl_core/test_utils/spl_build.py,sha256=TtYFTY94Fa9eXdtY9NavrCulx-NEONRm81GSLHGB_yQ,5599
58
- spl_core-6.3.1.dist-info/LICENSE,sha256=UjjA0o8f5tT3wVm7qodTLAhPWLl6kgVyn9FPAd1VeYY,1099
59
- spl_core-6.3.1.dist-info/METADATA,sha256=7XyjdcqBHf6d26tLVU2eMwEPC8EPA8eiG9K52HHC56o,5177
60
- spl_core-6.3.1.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
61
- spl_core-6.3.1.dist-info/entry_points.txt,sha256=18_sdVY93N1GVBiAHxQ_F9ZM-bBvOmVMOMn7PNe2EqU,45
62
- spl_core-6.3.1.dist-info/RECORD,,
62
+ spl_core-6.4.1.dist-info/LICENSE,sha256=UjjA0o8f5tT3wVm7qodTLAhPWLl6kgVyn9FPAd1VeYY,1099
63
+ spl_core-6.4.1.dist-info/METADATA,sha256=Pe5R0z9o9SuogZt1CaP8M9gGKbaadxdkHYhX2wosZ8M,5160
64
+ spl_core-6.4.1.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
65
+ spl_core-6.4.1.dist-info/entry_points.txt,sha256=18_sdVY93N1GVBiAHxQ_F9ZM-bBvOmVMOMn7PNe2EqU,45
66
+ spl_core-6.4.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.0.1
2
+ Generator: poetry-core 2.1.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any