27
29
SET(JAVA_SRC_DIR "${BASE_DIR}/src/main/java")
28
30
SET(NATIVE_SRC_DIR "${BASE_DIR}/src/main/native")
29
31
SET(PYTHON_SRC_DIR "${BASE_DIR}/src/main/python")
32
SET(JAVA_TEST_DIR "${BASE_DIR}/src/test/java")
33
SET(TEST_RESOURCE_DIR "test-res")
34
SET(JAVA_TEST_FOR_HUDSON_XML "../hudson-test.xml")
30
36
SET(CMAKE_SWIG_OUTDIR ${CMAKE_BINARY_DIR}/${NATIVE_PACKAGE_DIR})
32
38
SET(COMMON_LIB_DIR "${BASE_DIR}/../lib")
41
SET(JXGRABKEY_JAR "${COMMON_LIB_DIR}/jxgrabkey/lib/JXGrabKey.jar")
42
SET(JINTELLITYPE_JAR "${COMMON_LIB_DIR}/jintellitype-1.3.6/jintellitype-1.3.6.jar")
33
44
#SET(INCLUDE_LIB_DIR "${BASE_DIR}/lib")
34
45
SET(INCLUDE_LIB_DIR "${COMMON_LIB_DIR}/mx-native-loader-1.2/target/classes")
35
47
SET(BINARY_DIR "${BASE_DIR}/target")
36
SET(BINARY_CLASS_DIR "${BINARY_DIR}/classes")
48
SET(BINARY_CLASS_DIR "${CMAKE_BINARY_DIR}/classes")
49
SET(TEST_CLASS_DIR "${CMAKE_BINARY_DIR}/test")
37
50
SET(BINARY_LIB_DIR "${BINARY_DIR}/lib")
38
SET(JAR_DIR "${BINARY_DIR}/jar")
51
SET(JAR_DIR "${CMAKE_BINARY_DIR}/jar")
52
SET(JAR_LIB_DIR ${JAR_DIR}/META-INF/lib)
40
SET(JYTHON_JAR "${COMMON_LIB_DIR}/jython-2.5.1.jar")
41
SET(JYTHON_LIB_FILE "${COMMON_LIB_DIR}/jython-lib-2.5.1.tgz")
54
SET(JUNIT_JAR "${COMMON_LIB_DIR}/junit-4.8.2.jar")
55
SET(MOCKITO_JAR "${COMMON_LIB_DIR}/mockito-all-1.8.5.jar")
56
SET(JYTHON_JAR "${COMMON_LIB_DIR}/jython-2.5.2.jar")
57
SET(JYTHON_LIB_FILE "${COMMON_LIB_DIR}/jython-lib-2.5.2.tgz")
44
60
${INCLUDE_LIB_DIR}${SEP}${JYTHON_JAR}${SEP}.
64
SET(CLASSPATH ${CLASSPATH}${SEP}${JXGRABKEY_JAR})
66
SET(CLASSPATH ${CLASSPATH}${SEP}${JINTELLITYPE_JAR})
71
${CLASSPATH}${SEP}${JUNIT_JAR}${SEP}${BINARY_CLASS_DIR}${SEP}${MOCKITO_JAR}
47
74
FILE(MAKE_DIRECTORY ${BINARY_DIR})
48
75
FILE(MAKE_DIRECTORY ${BINARY_CLASS_DIR})
76
FILE(MAKE_DIRECTORY ${TEST_CLASS_DIR})
49
77
FILE(MAKE_DIRECTORY ${JAR_DIR})
51
79
SET(JAR_FILE sikuli-script.jar)
130
166
${JAR_FILE}.jython-libs-in-jar
170
IF(NOT EXISTS ${JAR_DIR}/com/melloware/jintellitype)
171
add_custom_target( ${JAR_FILE}.jintellitype-in-jar
172
COMMAND ${CMAKE_COMMAND} -E chdir ${JAR_DIR} ${JAVA_ARCHIVE} xf ${JINTELLITYPE_JAR}
173
COMMENT "Merging Jintellitype's JAR"
175
add_dependencies(${JAR_FILE}
176
${JAR_FILE}.jintellitype-in-jar
179
SET(LIB_GRABKEY "${COMMON_LIB_DIR}/jintellitype-1.3.6/JIntellitype.dll")
180
SET(LIB_GRABKEY64 "${COMMON_LIB_DIR}/jintellitype-1.3.6/JIntellitype64.dll")
181
add_custom_target( ${JAR_FILE}.hotkey-lib
182
COMMAND ${CMAKE_COMMAND} -E copy ${LIB_GRABKEY} ${JAR_DIR}/com/melloware/jintellitype/
183
COMMAND ${CMAKE_COMMAND} -E copy ${LIB_GRABKEY64} ${JAR_DIR}/com/melloware/jintellitype/
184
COMMENT "Packaging JIntellitype in Jar"
186
add_dependencies( ${JAR_FILE}.hotkey-lib
187
${JAR_FILE}.jintellitype-in-jar
189
ENDIF(NOT EXISTS ${JAR_DIR}/com/melloware/jintellitype)
194
IF(NOT EXISTS ${JAR_DIR}/jxgrabkey)
195
add_custom_target( ${JAR_FILE}.jxgrabkey-in-jar
196
COMMAND ${CMAKE_COMMAND} -E chdir ${JAR_DIR} ${JAVA_ARCHIVE} xf ${JXGRABKEY_JAR}
197
COMMENT "Merging JXGrabKey's JAR"
201
add_dependencies(${JAR_FILE}
202
${JAR_FILE}.jxgrabkey-in-jar
207
EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE SYSTEM_ARCH)
208
if(SYSTEM_ARCH MATCHES "x86_64")
209
SET(LIB_GRABKEY "${COMMON_LIB_DIR}/jxgrabkey/lib/libJXGrabKey-64.so")
211
SET(LIB_GRABKEY "${COMMON_LIB_DIR}/jxgrabkey/lib/libJXGrabKey-32.so")
213
add_custom_target( ${JAR_FILE}.hotkey-lib
214
COMMAND cp ${LIB_GRABKEY} ${BINARY_LIB_DIR}/libJXGrabKey.so
215
COMMENT "Packaging JXGrabKey in Jar"
218
add_dependencies( ${JAR_FILE} ${JAR_FILE}.hotkey-lib )
219
add_dependencies( ${JAR_FILE}.libs-in-jar ${JAR_FILE}.hotkey-lib )
222
ADD_SUBDIRECTORY(${JAVA_SRC_DIR})
134
223
ADD_SUBDIRECTORY(${NATIVE_SRC_DIR})
135
ADD_SUBDIRECTORY(${JAVA_SRC_DIR})
140
basic bundle capture click dragdrop env findAll
141
keys mouse multiscreen observe region
142
showActions sikuli type vdict wait with
143
ocr imageurl wheel imagepath findfailed
224
ADD_SUBDIRECTORY(${JAVA_TEST_DIR})
228
SET(MAIN_TEST_SUITE ${PACKAGE}.SikuliScriptTestSuite)
230
add_custom_target( test-res
231
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/${TEST_RESOURCE_DIR}
232
COMMAND ${CMAKE_COMMAND} -E copy_directory ${BASE_DIR}/${TEST_RESOURCE_DIR} ${CMAKE_BINARY_DIR}/${TEST_RESOURCE_DIR}
233
COMMENT "Copy test resource"
236
SET(JAVA_TEST_CASE ""
238
"The java test case to run with run-java-test"
241
add_custom_target( run-java-test
242
COMMAND ant -f ${JAVA_TEST_FOR_HUDSON_XML} runtest -Dtest=${JAVA_TEST_CASE}
243
COMMENT "Run specific Java unit tests"
246
add_dependencies( run-java-test
248
${PROJECT_NAME}.test.classes
252
add_custom_target( java-test
253
COMMAND ant -f ${JAVA_TEST_FOR_HUDSON_XML}
254
COMMENT "Run Java unit tests"
257
add_dependencies( java-test
259
${PROJECT_NAME}.test.classes
264
## Python level tests
146
266
SET(PY_TEST_DIR "${BASE_DIR}/src/test/python")
147
267
SET(JYTHON_CLASS org.python.util.jython)
149
FOREACH(TEST_TARGET ${PYTHON_TESTS})
150
ADD_TEST(Jar_${TEST_TARGET} ${CMAKE_COMMAND} -E chdir ${BASE_DIR}
151
java -Dsikuli.Debug=3 -cp ${BINARY_DIR}/${JAR_FILE}
152
-Dpython.home=${BINARY_DIR}/${JAR_FILE}
153
${JYTHON_CLASS} ${PY_TEST_DIR}/test-${TEST_TARGET}.py
155
ENDFOREACH(TEST_TARGET)
268
SET(JACOCOAGENT_JAR ${BASE_DIR}/../utils/jacoco/lib/jacocoagent.jar)
270
STRING(REPLACE "/" "\\" JACOCOAGENT_JAR "${JACOCOAGENT_JAR}")
273
"-javaagent:${JACOCOAGENT_JAR}=destfile=jacoco.exec,includes=org.sikuli.*"
279
"The arguments for running Python nose tests")
281
add_custom_target( python-test
282
COMMAND ${JAVA_RUNTIME} "${JACOCO_ARGS}" -Dfile.encoding=UTF-8 -Dsikuli.testing=yes -cp "${BINARY_DIR}/${JAR_FILE}${SEP}${TEST_CLASS_DIR}" ${JYTHON_CLASS} ${PY_TEST_DIR}/RunNoseTests.py ${NOSE_ARGS}
283
COMMENT "Run Python unit tests"
286
add_dependencies( python-test
288
${PROJECT_NAME}.test.classes
294
add_custom_target( all-test
297
add_dependencies( all-test