spl-core 6.3.0__py3-none-any.whl → 6.4.0__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/__init__.py +1 -1
- spl_core/common.cmake +725 -0
- spl_core/conan.cmake +1037 -0
- spl_core/kconfig.cmake +41 -0
- spl_core/kickstart/templates/project/CMakeLists.txt +1 -1
- spl_core/spl.cmake +116 -0
- {spl_core-6.3.0.dist-info → spl_core-6.4.0.dist-info}/METADATA +1 -1
- {spl_core-6.3.0.dist-info → spl_core-6.4.0.dist-info}/RECORD +11 -7
- {spl_core-6.3.0.dist-info → spl_core-6.4.0.dist-info}/WHEEL +1 -1
- {spl_core-6.3.0.dist-info → spl_core-6.4.0.dist-info}/LICENSE +0 -0
- {spl_core-6.3.0.dist-info → spl_core-6.4.0.dist-info}/entry_points.txt +0 -0
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}/
|
|
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,12 +1,15 @@
|
|
|
1
|
-
spl_core/__init__.py,sha256=
|
|
1
|
+
spl_core/__init__.py,sha256=mLmu_37xnjX9cko1tT6SySyXdfQZ1f3ZP12S3GzhmVA,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=
|
|
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.
|
|
59
|
-
spl_core-6.
|
|
60
|
-
spl_core-6.
|
|
61
|
-
spl_core-6.
|
|
62
|
-
spl_core-6.
|
|
62
|
+
spl_core-6.4.0.dist-info/LICENSE,sha256=UjjA0o8f5tT3wVm7qodTLAhPWLl6kgVyn9FPAd1VeYY,1099
|
|
63
|
+
spl_core-6.4.0.dist-info/METADATA,sha256=EE21w-lBnPNxaJ4t5czLWp2milF2maDPYzp33uugbyk,5177
|
|
64
|
+
spl_core-6.4.0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
|
65
|
+
spl_core-6.4.0.dist-info/entry_points.txt,sha256=18_sdVY93N1GVBiAHxQ_F9ZM-bBvOmVMOMn7PNe2EqU,45
|
|
66
|
+
spl_core-6.4.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|