summaryrefslogtreecommitdiff
path: root/examples/api
diff options
context:
space:
mode:
authorAina Niemetz <aina.niemetz@gmail.com>2018-09-18 17:57:56 -0700
committerMathias Preiner <mathias.preiner@gmail.com>2018-09-22 16:30:59 -0700
commitd78113d408d706d44c1d8cfc379fa86cd8e20460 (patch)
treef56be50b213272c6d14516df475ed5fcb2fd6b57 /examples/api
parented8d326cbdec820d347d8b4b5ee7b23c3367d169 (diff)
cmake: Add target runexamples.
Diffstat (limited to 'examples/api')
-rw-r--r--examples/api/CMakeLists.txt10
-rw-r--r--examples/api/java/CMakeLists.txt108
2 files changed, 37 insertions, 81 deletions
diff --git a/examples/api/CMakeLists.txt b/examples/api/CMakeLists.txt
index 4e4d81ed3..c78c50466 100644
--- a/examples/api/CMakeLists.txt
+++ b/examples/api/CMakeLists.txt
@@ -1,5 +1,3 @@
-set(EXAMPLES_API_BIN_DIR ${EXAMPLES_BIN_DIR}/api)
-
set(CVC4_EXAMPLES_API
bitvectors
bitvectors-new
@@ -21,12 +19,10 @@ set(CVC4_EXAMPLES_API
strings-new
)
+set(EXAMPLES_API_LINK_LIBS cvc4 cvc4parser)
foreach(example ${CVC4_EXAMPLES_API})
- add_executable(${example} EXCLUDE_FROM_ALL ${example}.cpp)
- target_link_libraries(${example} cvc4)
- set_target_properties(${example}
- PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${EXAMPLES_API_BIN_DIR})
- add_dependencies(examples ${example})
+ cvc4_add_example(${example}
+ "" "${EXAMPLES_API_LINK_LIBS}" "api")
endforeach()
if(BUILD_BINDINGS_JAVA)
diff --git a/examples/api/java/CMakeLists.txt b/examples/api/java/CMakeLists.txt
index bb70ab054..76a55151e 100644
--- a/examples/api/java/CMakeLists.txt
+++ b/examples/api/java/CMakeLists.txt
@@ -1,76 +1,36 @@
-set(EXAMPLES_API_JAVA_BIN_DIR ${EXAMPLES_API_BIN_DIR}/java)
+set(EXAMPLES_API_JAVA_BIN_DIR ${EXAMPLES_BIN_DIR}/api/java)
file(MAKE_DIRECTORY ${EXAMPLES_API_JAVA_BIN_DIR})
-add_custom_target(BitVectorsjava
- COMMAND
- ${Java_JAVAC_EXECUTABLE}
- -cp ${EXAMPLES_JAVA_CLASSPATH} ${CMAKE_CURRENT_SOURCE_DIR}/BitVectors.java
- -d ${EXAMPLES_API_JAVA_BIN_DIR}
- DEPENDS cvc4jar)
-add_dependencies(examples BitVectorsjava)
-
-add_custom_target(BitVectorsAndArraysjava
- COMMAND
- ${Java_JAVAC_EXECUTABLE}
- -cp ${EXAMPLES_JAVA_CLASSPATH} ${CMAKE_CURRENT_SOURCE_DIR}/BitVectorsAndArrays.java
- -d ${EXAMPLES_API_JAVA_BIN_DIR}
- DEPENDS cvc4jar)
-add_dependencies(examples BitVectorsAndArraysjava)
-
-## disabled until bindings for the new API are in place (issue #2284)
-# add_custom_target(CVC4Streamsjava
-# COMMAND
-# ${Java_JAVAC_EXECUTABLE}
-# -cp ${EXAMPLES_JAVA_CLASSPATH} ${CMAKE_CURRENT_SOURCE_DIR}/CVC4Streams.java
-# -d ${CMAKE_BINARY_DIR}/bin/examples/api/java
-# DEPENDS cvc4jar)
-# add_dependencies(examples CVC4Streamsjava)
-
-add_custom_target(Combinationjava
- COMMAND
- ${Java_JAVAC_EXECUTABLE}
- -cp ${EXAMPLES_JAVA_CLASSPATH} ${CMAKE_CURRENT_SOURCE_DIR}/Combination.java
- -d ${EXAMPLES_API_JAVA_BIN_DIR}
- DEPENDS cvc4jar)
-add_dependencies(examples Combinationjava)
-
-add_custom_target(Datatypesjava
- COMMAND
- ${Java_JAVAC_EXECUTABLE}
- -cp ${EXAMPLES_JAVA_CLASSPATH} ${CMAKE_CURRENT_SOURCE_DIR}/Datatypes.java
- -d ${EXAMPLES_API_JAVA_BIN_DIR}
- DEPENDS cvc4jar)
-add_dependencies(examples Datatypesjava)
-
-add_custom_target(HelloWorldjava
- COMMAND
- ${Java_JAVAC_EXECUTABLE}
- -cp ${EXAMPLES_JAVA_CLASSPATH} ${CMAKE_CURRENT_SOURCE_DIR}/HelloWorld.java
- -d ${EXAMPLES_API_JAVA_BIN_DIR}
- DEPENDS cvc4jar)
-add_dependencies(examples HelloWorldjava)
-
-add_custom_target(LinearArithjava
- COMMAND
- ${Java_JAVAC_EXECUTABLE}
- -cp ${EXAMPLES_JAVA_CLASSPATH} ${CMAKE_CURRENT_SOURCE_DIR}/LinearArith.java
- -d ${EXAMPLES_API_JAVA_BIN_DIR}
- DEPENDS cvc4jar)
-add_dependencies(examples LinearArithjava)
-
-## disabled until bindings for the new API are in place (issue #2284)
-# add_custom_target(PipedInputjava
-# COMMAND
-# ${Java_JAVAC_EXECUTABLE}
-# -cp ${EXAMPLES_JAVA_CLASSPATH} ${CMAKE_CURRENT_SOURCE_DIR}/PipedInput.java
-# -d ${EXAMPLES_API_JAVA_BIN_DIR}
-# DEPENDS cvc4jar)
-# add_dependencies(examples PipedInputjava)
-
-add_custom_target(Stringsjava
- COMMAND
- ${Java_JAVAC_EXECUTABLE}
- -cp ${EXAMPLES_JAVA_CLASSPATH} ${CMAKE_CURRENT_SOURCE_DIR}/Strings.java
- -d ${EXAMPLES_API_JAVA_BIN_DIR}
- DEPENDS cvc4jar)
-add_dependencies(examples Stringsjava)
+set(EXAMPLES_API_JAVA
+ BitVectors
+ BitVectorsAndArrays
+ ## disabled until bindings for the new API are in place (issue #2284)
+ #CVC4Streams
+ Combination
+ Datatypes
+ HelloWorld
+ LinearArith
+ ## disabled until bindings for the new API are in place (issue #2284)
+ #PipedInput
+ Strings
+)
+
+foreach(example ${EXAMPLES_API_JAVA})
+ add_custom_target(${example}
+ COMMAND
+ ${Java_JAVAC_EXECUTABLE}
+ -cp ${EXAMPLES_JAVA_CLASSPATH} ${CMAKE_CURRENT_SOURCE_DIR}/${example}.java
+ -d ${EXAMPLES_API_JAVA_BIN_DIR}
+ DEPENDS cvc4jar)
+ add_dependencies(examples ${example})
+ set(example_test example/api/java/${example})
+ add_test(
+ NAME ${example_test}
+ COMMAND
+ ${Java_JAVA_EXECUTABLE}
+ -Djava.library.path=${CMAKE_BINARY_DIR}/src/bindings/java/
+ -cp "${EXAMPLES_JAVA_CLASSPATH}:${CMAKE_BINARY_DIR}/bin/examples/api/java/"
+ ${example}
+ )
+ set_tests_properties(${example_test} PROPERTIES LABELS "example")
+endforeach()
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback