jom - the parallel make tool for Windows "jom" is "let's go" in Malay. Its aimed to be an nmake clone with support for parallel builds. The project's wiki is here: http://qt-project.org/wiki/jom == How to compile jom == This is a Qt program, so the usual steps to compile jom on command line are: qmake nmake == How to compile jom with cmake == We assume that everything we do happens in the folder X:\build-jom 1. unpack these sources of jom into X:\build-jom\jom 2. add a build directory somewhere - this normally either is a directory on the same level as the build directory or a subdirectory of the source root directory. !!! Do not try to build from within the source directory !!! 3. switch into the build directory and run the following commands: X:\build-jom\build> cmake X:\build-jom\jom -G "NMake Makefiles" -DCMAKE_PREFIX_PATH=X:\build-jom -DCMAKE_INSTALL_PREFIX=X:\build-jom\install ... To take a special version of Qt, append -DQT_QMAKE_EXECUTABLE:PATH=X:\build-jom\qt\bin\qmake.exe . Now just run: X:\build-jom\build> nmake && nmake install ... If you want to begin new, just throw away the build dir. == Running the tests == To build the unit tests in jom, add the option -DJOM_ENABLE_TESTS=ON to the cmake line. To run the tests, you can simply type X:\build-jom\> nmake test ... == .SYNC dependents == You can use the .SYNC directive on the right side of a description block definition T to prevent jom from running all of T's dependents in parallel. For example the following description block adds further dependencies between its dependents. all: Init Prebuild .SYNC Build .SYNC Postbuild This adds these additional dependencies: Build -> Init Prebuild Postbuild -> Build Now the 'Init' and 'Prebuild' targets are built before 'Build'.