Browse Source

Merge pull request #20 from AtomicGameEngine/build

Build Improvements
JoshEngebretson 10 years ago
parent
commit
9d627c3925
100 changed files with 120 additions and 55 deletions
  1. 1 0
      .gitignore
  2. 1 1
      CMake/Modules/AtomicWindows.cmake
  3. 3 3
      CMakeLists.txt
  4. 2 0
      Source/Atomic/Atomic.h
  5. 4 13
      Source/Atomic/CMakeLists.txt
  6. 4 0
      Source/AtomicEditor/AtomicEditorWindows.cmake
  7. 2 7
      Source/AtomicEditor/CMakeLists.txt
  8. 6 7
      Source/AtomicEditor/Source/AEApplication.cpp
  9. 2 1
      Source/AtomicEditor/Source/AEEditor.cpp
  10. 5 3
      Source/AtomicEditor/Source/Player/AEPlayer.cpp
  11. 2 2
      Source/AtomicEditor/Source/UI/UIConsoleWidget.cpp
  12. 1 1
      Source/AtomicEditor/Source/UI/UIResourceFrame.cpp
  13. 60 0
      Source/AtomicJS/CMakeLists.txt
  14. 6 0
      Source/AtomicJS/JSBind/CMakeLists.txt
  15. 0 0
      Source/AtomicJS/JSBind/JSBClass.cpp
  16. 0 0
      Source/AtomicJS/JSBind/JSBClass.h
  17. 0 0
      Source/AtomicJS/JSBind/JSBDoc.cpp
  18. 0 0
      Source/AtomicJS/JSBind/JSBDoc.h
  19. 0 0
      Source/AtomicJS/JSBind/JSBFunction.cpp
  20. 0 0
      Source/AtomicJS/JSBind/JSBFunction.h
  21. 0 0
      Source/AtomicJS/JSBind/JSBHeader.cpp
  22. 0 0
      Source/AtomicJS/JSBind/JSBHeader.h
  23. 0 0
      Source/AtomicJS/JSBind/JSBHeaderVisitor.cpp
  24. 0 0
      Source/AtomicJS/JSBind/JSBHeaderVisitor.h
  25. 17 12
      Source/AtomicJS/JSBind/JSBModule.cpp
  26. 0 0
      Source/AtomicJS/JSBind/JSBModule.h
  27. 0 0
      Source/AtomicJS/JSBind/JSBNameVisitor.cpp
  28. 0 0
      Source/AtomicJS/JSBind/JSBNameVisitor.h
  29. 0 0
      Source/AtomicJS/JSBind/JSBPreprocessVisitor.cpp
  30. 0 0
      Source/AtomicJS/JSBind/JSBPreprocessVisitor.h
  31. 0 0
      Source/AtomicJS/JSBind/JSBSymbol.cpp
  32. 0 0
      Source/AtomicJS/JSBind/JSBSymbol.h
  33. 0 0
      Source/AtomicJS/JSBind/JSBType.cpp
  34. 0 0
      Source/AtomicJS/JSBind/JSBType.h
  35. 0 0
      Source/AtomicJS/JSBind/JSBTypeScript.cpp
  36. 0 0
      Source/AtomicJS/JSBind/JSBTypeScript.h
  37. 2 2
      Source/AtomicJS/JSBind/JSBind.cpp
  38. 0 0
      Source/AtomicJS/JSBind/JSBind.h
  39. 2 3
      Source/AtomicJS/JSBind/JSBindings.cpp
  40. 0 0
      Source/AtomicJS/JSBind/JSBindings.h
  41. 0 0
      Source/AtomicJS/JSBind/cplusplus/AST.cpp
  42. 0 0
      Source/AtomicJS/JSBind/cplusplus/AST.h
  43. 0 0
      Source/AtomicJS/JSBind/cplusplus/ASTClone.cpp
  44. 0 0
      Source/AtomicJS/JSBind/cplusplus/ASTMatch0.cpp
  45. 0 0
      Source/AtomicJS/JSBind/cplusplus/ASTMatcher.cpp
  46. 0 0
      Source/AtomicJS/JSBind/cplusplus/ASTMatcher.h
  47. 0 0
      Source/AtomicJS/JSBind/cplusplus/ASTPatternBuilder.cpp
  48. 0 0
      Source/AtomicJS/JSBind/cplusplus/ASTPatternBuilder.h
  49. 0 0
      Source/AtomicJS/JSBind/cplusplus/ASTVisit.cpp
  50. 0 0
      Source/AtomicJS/JSBind/cplusplus/ASTVisitor.cpp
  51. 0 0
      Source/AtomicJS/JSBind/cplusplus/ASTVisitor.h
  52. 0 0
      Source/AtomicJS/JSBind/cplusplus/ASTfwd.h
  53. 0 0
      Source/AtomicJS/JSBind/cplusplus/Bind.cpp
  54. 0 0
      Source/AtomicJS/JSBind/cplusplus/Bind.h
  55. 0 0
      Source/AtomicJS/JSBind/cplusplus/CPlusPlus.h
  56. 0 0
      Source/AtomicJS/JSBind/cplusplus/CPlusPlusForwardDeclarations.h
  57. 0 0
      Source/AtomicJS/JSBind/cplusplus/Control.cpp
  58. 0 0
      Source/AtomicJS/JSBind/cplusplus/Control.h
  59. 0 0
      Source/AtomicJS/JSBind/cplusplus/CoreTypes.cpp
  60. 0 0
      Source/AtomicJS/JSBind/cplusplus/CoreTypes.h
  61. 0 0
      Source/AtomicJS/JSBind/cplusplus/DiagnosticClient.cpp
  62. 0 0
      Source/AtomicJS/JSBind/cplusplus/DiagnosticClient.h
  63. 0 0
      Source/AtomicJS/JSBind/cplusplus/FullySpecifiedType.cpp
  64. 0 0
      Source/AtomicJS/JSBind/cplusplus/FullySpecifiedType.h
  65. 0 0
      Source/AtomicJS/JSBind/cplusplus/Keywords.cpp
  66. 0 0
      Source/AtomicJS/JSBind/cplusplus/Keywords.kwgen
  67. 0 0
      Source/AtomicJS/JSBind/cplusplus/Lexer.cpp
  68. 0 0
      Source/AtomicJS/JSBind/cplusplus/Lexer.h
  69. 0 0
      Source/AtomicJS/JSBind/cplusplus/LiteralTable.h
  70. 0 0
      Source/AtomicJS/JSBind/cplusplus/Literals.cpp
  71. 0 0
      Source/AtomicJS/JSBind/cplusplus/Literals.h
  72. 0 0
      Source/AtomicJS/JSBind/cplusplus/Matcher.cpp
  73. 0 0
      Source/AtomicJS/JSBind/cplusplus/Matcher.h
  74. 0 0
      Source/AtomicJS/JSBind/cplusplus/MemoryPool.cpp
  75. 0 0
      Source/AtomicJS/JSBind/cplusplus/MemoryPool.h
  76. 0 0
      Source/AtomicJS/JSBind/cplusplus/Name.cpp
  77. 0 0
      Source/AtomicJS/JSBind/cplusplus/Name.h
  78. 0 0
      Source/AtomicJS/JSBind/cplusplus/NameVisitor.cpp
  79. 0 0
      Source/AtomicJS/JSBind/cplusplus/NameVisitor.h
  80. 0 0
      Source/AtomicJS/JSBind/cplusplus/Names.cpp
  81. 0 0
      Source/AtomicJS/JSBind/cplusplus/Names.h
  82. 0 0
      Source/AtomicJS/JSBind/cplusplus/ObjectiveCAtKeywords.cpp
  83. 0 0
      Source/AtomicJS/JSBind/cplusplus/ObjectiveCTypeQualifiers.cpp
  84. 0 0
      Source/AtomicJS/JSBind/cplusplus/ObjectiveCTypeQualifiers.h
  85. 0 0
      Source/AtomicJS/JSBind/cplusplus/Parser.cpp
  86. 0 0
      Source/AtomicJS/JSBind/cplusplus/Parser.h
  87. 0 0
      Source/AtomicJS/JSBind/cplusplus/QtContextKeywords.cpp
  88. 0 0
      Source/AtomicJS/JSBind/cplusplus/QtContextKeywords.h
  89. 0 0
      Source/AtomicJS/JSBind/cplusplus/SafeMatcher.cpp
  90. 0 0
      Source/AtomicJS/JSBind/cplusplus/SafeMatcher.h
  91. 0 0
      Source/AtomicJS/JSBind/cplusplus/Scope.cpp
  92. 0 0
      Source/AtomicJS/JSBind/cplusplus/Scope.h
  93. 0 0
      Source/AtomicJS/JSBind/cplusplus/Symbol.cpp
  94. 0 0
      Source/AtomicJS/JSBind/cplusplus/Symbol.h
  95. 0 0
      Source/AtomicJS/JSBind/cplusplus/SymbolVisitor.cpp
  96. 0 0
      Source/AtomicJS/JSBind/cplusplus/SymbolVisitor.h
  97. 0 0
      Source/AtomicJS/JSBind/cplusplus/Symbols.cpp
  98. 0 0
      Source/AtomicJS/JSBind/cplusplus/Symbols.h
  99. 0 0
      Source/AtomicJS/JSBind/cplusplus/Templates.cpp
  100. 0 0
      Source/AtomicJS/JSBind/cplusplus/Templates.h

+ 1 - 0
.gitignore

@@ -2,6 +2,7 @@
 *.user
 Bin/Atomic.d.ts
 Bin/Atomic.js
+Bin/*.pak
 Source/Atomic/Javascript/Modules/*
 Artifacts/*
 Build/*

+ 1 - 1
CMake/Modules/AtomicWindows.cmake

@@ -6,7 +6,7 @@ set (CMAKE_DEBUG_POSTFIX _d)
 
 add_definitions(-DATOMIC_PLATFORM_WINDOWS -D_CRT_SECURE_NO_WARNINGS -DATOMIC_TBUI)
 
-list (APPEND ATOMIC_LINK_LIBRARIES MojoShader user32 gdi32 winmm imm32 ole32 oleaut32 version uuid d3d9 d3dcompiler)
+list (APPEND ATOMIC_LINK_LIBRARIES MojoShader user32 gdi32 winmm imm32 ole32 oleaut32 version uuid d3d9 d3dcompiler Ws2_32)
 
 # compile with static runtime
 set(CompilerFlags

+ 3 - 3
CMakeLists.txt

@@ -1,11 +1,11 @@
 
 project (Atomic)
 
-cmake_minimum_required (VERSION 3.0.0)
+cmake_minimum_required (VERSION 3.0.2)
 
 set (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake/Modules)
 
-add_definitions( -DATOMIC_STATIC_DEFINE -DATOMIC_LOGGING -DATOMIC_PHYSICS -DATOMIC_ATOMIC2D )
+add_definitions( -DATOMIC_API= -DATOMIC_STATIC_DEFINE -DATOMIC_LOGGING -DATOMIC_PHYSICS -DATOMIC_ATOMIC2D )
 
 # this is here as QtCreator is having trouble picking up #include <Atomic/*> without it
 include_directories(${CMAKE_SOURCE_DIR}/Source ${CMAKE_SOURCE_DIR}/Source/AtomicEditor/Source)
@@ -34,7 +34,7 @@ elseif(ANDROID)
     include(AtomicAndroid)
 
 elseif(EMSCRIPTEN)    
-	
+
 	include(AtomicWeb)
 
 endif()

+ 2 - 0
Source/Atomic/Atomic.h

@@ -47,7 +47,9 @@
 #else
 
 #ifdef ATOMIC_STATIC_DEFINE
+#ifndef ATOMIC_API
 #  define ATOMIC_API
+#endif
 #  define ATOMIC_NO_EXPORT
 #else
 #  ifndef ATOMIC_API

+ 4 - 13
Source/Atomic/CMakeLists.txt

@@ -19,14 +19,12 @@ file (GLOB NAVIGATION_SOURCE Navigation/*.cpp Navigation/*.h)
 file (GLOB NETWORK_SOURCE Network/*.cpp Network/*.h)
 file (GLOB ENVIRONMENT_SOURCE Environment/*.cpp Environment/*.h)
 file (GLOB ATOMIC2D_SOURCE Atomic2D/*.cpp Atomic2D/*.h)
-file (GLOB JAVASCRIPT_SOURCE Javascript/*.cpp Javascript/*.h)
 file (GLOB SCENE_SOURCE Scene/*.cpp Scene/*.h)
 file (GLOB UI_SOURCE UI/*.cpp UI/*.h)
 
 file (GLOB GRAPHICS_SOURCE Graphics/*.cpp Graphics/*.h)
 
 if (MSVC)
-    set (JAVASCRIPT_BINDINGS_SOURCE_FOLDER "WINDOWS")  
     file (GLOB GRAPHICS_IMPL_SOURCE Graphics/Direct3D9/*.cpp Graphics/Direct3D9/*.h)
 else()
 
@@ -38,32 +36,25 @@ endif()
 
 if (ANDROID)
   
-  set (JAVASCRIPT_BINDINGS_SOURCE_FOLDER "ANDROID")  
-
 endif()
 
 if (APPLE)
-    if (NOT IOS)
-      set (JAVASCRIPT_BINDINGS_SOURCE_FOLDER "MACOSX")  
+    if (NOT IOS)      
       set (PLATFORM_SOURCE IO/MacFileWatcher.mm)
-    else()
-      set (JAVASCRIPT_BINDINGS_SOURCE_FOLDER "IOS")  
+    else()      
     endif()
 endif()
 
 if (EMSCRIPTEN)
-  set (JAVASCRIPT_BINDINGS_SOURCE_FOLDER "WEB")  
-endif()
 
-
-file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${CMAKE_SOURCE_DIR}/Build/Source/Generated/${JAVASCRIPT_BINDINGS_SOURCE_FOLDER}/Javascript/Modules/*.cpp)
+endif()
 
 set (SOURCE_FILES ${CONTAINER_SOURCE} ${CORE_SOURCE} ${ENGINE_SOURCE} ${INPUT_SOURCE}
                   ${AUDIO_SOURCE} ${IO_SOURCE} ${MATH_SOURCE} 
                   ${RESOURCE_SOURCE} ${PHYSICS_SOURCE}
                   ${GRAPHICS_SOURCE} ${GRAPHICS_IMPL_SOURCE}                  
                   ${ATOMIC2D_SOURCE} ${ENVIRONMENT_SOURCE}
-                  ${JAVASCRIPT_SOURCE} ${JAVASCRIPT_BINDINGS_SOURCE} ${SCENE_SOURCE} ${UI_SOURCE}
+                  ${SCENE_SOURCE} ${UI_SOURCE}
                   ${PLATFORM_SOURCE})
 
 if (NOT EMSCRIPTEN)

+ 4 - 0
Source/AtomicEditor/AtomicEditorWindows.cmake

@@ -0,0 +1,4 @@
+
+
+
+

+ 2 - 7
Source/AtomicEditor/CMakeLists.txt

@@ -1,10 +1,8 @@
-
 include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
                      ${CMAKE_SOURCE_DIR}/Source/ThirdParty
                      ${CMAKE_CURRENT_SOURCE_DIR}/Vendor/nativefiledialog
                      ${CMAKE_CURRENT_SOURCE_DIR}/Vendor/Poco/Foundation/include)
 
-
 file (GLOB_RECURSE SOURCE_FILES Source/*.cpp Source/*.h)
 
 add_definitions(-DPOCO_NO_AUTOMATIC_LIBS)
@@ -31,16 +29,13 @@ add_subdirectory(Vendor)
 
 add_executable(AtomicEditor ${EXE_TYPE} ${SOURCE_FILES} ${ATOMIC_EDITOR_ICON})
 
-target_link_libraries(AtomicEditor ${ATOMIC_LINK_LIBRARIES} Poco)
+target_link_libraries(AtomicEditor ${ATOMIC_LINK_LIBRARIES} AtomicJS Poco)
 
-if (APPLE)
-    
+if (APPLE)    
     set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST MacOSXBundleInfo.plist.template)
     target_link_libraries(AtomicEditor curl)
 else()
-
     target_link_libraries(AtomicEditor libcurl Iphlpapi Wldap32)
-
 endif()
 
 if (TARGET_PROPERTIES)

+ 6 - 7
Source/AtomicEditor/Source/AEApplication.cpp

@@ -20,9 +20,6 @@
 #include <Atomic/Input/Input.h>
 
 #include <Atomic/UI/TBUI.h>
-
-#include <Atomic/Javascript/Javascript.h>
-
 #include <Atomic/Environment/Environment.h>
 #include <Atomic/Graphics/Renderer.h>
 
@@ -45,6 +42,8 @@
 
 #include "Tools/External/AEExternalTooling.h"
 
+#include <AtomicJS/Javascript/Javascript.h>
+
 DEFINE_APPLICATION_MAIN(AtomicEditor::AEApplication);
 
 namespace AtomicEditor
@@ -71,12 +70,12 @@ void AEApplication::Start()
     FileSystem* fileSystem = GetSubsystem<FileSystem>();
 
 #ifdef __APPLE__    
-    String editorResources = fileSystem->GetAppBundleResourceFolder() + "EditorData/";
+    String editorResources = fileSystem->GetAppBundleResourceFolder() + "EditorData.pak";
 #else
-    String editorResources = fileSystem->GetProgramDir() + "EditorData/";
+    String editorResources = fileSystem->GetProgramDir() + "EditorData.pak";
 #endif    
-    assert(fileSystem->DirExists(editorResources));
-    cache->AddResourceDir(editorResources);
+    assert(fileSystem->FileExists(editorResources));
+    cache->AddPackageFile(editorResources);
 
     // initialize after EditorResources set
     TBUI* tbui = GetSubsystem<TBUI>();

+ 2 - 1
Source/AtomicEditor/Source/AEEditor.cpp

@@ -9,9 +9,10 @@
 #include <Atomic/Resource/ResourceCache.h>
 #include <Atomic/Input/Input.h>
 #include <Atomic/UI/TBUI.h>
-#include <Atomic/Javascript/Javascript.h>
 #include <Atomic/Core/CoreEvents.h>
 
+#include <AtomicJS/Javascript/Javascript.h>
+
 #include "AEEditor.h"
 
 #include "AEPreferences.h"

+ 5 - 3
Source/AtomicEditor/Source/Player/AEPlayer.cpp

@@ -8,12 +8,14 @@
 #include <Atomic/IO/FileSystem.h>
 #include <Atomic/Input/Input.h>
 #include <Atomic/Resource/ResourceCache.h>
-#include <Atomic/Javascript/Javascript.h>
-#include <Atomic/Javascript/JSVM.h>
-#include <Atomic/Javascript/JSEvents.h>
 #include <Atomic/UI/TBUI.h>
 #include <Atomic/UI/UI.h>
 
+#include <AtomicJS/Javascript/Javascript.h>
+#include <AtomicJS/Javascript/JSVM.h>
+#include <AtomicJS/Javascript/JSEvents.h>
+
+
 #include "AEPlayer.h"
 #include "AEEvents.h"
 #include "AEEditor.h"

+ 2 - 2
Source/AtomicEditor/Source/UI/UIConsoleWidget.cpp

@@ -15,10 +15,10 @@
 #include "UIMainFrame.h"
 #include "UIResourceFrame.h"
 
-#include <Atomic/Javascript/JSEvents.h>
-
 #include <Atomic/IO/FileSystem.h>
 
+#include <AtomicJS/Javascript/JSEvents.h>
+
 #include "../AEJavascript.h"
 #include "../AEEvents.h"
 

+ 1 - 1
Source/AtomicEditor/Source/UI/UIResourceFrame.cpp

@@ -11,7 +11,7 @@
 #include <Atomic/IO/FileSystem.h>
 #include <Atomic/Resource/ResourceCache.h>
 #include <Atomic/Core/CoreEvents.h>
-#include <Atomic/Javascript/JSEvents.h>
+#include <AtomicJS/Javascript/JSEvents.h>
 
 #include "UIResourceFrame.h"
 

+ 60 - 0
Source/AtomicJS/CMakeLists.txt

@@ -0,0 +1,60 @@
+
+if (MSVC)
+    set (JAVASCRIPT_BINDINGS_PLATFORM "WINDOWS")
+elseif(APPLE)
+    if (NOT IOS)
+      set (JAVASCRIPT_BINDINGS_PLATFORM "MACOSX")
+    else()
+      set (JAVASCRIPT_BINDINGS_PLATFORM "IOS")
+    endif()
+elseif(ANDROID)
+    set (JAVASCRIPT_BINDINGS_PLATFORM "ANDROID")
+elseif (EMSCRIPTEN)
+  set (JAVASCRIPT_BINDINGS_PLATFORM "WEB")
+endif()
+
+if (NOT IOS AND NOT ANDROID AND NOT EMSCRIPTEN)
+    add_subdirectory(JSBind)
+endif()
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}
+                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty
+                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
+                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/kNet/include
+                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/FreeType/include
+                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/Box2D)
+
+file (GLOB JAVASCRIPT_SOURCE Javascript/*.cpp Javascript/*.h)
+
+if (NOT MSVC)
+    # for kNet
+    add_definitions (-DUNIX)
+endif()
+
+# Create the JSBind files ahead of time, so they are picked up with glob
+set (JSFILES JSModuleAtomic2D.cpp;JSModuleAudio.cpp;JSModuleContainer.cpp;JSModuleCore.cpp;
+             JSModuleEngine.cpp;JSModuleEnvironment.cpp;JSModuleGraphics.cpp;JSModuleInput.cpp;
+             JSModuleIO.cpp;JSModuleJavascript.cpp;JSModuleMath.cpp;JSModuleNavigation.cpp;
+             JSModuleNetwork.cpp;JSModulePhysics.cpp;JSModuleResource.cpp;JSModules.cpp;
+             JSModuleScene.cpp;JSModuleUI.cpp)
+
+foreach(JSFILE ${JSFILES})
+
+  set (JSFILEPATH "${CMAKE_SOURCE_DIR}/Build/Source/Generated/${JAVASCRIPT_BINDINGS_PLATFORM}/Javascript/Modules/${JSFILE}")
+
+  if (NOT EXISTS ${JSFILEPATH})
+    file(WRITE "${JSFILEPATH}" "// will be created by JSBind")
+  endif()
+
+endforeach()
+
+
+file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${CMAKE_SOURCE_DIR}/Build/Source/Generated/${JAVASCRIPT_BINDINGS_PLATFORM}/Javascript/Modules/*.cpp)
+
+set (SOURCE_FILES ${JAVASCRIPT_SOURCE} ${JAVASCRIPT_BINDINGS_SOURCE} )
+
+add_library(AtomicJS ${SOURCE_FILES})
+
+if (NOT IOS AND NOT ANDROID AND NOT EMSCRIPTEN)
+    add_dependencies(AtomicJS JSBind)
+endif()

+ 6 - 0
Source/Tools/JSBind/CMakeLists.txt → Source/AtomicJS/JSBind/CMakeLists.txt

@@ -1,3 +1,4 @@
+project (JSBind)
 
 include_directories(${CMAKE_SOURCE_DIR}/Source)
 
@@ -9,3 +10,8 @@ file (GLOB SOURCE_FILES *.cpp cplusplus/*.cpp *.h cplusplus/*.h )
 add_executable(JSBind ${SOURCE_FILES})
 
 target_link_libraries(JSBind ${ATOMIC_LINK_LIBRARIES})
+
+#TODO: finer grained dependencies
+add_custom_command(TARGET JSBind POST_BUILD
+                   COMMAND $<TARGET_FILE:JSBind> "\"${CMAKE_SOURCE_DIR}\"" "${JAVASCRIPT_BINDINGS_PLATFORM}"
+                   COMMENT "Generating Javascript Bindings")

+ 0 - 0
Source/Tools/JSBind/JSBClass.cpp → Source/AtomicJS/JSBind/JSBClass.cpp


+ 0 - 0
Source/Tools/JSBind/JSBClass.h → Source/AtomicJS/JSBind/JSBClass.h


+ 0 - 0
Source/Tools/JSBind/JSBDoc.cpp → Source/AtomicJS/JSBind/JSBDoc.cpp


+ 0 - 0
Source/Tools/JSBind/JSBDoc.h → Source/AtomicJS/JSBind/JSBDoc.h


+ 0 - 0
Source/Tools/JSBind/JSBFunction.cpp → Source/AtomicJS/JSBind/JSBFunction.cpp


+ 0 - 0
Source/Tools/JSBind/JSBFunction.h → Source/AtomicJS/JSBind/JSBFunction.h


+ 0 - 0
Source/Tools/JSBind/JSBHeader.cpp → Source/AtomicJS/JSBind/JSBHeader.cpp


+ 0 - 0
Source/Tools/JSBind/JSBHeader.h → Source/AtomicJS/JSBind/JSBHeader.h


+ 0 - 0
Source/Tools/JSBind/JSBHeaderVisitor.cpp → Source/AtomicJS/JSBind/JSBHeaderVisitor.cpp


+ 0 - 0
Source/Tools/JSBind/JSBHeaderVisitor.h → Source/AtomicJS/JSBind/JSBHeaderVisitor.h


+ 17 - 12
Source/Tools/JSBind/JSBModule.cpp → Source/AtomicJS/JSBind/JSBModule.cpp

@@ -184,19 +184,19 @@ void JSBModule::WriteIncludes(String& source)
 
 		String headerfile = GetFileNameAndExtension(header->filepath_);
 
-#ifdef WIN32
-        headerPath.Replace(JSBind::ROOT_FOLDER + "/Source/Atomic/", "");
-#else
-        headerPath.Replace(JSBind::ROOT_FOLDER + "/Source/Atomic/", "");
-#endif        
-        source.AppendWithFormat("#include \"%s%s\"\n", headerPath.CString(), headerfile.CString());
+        headerPath.Replace(JSBind::ROOT_FOLDER + "/Source/Atomic/", "Atomic/");
+
+        source.AppendWithFormat("#include <%s%s>\n", headerPath.CString(), headerfile.CString());
 
         included.Push(header);
     }
 
     for (unsigned i = 0; i < includes_.Size(); i++)
     {
-        source.AppendWithFormat("#include \"%s\"\n", includes_[i].CString());
+        if (includes_[i].StartsWith("<"))
+            source.AppendWithFormat("#include %s\n", includes_[i].CString());
+        else
+            source.AppendWithFormat("#include \"%s\"\n", includes_[i].CString());
     }
 }
 
@@ -206,10 +206,9 @@ void JSBModule::EmitSource(const String& filepath)
     file.Open(filepath, FILE_WRITE);
 
     source_ = "// This file was autogenerated by JSBind, changes will be lost\n";
-	source_ += "#include \"Precompiled.h\"\n";
     source_ += "#include <Duktape/duktape.h>\n";    
-    source_ += "#include \"Javascript/JSVM.h\"\n";
-    source_ += "#include \"Javascript/JSAPI.h\"\n";
+    source_ += "#include <AtomicJS/Javascript/JSVM.h>\n";
+    source_ += "#include <AtomicJS/Javascript/JSAPI.h>\n";
 
     WriteIncludes(source_);
 
@@ -366,11 +365,17 @@ void JSBModule::Load(const String &moduleJSONFilename)
     {
         String sourceFolder = sources.GetString(j);
         Vector<String> fileNames;
-        JSBind::fileSystem_->ScanDir(fileNames, JSBind::ROOT_FOLDER + "/Source/Atomic/" + sourceFolder, "*.h", SCAN_FILES, false);        
+
+        String sourceRoot = "Atomic";
+
+        if (sourceFolder == "Javascript")
+            sourceRoot = "AtomicJS";
+
+        JSBind::fileSystem_->ScanDir(fileNames, JSBind::ROOT_FOLDER + "/Source/" + sourceRoot + "/" + sourceFolder, "*.h", SCAN_FILES, false);
         for (unsigned k = 0; k < fileNames.Size(); k++)
         {
             // TODO: filter
-            String filepath = JSBind::ROOT_FOLDER + "/Source/Atomic/" + sourceFolder + "/" + fileNames[k];
+            String filepath = JSBind::ROOT_FOLDER + "/Source/" + sourceRoot + "/" + sourceFolder + "/" + fileNames[k];
 
             this->headerFiles_.Push(filepath);
         }

+ 0 - 0
Source/Tools/JSBind/JSBModule.h → Source/AtomicJS/JSBind/JSBModule.h


+ 0 - 0
Source/Tools/JSBind/JSBNameVisitor.cpp → Source/AtomicJS/JSBind/JSBNameVisitor.cpp


+ 0 - 0
Source/Tools/JSBind/JSBNameVisitor.h → Source/AtomicJS/JSBind/JSBNameVisitor.h


+ 0 - 0
Source/Tools/JSBind/JSBPreprocessVisitor.cpp → Source/AtomicJS/JSBind/JSBPreprocessVisitor.cpp


+ 0 - 0
Source/Tools/JSBind/JSBPreprocessVisitor.h → Source/AtomicJS/JSBind/JSBPreprocessVisitor.h


+ 0 - 0
Source/Tools/JSBind/JSBSymbol.cpp → Source/AtomicJS/JSBind/JSBSymbol.cpp


+ 0 - 0
Source/Tools/JSBind/JSBSymbol.h → Source/AtomicJS/JSBind/JSBSymbol.h


+ 0 - 0
Source/Tools/JSBind/JSBType.cpp → Source/AtomicJS/JSBind/JSBType.cpp


+ 0 - 0
Source/Tools/JSBind/JSBType.h → Source/AtomicJS/JSBind/JSBType.h


+ 0 - 0
Source/Tools/JSBind/JSBTypeScript.cpp → Source/AtomicJS/JSBind/JSBTypeScript.cpp


+ 0 - 0
Source/Tools/JSBind/JSBTypeScript.h → Source/AtomicJS/JSBind/JSBTypeScript.h


+ 2 - 2
Source/Tools/JSBind/JSBind.cpp → Source/AtomicJS/JSBind/JSBind.cpp

@@ -43,7 +43,7 @@ void Run(const Vector<String>& arguments)
     JSBind::ROOT_FOLDER = arguments[0];
     JSBind::PLATFORM = arguments[1];
 
-    if (!JSBind::fileSystem_->DirExists(JSBind::ROOT_FOLDER + "/Source/Tools/JSBind"))
+    if (!JSBind::fileSystem_->DirExists(JSBind::ROOT_FOLDER + "/Source/AtomicJS/JSBind"))
     {
         ErrorExit("The given Atomic Runtime source tree is invalid");
     }
@@ -56,7 +56,7 @@ void Run(const Vector<String>& arguments)
     JSBind::engine_->Initialize(engineParameters);
 
     ResourceCache* cache = JSBind::context_->GetSubsystem<ResourceCache>();
-    cache->AddResourceDir(JSBind::ROOT_FOLDER + "/Source/Tools/JSBind");
+    cache->AddResourceDir(JSBind::ROOT_FOLDER + "/Source/AtomicJS/JSBind");
 
     JSBindings* bindings = new JSBindings();
     bindings->Initialize();

+ 0 - 0
Source/Tools/JSBind/JSBind.h → Source/AtomicJS/JSBind/JSBind.h


+ 2 - 3
Source/Tools/JSBind/JSBindings.cpp → Source/AtomicJS/JSBind/JSBindings.cpp

@@ -69,10 +69,9 @@ void JSBindings::EmitJSModules(const String& rootpath)
     file.Open(rootpath + "/JSModules.cpp", FILE_WRITE);
 
     String source = "// This file was autogenerated by JSBind, changes will be lost\n\n";
-	source += "#include \"Precompiled.h\"\n";
     source += "#include <Duktape/duktape.h>\n";    
-    source += "#include \"Javascript/JSVM.h\"\n";
-    source += "#include \"Javascript/JSAPI.h\"\n";
+    source += "#include <AtomicJS/Javascript/JSVM.h>\n";
+    source += "#include <AtomicJS/Javascript/JSAPI.h>\n";
 
     source += "\n\nnamespace Atomic\n{\n";
 

+ 0 - 0
Source/Tools/JSBind/JSBindings.h → Source/AtomicJS/JSBind/JSBindings.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/AST.cpp → Source/AtomicJS/JSBind/cplusplus/AST.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/AST.h → Source/AtomicJS/JSBind/cplusplus/AST.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/ASTClone.cpp → Source/AtomicJS/JSBind/cplusplus/ASTClone.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/ASTMatch0.cpp → Source/AtomicJS/JSBind/cplusplus/ASTMatch0.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/ASTMatcher.cpp → Source/AtomicJS/JSBind/cplusplus/ASTMatcher.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/ASTMatcher.h → Source/AtomicJS/JSBind/cplusplus/ASTMatcher.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/ASTPatternBuilder.cpp → Source/AtomicJS/JSBind/cplusplus/ASTPatternBuilder.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/ASTPatternBuilder.h → Source/AtomicJS/JSBind/cplusplus/ASTPatternBuilder.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/ASTVisit.cpp → Source/AtomicJS/JSBind/cplusplus/ASTVisit.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/ASTVisitor.cpp → Source/AtomicJS/JSBind/cplusplus/ASTVisitor.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/ASTVisitor.h → Source/AtomicJS/JSBind/cplusplus/ASTVisitor.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/ASTfwd.h → Source/AtomicJS/JSBind/cplusplus/ASTfwd.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/Bind.cpp → Source/AtomicJS/JSBind/cplusplus/Bind.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Bind.h → Source/AtomicJS/JSBind/cplusplus/Bind.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/CPlusPlus.h → Source/AtomicJS/JSBind/cplusplus/CPlusPlus.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/CPlusPlusForwardDeclarations.h → Source/AtomicJS/JSBind/cplusplus/CPlusPlusForwardDeclarations.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/Control.cpp → Source/AtomicJS/JSBind/cplusplus/Control.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Control.h → Source/AtomicJS/JSBind/cplusplus/Control.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/CoreTypes.cpp → Source/AtomicJS/JSBind/cplusplus/CoreTypes.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/CoreTypes.h → Source/AtomicJS/JSBind/cplusplus/CoreTypes.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/DiagnosticClient.cpp → Source/AtomicJS/JSBind/cplusplus/DiagnosticClient.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/DiagnosticClient.h → Source/AtomicJS/JSBind/cplusplus/DiagnosticClient.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/FullySpecifiedType.cpp → Source/AtomicJS/JSBind/cplusplus/FullySpecifiedType.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/FullySpecifiedType.h → Source/AtomicJS/JSBind/cplusplus/FullySpecifiedType.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/Keywords.cpp → Source/AtomicJS/JSBind/cplusplus/Keywords.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Keywords.kwgen → Source/AtomicJS/JSBind/cplusplus/Keywords.kwgen


+ 0 - 0
Source/Tools/JSBind/cplusplus/Lexer.cpp → Source/AtomicJS/JSBind/cplusplus/Lexer.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Lexer.h → Source/AtomicJS/JSBind/cplusplus/Lexer.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/LiteralTable.h → Source/AtomicJS/JSBind/cplusplus/LiteralTable.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/Literals.cpp → Source/AtomicJS/JSBind/cplusplus/Literals.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Literals.h → Source/AtomicJS/JSBind/cplusplus/Literals.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/Matcher.cpp → Source/AtomicJS/JSBind/cplusplus/Matcher.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Matcher.h → Source/AtomicJS/JSBind/cplusplus/Matcher.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/MemoryPool.cpp → Source/AtomicJS/JSBind/cplusplus/MemoryPool.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/MemoryPool.h → Source/AtomicJS/JSBind/cplusplus/MemoryPool.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/Name.cpp → Source/AtomicJS/JSBind/cplusplus/Name.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Name.h → Source/AtomicJS/JSBind/cplusplus/Name.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/NameVisitor.cpp → Source/AtomicJS/JSBind/cplusplus/NameVisitor.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/NameVisitor.h → Source/AtomicJS/JSBind/cplusplus/NameVisitor.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/Names.cpp → Source/AtomicJS/JSBind/cplusplus/Names.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Names.h → Source/AtomicJS/JSBind/cplusplus/Names.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/ObjectiveCAtKeywords.cpp → Source/AtomicJS/JSBind/cplusplus/ObjectiveCAtKeywords.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/ObjectiveCTypeQualifiers.cpp → Source/AtomicJS/JSBind/cplusplus/ObjectiveCTypeQualifiers.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/ObjectiveCTypeQualifiers.h → Source/AtomicJS/JSBind/cplusplus/ObjectiveCTypeQualifiers.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/Parser.cpp → Source/AtomicJS/JSBind/cplusplus/Parser.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Parser.h → Source/AtomicJS/JSBind/cplusplus/Parser.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/QtContextKeywords.cpp → Source/AtomicJS/JSBind/cplusplus/QtContextKeywords.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/QtContextKeywords.h → Source/AtomicJS/JSBind/cplusplus/QtContextKeywords.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/SafeMatcher.cpp → Source/AtomicJS/JSBind/cplusplus/SafeMatcher.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/SafeMatcher.h → Source/AtomicJS/JSBind/cplusplus/SafeMatcher.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/Scope.cpp → Source/AtomicJS/JSBind/cplusplus/Scope.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Scope.h → Source/AtomicJS/JSBind/cplusplus/Scope.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/Symbol.cpp → Source/AtomicJS/JSBind/cplusplus/Symbol.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Symbol.h → Source/AtomicJS/JSBind/cplusplus/Symbol.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/SymbolVisitor.cpp → Source/AtomicJS/JSBind/cplusplus/SymbolVisitor.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/SymbolVisitor.h → Source/AtomicJS/JSBind/cplusplus/SymbolVisitor.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/Symbols.cpp → Source/AtomicJS/JSBind/cplusplus/Symbols.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Symbols.h → Source/AtomicJS/JSBind/cplusplus/Symbols.h


+ 0 - 0
Source/Tools/JSBind/cplusplus/Templates.cpp → Source/AtomicJS/JSBind/cplusplus/Templates.cpp


+ 0 - 0
Source/Tools/JSBind/cplusplus/Templates.h → Source/AtomicJS/JSBind/cplusplus/Templates.h


Some files were not shown because too many files changed in this diff