Go to page:

Search:   Help

Developers' side bar

Selected categories


Shared groups



<< | Page list | >>

How to run the test suite on Windows?


Have CMake and CTest: https://cmake.org/download/

Have Python (any distribution, Anaconda included): https://www.python.org/downloads/windows/

Have Perl (any distribution should work, Strawberry is often regarded as the best for Windows): http://strawberryperl.com/ (it has the required packages)

Open a prompt with all these tools available in the PATH; you may use a command like this to this end (check that these folders exist on your system!):

set PATH=C:\Strawberry\perl\bin;C:\Strawberry\c\bin;%USERPROFILE%\AppData\Local\Programs\Python\Python38;C:\Program Files\CMake\bin;%PATH%

On newer versions of Windows, the path to Python must be among the first ones. Indeed, Microsoft ships a fake binary in %USERPROFILE%\AppData\Local\Microsoft\WindowsApps\python.exe that only hints at the availability of Python in the Windows Store. If your path to Python is not before this fake entry, it will not be used.

If, once CMake is done compiling, you notice you made a mistake in one of these paths, CMake stores paths (like the one to Perl) in its cache (CMakeCache.txt). This means that you will have to reconfigure LyX completely to take into account the new path for Perl.

Compiling LyX

Compile LyX using CMake and this command prompt. This ensures that CMake and CTest will have access to the right version of Perl and Python (the paths to them are determined when launching CMake for configuring the project).

The details of compilation can be found in the INSTALL.Win32 and INSTALL.cmake files of the Git repository.

For specific tests like exports, they must be separately enabled with a flag like -DLYX_ENABLE_EXPORT_TESTS=1.


Giving the right paths to CMake through CLion is not always an easy task. One way to achieve it is to modify LyX' root CMakeLists.txt (at the root of the Git repository) to add the relevant options:

set(GNUWIN32_DIR D:/LyX/lyx-unstable/lyx-windows-deps-msvc2017)
set(LYX_USE_QT "QT5")

set(QT_DIR D:/Qt/5.15.0/msvc2019_64)
set(QT5_DIR D:/Qt/5.15.0/msvc2019_64)
set(QT_MKSPECS_DIR D:/Qt/5.15.0/msvc2019_64/mkspecs)
set(Qt5Concurrent_DIR D:/Qt/5.15.0/msvc2019_64/lib/cmake/Qt5Concurrent)
set(Qt5Core_DIR D:/Qt/5.15.0/msvc2019_64/lib/cmake/Qt5Core)
set(Qt5Gui_DIR D:/Qt/5.15.0/msvc2019_64/lib/cmake/Qt5Gui)
set(Qt5Svg_DIR D:/Qt/5.15.0/msvc2019_64/lib/cmake/Qt5Svg)
set(Qt5Widgets_DIR D:/Qt/5.15.0/msvc2019_64/lib/cmake/Qt5Widgets)
set(Qt5WinExtras_DIR D:/Qt/5.15.0/msvc2019_64/lib/cmake/Qt5WinExtras)

LIST(PREPEND CMAKE_PROGRAM_PATH  "C:/Strawberry/perl/bin")
LIST(PREPEND CMAKE_PROGRAM_PATH  "C:/Users/YOUR_USER_NAME/AppData/Local/Programs/Python/Python38")
set(PERL_EXECUTABLE "C:/Strawberry/perl/bin/perl.exe")

Running the tests

Using the same command prompt, go into the folder where CMake built LyX (typically, cmake-build-debug for an out-of-tree build) and run:

ctest                    Run all tests
ctest -R export          Run all export tests
ctest -j4                Run all tests on four cores


Category: Category Development

Edit - History - Print - Recent Changes - All Recent Changes - Search
Page last modified on 2020-09-19 03:31 CEST