Difference between revisions of "Building Modules"

From ReactOS Wiki
Jump to: navigation, search
(Technical information: Remove 'directory.cmake' and added 'CMakeLists.txt', because the former does not exist.)
m (Available Modules)
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
  
 
== Available Modules ==
 
== Available Modules ==
We currently have the following modules in the SVN Tree:
+
We currently have the following modules in the source Tree:
  
 
* ''' rosapps ''' – Various non-core applications, like additional screensavers, devutils and cmdutils.
 
* ''' rosapps ''' – Various non-core applications, like additional screensavers, devutils and cmdutils.
Line 50: Line 50:
 
The Build system will read the CMakeLists.txt file and look if the subfolders named in this file exist.
 
The Build system will read the CMakeLists.txt file and look if the subfolders named in this file exist.
 
If a folder exists, the Build System will process its '''CMakeLists.txt''' file. This way the folder gets integrated into the building process.
 
If a folder exists, the Build System will process its '''CMakeLists.txt''' file. This way the folder gets integrated into the building process.
 +
 +
See also [[Build winetests | Build winetests]]
  
 
[[Category:Building]]
 
[[Category:Building]]
 
[[Category:Tutorial]]
 
[[Category:Tutorial]]

Latest revision as of 08:59, 4 March 2021

There are many applications, tests, and extra subsystems in the ReactOS source, which are not included in the normal build process, because they are usually not part of everyone's normal development/testing/use.

Available Modules

We currently have the following modules in the source Tree:

  • rosapps – Various non-core applications, like additional screensavers, devutils and cmdutils.
  • rostests - Home of our testing framework (Winetests and Rostests), which includes API conformance tests (both usermode and kernelmode APIs), plus the automatic application testing suite (based on AutoHotkey)
  • wallpapers – Several wallpapers for ReactOS Desktop.

Downloading the Modules

There is now no need to download the modules separately, because they will be included in the cloned source and are located in \reactos\modules. See also (Cloning the repository)

List available ninja targets

To list available targets do:

ninja -t targets

or:

ninja -t targets >target_list

Select from there the target for build or clean:

ninja <target1>_clean

ninja <target1>

Removing or Updating a Module

If you remove a Module folder after CMake picks it up, it will not notice, until you tell it to reconfigure.

The reconfigure command depends on the Build System you are using.

With ninja do:

ninja rebuild_cache

For other build systems use:

nmake rebuild_cache

or

make rebuild_cache

Technical information

In the reactos/modules or reactos\modules folder, depending on whether you're on a UNIX or Windows system, there is a file called CMakeLists.txt.

The Build system will read the CMakeLists.txt file and look if the subfolders named in this file exist. If a folder exists, the Build System will process its CMakeLists.txt file. This way the folder gets integrated into the building process.

See also Build winetests