diff options
author | Frederic Marec <frederic.marec@iot.bzh> | 2019-07-12 11:03:41 +0200 |
---|---|---|
committer | Frederic Marec <frederic.marec@iot.bzh> | 2019-07-12 16:57:41 +0200 |
commit | d9af8879183501b5cec2fb3209dfe0f0a03ac3d1 (patch) | |
tree | 71fdc1a9ef70784c1dd5c576f3fab60235326761 /src/cmake/cmake.d/04-extra_targets.cmake | |
parent | 5a26df78726408a9df55725af40c0a731021b687 (diff) |
Add automatic test tree creation
Add test tree template
Add test path variable
Add test-tree target
Bug-AGL: SPEC-2040
Signed-off-by: Frederic Marec <frederic.marec@iot.bzh>
Change-Id: I836d6e7653b600e92c7a0de065a41054ea06005e
Diffstat (limited to 'src/cmake/cmake.d/04-extra_targets.cmake')
-rw-r--r-- | src/cmake/cmake.d/04-extra_targets.cmake | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/cmake/cmake.d/04-extra_targets.cmake b/src/cmake/cmake.d/04-extra_targets.cmake index 1cde843..40cd610 100644 --- a/src/cmake/cmake.d/04-extra_targets.cmake +++ b/src/cmake/cmake.d/04-extra_targets.cmake @@ -67,3 +67,68 @@ add_custom_command(OUTPUT ${PROJECT_AGL_AUTOBUILD_DIR}/autobuild ${PROJECT_LINUX add_custom_target(autobuild ALL DEPENDS ${PROJECT_AGL_AUTOBUILD_DIR}/autobuild ${PROJECT_LINUX_AUTOBUILD_DIR}/autobuild) + +# ---------------------------------------------------------------------------- +# Test target +# ---------------------------------------------------------------------------- + +add_custom_command(OUTPUT ${PROJECT_TEST_DIR} + DEPENDS ${TEMPLATE_DIR}/test/CMakeLists.txt.in + ${TEMPLATE_DIR}/test/afb-test/CMakeLists.txt.in + ${TEMPLATE_DIR}/test/afb-test/etc/CMakeLists.txt.in + ${TEMPLATE_DIR}/test/afb-test/etc/aft-agl-helloworld.json.in + ${TEMPLATE_DIR}/test/afb-test/fixtures/CMakeLists.txt.in + ${TEMPLATE_DIR}/test/afb-test/fixtures/mapi_helloworld.lua.in + ${TEMPLATE_DIR}/test/afb-test/tests/CMakeLists.txt.in + ${TEMPLATE_DIR}/test/afb-test/tests/helloworld.lua.in + ${TEMPLATE_DIR}/test/afb-test/tests/mapi_tests.lua.in + + + COMMAND [ ! -f "${PROJECT_TEST_DIR}/CMakeLists.txt" ] && + ${CMAKE_COMMAND} -DINFILE=${TEMPLATE_DIR}/test/CMakeLists.txt.in + -DOUTFILE=${PROJECT_TEST_DIR}/CMakeLists.txt + -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} + -P ${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake + COMMAND [ ! -f "${PROJECT_TEST_DIR}/afb-test/CMakeLists.txt" ] && + ${CMAKE_COMMAND} -DINFILE=${TEMPLATE_DIR}/test/afb-test/CMakeLists.txt.in + -DOUTFILE=${PROJECT_TEST_DIR}/afb-test/CMakeLists.txt + -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} + -P ${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake + COMMAND [ ! -f "${PROJECT_TEST_DIR}/afb-test/etc/CMakeLists.txt" ] && + ${CMAKE_COMMAND} -DINFILE=${TEMPLATE_DIR}/test/afb-test/etc/CMakeLists.txt.in + -DOUTFILE=${PROJECT_TEST_DIR}/afb-test/etc/CMakeLists.txt + -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} + -P ${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake + COMMAND [ ! -f "${PROJECT_TEST_DIR}/afb-test/etc/aft-agl-${PROJECT_NAME}.json" ] && + ${CMAKE_COMMAND} -DINFILE=${TEMPLATE_DIR}/test/afb-test/etc/aft-agl-helloworld.json.in + -DOUTFILE=${PROJECT_TEST_DIR}/afb-test/etc/aft-agl-${PROJECT_NAME}.json + -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} + -P ${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake + COMMAND [ ! -f "${PROJECT_TEST_DIR}/afb-test/fixtures/CMakeLists.txt" ] && + ${CMAKE_COMMAND} -DINFILE=${TEMPLATE_DIR}/test/afb-test/fixtures/CMakeLists.txt.in + -DOUTFILE=${PROJECT_TEST_DIR}/afb-test/fixtures/CMakeLists.txt + -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} + -P ${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake + COMMAND [ ! -f "${PROJECT_TEST_DIR}/afb-test/fixtures/mapi_${PROJECT_NAME}.lua" ] && + ${CMAKE_COMMAND} -DINFILE=${TEMPLATE_DIR}/test/afb-test/fixtures/mapi_helloworld.lua.in + -DOUTFILE=${PROJECT_TEST_DIR}/afb-test/fixtures/mapi_${PROJECT_NAME}.lua + -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} + -P ${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake + COMMAND [ ! -f "${PROJECT_TEST_DIR}/afb-test/tests/CMakeLists.txt" ] && + ${CMAKE_COMMAND} -DINFILE=${TEMPLATE_DIR}/test/afb-test/tests/CMakeLists.txt.in + -DOUTFILE=${PROJECT_TEST_DIR}/afb-test/tests/CMakeLists.txt + -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} + -P ${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake + COMMAND [ ! -f "${PROJECT_TEST_DIR}/afb-test/tests/${PROJECT_NAME}.lua" ] && + ${CMAKE_COMMAND} -DINFILE=${TEMPLATE_DIR}/test/afb-test/tests/helloworld.lua.in + -DOUTFILE=${PROJECT_TEST_DIR}/afb-test/tests/${PROJECT_NAME}.lua + -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} + -P ${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake + COMMAND [ ! -f "${PROJECT_TEST_DIR}/afb-test/tests/mapi_tests.lua" ] && + ${CMAKE_COMMAND} -DINFILE=${TEMPLATE_DIR}/test/afb-test/tests/mapi_tests.lua.in + -DOUTFILE=${PROJECT_TEST_DIR}/afb-test/tests/mapi_tests.lua + -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} + -P ${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake +) + +add_custom_target(test-tree ALL DEPENDS ${PROJECT_TEST_DIR})
\ No newline at end of file |