diff options
89 files changed, 1705 insertions, 580 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f1d1d9..fa98ae7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,8 @@ project(QtIvi find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core) # special case find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Gui Qml Quick RemoteObjects Multimedia Sql) # special case +include(src/ivicore/Qt6IviCoreMacros.cmake) + if(INTEGRITY) message(NOTICE "Skipping the build as the condition \"NOT INTEGRITY\" is not met.") return() diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 7e9779d..f703cb6 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -5,7 +5,7 @@ qt_examples_build_begin() if(TARGET Qt::Gui AND TARGET Qt::IviCore) add_subdirectory(ivicore) endif() -if(TARGET Qt::Gui AND TARGET ivivehiclefunctions) +if(TARGET Qt::Gui AND TARGET Qt::IviVehicleFunctions) add_subdirectory(ivivehiclefunctions) endif() if(TARGET Qt::Gui AND TARGET Qt::IviMedia) diff --git a/examples/ivicore/qface-ivi-addressbook/backend_simulator/CMakeLists.txt b/examples/ivicore/qface-ivi-addressbook/backend_simulator/CMakeLists.txt index 11dc7d3..a4b21ce 100644 --- a/examples/ivicore/qface-ivi-addressbook/backend_simulator/CMakeLists.txt +++ b/examples/ivicore/qface-ivi-addressbook/backend_simulator/CMakeLists.txt @@ -19,6 +19,12 @@ find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) find_package(Qt6 COMPONENTS IviCore) +qt_add_plugin(example_ivi_addressbook) + +# IVI Generator: +qt6_ivigenerator(example_ivi_addressbook + QFACE_SOURCES ../example-ivi-addressbook.qface + QFACE_FORMAT backend_simulator ) set_target_properties(example_ivi_addressbook PROPERTIES WIN32_EXECUTABLE TRUE @@ -30,6 +36,7 @@ target_include_directories(example_ivi_addressbook PUBLIC target_link_libraries(example_ivi_addressbook PUBLIC # Remove: L${CMAKE_CURRENT_BINARY_DIR}/../ + QtIviAdressBookExample Qt::Core Qt::Gui Qt::IviCore diff --git a/examples/ivicore/qface-ivi-addressbook/demo/CMakeLists.txt b/examples/ivicore/qface-ivi-addressbook/demo/CMakeLists.txt index f7d36ff..4d4dbad 100644 --- a/examples/ivicore/qface-ivi-addressbook/demo/CMakeLists.txt +++ b/examples/ivicore/qface-ivi-addressbook/demo/CMakeLists.txt @@ -37,6 +37,7 @@ target_compile_definitions(qface-ivi-addressbook PUBLIC target_link_libraries(qface-ivi-addressbook PUBLIC # Remove: L${CMAKE_CURRENT_BINARY_DIR}/../ + QtIviAdressBookExample Qt::Core Qt::Gui Qt::Qml diff --git a/examples/ivicore/qface-ivi-addressbook/frontend/CMakeLists.txt b/examples/ivicore/qface-ivi-addressbook/frontend/CMakeLists.txt index c25aec6..b27c013 100644 --- a/examples/ivicore/qface-ivi-addressbook/frontend/CMakeLists.txt +++ b/examples/ivicore/qface-ivi-addressbook/frontend/CMakeLists.txt @@ -21,13 +21,12 @@ find_package(Qt6 COMPONENTS IviCore) find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) -) -set_target_properties(QtIviAdressBookExample PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) -target_compile_definitions(QtIviAdressBookExample PUBLIC - QT_BUILD_EXAMPLE_IVI_ADDRESSBOOK_LIB +add_library(QtIviAdressBookExample) + +# IVI Generator: +qt6_ivigenerator(QtIviAdressBookExample + QFACE_SOURCES ../example-ivi-addressbook.qface + QFACE_FORMAT frontend ) target_link_libraries(QtIviAdressBookExample PUBLIC diff --git a/examples/ivicore/qface-ivi-climate/backend_simulator/CMakeLists.txt b/examples/ivicore/qface-ivi-climate/backend_simulator/CMakeLists.txt index f5a96df..577ba27 100644 --- a/examples/ivicore/qface-ivi-climate/backend_simulator/CMakeLists.txt +++ b/examples/ivicore/qface-ivi-climate/backend_simulator/CMakeLists.txt @@ -19,6 +19,12 @@ find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) find_package(Qt6 COMPONENTS IviCore) +qt_add_plugin(example_ivi_climate) + +# IVI Generator: +qt6_ivigenerator(example_ivi_climate + QFACE_SOURCES ../example-ivi-climate.qface + QFACE_FORMAT backend_simulator ) set_target_properties(example_ivi_climate PROPERTIES WIN32_EXECUTABLE TRUE @@ -30,6 +36,7 @@ target_include_directories(example_ivi_climate PUBLIC target_link_libraries(example_ivi_climate PUBLIC # Remove: L${CMAKE_CURRENT_BINARY_DIR}/../ + QtIviClimateExample Qt::Core Qt::Gui Qt::IviCore diff --git a/examples/ivicore/qface-ivi-climate/demo/CMakeLists.txt b/examples/ivicore/qface-ivi-climate/demo/CMakeLists.txt index 810725f..8dd6fff 100644 --- a/examples/ivicore/qface-ivi-climate/demo/CMakeLists.txt +++ b/examples/ivicore/qface-ivi-climate/demo/CMakeLists.txt @@ -37,6 +37,7 @@ target_compile_definitions(qface-ivi-climate PUBLIC target_link_libraries(qface-ivi-climate PUBLIC # Remove: L${CMAKE_CURRENT_BINARY_DIR}/../ + QtIviClimateExample Qt::Core Qt::Gui Qt::Qml diff --git a/examples/ivicore/qface-ivi-climate/frontend/CMakeLists.txt b/examples/ivicore/qface-ivi-climate/frontend/CMakeLists.txt index 771443e..9a36218 100644 --- a/examples/ivicore/qface-ivi-climate/frontend/CMakeLists.txt +++ b/examples/ivicore/qface-ivi-climate/frontend/CMakeLists.txt @@ -21,13 +21,12 @@ find_package(Qt6 COMPONENTS IviCore) find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) -) -set_target_properties(QtIviClimateExample PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) -target_compile_definitions(QtIviClimateExample PUBLIC - QT_BUILD_EXAMPLE_IVI_CLIMATE_LIB +add_library(QtIviClimateExample) + +# IVI Generator: +qt6_ivigenerator(QtIviClimateExample + QFACE_SOURCES ../example-ivi-climate.qface + QFACE_FORMAT frontend ) target_link_libraries(QtIviClimateExample PUBLIC diff --git a/examples/ivicore/qface-ivi-remote/backend_qtro/CMakeLists.txt b/examples/ivicore/qface-ivi-remote/backend_qtro/CMakeLists.txt index 26c3d05..f5bda9e 100644 --- a/examples/ivicore/qface-ivi-remote/backend_qtro/CMakeLists.txt +++ b/examples/ivicore/qface-ivi-remote/backend_qtro/CMakeLists.txt @@ -19,6 +19,12 @@ find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) find_package(Qt6 COMPONENTS IviCore) +qt_add_plugin(example_ivi_remote) + +# IVI Generator: +qt6_ivigenerator(example_ivi_remote + QFACE_SOURCES ../example-ivi-remote.qface + QFACE_FORMAT backend_qtro ) set_target_properties(example_ivi_remote PROPERTIES WIN32_EXECUTABLE TRUE diff --git a/examples/ivicore/qface-ivi-remote/frontend/CMakeLists.txt b/examples/ivicore/qface-ivi-remote/frontend/CMakeLists.txt index 10f4cac..c219e21 100644 --- a/examples/ivicore/qface-ivi-remote/frontend/CMakeLists.txt +++ b/examples/ivicore/qface-ivi-remote/frontend/CMakeLists.txt @@ -21,6 +21,12 @@ find_package(Qt6 COMPONENTS IviCore) find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) +qt_add_executable(QtIviRemoteExample) + +# IVI Generator: +qt6_ivigenerator(QtIviRemoteExample + QFACE_SOURCES ../example-ivi-remote.qface + QFACE_FORMAT frontend ) set_target_properties(QtIviRemoteExample PROPERTIES WIN32_EXECUTABLE TRUE diff --git a/examples/ivicore/qface-ivi-remote/server_qtro/CMakeLists.txt b/examples/ivicore/qface-ivi-remote/server_qtro/CMakeLists.txt index a800ca8..6b2110d 100644 --- a/examples/ivicore/qface-ivi-remote/server_qtro/CMakeLists.txt +++ b/examples/ivicore/qface-ivi-remote/server_qtro/CMakeLists.txt @@ -21,6 +21,12 @@ qt_add_executable(qface-ivi-remote-server main.cpp processingservice.cpp processingservice.h ) + +# IVI Generator: +qt6_ivigenerator(qface-ivi-remote-server + QFACE_SOURCES ../example-ivi-remote.qface + QFACE_FORMAT server_qtro +) set_target_properties(qface-ivi-remote-server PROPERTIES WIN32_EXECUTABLE TRUE MACOSX_BUNDLE FALSE diff --git a/examples/ivicore/qface-tutorial/chapter1-basics/frontend/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter1-basics/frontend/CMakeLists.txt index fde5846..8457644 100644 --- a/examples/ivicore/qface-tutorial/chapter1-basics/frontend/CMakeLists.txt +++ b/examples/ivicore/qface-tutorial/chapter1-basics/frontend/CMakeLists.txt @@ -21,6 +21,12 @@ find_package(Qt6 COMPONENTS IviCore) find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) +qt_add_executable(QtIviInstrumentCluster) + +# IVI Generator: +qt6_ivigenerator(QtIviInstrumentCluster + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT frontend ) set_target_properties(QtIviInstrumentCluster PROPERTIES WIN32_EXECUTABLE TRUE diff --git a/examples/ivicore/qface-tutorial/chapter2-enums-structs/frontend/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter2-enums-structs/frontend/CMakeLists.txt index 8ca17d5..e9d0815 100644 --- a/examples/ivicore/qface-tutorial/chapter2-enums-structs/frontend/CMakeLists.txt +++ b/examples/ivicore/qface-tutorial/chapter2-enums-structs/frontend/CMakeLists.txt @@ -21,6 +21,12 @@ find_package(Qt6 COMPONENTS IviCore) find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) +qt_add_executable(QtIviInstrumentCluster) + +# IVI Generator: +qt6_ivigenerator(QtIviInstrumentCluster + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT frontend ) set_target_properties(QtIviInstrumentCluster PROPERTIES WIN32_EXECUTABLE TRUE diff --git a/examples/ivicore/qface-tutorial/chapter3-simulation-backend/backend_simulator/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter3-simulation-backend/backend_simulator/CMakeLists.txt index 9927170..ce270e6 100644 --- a/examples/ivicore/qface-tutorial/chapter3-simulation-backend/backend_simulator/CMakeLists.txt +++ b/examples/ivicore/qface-tutorial/chapter3-simulation-backend/backend_simulator/CMakeLists.txt @@ -19,6 +19,12 @@ find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) find_package(Qt6 COMPONENTS IviCore) +qt_add_plugin(instrumentcluster_simulation) + +# IVI Generator: +qt6_ivigenerator(instrumentcluster_simulation + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT backend_simulator ) set_target_properties(instrumentcluster_simulation PROPERTIES WIN32_EXECUTABLE TRUE diff --git a/examples/ivicore/qface-tutorial/chapter3-simulation-backend/frontend/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter3-simulation-backend/frontend/CMakeLists.txt index dc2a4c6..773b357 100644 --- a/examples/ivicore/qface-tutorial/chapter3-simulation-backend/frontend/CMakeLists.txt +++ b/examples/ivicore/qface-tutorial/chapter3-simulation-backend/frontend/CMakeLists.txt @@ -21,6 +21,12 @@ find_package(Qt6 COMPONENTS IviCore) find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) +qt_add_executable(QtIviInstrumentCluster) + +# IVI Generator: +qt6_ivigenerator(QtIviInstrumentCluster + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT frontend ) set_target_properties(QtIviInstrumentCluster PROPERTIES WIN32_EXECUTABLE TRUE diff --git a/examples/ivicore/qface-tutorial/chapter3-simulation-backend/imports/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter3-simulation-backend/imports/CMakeLists.txt index 931e18d..3c35fa0 100644 --- a/examples/ivicore/qface-tutorial/chapter3-simulation-backend/imports/CMakeLists.txt +++ b/examples/ivicore/qface-tutorial/chapter3-simulation-backend/imports/CMakeLists.txt @@ -1,7 +1,7 @@ # Generated from imports.pro. cmake_minimum_required(VERSION 3.14) -project(imports LANGUAGES CXX) +project(instrument_cluster_imports LANGUAGES CXX) # special case set(CMAKE_INCLUDE_CURRENT_DIR ON) @@ -19,23 +19,28 @@ find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) find_package(Qt6 COMPONENTS IviCore) + +# IVI Generator: +qt6_ivigenerator(instrument_cluster_imports # special case + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT qmlplugin ) -set_target_properties(imports PROPERTIES +set_target_properties(instrument_cluster_imports PROPERTIES # special case WIN32_EXECUTABLE TRUE MACOSX_BUNDLE TRUE ) -target_include_directories(imports PUBLIC +target_include_directories(instrument_cluster_imports PUBLIC # special case ${CMAKE_CURRENT_BINARY_DIR}/../frontend ) -target_link_libraries(imports PUBLIC +target_link_libraries(instrument_cluster_imports PUBLIC # special case # Remove: L${CMAKE_CURRENT_BINARY_DIR}/../ Qt::Core Qt::Gui Qt::IviCore ) -install(TARGETS imports +install(TARGETS instrument_cluster_imports # special case RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" diff --git a/examples/ivicore/qface-tutorial/chapter4-simulation-behavior/backend_simulator/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter4-simulation-behavior/backend_simulator/CMakeLists.txt new file mode 100644 index 0000000..d05a645 --- /dev/null +++ b/examples/ivicore/qface-tutorial/chapter4-simulation-behavior/backend_simulator/CMakeLists.txt @@ -0,0 +1,61 @@ +# Generated from backend_simulator.pro. + +cmake_minimum_required(VERSION 3.14) +project(instrumentcluster_simulation LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/ivicore/qface-tutorial/chapter4-simulation-behavior") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS IviCore) + +qt_add_plugin(instrumentcluster_simulation) + +# IVI Generator: +qt6_ivigenerator(instrumentcluster_simulation + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT backend_simulator +) +set_target_properties(instrumentcluster_simulation PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_include_directories(instrumentcluster_simulation PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../frontend +) + +target_link_libraries(instrumentcluster_simulation PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/../ + Qt::Core + Qt::Gui + Qt::IviCore +) + + +# Resources: +set(simulation_resource_files + "simulation.qml" +) + +qt6_add_resources(instrumentcluster_simulation "simulation" + PREFIX + "/" + FILES + ${simulation_resource_files} +) + +install(TARGETS instrumentcluster_simulation + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/ivicore/qface-tutorial/chapter4-simulation-behavior/frontend/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter4-simulation-behavior/frontend/CMakeLists.txt index 6ee4d49..92b465b 100644 --- a/examples/ivicore/qface-tutorial/chapter4-simulation-behavior/frontend/CMakeLists.txt +++ b/examples/ivicore/qface-tutorial/chapter4-simulation-behavior/frontend/CMakeLists.txt @@ -21,6 +21,12 @@ find_package(Qt6 COMPONENTS IviCore) find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) +qt_add_executable(QtIviInstrumentCluster) + +# IVI Generator: +qt6_ivigenerator(QtIviInstrumentCluster + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT frontend ) set_target_properties(QtIviInstrumentCluster PROPERTIES WIN32_EXECUTABLE TRUE diff --git a/examples/ivicore/qface-tutorial/chapter4-simulation-behavior/imports/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter4-simulation-behavior/imports/CMakeLists.txt index 780e019..b55a4e8 100644 --- a/examples/ivicore/qface-tutorial/chapter4-simulation-behavior/imports/CMakeLists.txt +++ b/examples/ivicore/qface-tutorial/chapter4-simulation-behavior/imports/CMakeLists.txt @@ -1,7 +1,7 @@ # Generated from imports.pro. cmake_minimum_required(VERSION 3.14) -project(imports LANGUAGES CXX) +project(instrument_cluster_imports LANGUAGES CXX) # special case set(CMAKE_INCLUDE_CURRENT_DIR ON) @@ -19,23 +19,28 @@ find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) find_package(Qt6 COMPONENTS IviCore) + +# IVI Generator: +qt6_ivigenerator(instrument_cluster_imports # special case + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT qmlplugin ) -set_target_properties(imports PROPERTIES +set_target_properties(instrument_cluster_imports PROPERTIES # special case WIN32_EXECUTABLE TRUE MACOSX_BUNDLE TRUE ) -target_include_directories(imports PUBLIC +target_include_directories(instrument_cluster_imports PUBLIC # special case ${CMAKE_CURRENT_BINARY_DIR}/../frontend ) -target_link_libraries(imports PUBLIC +target_link_libraries(instrument_cluster_imports PUBLIC # special case # Remove: L${CMAKE_CURRENT_BINARY_DIR}/../ Qt::Core Qt::Gui Qt::IviCore ) -install(TARGETS imports +install(TARGETS instrument_cluster_imports # special case RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" diff --git a/examples/ivicore/qface-tutorial/chapter5-ipc/backend_qtro/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter5-ipc/backend_qtro/CMakeLists.txt index 80de93e..6171192 100644 --- a/examples/ivicore/qface-tutorial/chapter5-ipc/backend_qtro/CMakeLists.txt +++ b/examples/ivicore/qface-tutorial/chapter5-ipc/backend_qtro/CMakeLists.txt @@ -19,6 +19,12 @@ find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) find_package(Qt6 COMPONENTS IviCore) +qt_add_plugin(instrumentcluster_qtro) + +# IVI Generator: +qt6_ivigenerator(instrumentcluster_qtro + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT backend_qtro ) set_target_properties(instrumentcluster_qtro PROPERTIES WIN32_EXECUTABLE TRUE diff --git a/examples/ivicore/qface-tutorial/chapter5-ipc/backend_simulator/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter5-ipc/backend_simulator/CMakeLists.txt new file mode 100644 index 0000000..6db7b24 --- /dev/null +++ b/examples/ivicore/qface-tutorial/chapter5-ipc/backend_simulator/CMakeLists.txt @@ -0,0 +1,61 @@ +# Generated from backend_simulator.pro. + +cmake_minimum_required(VERSION 3.14) +project(instrumentcluster_simulation LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/ivicore/qface-tutorial/chapter5-ipc") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS IviCore) + +qt_add_plugin(instrumentcluster_simulation) + +# IVI Generator: +qt6_ivigenerator(instrumentcluster_simulation + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT backend_simulator +) +set_target_properties(instrumentcluster_simulation PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_include_directories(instrumentcluster_simulation PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../frontend +) + +target_link_libraries(instrumentcluster_simulation PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/../ + Qt::Core + Qt::Gui + Qt::IviCore +) + + +# Resources: +set(simulation_resource_files + "simulation.qml" +) + +qt6_add_resources(instrumentcluster_simulation "simulation" + PREFIX + "/" + FILES + ${simulation_resource_files} +) + +install(TARGETS instrumentcluster_simulation + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/ivicore/qface-tutorial/chapter5-ipc/frontend/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter5-ipc/frontend/CMakeLists.txt index 422563e..0927186 100644 --- a/examples/ivicore/qface-tutorial/chapter5-ipc/frontend/CMakeLists.txt +++ b/examples/ivicore/qface-tutorial/chapter5-ipc/frontend/CMakeLists.txt @@ -21,6 +21,12 @@ find_package(Qt6 COMPONENTS IviCore) find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) +qt_add_executable(QtIviInstrumentCluster) + +# IVI Generator: +qt6_ivigenerator(QtIviInstrumentCluster + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT frontend ) set_target_properties(QtIviInstrumentCluster PROPERTIES WIN32_EXECUTABLE TRUE diff --git a/examples/ivicore/qface-tutorial/chapter5-ipc/imports/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter5-ipc/imports/CMakeLists.txt index 03b4cc9..768b549 100644 --- a/examples/ivicore/qface-tutorial/chapter5-ipc/imports/CMakeLists.txt +++ b/examples/ivicore/qface-tutorial/chapter5-ipc/imports/CMakeLists.txt @@ -19,6 +19,11 @@ find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) find_package(Qt6 COMPONENTS IviCore) + +# IVI Generator: +qt6_ivigenerator(imports + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT qmlplugin ) set_target_properties(imports PROPERTIES WIN32_EXECUTABLE TRUE diff --git a/examples/ivicore/qface-tutorial/chapter5-ipc/simulation_server/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter5-ipc/simulation_server/CMakeLists.txt new file mode 100644 index 0000000..15105dc --- /dev/null +++ b/examples/ivicore/qface-tutorial/chapter5-ipc/simulation_server/CMakeLists.txt @@ -0,0 +1,65 @@ +# Generated from simulation_server.pro. + +cmake_minimum_required(VERSION 3.14) +project(chapter5-ipc-server LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/ivicore/qface-tutorial/chapter5-ipc/simulation_server") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS IviCore) + +qt_add_executable(chapter5-ipc-server) + +# IVI Generator: +qt6_ivigenerator(chapter5-ipc-server + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT server_qtro_simulator +) +set_target_properties(chapter5-ipc-server PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE FALSE +) +target_include_directories(chapter5-ipc-server PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../frontend +) + +target_link_libraries(chapter5-ipc-server PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/../ + # Remove: gui + Qt::Core + Qt::IviCore +) + + +# Resources: +set_source_files_properties("../backend_simulator/simulation.qml" + PROPERTIES QT_RESOURCE_ALIAS "simulation.qml" +) +set(simulation_resource_files + "simulation.qml" +) + +qt6_add_resources(chapter5-ipc-server "simulation" + PREFIX + "/" + BASE + "../backend_simulator" + FILES + ${simulation_resource_files} +) + +install(TARGETS chapter5-ipc-server + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/ivicore/qface-tutorial/chapter6-own-backend/backend_simulator/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter6-own-backend/backend_simulator/CMakeLists.txt new file mode 100644 index 0000000..e3227a0 --- /dev/null +++ b/examples/ivicore/qface-tutorial/chapter6-own-backend/backend_simulator/CMakeLists.txt @@ -0,0 +1,61 @@ +# Generated from backend_simulator.pro. + +cmake_minimum_required(VERSION 3.14) +project(instrumentcluster_simulation LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/ivicore/qface-tutorial/chapter6-own-backend") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS IviCore) + +qt_add_plugin(instrumentcluster_simulation) + +# IVI Generator: +qt6_ivigenerator(instrumentcluster_simulation + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT backend_simulator +) +set_target_properties(instrumentcluster_simulation PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_include_directories(instrumentcluster_simulation PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../frontend +) + +target_link_libraries(instrumentcluster_simulation PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/../ + Qt::Core + Qt::Gui + Qt::IviCore +) + + +# Resources: +set(simulation_resource_files + "simulation.qml" +) + +qt6_add_resources(instrumentcluster_simulation "simulation" + PREFIX + "/" + FILES + ${simulation_resource_files} +) + +install(TARGETS instrumentcluster_simulation + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/ivicore/qface-tutorial/chapter6-own-backend/frontend/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter6-own-backend/frontend/CMakeLists.txt index 6ca6d2a..2b0fc93 100644 --- a/examples/ivicore/qface-tutorial/chapter6-own-backend/frontend/CMakeLists.txt +++ b/examples/ivicore/qface-tutorial/chapter6-own-backend/frontend/CMakeLists.txt @@ -21,6 +21,12 @@ find_package(Qt6 COMPONENTS IviCore) find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) +qt_add_executable(QtIviInstrumentCluster) + +# IVI Generator: +qt6_ivigenerator(QtIviInstrumentCluster + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT frontend ) set_target_properties(QtIviInstrumentCluster PROPERTIES WIN32_EXECUTABLE TRUE diff --git a/examples/ivicore/qface-tutorial/chapter6-own-backend/imports/CMakeLists.txt b/examples/ivicore/qface-tutorial/chapter6-own-backend/imports/CMakeLists.txt index b19a870..9723bd9 100644 --- a/examples/ivicore/qface-tutorial/chapter6-own-backend/imports/CMakeLists.txt +++ b/examples/ivicore/qface-tutorial/chapter6-own-backend/imports/CMakeLists.txt @@ -19,6 +19,11 @@ find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) find_package(Qt6 COMPONENTS IviCore) + +# IVI Generator: +qt6_ivigenerator(imports + QFACE_SOURCES ../instrument-cluster.qface + QFACE_FORMAT qmlplugin ) set_target_properties(imports PROPERTIES WIN32_EXECUTABLE TRUE diff --git a/examples/ivivehiclefunctions/climate_widget/CMakeLists.txt b/examples/ivivehiclefunctions/climate_widget/CMakeLists.txt index e7eb371..0e1e124 100644 --- a/examples/ivivehiclefunctions/climate_widget/CMakeLists.txt +++ b/examples/ivivehiclefunctions/climate_widget/CMakeLists.txt @@ -18,6 +18,7 @@ set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/ivivehiclefunctions/climate_widge find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) find_package(Qt6 COMPONENTS IviCore) +find_package(Qt6 COMPONENTS IviVehicleFunctions) qt_add_executable(climate_widget main.cpp @@ -31,7 +32,7 @@ target_link_libraries(climate_widget PUBLIC Qt::Core Qt::Gui Qt::IviCore - ivivehiclefunctions + Qt::IviVehicleFunctions ) if((QT_MAJOR_VERSION GREATER 4)) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 23fbafd..636fb71 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,6 +1,7 @@ # Generated from src.pro. qt_feature_evaluate_features("${CMAKE_CURRENT_SOURCE_DIR}/ivicore/configure.cmake") # special case +qt_feature_evaluate_features("${CMAKE_CURRENT_SOURCE_DIR}/ivivehiclefunctions/configure.cmake") # special case qt_feature_evaluate_features("${CMAKE_CURRENT_SOURCE_DIR}/ivimedia/configure.cmake") # special case qt_feature_evaluate_features("${CMAKE_CURRENT_SOURCE_DIR}/geniviextras/configure.cmake") # special case diff --git a/src/imports/CMakeLists.gen.txt b/src/imports/CMakeLists.gen.txt new file mode 100644 index 0000000..343d24d --- /dev/null +++ b/src/imports/CMakeLists.gen.txt @@ -0,0 +1,11 @@ +# Generated from imports.pro. + +if(TARGET Qt::IviCore) + add_subdirectory(core) +endif() +if(TARGET Qt::IviMedia) + add_subdirectory(media) +endif() +if(TARGET Qt::IviVehicleFunctions) + add_subdirectory(vehiclefunctions) +endif() diff --git a/src/imports/CMakeLists.txt b/src/imports/CMakeLists.txt index a3e937e..046b6ad 100644 --- a/src/imports/CMakeLists.txt +++ b/src/imports/CMakeLists.txt @@ -6,6 +6,6 @@ endif() if(TARGET Qt::IviMedia) add_subdirectory(media) endif() -if(TARGET ivivehiclefunctions) +if(TARGET Qt::IviVehicleFunctions) # special case add_subdirectory(vehiclefunctions) endif() diff --git a/src/imports/vehiclefunctions/CMakeLists.txt b/src/imports/vehiclefunctions/CMakeLists.txt new file mode 100644 index 0000000..d5a7c70 --- /dev/null +++ b/src/imports/vehiclefunctions/CMakeLists.txt @@ -0,0 +1,36 @@ +# Generated from vehiclefunctions.pro. + +##################################################################### +## vehiclefunctions Plugin: +##################################################################### + +# IVI Generator: +qt_ivigenerator(qtivivehiclefunctionsplugin + QFACE_SOURCES ../../ivivehiclefunctions/ivivehiclefunctions.qface + QFACE_FORMAT qmlplugin + QFACE_MODULE_NAME QtIviVehicleFunctions +) + +# special case begin +target_link_libraries(qtivivehiclefunctionsplugin PUBLIC + Qt::IviCore + Qt::IviVehicleFunctions +) +# special case end + +#### Keys ignored in scope 1:.:.:vehiclefunctions.pro:<TRUE>: +# CXX_MODULE = "qml" +# QML_IMPORT_VERSION = "1.0" +# QT_FOR_CONFIG = "ivicore" +# TARGETPATH = "$$replace(URI, \\., /)" +# qml2build.files = "-$$_PRO_FILE_PWD_/qmldir" "-$$_PRO_FILE_PWD_/plugins.qmltypes" +# qmldir2build.files = "-$$_PRO_FILE_PWD_/qmldir" "-$$_PRO_FILE_PWD_/plugins.qmltypes" + +## Scopes: +##################################################################### + +#### Keys ignored in scope 3:.:.:vehiclefunctions.pro:NOT PWD___equals____ss_OUT_PWD: +# qmldir.base = <EMPTY> +# qmldir.files = "-$$_PRO_FILE_PWD_/qmldir" +# qmlfiles.base = <EMPTY> +# qmlfiles.files = "-$$_PRO_FILE_PWD_/qmldir" diff --git a/src/ivicore/CMakeLists.txt b/src/ivicore/CMakeLists.txt index 01e55f7..d6d7aed 100644 --- a/src/ivicore/CMakeLists.txt +++ b/src/ivicore/CMakeLists.txt @@ -39,6 +39,9 @@ qt_add_module(IviCore PRIVATE_MODULE_INTERFACE Qt::CorePrivate Qt::QmlPrivate + EXTRA_CMAKE_FILES + Qt6IviCoreConfigExtras.cmake.in + Qt6IviCoreMacros.cmake ) #### Keys ignored in scope 1:.:.:ivicore.pro:<TRUE>: diff --git a/src/ivicore/Qt6IviCoreConfigExtras.cmake.in b/src/ivicore/Qt6IviCoreConfigExtras.cmake.in new file mode 100644 index 0000000..057a591 --- /dev/null +++ b/src/ivicore/Qt6IviCoreConfigExtras.cmake.in @@ -0,0 +1,3 @@ + +# install layout information, following what qmake -query provides +get_filename_component(QTIVI_INSTALL_PREFIX ${CMAKE_CURRENT_LIST_DIR}/../../../ ABSOLUTE) diff --git a/src/ivicore/Qt6IviCoreMacros.cmake b/src/ivicore/Qt6IviCoreMacros.cmake new file mode 100644 index 0000000..5101501 --- /dev/null +++ b/src/ivicore/Qt6IviCoreMacros.cmake @@ -0,0 +1,199 @@ +function(qt6_ivigenerator target) + qt6_ivigenerator_generate(${ARGN}) + qt6_ivigenerator_include(${target} ${ARGN}) +endfunction() + +if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS) + function(qt_ivigenerator) + qt6_ivigenerator(${ARGV}) + endfunction() +endif() + +macro(internal_resolve_ivigenerator_path) + if (DEFINED QtIvi_BINARY_DIR AND (NOT DEFINED QT_BUILD_STANDALONE_TESTS)) + set (VIRTUALENV ${QtIvi_BINARY_DIR}/src/tools/ivigenerator/qtivi_qface_virtualenv) + set (GENERATOR_PATH ${QtIvi_SOURCE_DIR}/src/tools/ivigenerator) + set (IVIGENERATOR_CONFIG ${QtIvi_BINARY_DIR}/src/tools/ivigenerator/.config) + else() + set (GENERATOR_PATH ${QTIVI_INSTALL_PREFIX}/${QT6_INSTALL_BINS}/ivigenerator) + set (VIRTUALENV ${GENERATOR_PATH}/qtivi_qface_virtualenv) + endif() +endmacro() + +function(qt6_ivigenerator_generate) + internal_resolve_ivigenerator_path() + + if (NOT EXISTS ${VIRTUALENV}/bin/activate AND NOT EXISTS ${VIRTUALENV}/Scripts/activate.bat) + return() + endif() + + cmake_parse_arguments( + PARSE_ARGV 0 + ARG + "" "QFACE_FORMAT;QFACE_OUTPUT_DIR;QFACE_SOURCES;QFACE_HEADERS_OUTPUT_DIR" "QFACE_ANNOTATIONS;QFACE_IMPORT_PATH" + ) + + if (DEFINED ARG_KEYWORDS_MISSING_VALUES) + message(FATAL_ERROR "Keywords can't be empty: ${ARG_KEYWORDS_MISSING_VALUES}") + endif() + + if (NOT DEFINED ARG_QFACE_FORMAT) + set(ARG_QFACE_FORMAT frontend) + endif() + set(QFACE_OUTPUT_DIR ${ARG_QFACE_OUTPUT_DIR}) + if (NOT DEFINED ARG_QFACE_OUTPUT_DIR) + set(QFACE_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}) + endif() + if (NOT DEFINED ARG_QFACE_SOURCES) + message(FATAL_ERROR "QFACE_SOURCES can't be empty") + endif() + get_filename_component(QFACE_SOURCES "${ARG_QFACE_SOURCES}" REALPATH BASE_DIR) + get_filename_component(QFACE_SOURCE_DIR "${ARG_QFACE_SOURCES}" DIRECTORY) + get_filename_component(QFACE_BASE_NAME "${ARG_QFACE_SOURCES}" NAME_WLE) + get_filename_component(QFACE_SOURCE_ANNOTATION ${QFACE_SOURCE_DIR}/${QFACE_BASE_NAME}.yaml REALPATH BASE_DIR) + + set(QFACE_TEMPLATE_PWD "${GENERATOR_PATH}/templates/${ARG_QFACE_FORMAT}") + if(EXISTS ${QFACE_TEMPLATE_PWD}) + set(FORMAT_PATH ${QFACE_TEMPLATE_PWD}) + set(QFACE_FORMAT ${ARG_QFACE_FORMAT}) + else() + get_filename_component(FORMAT_PATH "${ARG_QFACE_FORMAT}" REALPATH) + if(EXISTS ${FORMAT_PATH}) + set(QFACE_FORMAT ${FORMAT_PATH}) + endif() + endif() + if (NOT DEFINED QFACE_FORMAT) + message(FATAL_ERROR "Invalid QFACE_FORMAT: Couldn't find the template folder: ${FORMAT_PATH}") + endif() + + # Register all source files to cause a cmake rerun + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${QFACE_SOURCES}) + if (EXISTS ${QFACE_SOURCE_ANNOTATION}) + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${QFACE_SOURCE_ANNOTATION}) + endif() + # Also register all files which are part of the current template + file(GLOB FORMAT_FILES ${FORMAT_PATH}/*) + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${FORMAT_FILES}) + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${FORMAT_PATH}.yaml) + # Most templates also have a dependency to a common folder + file(GLOB COMMON_FORMAT_FILES ${GENERATOR_PATH}/templates/*common*/*) + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${COMMON_FORMAT_FILES}) + + set(GENERATOR_ARGUMENTS --format=${QFACE_FORMAT} --force) + foreach(ANNOTATION ${ARG_QFACE_ANNOTATIONS}) + get_filename_component(ANNOTATION_PATH "${ANNOTATION}" REALPATH BASE_DIR) + list(APPEND GENERATOR_ARGUMENTS -A ${ANNOTATION_PATH}) + # Dependency for regeneration + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${ANNOTATION_PATH}) + endforeach() + + foreach(IMPORT ${ARG_QFACE_IMPORT_PATH}) + get_filename_component(IMPORT_PATH "${IMPORT}" REALPATH BASE_DIR) + list(APPEND GENERATOR_ARGUMENTS -I ${IMPORT_PATH}) + # Dependency for regeneration + file(GLOB QFACE_FILES ${IMPORT_PATH}/*.qface) + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${QFACE_FILES}) + endforeach() + + # If the generator was run successfully before + # Check for the timestamps to determine when to run it again. + # TODO, this needs to be extended to also include template and yaml changes + if (${QFACE_SOURCES} IS_NEWER_THAN ${QFACE_OUTPUT_DIR}/.stamp-ivigenerator) + # TODO How to best unset those again afterwards ? + # Use cmake -E slee + cmake -E env COMMAND instead ? + #equals(QMAKE_HOST.os, Windows): ENV = chcp 65001 && + if ("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows") + set(PYTHON_EXECUTABLE ${VIRTUALENV}/Scripts/python.exe) + file(TO_NATIVE_PATH "${VIRTUALENV}" VIRTUALENV) + else() + set(PYTHON_EXECUTABLE ${VIRTUALENV}/bin/python) + set(ENV{LC_ALL} en_US.UTF-8) + set(ENV{LD_LIBRARY_PATH} ${VIRTUALENV}/bin) + endif() + if (DEFINED IVIGENERATOR_CONFIG) + set(ENV{IVIGENERATOR_CONFIG} ${IVIGENERATOR_CONFIG}) + endif() + set(ENV{PYTHONHOME} ${VIRTUALENV}) + set(ENV{VIRTUAL_ENV} ${VIRTUALENV}) + + message(STATUS "Running ivigenerator for ${QFACE_SOURCES}") + execute_process( + COMMAND ${PYTHON_EXECUTABLE} + ${GENERATOR_PATH}/generate.py + ${GENERATOR_ARGUMENTS} + ${QFACE_SOURCES} + ${QFACE_OUTPUT_DIR} + RESULT_VARIABLE RET_CODE + OUTPUT_VARIABLE GENERATOR_LOG + ERROR_VARIABLE GENERATOR_LOG + COMMAND_ECHO STDOUT + ) + message("${GENERATOR_LOG}") + + # Touch the stamp file if the generator run was successful + if("${RET_CODE}" EQUAL "0") + execute_process(COMMAND ${CMAKE_COMMAND} -E touch ${QFACE_OUTPUT_DIR}/.stamp-ivigenerator) + else() + message(FATAL_ERROR "Error while running the ivigenerator") + endif() + endif() + + # hack for the developer-build to have all headers where the Qt build expects them + if (DEFINED ARG_QFACE_HEADERS_OUTPUT_DIR) + file(GLOB HEADER_FILES ${QFACE_OUTPUT_DIR}/*.h) + file(COPY ${HEADER_FILES} DESTINATION ${ARG_QFACE_HEADERS_OUTPUT_DIR}) + endif() + +endfunction() + +if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS) + function(qt_ivigenerator_generate) + qt6_ivigenerator_generate(${ARGV}) + endfunction() +endif() + +function(qt6_ivigenerator_include target) + internal_resolve_ivigenerator_path() + + if (NOT EXISTS ${VIRTUALENV}/bin/activate AND NOT EXISTS ${VIRTUALENV}/Scripts/activate.bat) + # Create a dummy target instead + if (NOT TARGET ${target} AND NOT TEST ${target}) + if (DEFINED QtIvi_BINARY_DIR) + file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/cmake_dummy.cpp) + add_library(${target} ${CMAKE_CURRENT_BINARY_DIR}/cmake_dummy.cpp) + else() + message(FATAL_ERROR "No virtualenv environment to run the ivigenerator") + endif() + endif() + return() + endif() + + cmake_parse_arguments( + PARSE_ARGV 1 + ARG + "" "QFACE_SOURCES;QFACE_OUTPUT_DIR" "" + ) + + if (DEFINED ARG_KEYWORDS_MISSING_VALUES) + message(FATAL_ERROR "Keywords can't be empty: ${ARG_KEYWORDS_MISSING_VALUES}") + endif() + + set(QFACE_OUTPUT_DIR ${ARG_QFACE_OUTPUT_DIR}) + if (NOT DEFINED ARG_QFACE_OUTPUT_DIR) + set(QFACE_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}) + endif() + if (NOT DEFINED ARG_QFACE_SOURCES) + message(FATAL_ERROR "QFACE_SOURCES can't be empty") + endif() + get_filename_component(QFACE_SOURCES "${ARG_QFACE_SOURCES}" REALPATH BASE_DIR) + get_filename_component(QFACE_BASE_NAME "${ARG_QFACE_SOURCES}" NAME_WLE) + + set(CURRENT_TARGET "${target}") + include(${QFACE_OUTPUT_DIR}/${QFACE_BASE_NAME}.cmake) +endfunction() + +if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS) + function(qt_ivigenerator_include) + qt6_ivigenerator_include(${ARGV}) + endfunction() +endif() diff --git a/src/ivivehiclefunctions/CMakeLists.txt b/src/ivivehiclefunctions/CMakeLists.txt index 6ab20cc..4541cb1 100644 --- a/src/ivivehiclefunctions/CMakeLists.txt +++ b/src/ivivehiclefunctions/CMakeLists.txt @@ -1,22 +1,39 @@ # Generated from ivivehiclefunctions.pro. +# special case begin ##################################################################### -## QtIviVehicleFunctions Binary: +## IviVehicleFunctions Module: ##################################################################### -qt_add_executable(QtIviVehicleFunctions - GUI - PUBLIC_LIBRARIES +qt_ivigenerator_generate( + QFACE_SOURCES ivivehiclefunctions.qface + QFACE_FORMAT frontend + QFACE_MODULE_NAME QtIviVehicleFunctions + QFACE_HEADERS_OUTPUT_DIR ${QT_BUILD_DIR}/src/ivivehiclefunctions +) +make_directory(${QT_BUILD_DIR}/src/ivivehiclefunctions) + +qt_add_module(IviVehicleFunctions + LIBRARIES Qt::CorePrivate + Qt::IviCorePrivate + PUBLIC_LIBRARIES + Qt::Core Qt::IviCore + PRIVATE_MODULE_INTERFACE + Qt::CorePrivate Qt::IviCorePrivate ) +qt_ivigenerator_include(IviVehicleFunctions + QFACE_SOURCES ivivehiclefunctions.qface +) + +# special case end + #### Keys ignored in scope 1:.:.:ivivehiclefunctions.pro:<TRUE>: # CMAKE_MODULE_TESTS = "'-'" # OTHER_FILES = "$$PWD/doc/*.qdocconf" "$$PWD/doc/src/*.qdoc" "$$PWD/doc/snippets/*" "$$PWD/doc/images/*" -# QFACE_MODULE_NAME = "QtIviVehicleFunctions" -# QFACE_SOURCES = "ivivehiclefunctions.qface" # QT_FOR_CONFIG = "ivicore" ## Scopes: diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt index f2dbb2d..810c302 100644 --- a/src/plugins/CMakeLists.txt +++ b/src/plugins/CMakeLists.txt @@ -3,6 +3,6 @@ if(TARGET Qt::IviMedia) add_subdirectory(ivimedia) endif() -if(TARGET ivivehiclefunctions) +if(TARGET Qt::IviVehicleFunctions) add_subdirectory(ivivehiclefunctions) endif() diff --git a/src/plugins/ivivehiclefunctions/vehiclefunctions_qtro/CMakeLists.txt b/src/plugins/ivivehiclefunctions/vehiclefunctions_qtro/CMakeLists.txt index c97f629..71a3091 100644 --- a/src/plugins/ivivehiclefunctions/vehiclefunctions_qtro/CMakeLists.txt +++ b/src/plugins/ivivehiclefunctions/vehiclefunctions_qtro/CMakeLists.txt @@ -10,12 +10,16 @@ qt_internal_add_plugin(QtIviVehicleFunctionsQtROPlugin PUBLIC_LIBRARIES Qt::Core Qt::IviCore - ivivehiclefunctions + Qt::IviVehicleFunctions +) + +# IVI Generator: +qt_ivigenerator(QtIviVehicleFunctionsQtROPlugin + QFACE_SOURCES ../../../ivivehiclefunctions/ivivehiclefunctions.qface + QFACE_FORMAT backend_qtro + QFACE_MODULE_NAME QtIviVehicleFunctions ) #### Keys ignored in scope 1:.:.:vehiclefunctions_qtro.pro:<TRUE>: # CMAKE_MODULE_TESTS = "'-'" # PLUGIN_EXTENDS = "ivivehiclefunctions" -# QFACE_FORMAT = "backend_qtro" -# QFACE_MODULE_NAME = "QtIviVehicleFunctions" -# QFACE_SOURCES = "../../../ivivehiclefunctions/ivivehiclefunctions.qface" diff --git a/src/plugins/ivivehiclefunctions/vehiclefunctions_simulator/CMakeLists.txt b/src/plugins/ivivehiclefunctions/vehiclefunctions_simulator/CMakeLists.txt index 71ab87d..58c98a0 100644 --- a/src/plugins/ivivehiclefunctions/vehiclefunctions_simulator/CMakeLists.txt +++ b/src/plugins/ivivehiclefunctions/vehiclefunctions_simulator/CMakeLists.txt @@ -10,7 +10,7 @@ qt_internal_add_plugin(QtIviVehicleFunctionsSimulatorPlugin PUBLIC_LIBRARIES Qt::Core Qt::IviCore - ivivehiclefunctions + Qt::IviVehicleFunctions ) # Resources: @@ -27,10 +27,14 @@ qt_internal_add_resource(QtIviVehicleFunctionsSimulatorPlugin "qml" ) +# IVI Generator: +qt_ivigenerator(QtIviVehicleFunctionsSimulatorPlugin + QFACE_SOURCES ../../../ivivehiclefunctions/ivivehiclefunctions.qface + QFACE_FORMAT backend_simulator + QFACE_MODULE_NAME QtIviVehicleFunctions +) + #### Keys ignored in scope 1:.:.:vehiclefunctions_simulator.pro:<TRUE>: # CMAKE_MODULE_TESTS = "'-'" # PLUGIN_EXTENDS = "ivivehiclefunctions" -# QFACE_FORMAT = "backend_simulator" -# QFACE_MODULE_NAME = "QtIviVehicleFunctions" -# QFACE_SOURCES = "../../../ivivehiclefunctions/ivivehiclefunctions.qface" # QML_IMPORT_PATH = "$$OUT_PWD/qml" diff --git a/src/tools/ivigenerator/templates/backend_qtro.yaml b/src/tools/ivigenerator/templates/backend_qtro.yaml index 795d781..0d0fbff 100644 --- a/src/tools/ivigenerator/templates/backend_qtro.yaml +++ b/src/tools/ivigenerator/templates/backend_qtro.yaml @@ -5,6 +5,7 @@ backend_qtro: - "{{module.module_name|lower}}qtroplugin.cpp": "plugin.cpp.tpl" - "{{module.module_name|lower}}.json": "plugin.json" - "{{srcBase|lower}}.pri": "plugin.pri.tpl" + - '{{srcBase|lower}}.cmake': 'CMakeLists.txt.tpl' interface: documents: - '{{interface|lower}}backend.h': 'backend.h.tpl' diff --git a/src/tools/ivigenerator/templates/backend_qtro/CMakeLists.txt.tpl b/src/tools/ivigenerator/templates/backend_qtro/CMakeLists.txt.tpl new file mode 100644 index 0000000..f72276c --- /dev/null +++ b/src/tools/ivigenerator/templates/backend_qtro/CMakeLists.txt.tpl @@ -0,0 +1,19 @@ +find_package(Qt6 COMPONENTS RemoteObjects IviRemoteObjectsHelper) + +target_sources(${CURRENT_TARGET} + PRIVATE +{% for interface in module.interfaces %} + {{interface|lower}}backend.cpp +{% endfor %} + {{module.module_name|lower}}qtroplugin.cpp +) + +qt_add_repc_replica(${CURRENT_TARGET} +{% for interface in module.interfaces %} + {{interface|lower}}.rep +{% endfor %} +) + +### MISSING +# OTHER_FILES += \ +# $$PWD/{{module.module_name|lower}}.json diff --git a/src/tools/ivigenerator/templates/backend_simulator.yaml b/src/tools/ivigenerator/templates/backend_simulator.yaml index bf8dad7..e1a75d2 100644 --- a/src/tools/ivigenerator/templates/backend_simulator.yaml +++ b/src/tools/ivigenerator/templates/backend_simulator.yaml @@ -8,6 +8,7 @@ backend_simulator: - "{{module.module_name|lower}}_simulation_data.json": "common/simulation_data.json.tpl" - "{{module.module_name|lower}}_simulation.qrc": "common/simulation.qrc.tpl" - "{{srcBase|lower}}.pri": "plugin.pri.tpl" + - '{{srcBase|lower}}.cmake': 'CMakeLists.txt.tpl' - "qml/{{module|qml_type|replace('.', '/')}}/simulation/plugins.qmltypes": "common/simulation.qmltypes.tpl" - "qml/{{module|qml_type|replace('.', '/')}}/simulation/qmldir": "common/qmldir.tpl" - "qml/{{module|qml_type|replace('.', '/')}}/plugins.qmltypes": "common/plugins.qmltypes.tpl" diff --git a/src/tools/ivigenerator/templates/backend_simulator/CMakeLists.txt.tpl b/src/tools/ivigenerator/templates/backend_simulator/CMakeLists.txt.tpl new file mode 100644 index 0000000..843a3f4 --- /dev/null +++ b/src/tools/ivigenerator/templates/backend_simulator/CMakeLists.txt.tpl @@ -0,0 +1,13 @@ +target_sources(${CURRENT_TARGET} + PRIVATE +{% for interface in module.interfaces %} + {{interface|lower}}backend.cpp +{% endfor %} + {{module.module_name|lower}}simulatorplugin.cpp + {{module.module_name|lower}}_simulation.qrc +) + +### MISSING +# OTHER_FILES += \ +# $$PWD/{{module.module_name|lower}}.json \ +# $$PWD/{{module.module_name|lower}}_simulation_data.json diff --git a/src/tools/ivigenerator/templates/backend_simulator/plugin.pri.tpl b/src/tools/ivigenerator/templates/backend_simulator/plugin.pri.tpl index 84dbe37..62a76b2 100644 --- a/src/tools/ivigenerator/templates/backend_simulator/plugin.pri.tpl +++ b/src/tools/ivigenerator/templates/backend_simulator/plugin.pri.tpl @@ -42,10 +42,6 @@ ## Do not edit! All changes made to it will be lost. ############################################################################# -{% if 'simulator' in features %} -QT += simulator -{% endif %} - HEADERS += \ {% for interface in module.interfaces %} $$PWD/{{interface|lower}}backend.h \ diff --git a/src/tools/ivigenerator/templates/frontend.yaml b/src/tools/ivigenerator/templates/frontend.yaml index 7aec967..7323d32 100644 --- a/src/tools/ivigenerator/templates/frontend.yaml +++ b/src/tools/ivigenerator/templates/frontend.yaml @@ -8,6 +8,7 @@ frontend: - '{{module.module_name|lower}}modulefactory.h': 'modulefactory.h.tpl' - '{{module.module_name|lower}}modulefactory.cpp': 'modulefactory.cpp.tpl' - '{{srcBase|lower}}.pri': 'module.pri.tpl' + - '{{srcBase|lower}}.cmake': 'CMakeLists.txt.tpl' - 'qml/{{module|qml_type|replace(".", "/")}}/plugins.qmltypes': 'common/plugins.qmltypes.tpl' - "qml/{{module|qml_type|replace('.', '/')}}/designer/{{module.module_name|lower}}.metainfo": "common/designer.metainfo.tpl" - 'qml/{{module|qml_type|replace(".", "/")}}/qmldir': 'common/qmldir.tpl' diff --git a/src/tools/ivigenerator/templates/frontend/CMakeLists.txt.tpl b/src/tools/ivigenerator/templates/frontend/CMakeLists.txt.tpl new file mode 100644 index 0000000..4f39367 --- /dev/null +++ b/src/tools/ivigenerator/templates/frontend/CMakeLists.txt.tpl @@ -0,0 +1,14 @@ +target_compile_definitions(${CURRENT_TARGET} PRIVATE QT_BUILD_{{module|upper|replace('.', '_')|strip_QT}}_LIB) + +target_sources(${CURRENT_TARGET} + PRIVATE +{% for interface in module.interfaces %} + {{interface|lower}}.cpp + {{interface|lower}}backendinterface.cpp +{% endfor %} +{% for struct in module.structs %} + {{struct|lower}}.cpp +{% endfor %} + {{module.module_name|lower}}module.cpp + {{module.module_name|lower}}modulefactory.cpp +) diff --git a/src/tools/ivigenerator/templates/qmlplugin.yaml b/src/tools/ivigenerator/templates/qmlplugin.yaml index 368b4c1..e64398c 100644 --- a/src/tools/ivigenerator/templates/qmlplugin.yaml +++ b/src/tools/ivigenerator/templates/qmlplugin.yaml @@ -3,6 +3,7 @@ qmlplugin: documents: - "plugin.cpp": "plugin.cpp.tpl" - "{{srcBase|lower}}.pri": "module.pri.tpl" + - '{{srcBase|lower}}.cmake': 'CMakeLists.txt.tpl' - "plugins.qmltypes": "common/plugins.qmltypes.tpl" - "designer/{{module.module_name|lower}}.metainfo": "common/designer.metainfo.tpl" - "qmldir": "qmldir_plugin.tpl" diff --git a/src/tools/ivigenerator/templates/qmlplugin/CMakeLists.txt.tpl b/src/tools/ivigenerator/templates/qmlplugin/CMakeLists.txt.tpl new file mode 100644 index 0000000..435b92a --- /dev/null +++ b/src/tools/ivigenerator/templates/qmlplugin/CMakeLists.txt.tpl @@ -0,0 +1,33 @@ +# TODO We probably dont' need this template at all in the cmake case +# Keep it until the templates have been adapted and everything can be done without autogenerating + +if (NOT TARGET ${CURRENT_TARGET}) + qt_add_qml_module(${CURRENT_TARGET} + URI "{{module|qml_type}}" + VERSION "{{module.majorVersion}}.{{module.minorVersion}}" + SKIP_TYPE_REGISTRATION + # TODO remove this again + # This is needed to make the test build work as it would create duplicate qmldir entries + # in the global qml folder + OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + PUBLIC_LIBRARIES + Qt::IviCore + SOURCES + plugin.cpp + ) +else() + target_sources(${CURRENT_TARGET} + PRIVATE + plugin.cpp + ) +endif() + +#set_target_properties(${CURRENT_TARGET} PROPERTIES +# QT_QML_MODULE_VERSION {{module.majorVersion}}.{{module.minorVersion}} +# QT_QML_MODULE_URI {{module|qml_type}} +# QT_QMLTYPES_FILENAME plugins.qmltypes +#) + +### MISSING +# AUX_QML_FILES += $$PWD/qmldir \ +# $$PWD/designer/{{module.module_name|lower}}.metainfo diff --git a/src/tools/ivigenerator/templates/server_qtro.yaml b/src/tools/ivigenerator/templates/server_qtro.yaml index 0c8024e..f397468 100644 --- a/src/tools/ivigenerator/templates/server_qtro.yaml +++ b/src/tools/ivigenerator/templates/server_qtro.yaml @@ -4,6 +4,7 @@ server_qtro: - "core.cpp": "core.cpp.tpl" - "core.h": "core.h.tpl" - "{{srcBase|lower}}.pri": "server.pri.tpl" + - '{{srcBase|lower}}.cmake': 'CMakeLists.txt.tpl' interface: documents: - "{{interface|lower}}.rep": "common/interface.rep.tpl" diff --git a/src/tools/ivigenerator/templates/server_qtro/CMakeLists.txt.tpl b/src/tools/ivigenerator/templates/server_qtro/CMakeLists.txt.tpl new file mode 100644 index 0000000..963d7aa --- /dev/null +++ b/src/tools/ivigenerator/templates/server_qtro/CMakeLists.txt.tpl @@ -0,0 +1,13 @@ +find_package(Qt6 COMPONENTS RemoteObjects) + +target_sources(${CURRENT_TARGET} + PRIVATE + core.cpp +) + +qt_add_repc_source(${CURRENT_TARGET} +{% for interface in module.interfaces %} + {{interface|lower}}.rep +{% endfor %} +) + diff --git a/src/tools/ivigenerator/templates/server_qtro_simulator.yaml b/src/tools/ivigenerator/templates/server_qtro_simulator.yaml index 5563460..5a8dabe 100644 --- a/src/tools/ivigenerator/templates/server_qtro_simulator.yaml +++ b/src/tools/ivigenerator/templates/server_qtro_simulator.yaml @@ -4,6 +4,7 @@ server_qtro_simulator: - "core.cpp": "core.cpp.tpl" - "core.h": "core.h.tpl" - "{{srcBase|lower}}.pri": "server.pri.tpl" + - '{{srcBase|lower}}.cmake': 'CMakeLists.txt.tpl' - "main.cpp": "main.cpp.tpl" - "{{module.module_name|lower}}_simulation.qml": "common/module_simulation.qml.tpl" - "{{module.module_name|lower}}_simulation_data.json": "common/simulation_data.json.tpl" diff --git a/src/tools/ivigenerator/templates/server_qtro_simulator/CMakeLists.txt.tpl b/src/tools/ivigenerator/templates/server_qtro_simulator/CMakeLists.txt.tpl new file mode 100644 index 0000000..7398ad1 --- /dev/null +++ b/src/tools/ivigenerator/templates/server_qtro_simulator/CMakeLists.txt.tpl @@ -0,0 +1,23 @@ +find_package(Qt6 COMPONENTS RemoteObjects IviRemoteObjectsHelper) + +target_sources(${CURRENT_TARGET} + PRIVATE +{% for interface in module.interfaces %} + {{interface|lower}}backend.cpp + {{interface|lower}}adapter.cpp +{% endfor %} + core.cpp + main.cpp + {{module.module_name|lower}}_simulation.qrc +) + +qt_add_repc_source(${CURRENT_TARGET} +{% for interface in module.interfaces %} + {{interface|lower}}.rep +{% endfor %} +) + +### MISSING +# OTHER_FILES += \ +# $$PWD/{{module.module_name|lower}}.json \ +# $$PWD/{{module.module_name|lower}}_simulation_data.json diff --git a/src/tools/ivigenerator/templates/test.yaml b/src/tools/ivigenerator/templates/test.yaml index fbd2801..70bec2d 100644 --- a/src/tools/ivigenerator/templates/test.yaml +++ b/src/tools/ivigenerator/templates/test.yaml @@ -2,6 +2,7 @@ test: module: documents: - "{{srcBase|lower}}.pri": "module.pri.tpl" + - '{{srcBase|lower}}.cmake': 'CMakeLists.txt.tpl' - 'main.cpp': 'main.cpp.tpl' interface: documents: diff --git a/src/tools/ivigenerator/templates/test/CMakeLists.txt.tpl b/src/tools/ivigenerator/templates/test/CMakeLists.txt.tpl new file mode 100644 index 0000000..4348529 --- /dev/null +++ b/src/tools/ivigenerator/templates/test/CMakeLists.txt.tpl @@ -0,0 +1,7 @@ +target_sources(${CURRENT_TARGET} + PRIVATE +{% for interface in module.interfaces %} + tst_{{interface|lower}}.cpp +{% endfor %} + main.cpp +) diff --git a/src/tools/vehiclefunctions-simulation-server/CMakeLists.txt b/src/tools/vehiclefunctions-simulation-server/CMakeLists.txt index 54cd9f5..549def5 100644 --- a/src/tools/vehiclefunctions-simulation-server/CMakeLists.txt +++ b/src/tools/vehiclefunctions-simulation-server/CMakeLists.txt @@ -34,10 +34,14 @@ qt_add_resource(${target_name} "qml" ) +# IVI Generator: +qt_ivigenerator(ivivehiclefunctions-simulation-server + QFACE_SOURCES ../../ivivehiclefunctions/ivivehiclefunctions.qface + QFACE_FORMAT server_qtro_simulator + QFACE_MODULE_NAME QtIviVehicleFunctions +) + #### Keys ignored in scope 1:.:.:vehiclefunctions-simulation-server.pro:<TRUE>: -# QFACE_FORMAT = "server_qtro_simulator" -# QFACE_MODULE_NAME = "QtIviVehicleFunctions" -# QFACE_SOURCES = "../../ivivehiclefunctions/ivivehiclefunctions.qface" # QML_IMPORT_PATH = "$$OUT_PWD/qml" # QT_FOR_CONFIG = "ivicore" # TEMPLATE = "app" diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt index dec330a..103fde5 100644 --- a/tests/auto/CMakeLists.txt +++ b/tests/auto/CMakeLists.txt @@ -3,7 +3,7 @@ if(TARGET Qt::IviCore) add_subdirectory(core) endif() -if(TARGET ivivehiclefunctions) +if(TARGET Qt::IviVehicleFunctions) add_subdirectory(vehiclefunctions) endif() if(TARGET Qt::GeniviExtras) diff --git a/tests/auto/core/ivigenerator/custom-template/CMakeLists.txt b/tests/auto/core/ivigenerator/custom-template/CMakeLists.txt index cc20e04..46bf61a 100644 --- a/tests/auto/core/ivigenerator/custom-template/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/custom-template/CMakeLists.txt @@ -1,14 +1,43 @@ # Generated from custom-template.pro. -##################################################################### -## tst_custom-template Test: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(tst_custom-template LANGUAGES CXX) -qt_add_test(tst_custom-template - PUBLIC_LIBRARIES - Qt::Gui +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Test) + +qt_add_executable(tst_custom-template) + +# IVI Generator: +qt6_ivigenerator(tst_custom-template + QFACE_SOURCES ../org.example.echo.qface + QFACE_FORMAT custom-test +) +set_target_properties(tst_custom-template PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(tst_custom-template PUBLIC + Qt::Core + Qt::Gui + Qt::Test ) -#### Keys ignored in scope 1:.:.:custom-template.pro:<TRUE>: -# QFACE_FORMAT = "$$PWD/custom-test" -# QFACE_SOURCES = "../org.example.echo.qface" +install(TARGETS tst_custom-template + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/auto/core/ivigenerator/custom-template/custom-test.yaml b/tests/auto/core/ivigenerator/custom-template/custom-test.yaml index 4c5cd17..bc69075 100644 --- a/tests/auto/core/ivigenerator/custom-template/custom-test.yaml +++ b/tests/auto/core/ivigenerator/custom-template/custom-test.yaml @@ -2,6 +2,8 @@ generate_rules: module_rules: - dest_file: "{{srcBase|lower}}.pri" template_file: "module.pri.tpl" + - dest_file: '{{srcBase|lower}}.cmake' + template_file: 'CMakeLists.txt.tpl' - dest_file: 'tst_custom.cpp' template_file: 'tst_custom.cpp.tpl' - dest_file: 'tst_custom.h' diff --git a/tests/auto/core/ivigenerator/custom-template/custom-test/CMakeLists.txt.tpl b/tests/auto/core/ivigenerator/custom-template/custom-test/CMakeLists.txt.tpl new file mode 100644 index 0000000..10fe633 --- /dev/null +++ b/tests/auto/core/ivigenerator/custom-template/custom-test/CMakeLists.txt.tpl @@ -0,0 +1,4 @@ +target_sources(${CURRENT_TARGET} + PUBLIC + tst_custom.cpp +) diff --git a/tests/auto/core/ivigenerator/projects/include-test/backend_qtro/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/include-test/backend_qtro/CMakeLists.txt index 40e733d..e770318 100644 --- a/tests/auto/core/ivigenerator/projects/include-test/backend_qtro/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/include-test/backend_qtro/CMakeLists.txt @@ -1,27 +1,47 @@ # Generated from backend_qtro.pro. -##################################################################### -## include_test_qtro Generic Library: -##################################################################### - -qt_add_cmake_library(include_test_qtro - MODULE - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../qtivi" - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../common - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Core - Qt::Gui - Qt::IviCore +cmake_minimum_required(VERSION 3.14) +project(include_test_qtro LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") + +qt_add_plugin(include_test_qtro) + +# IVI Generator: +qt6_ivigenerator(include_test_qtro + QFACE_SOURCES ../../../include-test.qface + QFACE_FORMAT backend_qtro + QFACE_IMPORT_PATH ../../../qface\ imports +) +set_target_properties(include_test_qtro PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_include_directories(include_test_qtro PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../common + ${CMAKE_CURRENT_BINARY_DIR}/../frontend ) -qt_disable_warnings(include_test_qtro) -#### Keys ignored in scope 1:.:.:backend_qtro.pro:<TRUE>: -# QFACE_FORMAT = "backend_qtro" -# QFACE_IMPORT_PATH = "../../../qface imports" -# QFACE_SOURCES = "../../../include-test.qface" -# TEMPLATE = "lib" +target_link_libraries(include_test_qtro PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. + include_test_frontend + Qt::Core + Qt::Gui + Qt::IviCore +) -qt_autogen_tools_initial_setup(include_test_qtro) +install(TARGETS include_test_qtro + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/auto/core/ivigenerator/projects/include-test/backend_simulator/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/include-test/backend_simulator/CMakeLists.txt index 000ab62..ec5434d 100644 --- a/tests/auto/core/ivigenerator/projects/include-test/backend_simulator/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/include-test/backend_simulator/CMakeLists.txt @@ -1,27 +1,22 @@ # Generated from backend_simulator.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## include_test_simulator Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(include_test_simulator - MODULE - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../qtivi" - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../common - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Core - Qt::Gui - Qt::IviCore -) -qt_disable_warnings(include_test_simulator) +qt_add_plugin(include_test_simulator) -#### Keys ignored in scope 1:.:.:backend_simulator.pro:<TRUE>: -# QFACE_FORMAT = "backend_simulator" -# QFACE_IMPORT_PATH = "../../../qface imports" -# QFACE_SOURCES = "../../../include-test.qface" -# TEMPLATE = "lib" +# IVI Generator: +qt6_ivigenerator(include_test_simulator + QFACE_SOURCES ../../../include-test.qface + QFACE_FORMAT backend_simulator + QFACE_IMPORT_PATH ../../../qface\ imports +) -qt_autogen_tools_initial_setup(include_test_simulator) +target_link_libraries(include_test_simulator PUBLIC + include_test_frontend + Qt::Core + Qt::Gui + Qt::IviCore +) diff --git a/tests/auto/core/ivigenerator/projects/include-test/common/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/include-test/common/CMakeLists.txt index b7f1b53..6582d44 100644 --- a/tests/auto/core/ivigenerator/projects/include-test/common/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/include-test/common/CMakeLists.txt @@ -1,28 +1,27 @@ # Generated from common.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## include_test_common Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(include_test_common - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../" - DEFINES - QT_BUILD_COMMON_LIB - PUBLIC_LIBRARIES - Qt::Core - Qt::Gui - Qt::IviCore - Qt::IviCorePrivate - Qt::Qml - Qt::Quick -) +add_library(include_test_common) -#### Keys ignored in scope 1:.:.:common.pro:<TRUE>: -# QFACE_SOURCES = "../../../qface imports/common.qface" -# TEMPLATE = "lib" +# IVI Generator: +qt6_ivigenerator(include_test_common + QFACE_SOURCES ../../../qface\ imports/common.qface + QFACE_FORMAT frontend +) +target_include_directories(include_test_common PUBLIC + ${CMAKE_CURRENT_BINARY_DIR} +) -## Scopes: -##################################################################### +target_link_libraries(include_test_common PUBLIC + Qt::Core + Qt::Gui + Qt::IviCore + Qt::IviCorePrivate + Qt::Qml + Qt::Quick +) -#### Keys ignored in scope 2:.:.:common.pro:MACOS: -# QMAKE_SONAME_PREFIX = "@rpath" diff --git a/tests/auto/core/ivigenerator/projects/include-test/frontend/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/include-test/frontend/CMakeLists.txt index 81f7469..1485e00 100644 --- a/tests/auto/core/ivigenerator/projects/include-test/frontend/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/include-test/frontend/CMakeLists.txt @@ -1,32 +1,28 @@ # Generated from frontend.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## include_test_frontend Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(include_test_frontend - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../" - DEFINES - QT_BUILD_INCLUDE_TEST_LIB - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../common - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Core - Qt::Gui - Qt::IviCore - Qt::IviCorePrivate - Qt::Qml - Qt::Quick -) - -#### Keys ignored in scope 1:.:.:frontend.pro:<TRUE>: -# QFACE_IMPORT_PATH = "../../../qface imports" -# QFACE_SOURCES = "../../../include-test.qface" -# TEMPLATE = "lib" +add_library(include_test_frontend) -## Scopes: -##################################################################### +# IVI Generator: +qt6_ivigenerator(include_test_frontend + QFACE_SOURCES ../../../include-test.qface + QFACE_FORMAT frontend + QFACE_IMPORT_PATH ../../../qface\ imports +) +target_include_directories(include_test_frontend PUBLIC + ${CMAKE_CURRENT_BINARY_DIR} +) -#### Keys ignored in scope 2:.:.:frontend.pro:MACOS: -# QMAKE_SONAME_PREFIX = "@rpath" +target_link_libraries(include_test_frontend PUBLIC + include_test_common + Qt::Core + Qt::Gui + Qt::IviCore + Qt::IviCorePrivate + Qt::Qml + Qt::Quick +) diff --git a/tests/auto/core/ivigenerator/projects/include-test/qmlplugin/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/include-test/qmlplugin/CMakeLists.txt index 489f8fd..3511ea3 100644 --- a/tests/auto/core/ivigenerator/projects/include-test/qmlplugin/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/include-test/qmlplugin/CMakeLists.txt @@ -1,23 +1,18 @@ # Generated from qmlplugin.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## qmlplugin Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(qmlplugin - MODULE - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../common - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::IviCore +# IVI Generator: +qt6_ivigenerator(qmlplugin + QFACE_SOURCES ../../../include-test.qface + QFACE_FORMAT qmlplugin + QFACE_IMPORT_PATH ../../../qface\ imports ) -#### Keys ignored in scope 1:.:.:qmlplugin.pro:<TRUE>: -# QFACE_FORMAT = "qmlplugin" -# QFACE_IMPORT_PATH = "../../../qface imports" -# QFACE_SOURCES = "../../../include-test.qface" -# TEMPLATE = "lib" - -qt_autogen_tools_initial_setup(qmlplugin) +target_link_libraries(qmlplugin PRIVATE + include_test_frontend + Qt::IviCore +) diff --git a/tests/auto/core/ivigenerator/projects/include-test/simulation_server_qtro/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/include-test/simulation_server_qtro/CMakeLists.txt index 5af54a0..404f963 100644 --- a/tests/auto/core/ivigenerator/projects/include-test/simulation_server_qtro/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/include-test/simulation_server_qtro/CMakeLists.txt @@ -1,24 +1,48 @@ # Generated from simulation_server_qtro.pro. -##################################################################### -## org-example-echo-qtro-simulation-server Binary: -##################################################################### - -qt_add_executable(org-example-echo-qtro-simulation-server - OUTPUT_DIRECTORY ".." - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../common - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Gui - Qt::IviCore - Qt::Qml - Qt::Quick +cmake_minimum_required(VERSION 3.14) +project(org-example-echo-qtro-simulation-server LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") + +qt_add_executable(org-example-echo-qtro-simulation-server) + +# IVI Generator: +qt6_ivigenerator(org-example-echo-qtro-simulation-server + QFACE_SOURCES ../../../include-test.qface + QFACE_FORMAT server_qtro_simulator + QFACE_IMPORT_PATH ../../../qface\ imports +) +set_target_properties(org-example-echo-qtro-simulation-server PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE FALSE +) +target_include_directories(org-example-echo-qtro-simulation-server PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../common + ${CMAKE_CURRENT_BINARY_DIR}/../frontend ) -#### Keys ignored in scope 1:.:.:simulation_server_qtro.pro:<TRUE>: -# QFACE_FORMAT = "server_qtro_simulator" -# QFACE_IMPORT_PATH = "../../../qface imports" -# QFACE_SOURCES = "../../../include-test.qface" -# TEMPLATE = "app" +target_link_libraries(org-example-echo-qtro-simulation-server PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. + Qt::Core + Qt::Gui + Qt::IviCore + Qt::Qml + Qt::Quick +) + +install(TARGETS org-example-echo-qtro-simulation-server + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/auto/core/ivigenerator/projects/include-test/test/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/include-test/test/CMakeLists.txt index f70b4c9..5bd474a 100644 --- a/tests/auto/core/ivigenerator/projects/include-test/test/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/include-test/test/CMakeLists.txt @@ -1,23 +1,28 @@ # Generated from test.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## tst_include Test: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_test(tst_include - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../" - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../common - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Gui - Qt::IviCore +qt_add_executable(tst_include) + +# IVI Generator: +qt6_ivigenerator(tst_include + QFACE_SOURCES ../../../include-test.qface + QFACE_FORMAT test + QFACE_IMPORT_PATH ../../../qface\ imports +) +set_target_properties(tst_include PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE ) -#### Keys ignored in scope 1:.:.:test.pro:<TRUE>: -# QFACE_FORMAT = "test" -# QFACE_IMPORT_PATH = "../../../qface imports" -# QFACE_SOURCES = "../../../include-test.qface" -# QMAKE_PROJECT_NAME = "$$TARGET" -# QMAKE_RPATHDIR = "$$OUT_PWD/.." +target_link_libraries(tst_include PUBLIC + include_test_common + include_test_frontend + Qt::Core + Qt::Gui + Qt::IviCore + Qt::Test +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/backend_qtro/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/backend_qtro/CMakeLists.txt index 66a2c37..b7481c9 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/backend_qtro/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/backend_qtro/CMakeLists.txt @@ -1,25 +1,45 @@ # Generated from backend_qtro.pro. -##################################################################### -## echo_noannotation_qtro Generic Library: -##################################################################### - -qt_add_cmake_library(echo_noannotation_qtro - MODULE - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../qtivi" - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Core - Qt::Gui - Qt::IviCore +cmake_minimum_required(VERSION 3.14) +project(echo_noannotation_qtro LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") + +qt_add_plugin(echo_noannotation_qtro) + +# IVI Generator: +qt6_ivigenerator(echo_noannotation_qtro + QFACE_SOURCES ../../../org.example.echo.noannotation.qface + QFACE_FORMAT backend_qtro +) +set_target_properties(echo_noannotation_qtro PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_include_directories(echo_noannotation_qtro PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../frontend ) -qt_disable_warnings(echo_noannotation_qtro) -#### Keys ignored in scope 1:.:.:backend_qtro.pro:<TRUE>: -# QFACE_FORMAT = "backend_qtro" -# QFACE_SOURCES = "../../../org.example.echo.noannotation.qface" -# TEMPLATE = "lib" +target_link_libraries(echo_noannotation_qtro PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. + echo_noannotation_frontend + Qt::Core + Qt::Gui + Qt::IviCore +) -qt_autogen_tools_initial_setup(echo_noannotation_qtro) +install(TARGETS echo_noannotation_qtro + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/backend_simulator/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/backend_simulator/CMakeLists.txt index 81c7410..8390845 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/backend_simulator/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/backend_simulator/CMakeLists.txt @@ -1,25 +1,21 @@ # Generated from backend_simulator.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## echo_noannotation_simulator Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(echo_noannotation_simulator - MODULE - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../qtivi" - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Core - Qt::Gui - Qt::IviCore -) -qt_disable_warnings(echo_noannotation_simulator) +qt_add_plugin(echo_noanno_simulator) -#### Keys ignored in scope 1:.:.:backend_simulator.pro:<TRUE>: -# QFACE_FORMAT = "backend_simulator" -# QFACE_SOURCES = "../../../org.example.echo.noannotation.qface" -# TEMPLATE = "lib" +# IVI Generator: +qt6_ivigenerator(echo_noanno_simulator + QFACE_SOURCES ../../../org.example.echo.noannotation.qface + QFACE_FORMAT backend_simulator +) -qt_autogen_tools_initial_setup(echo_noannotation_simulator) +target_link_libraries(echo_noanno_simulator PUBLIC + echo_noanno_frontend + Qt::Core + Qt::Gui + Qt::IviCore +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/frontend/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/frontend/CMakeLists.txt index 0175304..c0162a1 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/frontend/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/frontend/CMakeLists.txt @@ -1,28 +1,26 @@ # Generated from frontend.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## echo_noannotation_frontend Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(echo_noannotation_frontend - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../" - DEFINES - QT_BUILD_ORG_EXAMPLE_ECHO_LIB - PUBLIC_LIBRARIES - Qt::Core - Qt::Gui - Qt::IviCore - Qt::IviCorePrivate - Qt::Qml - Qt::Quick -) - -#### Keys ignored in scope 1:.:.:frontend.pro:<TRUE>: -# QFACE_SOURCES = "../../../org.example.echo.noannotation.qface" -# TEMPLATE = "lib" +add_library(echo_noanno_frontend) -## Scopes: -##################################################################### +# IVI Generator: +qt6_ivigenerator(echo_noanno_frontend + QFACE_SOURCES ../../../org.example.echo.noannotation.qface + QFACE_FORMAT frontend +) +target_include_directories(echo_noanno_frontend PUBLIC + ${CMAKE_CURRENT_BINARY_DIR} +) -#### Keys ignored in scope 2:.:.:frontend.pro:MACOS: -# QMAKE_SONAME_PREFIX = "@rpath" +target_link_libraries(echo_noanno_frontend PUBLIC + Qt::Core + Qt::Gui + Qt::IviCore + Qt::IviCorePrivate + Qt::Qml + Qt::Quick +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/qmlplugin/.prev_CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/qmlplugin/.prev_CMakeLists.txt new file mode 100644 index 0000000..1c6b8ca --- /dev/null +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/qmlplugin/.prev_CMakeLists.txt @@ -0,0 +1,45 @@ +# Generated from qmlplugin.pro. + +cmake_minimum_required(VERSION 3.14) +project(qmlplugin LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") + +find_package(Qt6 COMPONENTS IviCore) +find_package(Qt6 COMPONENTS IviVehicleFunctions) + + +# IVI Generator: +qt6_ivigenerator(qmlplugin + QFACE_SOURCES ../../../org.example.echo.noannotation.qface + QFACE_FORMAT qmlplugin +) +set_target_properties(qmlplugin PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_include_directories(qmlplugin PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../frontend +) + +target_link_libraries(qmlplugin PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. + Qt::IviCore + Qt::IviVehicleFunctions +) + +install(TARGETS qmlplugin + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/qmlplugin/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/qmlplugin/CMakeLists.txt index fd709bb..0ec3488 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/qmlplugin/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/qmlplugin/CMakeLists.txt @@ -1,22 +1,18 @@ # Generated from qmlplugin.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## qmlplugin Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(qmlplugin - MODULE - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::IviCore - ivivehiclefunctions +# IVI Generator: +qt6_ivigenerator(echo_frontend_noanno_qmlplugin # special case + QFACE_SOURCES ../../../org.example.echo.noannotation.qface + QFACE_FORMAT qmlplugin ) -#### Keys ignored in scope 1:.:.:qmlplugin.pro:<TRUE>: -# QFACE_FORMAT = "qmlplugin" -# QFACE_SOURCES = "../../../org.example.echo.noannotation.qface" -# TEMPLATE = "lib" - -qt_autogen_tools_initial_setup(qmlplugin) +target_link_libraries(echo_frontend_noanno_qmlplugin PRIVATE # special case + echo_noanno_frontend + Qt::IviCore + Qt::IviVehicleFunctions +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/simulation_server_qtro/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/simulation_server_qtro/CMakeLists.txt index 774234c..1f41012 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/simulation_server_qtro/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/simulation_server_qtro/CMakeLists.txt @@ -1,23 +1,46 @@ # Generated from simulation_server_qtro.pro. -##################################################################### -## org-example-echo-noannotation-simulation-server Binary: -##################################################################### - -qt_add_executable(org-example-echo-noannotation-simulation-server - OUTPUT_DIRECTORY ".." - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Gui - Qt::IviCore - Qt::Qml - Qt::Quick +cmake_minimum_required(VERSION 3.14) +project(org-example-echo-noannotation-simulation-server LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") + +qt_add_executable(org-example-echo-noannotation-simulation-server) + +# IVI Generator: +qt6_ivigenerator(org-example-echo-noannotation-simulation-server + QFACE_SOURCES ../../../org.example.echo.noannotation.qface + QFACE_FORMAT server_qtro_simulator +) +set_target_properties(org-example-echo-noannotation-simulation-server PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE FALSE +) +target_include_directories(org-example-echo-noannotation-simulation-server PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../frontend ) -#### Keys ignored in scope 1:.:.:simulation_server_qtro.pro:<TRUE>: -# QFACE_FORMAT = "server_qtro_simulator" -# QFACE_SOURCES = "../../../org.example.echo.noannotation.qface" -# QMAKE_PROJECT_NAME = "$$TARGET" -# TEMPLATE = "app" +target_link_libraries(org-example-echo-noannotation-simulation-server PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. + Qt::Core + Qt::Gui + Qt::IviCore + Qt::Qml + Qt::Quick +) + +install(TARGETS org-example-echo-noannotation-simulation-server + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/test/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/test/CMakeLists.txt index 558abf5..2cd08aa 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/test/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-noannotation/test/CMakeLists.txt @@ -1,21 +1,26 @@ # Generated from test.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## tst_org-example-echo-noannotation Test: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_test(tst_org-example-echo-noannotation - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../" - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Gui - Qt::IviCore +qt_add_executable(tst_org-example-echo-noanno) + +# IVI Generator: +qt6_ivigenerator(tst_org-example-echo-noanno + QFACE_SOURCES ../../../org.example.echo.noannotation.qface + QFACE_FORMAT test +) +set_target_properties(tst_org-example-echo-noanno PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE ) -#### Keys ignored in scope 1:.:.:test.pro:<TRUE>: -# QFACE_FORMAT = "test" -# QFACE_SOURCES = "../../../org.example.echo.noannotation.qface" -# QMAKE_PROJECT_NAME = "$$TARGET" -# QMAKE_RPATHDIR = "$$OUT_PWD/.." +target_link_libraries(tst_org-example-echo-noanno PUBLIC + echo_noanno_frontend + Qt::Core + Qt::Gui + Qt::IviCore + Qt::Test +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/backend_simulator/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/backend_simulator/CMakeLists.txt index bd39d36..d0827bd 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/backend_simulator/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/backend_simulator/CMakeLists.txt @@ -1,26 +1,22 @@ # Generated from backend_simulator.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## echo_noprivate_simulator Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(echo_noprivate_simulator - MODULE - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../qtivi" - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Core - Qt::Gui - Qt::IviCore -) -qt_disable_warnings(echo_noprivate_simulator) +qt_add_plugin(echo_noprivate_simulator) -#### Keys ignored in scope 1:.:.:backend_simulator.pro:<TRUE>: -# QFACE_ANNOTATIONS = "../../../no-private.yaml" -# QFACE_FORMAT = "backend_simulator" -# QFACE_SOURCES = "../../../org.example.echo.qface" -# TEMPLATE = "lib" +# IVI Generator: +qt6_ivigenerator(echo_noprivate_simulator + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT backend_simulator + QFACE_ANNOTATIONS ../../../no-private.yaml +) -qt_autogen_tools_initial_setup(echo_noprivate_simulator) +target_link_libraries(echo_noprivate_simulator PUBLIC + echo_noprivate_frontend + Qt::Core + Qt::Gui + Qt::IviCore +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/frontend/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/frontend/CMakeLists.txt index d02ae04..e0bb60e 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/frontend/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/frontend/CMakeLists.txt @@ -1,29 +1,27 @@ # Generated from frontend.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## echo_noprivate_frontend Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(echo_noprivate_frontend - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../" - DEFINES - QT_BUILD_ORG_EXAMPLE_ECHO_LIB - PUBLIC_LIBRARIES - Qt::Core - Qt::Gui - Qt::IviCore - Qt::IviCorePrivate - Qt::Qml - Qt::Quick -) - -#### Keys ignored in scope 1:.:.:frontend.pro:<TRUE>: -# QFACE_ANNOTATIONS = "../../../no-private.yaml" -# QFACE_SOURCES = "../../../org.example.echo.qface" -# TEMPLATE = "lib" +add_library(echo_noprivate_frontend) -## Scopes: -##################################################################### +# IVI Generator: +qt6_ivigenerator(echo_noprivate_frontend + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT frontend + QFACE_ANNOTATIONS ../../../no-private.yaml +) +target_include_directories(echo_noprivate_frontend PUBLIC + ${CMAKE_CURRENT_BINARY_DIR} +) -#### Keys ignored in scope 2:.:.:frontend.pro:MACOS: -# QMAKE_SONAME_PREFIX = "@rpath" +target_link_libraries(echo_noprivate_frontend PUBLIC + Qt::Core + Qt::Gui + Qt::IviCore + Qt::IviCorePrivate + Qt::Qml + Qt::Quick +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/qmlplugin/.prev_CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/qmlplugin/.prev_CMakeLists.txt new file mode 100644 index 0000000..446db66 --- /dev/null +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/qmlplugin/.prev_CMakeLists.txt @@ -0,0 +1,46 @@ +# Generated from qmlplugin.pro. + +cmake_minimum_required(VERSION 3.14) +project(qmlplugin LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") + +find_package(Qt6 COMPONENTS IviCore) +find_package(Qt6 COMPONENTS IviVehicleFunctions) + + +# IVI Generator: +qt6_ivigenerator(qmlplugin + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT qmlplugin + QFACE_ANNOTATIONS ../../../no-private.yaml +) +set_target_properties(qmlplugin PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_include_directories(qmlplugin PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../frontend +) + +target_link_libraries(qmlplugin PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. + Qt::IviCore + Qt::IviVehicleFunctions +) + +install(TARGETS qmlplugin + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/qmlplugin/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/qmlplugin/CMakeLists.txt index 4e6a6a7..ada5903 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/qmlplugin/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/qmlplugin/CMakeLists.txt @@ -1,23 +1,19 @@ # Generated from qmlplugin.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## qmlplugin Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(qmlplugin - MODULE - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::IviCore - ivivehiclefunctions +# IVI Generator: +qt6_ivigenerator(echo_frontend_noprivate_qmlplugin # special case + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT qmlplugin + QFACE_ANNOTATIONS ../../../no-private.yaml ) -#### Keys ignored in scope 1:.:.:qmlplugin.pro:<TRUE>: -# QFACE_ANNOTATIONS = "../../../no-private.yaml" -# QFACE_FORMAT = "qmlplugin" -# QFACE_SOURCES = "../../../org.example.echo.qface" -# TEMPLATE = "lib" - -qt_autogen_tools_initial_setup(qmlplugin) +target_link_libraries(echo_frontend_noprivate_qmlplugin PRIVATE # special case + echo_noprivate_frontend + Qt::IviCore + Qt::IviVehicleFunctions +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/test/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/test/CMakeLists.txt index 8626ddd..16622b2 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/test/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-noprivate/test/CMakeLists.txt @@ -1,22 +1,27 @@ # Generated from test.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## tst_org-example-echo-noprivate Test: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_test(tst_org-example-echo-noprivate - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../" - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Gui - Qt::IviCore +qt_add_executable(tst_org-example-echo-noprivate) + +# IVI Generator: +qt6_ivigenerator(tst_org-example-echo-noprivate + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT test + QFACE_ANNOTATIONS ../../../no-private.yaml +) +set_target_properties(tst_org-example-echo-noprivate PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE ) -#### Keys ignored in scope 1:.:.:test.pro:<TRUE>: -# QFACE_ANNOTATIONS = "../../../no-private.yaml" -# QFACE_FORMAT = "test" -# QFACE_SOURCES = "../../../org.example.echo.qface" -# QMAKE_PROJECT_NAME = "$$TARGET" -# QMAKE_RPATHDIR = "$$OUT_PWD/.." +target_link_libraries(tst_org-example-echo-noprivate PUBLIC + echo_noprivate_frontend + Qt::Core + Qt::Gui + Qt::IviCore + Qt::Test +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/backend_qtro/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/backend_qtro/CMakeLists.txt index 592ef19..e674c29 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/backend_qtro/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/backend_qtro/CMakeLists.txt @@ -1,31 +1,49 @@ # Generated from backend_qtro.pro. -##################################################################### -## echo_backend_qtro Generic Library: -##################################################################### - -qt_add_cmake_library(echo_backend_qtro - MODULE - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../qtivi" - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Core - Qt::Gui - Qt::IviCore -) -qt_disable_warnings(echo_backend_qtro) +cmake_minimum_required(VERSION 3.14) +project(echo_backend_qtro LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -#### Keys ignored in scope 1:.:.:backend_qtro.pro:<TRUE>: -# QFACE_FORMAT = "backend_qtro" -# QFACE_SOURCES = "../../../org.example.echo.qface" -# TEMPLATE = "lib" +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() -## Scopes: -##################################################################### +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") -#### Keys ignored in scope 2:.:.:backend_qtro.pro:MACOS: -# QMAKE_SONAME_PREFIX = "@rpath" +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS IviCore) -qt_autogen_tools_initial_setup(echo_backend_qtro) +qt_add_plugin(echo_backend_qtro) + +# IVI Generator: +qt6_ivigenerator(echo_backend_qtro + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT backend_qtro +) +set_target_properties(echo_backend_qtro PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_include_directories(echo_backend_qtro PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../frontend +) + +target_link_libraries(echo_backend_qtro PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. + echo_qtro_frontend + Qt::Core + Qt::Gui + Qt::IviCore +) + +install(TARGETS echo_backend_qtro + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/frontend/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/frontend/CMakeLists.txt index c1ec8bb..73294cc 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/frontend/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/frontend/CMakeLists.txt @@ -1,28 +1,45 @@ # Generated from frontend.pro. -##################################################################### -## echo_frontend Generic Library: -##################################################################### - -qt_add_cmake_library(echo_frontend - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../" - DEFINES - QT_BUILD_ORG_EXAMPLE_ECHO_LIB - PUBLIC_LIBRARIES - Qt::Core - Qt::Gui - Qt::IviCore - Qt::IviCorePrivate - Qt::Qml - Qt::Quick -) +cmake_minimum_required(VERSION 3.14) +project(echo_qtro_frontend LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") -#### Keys ignored in scope 1:.:.:frontend.pro:<TRUE>: -# QFACE_SOURCES = "../../../org.example.echo.qface" -# TEMPLATE = "lib" +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS IviCore) +find_package(Qt6 COMPONENTS Qml) +find_package(Qt6 COMPONENTS Quick) -## Scopes: -##################################################################### +qt_add_executable(echo_qtro_frontend) -#### Keys ignored in scope 2:.:.:frontend.pro:MACOS: -# QMAKE_SONAME_PREFIX = "@rpath" +# IVI Generator: +qt6_ivigenerator(echo_qtro_frontend + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT frontend +) + +target_link_libraries(echo_frontend PUBLIC + Qt::Core + Qt::Gui + Qt::IviCore + Qt::IviCorePrivate + Qt::Qml + Qt::Quick +) + +install(TARGETS echo_frontend + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/CMakeLists.txt index 985b371..4983874 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/CMakeLists.txt @@ -1,29 +1,58 @@ # Generated from server_qtro_test.pro. -##################################################################### -## tst_org-example-echo-qtro Test: -##################################################################### - -qt_add_test(tst_org-example-echo-qtro - OUTPUT_DIRECTORY ".." - SOURCES - contactsmodelservice.cpp contactsmodelservice.h - echoservice.cpp echoservice.h - echozonedservice.cpp echozonedservice.h - main.cpp - server.cpp server.h - tst_echoqtro.cpp tst_echoqtro.h - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../backend_qtro - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::IviCore - iviremoteobjects_helper_private +cmake_minimum_required(VERSION 3.14) +project(tst_org-example-echo-qtro LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Test) +find_package(Qt6 COMPONENTS IviCore) + +qt_add_executable(tst_org-example-echo-qtro + contactsmodelservice.cpp contactsmodelservice.h + echoservice.cpp echoservice.h + echozonedservice.cpp echozonedservice.h + main.cpp + server.cpp server.h + tst_echoqtro.cpp tst_echoqtro.h ) -#### Keys ignored in scope 1:.:.:server_qtro_test.pro:<TRUE>: -# QFACE_FORMAT = "server_qtro" -# QFACE_SOURCES = "../../../org.example.echo.qface" -# QMAKE_PROJECT_NAME = "$$TARGET" -# QMAKE_RPATHDIR = "$$OUT_PWD/.." "$$OUT_PWD/../qtivi" +# IVI Generator: +qt6_ivigenerator(tst_org-example-echo-qtro + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT server_qtro +) +set_target_properties(tst_org-example-echo-qtro PROPERTIES + WIN32_EXECUTABLE FALSE + MACOSX_BUNDLE FALSE +) +target_include_directories(tst_org-example-echo-qtro PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../backend_qtro + ${CMAKE_CURRENT_BINARY_DIR}/../frontend +) + +target_link_libraries(tst_org-example-echo-qtro PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. + echo_qtro_frontend + Qt::Core + Qt::IviCore + Qt::Test + iviremoteobjects_helper_private +) + +install(TARGETS tst_org-example-echo-qtro + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/simulation_server_qtro/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/simulation_server_qtro/CMakeLists.txt index 0bb45bb..4c02b19 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/simulation_server_qtro/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/simulation_server_qtro/CMakeLists.txt @@ -1,23 +1,53 @@ # Generated from simulation_server_qtro.pro. -##################################################################### -## org-example-echo-qtro-simulation-server Binary: -##################################################################### - -qt_add_executable(org-example-echo-qtro-simulation-server - OUTPUT_DIRECTORY ".." - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Gui - Qt::IviCore - Qt::Qml - Qt::Quick +cmake_minimum_required(VERSION 3.14) +project(org-example-echo-qtro-simulation-server LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) +find_package(Qt6 COMPONENTS Quick) +find_package(Qt6 COMPONENTS IviCore) + +qt_add_executable(org-example-echo-qtro-simulation-server) + +# IVI Generator: +qt6_ivigenerator(org-example-echo-qtro-simulation-server + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT server_qtro_simulator +) +set_target_properties(org-example-echo-qtro-simulation-server PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE FALSE +) +target_include_directories(org-example-echo-qtro-simulation-server PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../frontend ) -#### Keys ignored in scope 1:.:.:simulation_server_qtro.pro:<TRUE>: -# QFACE_FORMAT = "server_qtro_simulator" -# QFACE_SOURCES = "../../../org.example.echo.qface" -# QMAKE_PROJECT_NAME = "$$TARGET" -# TEMPLATE = "app" +target_link_libraries(org-example-echo-qtro-simulation-server PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. + echo_qtro_frontend + Qt::Core + Qt::Gui + Qt::IviCore + Qt::Qml + Qt::Quick +) + +install(TARGETS org-example-echo-qtro-simulation-server + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo/backend_simulator/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo/backend_simulator/CMakeLists.txt index fbbc287..a6e95bd 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo/backend_simulator/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo/backend_simulator/CMakeLists.txt @@ -1,27 +1,24 @@ # Generated from backend_simulator.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## echo_simulator Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(echo_simulator - MODULE - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../qtivi" - SOURCES - backend_simulator.cpp - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Core - Qt::Gui - Qt::IviCore +qt_add_plugin(echo_simulator) +target_sources(echo_simulator PRIVATE + backend_simulator.cpp ) -qt_disable_warnings(echo_simulator) -#### Keys ignored in scope 1:.:.:backend_simulator.pro:<TRUE>: -# QFACE_FORMAT = "backend_simulator" -# QFACE_SOURCES = "../../../org.example.echo.qface" -# TEMPLATE = "lib" +# IVI Generator: +qt6_ivigenerator(echo_simulator + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT backend_simulator +) -qt_autogen_tools_initial_setup(echo_simulator) +target_link_libraries(echo_simulator PUBLIC + echo_frontend + Qt::Core + Qt::Gui + Qt::IviCore +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo/frontend/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo/frontend/CMakeLists.txt index c1ec8bb..6b2f7a8 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo/frontend/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo/frontend/CMakeLists.txt @@ -1,28 +1,26 @@ # Generated from frontend.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## echo_frontend Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(echo_frontend - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../" - DEFINES - QT_BUILD_ORG_EXAMPLE_ECHO_LIB - PUBLIC_LIBRARIES - Qt::Core - Qt::Gui - Qt::IviCore - Qt::IviCorePrivate - Qt::Qml - Qt::Quick -) - -#### Keys ignored in scope 1:.:.:frontend.pro:<TRUE>: -# QFACE_SOURCES = "../../../org.example.echo.qface" -# TEMPLATE = "lib" +add_library(echo_frontend) -## Scopes: -##################################################################### +# IVI Generator: +qt6_ivigenerator(echo_frontend + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT frontend +) +target_include_directories(echo_frontend PUBLIC + ${CMAKE_CURRENT_BINARY_DIR} +) -#### Keys ignored in scope 2:.:.:frontend.pro:MACOS: -# QMAKE_SONAME_PREFIX = "@rpath" +target_link_libraries(echo_frontend PUBLIC + Qt::Core + Qt::Gui + Qt::IviCore + Qt::IviCorePrivate + Qt::Qml + Qt::Quick +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo/qmlplugin/.prev_CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo/qmlplugin/.prev_CMakeLists.txt new file mode 100644 index 0000000..4ca67e8 --- /dev/null +++ b/tests/auto/core/ivigenerator/projects/org-example-echo/qmlplugin/.prev_CMakeLists.txt @@ -0,0 +1,45 @@ +# Generated from qmlplugin.pro. + +cmake_minimum_required(VERSION 3.14) +project(qmlplugin LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") + +find_package(Qt6 COMPONENTS IviCore) +find_package(Qt6 COMPONENTS IviVehicleFunctions) + + +# IVI Generator: +qt6_ivigenerator(qmlplugin + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT qmlplugin +) +set_target_properties(qmlplugin PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_include_directories(qmlplugin PUBLIC + ${CMAKE_CURRENT_BINARY_DIR}/../frontend +) + +target_link_libraries(qmlplugin PUBLIC + # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. + Qt::IviCore + Qt::IviVehicleFunctions +) + +install(TARGETS qmlplugin + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo/qmlplugin/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo/qmlplugin/CMakeLists.txt index 89be1a8..8cedb00 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo/qmlplugin/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo/qmlplugin/CMakeLists.txt @@ -1,22 +1,18 @@ # Generated from qmlplugin.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## qmlplugin Generic Library: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_cmake_library(qmlplugin - MODULE - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::IviCore - ivivehiclefunctions +# IVI Generator: +qt6_ivigenerator(echo_frontend_qmlplugin # special case + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT qmlplugin ) -#### Keys ignored in scope 1:.:.:qmlplugin.pro:<TRUE>: -# QFACE_FORMAT = "qmlplugin" -# QFACE_SOURCES = "../../../org.example.echo.qface" -# TEMPLATE = "lib" - -qt_autogen_tools_initial_setup(qmlplugin) +target_link_libraries(echo_frontend_qmlplugin PRIVATE # special case + echo_frontend + Qt::IviCore + Qt::IviVehicleFunctions +) diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo/test/CMakeLists.txt b/tests/auto/core/ivigenerator/projects/org-example-echo/test/CMakeLists.txt index d27a2c8..ea42d2d 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo/test/CMakeLists.txt +++ b/tests/auto/core/ivigenerator/projects/org-example-echo/test/CMakeLists.txt @@ -1,21 +1,26 @@ # Generated from test.pro. +set(CMAKE_INCLUDE_CURRENT_DIR ON) -##################################################################### -## tst_org-example-echo Test: -##################################################################### +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -qt_add_test(tst_org-example-echo - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../" - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../frontend - PUBLIC_LIBRARIES - # Remove: L${CMAKE_CURRENT_BINARY_DIR}/.. - Qt::Gui - Qt::IviCore +qt_add_executable(tst_org-example-echo) + +# IVI Generator: +qt6_ivigenerator(tst_org-example-echo + QFACE_SOURCES ../../../org.example.echo.qface + QFACE_FORMAT test +) +set_target_properties(tst_org-example-echo PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE ) -#### Keys ignored in scope 1:.:.:test.pro:<TRUE>: -# QFACE_FORMAT = "test" -# QFACE_SOURCES = "../../../org.example.echo.qface" -# QMAKE_PROJECT_NAME = "$$TARGET" -# QMAKE_RPATHDIR = "$$OUT_PWD/.." +target_link_libraries(tst_org-example-echo PUBLIC + echo_frontend + Qt::Core + Qt::Gui + Qt::IviCore + Qt::Test +) diff --git a/tests/auto/core/servicemanagertest/.prev_CMakeLists.txt b/tests/auto/core/servicemanagertest/.prev_CMakeLists.txt new file mode 100644 index 0000000..b4dc93f --- /dev/null +++ b/tests/auto/core/servicemanagertest/.prev_CMakeLists.txt @@ -0,0 +1,33 @@ +# Generated from servicemanagertest.pro. + +##################################################################### +## tst_servicemanagertest Test: +##################################################################### + +qt_add_test(tst_servicemanagertest + OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + SOURCES + tst_servicemanagertest.cpp + DEFINES + SRCDIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/\\\" + PUBLIC_LIBRARIES + # Remove: Lqtivi + Qt::IviCore + Qt::IviCorePrivate +) + +#### Keys ignored in scope 2:.:.:tst_servicemanager.pro:<TRUE>: +# TEMPLATE = "app" + +## Scopes: +##################################################################### + +qt_extend_target(tst_servicemanagertest CONDITION QT_FEATURE_debug_and_release + DEFINES + DEBUG_AND_RELEASE +) +add_subdirectory(simple_plugin) +add_subdirectory(simple_plugin_static) +add_subdirectory(wrong_plugin) +add_subdirectory(wrongmetadata_plugin) +add_subdirectory(wrongmetadata_plugin_static) diff --git a/tests/auto/vehiclefunctions/basic/CMakeLists.txt b/tests/auto/vehiclefunctions/basic/CMakeLists.txt index 191590f..06c8cf0 100644 --- a/tests/auto/vehiclefunctions/basic/CMakeLists.txt +++ b/tests/auto/vehiclefunctions/basic/CMakeLists.txt @@ -4,14 +4,20 @@ ## tst_basic Test: ##################################################################### -qt_add_test(tst_basic - PUBLIC_LIBRARIES - Qt::Gui - Qt::IviCore - ivivehiclefunctions -) +# FIXME: The templates needs to be adapted to enable this +#qt_add_test(tst_basic +# PUBLIC_LIBRARIES +# Qt::Gui +# Qt::IviCore +# Qt::IviVehicleFunctions +# SOURCES "" +#) + +# IVI Generator: +#qt_ivigenerator(tst_basic +# QFACE_SOURCES ../../../../src/ivivehiclefunctions/ivivehiclefunctions.qface +# QFACE_FORMAT test +#) #### Keys ignored in scope 1:.:.:basic.pro:<TRUE>: -# QFACE_FORMAT = "test" -# QFACE_SOURCES = "../../../../src/ivivehiclefunctions/ivivehiclefunctions.qface" # QMAKE_PROJECT_NAME = "$$TARGET" |