Details
-
Suggestion
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
None
-
None
Description
OK, "invalid" is a bit vague but hear me out. The following CMake code
# Collect test data file(GLOB_RECURSE test_data_glob RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../data/tst_*) list(APPEND test_data ${test_data_glob}) list(FILTER test_data EXCLUDE REGEX "(\ .*tst_abstractbutton\\.qml|\ .*tst_action\\.qml|\ .*tst_actiongroup\\.qml|\ .*tst_applicationwindow\\.qml|\ .*tst_busyindicator\\.qml|\ .*tst_buttongroup\\.qml|\ .*tst_checkdelegate\\.qml|\ .*tst_container\\.qml|\ .*tst_control\\.qml|\ .*tst_delaybutton\\.qml|\ .*tst_dial\\.qml|\ .*tst_dialog\\.qml|\ .*tst_dialogbuttonbox\\.qml|\ .*tst_drawer\\.qml|\ .*tst_horizontalheaderview\\.qml|\ .*tst_itemdelegate\\.qml|\ .*tst_label\\.qml|\ .*tst_menu\\.qml|\ .*tst_menubar\\.qml|\ .*tst_menubaritem\\.qml|\ .*tst_menuitem\\.qml|\ .*tst_menuseparator\\.qml|\ .*tst_page\\.qml|\ .*tst_pageindicator\\.qml|\ .*tst_pane\\.qml|\ .*tst_popup\\.qml|\ .*tst_radiodelegate\\.qml|\ .*tst_rangeslider\\.qml|\ .*tst_roundbutton\\.qml|\ .*tst_scrollindicator\\.qml|\ .*tst_selectionrectangle\\.qml|\ .*tst_splitview\\.qml|\ .*tst_stackview\\.qml|\ .*tst_swipedelegate\\.qml|\ .*tst_swipeview\\.qml|\ .*tst_switch\\.qml|\ .*tst_switchdelegate\\.qml|\ .*tst_tabbar\\.qml|\ .*tst_tabbutton\\.qml|\ .*tst_toolbar\\.qml|\ .*tst_toolbutton\\.qml|\ .*tst_toolseparator\\.qml|\ .*tst_tooltip\\.qml|\ .*tst_tumbler\\.qml|\ .*tst_verticalheaderview\\.qml\ )") set(test_data_dir "${CMAKE_CURRENT_BINARY_DIR}/data") # TODO: workaround for QTBUG-94961; remove when fixed. # It copies the test files to a separate directory (in the build dir) # and passes this directory to the test binary. file(MAKE_DIRECTORY "${test_data_dir}") foreach(qml_test_file IN LISTS test_data) file(CREATE_LINK "${CMAKE_CURRENT_SOURCE_DIR}/${qml_test_file}" "${test_data_dir}/${qml_test_file}" COPY_ON_ERROR) endforeach() qt_internal_add_test(tst_windows GUI QMLTEST SOURCES tst_windows.cpp DEFINES TST_CONTROLS_DATA=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../../tests/auto/controls/data\\\" PUBLIC_LIBRARIES Qt::Gui Qt::QuickControls2 TESTDATA ${test_data} )
results in this error
CMake Error at tests/auto/controls/windows/CMakeLists.txt:59 (file): Syntax error in cmake code at C:/dev/qt-dev/qtquickcontrols2/tests/auto/controls/windows/CMakeLists.txt:59 when parsing string ${​​​​​​​CMAKE_CURRENT_SOURCE_DIR}​​​​​​​/${​​​​​​​​qml_test_file}​​​​​​​​​​​​​​​ Invalid character ('�') in a variable name: '' CMake Error at tests/auto/controls/windows/CMakeLists.txt:59 (file): Syntax error in cmake code at C:/dev/qt-dev/qtquickcontrols2/tests/auto/controls/windows/CMakeLists.txt:59 when parsing string ${​​​​​​​​​​​​​​​test_data_dir}​​​​​​​​​​​​​​​/${​​​​​​​​​​​​​​​qml_test_file}​​​​​​​​​​​​​​​ Invalid character ('�') in a variable name: '' -- Configuring incomplete, errors occurred!
Now this is pretty straightforward to fix: remove the line and type it out manually. But wouldn't it be better if Creator had a way of pointing out invalid characters for the file format? "Visualise whitespace" doesn't help here, unfortunately.