forked from qt-creator/qt-creator
Add compile options to cmake declarative interface
It offers an clean interface to disable warnings Change-Id: Ia19360994d7ca439d067d2370d001d5aeae3999d Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -126,7 +126,7 @@ endfunction()
|
|||||||
function(add_qtc_library name)
|
function(add_qtc_library name)
|
||||||
cmake_parse_arguments(_arg "STATIC;OBJECT;SHARED;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;FEATURE_INFO;SKIP_PCH;EXCLUDE_FROM_INSTALL"
|
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"
|
"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})
|
get_default_defines(default_defines_copy ${_arg_ALLOW_ASCII_CASTS})
|
||||||
@@ -209,6 +209,8 @@ function(add_qtc_library name)
|
|||||||
EXPLICIT_MOC ${_arg_EXPLICIT_MOC}
|
EXPLICIT_MOC ${_arg_EXPLICIT_MOC}
|
||||||
SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC}
|
SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC}
|
||||||
EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS}
|
EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS}
|
||||||
|
PRIVATE_COMPILE_OPTIONS ${_arg_PRIVATE_COMPILE_OPTIONS}
|
||||||
|
PUBLIC_COMPILE_OPTIONS ${_arg_PUBLIC_COMPILE_OPTIONS}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (QTC_STATIC_BUILD)
|
if (QTC_STATIC_BUILD)
|
||||||
@@ -330,7 +332,7 @@ function(add_qtc_plugin target_name)
|
|||||||
cmake_parse_arguments(_arg
|
cmake_parse_arguments(_arg
|
||||||
"SKIP_INSTALL;INTERNAL_ONLY;SKIP_TRANSLATION;EXPORT;SKIP_PCH"
|
"SKIP_INSTALL;INTERNAL_ONLY;SKIP_TRANSLATION;EXPORT;SKIP_PCH"
|
||||||
"VERSION;COMPAT_VERSION;PLUGIN_PATH;PLUGIN_NAME;OUTPUT_NAME;BUILD_DEFAULT;PLUGIN_CLASS"
|
"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}
|
${ARGN}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -498,6 +500,8 @@ function(add_qtc_plugin target_name)
|
|||||||
EXPLICIT_MOC ${_arg_EXPLICIT_MOC}
|
EXPLICIT_MOC ${_arg_EXPLICIT_MOC}
|
||||||
SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC}
|
SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC}
|
||||||
EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS}
|
EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS}
|
||||||
|
PRIVATE_COMPILE_OPTIONS ${_arg_PRIVATE_COMPILE_OPTIONS}
|
||||||
|
PUBLIC_COMPILE_OPTIONS ${_arg_PUBLIC_COMPILE_OPTIONS}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (QTC_STATIC_BUILD)
|
if (QTC_STATIC_BUILD)
|
||||||
@@ -635,7 +639,7 @@ endfunction()
|
|||||||
function(add_qtc_executable name)
|
function(add_qtc_executable name)
|
||||||
cmake_parse_arguments(_arg "SKIP_INSTALL;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;SKIP_PCH;QTC_RUNNABLE"
|
cmake_parse_arguments(_arg "SKIP_INSTALL;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;SKIP_PCH;QTC_RUNNABLE"
|
||||||
"DESTINATION;COMPONENT;BUILD_DEFAULT"
|
"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})
|
if (${_arg_UNPARSED_ARGUMENTS})
|
||||||
message(FATAL_ERROR "add_qtc_executable had 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}
|
EXPLICIT_MOC ${_arg_EXPLICIT_MOC}
|
||||||
SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC}
|
SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC}
|
||||||
EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS}
|
EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS}
|
||||||
|
PRIVATE_COMPILE_OPTIONS ${_arg_PRIVATE_COMPILE_OPTIONS}
|
||||||
|
PUBLIC_COMPILE_OPTIONS ${_arg_PUBLIC_COMPILE_OPTIONS}
|
||||||
)
|
)
|
||||||
|
|
||||||
set(skip_translation OFF)
|
set(skip_translation OFF)
|
||||||
@@ -838,7 +844,7 @@ endfunction()
|
|||||||
|
|
||||||
function(add_qtc_test name)
|
function(add_qtc_test name)
|
||||||
cmake_parse_arguments(_arg "GTEST;MANUALTEST;EXCLUDE_FROM_PRECHECK;NEEDS_GUI" "TIMEOUT"
|
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})
|
if (${_arg_UNPARSED_ARGUMENTS})
|
||||||
message(FATAL_ERROR "add_qtc_test had 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}
|
DEFINES ${_arg_DEFINES} ${TEST_DEFINES} ${default_defines_copy}
|
||||||
EXPLICIT_MOC ${_arg_EXPLICIT_MOC}
|
EXPLICIT_MOC ${_arg_EXPLICIT_MOC}
|
||||||
SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC}
|
SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC}
|
||||||
|
PRIVATE_COMPILE_OPTIONS ${_arg_PRIVATE_COMPILE_OPTIONS}
|
||||||
|
PUBLIC_COMPILE_OPTIONS ${_arg_PUBLIC_COMPILE_OPTIONS}
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(${name} PROPERTIES
|
set_target_properties(${name} PROPERTIES
|
||||||
|
@@ -481,7 +481,7 @@ function(extend_qtc_target target_name)
|
|||||||
cmake_parse_arguments(_arg
|
cmake_parse_arguments(_arg
|
||||||
""
|
""
|
||||||
"SOURCES_PREFIX;SOURCES_PREFIX_FROM_TARGET;FEATURE_INFO"
|
"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}
|
${ARGN}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -569,6 +569,16 @@ function(extend_qtc_target target_name)
|
|||||||
if (_arg_SOURCES_PROPERTIES)
|
if (_arg_SOURCES_PROPERTIES)
|
||||||
set_source_files_properties(${_arg_SOURCES} PROPERTIES ${_arg_SOURCES_PROPERTIES})
|
set_source_files_properties(${_arg_SOURCES} PROPERTIES ${_arg_SOURCES_PROPERTIES})
|
||||||
endif()
|
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()
|
endfunction()
|
||||||
|
|
||||||
function (qtc_env_with_default envName varToSet default)
|
function (qtc_env_with_default envName varToSet default)
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
add_qtc_library(Nanotrace
|
add_qtc_library(Nanotrace
|
||||||
PUBLIC_DEFINES NANOTRACE_ENABLED
|
PUBLIC_DEFINES NANOTRACE_ENABLED
|
||||||
|
PUBLIC_COMPILE_OPTIONS $<$<COMPILE_LANG_AND_ID:CXX,MSVC>:/wd5030>
|
||||||
SOURCES
|
SOURCES
|
||||||
nanotraceglobals.h
|
nanotraceglobals.h
|
||||||
nanotrace.cpp nanotrace.h
|
nanotrace.cpp nanotrace.h
|
||||||
@@ -11,10 +12,6 @@ add_qtc_library(Nanotrace
|
|||||||
VISIBILITY_INLINES_HIDDEN OFF
|
VISIBILITY_INLINES_HIDDEN OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
if(TARGET Nanotrace)
|
|
||||||
target_compile_options(Nanotrace PUBLIC $<$<COMPILE_LANG_AND_ID:CXX,MSVC>:/wd5030>)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(DESIGNSTUDIO_USE_NANOTRACE
|
option(DESIGNSTUDIO_USE_NANOTRACE
|
||||||
"Enables collecting performance data with nanotrace for Design Studio" OFF)
|
"Enables collecting performance data with nanotrace for Design Studio" OFF)
|
||||||
extend_qtc_library(Nanotrace
|
extend_qtc_library(Nanotrace
|
||||||
|
@@ -20,7 +20,7 @@ add_qtc_library(SqliteInternal OBJECT
|
|||||||
|
|
||||||
extend_qtc_library(SqliteInternal
|
extend_qtc_library(SqliteInternal
|
||||||
CONDITION QTC_STATIC_BUILD
|
CONDITION QTC_STATIC_BUILD
|
||||||
PROPERTIES COMPILE_OPTIONS $<IF:$<CXX_COMPILER_ID:MSVC>,/FIsqlite_static_config.h,-includesqlite_static_config.h>
|
PRIVATE_COMPILE_OPTIONS $<IF:$<CXX_COMPILER_ID:MSVC>,/FIsqlite_static_config.h,-includesqlite_static_config.h>
|
||||||
)
|
)
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
@@ -80,5 +80,5 @@ extend_qtc_library(Sqlite
|
|||||||
|
|
||||||
extend_qtc_library(Sqlite
|
extend_qtc_library(Sqlite
|
||||||
CONDITION QTC_STATIC_BUILD
|
CONDITION QTC_STATIC_BUILD
|
||||||
PROPERTIES COMPILE_OPTIONS $<IF:$<CXX_COMPILER_ID:MSVC>,/FIsqlite_static_config.h,-includesqlite_static_config.h>
|
PRIVATE_COMPILE_OPTIONS $<IF:$<CXX_COMPILER_ID:MSVC>,/FIsqlite_static_config.h,-includesqlite_static_config.h>
|
||||||
)
|
)
|
||||||
|
@@ -8,13 +8,13 @@ if (APPLE)
|
|||||||
set(QmlDesignerPluginInstallPrefix "${IDE_PLUGIN_PATH}/QmlDesigner")
|
set(QmlDesignerPluginInstallPrefix "${IDE_PLUGIN_PATH}/QmlDesigner")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
set(BUILD_NOT_DESIGNSTUDIO NOT ${BUILD_NOT_DESIGNSTUDIO})
|
set(BUILD_NOT_DESIGNSTUDIO NOT ${BUILD_NOT_DESIGNSTUDIO})
|
||||||
option(QTC_USE_QML_DESIGNER_LITE "Use Qml Designer Lite" ${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} "")
|
add_feature_info("Qml Designer Lite" ${QTC_USE_QML_DESIGNER_LITE} "")
|
||||||
|
|
||||||
option(USE_PROJECTSTORAGE "Use ProjectStorage" ${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)
|
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})
|
option(ENABLE_PROJECT_STORAGE_TRACING "Enable sqlite tracing" ${ENV_QTC_ENABLE_PROJECT_STORAGE_TRACING})
|
||||||
add_feature_info("Sqlite tracing" ${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
|
add_qtc_library(QmlDesignerUtils STATIC
|
||||||
DEPENDS
|
DEPENDS
|
||||||
Qt::Gui Utils Qt::QmlPrivate
|
Qt::Gui Utils Qt::QmlPrivate
|
||||||
|
|
||||||
PUBLIC_INCLUDES ${CMAKE_CURRENT_LIST_DIR}/utils
|
PUBLIC_INCLUDES ${CMAKE_CURRENT_LIST_DIR}/utils
|
||||||
SOURCES_PREFIX ${CMAKE_CURRENT_LIST_DIR}/utils
|
SOURCES_PREFIX ${CMAKE_CURRENT_LIST_DIR}/utils
|
||||||
|
PUBLIC_COMPILE_OPTIONS
|
||||||
|
$<$<COMPILE_LANG_AND_ID:CXX,Clang>:-Wno-unneeded-internal-declaration>
|
||||||
SOURCES
|
SOURCES
|
||||||
asset.cpp asset.h
|
asset.cpp asset.h
|
||||||
designeralgorithm.h
|
designeralgorithm.h
|
||||||
@@ -49,12 +50,11 @@ add_qtc_library(QmlDesignerUtils STATIC
|
|||||||
qmldesignerutils_global.h
|
qmldesignerutils_global.h
|
||||||
)
|
)
|
||||||
|
|
||||||
target_compile_options(QmlDesignerUtils PUBLIC $<$<COMPILE_LANG_AND_ID:CXX,Clang,GNU>:-Wno-error=maybe-uninitialized>)
|
|
||||||
target_compile_options(QmlDesignerUtils PUBLIC $<$<COMPILE_LANG_AND_ID:CXX,Clang>:-Wno-unneeded-internal-declaration>)
|
|
||||||
|
|
||||||
extend_qtc_library(QmlDesignerUtils
|
extend_qtc_library(QmlDesignerUtils
|
||||||
CONDITION ENABLE_COMPILE_WARNING_AS_ERROR
|
CONDITION ENABLE_COMPILE_WARNING_AS_ERROR
|
||||||
PROPERTIES COMPILE_WARNING_AS_ERROR ON
|
PROPERTIES COMPILE_WARNING_AS_ERROR ON
|
||||||
|
PUBLIC_COMPILE_OPTIONS
|
||||||
|
$<$<COMPILE_LANG_AND_ID:CXX,Clang,GNU>:-Wno-error=maybe-uninitialized>
|
||||||
)
|
)
|
||||||
|
|
||||||
add_qtc_library(QmlDesignerCore STATIC
|
add_qtc_library(QmlDesignerCore STATIC
|
||||||
@@ -115,6 +115,7 @@ extend_qtc_library(QmlDesignerCore
|
|||||||
extend_qtc_library(QmlDesignerCore
|
extend_qtc_library(QmlDesignerCore
|
||||||
CONDITION ENABLE_COMPILE_WARNING_AS_ERROR
|
CONDITION ENABLE_COMPILE_WARNING_AS_ERROR
|
||||||
PROPERTIES COMPILE_WARNING_AS_ERROR ON
|
PROPERTIES COMPILE_WARNING_AS_ERROR ON
|
||||||
|
PUBLIC_COMPILE_OPTIONS $<$<COMPILE_LANG_AND_ID:CXX,Clang,GNU>:-Wno-error=maybe-uninitialized>
|
||||||
)
|
)
|
||||||
|
|
||||||
extend_qtc_library(QmlDesignerCore
|
extend_qtc_library(QmlDesignerCore
|
||||||
@@ -549,6 +550,7 @@ add_qtc_plugin(QmlDesigner
|
|||||||
extend_qtc_plugin(QmlDesigner
|
extend_qtc_plugin(QmlDesigner
|
||||||
CONDITION ENABLE_COMPILE_WARNING_AS_ERROR
|
CONDITION ENABLE_COMPILE_WARNING_AS_ERROR
|
||||||
PROPERTIES COMPILE_WARNING_AS_ERROR ON
|
PROPERTIES COMPILE_WARNING_AS_ERROR ON
|
||||||
|
PUBLIC_COMPILE_OPTIONS $<$<COMPILE_LANG_AND_ID:CXX,Clang,GNU>:-Wno-error=maybe-uninitialized>
|
||||||
)
|
)
|
||||||
|
|
||||||
function(get_and_add_as_subdirectory name repository git_tag build_dir source_dir source_subdir)
|
function(get_and_add_as_subdirectory name repository git_tag build_dir source_dir source_subdir)
|
||||||
|
Reference in New Issue
Block a user