diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-05-04 11:57:27 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-10-15 18:21:42 +0200 |
commit | 02075924e861edb74935266cc722d362af87a9f0 (patch) | |
tree | 2502dc6908dbc49ffac4095be0615afd71611b92 /examples | |
parent | 917a08ff30f6f1f8bf89b3dea951d02b265eacf2 (diff) |
Continue separation of sources and put also html5 into separated dir
Change-Id: I36bc61f69f0e2d197f1891f3ea7cfa30e9a29e3b
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/html5/CMakeLists.txt | 21 | ||||
-rw-r--r-- | examples/html5/app/CMakeLists.txt | 38 | ||||
-rw-r--r-- | examples/html5/app/bower.json (renamed from examples/html5/bower.json) | 0 | ||||
-rw-r--r-- | examples/html5/app/gulpfile.js (renamed from examples/html5/gulpfile.js) | 2 | ||||
-rw-r--r-- | examples/html5/app/package.json (renamed from examples/html5/package.json) | 0 | ||||
-rw-r--r-- | examples/html5/etc/macros.cmake | 11 | ||||
-rw-r--r-- | examples/hybrid-html5/CMakeLists.txt | 21 | ||||
-rw-r--r-- | examples/hybrid-html5/app/CMakeLists.txt | 38 | ||||
-rw-r--r-- | examples/hybrid-html5/app/bower.json (renamed from examples/hybrid-html5/bower.json) | 0 | ||||
-rw-r--r-- | examples/hybrid-html5/app/gulpfile.js (renamed from examples/hybrid-html5/gulpfile.js) | 2 | ||||
-rw-r--r-- | examples/hybrid-html5/app/package.json (renamed from examples/hybrid-html5/package.json) | 0 | ||||
-rw-r--r-- | examples/hybrid-html5/etc/macros.cmake | 11 | ||||
-rw-r--r-- | examples/native/etc/macros.cmake | 11 | ||||
-rw-r--r-- | examples/service/etc/macros.cmake | 11 |
14 files changed, 99 insertions, 67 deletions
diff --git a/examples/html5/CMakeLists.txt b/examples/html5/CMakeLists.txt index 2a7b33a..26b9226 100644 --- a/examples/html5/CMakeLists.txt +++ b/examples/html5/CMakeLists.txt @@ -21,25 +21,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.3) include(${CMAKE_CURRENT_SOURCE_DIR}/etc/config.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/etc/macros.cmake) -# Add target to project dependency list -PROJECT_TARGET_ADD(html5-example) - - # Define project Targets - add_custom_command(OUTPUT dist.prod - DEPENDS ${TARGET_NAME} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMAND npm install - COMMAND gulp widget-config-prod - COMMAND cp -r dist.prod ${CMAKE_CURRENT_BINARY_DIR}) - - add_custom_target(${TARGET_NAME} ALL DEPENDS dist.prod) - - # Binder exposes a unique public entry point - SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES - PREFIX "" - LABELS "HTDOCS" - OUTPUT_NAME dist.prod) - -populate_widget() +search_targets() build_widget() diff --git a/examples/html5/app/CMakeLists.txt b/examples/html5/app/CMakeLists.txt new file mode 100644 index 0000000..ec66f01 --- /dev/null +++ b/examples/html5/app/CMakeLists.txt @@ -0,0 +1,38 @@ +########################################################################### +# Copyright 2015, 2016, 2017 IoT.bzh +# +# author: Romain Forlot <romain.forlot@iot.bzh> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + +# Add target to project dependency list +PROJECT_TARGET_ADD(html5-example) + + # Define project Targets + add_custom_command(OUTPUT dist.prod + DEPENDS ${TARGET_NAME} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND npm install + COMMAND gulp widget-config-prod + COMMAND cp -r dist.prod ${CMAKE_CURRENT_BINARY_DIR}) + + add_custom_target(${TARGET_NAME} ALL DEPENDS dist.prod) + + # Binder exposes a unique public entry point + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES + PREFIX "" + LABELS "HTDOCS" + OUTPUT_NAME dist.prod) + +populate_widget() diff --git a/examples/html5/bower.json b/examples/html5/app/bower.json index c78c624..c78c624 100644 --- a/examples/html5/bower.json +++ b/examples/html5/app/bower.json diff --git a/examples/html5/gulpfile.js b/examples/html5/app/gulpfile.js index 3f64339..da2826d 100644 --- a/examples/html5/gulpfile.js +++ b/examples/html5/app/gulpfile.js @@ -18,7 +18,7 @@ var exec = require('child_process').exec var router = require('front-router'); // == PATH STRINGS ======== -var appdir = "./app/"; // Warning to not forget trailling '/' +var appdir = "./"; // Warning to not forget trailling '/' config=require (appdir + "etc/_Config"); // upload user local preferences if any var frontend= appdir + config.FRONTEND; diff --git a/examples/html5/package.json b/examples/html5/app/package.json index 3b51d33..3b51d33 100644 --- a/examples/html5/package.json +++ b/examples/html5/app/package.json diff --git a/examples/html5/etc/macros.cmake b/examples/html5/etc/macros.cmake index e1c449e..6a389de 100644 --- a/examples/html5/etc/macros.cmake +++ b/examples/html5/etc/macros.cmake @@ -69,15 +69,16 @@ macro(populate_widget) set(POPULE_WIDGET_TARGET "populate_${TARGET_NAME}") get_target_property(T ${TARGET_NAME} LABELS) + get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) + if(${T} STREQUAL "BINDING") add_custom_command(OUTPUT ${WIDGET_LIBDIR}/${TARGET_NAME}.so DEPENDS ${TARGET_NAME} COMMAND mkdir -p ${WIDGET_LIBDIR} - COMMAND cp ${TARGET_NAME}.so ${WIDGET_LIBDIR} + COMMAND cp ${OUT}.so ${WIDGET_LIBDIR} ) add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_LIBDIR}/${TARGET_NAME}.so) elseif(${T} STREQUAL "EXECUTABLE") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) add_custom_command(OUTPUT ${WIDGET_BINDIR}/${TARGET_NAME} DEPENDS ${TARGET_NAME} COMMAND mkdir -p ${WIDGET_BINDIR} @@ -85,14 +86,12 @@ macro(populate_widget) ) add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_BINDIR}/${TARGET_NAME}) elseif(${T} STREQUAL "HTDOCS") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) add_custom_command(OUTPUT ${WIDGET_HTTPDIR} DEPENDS ${TARGET_NAME} COMMAND cp -r ${OUT} ${WIDGET_HTTPDIR} ) add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_HTTPDIR}) elseif(${T} STREQUAL "DATA") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) add_custom_command(OUTPUT ${WIDGET_DATADIR} DEPENDS ${TARGET_NAME} COMMAND cp -r ${OUT} ${WIDGET_DATADIR} @@ -119,6 +118,7 @@ macro(build_widget) COMMAND wgtpkg-pack -f -o ${PROJECT_NAME}.wgt ${WIDGET_DIR} ) add_custom_target(widget DEPENDS ${PROJECT_NAME}.wgt) + set(ADDITIONAL_MAKE_CLEAN_FILES, "${PROJECT_NAME}.wgt") else() MESSAGE(FATAL_ERROR "Widget tree empty, please populate it by calling populate_widget() macro with target you want to include into it.") endif("${PROJECT_TARGETS}" MATCHES "populate_") @@ -191,7 +191,7 @@ CHECK_LIBRARY_EXISTS(efence malloc "" HAVE_LIBEFENCE) IF(HAVE_LIBEFENCE) MESSAGE(STATUS "Linking with ElectricFence for debugging purposes...") SET(libefence_LIBRARIES "-lefence") - list (APPEND link_libraries libefence_LIBRARIES}) + list (APPEND link_libraries ${libefence_LIBRARIES}) ENDIF(HAVE_LIBEFENCE) ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG) @@ -250,4 +250,3 @@ if(CLOSING_MESSAGE AND GLOBAL_TARGET_LIST) ) endif() -set(ADDITIONAL_MAKE_CLEAN_FILES, "low-can-binding/low-can-binding.wgt") diff --git a/examples/hybrid-html5/CMakeLists.txt b/examples/hybrid-html5/CMakeLists.txt index 9fdfe64..1e44569 100644 --- a/examples/hybrid-html5/CMakeLists.txt +++ b/examples/hybrid-html5/CMakeLists.txt @@ -24,25 +24,4 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/etc/macros.cmake) # Add subdir targets search_targets() -# Add target to project dependency list -PROJECT_TARGET_ADD(hybrid-html5-example) - - # Define project Targets - add_custom_command(OUTPUT dist.prod - DEPENDS ${TARGET_NAME} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMAND npm install - COMMAND gulp widget-config-prod - COMMAND cp -r dist.prod ${CMAKE_CURRENT_BINARY_DIR}) - - add_custom_target(${TARGET_NAME} ALL DEPENDS dist.prod) - - # Binder exposes a unique public entry point - SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES - PREFIX "" - LABELS "HTDOCS" - OUTPUT_NAME dist.prod) - -populate_widget() - build_widget() diff --git a/examples/hybrid-html5/app/CMakeLists.txt b/examples/hybrid-html5/app/CMakeLists.txt new file mode 100644 index 0000000..a862b3c --- /dev/null +++ b/examples/hybrid-html5/app/CMakeLists.txt @@ -0,0 +1,38 @@ +########################################################################### +# Copyright 2015, 2016, 2017 IoT.bzh +# +# author: Romain Forlot <romain.forlot@iot.bzh> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + +# Add target to project dependency list +PROJECT_TARGET_ADD(hybrid-html5-example) + + # Define project Targets + add_custom_command(OUTPUT dist.prod + DEPENDS ${TARGET_NAME} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND npm install + COMMAND gulp widget-config-prod + COMMAND cp -r dist.prod ${CMAKE_CURRENT_BINARY_DIR}) + + add_custom_target(${TARGET_NAME} ALL DEPENDS dist.prod) + + # Binder exposes a unique public entry point + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES + PREFIX "" + LABELS "HTDOCS" + OUTPUT_NAME dist.prod) + +populate_widget() diff --git a/examples/hybrid-html5/bower.json b/examples/hybrid-html5/app/bower.json index c78c624..c78c624 100644 --- a/examples/hybrid-html5/bower.json +++ b/examples/hybrid-html5/app/bower.json diff --git a/examples/hybrid-html5/gulpfile.js b/examples/hybrid-html5/app/gulpfile.js index 3f64339..da2826d 100644 --- a/examples/hybrid-html5/gulpfile.js +++ b/examples/hybrid-html5/app/gulpfile.js @@ -18,7 +18,7 @@ var exec = require('child_process').exec var router = require('front-router'); // == PATH STRINGS ======== -var appdir = "./app/"; // Warning to not forget trailling '/' +var appdir = "./"; // Warning to not forget trailling '/' config=require (appdir + "etc/_Config"); // upload user local preferences if any var frontend= appdir + config.FRONTEND; diff --git a/examples/hybrid-html5/package.json b/examples/hybrid-html5/app/package.json index 132e7ec..132e7ec 100644 --- a/examples/hybrid-html5/package.json +++ b/examples/hybrid-html5/app/package.json diff --git a/examples/hybrid-html5/etc/macros.cmake b/examples/hybrid-html5/etc/macros.cmake index e1c449e..6a389de 100644 --- a/examples/hybrid-html5/etc/macros.cmake +++ b/examples/hybrid-html5/etc/macros.cmake @@ -69,15 +69,16 @@ macro(populate_widget) set(POPULE_WIDGET_TARGET "populate_${TARGET_NAME}") get_target_property(T ${TARGET_NAME} LABELS) + get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) + if(${T} STREQUAL "BINDING") add_custom_command(OUTPUT ${WIDGET_LIBDIR}/${TARGET_NAME}.so DEPENDS ${TARGET_NAME} COMMAND mkdir -p ${WIDGET_LIBDIR} - COMMAND cp ${TARGET_NAME}.so ${WIDGET_LIBDIR} + COMMAND cp ${OUT}.so ${WIDGET_LIBDIR} ) add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_LIBDIR}/${TARGET_NAME}.so) elseif(${T} STREQUAL "EXECUTABLE") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) add_custom_command(OUTPUT ${WIDGET_BINDIR}/${TARGET_NAME} DEPENDS ${TARGET_NAME} COMMAND mkdir -p ${WIDGET_BINDIR} @@ -85,14 +86,12 @@ macro(populate_widget) ) add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_BINDIR}/${TARGET_NAME}) elseif(${T} STREQUAL "HTDOCS") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) add_custom_command(OUTPUT ${WIDGET_HTTPDIR} DEPENDS ${TARGET_NAME} COMMAND cp -r ${OUT} ${WIDGET_HTTPDIR} ) add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_HTTPDIR}) elseif(${T} STREQUAL "DATA") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) add_custom_command(OUTPUT ${WIDGET_DATADIR} DEPENDS ${TARGET_NAME} COMMAND cp -r ${OUT} ${WIDGET_DATADIR} @@ -119,6 +118,7 @@ macro(build_widget) COMMAND wgtpkg-pack -f -o ${PROJECT_NAME}.wgt ${WIDGET_DIR} ) add_custom_target(widget DEPENDS ${PROJECT_NAME}.wgt) + set(ADDITIONAL_MAKE_CLEAN_FILES, "${PROJECT_NAME}.wgt") else() MESSAGE(FATAL_ERROR "Widget tree empty, please populate it by calling populate_widget() macro with target you want to include into it.") endif("${PROJECT_TARGETS}" MATCHES "populate_") @@ -191,7 +191,7 @@ CHECK_LIBRARY_EXISTS(efence malloc "" HAVE_LIBEFENCE) IF(HAVE_LIBEFENCE) MESSAGE(STATUS "Linking with ElectricFence for debugging purposes...") SET(libefence_LIBRARIES "-lefence") - list (APPEND link_libraries libefence_LIBRARIES}) + list (APPEND link_libraries ${libefence_LIBRARIES}) ENDIF(HAVE_LIBEFENCE) ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG) @@ -250,4 +250,3 @@ if(CLOSING_MESSAGE AND GLOBAL_TARGET_LIST) ) endif() -set(ADDITIONAL_MAKE_CLEAN_FILES, "low-can-binding/low-can-binding.wgt") diff --git a/examples/native/etc/macros.cmake b/examples/native/etc/macros.cmake index e1c449e..6a389de 100644 --- a/examples/native/etc/macros.cmake +++ b/examples/native/etc/macros.cmake @@ -69,15 +69,16 @@ macro(populate_widget) set(POPULE_WIDGET_TARGET "populate_${TARGET_NAME}") get_target_property(T ${TARGET_NAME} LABELS) + get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) + if(${T} STREQUAL "BINDING") add_custom_command(OUTPUT ${WIDGET_LIBDIR}/${TARGET_NAME}.so DEPENDS ${TARGET_NAME} COMMAND mkdir -p ${WIDGET_LIBDIR} - COMMAND cp ${TARGET_NAME}.so ${WIDGET_LIBDIR} + COMMAND cp ${OUT}.so ${WIDGET_LIBDIR} ) add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_LIBDIR}/${TARGET_NAME}.so) elseif(${T} STREQUAL "EXECUTABLE") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) add_custom_command(OUTPUT ${WIDGET_BINDIR}/${TARGET_NAME} DEPENDS ${TARGET_NAME} COMMAND mkdir -p ${WIDGET_BINDIR} @@ -85,14 +86,12 @@ macro(populate_widget) ) add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_BINDIR}/${TARGET_NAME}) elseif(${T} STREQUAL "HTDOCS") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) add_custom_command(OUTPUT ${WIDGET_HTTPDIR} DEPENDS ${TARGET_NAME} COMMAND cp -r ${OUT} ${WIDGET_HTTPDIR} ) add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_HTTPDIR}) elseif(${T} STREQUAL "DATA") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) add_custom_command(OUTPUT ${WIDGET_DATADIR} DEPENDS ${TARGET_NAME} COMMAND cp -r ${OUT} ${WIDGET_DATADIR} @@ -119,6 +118,7 @@ macro(build_widget) COMMAND wgtpkg-pack -f -o ${PROJECT_NAME}.wgt ${WIDGET_DIR} ) add_custom_target(widget DEPENDS ${PROJECT_NAME}.wgt) + set(ADDITIONAL_MAKE_CLEAN_FILES, "${PROJECT_NAME}.wgt") else() MESSAGE(FATAL_ERROR "Widget tree empty, please populate it by calling populate_widget() macro with target you want to include into it.") endif("${PROJECT_TARGETS}" MATCHES "populate_") @@ -191,7 +191,7 @@ CHECK_LIBRARY_EXISTS(efence malloc "" HAVE_LIBEFENCE) IF(HAVE_LIBEFENCE) MESSAGE(STATUS "Linking with ElectricFence for debugging purposes...") SET(libefence_LIBRARIES "-lefence") - list (APPEND link_libraries libefence_LIBRARIES}) + list (APPEND link_libraries ${libefence_LIBRARIES}) ENDIF(HAVE_LIBEFENCE) ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG) @@ -250,4 +250,3 @@ if(CLOSING_MESSAGE AND GLOBAL_TARGET_LIST) ) endif() -set(ADDITIONAL_MAKE_CLEAN_FILES, "low-can-binding/low-can-binding.wgt") diff --git a/examples/service/etc/macros.cmake b/examples/service/etc/macros.cmake index e1c449e..6a389de 100644 --- a/examples/service/etc/macros.cmake +++ b/examples/service/etc/macros.cmake @@ -69,15 +69,16 @@ macro(populate_widget) set(POPULE_WIDGET_TARGET "populate_${TARGET_NAME}") get_target_property(T ${TARGET_NAME} LABELS) + get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) + if(${T} STREQUAL "BINDING") add_custom_command(OUTPUT ${WIDGET_LIBDIR}/${TARGET_NAME}.so DEPENDS ${TARGET_NAME} COMMAND mkdir -p ${WIDGET_LIBDIR} - COMMAND cp ${TARGET_NAME}.so ${WIDGET_LIBDIR} + COMMAND cp ${OUT}.so ${WIDGET_LIBDIR} ) add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_LIBDIR}/${TARGET_NAME}.so) elseif(${T} STREQUAL "EXECUTABLE") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) add_custom_command(OUTPUT ${WIDGET_BINDIR}/${TARGET_NAME} DEPENDS ${TARGET_NAME} COMMAND mkdir -p ${WIDGET_BINDIR} @@ -85,14 +86,12 @@ macro(populate_widget) ) add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_BINDIR}/${TARGET_NAME}) elseif(${T} STREQUAL "HTDOCS") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) add_custom_command(OUTPUT ${WIDGET_HTTPDIR} DEPENDS ${TARGET_NAME} COMMAND cp -r ${OUT} ${WIDGET_HTTPDIR} ) add_custom_target(${POPULE_WIDGET_TARGET} ALL DEPENDS ${WIDGET_HTTPDIR}) elseif(${T} STREQUAL "DATA") - get_target_property(OUT ${TARGET_NAME} OUTPUT_NAME) add_custom_command(OUTPUT ${WIDGET_DATADIR} DEPENDS ${TARGET_NAME} COMMAND cp -r ${OUT} ${WIDGET_DATADIR} @@ -119,6 +118,7 @@ macro(build_widget) COMMAND wgtpkg-pack -f -o ${PROJECT_NAME}.wgt ${WIDGET_DIR} ) add_custom_target(widget DEPENDS ${PROJECT_NAME}.wgt) + set(ADDITIONAL_MAKE_CLEAN_FILES, "${PROJECT_NAME}.wgt") else() MESSAGE(FATAL_ERROR "Widget tree empty, please populate it by calling populate_widget() macro with target you want to include into it.") endif("${PROJECT_TARGETS}" MATCHES "populate_") @@ -191,7 +191,7 @@ CHECK_LIBRARY_EXISTS(efence malloc "" HAVE_LIBEFENCE) IF(HAVE_LIBEFENCE) MESSAGE(STATUS "Linking with ElectricFence for debugging purposes...") SET(libefence_LIBRARIES "-lefence") - list (APPEND link_libraries libefence_LIBRARIES}) + list (APPEND link_libraries ${libefence_LIBRARIES}) ENDIF(HAVE_LIBEFENCE) ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG) @@ -250,4 +250,3 @@ if(CLOSING_MESSAGE AND GLOBAL_TARGET_LIST) ) endif() -set(ADDITIONAL_MAKE_CLEAN_FILES, "low-can-binding/low-can-binding.wgt") |