summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/datamodel/CMakeLists.txt
blob: 0634984d90e719f4225d20cc2aaa560c6b242979 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# JavaScriptCore ecmascript datamodel
if (APPLE AND IOS AND OFF)
	FIND_LIBRARY(JSC_LIBRARY JavaScriptCore)
	set(JSC_FOUND ON)
	file(GLOB JSC_DATAMODEL
		src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/*.cpp
		src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/*.h
	)
	source_group("Datamodel\\jsc" FILES ${JSC_DATAMODEL})
	file(GLOB_RECURSE JSC_DOM
		src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/*.cpp
		src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/*.h
	)
	source_group("Datamodel\\DOM" FILES ${JSC_DOM})
	if (BUILD_AS_PLUGINS)
		add_library(
			datamodel_jsc SHARED 
			${JSC_DATAMODEL}
			${JSC_DOM})
		target_link_libraries(datamodel_jsc 
			uscxml
			${JSC_LIBRARY})
		set_target_properties(datamodel_jsc PROPERTIES FOLDER "Plugin DataModel")
	else()
		list (APPEND USCXML_FILES ${JSC_DATAMODEL})
		list (APPEND USCXML_FILES ${JSC_DOM})
		list (APPEND USCXML_OPT_LIBS ${JSC_LIBRARY})
	endif()

endif()


# NULL datamodel

file(GLOB NULL_DATAMODEL
	src/uscxml/plugins/datamodel/null/*.cpp
	src/uscxml/plugins/datamodel/null/*.h
)
source_group("Datamodel\\null" FILES ${NULL_DATAMODEL})
if (BUILD_AS_PLUGINS)
	add_library(datamodel_null SHARED ${NULL_DATAMODEL})
	target_link_libraries(datamodel_null uscxml)
	set_target_properties(datamodel_null PROPERTIES FOLDER "Plugin DataModel")
else()
	list (APPEND USCXML_FILES ${NULL_DATAMODEL})
endif()


# XPath datamodel

file(GLOB XPATH_DATAMODEL
	src/uscxml/plugins/datamodel/xpath/*.cpp
	src/uscxml/plugins/datamodel/xpath/*.h
)
source_group("Datamodel\\xpath" FILES ${XPATH_DATAMODEL})
if (BUILD_AS_PLUGINS)
	add_library(datamodel_xpath SHARED ${XPATH_DATAMODEL})
	target_link_libraries(datamodel_xpath uscxml)
	set_target_properties(datamodel_xpath PROPERTIES FOLDER "Plugin DataModel")
else()
	list (APPEND USCXML_FILES ${XPATH_DATAMODEL})
endif()


# GOOGLE V8 ecmascript datamodel

#if (NOT APPLE OR IOS)
	# set(ENV{V8_SRC} ${CMAKE_SOURCE_DIR}/../v8)
	find_package(V8)
	if (V8_FOUND)
		list (APPEND USCXML_INCLUDE_DIRS ${V8_INCLUDE_DIR})
		file(GLOB V8_DATAMODEL
			src/uscxml/plugins/datamodel/ecmascript/v8/*.cpp
			src/uscxml/plugins/datamodel/ecmascript/v8/*.h
		)
		source_group("Datamodel\\v8" FILES ${V8_DATAMODEL})
		file(GLOB_RECURSE V8_DOM
			src/uscxml/plugins/datamodel/ecmascript/v8/dom/*.cpp
			src/uscxml/plugins/datamodel/ecmascript/v8/dom/*.h
		)
		source_group("Datamodel\\v8\\DOM" FILES ${V8_DOM})

		if (BUILD_AS_PLUGINS)
			add_library(
				datamodel_v8 SHARED 
				${V8_DATAMODEL}
				${V8_DOM})
			target_link_libraries(datamodel_v8 
				uscxml
				${V8_LIBRARY})
			set_target_properties(datamodel_v8 PROPERTIES FOLDER "Plugin DataModel")
		else()
			list (APPEND USCXML_FILES ${V8_DATAMODEL})
			list (APPEND USCXML_FILES ${V8_DOM})
			list (APPEND USCXML_OPT_LIBS ${V8_LIBRARY})
		endif()
	endif()
#endif()


# SWI PROLOG datamodel

#set(SWI_INCLUDE_HINT ${CMAKE_SOURCE_DIR}/../pl-devel/include)
#set(SWI_LIBRARY_HINT ${CMAKE_SOURCE_DIR}/../pl-devel/lib/x86_64-darwin12.2.0)
find_package(SWI)
#find_package(GMP)
#find_package(CURSES)
if (SWI_FOUND)
	list (APPEND USCXML_INCLUDE_DIRS ${SWI_INCLUDE_DIR})	
#	message(FATAL_ERROR "SWI_INCLUDE_DIR: ${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
	)
	source_group("Datamodel\\swi" FILES ${SWI_DATAMODEL})
	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()