• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2cmake_minimum_required(VERSION 3.19)
3
4project (MetaObjectBenchmarks)
5
6set(CMAKE_CXX_STANDARD 17)
7set(CMAKE_CXX_STANDARD_REQUIRED ON)
8set(CMAKE_CXX_EXTENSIONS OFF)
9
10find_package(MetaObjectAPI REQUIRED)
11find_package(MetaObjectExtAPI REQUIRED)
12find_package(MetaObjectHighLevelAPI REQUIRED)
13find_package(MetaObject QUIET)
14
15add_executable(MetaObjectBenchmarks)
16
17target_sources(MetaObjectBenchmarks
18        PRIVATE
19        src/main.cpp
20        src/metadata_benchmarks.cpp
21        src/object_registry_benchmarks.cpp
22        src/object_benchmarks.cpp
23        src/property_benchmarks.cpp
24        src/property_utils.h
25        src/shared_ptr_benchmarks.cpp
26        src/task_queue_benchmarks.cpp
27        src/utils.cpp
28        src/utils.h
29        )
30
31target_link_libraries(MetaObjectBenchmarks PRIVATE benchmark)
32target_link_libraries(MetaObjectBenchmarks PRIVATE MetaObject::ExtAPI
33                                          MetaObject::HighLevelAPI
34                                          MetaObject::EnvironmentSetup
35)
36
37include(TargetPluginsDependencies)
38
39target_plugins_dependencies(MetaObjectBenchmarks
40        PLUGINS AGPEngine::AGPEngineDLL
41        RELATIVE_DEPLOY_PATH .
42        VERBOSE)
43
44target_plugins_dependencies(MetaObjectBenchmarks
45        PLUGINS MetaObject::Plugin
46        RELATIVE_DEPLOY_PATH "plugins"
47        VERBOSE)
48