Enhance CMake configuration and CI/CD workflows for improved testing

- Updated CMakeLists.txt to introduce options for enabling experimental tests and minimal CI builds.
- Modified CMakePresets.json to refine test presets, including stable and experimental test configurations.
- Enhanced CI workflows in ci.yml to streamline testing processes, ensuring stable tests are prioritized and experimental tests are run separately.
- Added new documentation files outlining the CI/CD testing strategy and testing categories for better clarity on testing practices.
- Improved test discovery in CMakeLists.txt to simplify labeling and enhance CI efficiency.
This commit is contained in:
scawful
2025-09-25 09:39:33 -04:00
parent a1429a8199
commit e930789f4b
9 changed files with 486 additions and 56 deletions

View File

@@ -41,7 +41,13 @@ foreach (FILE ${YAZE_RESOURCE_FILES})
)
endforeach()
add_subdirectory(lib/nativefiledialog-extended)
# Conditionally add native file dialog (optional for CI builds)
if(NOT YAZE_MINIMAL_BUILD)
add_subdirectory(lib/nativefiledialog-extended)
set(YAZE_HAS_NFD ON)
else()
set(YAZE_HAS_NFD OFF)
endif()
if (YAZE_BUILD_APP)
include(app/app.cmake)

View File

@@ -50,10 +50,13 @@ target_include_directories(
${PROJECT_BINARY_DIR}
)
target_link_libraries(
yaze PRIVATE
nfd
)
# Conditionally link nfd if available
if(YAZE_HAS_NFD)
target_link_libraries(yaze PRIVATE nfd)
target_compile_definitions(yaze PRIVATE YAZE_ENABLE_NFD=1)
else()
target_compile_definitions(yaze PRIVATE YAZE_ENABLE_NFD=0)
endif()
target_link_libraries(
yaze PUBLIC