~ubuntu-branches/ubuntu/utopic/sikuli/utopic

« back to all changes in this revision

Viewing changes to .pc/use-java-libs-from-debian.patch/sikuli-ide/CMakeLists.txt

  • Committer: Bazaar Package Importer
  • Author(s): Gilles Filippini
  • Date: 2011-10-04 23:32:13 UTC
  • mfrom: (4.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20111004233213-36fm78hx0z53tkuw
Tags: 1.0~x~rc3-dfsg1-2
* New patch fix-cmake-sikuli-ide.patch:
  + Fix random FTBFS due to missing inter target dependency

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/../cmake_modules/common.cmake)
2
 
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/../cmake_modules/detect_osx_ver.cmake)
3
 
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/../cmake_modules/find_dep_libs.cmake)
4
 
 
 
1
# Copyright 2010-2011, Sikuli.org
 
2
# Released under the MIT License.
5
3
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
6
4
PROJECT (sikuli-ide Java)
7
5
 
 
6
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake_modules")
 
7
INCLUDE(${CMAKE_MODULE_PATH}/common.cmake)
 
8
INCLUDE(${CMAKE_MODULE_PATH}/detect_osx_ver.cmake)
 
9
INCLUDE(${CMAKE_MODULE_PATH}/find_dep_libs.cmake)
 
10
 
 
11
 
8
12
ENABLE_TESTING()
9
13
 
10
14
SET(CMAKE_VERBOSE_MAKEFILE 0)
11
15
 
12
 
FIND_PACKAGE(Java)
 
16
FIND_PACKAGE(Java 1.6 REQUIRED)
13
17
SET( NON_NATIVE_TARGET TRUE)
14
18
 
15
19
IF(UNIX)
31
35
SET(RESOURCE_DIR "${BASE_DIR}/resources")
32
36
SET(RELEASE_DIR "${BASE_DIR}/../release")
33
37
 
 
38
SET(JAVA_TEST_DIR "${BASE_DIR}/src/test/java")
 
39
SET(TEST_RESOURCE_DIR "test-res")
 
40
SET(JAVA_TEST_FOR_HUDSON_XML "../hudson-test.xml")
 
41
SET(TEST_CLASS_DIR "${CMAKE_BINARY_DIR}/test") 
 
42
 
34
43
SET(SIKULI_SCRIPT_JAR "${COMMON_LIB_DIR}/sikuli-script.jar")
35
44
SET(JUNIT_JAR "${COMMON_LIB_DIR}/junit-3.8.1.jar")
36
45
SET(SWING_LAYOUT_JAR "${COMMON_LIB_DIR}/swing-layout-1.0.1.jar")
37
46
SET(COMMONS_CLI_JAR "${COMMON_LIB_DIR}/commons-cli-1.2.jar")
38
47
SET(JSON_SIMPLE_JAR "${COMMON_LIB_DIR}/json_simple-1.1.jar")
39
 
SET(JXGRABKEY_JAR "${COMMON_LIB_DIR}/jxgrabkey/lib/JXGrabKey.jar")
40
 
SET(JINTELLITYPE_JAR "${COMMON_LIB_DIR}/jintellitype-1.3.6/jintellitype-1.3.6.jar")
41
48
SET(SWINGX_JAR "${COMMON_LIB_DIR}/swingx-core-1.6.2.jar")
42
49
SET(MAC_WIDGETS_JAR "${COMMON_LIB_DIR}/mac_widgets.jar")
43
50
SET(FORMS_JAR "${COMMON_LIB_DIR}/forms-1.2.1.jar")
46
53
FILE(MAKE_DIRECTORY ${BINARY_DIR})
47
54
FILE(MAKE_DIRECTORY ${BINARY_CLASS_DIR})
48
55
FILE(MAKE_DIRECTORY ${JAR_DIR})
 
56
FILE(MAKE_DIRECTORY ${TEST_CLASS_DIR})
49
57
 
50
58
## Sikuli IDE
51
59
 
52
60
SET(MAIN_CLASS org.sikuli.ide.SikuliIDE)
53
61
SET(RUN_USER_ARGS -Dsikuli.console=true -Dfile.encoding=UTF-8 
 
62
             -Dsikuli.testing=yes
54
63
             -Xms64m -Xmx512m 
55
64
   CACHE STRING 
56
65
   "The arguments for running Sikuli IDE with 'make run-user'"
57
66
)
58
 
