From 57510db0f3f10f85ecea53376ccf40688e2475bd Mon Sep 17 00:00:00 2001 From: Stefan Radomski Date: Thu, 13 Jun 2013 01:02:12 +0200 Subject: Fixed build issues on unices --- CMakeLists.txt | 27 ++++++++++++++++----------- contrib/cmake/FindPION.cmake | 20 -------------------- contrib/cmake/FindSWI.cmake | 16 ++++++++++++++-- src/uscxml/Factory.cpp | 31 ++++--------------------------- src/uscxml/Message.cpp | 1 - test/CMakeLists.txt | 22 +++++++++++----------- test/samples/uscxml/test-prolog.scxml | 5 +++++ 7 files changed, 50 insertions(+), 72 deletions(-) delete mode 100644 contrib/cmake/FindPION.cmake 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 @@ + bob, jim. bob, john. @@ -58,6 +59,10 @@ + + + + -- cgit v0.12