summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/uscxml/interpreter/Logging.h2
-rw-r--r--src/uscxml/plugins/datamodel/lua/LuaDataModel.h2
-rw-r--r--src/uscxml/plugins/datamodel/promela/PromelaParser.h4
-rw-r--r--src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp3
-rw-r--r--src/uscxml/plugins/invoker/dirmon/DirMonInvoker.h2
-rw-r--r--src/uscxml/util/Convenience.h22
-rw-r--r--src/uscxml/util/Predicates.h92
-rw-r--r--src/uscxml/util/String.h16
-rw-r--r--test/CMakeLists.txt163
9 files changed, 171 insertions, 135 deletions
diff --git a/src/uscxml/interpreter/Logging.h b/src/uscxml/interpreter/Logging.h
index 348e9dc..67ec4d4 100644
--- a/src/uscxml/interpreter/Logging.h
+++ b/src/uscxml/interpreter/Logging.h
@@ -50,7 +50,7 @@ class LoggerImpl;
void log(LogSeverity severity, const Event& event);
void log(LogSeverity severity, const Data& data);
-class StreamLogger {
+class USCXML_API StreamLogger {
public:
std::ostream& operator<<(const std::string& message);
~StreamLogger();
diff --git a/src/uscxml/plugins/datamodel/lua/LuaDataModel.h b/src/uscxml/plugins/datamodel/lua/LuaDataModel.h
index ad86872..c64656a 100644
--- a/src/uscxml/plugins/datamodel/lua/LuaDataModel.h
+++ b/src/uscxml/plugins/datamodel/lua/LuaDataModel.h
@@ -47,7 +47,7 @@ namespace uscxml {
* Lua data-model.
*/
-class LuaDataModel : public DataModelImpl {
+class USCXML_API LuaDataModel : public DataModelImpl {
public:
LuaDataModel();
virtual ~LuaDataModel();
diff --git a/src/uscxml/plugins/datamodel/promela/PromelaParser.h b/src/uscxml/plugins/datamodel/promela/PromelaParser.h
index 45ea341..8d8989d 100644
--- a/src/uscxml/plugins/datamodel/promela/PromelaParser.h
+++ b/src/uscxml/plugins/datamodel/promela/PromelaParser.h
@@ -48,7 +48,7 @@ public:
void merge(PromelaParserNode* node);
void push(PromelaParserNode* node);
- void dump(size_t indent = 0);
+ void USCXML_API dump(size_t indent = 0);
static std::string typeToDesc(int type);
@@ -59,7 +59,7 @@ public:
Location* loc;
};
-class PromelaParser {
+class USCXML_API PromelaParser {
public:
enum Type {
PROMELA_EXPR,
diff --git a/src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp b/src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp
index 3a99921..1f2fd72 100644
--- a/src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp
+++ b/src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp
@@ -1,3 +1,6 @@
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-register"
+
#line 2 "promela.lex.yy.cpp"
#line 4 "promela.lex.yy.cpp"
diff --git a/src/uscxml/plugins/invoker/dirmon/DirMonInvoker.h b/src/uscxml/plugins/invoker/dirmon/DirMonInvoker.h
index 6d9911f..f7dd56f 100644
--- a/src/uscxml/plugins/invoker/dirmon/DirMonInvoker.h
+++ b/src/uscxml/plugins/invoker/dirmon/DirMonInvoker.h
@@ -38,7 +38,7 @@ namespace uscxml {
class DirectoryWatchMonitor;
-class DirectoryWatch {
+class USCXML_API DirectoryWatch {
public:
enum Action {
ADDED = 1,
diff --git a/src/uscxml/util/Convenience.h b/src/uscxml/util/Convenience.h
index c12e0e4..98c4220 100644
--- a/src/uscxml/util/Convenience.h
+++ b/src/uscxml/util/Convenience.h
@@ -29,14 +29,14 @@ namespace uscxml {
inline bool isnan(double x);
// see http://stackoverflow.com/questions/228005/alternative-to-itoa-for-converting-integer-to-string-c
-template <typename T> std::string toStr(T tmp) {
+template <typename T> std::string USCXML_API toStr(T tmp) {
std::ostringstream outSS;
outSS.precision(std::numeric_limits<double>::digits10 + 1);
outSS << tmp;
return outSS.str();
}
-template <typename T> T strTo(std::string tmp) {
+template <typename T> T USCXML_API strTo(std::string tmp) {
T output;
std::istringstream in(tmp);
in >> output;
@@ -50,16 +50,16 @@ public:
std::string unit;
};
-bool isNumeric(const char* pszInput, int nNumberBase);
-bool isInteger( const char* pszInput, int nNumberBase);
-bool iequals(const std::string& a, const std::string& b);
-bool equals(const std::string& a, const std::string& b);
-bool stringIsTrue(const std::string& value);
-bool envVarIsTrue(const char* name);
-bool envVarIEquals(const char* name, const char* value);
+bool USCXML_API isNumeric(const char* pszInput, int nNumberBase);
+bool USCXML_API isInteger( const char* pszInput, int nNumberBase);
+bool USCXML_API iequals(const std::string& a, const std::string& b);
+bool USCXML_API equals(const std::string& a, const std::string& b);
+bool USCXML_API stringIsTrue(const std::string& value);
+bool USCXML_API envVarIsTrue(const char* name);
+bool USCXML_API envVarIEquals(const char* name, const char* value);
-std::string escape(const std::string& a);
-std::string unescape(const std::string& a);
+std::string USCXML_API escape(const std::string& a);
+std::string USCXML_API unescape(const std::string& a);
}
#endif /* end of include guard: CONVENIENCE_H_LU7GZ6CB */
diff --git a/src/uscxml/util/Predicates.h b/src/uscxml/util/Predicates.h
index 6204d6a..22ad581 100644
--- a/src/uscxml/util/Predicates.h
+++ b/src/uscxml/util/Predicates.h
@@ -20,41 +20,81 @@
#ifndef PREDICATES_H_D3A20484
#define PREDICATES_H_D3A20484
+#include "uscxml/Common.h"
+
#include <string>
#include <list>
#include <xercesc/dom/DOM.hpp>
#include "uscxml/util/DOM.h"
#include "uscxml/util/Convenience.h"
+// forward declare
+namespace XERCESC_NS {
+class DOMElement;
+class DOMNode;
+}
+
+
namespace uscxml {
-std::list<XERCESC_NS::DOMElement*> getChildStates(const XERCESC_NS::DOMElement* state, bool properOnly = true);
-std::list<XERCESC_NS::DOMElement*> getChildStates(const std::list<XERCESC_NS::DOMElement*>& states, bool properOnly = true);
-XERCESC_NS::DOMElement* getParentState(const XERCESC_NS::DOMElement* element);
-XERCESC_NS::DOMElement* getSourceState(const XERCESC_NS::DOMElement* transition);
-XERCESC_NS::DOMElement* findLCCA(const std::list<XERCESC_NS::DOMElement*>& states);
-std::list<XERCESC_NS::DOMElement*> getProperAncestors(const XERCESC_NS::DOMElement* s1, const XERCESC_NS::DOMElement* s2);
-
-std::list<XERCESC_NS::DOMElement*> getTargetStates(const XERCESC_NS::DOMElement* transition, const XERCESC_NS::DOMElement* root);
-std::list<XERCESC_NS::DOMElement*> getEffectiveTargetStates(const XERCESC_NS::DOMElement* transition);
-XERCESC_NS::DOMElement* getTransitionDomain(const XERCESC_NS::DOMElement* transition, const XERCESC_NS::DOMElement* root);
-
-bool areFromSameMachine(const XERCESC_NS::DOMNode* n1, const XERCESC_NS::DOMNode* n2);
-
-std::list<XERCESC_NS::DOMElement*> getStates(const std::list<std::string>& stateIds, const XERCESC_NS::DOMElement* root);
-XERCESC_NS::DOMElement* getState(const std::string& stateId, const XERCESC_NS::DOMElement* root);
-std::list<XERCESC_NS::DOMElement*> getInitialStates(const XERCESC_NS::DOMElement* state, const XERCESC_NS::DOMElement* root);
-std::list<XERCESC_NS::DOMElement*> getReachableStates(const XERCESC_NS::DOMElement* root);
-std::list<XERCESC_NS::DOMElement*> getExitSet(const XERCESC_NS::DOMElement* transition, const XERCESC_NS::DOMElement* root);
-bool conflicts(const XERCESC_NS::DOMElement* transition1, const XERCESC_NS::DOMElement* transition2, const XERCESC_NS::DOMElement* root);
-
-bool isState(const XERCESC_NS::DOMElement* state, bool properOnly = true);
-bool isCompound(const XERCESC_NS::DOMElement* state);
-bool isAtomic(const XERCESC_NS::DOMElement* state);
-bool isParallel(const XERCESC_NS::DOMElement* state);
-bool isFinal(const XERCESC_NS::DOMElement* state);
-bool isHistory(const XERCESC_NS::DOMElement* state);
+// see braindead declspec syntax here: https://msdn.microsoft.com/en-us/library/aa273692(v=vs.60).aspx
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getChildStates(
+ const XERCESC_NS::DOMElement* state,
+ bool properOnly = true);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getChildStates(
+ const std::list<XERCESC_NS::DOMElement*>& states,
+ bool properOnly = true);
+
+XERCESC_NS::DOMElement USCXML_API *getParentState(const XERCESC_NS::DOMElement* element);
+XERCESC_NS::DOMElement USCXML_API *getSourceState(const XERCESC_NS::DOMElement* transition);
+XERCESC_NS::DOMElement USCXML_API *findLCCA(const std::list<XERCESC_NS::DOMElement*>& states);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getProperAncestors(
+ const XERCESC_NS::DOMElement* s1,
+ const XERCESC_NS::DOMElement* s2);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getTargetStates(
+ const XERCESC_NS::DOMElement* transition,
+ const XERCESC_NS::DOMElement* root);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getEffectiveTargetStates(const XERCESC_NS::DOMElement* transition);
+
+XERCESC_NS::DOMElement USCXML_API *getTransitionDomain(
+ const XERCESC_NS::DOMElement* transition,
+ const XERCESC_NS::DOMElement* root);
+
+bool USCXML_API areFromSameMachine(const XERCESC_NS::DOMNode* n1,
+ const XERCESC_NS::DOMNode* n2);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getStates(
+ const std::list<std::string>& stateIds,
+ const XERCESC_NS::DOMElement* root);
+
+XERCESC_NS::DOMElement USCXML_API *getState(
+ const std::string& stateId,
+ const XERCESC_NS::DOMElement* root);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getInitialStates(
+ const XERCESC_NS::DOMElement* state,
+ const XERCESC_NS::DOMElement* root);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getReachableStates(const XERCESC_NS::DOMElement* root);
+std::list<XERCESC_NS::DOMElement*> USCXML_API getExitSet(
+ const XERCESC_NS::DOMElement* transition,
+ const XERCESC_NS::DOMElement* root);
+
+bool USCXML_API conflicts(const XERCESC_NS::DOMElement* transition1,
+ const XERCESC_NS::DOMElement* transition2,
+ const XERCESC_NS::DOMElement* root);
+bool USCXML_API isState(const XERCESC_NS::DOMElement* state, bool properOnly = true);
+bool USCXML_API isCompound(const XERCESC_NS::DOMElement* state);
+bool USCXML_API isAtomic(const XERCESC_NS::DOMElement* state);
+bool USCXML_API isParallel(const XERCESC_NS::DOMElement* state);
+bool USCXML_API isFinal(const XERCESC_NS::DOMElement* state);
+bool USCXML_API isHistory(const XERCESC_NS::DOMElement* state);
}
diff --git a/src/uscxml/util/String.h b/src/uscxml/util/String.h
index 974db3b..464fbbd 100644
--- a/src/uscxml/util/String.h
+++ b/src/uscxml/util/String.h
@@ -20,20 +20,22 @@
#ifndef STRING_H_FD462039
#define STRING_H_FD462039
+#include "uscxml/Common.h"
+
#include <string>
#include <list>
namespace uscxml {
-std::string escapeMacro(std::string const &s);
-
-std::string toBinStr(size_t val, size_t margin);
-
-std::list<std::string> tokenize(const std::string &line, const char seperator = ' ', bool trimWhiteSpace = true);
+std::string USCXML_API escapeMacro(std::string const &s);
+std::string USCXML_API toBinStr(size_t val, size_t margin);
-std::string spaceNormalize(const std::string &text);
+std::list<std::string> USCXML_API tokenize(const std::string &line,
+ const char seperator = ' ',
+ bool trimWhiteSpace = true);
-bool nameMatch(const std::string &eventDescs, const std::string &event);
+std::string USCXML_API spaceNormalize(const std::string &text);
+bool USCXML_API nameMatch(const std::string &eventDescs, const std::string &event);
}
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 772c636..61aa218 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -46,7 +46,7 @@ endfunction()
# simple one file tests
USCXML_TEST_COMPILE(NAME test-utils LABEL general/test-utils FILES src/test-utils.cpp)
-if(WITH_DM_LUA)
+if(WITH_DM_LUA AND NOT BUILD_AS_PLUGINS)
USCXML_TEST_COMPILE(NAME test-extensions LABEL general/test-extensions FILES src/test-extensions.cpp ../contrib/src/uscxml/PausableDelayedEventQueue.cpp ../contrib/src/uscxml/ExtendedLuaDataModel.cpp)
endif()
USCXML_TEST_COMPILE(NAME test-url LABEL general/test-url FILES src/test-url.cpp)
@@ -71,7 +71,7 @@ endif()
file(GLOB_RECURSE USCXML_WRAPPERS
${PROJECT_SOURCE_DIR}/src/bindings/swig/wrapped/*.cpp
${PROJECT_SOURCE_DIR}/src/bindings/swig/wrapped/*.h
- )
+)
USCXML_TEST_COMPILE(NAME test-bindings LABEL general/test-bindings FILES ${USCXML_WRAPPERS} src/test-bindings.cpp)
if (NOT MSVC)
@@ -85,94 +85,85 @@ add_executable(test-state-pass src/test-state-pass.cpp ${GETOPT_FILES})
target_link_libraries(test-state-pass uscxml)
set_target_properties(test-state-pass PROPERTIES FOLDER "Tests")
-set(TEST_GEN_C_DEFINITIONS "NO_XERCESC" "FEATS_ON_CMD")
-set(TEST_GEN_C_LIBRARIES ${LIBEVENT_LIBRARIES})
-set(TEST_GEN_C_FILES
- src/test-gen-c.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/BasicDelayedEventQueue.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/BasicEventQueue.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/EventQueue.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/ContentExecutor.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/MicroStep.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/Logging.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/StdOutLogger.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/util/UUID.cpp
- # ${PROJECT_SOURCE_DIR}/src/uscxml/util/URL.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/util/Convenience.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/util/Base64.c
- ${PROJECT_SOURCE_DIR}/src/uscxml/util/MD5.c
- ${PROJECT_SOURCE_DIR}/src/uscxml/util/SHA1.c
- ${PROJECT_SOURCE_DIR}/src/uscxml/messages/Data.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/messages/Event.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/messages/Blob.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/Factory.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/DataModel.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/Invoker.cpp
- # ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/invoker/dirmon/DirMonInvoker.cpp
- # ${PROJECT_SOURCE_DIR}/src/uscxml/util/URL.cpp
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriCommon.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriCompare.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriEscape.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriFile.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriIp4.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriIp4Base.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriNormalize.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriNormalizeBase.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriParse.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriParseBase.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriQuery.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriRecompose.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriResolve.c
- # ${PROJECT_SOURCE_DIR}/contrib/src/uriparser/src/UriShorten.c
- ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/IOProcessor.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/null/NullDataModel.cpp
- ${PROJECT_SOURCE_DIR}/contrib/src/jsmn/jsmn.c
- ${PROJECT_SOURCE_DIR}/contrib/src/evws/evws.c
- ${GETOPT_FILES})
-
-if (${WITH_DM_ECMA_V8})
- list (APPEND TEST_GEN_C_DEFINITIONS "WITH_DM_ECMA_V8")
- list (APPEND TEST_GEN_C_FILES ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.cpp)
- list (APPEND TEST_GEN_C_LIBRARIES ${V8_LIBRARY})
-endif()
-if (${WITH_DM_ECMA_JSC})
- list (APPEND TEST_GEN_C_DEFINITIONS "WITH_DM_ECMA_JSC")
- list (APPEND TEST_GEN_C_FILES ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp)
- list (APPEND TEST_GEN_C_LIBRARIES ${JSC_LIBRARY})
-endif()
-if (${WITH_DM_LUA})
- list (APPEND TEST_GEN_C_DEFINITIONS "WITH_DM_LUA")
- list (APPEND TEST_GEN_C_FILES ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp)
- list (APPEND TEST_GEN_C_LIBRARIES ${LUA_LIBRARIES})
-endif()
-if (${WITH_DM_PROMELA})
- list (APPEND TEST_GEN_C_DEFINITIONS "WITH_DM_PROMELA")
- list (APPEND TEST_GEN_C_FILES
- ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/promela/PromelaDataModel.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/promela/PromelaParser.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/promela/parser/promela.tab.cpp
- ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp
- )
-endif()
+if (WIN32 AND BUILD_SHARED_LIBS)
+ # do not build test-gen-c on windows with shared libraries active
+ # due to __declspec(dllexport) being activated. We would need to
+ # drop the USCXML_EXPORT definition for this target
+elseif (BUILD_AS_PLUGINS)
+ # Just too much of a macro mess to support for now
+else()
+ set(TEST_GEN_C_DEFINITIONS "NO_XERCESC" "FEATS_ON_CMD")
+ set(TEST_GEN_C_LIBRARIES ${LIBEVENT_LIBRARIES})
+ set(TEST_GEN_C_FILES
+ src/test-gen-c.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/BasicDelayedEventQueue.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/BasicEventQueue.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/EventQueue.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/ContentExecutor.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/MicroStep.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/Logging.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/interpreter/StdOutLogger.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/util/UUID.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/util/Convenience.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/util/Base64.c
+ ${PROJECT_SOURCE_DIR}/src/uscxml/util/MD5.c
+ ${PROJECT_SOURCE_DIR}/src/uscxml/util/SHA1.c
+ ${PROJECT_SOURCE_DIR}/src/uscxml/messages/Data.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/messages/Event.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/messages/Blob.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/Factory.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/DataModel.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/Invoker.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/IOProcessor.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/null/NullDataModel.cpp
+ ${PROJECT_SOURCE_DIR}/contrib/src/jsmn/jsmn.c
+ ${PROJECT_SOURCE_DIR}/contrib/src/evws/evws.c
+ ${GETOPT_FILES})
+
+ if (${WITH_DM_ECMA_V8})
+ list (APPEND TEST_GEN_C_DEFINITIONS "WITH_DM_ECMA_V8")
+ list (APPEND TEST_GEN_C_FILES ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.cpp)
+ list (APPEND TEST_GEN_C_LIBRARIES ${V8_LIBRARY})
+ endif()
+ if (${WITH_DM_ECMA_JSC})
+ list (APPEND TEST_GEN_C_DEFINITIONS "WITH_DM_ECMA_JSC")
+ list (APPEND TEST_GEN_C_FILES ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp)
+ list (APPEND TEST_GEN_C_LIBRARIES ${JSC_LIBRARY})
+ endif()
+ if (${WITH_DM_LUA})
+ list (APPEND TEST_GEN_C_DEFINITIONS "WITH_DM_LUA")
+ list (APPEND TEST_GEN_C_FILES ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp)
+ list (APPEND TEST_GEN_C_LIBRARIES ${LUA_LIBRARIES})
+ endif()
+ if (${WITH_DM_PROMELA})
+ list (APPEND TEST_GEN_C_DEFINITIONS "WITH_DM_PROMELA")
+ list (APPEND TEST_GEN_C_FILES
+ ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/promela/PromelaDataModel.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/promela/PromelaParser.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/promela/parser/promela.tab.cpp
+ ${PROJECT_SOURCE_DIR}/src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp
+ )
+ endif()
-add_executable(test-gen-c ${TEST_GEN_C_FILES})
-target_link_libraries(test-gen-c ${TEST_GEN_C_LIBRARIES})
-# target_link_libraries(test-gen-c ${XercesC_LIBRARIES} ${LIBEVENT_LIBRARIES} ${CURL_LIBRARIES})
+ add_executable(test-gen-c ${TEST_GEN_C_FILES})
+ target_link_libraries(test-gen-c ${TEST_GEN_C_LIBRARIES})
+ # target_link_libraries(test-gen-c ${XercesC_LIBRARIES} ${LIBEVENT_LIBRARIES} ${CURL_LIBRARIES})
-if (USCXML_PREREQS)
- add_dependencies(test-gen-c ${USCXML_PREREQS})
-endif()
+ if (USCXML_PREREQS)
+ add_dependencies(test-gen-c ${USCXML_PREREQS})
+ endif()
-if (WIN32)
- target_link_libraries(test-gen-c Ws2_32)
-endif()
-if (UNIX)
- target_link_libraries(test-gen-c pthread)
+ if (WIN32)
+ target_link_libraries(test-gen-c Ws2_32)
+ endif()
+ if (UNIX)
+ target_link_libraries(test-gen-c pthread)
+ endif()
+ set_target_properties(test-gen-c PROPERTIES FOLDER "Tests")
+ set_target_properties(test-gen-c PROPERTIES COMPILE_DEFINITIONS "${TEST_GEN_C_DEFINITIONS}")
+ # set_target_properties(test-gen-c PROPERTIES COMPILE_DEFINITIONS "NO_XERCESC;FEATS_ON_CMD")
endif()
-set_target_properties(test-gen-c PROPERTIES FOLDER "Tests")
-set_target_properties(test-gen-c PROPERTIES COMPILE_DEFINITIONS "${TEST_GEN_C_DEFINITIONS}")
-# set_target_properties(test-gen-c PROPERTIES COMPILE_DEFINITIONS "NO_XERCESC;FEATS_ON_CMD")
# issues
file(GLOB_RECURSE USCXML_ISSUES