SET(RUN_ARGS -Dsikuli.console=true -Dsikuli.Debug=3 -Dfile.encoding=UTF-8 
 
67
SET(RUN_ARGS -Dsikuli.console=false -Dsikuli.Debug=3 -Dfile.encoding=UTF-8 
 
68
             -Dsikuli.testing=yes
59
69
             -Xms64m -Xmx512m 
60
70
             #-Duser.language=zh -Duser.region=TW 
61
71
   CACHE STRING 
65
75
   LIST(APPEND RUN_ARGS -Xdock:name='Sikuli IDE') 
66
76
ENDIF()
67
77
 
 
78
#SET(ARGS -s -r ../sample-scripts/mod1.sikuli --args a1 a2) # example args
68
79
SET(ARGS "")
69
80
 
70
81
SET(CLASSPATH 
79
90
   SET(CLASSPATH ${CLASSPATH}${SEP}${JXGRABKEY_JAR})
80
91
ELSEIF(WIN32)
81
92
   SET(MANIFEST ${RESOURCE_DIR}/META-INF/MANIFEST-win32.MF)
82
 
   SET(CLASSPATH ${CLASSPATH}${SEP}${JINTELLITYPE_JAR})
 
93
   #SET(CLASSPATH ${CLASSPATH}${SEP}${JINTELLITYPE_JAR})
83
94
ELSE()
84
95
   SET(MANIFEST ${RESOURCE_DIR}/META-INF/MANIFEST.MF)
85
96
ENDIF()
114
125
                        ${MAIN_CLASS} ${ARGS}
115
126
)
116
127
 
117
 
file(READ ${BASE_DIR}/latest-ver VERSION)
118
 
STRING(STRIP ${VERSION} VERSION)
 
128
if(NOT DEFINED SIKULI_VERSION OR SIKULI_VERSION STREQUAL "")
 
129
   file(READ ${BASE_DIR}/latest-ver SIKULI_VERSION)
 
130
   STRING(STRIP ${SIKULI_VERSION} SIKULI_VERSION)
 
131
ENDIF()
 
132
message("Sikuli Version ${SIKULI_VERSION}")
119
133
 
 
134
SET(JYTHON_CLASS org.python.util.jython)
120
135
add_custom_target( update-version
121
 
   COMMAND ${BASE_DIR}/../utils/update-version.sh  ${JAVA_SRC_DIR}/org/sikuli/ide/IDESettings.java "${VERSION}"
 
136
      COMMAND ${JAVA_RUNTIME} -cp "${CLASSPATH}" ${JYTHON_CLASS} ${BASE_DIR}/../utils/update-version.py  ${JAVA_SRC_DIR}/org/sikuli/ide/IDESettings.java "${SIKULI_VERSION}"
122
137
   COMMENT "Update version number in Sikuli-IDE"
123
138
)
124
139
 
138
153
   SET(FRAMEWORKS_IN_APP_DIR  ${JAR_IN_APP_DIR}/libs)
139
154
   SET(JAR_LIB_DIR  ${JAR_DIR}/META-INF/lib)
140
155
 
141
 
   LIST(APPEND INCLUDE_JARS ${JINTELLITYPE_JAR})
 
156
   #LIST(APPEND INCLUDE_JARS ${JINTELLITYPE_JAR})
142
157
   FILE(GLOB sikuli_script_jnilibs "${BASE_DIR}/../sikuli-script/target/lib/*.dll")
143
158
   SET(jnilibs ${sikuli_script_jnilibs})
144
159
ENDIF()
184
199
 
185
200
   find_dep_libs("${jnilibs}" deplibs)
186
201
   find_dep_libs("${deplibs}" deplibs)
187
 
   LIST(REMOVE_ITEM deplibs "/usr/lib/libstdc++.6.dylib" "/usr/lib/libSystem.B.dylib" 
188
 
                            "/usr/lib/system/libmathCommon.A.dylib" 
189
 
                            "/usr/lib/libbz2.1.0.dylib" "/usr/lib/libobjc.A.dylib")
190
202
   #MESSAGE("Dep: ${deplibs}")
191
203
 
192
204
ENDIF(APPLE)
193
205
 
194
 
SET(RELEASE_FILE "Sikuli-${VERSION}-${OS}")
 
206
SET(RELEASE_FILE "Sikuli-${SIKULI_VERSION}-${OS}")
195
207
 
196
208
## Packaging App
197
209
add_custom_target( ${APP_FILE}
202
214
 
203
215
IF(LINUX)
204
216
   EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE SYSTEM_ARCH)
 
217
   SET(RELEASE_FILE "${RELEASE_FILE}-${SYSTEM_ARCH}")
205
218
   if(SYSTEM_ARCH MATCHES "x86_64")
206
219
      SET(LIB_GRABKEY "${COMMON_LIB_DIR}/jxgrabkey/lib/libJXGrabKey-64.so")
207
220
   else()
208
221
      SET(LIB_GRABKEY "${COMMON_LIB_DIR}/jxgrabkey/lib/libJXGrabKey-32.so")
209
222
   endif()
210
 
   add_custom_target( ${JAR_FILE}.framework 
211
 
      COMMAND ${CMAKE_COMMAND} -E make_directory ${JAR_LIB_DIR}
212
 
      COMMAND cp ${LIB_GRABKEY} ${JAR_LIB_DIR}/libJXGrabKey.so
213
 
      COMMENT "Packaging Frameworks in Jar"
214
 
   )
215
 
   add_dependencies( ${JAR_FILE} ${JAR_FILE}.framework ) 
216
223
 
217
224
   add_custom_target( ${APP_FILE}.framework 
218
225
      COMMAND ${CMAKE_COMMAND} -E make_directory ${FRAMEWORKS_IN_APP_DIR}
263
270
IF(APPLE)
264
271
   add_custom_target( ${APP_FILE}.framework 
265
272
      COMMAND ${CMAKE_COMMAND} -E make_directory ${FRAMEWORKS_IN_APP_DIR}
266
 
      COMMAND cp ${jnilibs} ${FRAMEWORKS_IN_APP_DIR}
267
 
      COMMAND cp ${deplibs} ${FRAMEWORKS_IN_APP_DIR}
 
273
      COMMAND cp -f ${jnilibs} ${FRAMEWORKS_IN_APP_DIR}
 
274
      COMMAND cp -f ${deplibs} ${FRAMEWORKS_IN_APP_DIR}
268
275
      COMMAND ${CMAKE_COMMAND} -E chdir ${FRAMEWORKS_IN_APP_DIR} ./change-lib-path.sh
269
276
      COMMENT "Packaging Frameworks"
270
277
   )
271
278
 
272
279
   add_custom_target( ${APP_FILE}.update_ver
273
 
        COMMAND defaults write ${BINARY_APP_DIR}/${APP_FILE}/Contents/Info CFBundleVersion ${VERSION}
 
280
        COMMAND defaults write ${BINARY_APP_DIR}/${APP_FILE}/Contents/Info CFBundleVersion `echo ${SIKULI_VERSION} | awk '{print $$1}'`
274
281
        COMMAND plutil -convert xml1 ${BINARY_APP_DIR}/${APP_FILE}/Contents/Info.plist
275
282
   )
276
283
 
320
327
## Packaging
321
328
 
322
329
if(APPLE)
323
 
   #   SET(CPACK_GENERATOR DragNDrop )
324
 
      SET(CPACK_GENERATOR ZIP )
 
330
      SET(CPACK_GENERATOR DragNDrop )
 
331
      #   SET(CPACK_GENERATOR ZIP )
325
332
else(APPLE)
326
333
   SET(CPACK_GENERATOR 
327
334
      ZIP
328
335
   )
329
336
endif(APPLE)
330
337
 
331
 
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sikuli ${VERSION}")
 
338
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sikuli ${SIKULI_VERSION}")
332
339
SET(CPACK_PACKAGE_VENDOR "Sikuli Development Team")
333
340
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${BASE_DIR}/../readme.txt")
334
341
SET(CPACK_RESOURCE_FILE_LICENSE "${BASE_DIR}/../copyright.txt")
344
351
 
345
352
# type "make package" to generate release packages
346
353
 
 
354
 
 
355
## tests
 
356
 
 
357
SET(MAIN_TEST_SUITE ${PACKAGE}.SikuliIDETestSuite)
 
358
 
 
359
add_custom_target( java-test.test-res
 
360
   COMMAND ${CMAKE_COMMAND} -E copy_directory ${BASE_DIR}/${TEST_RESOURCE_DIR} ${CMAKE_BINARY_DIR}/${TEST_RESOURCE_DIR}
 
361
   COMMENT "Copy test resource"
 
362
)
 
363
 
 
364
add_custom_target( java-test
 
365
   #   COMMAND ${JAVA_RUNTIME} -cp ${TEST_CLASS_DIR}${SEP}${BINARY_DIR}/${JAR_FILE}${SEP}${JUNIT_JAR} junit.textui.TestRunner ${MAIN_TEST_SUITE}
 
366
   COMMAND ant -f ${JAVA_TEST_FOR_HUDSON_XML}
 
367
   COMMENT "Run Java unit tests"
 
368
)
 
369
 
 
370
add_dependencies( java-test
 
371
        ${JAR_FILE}
 
372
        ${PROJECT_NAME}.test.classes
 
373
        java-test.test-res
 
374
)
 
375
 
 
376
add_custom_target( all-test
 
377
)
 
378
 
 
379
add_dependencies( all-test
 
380
   java-test   
 
381
)
 
382
 
347
383
## Dependencies
348
384
 
349
385
add_dependencies( ${JAR_FILE}.prepare
350
386
        ${JAR_FILE}.resources
351
387
        ${JAR_FILE}.classes-in-jar 
352
 
        ${JAR_FILE}.libs-in-jar
 
388
        #        ${JAR_FILE}.libs-in-jar
353
389
)
354
390
 
355
391
add_dependencies( ${JAR_FILE} ${JAR_FILE}.prepare )
357
393
add_dependencies( run ${JAR_FILE})
358
394
add_dependencies( app ${APP_FILE}) 
359
395
 
 
396
 
360
397
ADD_SUBDIRECTORY( ${JAVA_SRC_DIR} )
361
 
ADD_SUBDIRECTORY( ${NATIVE_SRC_DIR} )
362
 
 
363
 
INCLUDE(CTest)
 
398
#ADD_SUBDIRECTORY( ${NATIVE_SRC_DIR} )
 
399
ADD_SUBDIRECTORY( ${JAVA_TEST_DIR} )
 
400
 
 
401
 
 
402
 
 
403
SET(SIKULI_VERSION  CACHE INTERNAL "" FORCE)
 
404