File: CMakeLists.txt

package info (click to toggle)
robotraconteur 1.2.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 101,380 kB
  • sloc: cpp: 1,149,268; cs: 87,653; java: 58,127; python: 26,897; ansic: 356; sh: 152; makefile: 90; xml: 51
file content (84 lines) | stat: -rw-r--r-- 3,403 bytes parent folder | download
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
if(NOT ANDROID)

    file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test)

    if(NOT RobotRaconteur_GEN)
        set(RobotRaconteur_GEN RobotRaconteurGen)
    endif()

    file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_src")

    robotraconteur_generate_thunk(
        RR_THUNK_SRCS
        com.robotraconteur.testing.TestService1.robdef
        com.robotraconteur.testing.TestService2.robdef
        com.robotraconteur.testing.TestService3.robdef
        com.robotraconteur.testing.TestService4.robdef
        LANG
        java
        INCLUDE_DIRS
        "${CMAKE_SOURCE_DIR}/test/robdef"
        OUTDIR
        "${CMAKE_CURRENT_BINARY_DIR}/test_src")

    add_custom_target(RobotRaconteurJavaTest_gen DEPENDS ${RR_THUNK_SRCS})

    # cSpell: disable
    add_custom_target(
        RobotRaconteurJavaTest ALL
        "${Java_JAVAC_EXECUTABLE}"
        -encoding
        UTF8
        -target
        8
        -source
        8
        -Xlint:none
        com/robotraconteur/javatest/*.java
        ${CMAKE_CURRENT_BINARY_DIR}/test_src/com/robotraconteur/testing/TestService1/*.java
        ${CMAKE_CURRENT_BINARY_DIR}/test_src/com/robotraconteur/testing/TestService2/*.java
        ${CMAKE_CURRENT_BINARY_DIR}/test_src/com/robotraconteur/testing/TestService3/*.java
        -d
        "${CMAKE_CURRENT_BINARY_DIR}/test"
        -classpath
        "${CMAKE_BINARY_DIR}/RobotRaconteurJava/bin"
        WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/test")
    add_dependencies(RobotRaconteurJavaTest RobotRaconteurJava RobotRaconteurJavaTest_gen)
    # cSpell: enable

    add_custom_command(
        TARGET RobotRaconteurJavaTest
        POST_BUILD
        COMMAND
            ${CMAKE_COMMAND} -E make_directory
            "${CMAKE_BINARY_DIR}/test/$<$<CONFIG:debug>:out_debug>$<$<CONFIG:release>:out>$<$<CONFIG:relwithdebinfo>:out_reldebug>/Java"
        COMMAND
            "${Java_JAR_EXECUTABLE}" cf
            "${CMAKE_BINARY_DIR}/test/$<$<CONFIG:debug>:out_debug>$<$<CONFIG:release>:out>$<$<CONFIG:relwithdebinfo>:out_reldebug>/Java/RobotRaconteurJavaTest.jar"
            *
        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test")

    add_dependencies(RobotRaconteurJavaTest RobotRaconteurJava)

    set(RR_JAVA_TEST_CMD "${Java_JAVA_EXECUTABLE}")
    if(WIN32)
        set(RR_JAVA_TEST_CMD_ARG
            "-cp ${CMAKE_BINARY_DIR}/@OUT_DIR_NAME@/Java/RobotRaconteur.jar\\\;${CMAKE_BINARY_DIR}/test/@OUT_DIR_NAME@/Java/RobotRaconteurJavaTest.jar -Djava.library.path=${CMAKE_BINARY_DIR}/@OUT_DIR_NAME@/Java/ -XX:MaxJavaStackTraceDepth=100000 com.robotraconteur.javatest.RobotRaconteurJavaTest"
        )
    else()
        set(RR_JAVA_TEST_CMD_ARG
            "-cp ${CMAKE_BINARY_DIR}/@OUT_DIR_NAME@/Java/RobotRaconteur.jar:${CMAKE_BINARY_DIR}/test/@OUT_DIR_NAME@/Java/RobotRaconteurJavaTest.jar -Djava.library.path=${CMAKE_BINARY_DIR}/@OUT_DIR_NAME@/Java/ -XX:MaxJavaStackTraceDepth=100000 com.robotraconteur.javatest.RobotRaconteurJavaTest"
        )
    endif()
    rrconfiguretest(
        test_prog_java
        "${RR_JAVA_TEST_CMD}"
        "test_prog"
        NOCTEST
        NODEBUG
        ARGS
        "${RR_JAVA_TEST_CMD_ARG}")
    rrconfiguretest(test_java_loopback "${RR_JAVA_TEST_CMD}" "test_prog" ARGS "${RR_JAVA_TEST_CMD_ARG} loopback")
    rrconfiguretest(test_java_loopback2 "${RR_JAVA_TEST_CMD}" "test_prog" ARGS "${RR_JAVA_TEST_CMD_ARG} loopback2")

endif()