diff --git a/examples/todos/CMakeLists.txt b/examples/todos/CMakeLists.txt index c2642b0..da7c505 100644 --- a/examples/todos/CMakeLists.txt +++ b/examples/todos/CMakeLists.txt @@ -1,8 +1,9 @@ project (my_rust_qt_quick_project) -cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) +cmake_minimum_required(VERSION 3.10 FATAL_ERROR) cmake_policy(SET CMP0046 NEW) cmake_policy(SET CMP0063 NEW) +cmake_policy(SET CMP0071 NEW) LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") string(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_UPPER) @@ -43,8 +44,7 @@ SET(RUST_LIB "${RUST_DIR}/${RUST_TARGET_DIR}/librust.a") add_custom_command( OUTPUT "${RUST_DIR}/src/interface.rs" "${CMAKE_CURRENT_SOURCE_DIR}/src/Bindings.h" - # if the cpp file is marked GENERATED, CMake will not check it for moc - # "${CMAKE_CURRENT_SOURCE_DIR}/src/Bindings.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/src/Bindings.cpp" COMMAND "${RustQtBindingGenerator_EXECUTABLE}" #--overwrite-implementation "${CMAKE_CURRENT_SOURCE_DIR}/bindings.json" DEPENDS bindings.json diff --git a/examples/todos/rust/src/interface.rs b/examples/todos/rust/src/interface.rs index 8de0c1a..da15b89 100644 --- a/examples/todos/rust/src/interface.rs +++ b/examples/todos/rust/src/interface.rs @@ -51,6 +51,7 @@ fn set_string_from_utf16(s: &mut String, str: *const c_ushort, len: c_int) { #[repr(C)] +#[derive(PartialEq, Eq, Debug)] pub enum SortOrder { Ascending = 0, Descending = 1, @@ -176,8 +177,8 @@ pub trait TodosTrait { #[no_mangle] pub extern "C" fn todos_new( todos: *mut TodosQObject, - active_count_changed: fn(*const TodosQObject), - count_changed: fn(*const TodosQObject), + todos_active_count_changed: fn(*const TodosQObject), + todos_count_changed: fn(*const TodosQObject), todos_new_data_ready: fn(*const TodosQObject), todos_data_changed: fn(*const TodosQObject, usize, usize), todos_begin_reset_model: fn(*const TodosQObject), @@ -189,8 +190,8 @@ pub extern "C" fn todos_new( ) -> *mut Todos { let todos_emit = TodosEmitter { qobject: Arc::new(Mutex::new(todos)), - active_count_changed: active_count_changed, - count_changed: count_changed, + active_count_changed: todos_active_count_changed, + count_changed: todos_count_changed, new_data_ready: todos_new_data_ready, }; let model = TodosList { diff --git a/templates/qt_quick/CMakeLists.txt b/templates/qt_quick/CMakeLists.txt index 09571fd..092527b 100644 --- a/templates/qt_quick/CMakeLists.txt +++ b/templates/qt_quick/CMakeLists.txt @@ -1,8 +1,9 @@ project (my_rust_qt_quick_project) -cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) +cmake_minimum_required(VERSION 3.10 FATAL_ERROR) cmake_policy(SET CMP0046 NEW) cmake_policy(SET CMP0063 NEW) +cmake_policy(SET CMP0071 NEW) LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") string(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_UPPER) @@ -43,8 +44,7 @@ SET(RUST_LIB "${RUST_DIR}/${RUST_TARGET_DIR}/librust.a") add_custom_command( OUTPUT "${RUST_DIR}/src/interface.rs" "${CMAKE_CURRENT_SOURCE_DIR}/src/Bindings.h" - # if the cpp file is marked GENERATED, CMake will not check it for moc - # "${CMAKE_CURRENT_SOURCE_DIR}/src/Bindings.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/src/Bindings.cpp" COMMAND "${RustQtBindingGenerator_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/bindings.json" DEPENDS bindings.json diff --git a/templates/qt_quick/rust/src/interface.rs b/templates/qt_quick/rust/src/interface.rs index 50503ea..7040580 100644 --- a/templates/qt_quick/rust/src/interface.rs +++ b/templates/qt_quick/rust/src/interface.rs @@ -72,11 +72,11 @@ pub trait SimpleTrait { #[no_mangle] pub extern "C" fn simple_new( simple: *mut SimpleQObject, - message_changed: fn(*const SimpleQObject), + simple_message_changed: fn(*const SimpleQObject), ) -> *mut Simple { let simple_emit = SimpleEmitter { qobject: Arc::new(Mutex::new(simple)), - message_changed: message_changed, + message_changed: simple_message_changed, }; let d_simple = Simple::new(simple_emit); Box::into_raw(Box::new(d_simple)) diff --git a/templates/qt_widgets/CMakeLists.txt b/templates/qt_widgets/CMakeLists.txt index 9b95c58..490a4a5 100644 --- a/templates/qt_widgets/CMakeLists.txt +++ b/templates/qt_widgets/CMakeLists.txt @@ -1,8 +1,9 @@ project (my_rust_qt_widgets_project) -cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) +cmake_minimum_required(VERSION 3.10 FATAL_ERROR) cmake_policy(SET CMP0046 NEW) cmake_policy(SET CMP0063 NEW) +cmake_policy(SET CMP0071 NEW) LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") string(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_UPPER) @@ -43,8 +44,7 @@ SET(RUST_LIB "${RUST_DIR}/${RUST_TARGET_DIR}/librust.a") add_custom_command( OUTPUT "${RUST_DIR}/src/interface.rs" "${CMAKE_CURRENT_SOURCE_DIR}/src/Bindings.h" - # if the cpp file is marked GENERATED, CMake will not check it for moc - # "${CMAKE_CURRENT_SOURCE_DIR}/src/Bindings.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/src/Bindings.cpp" COMMAND "${RustQtBindingGenerator_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/bindings.json" DEPENDS bindings.json diff --git a/templates/qt_widgets/rust/src/interface.rs b/templates/qt_widgets/rust/src/interface.rs index 50503ea..7040580 100644 --- a/templates/qt_widgets/rust/src/interface.rs +++ b/templates/qt_widgets/rust/src/interface.rs @@ -72,11 +72,11 @@ pub trait SimpleTrait { #[no_mangle] pub extern "C" fn simple_new( simple: *mut SimpleQObject, - message_changed: fn(*const SimpleQObject), + simple_message_changed: fn(*const SimpleQObject), ) -> *mut Simple { let simple_emit = SimpleEmitter { qobject: Arc::new(Mutex::new(simple)), - message_changed: message_changed, + message_changed: simple_message_changed, }; let d_simple = Simple::new(simple_emit); Box::into_raw(Box::new(d_simple))