summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-06-12 23:02:12 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-06-12 23:02:12 (GMT)
commit57510db0f3f10f85ecea53376ccf40688e2475bd (patch)
treea5c19df017c945ab1c931c979ed2dbad1afe25e2
parentd22ea4f60d6fee6a7dc564e5e83719eb2c189425 (diff)
downloaduscxml-57510db0f3f10f85ecea53376ccf40688e2475bd.zip
uscxml-57510db0f3f10f85ecea53376ccf40688e2475bd.tar.gz
uscxml-57510db0f3f10f85ecea53376ccf40688e2475bd.tar.bz2
Fixed build issues on unices
-rw-r--r--CMakeLists.txt27
-rw-r--r--contrib/cmake/FindPION.cmake20
-rw-r--r--contrib/cmake/FindSWI.cmake16
-rw-r--r--src/uscxml/Factory.cpp31
-rw-r--r--src/uscxml/Message.cpp1
-rw-r--r--test/CMakeLists.txt22
-rw-r--r--test/samples/uscxml/test-prolog.scxml5
7 files changed, 50 insertions, 72 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index afcb956..ad77e19 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -177,7 +177,7 @@ set(USCXML_INCLUDE_DIRS)
# some compiler flags
#message("CMAKE_CXX_COMPILER_ID: ${CMAKE_CXX_COMPILER_ID}")
-if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
+if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
# best practices from scott meyers
@@ -225,7 +225,7 @@ if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
else()
add_definitions(-rdynamic)
endif()
-elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "MSVC")
+elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
add_definitions("-DZMQ_STATIC")
add_definitions("-DPCRE_STATIC")
add_definitions("-DUMUNDO_STATIC")
@@ -235,7 +235,7 @@ elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "MSVC")
# SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB")
# SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:MSVCRTD.lib")
-elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
+elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-parentheses-equality")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-string-plus-int")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-non-literal-null-conversion")
@@ -384,16 +384,21 @@ if (V8_FOUND)
endif()
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_SHARED})
-find_package(GMP)
find_package(SWI)
-find_package(CURSES)
-if (SWI_FOUND AND GMP_FOUND AND CURSES_FOUND)
+if (SWI_FOUND)
include_directories(${SWI_INCLUDE_DIR})
- include_directories(${GMP_INCLUDE_DIR})
- include_directories(${CURSES_INCLUDE_DIR})
- list (APPEND USCXML_OPT_LIBS ${SWI_LIBRARY} ${GMP_LIBRARY} ${CURSES_LIBRARIES})
-else()
- set(SWI_FOUND OFF)
+ if (BUILD_PREFER_STATIC_LIBRARIES)
+ find_package(GMP)
+ find_package(Curses)
+ if (GMP_FOUND AND CURSES_FOUND)
+ list (APPEND USCXML_OPT_LIBS ${SWI_LIBRARY} ${GMP_LIBRARY} ${CURSES_LIBRARIES})
+ else()
+ message("Not building datamodel with static SWI without NCurses and GMP")
+ set(SWI_FOUND OFF)
+ endif()
+ else()
+ list (APPEND USCXML_OPT_LIBS ${SWI_LIBRARY})
+ endif()
endif()
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_STATIC})
diff --git a/contrib/cmake/FindPION.cmake b/contrib/cmake/FindPION.cmake
deleted file mode 100644
index 3a4157a..0000000
--- a/contrib/cmake/FindPION.cmake
+++ /dev/null
@@ -1,20 +0,0 @@
-FIND_PATH(PION_INCLUDE_DIR pion/config.hpp
- PATH_SUFFIXES include
- PATHS
- /usr/local
- /usr
- /sw # Fink
- /opt/local # DarwinPorts
- /opt/csw # Blastwave
- /opt
- HINTS $ENV{PION_SRC}
-)
-
-FIND_LIBRARY(PION_LIBRARY
- NAMES pion
- HINTS $ENV{PION_SRC}/src/.libs/
-)
-
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(PION DEFAULT_MSG PION_LIBRARY PION_INCLUDE_DIR)
-MARK_AS_ADVANCED(PION_LIBRARY PION_INCLUDE_DIR)
diff --git a/contrib/cmake/FindSWI.cmake b/contrib/cmake/FindSWI.cmake
index bd08711..d715615 100644
--- a/contrib/cmake/FindSWI.cmake
+++ b/contrib/cmake/FindSWI.cmake
@@ -47,6 +47,17 @@ foreach(SWI_SEARCH_PATH ${SWI_SEARCH_PATHS})
endif()
endforeach()
+set(SWI_PLATFORMS)
+foreach (SWI_SEARCH_PATH ${SWI_SEARCH_PATHS})
+ file(GLOB CURR_SWI_PLATFORMS ${SWI_SEARCH_PATH}/lib/swipl-${SWI_VERSION}/lib/*)
+ foreach(CURR_SWI_PLATFORM ${CURR_SWI_PLATFORMS})
+ if(IS_DIRECTORY ${CURR_SWI_PLATFORM})
+ list(APPEND SWI_PLATFORMS ${CURR_SWI_PLATFORM})
+ endif()
+ endforeach()
+endforeach()
+#message(FATAL_ERROR "SWI_PLATFORMS: ${SWI_PLATFORMS}")
+
#message("SWI_VERSION: ${SWI_VERSION}")
# -- find prolog headers
@@ -80,7 +91,8 @@ FIND_LIBRARY(SWI_LIBRARY_RELEASE
PATH_SUFFIXES
lib/${SWI_PLATFORM_ID} # still in source directory
lib/swipl-${SWI_VERSION}/lib/${SWI_PLATFORM_ID} # after make install
- PATHS ${SWI_SEARCH_PATHS}
+
+ PATHS ${SWI_SEARCH_PATHS} ${SWI_PLATFORMS}
)
FIND_LIBRARY(SWI_LIBRARY_DEBUG
@@ -88,7 +100,7 @@ FIND_LIBRARY(SWI_LIBRARY_DEBUG
PATH_SUFFIXES
lib/${SWI_PLATFORM_ID} # still in source directory
lib/swipl-${SWI_VERSION}/lib/${SWI_PLATFORM_ID} # after make install
- PATHS ${SWI_SEARCH_PATHS}
+ PATHS ${SWI_SEARCH_PATHS} ${SWI_PLATFORMS}
)
if (NOT SWI_LIBRARY_DEBUG) # no explicit debug build, just reuse release
diff --git a/src/uscxml/Factory.cpp b/src/uscxml/Factory.cpp
index 5ad5e9a..667c6f0 100644
--- a/src/uscxml/Factory.cpp
+++ b/src/uscxml/Factory.cpp
@@ -199,10 +199,10 @@ Factory::Factory() {
BasicHTTPIOProcessor* ioProcessor = new BasicHTTPIOProcessor();
registerIOProcessor(ioProcessor);
}
- {
- MMIHTTPIOProcessor* ioProcessor = new MMIHTTPIOProcessor();
- registerIOProcessor(ioProcessor);
- }
+ {
+ MMIHTTPIOProcessor* ioProcessor = new MMIHTTPIOProcessor();
+ registerIOProcessor(ioProcessor);
+ }
{
SCXMLIOProcessor* ioProcessor = new SCXMLIOProcessor();
registerIOProcessor(ioProcessor);
@@ -223,29 +223,6 @@ Factory::Factory() {
PostponeElement* element = new PostponeElement();
registerExecutableContent(element);
}
-
-#if 0
- {
- ELEMENT_MMI_REGISTER(PrepareRequest);
- ELEMENT_MMI_REGISTER(StartRequest);
- ELEMENT_MMI_REGISTER(PauseRequest);
- ELEMENT_MMI_REGISTER(ResumeRequest);
- ELEMENT_MMI_REGISTER(CancelRequest);
- ELEMENT_MMI_REGISTER(ClearContextRequest);
- ELEMENT_MMI_REGISTER(StatusRequest);
- ELEMENT_MMI_REGISTER(NewContextResponse);
- ELEMENT_MMI_REGISTER(PrepareResponse);
- ELEMENT_MMI_REGISTER(StartResponse);
- ELEMENT_MMI_REGISTER(PauseResponse);
- ELEMENT_MMI_REGISTER(ResumeResponse);
- ELEMENT_MMI_REGISTER(CancelResponse);
- ELEMENT_MMI_REGISTER(ClearContextResponse);
- ELEMENT_MMI_REGISTER(StatusResponse);
- ELEMENT_MMI_REGISTER(DoneNotification);
- ELEMENT_MMI_REGISTER(NewContextRequest);
- ELEMENT_MMI_REGISTER(ExtensionNotification);
- }
-#endif
#endif
}
diff --git a/src/uscxml/Message.cpp b/src/uscxml/Message.cpp
index dbcf976..2425c76 100644
--- a/src/uscxml/Message.cpp
+++ b/src/uscxml/Message.cpp
@@ -276,7 +276,6 @@ Data Data::fromJSON(const std::string& jsonString) {
size_t currTok = 0;
do {
- jsmntok_t t2 = t[currTok];
switch (t[currTok].type) {
case JSMN_STRING:
dataStack.back()->type = Data::VERBATIM;
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 9bfe9da..6e00d52 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -10,16 +10,16 @@ if (NOT WIN32)
set_target_properties(test-predicates PROPERTIES FOLDER "Tests")
endif()
-add_test(test-execution ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/mmi-browser ${CMAKE_SOURCE_DIR}/test/samples/uscxml/test-execution.scxml)
-add_test(test-communication ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/mmi-browser ${CMAKE_SOURCE_DIR}/test/samples/uscxml/test-communication.scxml)
-add_test(test-done-data ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/mmi-browser ${CMAKE_SOURCE_DIR}/test/samples/uscxml/test-donedata.scxml)
+add_test(test-execution ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/uscxml-browser ${CMAKE_SOURCE_DIR}/test/samples/uscxml/test-execution.scxml)
+add_test(test-communication ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/uscxml-browser ${CMAKE_SOURCE_DIR}/test/samples/uscxml/test-communication.scxml)
+add_test(test-done-data ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/uscxml-browser ${CMAKE_SOURCE_DIR}/test/samples/uscxml/test-donedata.scxml)
if (SWI_FOUND)
- add_test(test-prolog-swi ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/mmi-browser ${CMAKE_SOURCE_DIR}/test/samples/uscxml/test-prolog.scxml)
+ add_test(test-prolog-swi ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/uscxml-browser ${CMAKE_SOURCE_DIR}/test/samples/uscxml/test-prolog.scxml)
endif()
if (V8_FOUND)
- add_test(test-ecmascript ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/mmi-browser ${CMAKE_SOURCE_DIR}/test/samples/uscxml/test-ecmascript.scxml)
+ add_test(test-ecmascript ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/uscxml-browser ${CMAKE_SOURCE_DIR}/test/samples/uscxml/test-ecmascript.scxml)
endif()
if (OPENSCENEGRAPH_FOUND AND OFF)
@@ -58,12 +58,12 @@ target_link_libraries(test-url uscxml)
add_test(test-url ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test-url)
set_target_properties(test-url PROPERTIES FOLDER "Tests")
-if (NOT WIN32)
- add_executable(test-mmi src/test-mmi.cpp)
- target_link_libraries(test-mmi uscxml)
- add_test(test-url ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test-mmi)
- set_target_properties(test-mmi PROPERTIES FOLDER "Tests")
-endif()
+# if (NOT WIN32)
+# add_executable(test-mmi src/test-mmi.cpp)
+# target_link_libraries(test-mmi uscxml)
+# add_test(test-url ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test-mmi)
+# set_target_properties(test-mmi PROPERTIES FOLDER "Tests")
+# endif()
add_executable(scxml-test-framework-client
src/scxml-test-framework-client.cpp)
diff --git a/test/samples/uscxml/test-prolog.scxml b/test/samples/uscxml/test-prolog.scxml
index 3fe7608..8ccfd6b 100644
--- a/test/samples/uscxml/test-prolog.scxml
+++ b/test/samples/uscxml/test-prolog.scxml
@@ -1,5 +1,6 @@
<scxml datamodel="prolog">
<datamodel>
+ <data src="" />
<data id="father">
bob, jim.
bob, john.
@@ -58,6 +59,10 @@
<log expr="listing." />
<respond status="200" to="event(origin(X))" />
</transition>
+ <transition event="http.post" cond="" target="idle">
+ <log expr="listing." />
+ <respond status="200" to="event(origin(X))" />
+ </transition>
</state>
<state id="end" final="true" />