CMake is using stamp files to check if the external projects are out
of date. There is an option 'BUILD_ALWAYS 1' of ExternalProject_Add,
but it is not available prior to CMake 3.1.
To work around it, this commit solves two problems at once:
- Add a new step 'check_submodules' between configure and build
to check if all submodules are up to date. This step has the option
'ALWAYS 1', which means it is always considered outdated.
- Since 'build' depends on the above step, it will always be started