Warning, /sdk/rust-qt-binding-generator/tests/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 0002 set(GENERATOR "${RustQtBindingGenerator_EXECUTABLE}") 0003 include_directories("${CMAKE_CURRENT_BINARY_DIR}") 0004 0005 add_custom_target("clean-rust") 0006 0007 function(rust_test NAME DIRECTORY) 0008 set(SRC "${CMAKE_CURRENT_SOURCE_DIR}") 0009 set(DIR "${SRC}/${DIRECTORY}") 0010 if (MSVC) 0011 SET(RUST_LIB "${DIR}/${RUST_TARGET_DIR}/rust.lib") 0012 else() 0013 SET(RUST_LIB "${DIR}/${RUST_TARGET_DIR}/librust.a") 0014 endif() 0015 0016 set_property(SOURCE "${SRC}/${NAME}_rust.h" PROPERTY SKIP_AUTOGEN OFF) 0017 add_custom_command( 0018 OUTPUT "${DIR}/src/interface.rs" 0019 "${SRC}/${NAME}_rust.h" 0020 "${SRC}/${NAME}_rust.cpp" 0021 COMMAND "${GENERATOR}" "${SRC}/${NAME}.json" 0022 MAIN_DEPENDENCY "${NAME}.json" 0023 DEPENDS rust_qt_binding_generator 0024 ) 0025 add_custom_command( 0026 OUTPUT "${RUST_LIB}" 0027 COMMAND ${Cargo_EXECUTABLE} build ${RUST_BUILD_FLAG} 0028 DEPENDS "${DIR}/src/lib.rs" 0029 "${DIR}/src/implementation.rs" 0030 "${DIR}/src/interface.rs" 0031 WORKING_DIRECTORY "${DIR}" 0032 ) 0033 add_custom_target("test_${DIRECTORY}" 0034 DEPENDS "${RUST_LIB}") 0035 0036 add_executable("${NAME}" "${NAME}.cpp" "${NAME}_rust.cpp" "${NAME}_rust.h") 0037 set_target_properties("${NAME}" PROPERTIES 0038 CXX_STANDARD 11 0039 CXX_STANDARD_REQUIRED ON 0040 ) 0041 add_dependencies("${NAME}" "test_${DIRECTORY}") 0042 target_link_libraries("${NAME}" 0043 Qt5::Core 0044 Qt5::Test 0045 "${RUST_LIB}" 0046 Threads::Threads ${DL_LIBRARY} 0047 ) 0048 0049 add_test("build_${NAME}" 0050 "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target "${NAME}") 0051 add_test("${NAME}" "${NAME}") 0052 set_tests_properties("${NAME}" PROPERTIES DEPENDS "build_${NAME}") 0053 0054 add_custom_command( 0055 OUTPUT "clean_${NAME}" 0056 COMMAND ${Cargo_EXECUTABLE} clean 0057 WORKING_DIRECTORY "${DIR}" 0058 ) 0059 add_custom_target("clean-${NAME}" DEPENDS "clean_${NAME}") 0060 add_dependencies("clean-rust" "clean-${NAME}") 0061 0062 0063 endfunction(rust_test) 0064 0065 rust_test(test_object rust_object) 0066 rust_test(test_object_types rust_object_types) 0067 rust_test(test_list rust_list) 0068 rust_test(test_list_types rust_list_types) 0069 rust_test(test_tree rust_tree) 0070 rust_test(test_objects rust_objects) 0071 rust_test(test_functions rust_functions)