spl-core 7.1.0__tar.gz → 7.2.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-7.1.0 → spl_core-7.2.0}/PKG-INFO +2 -2
  2. {spl_core-7.1.0 → spl_core-7.2.0}/pyproject.toml +3 -3
  3. spl_core-7.2.0/src/spl_core/__init__.py +1 -0
  4. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/common.cmake +40 -22
  5. spl_core-7.1.0/src/spl_core/__init__.py +0 -1
  6. {spl_core-7.1.0 → spl_core-7.2.0}/LICENSE +0 -0
  7. {spl_core-7.1.0 → spl_core-7.2.0}/README.md +0 -0
  8. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/__run.py +0 -0
  9. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/common/__init__.py +0 -0
  10. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/common/command_line_executor.py +0 -0
  11. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/common/path.py +0 -0
  12. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/conan.cmake +0 -0
  13. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/config/KConfig +0 -0
  14. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/gcov_maid/__init__.py +0 -0
  15. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/gcov_maid/gcov_maid.py +0 -0
  16. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kconfig/__init__.py +0 -0
  17. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kconfig/kconfig.py +0 -0
  18. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kconfig.cmake +0 -0
  19. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/__init__.py +0 -0
  20. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/create.py +0 -0
  21. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/.vscode/cmake-variants.json +0 -0
  22. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/KConfig +0 -0
  23. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/src/greeter/CMakeLists.txt +0 -0
  24. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/src/greeter/doc/_images/screenshot.png +0 -0
  25. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/src/greeter/doc/index.rst +0 -0
  26. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/src/greeter/src/greeter.c +0 -0
  27. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/src/greeter/src/greeter.h +0 -0
  28. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/src/greeter/test/test_greeter.cc +0 -0
  29. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/src/main/CMakeLists.txt +0 -0
  30. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/src/main/doc/index.rst +0 -0
  31. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/src/main/src/main.c +0 -0
  32. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/test/EnglishVariant/test__EnglishVariant.py +0 -0
  33. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/test/German/test__GermanVariant.py +0 -0
  34. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/variants/EnglishVariant/config.cmake +0 -0
  35. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/variants/EnglishVariant/parts.cmake +0 -0
  36. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/variants/GermanVariant/config.cmake +0 -0
  37. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/variants/GermanVariant/config.txt +0 -0
  38. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/application/variants/GermanVariant/parts.cmake +0 -0
  39. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/.gitignore +0 -0
  40. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/.vscode/cmake-kits.json +0 -0
  41. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/.vscode/extensions.json +0 -0
  42. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/.vscode/launch.json +0 -0
  43. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/.vscode/settings.json +0 -0
  44. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/.vscode/tasks.json +0 -0
  45. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/CMakeLists.txt +0 -0
  46. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/README.md +0 -0
  47. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/build.bat +0 -0
  48. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/build.ps1 +0 -0
  49. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/conf.py +0 -0
  50. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/doc/Doxyfile.in +0 -0
  51. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/doc/common/index.rst +0 -0
  52. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/doc/components/index.rst +0 -0
  53. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/doc/doxygen-awesome/LICENSE +0 -0
  54. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/doc/doxygen-awesome/doxygen-awesome.css +0 -0
  55. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/doc/software_architecture/index.rst +0 -0
  56. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/doc/software_requirements/index.rst +0 -0
  57. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/doc/test_report_template.txt +0 -0
  58. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/index.rst +0 -0
  59. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/pipfile +0 -0
  60. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/pytest.ini +0 -0
  61. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/scoopfile.json +0 -0
  62. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/tools/toolchains/clang/toolchain.cmake +0 -0
  63. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/kickstart/templates/project/tools/toolchains/gcc/toolchain.cmake +0 -0
  64. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/main.py +0 -0
  65. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/spl.cmake +0 -0
  66. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/test_utils/base_variant_test_runner.py +0 -0
  67. {spl_core-7.1.0 → spl_core-7.2.0}/src/spl_core/test_utils/spl_build.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: spl-core
3
- Version: 7.1.0
3
+ Version: 7.2.0
4
4
  Summary: Software Product Line Support for CMake
