diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index c27d24b43a1..1aa84119311 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -126,7 +126,7 @@ endfunction() function(add_qtc_library name) cmake_parse_arguments(_arg "STATIC;OBJECT;SHARED;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;FEATURE_INFO;SKIP_PCH;EXCLUDE_FROM_INSTALL" "DESTINATION;COMPONENT;SOURCES_PREFIX;BUILD_DEFAULT" - "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;SYSTEM_INCLUDES;PUBLIC_INCLUDES;PUBLIC_SYSTEM_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES" ${ARGN} + "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;SYSTEM_INCLUDES;PUBLIC_INCLUDES;PUBLIC_SYSTEM_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES;PRIVATE_COMPILE_OPTIONS;PUBLIC_COMPILE_OPTIONS;INTERFACE_COMPILE_OPTIONS" ${ARGN} ) get_default_defines(default_defines_copy ${_arg_ALLOW_ASCII_CASTS}) @@ -209,6 +209,8 @@ function(add_qtc_library name) EXPLICIT_MOC ${_arg_EXPLICIT_MOC} SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC} EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS} + PRIVATE_COMPILE_OPTIONS ${_arg_PRIVATE_COMPILE_OPTIONS} + PUBLIC_COMPILE_OPTIONS ${_arg_PUBLIC_COMPILE_OPTIONS} ) if (QTC_STATIC_BUILD) @@ -330,7 +332,7 @@ function(add_qtc_plugin target_name) cmake_parse_arguments(_arg "SKIP_INSTALL;INTERNAL_ONLY;SKIP_TRANSLATION;EXPORT;SKIP_PCH" "VERSION;COMPAT_VERSION;PLUGIN_PATH;PLUGIN_NAME;OUTPUT_NAME;BUILD_DEFAULT;PLUGIN_CLASS" - "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;SYSTEM_INCLUDES;PUBLIC_INCLUDES;PUBLIC_SYSTEM_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;PLUGIN_TEST_DEPENDS;PLUGIN_MANUAL_DEPENDS;PROPERTIES" + "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;SYSTEM_INCLUDES;PUBLIC_INCLUDES;PUBLIC_SYSTEM_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;PLUGIN_TEST_DEPENDS;PLUGIN_MANUAL_DEPENDS;PROPERTIES;PRIVATE_COMPILE_OPTIONS;PUBLIC_COMPILE_OPTIONS" ${ARGN} ) @@ -498,6 +500,8 @@ function(add_qtc_plugin target_name) EXPLICIT_MOC ${_arg_EXPLICIT_MOC} SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC} EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS} + PRIVATE_COMPILE_OPTIONS ${_arg_PRIVATE_COMPILE_OPTIONS} + PUBLIC_COMPILE_OPTIONS ${_arg_PUBLIC_COMPILE_OPTIONS} ) if (QTC_STATIC_BUILD) @@ -635,7 +639,7 @@ endfunction() function(add_qtc_executable name) cmake_parse_arguments(_arg "SKIP_INSTALL;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;SKIP_PCH;QTC_RUNNABLE" "DESTINATION;COMPONENT;BUILD_DEFAULT" - "CONDITION;DEPENDS;DEFINES;INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES" ${ARGN}) + "CONDITION;DEPENDS;DEFINES;INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES;PRIVATE_COMPILE_OPTIONS;PUBLIC_COMPILE_OPTIONS" ${ARGN}) if (${_arg_UNPARSED_ARGUMENTS}) message(FATAL_ERROR "add_qtc_executable had unparsed arguments!") @@ -711,6 +715,8 @@ function(add_qtc_executable name) EXPLICIT_MOC ${_arg_EXPLICIT_MOC} SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC} EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS} + PRIVATE_COMPILE_OPTIONS ${_arg_PRIVATE_COMPILE_OPTIONS} + PUBLIC_COMPILE_OPTIONS ${_arg_PUBLIC_COMPILE_OPTIONS} ) set(skip_translation OFF) @@ -838,7 +844,7 @@ endfunction() function(add_qtc_test name) cmake_parse_arguments(_arg "GTEST;MANUALTEST;EXCLUDE_FROM_PRECHECK;NEEDS_GUI" "TIMEOUT" - "DEFINES;DEPENDS;INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;SKIP_PCH;CONDITION;PROPERTIES" ${ARGN}) + "DEFINES;DEPENDS;INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;SKIP_PCH;CONDITION;PROPERTIES;PRIVATE_COMPILE_OPTIONS;PUBLIC_COMPILE_OPTIONS" ${ARGN}) if (${_arg_UNPARSED_ARGUMENTS}) message(FATAL_ERROR "add_qtc_test had unparsed arguments!") @@ -890,6 +896,8 @@ function(add_qtc_test name) DEFINES ${_arg_DEFINES} ${TEST_DEFINES} ${default_defines_copy} EXPLICIT_MOC ${_arg_EXPLICIT_MOC} SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC} + PRIVATE_COMPILE_OPTIONS ${_arg_PRIVATE_COMPILE_OPTIONS} + PUBLIC_COMPILE_OPTIONS ${_arg_PUBLIC_COMPILE_OPTIONS} ) set_target_properties(${name} PROPERTIES diff --git a/cmake/QtCreatorAPIInternal.cmake b/cmake/QtCreatorAPIInternal.cmake index 0cd3602d543..bf9ee0132ac 100644 --- a/cmake/QtCreatorAPIInternal.cmake +++ b/cmake/QtCreatorAPIInternal.cmake @@ -481,7 +481,7 @@ function(extend_qtc_target target_name) cmake_parse_arguments(_arg "" "SOURCES_PREFIX;SOURCES_PREFIX_FROM_TARGET;FEATURE_INFO" - "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;SYSTEM_INCLUDES;PUBLIC_INCLUDES;PUBLIC_SYSTEM_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES;SOURCES_PROPERTIES" + "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;SYSTEM_INCLUDES;PUBLIC_INCLUDES;PUBLIC_SYSTEM_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES;SOURCES_PROPERTIES;PRIVATE_COMPILE_OPTIONS;PUBLIC_COMPILE_OPTIONS" ${ARGN} ) @@ -569,6 +569,16 @@ function(extend_qtc_target target_name) if (_arg_SOURCES_PROPERTIES) set_source_files_properties(${_arg_SOURCES} PROPERTIES ${_arg_SOURCES_PROPERTIES}) endif() + + + if (_arg_PRIVATE_COMPILE_OPTIONS) + target_compile_options(${target_name} PRIVATE ${_arg_PRIVATE_COMPILE_OPTIONS}) + endif() + + if (_arg_PUBLIC_COMPILE_OPTIONS) + target_compile_options(${target_name} PUBLIC ${_arg_PUBLIC_COMPILE_OPTIONS}) + endif() + endfunction() function (qtc_env_with_default envName varToSet default) diff --git a/src/libs/nanotrace/CMakeLists.txt b/src/libs/nanotrace/CMakeLists.txt index 50693644ea5..2c5791cf638 100644 --- a/src/libs/nanotrace/CMakeLists.txt +++ b/src/libs/nanotrace/CMakeLists.txt @@ -1,5 +1,6 @@ add_qtc_library(Nanotrace PUBLIC_DEFINES NANOTRACE_ENABLED + PUBLIC_COMPILE_OPTIONS $<$:/wd5030> SOURCES nanotraceglobals.h nanotrace.cpp nanotrace.h @@ -11,10 +12,6 @@ add_qtc_library(Nanotrace VISIBILITY_INLINES_HIDDEN OFF ) -if(TARGET Nanotrace) - target_compile_options(Nanotrace PUBLIC $<$:/wd5030>) -endif() - option(DESIGNSTUDIO_USE_NANOTRACE "Enables collecting performance data with nanotrace for Design Studio" OFF) extend_qtc_library(Nanotrace diff --git a/src/libs/sqlite/CMakeLists.txt b/src/libs/sqlite/CMakeLists.txt index f86f31871a4..d0657468efc 100644 --- a/src/libs/sqlite/CMakeLists.txt +++ b/src/libs/sqlite/CMakeLists.txt @@ -20,7 +20,7 @@ add_qtc_library(SqliteInternal OBJECT extend_qtc_library(SqliteInternal CONDITION QTC_STATIC_BUILD - PROPERTIES COMPILE_OPTIONS $,/FIsqlite_static_config.h,-includesqlite_static_config.h> + PRIVATE_COMPILE_OPTIONS $,/FIsqlite_static_config.h,-includesqlite_static_config.h> ) if (APPLE) @@ -80,5 +80,5 @@ extend_qtc_library(Sqlite extend_qtc_library(Sqlite CONDITION QTC_STATIC_BUILD - PROPERTIES COMPILE_OPTIONS $,/FIsqlite_static_config.h,-includesqlite_static_config.h> + PRIVATE_COMPILE_OPTIONS $,/FIsqlite_static_config.h,-includesqlite_static_config.h> ) diff --git a/src/plugins/qmldesigner/CMakeLists.txt b/src/plugins/qmldesigner/CMakeLists.txt index 4e62b72369d..273560ad2b4 100644 --- a/src/plugins/qmldesigner/CMakeLists.txt +++ b/src/plugins/qmldesigner/CMakeLists.txt @@ -8,13 +8,13 @@ if (APPLE) set(QmlDesignerPluginInstallPrefix "${IDE_PLUGIN_PATH}/QmlDesigner") endif() - set(BUILD_NOT_DESIGNSTUDIO NOT ${BUILD_NOT_DESIGNSTUDIO}) option(QTC_USE_QML_DESIGNER_LITE "Use Qml Designer Lite" ${BUILD_NOT_DESIGNSTUDIO}) add_feature_info("Qml Designer Lite" ${QTC_USE_QML_DESIGNER_LITE} "") option(USE_PROJECTSTORAGE "Use ProjectStorage" ${QTC_USE_QML_DESIGNER_LITE}) + env_with_default("QTC_ENABLE_PROJECT_STORAGE_TRACING" ENV_QTC_ENABLE_PROJECT_STORAGE_TRACING OFF) option(ENABLE_PROJECT_STORAGE_TRACING "Enable sqlite tracing" ${ENV_QTC_ENABLE_PROJECT_STORAGE_TRACING}) add_feature_info("Sqlite tracing" ${ENABLE_PROJECT_STORAGE_TRACING} "") @@ -34,9 +34,10 @@ add_feature_info("Meta info tracing" ${ENABLE_METAINFO_TRACING} "") add_qtc_library(QmlDesignerUtils STATIC DEPENDS Qt::Gui Utils Qt::QmlPrivate - PUBLIC_INCLUDES ${CMAKE_CURRENT_LIST_DIR}/utils SOURCES_PREFIX ${CMAKE_CURRENT_LIST_DIR}/utils + PUBLIC_COMPILE_OPTIONS + $<$:-Wno-unneeded-internal-declaration> SOURCES asset.cpp asset.h designeralgorithm.h @@ -49,12 +50,11 @@ add_qtc_library(QmlDesignerUtils STATIC qmldesignerutils_global.h ) -target_compile_options(QmlDesignerUtils PUBLIC $<$:-Wno-error=maybe-uninitialized>) -target_compile_options(QmlDesignerUtils PUBLIC $<$:-Wno-unneeded-internal-declaration>) - extend_qtc_library(QmlDesignerUtils CONDITION ENABLE_COMPILE_WARNING_AS_ERROR PROPERTIES COMPILE_WARNING_AS_ERROR ON + PUBLIC_COMPILE_OPTIONS + $<$:-Wno-error=maybe-uninitialized> ) add_qtc_library(QmlDesignerCore STATIC @@ -115,6 +115,7 @@ extend_qtc_library(QmlDesignerCore extend_qtc_library(QmlDesignerCore CONDITION ENABLE_COMPILE_WARNING_AS_ERROR PROPERTIES COMPILE_WARNING_AS_ERROR ON + PUBLIC_COMPILE_OPTIONS $<$:-Wno-error=maybe-uninitialized> ) extend_qtc_library(QmlDesignerCore @@ -549,6 +550,7 @@ add_qtc_plugin(QmlDesigner extend_qtc_plugin(QmlDesigner CONDITION ENABLE_COMPILE_WARNING_AS_ERROR PROPERTIES COMPILE_WARNING_AS_ERROR ON + PUBLIC_COMPILE_OPTIONS $<$:-Wno-error=maybe-uninitialized> ) function(get_and_add_as_subdirectory name repository git_tag build_dir source_dir source_subdir)