Skip to content

Commit

Permalink
Run unit tests by default for desktop builds
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielMcInnes committed Jul 24, 2024
1 parent 568c6a3 commit c3ad5f4
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 8 deletions.
28 changes: 20 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,16 @@ else()
include(GNUInstallDirs)
endif()

option(LOAD_QML_FROM_FILESYSTEM "disable filesystem loading via cmake -DLOAD_QML_FROM_FILESYSTEM=OFF" ON) # Enabled by default
option(RUN_UNIT_TESTS "only affects desktop builds. Disable via cmake -DRUN_UNIT_TESTS=OFF" ON) # Enabled by default

if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})
set(VENUS_DESKTOP_BUILD ON)
endif()
if (${VENUS_DESKTOP_BUILD})
add_compile_definitions(VENUS_DESKTOP_BUILD)
enable_testing()
endif()
add_subdirectory(tests)

set(CMAKE_INCLUDE_CURRENT_DIR ON)
Expand All @@ -70,11 +80,6 @@ message("Building VenusOS for ${CMAKE_SYSTEM_NAME}")
message("CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
message("CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}")

option(VENUS_DESKTOP_BUILD "enable desktop build via cmake -DVENUS_DESKTOP_BUILD=ON" OFF) # Disabled by default
option(VENUS_WEBASSEMBLY_BUILD "enable webassembly build via cmake -DVENUS_WEBASSEMBLY_BUILD=ON" OFF) # Disabled by default
option(MQTT_WEBSOCKETS_ENABLED "enable websockets build via cmake -DMQTT_WEBSOCKETS_ENABLED=ON" OFF) # Disabled by default
option(LOAD_QML_FROM_FILESYSTEM "disable filesystem loading via cmake -DLOAD_QML_FROM_FILESYSTEM=OFF" ON) # Enabled by default

# If we want a release build, remove the '-g' debug compiler flag set by the environment setup script.
# Otherwise, our executable size ballons from ~10MB to ~220MB.
if(("${CMAKE_BUILD_TYPE}" STREQUAL "Release" OR "${CMAKE_BUILD_TYPE}" STREQUAL "MinSizeRel"))
Expand Down Expand Up @@ -1001,18 +1006,15 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Emscripten")
)
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
list(APPEND venusCompileFlags ${UNIX_COMPILE_FLAGS})
add_compile_definitions(VENUS_DESKTOP_BUILD)
qt_add_executable(${PROJECT_NAME}
MACOSX_BUNDLE
${SOURCES}
)
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
add_compile_definitions(VENUS_DESKTOP_BUILD)
qt_add_executable(${PROJECT_NAME}
${SOURCES}
)
elseif(VENUS_DESKTOP_BUILD)
add_compile_definitions(VENUS_DESKTOP_BUILD)
qt_add_executable(${PROJECT_NAME}
${SOURCES}
)
Expand All @@ -1023,6 +1025,16 @@ else()
)
endif()

if (("${RUN_UNIT_TESTS}" STREQUAL "ON") AND ${VENUS_DESKTOP_BUILD}) # Don't run unit tests when building wasm or cerbo
add_custom_command(
TARGET ${PROJECT_NAME}
COMMENT "Run tests"
POST_BUILD
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> --output-on-failures
)
endif()

qt_add_qml_module( ${PROJECT_NAME}
URI ${PROJECT_NAME}
VERSION 1.0
Expand Down
1 change: 1 addition & 0 deletions tests/firmwareversion/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,4 @@ target_link_libraries(tst_firmwareversion PRIVATE
Qt6::Quick
)

add_test(NAME ${PROJECT_NAME} COMMAND ${PROJECT_NAME})
1 change: 1 addition & 0 deletions tests/screenblanker/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,4 @@ target_link_libraries(tst_screenblanker PRIVATE
Qt6::Quick
)

add_test(NAME ${PROJECT_NAME} COMMAND ${PROJECT_NAME})
1 change: 1 addition & 0 deletions tests/units/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,4 @@ target_link_libraries(tst_units PRIVATE
Qt6::Quick
)

add_test(NAME ${PROJECT_NAME} COMMAND ${PROJECT_NAME})

0 comments on commit c3ad5f4

Please sign in to comment.