Browse Source

JSBind builds/runs

Josh Engebretson 11 years ago
parent
commit
51ff3a20a1

+ 4 - 0
.gitignore

@@ -0,0 +1,4 @@
+
+*.user
+Bin/Atomic.d.ts
+Source/Atomic/Javascript/Modules/*

+ 10 - 0
CMakeLists.txt

@@ -5,6 +5,9 @@ cmake_minimum_required (VERSION 2.8.6)
 
 add_definitions(-DATOMIC_PHYSICS -DATOMIC_NETWORK -DATOMIC_ATOMIC2D)
 
+set (ATOMIC_LINK_LIBRARIES Atomic Box2D Bullet Civetweb Detour Duktape FreeType JO kNet
+                           LibCpuId LZ4 PugiXml Recast SDL SQLite StanHull STB TurboBadger)
+
 if (MSVC)
 
 set (CMAKE_DEBUG_POSTFIX _d)
@@ -12,11 +15,18 @@ set (CMAKE_DEBUG_POSTFIX _d)
 else()
 
 add_definitions(-DATOMIC_OPENGL)
+list (APPEND ATOMIC_LINK_LIBRARIES GLEW)
 
 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof -std=gnu++0x")
 
 endif()
 
+if (APPLE)
+
+    set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework ForceFeedback -framework IOKit -framework OpenGL -framework CoreServices")
+
+endif()
+
 
 add_subdirectory(Source)
 

+ 7 - 1
Source/Atomic/CMakeLists.txt

@@ -35,6 +35,11 @@ file (GLOB GRAPHICS_IMPL_SOURCE Graphics/OpenGL/*.cpp Graphics/OpenGL/*.h)
 
 endif()
 
+if (APPLE)
+    set (PLATFORM_SOURCE IO/MacFileWatcher.mm)
+endif()
+
+
 
 
 set (SOURCE_FILES ${CONTAINER_SOURCE} ${CORE_SOURCE} ${ENGINE_SOURCE} ${INPUT_SOURCE}
@@ -43,7 +48,8 @@ set (SOURCE_FILES ${CONTAINER_SOURCE} ${CORE_SOURCE} ${ENGINE_SOURCE} ${INPUT_SO
                   ${GRAPHICS_SOURCE} ${GRAPHICS_IMPL_SOURCE}
                   ${PHYSICS_SOURCE} ${NAVIGATION_SOURCE}
                   ${ATOMIC2D_SOURCE} ${ENVIRONMENT_SOURCE}
-                  ${JAVASCRIPT_SOURCE} ${SCENE_SOURCE} ${UI_SOURCE})
+                  ${JAVASCRIPT_SOURCE} ${SCENE_SOURCE} ${UI_SOURCE}
+                  ${PLATFORM_SOURCE})
 
 add_library(Atomic ${SOURCE_FILES})
 

+ 1 - 0
Source/CMakeLists.txt

@@ -1,3 +1,4 @@
 
 add_subdirectory(ThirdParty)
 add_subdirectory(Atomic)
+add_subdirectory(Tools)

+ 5 - 1
Source/ThirdParty/CMakeLists.txt

@@ -15,4 +15,8 @@ add_subdirectory(SDL)
 add_subdirectory(SQLite)
 add_subdirectory(StanHull)
 add_subdirectory(STB)
-add_subdirectory(TurboBadger)
+add_subdirectory(TurboBadger)
+
+if (APPLE)
+    add_subdirectory(GLEW)
+endif()

+ 7 - 0
Source/ThirdParty/GLEW/CMakeLists.txt

@@ -0,0 +1,7 @@
+
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+file (GLOB SOURCE_FILES *.c)
+
+add_library(GLEW ${SOURCE_FILES})

+ 4 - 0
Source/Tools/CMakeLists.txt

@@ -0,0 +1,4 @@
+
+add_subdirectory(JSBind)
+
+

+ 11 - 0
Source/Tools/JSBind/CMakeLists.txt

@@ -0,0 +1,11 @@
+
+include_directories(${CMAKE_SOURCE_DIR}/Source)
+
+add_definitions(-DCPLUSPLUS_WITHOUT_QT)
+
+# Define source files
+file (GLOB SOURCE_FILES *.cpp cplusplus/*.cpp *.h cplusplus/*.h )
+
+add_executable(JSBind ${SOURCE_FILES})
+
+target_link_libraries(JSBind ${ATOMIC_LINK_LIBRARIES})

+ 3 - 3
Source/Tools/JSBind/JSBClass.h

@@ -1,9 +1,9 @@
 
 #pragma once
 
-#include "../IO/Log.h"
-#include "../Container/Str.h"
-#include "../Container/Vector.h"
+#include <Atomic/IO/Log.h>
+#include <Atomic/Container/Str.h>
+#include <Atomic/Container/Vector.h>
 
 using namespace Atomic;
 

+ 1 - 1
Source/Tools/JSBind/JSBFunction.cpp

@@ -1,5 +1,5 @@
 
-#include "../Atomic.h"
+#include <Atomic/Atomic.h>
 #include "JSBFunction.h"
 
 void JSBFunction::WriteParameterMarshal(String& source)

+ 1 - 1
Source/Tools/JSBind/JSBFunction.h

@@ -2,7 +2,7 @@
 
 #pragma once
 
-#include "../IO/Log.h"
+#include <Atomic/IO/Log.h>
 #include "JSBClass.h"
 #include "JSBType.h"
 

+ 3 - 3
Source/Tools/JSBind/JSBHeader.h

@@ -1,9 +1,9 @@
 
 #pragma once
 
-#include "../Container/Vector.h"
-#include "../Container/Str.h"
-#include "../Container/ArrayPtr.h"
+#include <Atomic/Container/Vector.h>
+#include <Atomic/Container/Str.h>
+#include <Atomic/Container/ArrayPtr.h>
 
 using namespace Atomic;
 

+ 1 - 1
Source/Tools/JSBind/JSBHeaderVisitor.cpp

@@ -1,3 +1,3 @@
-#include "../Atomic.h"
+#include <Atomic/Atomic.h>
 #include "JSBHeaderVisitor.h"
 

+ 3 - 2
Source/Tools/JSBind/JSBHeaderVisitor.h

@@ -1,13 +1,14 @@
 
 #pragma once
 
-#include "../IO/Log.h"
+#include <Atomic/IO/Log.h>
+#include <Atomic/Core/ProcessUtils.h>
+
 #include "JSBHeader.h"
 #include "JSBModule.h"
 #include "JSBindings.h"
 #include "JSBClass.h"
 #include "JSBFunction.h"
-#include "../Core/ProcessUtils.h"
 
 #include "JSBNameVisitor.h"
 

+ 6 - 6
Source/Tools/JSBind/JSBModule.cpp

@@ -1,9 +1,9 @@
 
-#include "../Atomic.h"
-#include "../IO/Log.h"
-#include "../Resource/JSONFile.h"
-#include "../Resource/ResourceCache.h"
-#include "../Core/ProcessUtils.h"
+#include <Atomic/Atomic.h>
+#include <Atomic/IO/Log.h>
+#include <Atomic/Resource/JSONFile.h>
+#include <Atomic/Resource/ResourceCache.h>
+#include <Atomic/Core/ProcessUtils.h>
 
 #include "JSBind.h"
 #include "JSBindings.h"
@@ -184,7 +184,7 @@ void JSBModule::WriteIncludes(String& source)
 #ifdef WIN32
         headerPath.Replace(JSBind::ROOT_FOLDER + "/Source/Atomic", "../..");
 #else
-		headerPath.Replace(JSBind::ROOT_FOLDER + "/Source/Atomic", "../..");
+        headerPath.Replace(JSBind::ROOT_FOLDER + "/Source/Atomic", "../..");
 #endif        
         source.AppendWithFormat("#include \"%s%s\"\n", headerPath.CString(), headerfile.CString());
 

+ 2 - 2
Source/Tools/JSBind/JSBModule.h

@@ -1,8 +1,8 @@
 
 #pragma once
 
-#include "../Container/Vector.h"
-#include "../Container/Str.h"
+#include <Atomic/Container/Vector.h>
+#include <Atomic/Container/Str.h>
 
 using namespace Atomic;
 

+ 1 - 1
Source/Tools/JSBind/JSBNameVisitor.cpp

@@ -1,5 +1,5 @@
 
-#include "../Atomic.h"
+#include <Atomic/Atomic.h>
 #include "JSBNameVisitor.h"
 
 JSBNameVisitor::JSBNameVisitor()

+ 1 - 1
Source/Tools/JSBind/JSBNameVisitor.h

@@ -1,7 +1,7 @@
 
 #pragma once
 
-#include "../Container/Str.h"
+#include <Atomic/Container/Str.h>
 
 #include "cplusplus/CPlusPlus.h"
 using namespace CPlusPlus;

+ 1 - 1
Source/Tools/JSBind/JSBPreprocessVisitor.cpp

@@ -1,2 +1,2 @@
 
-#include "../Atomic.h"
+#include <Atomic/Atomic.h>

+ 1 - 1
Source/Tools/JSBind/JSBType.cpp

@@ -1,5 +1,5 @@
 
-#include "../Atomic.h"
+#include <Atomic/Atomic.h>
 #include "JSBType.h"
 #include "JSBindings.h"
 

+ 1 - 1
Source/Tools/JSBind/JSBType.h

@@ -1,7 +1,7 @@
 
 #pragma once
 
-#include "../Container/Str.h"
+#include <Atomic/Container/Str.h>
 #include "JSBClass.h"
 
 using namespace Atomic;

+ 4 - 4
Source/Tools/JSBind/JSBTypeScript.cpp

@@ -1,8 +1,8 @@
 
-#include "../Atomic.h"
-#include "../IO/Log.h"
-#include "../Core/ProcessUtils.h"
-#include "../Resource/ResourceCache.h"
+#include <Atomic/Atomic.h>
+#include <Atomic/IO/Log.h>
+#include <Atomic/Core/ProcessUtils.h>
+#include <Atomic/Resource/ResourceCache.h>
 #include "JSBind.h"
 #include "JSBindings.h"
 #include "JSBModule.h"

+ 1 - 1
Source/Tools/JSBind/JSBTypeScript.h

@@ -1,7 +1,7 @@
 
 #pragma once
 
-#include "../Container/Str.h"
+#include <Atomic/Container/Str.h>
 
 using namespace Atomic;
 

+ 3 - 3
Source/Tools/JSBind/JSBind.cpp

@@ -1,7 +1,7 @@
 
-#include "../Atomic.h"
-#include "../Core/ProcessUtils.h"
-#include "../Resource/ResourceCache.h"
+#include <Atomic/Atomic.h>
+#include <Atomic/Core/ProcessUtils.h>
+#include <Atomic/Resource/ResourceCache.h>
 
 #include "JSBind.h"
 #include "JSBindings.h"

+ 3 - 3
Source/Tools/JSBind/JSBind.h

@@ -1,9 +1,9 @@
 
 #pragma once
 
-#include "../Core/Context.h"
-#include "../IO/FileSystem.h"
-#include "../Engine/Engine.h"
+#include <Atomic/Core/Context.h>
+#include <Atomic/IO/FileSystem.h>
+#include <Atomic/Engine/Engine.h>
 
 using namespace Atomic;
 

+ 5 - 5
Source/Tools/JSBind/JSBindings.cpp

@@ -1,9 +1,9 @@
 
-#include "../Atomic.h"
-#include "../IO/Log.h"
-#include "../Core/ProcessUtils.h"
-#include "../Resource/ResourceCache.h"
-#include "../Resource/JSONFile.h"
+#include <Atomic/Atomic.h>
+#include <Atomic/IO/Log.h>
+#include <Atomic/Core/ProcessUtils.h>
+#include <Atomic/Resource/ResourceCache.h>
+#include <Atomic/Resource/JSONFile.h>
 #include "JSBind.h"
 #include "JSBModule.h"
 #include "JSBindings.h"

+ 2 - 2
Source/Tools/JSBind/JSBindings.h

@@ -1,8 +1,8 @@
 
 #pragma once
 
-#include "../Container/Vector.h"
-#include "../Container/HashMap.h"
+#include <Atomic/Container/Vector.h>
+#include <Atomic/Container/HashMap.h>
 #include "JSBClass.h"
 
 using namespace Atomic;