You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							113 lines
						
					
					
						
							2.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							113 lines
						
					
					
						
							2.7 KiB
						
					
					
				| find_package(Java REQUIRED COMPONENTS Runtime Development) | |
| find_package(JNI REQUIRED) | |
| find_package(SWIG 3.0 REQUIRED) | |
| include(UseJava) | |
| include(UseSWIG) | |
|  | |
|  | |
|  | |
| file(GLOB_RECURSE i_files "swig/*.i") | |
| foreach(file ${i_files}) | |
| 	SET_SOURCE_FILES_PROPERTIES(${file} PROPERTIES CPLUSPLUS 1) | |
| endforeach() | |
|  | |
|  | |
| #set(test_filenames "") | |
| #file(GLOB_RECURSE test_files "test/*.java") | |
| #foreach(file ${test_files}) | |
| #	get_filename_component(filename ${file} NAME_WE) | |
| #	IF (NOT (${filename} MATCHES "TestCarl"))  | |
| #		set(test_filenames ${test_filenames} ${filename}) | |
| #	ENDIF () | |
| #endforeach() | |
|  | |
|  | |
|  | |
|  | |
|  | |
| #enable_testing() | |
|  | |
| #compile the tests | |
| #ADD_CUSTOM_COMMAND( | |
| #OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/test/*.class | |
| #COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/test | |
| #COMMAND ${Java_JAVAC_EXECUTABLE} -d ${CMAKE_CURRENT_BINARY_DIR}/test -cp "${CMAKE_CURRENT_BINARY_DIR}:${CMAKE_CURRENT_SOURCE_DIR}/test:${CMAKE_CURRENT_BINARY_DIR}/jcarl.jar:/usr/share/java/junit.jar" | |
| #${CMAKE_CURRENT_SOURCE_DIR}/test/*java | |
| #DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/test/*.java | |
| #) | |
|  | |
|  | |
| #build the jar | |
| ADD_CUSTOM_COMMAND( | |
| OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/jcarl/jcarl.jar | |
| COMMAND ${Java_JAVAC_EXECUTABLE} ./jcarl/*.java | |
| COMMAND jar cvf jcarl.jar ./jcarl/*.class | |
| WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/jcarl | |
| ) | |
|  | |
|  | |
|  | |
|  | |
| #add_test(NAME jcarl COMMAND ${Java_JAVA_EXECUTABLE} -classpath .:/usr/share/java/junit.jar:/usr/share/java/hamcrest-core.jar:../ -Djava.library.path=../ org.junit.runner.JUnitCore ${test_filenames} | |
| #WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test ) | |
|  | |
|  | |
|  | |
|  | |
| set(CMAKE_JNI_TARGET TRUE) | |
|  | |
|  | |
|  | |
|  | |
| #this is for swig | |
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${JAVA_AWT_INCLUDE_PATH} -I${JAVA_AWT_INCLUDE_PATH}/linux -I/usr/include/python2.7") | |
|  | |
| set(CMAKE_SWIG_FLAGS -package jcarl) | |
| set(CMAKE_SWIG_OUTDIR "jcarl/jcarl") | |
| swig_add_module(jcarl java ${i_files}) | |
| swig_link_libraries(jcarl lib_carl) | |
|  | |
|  | |
| #For Python: Not working, however... | |
| #set(CMAKE_SWIG_FLAGS "") | |
| #set(CMAKE_SWIG_OUTDIR "pycarl/pycarl") | |
| #swig_add_module(pycarl python ${i_files}) | |
| #swig_link_libraries(pycarl lib_carl) | |
|  | |
|  | |
|  | |
|  | |
| ADD_CUSTOM_TARGET(jcarl.jar | |
| ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/jcarl/jcarl.jar jcarl) | |
|  | |
|  | |
|  | |
| #ADD_CUSTOM_TARGET(tests | |
| #ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/test/*.class ${CMAKE_CURRENT_BINARY_DIR}/jcarl.jar jcarl) | |
|  | |
|  | |
| #find_package(PythonInterp) | |
|  | |
| #if (PYTHONINTERP_FOUND) | |
| #	add_test( NAME pycarl COMMAND  ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/runAllTests.py) | |
| #else() | |
| #	status(WARNING "Did not find a python interpreter, disabling pycarl tests.") | |
| #endif() | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| # include dir: bindings/jcarl/example/ | |
| # libraries: bindings/jcarl/*.jar / *.so | |
| # javac test.java | |
| # java -cp <jarfile>:. test | |
|  | |
| #execute test from within test directory: java -Djava.library.path=../ -cp ../:. TestBindings
 |