diff options
| author | Amir Masoud Abdol <amir.abdol@qt.io> | 2023-01-31 14:05:16 +0100 |
|---|---|---|
| committer | Amir Masoud Abdol <amir.abdol@qt.io> | 2023-02-08 23:47:07 +0100 |
| commit | 31518f1a4e3c4a7c77ae2e008e903a849ba75dd6 (patch) | |
| tree | 4d33bf20da4702697e98c3a06238c7c052942350 /cmake/QtExecutableHelpers.cmake | |
| parent | 66a1a71f1f92156548da487739129fb0f494c895 (diff) | |
Add some utilities for UNITY_BUILD
- The following commands accepts NO_UNITY_BUILD, and
NO_UNITY_BUILD_SOURCES arguments to opt out of the unity build, and
to exclude some source files from unity build, respectively.
- qt_internal_add_executable
- qt_internal_add_module
- qt_internal_add_plugin
- qt_internal_add_tool
- qt_internal_extend_target
- qt_internal_add_common_qt_library_helper
- qt_internal_add_cmake_library
- qt_internal_add_simd_part
- Unity build is disabled by default in these:
- qt_internal_add_test
- qt_internal_add_test_helper
- qt_internal_add_benchmark
- qt_internal_add_3rdparty_library
- qt_update_ignore_pch_source also excludes the files from unity_build
Pick-to: 6.5
Task-number: QTBUG-109394
Change-Id: I5d0e7df633738310a015142a6c73fbb78b6c3467
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/QtExecutableHelpers.cmake')
| -rw-r--r-- | cmake/QtExecutableHelpers.cmake | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cmake/QtExecutableHelpers.cmake b/cmake/QtExecutableHelpers.cmake index 91ac2cfeb69..bd41c474eb8 100644 --- a/cmake/QtExecutableHelpers.cmake +++ b/cmake/QtExecutableHelpers.cmake @@ -110,6 +110,12 @@ function(qt_internal_add_executable name) "removed in a future Qt version. Use the LIBRARIES option instead.") endif() + if(arg_NO_UNITY_BUILD) + set(arg_NO_UNITY_BUILD NO_UNITY_BUILD) + else() + set(arg_NO_UNITY_BUILD "") + endif() + qt_internal_extend_target("${name}" SOURCES ${arg_SOURCES} INCLUDE_DIRECTORIES ${private_includes} @@ -128,6 +134,8 @@ function(qt_internal_add_executable name) MOC_OPTIONS ${arg_MOC_OPTIONS} ENABLE_AUTOGEN_TOOLS ${arg_ENABLE_AUTOGEN_TOOLS} DISABLE_AUTOGEN_TOOLS ${arg_DISABLE_AUTOGEN_TOOLS} + NO_UNITY_BUILD_SOURCES ${arg_NO_UNITY_BUILD_SOURCES} + ${arg_NO_UNITY_BUILD} ) set_target_properties("${name}" PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${arg_OUTPUT_DIRECTORY}" |
