diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2012-12-20 21:34:09 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2012-12-20 21:34:09 (GMT) |
commit | 498f6f80e9ca01236ca1491596875ab7eb4cd8c3 (patch) | |
tree | e627ae19475bb93a98dfa50db1950f6e3403f569 /CMakeLists.txt | |
parent | d779abe6ff76a78f92d229fcf1f006f5cf1f9295 (diff) | |
download | uscxml-498f6f80e9ca01236ca1491596875ab7eb4cd8c3.zip uscxml-498f6f80e9ca01236ca1491596875ab7eb4cd8c3.tar.gz uscxml-498f6f80e9ca01236ca1491596875ab7eb4cd8c3.tar.bz2 |
Refactoring finished
Support datamodels, invokers and ioprocessors as plugins
Comply to HTTP1.1 by sending host header field
Started prolog datamodel
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 93 |
1 files changed, 60 insertions, 33 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 370e217..db87084 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -82,17 +82,17 @@ else () endif() endif() -SET(USCXML_LIBRARY_HOST_URL_PREFIX "http://umundo.tk.informatik.tu-darmstadt.de/uscxml/prebuilt" CACHE STRING "The root path of an URL where to look for prebuilt libraries.") +SET(USCXML_LIBRARY_HOST_URL_PREFIX "http://uscxml.tk.informatik.tu-darmstadt.de/prebuilt" CACHE STRING "The root path of an URL where to look for prebuilt libraries.") if (WIN32 AND 64BIT_HOST) - SET(USCXML_LIBRARY_ARCHIVE_NAME uscxml-prebuilt-${CMAKE_SYSTEM_NAME_LC}-${CMAKE_SYSTEM_PROCESSOR}_64-${USCXML_VERSION}.tgz) + SET(USCXML_LIBRARY_ARCHIVE_NAME uscxml-prebuilt-${CMAKE_SYSTEM_NAME_LC}-${CMAKE_SYSTEM_PROCESSOR}_64.tgz) else() - SET(USCXML_LIBRARY_ARCHIVE_NAME uscxml-prebuilt-${CMAKE_SYSTEM_NAME_LC}-${CMAKE_SYSTEM_PROCESSOR}-${USCXML_VERSION}.tgz) + SET(USCXML_LIBRARY_ARCHIVE_NAME uscxml-prebuilt-${CMAKE_SYSTEM_NAME_LC}-${CMAKE_SYSTEM_PROCESSOR}.tgz) endif() if (NOT EXISTS ${USCXML_PREBUILT_LIBRARY_PATH}) - message(STATUS "Downloading prebuilt libraries: ${USCXML_LIBRARY_HOST_URL_PREFIX}/${USCXML_LIBRARY_ARCHIVE_NAME}") - file(DOWNLOAD ${USCXML_LIBRARY_HOST_URL_PREFIX}/${USCXML_LIBRARY_ARCHIVE_NAME} + message(STATUS "Downloading prebuilt libraries: ${USCXML_LIBRARY_HOST_URL_PREFIX}/${USCXML_VERSION}/${USCXML_LIBRARY_ARCHIVE_NAME}") + file(DOWNLOAD ${USCXML_LIBRARY_HOST_URL_PREFIX}/${USCXML_VERSION}/${USCXML_LIBRARY_ARCHIVE_NAME} ${PROJECT_SOURCE_DIR}/contrib/prebuilt/${USCXML_LIBRARY_ARCHIVE_NAME} INACTIVITY_TIMEOUT 60 STATUS DOWNLOAD_STATUS SHOW_PROGRESS) list(GET DOWNLOAD_STATUS 0 STATUS_CODE) @@ -215,6 +215,8 @@ elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "MSVC") elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") add_definitions("-Wno-parentheses-equality") set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-fPIC") + # set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -read_only_relocs suppress") + # set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -read_only_relocs suppress") else() message(FATAL_ERROR "Unknown compiler: ${CMAKE_CXX_COMPILER_ID}") endif() @@ -376,10 +378,7 @@ list (APPEND USCXML_FILES ${USCXML_CORE}) include_directories(src) -################################################# -# optional libraries we can build as plugins - -OPTION(BUILD_AS_PLUGINS "Build invokers, ioprocessors and datamodels as plugins" ON) +OPTION(BUILD_AS_PLUGINS "Build invokers, ioprocessors and datamodels as plugins" OFF) if (BUILD_AS_PLUGINS) include_directories(${PROJECT_SOURCE_DIR}/src/uscxml/plugins) file(GLOB PLUMA @@ -392,6 +391,12 @@ if (BUILD_AS_PLUGINS) add_definitions("-DBUILD_AS_PLUGINS") endif() +if (BUILD_AS_PLUGINS) + add_library(uscxml ${USCXML_FILES}) +endif() + +################################################# +# optional libraries we can build as plugins # LIBEVENT basichttp ioprocessor - this one is already required above @@ -404,11 +409,8 @@ file(GLOB_RECURSE LIBEVENT_IOPROCESSOR if (BUILD_AS_PLUGINS) add_library( ioprocessor_basichttp SHARED - ${LIBEVENT_IOPROCESSOR} - ${PLUMA} - ${USCXML_FILES}) - target_link_libraries(ioprocessor_basichttp - ${USCXML_CORE_LIBS}) + ${LIBEVENT_IOPROCESSOR}) + target_link_libraries(ioprocessor_basichttp uscxml) set_target_properties(ioprocessor_basichttp PROPERTIES FOLDER "Plugin IOProcessor") else() list (APPEND USCXML_FILES ${LIBEVENT_IOPROCESSOR}) @@ -428,11 +430,9 @@ if (V8_FOUND) if (BUILD_AS_PLUGINS) add_library( datamodel_v8 SHARED - ${V8_DATAMODEL} - ${PLUMA} - ${USCXML_FILES}) + ${V8_DATAMODEL}) target_link_libraries(datamodel_v8 - ${USCXML_CORE_LIBS} + uscxml ${V8_LIBRARY}) set_target_properties(datamodel_v8 PROPERTIES FOLDER "Plugin DataModel") else() @@ -442,6 +442,37 @@ if (V8_FOUND) endif() +# SWI PROLOG datamodel + +# set(ENV{V8_SRC} ${CMAKE_SOURCE_DIR}/../v8) +find_package(SWI) +#find_package(GMP) +#find_package(CURSES) +if (SWI_FOUND) + include_directories(${SWI_INCLUDE_DIR}) +# include_directories(${GMP_INCLUDE_DIR}) +# include_directories(${CURSES_INCLUDE_DIR}) + file(GLOB_RECURSE SWI_DATAMODEL + src/uscxml/plugins/datamodel/prolog/swi/*.cpp + src/uscxml/plugins/datamodel/prolog/swi/*.h + ) + if (BUILD_AS_PLUGINS) + add_library( + datamodel_swi SHARED + ${SWI_DATAMODEL}) + target_link_libraries(datamodel_swi + uscxml +# ${GMP_LIBRARY} +# ${CURSES_LIBRARIES} + ${SWI_LIBRARY}) + set_target_properties(datamodel_swi PROPERTIES FOLDER "Plugin DataModel") + else() + list (APPEND USCXML_FILES ${SWI_DATAMODEL}) + list (APPEND USCXML_OPT_LIBS ${SWI_LIBRARY}) # ${GMP_LIBRARY} ${CURSES_LIBRARIES}) + endif() +endif() + + # UMUNDO invoker if (WIN32) @@ -457,11 +488,9 @@ if (UMUNDO_FOUND) if (BUILD_AS_PLUGINS) add_library( invoker_umundo SHARED - ${UMUNDO_INVOKER} - ${PLUMA} - ${USCXML_FILES}) + ${UMUNDO_INVOKER}) target_link_libraries(invoker_umundo - ${USCXML_CORE_LIBS} + uscxml ${UMUNDO_LIBRARIES}) set_target_properties(invoker_umundo PROPERTIES FOLDER "Plugin Invoker") else() @@ -480,11 +509,9 @@ file(GLOB_RECURSE USCXML_INVOKER if (BUILD_AS_PLUGINS) add_library( invoker_uscxml SHARED - ${USCXML_INVOKER} - ${PLUMA} - ${USCXML_FILES}) + ${USCXML_INVOKER}) target_link_libraries(invoker_uscxml - ${USCXML_CORE_LIBS}) + uscxml) set_target_properties(invoker_uscxml PROPERTIES FOLDER "Plugin Invoker") else() list (APPEND USCXML_FILES ${USCXML_INVOKER}) @@ -493,8 +520,8 @@ endif() # MILES modality components -find_package(MILES COMPONENTS core audio debug) -if (MILES_FOUND) +#find_package(MILES COMPONENTS core audio debug) +if (MILES_FOUND AND OFF) include_directories(${MILES_INCLUDE_DIR}) # openal is only needed for miles @@ -505,13 +532,11 @@ if (MILES_FOUND) if (BUILD_AS_PLUGINS) add_library( invoker_miles SHARED - ${MILES_INVOKER} - ${PLUMA} - ${USCXML_FILES}) + ${MILES_INVOKER}) target_link_libraries(invoker_miles ${MILES_LIBRARIES} ${OPENAL_LIBRARY} - ${USCXML_CORE_LIBS}) + uscxml) set_target_properties(invoker_miles PROPERTIES FOLDER "Plugin Invoker") else() list (APPEND USCXML_FILES ${MILES_INVOKER}) @@ -532,7 +557,9 @@ endif() ############################################################ # build library -add_library(uscxml ${USCXML_FILES}) +if (NOT BUILD_AS_PLUGINS) + add_library(uscxml ${USCXML_FILES}) +endif() target_link_libraries(uscxml ${USCXML_OPT_LIBS} ${USCXML_CORE_LIBS}) add_executable(mmi-browser apps/mmi-browser.cpp ${PROJECT_SOURCE_DIR}/contrib/snippets/XGetopt.cpp) |