5
5
  License: MIT
6
6
  Author: Avengineers
@@ -18,7 +18,7 @@ Classifier: Topic :: Software Development :: Libraries
18
18
  Requires-Dist: cookiecutter (==2.1.1)
19
19
  Requires-Dist: doxysphinx (>=3.3,<4.0)
20
20
  Requires-Dist: gcovr (>=8.3,<9.0)
21
- Requires-Dist: hammocking (>=0.4.1,<0.5.0)
21
+ Requires-Dist: hammocking (>=0.5,<0.6)
22
22
  Requires-Dist: kconfiglib (>=14.1,<15.0)
23
23
  Requires-Dist: mlx-traceability (>=10.0,<11.0)
24
24
  Requires-Dist: myst-parser (>=0.16)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "spl-core"
3
- version = "7.1.0"
3
+ version = "7.2.0"
4
4
  description = "Software Product Line Support for CMake"
5
5
  authors = ["Avengineers <karsten.guenther@kamg.de>"]
6
6
  license = "MIT"
@@ -28,7 +28,7 @@ python = ">=3.10,<3.12"
28
28
  py-app-dev = "^2.1"
29
29
  cookiecutter = "==2.1.1"
30
30
  gcovr = "^8.3"
31
- hammocking = "^0.4.1"
31
+ hammocking = "^0.5"
32
32
  kconfiglib = "^14.1"
33
33
  typer = "^0"
34
34
  doxysphinx = "^3.3"
@@ -52,7 +52,7 @@ pytest = "^7.0"
52
52
  pytest-cov = "^4.0"
53
53
  black = "^23.1.0"
54
54
  pre-commit = "^3.1.1"
55
- ruff = "^0.3.0"
55
+ ruff = "^0.5"
56
56
  jinja2 = "*"
57
57
  testfixtures = "*"
58
58
  junitparser = "*"
@@ -0,0 +1 @@
1
+ __version__ = "7.2.0"
@@ -505,30 +505,18 @@ function(_spl_coverage_create_overall_report)
505
505
  endif(_SPL_COVERAGE_CREATE_OVERALL_REPORT_IS_NECESSARY)
506
506
  endfunction(_spl_coverage_create_overall_report)
507
507
 
508
- macro(_spl_add_test_suite COMPONENT_NAME PROD_SRC TEST_SOURCES)
509
- _spl_set_coverage_create_overall_report_is_necessary()
510
-
511
- set(exe_name ${COMPONENT_NAME}_test)
512
- set(PROD_PARTIAL_LINK prod_partial_${COMPONENT_NAME}.obj)
513
- set(MOCK_SRC mockup_${COMPONENT_NAME}.cc)
514
-
515
- add_executable(${exe_name}
516
- ${TEST_SOURCES}
517
- ${MOCK_SRC}
518
- )
519
-
520
- # Create the component library
521
- add_library(${COMPONENT_NAME} OBJECT ${SOURCES})
508
+ macro(_spl_set_test_compile_and_link_options compilerId compilerVersion)
509
+ if(NOT ${compilerId} STREQUAL "GNU")
510
+ message(FATAL_ERROR "Unsupported compiler: ${compilerId} ${compilerVersion}")
511
+ endif()
522
512
 
523
513
  # Define list of test specific compile options for all sources
524
514
  # -ggdb: Produce debugging information to be able to set breakpoints.
525
515
  # -save-temps: save temporary files like preprocessed ones for debugging purposes
526
516
  set(TEST_COMPILE_OPTIONS -ggdb -save-temps)
527
517
 
528
- target_compile_options(${exe_name} PRIVATE ${TEST_COMPILE_OPTIONS})
529
-
530
518
  # Coverage data is only generated for the component's sources
531
- target_compile_options(${COMPONENT_NAME} PRIVATE --coverage -fcondition-coverage ${TEST_COMPILE_OPTIONS})
519
+ set(COMPONENT_TEST_COMPILE_OPTIONS --coverage ${TEST_COMPILE_OPTIONS})
532
520
 
533
521
  # Define list of test specific compile options for all sources
534
522
  # SPLE_UNIT_TESTING: add possibility to configure the code for unit testing
