summaryrefslogtreecommitdiffstats
path: root/cmake/QtBuildRepoExamplesHelpers.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/QtBuildRepoExamplesHelpers.cmake')
-rw-r--r--cmake/QtBuildRepoExamplesHelpers.cmake31
1 files changed, 29 insertions, 2 deletions
diff --git a/cmake/QtBuildRepoExamplesHelpers.cmake b/cmake/QtBuildRepoExamplesHelpers.cmake
index a6d7c2b144b..1292844f132 100644
--- a/cmake/QtBuildRepoExamplesHelpers.cmake
+++ b/cmake/QtBuildRepoExamplesHelpers.cmake
@@ -90,6 +90,10 @@ macro(qt_examples_build_begin)
add_link_options(${active_linker_flags})
endif()
+ if(QT_EXTRA_EXAMPLE_TARGET_DEFINES)
+ add_compile_definitions(${QT_EXTRA_EXAMPLE_TARGET_DEFINES})
+ endif()
+
# Marker for warnings_as_errors.
set(QT_INTERNAL_IS_EXAMPLE_IN_TREE_BUILD ON)
endif()
@@ -200,8 +204,11 @@ function(qt_internal_add_example subdir)
# Don't show warnings for examples that were added via qt_internal_add_example.
# Those that are added via add_subdirectory will see the warning, due to the parent scope
# having the variable set to TRUE.
- if(QT_FEATURE_developer_build AND NOT QT_NO_WARN_ABOUT_EXAMPLE_ADD_SUBDIRECTORY_WARNING)
- set(QT_WARN_ABOUT_EXAMPLE_ADD_SUBDIRECTORY FALSE)
+ if(QT_FEATURE_developer_build)
+ set(QT_LINT_EXAMPLES ON)
+ if(NOT QT_NO_WARN_ABOUT_EXAMPLE_ADD_SUBDIRECTORY_WARNING)
+ set(QT_WARN_ABOUT_EXAMPLE_ADD_SUBDIRECTORY FALSE)
+ endif()
endif()
# Pre-compute unique example name based on the subdir, in case of target name clashes.
@@ -354,6 +361,10 @@ function(qt_internal_add_example_external_project subdir)
cmake_parse_arguments(PARSE_ARGV 1 arg "${options}" "${singleOpts}" "${multiOpts}")
+ if(QT_FEATURE_developer_build)
+ set(QT_LINT_EXAMPLES ON)
+ endif()
+
_qt_internal_get_build_vars_for_external_projects(
CMAKE_DIR_VAR qt_cmake_dir
PREFIXES_VAR qt_prefixes
@@ -368,6 +379,10 @@ function(qt_internal_add_example_external_project subdir)
list(APPEND var_defs
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=${qt_cmake_dir}/qt.toolchain.cmake
)
+ if(QT_LINT_EXAMPLES)
+ list(APPEND var_defs -DQT_LINT_EXAMPLES=ON)
+ endif()
+
else()
list(PREPEND CMAKE_PREFIX_PATH ${qt_prefixes})
@@ -519,6 +534,18 @@ function(qt_internal_add_example_external_project subdir)
"-DCMAKE_${item_type}_LINKER_FLAGS_INIT:STRING=${active_linker_flags}")
endforeach()
endif()
+ if(QT_EXTRA_EXAMPLE_TARGET_DEFINES)
+ unset(extra_args)
+ foreach(def IN LISTS QT_EXTRA_EXAMPLE_TARGET_DEFINES)
+ list(APPEND extra_args "-D${def}")
+ endforeach()
+ list(JOIN extra_args " " extra_defines_str)
+
+ foreach(language IN ITEMS C CXX OBJC OBJCXX)
+ list(APPEND var_defs
+ "-DCMAKE_${language}_FLAGS_INIT:STRING=${extra_defines_str}")
+ endforeach()
+ endif()
set(deps "")
list(REMOVE_DUPLICATES QT_EXAMPLE_DEPENDENCIES)