blob: 7ef35e940cd8fa515b207020bfb4d5559f14a696 [file] [log] [blame]
add_custom_target(
prep ALL
COMMAND
${CMAKE_COMMAND} -E env ${TARGET_PREP_ENVS}
SGX_UNTRUSTED_CFLAGS=${STR_SGX_UNTRUSTED_CFLAGS}
SGX_TRUSTED_CFLAGS=${STR_SGX_TRUSTED_CFLAGS} ${MT_SCRIPT_DIR}/prep.sh)
add_custom_target(
format
COMMAND rustup component add rustfmt --toolchain ${RUSTUP_TOOLCHAIN}
COMMAND
RUSTUP_TOOLCHAIN=${RUSTUP_TOOLCHAIN} find ${TEACLAVE_PROJECT_ROOT} -path
${TEACLAVE_PROJECT_ROOT}/third_party -prune -o -path
${TEACLAVE_PROJECT_ROOT}/.git -prune -o -path ${TEACLAVE_BUILD_ROOT} -prune
-o -name "*.rs" -exec rustfmt {} +
COMMENT "Formating every .rs file"
DEPENDS prep)
add_custom_target(
check
COMMAND rustup component add rustfmt --toolchain ${RUSTUP_TOOLCHAIN}
COMMAND
RUSTUP_TOOLCHAIN=${RUSTUP_TOOLCHAIN} find ${TEACLAVE_PROJECT_ROOT} -path
${TEACLAVE_PROJECT_ROOT}/third_party -prune -o -path
${TEACLAVE_PROJECT_ROOT}/.git -prune -o -path ${TEACLAVE_BUILD_ROOT} -prune
-o -name "*.rs" -exec rustfmt --check {} +
COMMENT "Checking the format of every .rs file"
DEPENDS prep)
if(TEST_MODE)
add_custom_target(run-tests COMMAND ${TEACLAVE_COMMON_ENVS}
${MT_SCRIPT_DIR}/test.sh)
add_custom_target(run-unit-tests COMMAND ${TEACLAVE_COMMON_ENVS}
${MT_SCRIPT_DIR}/test.sh unit)
add_custom_target(
run-integration-tests COMMAND ${TEACLAVE_COMMON_ENVS}
${MT_SCRIPT_DIR}/test.sh integration)
add_custom_target(
run-functional-tests COMMAND ${TEACLAVE_COMMON_ENVS}
${MT_SCRIPT_DIR}/test.sh functional)
else()
add_custom_target(
run-test
COMMAND
echo
"Note: Testing is not enabled in this build. Run cmake again with -DTEST_MODE=ON"
)
endif()
add_custom_target(cov COMMAND ${TEACLAVE_COMMON_ENVS}
${MT_SCRIPT_DIR}/gen_cov.sh)
add_custom_target(
cov-clean
COMMAND rm -rf ${TEACLAVE_OUT_DIR}/*.info ${TEACLAVE_OUT_DIR}/cov_* cov.info
cov_report
COMMAND find . -name *.gcda -exec rm {} "\;"
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
# add folders for "clean" target
set_property(
DIRECTORY
PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${TEACLAVE_INSTALL_DIR}"
"${TEACLAVE_OUT_DIR}" "${TEACLAVE_TARGET_DIR}"
"${PROJECT_BINARY_DIR}/cmake_tomls")
# doc target
add_custom_target(
doc
COMMAND
cd ${PROJECT_BINARY_DIR}/cmake_tomls/unix_app && ${TEACLAVE_COMMON_ENVS}
cargo doc --all ${CARGO_BUILD_FLAGS} ${MTEE_EXTRA_CARGO_FLAGS} && cp -RT
${PROJECT_BINARY_DIR}/cmake_tomls/unix_app/target/doc
${TEACLAVE_DOC_INSTALL_DIR}
DEPENDS prep)
# clippy target
add_custom_target(clippy COMMAND make CLP=1 all)
gen_convenience_targets()