@@ -542,14 +530,43 @@ macro(_spl_add_test_suite COMPONENT_NAME PROD_SRC TEST_SOURCES)
542
530
  static_scope_file=
543
531
  )
544
532
 
545
- target_compile_definitions(${exe_name} PRIVATE ${TEST_COMPILE_DEFINITIONS})
533
+ set(TEST_LINK_OPTIONS -ggdb --coverage)
546
534
 
547
- target_compile_definitions(${COMPONENT_NAME} PRIVATE ${TEST_COMPILE_DEFINITIONS})
535
+ if(${compilerVersion} VERSION_GREATER_EQUAL 14.2)
536
+ # -fcondition-coverage: generate coverage data for conditionals
537
+ list(APPEND COMPONENT_TEST_COMPILE_OPTIONS -fcondition-coverage)
538
+ list(APPEND TEST_LINK_OPTIONS -fcondition-coverage)
539
+ message(STATUS "Condition coverage is enabled.")
540
+ else()
541
+ message(STATUS "Condition coverage is not supported by this compiler version.")
542
+ endif()
543
+ endmacro(_spl_set_test_compile_and_link_options)
548
544
 
549
- target_link_options(${exe_name}
550
- PRIVATE -ggdb --coverage -fcondition-coverage
545
+ macro(_spl_add_test_suite COMPONENT_NAME PROD_SRC TEST_SOURCES)
546
+ _spl_set_coverage_create_overall_report_is_necessary()
547
+
548
+ set(exe_name ${COMPONENT_NAME}_test)
549
+ set(PROD_PARTIAL_LINK prod_partial_${COMPONENT_NAME}.obj)
550
+ set(MOCK_SRC mockup_${COMPONENT_NAME}.cc)
551
+
552
+ _spl_set_test_compile_and_link_options(${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION})
553
+
554
+ add_executable(${exe_name}
555
+ ${TEST_SOURCES}
556
+ ${MOCK_SRC}
551
557
  )
552
558
 
559
+ target_compile_options(${exe_name} PRIVATE ${TEST_COMPILE_OPTIONS})
560
+ target_compile_definitions(${exe_name} PRIVATE ${TEST_COMPILE_DEFINITIONS})
561
+ target_link_options(${exe_name} PRIVATE ${TEST_LINK_OPTIONS})
562
+
563
+ # Create the component library for its productive sources
564
+ add_library(${COMPONENT_NAME} OBJECT ${SOURCES})
565
+
566
+ target_compile_options(${COMPONENT_NAME} PRIVATE ${COMPONENT_TEST_COMPILE_OPTIONS})
567
+
568
+ target_compile_definitions(${COMPONENT_NAME} PRIVATE ${TEST_COMPILE_DEFINITIONS})
569
+
553
570
  add_custom_command(
554
571
  OUTPUT ${PROD_PARTIAL_LINK}
555
572
  COMMAND ${CMAKE_CXX_COMPILER} -r -nostdlib -o ${PROD_PARTIAL_LINK} $<TARGET_OBJECTS:${COMPONENT_NAME}>
@@ -626,7 +643,7 @@ macro(_spl_add_test_suite COMPONENT_NAME PROD_SRC TEST_SOURCES)
626
643
  )
627
644
 
628
645
  gtest_discover_tests(${exe_name})
629
- endmacro()
646
+ endmacro(_spl_add_test_suite)
630
647
 
631
648
  macro(spl_add_conan_requires requirement)
632
649
  list(APPEND CONAN__REQUIRES ${requirement})
@@ -690,6 +707,7 @@ macro(_spl_set_ninja_wrapper_as_cmake_make)
690
707
  else()
691
708
  set(NINJA_WRAPPER ${CMAKE_SOURCE_DIR}/build/${VARIANT}/${BUILD_KIT}/ninja_wrapper.bat)
692
709
  endif()
710
+
693
711
  file(WRITE ${NINJA_WRAPPER}
694
712
  "@echo off
695
713
  @call %~dp0%/activate_run.bat
@@ -1 +0,0 @@
1
- __version__ = "7.1.0"
File without changes
File without changes
File without changes
File without changes