Warning, /sdk/rust-qt-binding-generator/demo/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 set(CMAKE_AUTORCC ON) 0002 0003 # generate c++ and rust code from bindings.json 0004 add_custom_command( 0005 OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/rust/src/interface.rs" 0006 "${CMAKE_CURRENT_SOURCE_DIR}/src/Bindings.h" 0007 # if the cpp file is marked GENERATED, CMake will not check it for moc 0008 # "${CMAKE_CURRENT_SOURCE_DIR}/src/Bindings.cpp" 0009 COMMAND ${RustQtBindingGenerator_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/bindings.json" 0010 DEPENDS rust_qt_binding_generator bindings.json 0011 ) 0012 0013 SET(RUST_DIR "${CMAKE_CURRENT_SOURCE_DIR}/rust") 0014 if (MSVC) 0015 SET(RUST_LIB "${RUST_DIR}/${RUST_TARGET_DIR}/rust.lib") 0016 else() 0017 SET(RUST_LIB "${RUST_DIR}/${RUST_TARGET_DIR}/librust.a") 0018 endif() 0019 0020 # compile the rust code into a static library 0021 add_custom_command( 0022 OUTPUT "${RUST_LIB}" 0023 COMMAND ${Cargo_EXECUTABLE} build ${RUST_BUILD_FLAG} 0024 DEPENDS rust/src/lib.rs 0025 rust/src/implementation/mod.rs 0026 rust/src/implementation/time_series.rs 0027 rust/src/implementation/fibonacci.rs 0028 rust/src/implementation/processes.rs 0029 rust/src/interface.rs 0030 WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/rust" 0031 ) 0032 add_custom_target(rust_target DEPENDS "${RUST_LIB}") 0033 0034 list(APPEND DemoLibs "${RUST_LIB}") 0035 list(APPEND DemoLibs Qt5::Widgets Qt5::Svg Threads::Threads ${DL_LIBRARY}) 0036 if (Qt5Quick_FOUND) 0037 list(APPEND DemoLibs Qt5::Quick) 0038 endif() 0039 if (Qt5QuickControls2_FOUND) 0040 add_definitions(-DQTQUICKCONTROLS2) 0041 list(APPEND DemoLibs Qt5::QuickControls2) 0042 endif() 0043 if (Qt5Charts_FOUND) 0044 list(APPEND DemoLibs Qt5::Charts) 0045 endif() 0046 if (KF5Kirigami2_FOUND) 0047 add_definitions(-DKIRIGAMI2) 0048 endif() 0049 0050 if (ECM_FOUND) 0051 ecm_create_qm_loader(Demo_QM_LOADER rqbgdemo_qt) 0052 endif() 0053 0054 set(Demo_SRCS src/main.cpp src/Bindings.cpp src/SortedModel.cpp 0055 resource_file.qrc ${Demo_QM_LOADER}) 0056 0057 add_executable(Demo ${Demo_SRCS}) 0058 add_dependencies(Demo rust_target) 0059 0060 target_link_libraries(Demo ${DemoLibs}) 0061 0062 set_target_properties(Demo PROPERTIES 0063 CXX_STANDARD 11 0064 CXX_STANDARD_REQUIRED ON 0065 )