From 4e3d3d466b1a98cb40e05e54067faf7050256ed5 Mon Sep 17 00:00:00 2001 From: Stefan Radomski Date: Wed, 3 May 2017 22:42:30 +0200 Subject: Fixed issue 117 --- src/uscxml/interpreter/Logging.h | 2 +- src/uscxml/plugins/datamodel/lua/LuaDataModel.h | 2 +- .../plugins/datamodel/promela/PromelaParser.h | 4 +- .../datamodel/promela/parser/promela.lex.yy.cpp | 3 + src/uscxml/plugins/invoker/dirmon/DirMonInvoker.h | 2 +- src/uscxml/util/Convenience.h | 22 +-- src/uscxml/util/Predicates.h | 92 ++++++++---- src/uscxml/util/String.h | 16 +- test/CMakeLists.txt | 163 ++++++++++----------- 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 std::string toStr(T tmp) { +template std::string USCXML_API toStr(T tmp) { std::ostringstream outSS; outSS.precision(std::numeric_limits::digits10 + 1); outSS << tmp; return outSS.str(); } -template T strTo(std::string tmp) { +template 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 #include #include #include "uscxml/util/DOM.h" #include "uscxml/util/Convenience.h" +// forward declare +namespace XERCESC_NS { +class DOMElement; +class DOMNode; +} + + namespace uscxml { -std::list getChildStates(const XERCESC_NS::DOMElement* state, bool properOnly = true); -std::list getChildStates(const std::list& 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& states); -std::list getProperAncestors(const XERCESC_NS::DOMElement* s1, const XERCESC_NS::DOMElement* s2); - -std::list getTargetStates(const XERCESC_NS::DOMElement* transition, const XERCESC_NS::DOMElement* root); -std::list 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 getStates(const std::list& stateIds, const XERCESC_NS::DOMElement* root); -XERCESC_NS::DOMElement* getState(const std::string& stateId, const XERCESC_NS::DOMElement* root); -std::list getInitialStates(const XERCESC_NS::DOMElement* state, const XERCESC_NS::DOMElement* root); -std::list getReachableStates(const XERCESC_NS::DOMElement* root); -std::list 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 USCXML_API getChildStates( + const XERCESC_NS::DOMElement* state, + bool properOnly = true); + +std::list USCXML_API getChildStates( + const std::list& 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& states); + +std::list USCXML_API getProperAncestors( + const XERCESC_NS::DOMElement* s1, + const XERCESC_NS::DOMElement* s2); + +std::list USCXML_API getTargetStates( + const XERCESC_NS::DOMElement* transition, + const XERCESC_NS::DOMElement* root); + +std::list 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 USCXML_API getStates( + const std::list& stateIds, + const XERCESC_NS::DOMElement* root); + +XERCESC_NS::DOMElement USCXML_API *getState( + const std::string& stateId, + const XERCESC_NS::DOMElement* root); + +std::list USCXML_API getInitialStates( + const XERCESC_NS::DOMElement* state, + const XERCESC_NS::DOMElement* root); + +std::list USCXML_API getReachableStates(const XERCESC_NS::DOMElement* root); +std::list 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 #include namespace uscxml { -std::string escapeMacro(std::string const &s); - -std::string toBinStr(size_t val, size_t margin); - -std::list 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 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 -- cgit v0.12