summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Radomski <github@mintwerk.de>2016-05-12 13:30:14 (GMT)
committerStefan Radomski <github@mintwerk.de>2016-05-12 13:30:14 (GMT)
commit59b51d5e70bd51a59d03c46e44148f53a0bf99a6 (patch)
treeb82a80a45eaf0f7db7a0165d636f6e7c281bdf25
parent46b41e28989ea66eeebe0b8a35a52fb2d22abf3f (diff)
downloaduscxml-59b51d5e70bd51a59d03c46e44148f53a0bf99a6.zip
uscxml-59b51d5e70bd51a59d03c46e44148f53a0bf99a6.tar.gz
uscxml-59b51d5e70bd51a59d03c46e44148f53a0bf99a6.tar.bz2
Corrected gitignore and travis config
-rw-r--r--.gitignore7
-rw-r--r--.travis.yml7
-rw-r--r--contrib/cmake/BuildLibCurl.cmake78
-rw-r--r--contrib/cmake/BuildLibEvent.cmake53
-rw-r--r--contrib/cmake/BuildURIParser.cmake54
-rw-r--r--contrib/cmake/BuildXalanC.cmake31
-rw-r--r--contrib/cmake/BuildXercesC.cmake79
-rw-r--r--contrib/cmake/FindLibEvent.cmake83
-rw-r--r--test/ctest/scripts/run_generated_test.cmake111
-rw-r--r--test/ctest/scripts/run_header_compiles.cmake21
-rw-r--r--test/ctest/scripts/run_promela_test.cmake38
11 files changed, 548 insertions, 14 deletions
diff --git a/.gitignore b/.gitignore
index 822a236..aa448a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,14 +18,7 @@ package/windows*
*.tgz
*.class
-*.cmake
/package/*
-contrib/prebuilt/include/*
-
-/embedding/csharp/uSCXMLEmbedding/bin/
-
-/embedding/csharp/uSCXMLEmbedding/obj/
-
/test/w3c/graphs/
/.idea/*
diff --git a/.travis.yml b/.travis.yml
index 7eea956..0e5dca4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,12 +5,5 @@ compiler:
before_install:
- sudo apt-get update -qq
- sudo apt-get install -qq libxml2-dev libcurl4-openssl-dev
- - sudo apt-get install -qq libpurple-dev
- - sudo apt-get install -qq libical-dev
- - sudo apt-get install -qq libopenal-dev libsndfile-dev
- - sudo apt-get install -qq expect-dev
- - sudo apt-get install -qq libprotobuf-dev libprotoc-dev
- - sudo apt-get install -qq swi-prolog
- - wget http://uscxml.tk.informatik.tu-darmstadt.de || true
script: mkdir build && cd build && cmake .. && make
diff --git a/contrib/cmake/BuildLibCurl.cmake b/contrib/cmake/BuildLibCurl.cmake
new file mode 100644
index 0000000..2753ee6
--- /dev/null
+++ b/contrib/cmake/BuildLibCurl.cmake
@@ -0,0 +1,78 @@
+include(ExternalProject)
+
+
+if (UNIX)
+ externalproject_add(libcurl
+ URL https://curl.haxx.se/download/curl-7.48.0.tar.gz
+ URL_MD5 b2cac71029d28cb989150bac72aafab5
+ BUILD_IN_SOURCE 0
+ PREFIX ${CMAKE_BINARY_DIR}/deps/libcurl
+ CONFIGURE_COMMAND
+ "<SOURCE_DIR>/configure"
+ "--without-ssl"
+ "--prefix=<INSTALL_DIR>"
+ )
+elseif (WIN32)
+
+ # see https://en.wikipedia.org/wiki/Visual_C%2B%2B
+ set(VC_VERSION 14)
+
+ if (OFF)
+ elseif(MSVC_VERSION LESS 1310)
+ message(FATAL_ERROR "MSVC 7.1 or higher is required")
+ elseif(MSVC_VERSION LESS 1400)
+ set(VC_VERSION 7)
+ elseif(MSVC_VERSION LESS 1500)
+ set(VC_VERSION 8)
+ elseif(MSVC_VERSION LESS 1600)
+ set(VC_VERSION 9)
+ elseif(MSVC_VERSION LESS 1700)
+ set(VC_VERSION 10)
+ elseif(MSVC_VERSION LESS 1800)
+ set(VC_VERSION 11)
+ elseif (MSVC_VERSION LESS 1900)
+ set(VC_VERSION 12)
+ endif()
+
+ if (WIN32)
+ add_definitions("-DCURL_STATICLIB")
+ endif()
+
+ if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
+ externalproject_add(libcurl
+ URL https://curl.haxx.se/download/curl-7.48.0.tar.gz
+ URL_MD5 b2cac71029d28cb989150bac72aafab5
+ BUILD_IN_SOURCE 1
+ PREFIX ${CMAKE_BINARY_DIR}/deps/libcurl
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND cd winbuild && nmake /f Makefile.vc mode=static MACHINE=x64 VC=${VC_VERSION}
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory builds/libcurl-vc-x64-release-static-ipv6-sspi-winssl ${CMAKE_BINARY_DIR}/deps/libcurl/
+ )
+ else()
+ externalproject_add(libcurl
+ URL https://curl.haxx.se/download/curl-7.48.0.tar.gz
+ URL_MD5 b2cac71029d28cb989150bac72aafab5
+ BUILD_IN_SOURCE 1
+ PREFIX ${CMAKE_BINARY_DIR}/deps/libcurl
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND cd winbuild && nmake /f Makefile.vc mode=static MACHINE=x86 VC=${VC_VERSION}
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory builds/libcurl-vc-x86-release-static-ipv6-sspi-winssl ${CMAKE_BINARY_DIR}/deps/libcurl/
+ )
+ endif()
+endif()
+
+set(LIBCURL_INCLUDE_DIR ${CMAKE_BINARY_DIR}/deps/libcurl/include)
+
+if (APPLE)
+ set(LIBCURL_LIBRARY ${CMAKE_BINARY_DIR}/deps/libcurl/lib/libcurl.dylib)
+elseif(UNIX)
+ set(LIBCURL_LIBRARY ${CMAKE_BINARY_DIR}/deps/libcurl/lib/libcurl.so)
+elseif(WIN32)
+ set(LIBCURL_LIBRARY ${CMAKE_BINARY_DIR}/deps/libcurl/lib/libcurl_a.lib)
+else()
+ message(FATAL_ERROR "Unknown platform!")
+endif()
+
+
+set(LIBCURL_BUILT ON)
+
diff --git a/contrib/cmake/BuildLibEvent.cmake b/contrib/cmake/BuildLibEvent.cmake
new file mode 100644
index 0000000..d9bfa5d
--- /dev/null
+++ b/contrib/cmake/BuildLibEvent.cmake
@@ -0,0 +1,53 @@
+# see http://www.kitware.com/products/html/BuildingExternalProjectsWithCMake2.8.html
+# see http://tools.cinemapub.be/opendcp/opendcp-0.19-src/contrib/CMakeLists.txt
+
+include(ExternalProject)
+if (UNIX)
+ externalproject_add(libevent
+ URL https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
+ URL_MD5 c4c56f986aa985677ca1db89630a2e11
+ BUILD_IN_SOURCE 0
+ PREFIX ${CMAKE_BINARY_DIR}/deps/libevent
+ CONFIGURE_COMMAND
+ "<SOURCE_DIR>/configure"
+ "--enable-static"
+ "--disable-openssl"
+ "--prefix=<INSTALL_DIR>"
+ )
+elseif (WIN32)
+
+
+ externalproject_add(libevent
+ URL https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
+ URL_MD5 c4c56f986aa985677ca1db89630a2e11
+ BUILD_IN_SOURCE 1
+ PREFIX ${CMAKE_BINARY_DIR}/deps/libevent
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND nmake -f Makefile.nmake
+ INSTALL_COMMAND
+ ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/deps/libevent/lib &&
+ ${CMAKE_COMMAND} -E copy libevent.lib libevent_core.lib libevent_extras.lib ${CMAKE_BINARY_DIR}/deps/libevent/lib/ &&
+ ${CMAKE_COMMAND} -E copy_directory include ${CMAKE_BINARY_DIR}/deps/libevent/include
+ ${CMAKE_COMMAND} -E copy Win32-Code/event2 ${CMAKE_BINARY_DIR}/deps/libevent/include/event2
+ )
+endif()
+
+set(LIBEVENT_INCLUDE_DIR ${CMAKE_BINARY_DIR}/deps/libevent/include)
+
+if (APPLE)
+ set(LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent_core.a)
+ list (APPEND LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent_extra.a)
+ list (APPEND LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent_pthreads.a)
+elseif (UNIX)
+ set(LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent_core.a)
+ list (APPEND LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent_extra.a)
+ list (APPEND LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent_pthreads.a)
+elseif(WIN32)
+ set(LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent.lib)
+else()
+ message(FATAL_ERROR "Unknown platform!")
+endif()
+
+
+set(LIBEVENT_BUILT ON)
+
diff --git a/contrib/cmake/BuildURIParser.cmake b/contrib/cmake/BuildURIParser.cmake
new file mode 100644
index 0000000..c204eed
--- /dev/null
+++ b/contrib/cmake/BuildURIParser.cmake
@@ -0,0 +1,54 @@
+include(ExternalProject)
+if (UNIX)
+ externalproject_add(uriparser
+ URL http://ufpr.dl.sourceforge.net/project/uriparser/Sources/0.8.4/uriparser-0.8.4.zip
+ URL_MD5 a24c9ba0fd1a2c6c75d02859bf337cfa
+ BUILD_IN_SOURCE 0
+ PREFIX ${CMAKE_BINARY_DIR}/deps/uriparser
+ CONFIGURE_COMMAND
+ "<SOURCE_DIR>/configure"
+ "--disable-test"
+ "--disable-doc"
+ "--enable-static"
+ "--prefix=<INSTALL_DIR>"
+ )
+elseif(WIN32)
+ set(VSPROJECT_PATH "win32/Visual_Studio_2005")
+
+ if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
+ externalproject_add(uriparser
+ URL http://ufpr.dl.sourceforge.net/project/uriparser/Sources/0.8.4/uriparser-0.8.4.zip
+ URL_MD5 a24c9ba0fd1a2c6c75d02859bf337cfa
+ BUILD_IN_SOURCE 1
+ PREFIX ${CMAKE_BINARY_DIR}/deps/uriparser
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND cd ${VSPROJECT_PATH} && devenv /build Release|x64 uriparser.sln
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/deps/uriparser/lib && ${CMAKE_COMMAND} -E copy win32/uriparser.lib ${CMAKE_BINARY_DIR}/deps/uriparser/lib && ${CMAKE_COMMAND} -E copy_directory include ${CMAKE_BINARY_DIR}/deps/uriparser/include
+ )
+ else()
+ externalproject_add(uriparser
+ URL http://ufpr.dl.sourceforge.net/project/uriparser/Sources/0.8.4/uriparser-0.8.4.zip
+ URL_MD5 a24c9ba0fd1a2c6c75d02859bf337cfa
+ BUILD_IN_SOURCE 1
+ PREFIX ${CMAKE_BINARY_DIR}/deps/uriparser
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND cd ${VSPROJECT_PATH} && devenv /Upgrade uriparser.vcproj && msbuild /p:Configuration=Release /p:Platform=Win32 /t:build uriparser.vcxproj
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/deps/uriparser/lib && ${CMAKE_COMMAND} -E copy win32/uriparser.lib ${CMAKE_BINARY_DIR}/deps/uriparser/lib && ${CMAKE_COMMAND} -E copy_directory include ${CMAKE_BINARY_DIR}/deps/uriparser/include
+ )
+ endif()
+
+endif()
+
+set(URIPARSER_INCLUDE_DIR ${CMAKE_BINARY_DIR}/deps/uriparser/include)
+
+if (UNIX)
+ set(URIPARSER_LIBRARY ${CMAKE_BINARY_DIR}/deps/uriparser/lib/liburiparser.a)
+elseif(WIN32)
+ set(URIPARSER_LIBRARY ${CMAKE_BINARY_DIR}/deps/uriparser/lib/uriparser.lib)
+else()
+ message(FATAL_ERROR "Unknown platform!")
+endif()
+
+set(URIPARSER_BUILT ON)
+
+
diff --git a/contrib/cmake/BuildXalanC.cmake b/contrib/cmake/BuildXalanC.cmake
new file mode 100644
index 0000000..a1ebfed
--- /dev/null
+++ b/contrib/cmake/BuildXalanC.cmake
@@ -0,0 +1,31 @@
+# see http://www.kitware.com/products/html/BuildingExternalProjectsWithCMake2.8.html
+# see http://tools.cinemapub.be/opendcp/opendcp-0.19-src/contrib/CMakeLists.txt
+
+# not functional yet
+
+include(ExternalProject)
+if (UNIX)
+ externalproject_add(xalan-c
+ URL http://ftp.halifax.rwth-aachen.de/apache/xalan/xalan-c/sources/xalan_c-1.11-src.tar.gz
+ URL_MD5 9227d3e7ab375da3c643934b33a585b8
+ BUILD_IN_SOURCE 0
+ PREFIX ${CMAKE_BINARY_DIR}/deps/xalan-c
+ CONFIGURE_COMMAND
+ "<SOURCE_DIR>/c/configure"
+ "--enable-static"
+ "--prefix=<INSTALL_DIR>"
+ )
+
+ set(XALANC_INCLUDE_DIR ${CMAKE_BINARY_DIR}/deps/xalan-c/include)
+
+ if (APPLE)
+ set(XALANC_LIBRARY ${CMAKE_BINARY_DIR}/deps/xalan-c/lib/xalan-c.a)
+ elseif(UNIX)
+ set(XALANC_LIBRARY ${CMAKE_BINARY_DIR}/deps/xalan-c/lib/xalan-c.a)
+ elseif(WIN32)
+ set(XALANC_LIBRARY ${CMAKE_BINARY_DIR}/deps/xalan-c/lib/xalan-c.lib)
+ else()
+ message(FATAL_ERROR "Unknown platform!")
+ endif()
+
+endif() \ No newline at end of file
diff --git a/contrib/cmake/BuildXercesC.cmake b/contrib/cmake/BuildXercesC.cmake
new file mode 100644
index 0000000..a0d6bc9
--- /dev/null
+++ b/contrib/cmake/BuildXercesC.cmake
@@ -0,0 +1,79 @@
+# see http://www.kitware.com/products/html/BuildingExternalProjectsWithCMake2.8.html
+# see http://tools.cinemapub.be/opendcp/opendcp-0.19-src/contrib/CMakeLists.txt
+
+include(ExternalProject)
+if (UNIX)
+ externalproject_add(xerces-c
+ URL http://ftp.halifax.rwth-aachen.de/apache/xerces/c/3/sources/xerces-c-3.1.3.tar.gz
+ URL_MD5 70320ab0e3269e47d978a6ca0c0e1e2d
+ BUILD_IN_SOURCE 0
+ PREFIX ${CMAKE_BINARY_DIR}/deps/xerces-c
+ CONFIGURE_COMMAND
+ "<SOURCE_DIR>/configure"
+ "--enable-static"
+ "--prefix=<INSTALL_DIR>"
+ )
+elseif(WIN32)
+ set(VC_VERSION VC12)
+ # see https://en.wikipedia.org/wiki/Visual_C%2B%2B
+
+ # CMAKE_CXX_COMPILER_VERSION=16.0.40219.1
+ # MSVC_VERSION=1600
+
+ if (OFF)
+ elseif(MSVC_VERSION LESS 1310)
+ message(FATAL_ERROR "MSVC 7.1 or higher is required")
+ elseif(MSVC_VERSION LESS 1400)
+ set(VC_VERSION VC7.1)
+ elseif(MSVC_VERSION LESS 1500)
+ set(VC_VERSION VC8)
+ elseif(MSVC_VERSION LESS 1600)
+ set(VC_VERSION VC9)
+ elseif(MSVC_VERSION LESS 1700)
+ set(VC_VERSION VC10)
+ elseif(MSVC_VERSION LESS 1800)
+ set(VC_VERSION VC11)
+ elseif (MSVC_VERSION LESS 1900)
+ set(VC_VERSION VC12)
+ endif()
+
+ set(VSPROJECT_PATH "projects/Win32/${VC_VERSION}/xerces-all/XercesLib")
+
+ if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
+ externalproject_add(xerces-c
+ URL http://ftp.halifax.rwth-aachen.de/apache/xerces/c/3/sources/xerces-c-3.1.3.tar.gz
+ URL_MD5 70320ab0e3269e47d978a6ca0c0e1e2d
+ BUILD_IN_SOURCE 1
+ PREFIX ${CMAKE_BINARY_DIR}/deps/xerces-c
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND cd ${VSPROJECT_PATH} && msbuild /p:Configuration=Release /p:Platform=x64 /t:build XercesLib.vcxproj
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory Build/x64/${VC_VERSION}/Release/ ${CMAKE_BINARY_DIR}/deps/xerces-c/
+ )
+ else()
+ externalproject_add(xerces-c
+ URL http://ftp.halifax.rwth-aachen.de/apache/xerces/c/3/sources/xerces-c-3.1.3.tar.gz
+ URL_MD5 70320ab0e3269e47d978a6ca0c0e1e2d
+ BUILD_IN_SOURCE 1
+ PREFIX ${CMAKE_BINARY_DIR}/deps/xerces-c
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND cd ${VSPROJECT_PATH} && msbuild /p:Configuration=Release /p:Platform=Win32 /t:build XercesLib.vcxproj
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory Build/Win32/${VC_VERSION}/Release/ ${CMAKE_BINARY_DIR}/deps/xerces-c/lib/ && ${CMAKE_COMMAND} -E copy_directory src/ ${CMAKE_BINARY_DIR}/deps/xerces-c/include/
+ )
+ endif()
+endif()
+
+# TODO: --with-curl=DIR
+
+set(XercesC_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/deps/xerces-c/include)
+
+if (APPLE)
+ set(XercesC_LIBRARIES ${CMAKE_BINARY_DIR}/deps/xerces-c/lib/libxerces-c.dylib)
+elseif(UNIX)
+ set(XercesC_LIBRARIES ${CMAKE_BINARY_DIR}/deps/xerces-c/lib/libxerces-c.so)
+elseif(WIN32)
+ set(XercesC_LIBRARIES ${CMAKE_BINARY_DIR}/deps/xerces-c/lib/xerces-c_3.lib)
+else()
+ message(FATAL_ERROR "Unknown platform!")
+endif()
+
+SET(XercesC_BUILT ON)
diff --git a/contrib/cmake/FindLibEvent.cmake b/contrib/cmake/FindLibEvent.cmake
new file mode 100644
index 0000000..47872fe
--- /dev/null
+++ b/contrib/cmake/FindLibEvent.cmake
@@ -0,0 +1,83 @@
+FIND_PATH(LIBEVENT_INCLUDE_DIR event2/event.h
+ PATH_SUFFIXES include
+ PATHS
+ /usr/local
+ /usr
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+ /opt
+ HINTS $ENV{LIBEVENT_SRC}
+)
+
+FIND_LIBRARY(LIBEVENT_LIBRARY_RELEASE
+ NAMES event libevent
+ HINTS $ENV{LIBEVENT_SRC}/.libs/
+)
+if (LIBEVENT_LIBRARY_RELEASE)
+ list(APPEND LIBEVENT_LIBRARIES optimized ${LIBEVENT_LIBRARY_RELEASE})
+endif()
+
+FIND_LIBRARY(LIBEVENT_LIBRARY_DEBUG
+ NAMES event_d libevent_d
+ HINTS $ENV{LIBEVENT_SRC}/.libs/
+)
+if (LIBEVENT_LIBRARY_DEBUG)
+ list(APPEND LIBEVENT_LIBRARIES debug ${LIBEVENT_LIBRARY_DEBUG})
+else()
+ if (LIBEVENT_LIBRARY_RELEASE)
+ list(APPEND LIBEVENT_LIBRARIES debug ${LIBEVENT_LIBRARY_RELEASE})
+ endif()
+endif()
+
+
+
+FIND_LIBRARY(LIBEVENT_SSL_LIBRARY_RELEASE
+ NAMES event_openssl libevent_openssl
+ HINTS $ENV{LIBEVENT_SRC}/.libs/
+)
+if (LIBEVENT_SSL_LIBRARY_RELEASE)
+ list(APPEND LIBEVENT_LIBRARIES optimized ${LIBEVENT_SSL_LIBRARY_RELEASE})
+ SET(LIBEVENT_SSL_FOUND ON)
+endif()
+
+FIND_LIBRARY(LIBEVENT_SSL_LIBRARY_DEBUG
+ NAMES event_openssl_d libevent_openssl_d
+ HINTS $ENV{LIBEVENT_SRC}/.libs/
+)
+if (LIBEVENT_SSL_LIBRARY_DEBUG)
+ list(APPEND LIBEVENT_LIBRARIES debug ${LIBEVENT_SSL_LIBRARY_DEBUG})
+else()
+ if (LIBEVENT_SSL_LIBRARY_RELEASE)
+ list(APPEND LIBEVENT_LIBRARIES debug ${LIBEVENT_SSL_LIBRARY_RELEASE})
+ endif()
+endif()
+
+
+
+if (NOT WIN32)
+ FIND_LIBRARY(LIBEVENT_LIBRARY_THREADS
+ NAMES event_pthreads
+ HINTS $ENV{EVENT_SRC}/.libs/
+ )
+ list (APPEND LIBEVENT_LIBRARIES ${LIBEVENT_LIBRARY_THREADS})
+
+ FIND_LIBRARY(LIBEVENT_LIBRARY_EXTRA
+ NAMES event_extra
+ HINTS $ENV{LIBEVENT_SRC}/.libs/
+ )
+ list (APPEND LIBEVENT_LIBRARIES ${LIBEVENT_LIBRARY_EXTRA})
+
+ FIND_LIBRARY(LIBEVENT_LIBRARY_CORE
+ NAMES event_core
+ HINTS $ENV{EVENT_SRC}/.libs/
+ )
+ list (APPEND LIBEVENT_LIBRARIES ${LIBEVENT_LIBRARY_CORE})
+
+endif()
+
+#message(FATAL_ERROR "EVENT_SSL_FOUND: ${EVENT_SSL_FOUND}")
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBEVENT DEFAULT_MSG LIBEVENT_LIBRARIES LIBEVENT_INCLUDE_DIR)
+MARK_AS_ADVANCED(LIBEVENT_LIBRARIES LIBEVENT_INCLUDE_DIR LIBEVENT_SSL_FOUND)
diff --git a/test/ctest/scripts/run_generated_test.cmake b/test/ctest/scripts/run_generated_test.cmake
new file mode 100644
index 0000000..66fb2c0
--- /dev/null
+++ b/test/ctest/scripts/run_generated_test.cmake
@@ -0,0 +1,111 @@
+# convert given file to promela and run spin
+
+set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/contrib/cmake)
+include("${CMAKE_MODULE_PATH}/FileInformation.cmake")
+
+get_filename_component(TEST_FILE_NAME ${TESTFILE} NAME)
+execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTDIR})
+
+
+# message(FATAL_ERROR "PROJECT_BINARY_DIR: ${PROJECT_BINARY_DIR}")
+
+if (${TARGETLANG} STREQUAL "vhdl")
+ find_program(GHDL ghdl)
+
+ execute_process(COMMAND time -p ${USCXML_TRANSFORM_BIN} -t${TARGETLANG} -i ${TESTFILE} -o ${OUTDIR}/${TEST_FILE_NAME}.machine.vhdl RESULT_VARIABLE CMD_RESULT)
+ if(CMD_RESULT)
+ message(FATAL_ERROR "Error running ${USCXML_TRANSFORM_BIN}: ${CMD_RESULT}")
+ endif()
+ message(STATUS "time for transforming to VHDL machine")
+
+ message(STATUS "${GHDL} -a ${OUTDIR}/${TEST_FILE_NAME}.machine.vhdl")
+ execute_process(
+ COMMAND time -p ${GHDL} -a ${OUTDIR}/${TEST_FILE_NAME}.machine.vhdl
+ WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT)
+ if(CMD_RESULT)
+ message(FATAL_ERROR "Error running ghdl ${GHDL}: ${CMD_RESULT}")
+ endif()
+ message(STATUS "time for transforming to binary")
+
+elseif (${TARGETLANG} STREQUAL "c")
+
+ message(STATUS "${USCXML_TRANSFORM_BIN} -t${TARGETLANG} -i ${TESTFILE} -o ${OUTDIR}/${TEST_FILE_NAME}.machine.c")
+ execute_process(COMMAND time -p ${USCXML_TRANSFORM_BIN} -t${TARGETLANG} -i ${TESTFILE} -o ${OUTDIR}/${TEST_FILE_NAME}.machine.c RESULT_VARIABLE CMD_RESULT)
+ if(CMD_RESULT)
+ message(FATAL_ERROR "Error running ${USCXML_TRANSFORM_BIN}: ${CMD_RESULT}")
+ endif()
+ message(STATUS "time for transforming to c machine")
+
+ # set(COMPILE_CMD_OBJ
+ # "-c" "${OUTDIR}/${TEST_FILE_NAME}.machine.c"
+ # "-o" "${OUTDIR}/${TEST_FILE_NAME}.machine.c.o"
+ # "-Ofast" "-ansi" "-m16")
+ #
+ # message(STATUS "${CC_BIN} ${COMPILE_CMD_OBJ}")
+ # execute_process(
+ # COMMAND time -p ${CC_BIN} ${COMPILE_CMD_OBJ}
+ # WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT)
+ # if(CMD_RESULT)
+ # message(FATAL_ERROR "Error running gcc ${CC_BIN}: ${CMD_RESULT}")
+ # endif()
+ # file (SIZE "${OUTDIR}/${TEST_FILE_NAME}.machine.c.o" BINARY_SIZE)
+ # message("Size of compiled unit optimized for speed: ${BINARY_SIZE}")
+ #
+ # set(COMPILE_CMD_OBJ
+ # "-c" "${OUTDIR}/${TEST_FILE_NAME}.machine.c"
+ # "-o" "${OUTDIR}/${TEST_FILE_NAME}.machine.c.o"
+ # "-Os" "-ansi" "-m16")
+ #
+ # message(STATUS "${CC_BIN} ${COMPILE_CMD_OBJ}")
+ # execute_process(
+ # COMMAND time -p ${CC_BIN} ${COMPILE_CMD_OBJ}
+ # WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT)
+ # if(CMD_RESULT)
+ # message(FATAL_ERROR "Error running gcc ${CC_BIN}: ${CMD_RESULT}")
+ # endif()
+ # file (SIZE "${OUTDIR}/${TEST_FILE_NAME}.machine.c.o" BINARY_SIZE)
+ # message("Size of compiled unit optimized for size: ${BINARY_SIZE}")
+
+ set(COMPILE_CMD_BIN
+ "-O0"
+ "-std=c++11"
+ "-Wl,-search_paths_first"
+ "-Wl,-headerpad_max_install_names"
+ "-o" "${OUTDIR}/${TEST_FILE_NAME}"
+ "-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}"
+ "-L${PROJECT_BINARY_DIR}/deps/xerces-c/lib"
+ "-luscxml"
+ "-lxerces-c"
+ "-include" "${OUTDIR}/${TEST_FILE_NAME}.machine.c"
+ "-I${PROJECT_SOURCE_DIR}/contrib/src"
+ "-I${PROJECT_SOURCE_DIR}/src"
+ "-I${PROJECT_BINARY_DIR}"
+ "-I${XercesC_INCLUDE_DIRS}"
+ "-I${URIPARSER_INCLUDE_DIR}"
+ "-I${LIBEVENT_INCLUDE_DIR}"
+ "-Wl,-rpath,${CMAKE_LIBRARY_OUTPUT_DIRECTORY}"
+ "-DAUTOINCLUDE_TEST=ON"
+ "${SCAFFOLDING_FOR_GENERATED_C}")
+
+ message(STATUS "${CXX_BIN} ${COMPILE_CMD_BIN}")
+ execute_process(
+ COMMAND time -p ${CXX_BIN} ${COMPILE_CMD_BIN}
+ WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT)
+ if(CMD_RESULT)
+ message(FATAL_ERROR "Error running g++ ${CXX_BIN}: ${CMD_RESULT}")
+ endif()
+ message(STATUS "time for transforming to binary")
+
+ message(STATUS "${OUTDIR}/${TEST_FILE_NAME}")
+ execute_process(
+ COMMAND time -p ${OUTDIR}/${TEST_FILE_NAME}
+ WORKING_DIRECTORY ${OUTDIR}
+ RESULT_VARIABLE CMD_RESULT)
+ if(CMD_RESULT)
+ message(FATAL_ERROR "Error running generated c test: ${CMD_RESULT}")
+ endif()
+ message(STATUS "time for execution")
+endif()
+
+# message(STATUS "${TEST_OUT}")
+# file(WRITE ${OUTDIR}/${TEST_FILE_NAME}.pml.out ${TEST_OUT}) \ No newline at end of file
diff --git a/test/ctest/scripts/run_header_compiles.cmake b/test/ctest/scripts/run_header_compiles.cmake
new file mode 100644
index 0000000..e60ef0e
--- /dev/null
+++ b/test/ctest/scripts/run_header_compiles.cmake
@@ -0,0 +1,21 @@
+# minimize SCXML document and run
+get_filename_component(TEST_FILE_NAME ${TESTFILE} NAME)
+
+set(COMPILE_CMD_BIN
+"-c"
+"-I${PROJECT_SOURCE_DIR}/contrib/src"
+"-I${PROJECT_BINARY_DIR}/deps/xerces-c/include"
+"-I${PROJECT_BINARY_DIR}/deps/libevent/include"
+"-I${PROJECT_BINARY_DIR}/deps/uriparser/include"
+"-I${PROJECT_SOURCE_DIR}/contrib/src/evws"
+"-I${CMAKE_BINARY_DIR}"
+"-I${PROJECT_BINARY_DIR}"
+"-I${PROJECT_SOURCE_DIR}/src"
+"${TESTFILE}")
+
+execute_process(COMMAND ${CXX_BIN} ${COMPILE_CMD_BIN} RESULT_VARIABLE CMD_RESULT)
+if(CMD_RESULT)
+ message(FATAL_ERROR "Error running ${CXX_BIN}")
+endif()
+
+
diff --git a/test/ctest/scripts/run_promela_test.cmake b/test/ctest/scripts/run_promela_test.cmake
new file mode 100644
index 0000000..818cf66
--- /dev/null
+++ b/test/ctest/scripts/run_promela_test.cmake
@@ -0,0 +1,38 @@
+# convert given file to promela and run spin
+
+get_filename_component(TEST_FILE_NAME ${TESTFILE} NAME)
+execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTDIR})
+
+set(ENV{USCXML_PROMELA_TRANSITION_TRACE} "TRUE")
+set(ENV{USCXML_PROMELA_TRANSITION_DEBUG} "TRUE")
+
+message(STATUS "${USCXML_TRANSFORM_BIN} -tpml -i ${TESTFILE} -o ${OUTDIR}/${TEST_FILE_NAME}.pml")
+execute_process(COMMAND time -p ${USCXML_TRANSFORM_BIN} -tpml -i ${TESTFILE} -o ${OUTDIR}/${TEST_FILE_NAME}.pml RESULT_VARIABLE CMD_RESULT)
+if(CMD_RESULT)
+ message(FATAL_ERROR "Error running ${USCXML_TRANSFORM_BIN}: ${CMD_RESULT}")
+endif()
+message(STATUS "time for transforming to promela")
+
+message(STATUS "${SPIN_BIN} -a ${OUTDIR}/${TEST_FILE_NAME}.pml")
+execute_process(COMMAND time -p ${SPIN_BIN} -a ${OUTDIR}/${TEST_FILE_NAME}.pml WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT)
+if(CMD_RESULT)
+ message(FATAL_ERROR "Error running spin ${SPIN_BIN}: ${CMD_RESULT}")
+endif()
+message(STATUS "time for transforming to c")
+
+message(STATUS "${CXX_BIN} -DMEMLIM=1024 -DVECTORSZ=8192 -O2 -DXUSAFE -w -o ${OUTDIR}/pan ${OUTDIR}/pan.c")
+execute_process(COMMAND time -p ${CXX_BIN} -DMEMLIM=1024 -DVECTORSZ=8192 -O2 -DXUSAFE -w -o ${OUTDIR}/pan ${OUTDIR}/pan.c WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT)
+if(CMD_RESULT)
+ message(FATAL_ERROR "Error running gcc ${CXX_BIN}: ${CMD_RESULT}")
+endif()
+message(STATUS "time for transforming to binary")
+
+message(STATUS "${OUTDIR}/pan -m10000 -a")
+execute_process(COMMAND time -p ${OUTDIR}/pan -m10000 -a WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT)
+if(CMD_RESULT)
+ message(FATAL_ERROR "Error running pan: ${CMD_RESULT}")
+endif()
+message(STATUS "time for verification")
+
+# message(STATUS "${TEST_OUT}")
+# file(WRITE ${OUTDIR}/${TEST_FILE_NAME}.pml.out ${TEST_OUT}) \ No newline at end of file