diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2020-08-13 14:36:50 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2020-08-17 18:19:24 +0200 |
commit | d6e41abd62f03761388664574c538a8c7de9b50d (patch) | |
tree | 8d9d2d7dde6991558d02003adec36b36a9c4e316 /cmake/QtInternalTargets.cmake | |
parent | a930e657edbc4dcd1437f3f4146a4e46e0ce2d62 (diff) |
CMake: Handle -D, -I, -F and -L configure arguments
Introduce new CMake variables and map
-D to QT_EXTRA_DEFINES,
-I to QT_EXTRA_INCLUDEPATHS,
-L to QT_EXTRA_LIBDIRS,
and -F to QT_EXTRA_FRAMEWORKPATHS.
Those variables only affect the Qt build, not user projects.
Fixes: QTBUG-85878
Change-Id: I229df2eed1505a2619068d0d32975962b052569a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/QtInternalTargets.cmake')
-rw-r--r-- | cmake/QtInternalTargets.cmake | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/cmake/QtInternalTargets.cmake b/cmake/QtInternalTargets.cmake index ced23b9d6a..c616d76bb7 100644 --- a/cmake/QtInternalTargets.cmake +++ b/cmake/QtInternalTargets.cmake @@ -187,6 +187,25 @@ if (GCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.2") target_compile_options(PlatformCommonInternal INTERFACE $<$<COMPILE_LANGUAGE:CXX>:-Wsuggest-override>) endif() +if(DEFINED QT_EXTRA_DEFINES) + target_compile_definitions(PlatformCommonInternal INTERFACE ${QT_EXTRA_DEFINES}) +endif() + +if(DEFINED QT_EXTRA_INCLUDEPATHS) + target_include_directories(PlatformCommonInternal INTERFACE ${QT_EXTRA_INCLUDEPATHS}) +endif() + +if(DEFINED QT_EXTRA_LIBDIRS) + target_link_directories(PlatformCommonInternal INTERFACE ${QT_EXTRA_LIBDIRS}) +endif() + +if(DEFINED QT_EXTRA_FRAMEWORKPATHS AND APPLE) + list(TRANSFORM QT_EXTRA_FRAMEWORKPATHS PREPEND "-F" OUTPUT_VARIABLE __qt_fw_flags) + target_compile_options(PlatformCommonInternal INTERFACE ${__qt_fw_flags}) + target_link_options(PlatformCommonInternal INTERFACE ${__qt_fw_flags}) + unset(__qt_fw_flags) +endif() + function(qt_get_implicit_sse2_genex_condition out_var) set(is_shared_lib "$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>") set(is_static_lib "$<STREQUAL:$<TARGET_PROPERTY:TYPE>,STATIC_LIBRARY>") |