cmTarget: put compile-related properties in a group

This commit is contained in:
Ben Boeckel 2023-01-29 22:53:11 -05:00
parent 7ac338be98
commit 9bb824a237

View File

@ -501,17 +501,77 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
// Setup default property values.
if (this->CanCompileSources()) {
SETUP_COMMON_LANGUAGE_PROPERTIES(C);
SETUP_COMMON_LANGUAGE_PROPERTIES(OBJC);
SETUP_COMMON_LANGUAGE_PROPERTIES(CXX);
SETUP_COMMON_LANGUAGE_PROPERTIES(OBJCXX);
SETUP_COMMON_LANGUAGE_PROPERTIES(CUDA);
SETUP_COMMON_LANGUAGE_PROPERTIES(HIP);
// Compilation properties
initProp("INTERPROCEDURAL_OPTIMIZATION");
// initProp("INTERPROCEDURAL_OPTIMIZATION_<CONFIG>"); (per-config block)
initProp("NO_SYSTEM_FROM_IMPORTED");
initProp("VISIBILITY_INLINES_HIDDEN");
initProp("COMPILE_WARNING_AS_ERROR");
// -- Features
// ---- PCH
initProp("DISABLE_PRECOMPILE_HEADERS");
initPropValue("PCH_WARN_INVALID", "ON");
initPropValue("PCH_INSTANTIATE_TEMPLATES", "ON");
// -- Platforms
// ---- Android
initProp("ANDROID_API");
initProp("ANDROID_API_MIN");
initProp("ANDROID_ARCH");
initProp("ANDROID_ASSETS_DIRECTORIES");
initProp("ANDROID_JAVA_SOURCE_DIR");
initProp("ANDROID_STL_TYPE");
// ---- macOS
initProp("OSX_ARCHITECTURES");
// ---- Windows
initProp("MSVC_DEBUG_INFORMATION_FORMAT");
initProp("MSVC_RUNTIME_LIBRARY");
initProp("VS_JUST_MY_CODE_DEBUGGING");
// ---- OpenWatcom
initProp("WATCOM_RUNTIME_LIBRARY");
// -- Language
// ---- C
SETUP_COMMON_LANGUAGE_PROPERTIES(C);
// ---- C++
SETUP_COMMON_LANGUAGE_PROPERTIES(CXX);
// ---- CUDA
SETUP_COMMON_LANGUAGE_PROPERTIES(CUDA);
initProp("CUDA_SEPARABLE_COMPILATION");
initProp("CUDA_ARCHITECTURES");
// ---- Fortran
initProp("Fortran_FORMAT");
initProp("Fortran_MODULE_DIRECTORY");
initProp("Fortran_COMPILER_LAUNCHER");
initProp("Fortran_PREPROCESS");
initProp("Fortran_VISIBILITY_PRESET");
// ---- HIP
SETUP_COMMON_LANGUAGE_PROPERTIES(HIP);
initProp("HIP_ARCHITECTURES");
// ---- ISPC
initProp("ISPC_COMPILER_LAUNCHER");
initProp("ISPC_HEADER_DIRECTORY");
initPropValue("ISPC_HEADER_SUFFIX", "_ispc.h");
initProp("ISPC_INSTRUCTION_SETS");
// ---- Objective C
SETUP_COMMON_LANGUAGE_PROPERTIES(OBJC);
// ---- Objective C++
SETUP_COMMON_LANGUAGE_PROPERTIES(OBJCXX);
// ---- Swift
initProp("Swift_LANGUAGE_VERSION");
initProp("Swift_MODULE_DIRECTORY");
// ---- moc
initProp("AUTOMOC");
initProp("AUTOMOC_COMPILER_PREDEFINES");
initProp("AUTOMOC_MACRO_NAMES");
initProp("AUTOMOC_MOC_OPTIONS");
initProp("AUTOMOC_PATH_PREFIX");
// ---- uic
initProp("AUTOUIC");
initProp("AUTOUIC_OPTIONS");
initProp("AUTOUIC_SEARCH_PATHS");
// ---- rcc
initProp("AUTORCC");
initProp("AUTORCC_OPTIONS");
initProp("ANDROID_SKIP_ANT_STEP");
initProp("ANDROID_PROCESS_MAX");
initProp("ANDROID_PROGUARD");
@ -519,10 +579,8 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
initProp("ANDROID_SECURE_PROPS_PATH");
initProp("ANDROID_NATIVE_LIB_DIRECTORIES");
initProp("ANDROID_NATIVE_LIB_DEPENDENCIES");
initProp("ANDROID_JAVA_SOURCE_DIR");
initProp("ANDROID_JAR_DIRECTORIES");
initProp("ANDROID_JAR_DEPENDENCIES");
initProp("ANDROID_ASSETS_DIRECTORIES");
initProp("ANDROID_ANT_ADDITIONAL_OPTIONS");
initProp("BUILD_RPATH");
initProp("BUILD_RPATH_USE_ORIGIN");
@ -531,7 +589,6 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
initProp("INSTALL_REMOVE_ENVIRONMENT_RPATH");
initPropValue("INSTALL_RPATH", "");
initPropValue("INSTALL_RPATH_USE_LINK_PATH", "OFF");
initProp("INTERPROCEDURAL_OPTIMIZATION");
initPropValue("SKIP_BUILD_RPATH", "OFF");
initPropValue("BUILD_WITH_INSTALL_RPATH", "OFF");
initProp("ARCHIVE_OUTPUT_DIRECTORY");
@ -541,36 +598,16 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
initProp("COMPILE_PDB_OUTPUT_DIRECTORY");
initProp("FRAMEWORK");
initProp("FRAMEWORK_MULTI_CONFIG_POSTFIX");
initProp("Fortran_FORMAT");
initProp("Fortran_MODULE_DIRECTORY");
initProp("Fortran_COMPILER_LAUNCHER");
initProp("Fortran_PREPROCESS");
initProp("Fortran_VISIBILITY_PRESET");
initProp("GNUtoMS");
initProp("OSX_ARCHITECTURES");
initProp("IOS_INSTALL_COMBINED");
initProp("AUTOMOC");
initProp("AUTOUIC");
initProp("AUTORCC");
initProp("AUTOGEN_ORIGIN_DEPENDS");
initProp("AUTOGEN_PARALLEL");
initProp("AUTOMOC_COMPILER_PREDEFINES");
initProp("AUTOMOC_DEPEND_FILTERS");
initProp("AUTOMOC_MACRO_NAMES");
initProp("AUTOMOC_MOC_OPTIONS");
initProp("AUTOUIC_OPTIONS");
initProp("AUTOMOC_PATH_PREFIX");
initProp("AUTOUIC_SEARCH_PATHS");
initProp("AUTORCC_OPTIONS");
initProp("LINK_DEPENDS_NO_SHARED");
initProp("LINK_INTERFACE_LIBRARIES");
initProp("MSVC_DEBUG_INFORMATION_FORMAT");
initProp("MSVC_RUNTIME_LIBRARY");
initProp("WATCOM_RUNTIME_LIBRARY");
initProp("WIN32_EXECUTABLE");
initProp("MACOSX_BUNDLE");
initProp("MACOSX_RPATH");
initProp("NO_SYSTEM_FROM_IMPORTED");
initProp("BUILD_WITH_INSTALL_NAME_DIR");
initProp("C_CLANG_TIDY");
initProp("C_CLANG_TIDY_EXPORT_FIXES_DIR");
@ -585,20 +622,12 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
initProp("CXX_CPPCHECK");
initProp("CXX_INCLUDE_WHAT_YOU_USE");
initProp("CXX_LINKER_LAUNCHER");
initProp("CUDA_SEPARABLE_COMPILATION");
initProp("CUDA_RESOLVE_DEVICE_SYMBOLS");
initProp("CUDA_RUNTIME_LIBRARY");
initProp("CUDA_ARCHITECTURES");
initProp("HIP_RUNTIME_LIBRARY");
initProp("HIP_ARCHITECTURES");
initProp("VISIBILITY_INLINES_HIDDEN");
initProp("JOB_POOL_COMPILE");
initProp("JOB_POOL_LINK");
initProp("JOB_POOL_PRECOMPILE_HEADER");
initProp("ISPC_COMPILER_LAUNCHER");
initProp("ISPC_HEADER_DIRECTORY");
initPropValue("ISPC_HEADER_SUFFIX", "_ispc.h");
initProp("ISPC_INSTRUCTION_SETS");
initProp("LINK_SEARCH_START_STATIC");
initProp("LINK_SEARCH_END_STATIC");
initProp("OBJC_CLANG_TIDY");
@ -607,20 +636,13 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
initProp("OBJCXX_CLANG_TIDY");
initProp("OBJCXX_CLANG_TIDY_EXPORT_FIXES_DIR");
initProp("OBJCXX_LINKER_LAUNCHER");
initProp("Swift_LANGUAGE_VERSION");
initProp("Swift_MODULE_DIRECTORY");
initProp("VS_JUST_MY_CODE_DEBUGGING");
initProp("VS_NO_COMPILE_BATCHING");
initProp("DISABLE_PRECOMPILE_HEADERS");
initProp("UNITY_BUILD");
initProp("UNITY_BUILD_UNIQUE_ID");
initProp("OPTIMIZE_DEPENDENCIES");
initProp("EXPORT_COMPILE_COMMANDS");
initProp("COMPILE_WARNING_AS_ERROR");
initPropValue("UNITY_BUILD_BATCH_SIZE", "8");
initPropValue("UNITY_BUILD_MODE", "BATCH");
initPropValue("PCH_WARN_INVALID", "ON");
initPropValue("PCH_INSTANTIATE_TEMPLATES", "ON");
#ifdef __APPLE__
if (this->GetGlobalGenerator()->IsXcode()) {