Browse Source

Add a simple build check for common error of not having submodules initialized

Josh Engebretson 9 years ago
parent
commit
551dc40867
3 changed files with 15 additions and 3 deletions
  1. 10 2
      Build/Scripts/Bootstrap.js
  2. 4 0
      CMakeLists.txt
  3. 1 1
      CMake_VS2015.bat

+ 10 - 2
Build/Scripts/Bootstrap.js

@@ -1,3 +1,5 @@
+var os = require('os');
+var fs = require('fs-extra');
 
 
 // Load `jake` global
 // Load `jake` global
 require('../node_modules/jake/lib/jake');
 require('../node_modules/jake/lib/jake');
@@ -5,8 +7,6 @@ require('../node_modules/jake/lib/jake');
 // Load jake tasks, patch in our node modules, etc
 // Load jake tasks, patch in our node modules, etc
 var host = require('./Host');
 var host = require('./Host');
 
 
-var os = require('os');
-
 // Parse args
 // Parse args
 var options = require('minimist')(process.argv.slice(2));
 var options = require('minimist')(process.argv.slice(2));
 var cmd = options._[0];
 var cmd = options._[0];
@@ -43,6 +43,14 @@ if (options["lint"]) {
 // Atomic Editor Build
 // Atomic Editor Build
 if (cmd == "buildeditor") {
 if (cmd == "buildeditor") {
 
 
+    // simple build check for submodules not being initialized
+
+    if (!fs.existsSync(host.atomicRoot + "Submodules/CEF/Windows")) {
+
+        console.log("\nBUILD ERROR:\n\nSubmodules not initialized.  When cloning repository, please use:\ngit clone --recursive https://github.com/AtomicGameEngine/AtomicGameEngine\n")
+        process.exit(1);
+    }
+
     console.log("\n\nBuilding Atomic Editor, this process will take a few minutes\n");
     console.log("\n\nBuilding Atomic Editor, this process will take a few minutes\n");
 
 
     var buildTask = jake.Task['build:atomiceditor'];
     var buildTask = jake.Task['build:atomiceditor'];

+ 4 - 0
CMakeLists.txt

@@ -48,6 +48,10 @@ endif()
 
 
 if (ATOMIC_WEBVIEW)
 if (ATOMIC_WEBVIEW)
 
 
+  if (NOT EXISTS ${CMAKE_SOURCE_DIR}/Submodules/CEF/Windows)
+    message( FATAL_ERROR "\nBUILD ERROR:\nSubmodules not initialized.  When cloning repository, please use:\ngit clone --recursive https://github.com/AtomicGameEngine/AtomicGameEngine\n" )
+  endif()
+
   if(APPLE)
   if(APPLE)
     if(POLICY CMP0037)
     if(POLICY CMP0037)
       # new cmake doesn't like creating framework whose name has spaces
       # new cmake doesn't like creating framework whose name has spaces

+ 1 - 1
CMake_VS2015.bat

@@ -6,7 +6,7 @@ ECHO Generating Visual Studio Solution (64 bit)
 @echo:
 @echo:
 call "%VS140COMNTOOLS%..\..\VC\bin\amd64\vcvars64.bat"
 call "%VS140COMNTOOLS%..\..\VC\bin\amd64\vcvars64.bat"
 :: remove any generated sources
 :: remove any generated sources
-if exist "%~p0Artifacts\Build\Source\Generated\WINDOWS\" rd /q /s "%~p0Artifacts\Build\Source\Generated\WINDOWS"
+if exist "%~p0Artifacts\Build\Source\Generated\" rd /q /s "%~p0Artifacts\Build\Source\Generated\"
 :: get current foldername
 :: get current foldername
 set "cdir=%~dp0"
 set "cdir=%~dp0"
 :: for loop requires removing trailing backslash from %~dp0 output
 :: for loop requires removing trailing backslash from %~dp0 output