Skip to content

Commit

Permalink
Fixing broken deployment UT sets
Browse files Browse the repository at this point in the history
  • Loading branch information
LeStarch committed Jul 11, 2023
1 parent f90519b commit 6cacc5b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 11 deletions.
2 changes: 1 addition & 1 deletion cmake/module.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ function(generate_base_module_properties TARGET_TYPE TARGET_NAME SOURCE_FILES DE
elseif(TARGET_TYPE STREQUAL "Library")
add_library("${TARGET_NAME}" "${EMPTY}")
else()
message(FATAL_ERROR "Module ${TARGET_NAME} cannot register object of type ${TARGET_TYPE}")
message(FATAL_ERROR "Module ${FPRIME_CURRENT_MODULE} cannot register object of type ${TARGET_TYPE}")
endif()

# Handle updates when the types have diverged
Expand Down
24 changes: 14 additions & 10 deletions cmake/target/ut.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -81,26 +81,30 @@ function(ut_add_module_target MODULE_NAME TARGET_NAME SOURCE_FILES DEPENDENCIES)
if (NOT BUILD_TESTING OR NOT MODULE_TYPE STREQUAL "Unit Test")
return()
endif()
message(STATUS "Adding Unit Test: ${UT_EXE_NAME}")
# Set some local variables
set(UT_EXECUTABLE_TARGET "${MODULE_NAME}")
set(UT_MODULE_TARGET "${FPRIME_CURRENT_MODULE}_${UT_TARGET}")

message(STATUS "Adding Unit Test: ${UT_EXECUTABLE_TARGET}")
run_ac_set("${SOURCE_FILES}" autocoder/fpp autocoder/ai_ut)
resolve_dependencies(RESOLVED gtest_main ${DEPENDENCIES} ${AC_DEPENDENCIES})
build_setup_build_module("${UT_EXE_NAME}" "${SOURCE_FILES}" "${AC_GENERATED}" "${AC_SOURCES}" "${RESOLVED}")
build_setup_build_module("${UT_EXECUTABLE_TARGET}" "${SOURCE_FILES}" "${AC_GENERATED}" "${AC_SOURCES}" "${RESOLVED}")

ut_setup_unit_test_include_directories("${UT_EXE_NAME}" "${SOURCE_FILES}")
add_test(NAME ${UT_EXE_NAME} COMMAND ${UT_EXE_NAME})
ut_setup_unit_test_include_directories("${UT_EXECUTABLE_TARGET}" "${SOURCE_FILES}")
add_test(NAME ${UT_EXECUTABLE_TARGET} COMMAND ${UT_EXECUTABLE_TARGET})

# Create a module-level target if not already done
if (NOT TARGET "${MODULE_NAME}_${UT_TARGET}" AND FPRIME_ENABLE_UTIL_TARGETS)
add_custom_target("${MODULE_NAME}_${UT_TARGET}")
if (NOT TARGET "${UT_MODULE_TARGET}" AND FPRIME_ENABLE_UTIL_TARGETS)
add_custom_target("${UT_MODULE_TARGET}")
endif()
# Add module level target dependencies to this UT
if (FPRIME_ENABLE_UTIL_TARGETS)
add_dependencies("${MODULE_NAME}_${UT_TARGET}" "${UT_EXE_NAME}")
add_dependencies("${UT_TARGET}" "${UT_EXE_NAME}")
set_property(TARGET "${MODULE_NAME}" APPEND PROPERTY FPRIME_UTS "${UT_EXE_NAME}")
add_dependencies("${UT_MODULE_TARGET}" "${UT_EXECUTABLE_TARGET}")
add_dependencies("${UT_TARGET}" "${UT_EXECUTABLE_TARGET}")
set_property(TARGET "${FPRIME_CURRENT_MODULE}" APPEND PROPERTY FPRIME_UTS "${UT_MODULE_TARGET}")
endif()
# Link library list output on per-module basis
if (CMAKE_DEBUG_OUTPUT)
introspect("${UT_EXE_NAME}")
introspect("${UT_MODULE_TARGET}")
endif()
endfunction(ut_add_module_target)

0 comments on commit 6cacc5b

Please sign in to comment.