Browse Source

common fixes for msvc in jsconsole

cl-refactor
unknown 10 years ago
parent
commit
35760b7055
  1. 8
      cmake/Findv8.cmake
  2. 10
      libjsengine/JSV8Engine.cpp
  3. 2
      libjsengine/JSV8Engine.h

8
cmake/Findv8.cmake

@ -31,7 +31,7 @@ set(V8_LIBRARIES ${V8_LIBRARY})
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
find_library(
V8_BASE_LIBRARY
V8_LIBRARY
NAMES v8_base
DOC "v8 base library"
)
@ -42,10 +42,10 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
DOC "v8 nosnapshot library"
)
set(V8_LIBRARIES ${V8_BASE_LIBRARY} ${V8_NO_SNAPSHOT_LIBRARY})
set(V8_LIBRARIES ${V8_LIBRARY} ${V8_NO_SNAPSHOT_LIBRARY})
find_library(
V8_BASE_LIBRARY_DEBUG
V8_LIBRARY_DEBUG
NAMES v8_based
DOC "v8 base library"
)
@ -56,7 +56,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
DOC "v8 nosnapshot library"
)
set(V8_LIBRARIES optimized ${V8_LIBRARIES} debug ${V8_BASE_LIBRARY_DEBUG} ${V8_NO_SNAPSHOT_LIBRARY_DEBUG})
set(V8_LIBRARIES optimized ${V8_LIBRARIES} debug ${V8_LIBRARY_DEBUG} ${V8_NO_SNAPSHOT_LIBRARY_DEBUG})
endif()

10
libjsengine/JSV8Engine.cpp

@ -90,6 +90,12 @@ void reportException(v8::TryCatch* _tryCatch)
class JSV8Env
{
public:
static JSV8Env& getInstance()
{
static JSV8Env s_env;
return s_env;
}
~JSV8Env()
{
v8::V8::Dispose();
@ -124,8 +130,6 @@ private:
}
}
JSV8Env JSV8Engine::s_env = JSV8Env();
JSString JSV8Value::toString() const
{
if (m_value.IsEmpty())
@ -138,7 +142,7 @@ JSString JSV8Value::toString() const
return toCString(str);
}
JSV8Engine::JSV8Engine(): m_scope(new JSV8Scope())
JSV8Engine::JSV8Engine(): m_env(JSV8Env::getInstance()), m_scope(new JSV8Scope())
{
JSEngineResources resources;
string common = resources.loadResourceAsString("common");

2
libjsengine/JSV8Engine.h

@ -56,7 +56,7 @@ public:
v8::Handle<v8::Context> const& context() const;
private:
static JSV8Env s_env;
JSV8Env const& m_env;
JSV8Scope* m_scope;
};

Loading…
Cancel
Save