mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-04 12:49:36 -06:00
Autogen: Do not use per-config file suffixes with VS yet
The change in commit v3.9.0-rc1~42^2~1 (Autogen: Per-config file suffixes, 2017-05-15) broke Visual Studio builds because the generators do not yet fully support per-config sources. Disable the behavior on Visual Studio generators for now. Fixes: #16939
This commit is contained in:
@@ -72,9 +72,6 @@ Included ``moc_*.cpp`` and ``*.moc`` files will be generated in the
|
|||||||
automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
|
automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
|
||||||
(This differs from CMake 3.7 and below; see their documentation for details.)
|
(This differs from CMake 3.7 and below; see their documentation for details.)
|
||||||
|
|
||||||
* For multi configuration generators, except Xcode, the include directory is
|
|
||||||
``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``.
|
|
||||||
|
|
||||||
* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
|
* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
|
||||||
|
|
||||||
Not included ``moc_<basename>.cpp`` files will be generated in custom
|
Not included ``moc_<basename>.cpp`` files will be generated in custom
|
||||||
@@ -82,9 +79,6 @@ folders to avoid name collisions and included in a separate
|
|||||||
``<AUTOGEN_BUILD_DIR>/mocs_compilation.cpp`` file which is compiled
|
``<AUTOGEN_BUILD_DIR>/mocs_compilation.cpp`` file which is compiled
|
||||||
into the target.
|
into the target.
|
||||||
|
|
||||||
* For multi configuration generators, except Xcode, the file is
|
|
||||||
``<AUTOGEN_BUILD_DIR>/mocs_compilation_<CONFIG>.cpp``.
|
|
||||||
|
|
||||||
* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
|
* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
|
||||||
|
|
||||||
The ``moc`` command line will consume the :prop_tgt:`COMPILE_DEFINITIONS` and
|
The ``moc`` command line will consume the :prop_tgt:`COMPILE_DEFINITIONS` and
|
||||||
@@ -123,9 +117,6 @@ The generated generated ``ui_*.h`` files are placed in the
|
|||||||
automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
|
automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
|
||||||
(This differs from CMake 3.7 and below; see their documentation for details.)
|
(This differs from CMake 3.7 and below; see their documentation for details.)
|
||||||
|
|
||||||
* For multi configuration generators, except Xcode, the include directory is
|
|
||||||
``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``.
|
|
||||||
|
|
||||||
* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
|
* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
|
||||||
|
|
||||||
The :prop_tgt:`AUTOUIC` target property may be pre-set for all following
|
The :prop_tgt:`AUTOUIC` target property may be pre-set for all following
|
||||||
|
|||||||
@@ -20,9 +20,6 @@ source files at build time and invoke moc accordingly.
|
|||||||
This allows the compiler to find the included ``moc_<basename>.cpp`` file
|
This allows the compiler to find the included ``moc_<basename>.cpp`` file
|
||||||
regardless of the location the original source.
|
regardless of the location the original source.
|
||||||
|
|
||||||
* For multi configuration generators, except Xcode, the include directory is
|
|
||||||
``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``.
|
|
||||||
|
|
||||||
* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
|
* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
|
||||||
|
|
||||||
* If an ``#include`` statement like ``#include "<basename>.moc"`` is found,
|
* If an ``#include`` statement like ``#include "<basename>.moc"`` is found,
|
||||||
@@ -36,10 +33,6 @@ source files at build time and invoke moc accordingly.
|
|||||||
``<AUTOGEN_BUILD_DIR>/mocs_compilation.cpp`` file,
|
``<AUTOGEN_BUILD_DIR>/mocs_compilation.cpp`` file,
|
||||||
which is compiled as part of the target.
|
which is compiled as part of the target.
|
||||||
|
|
||||||
* For multi configuration generators, except Xcode, the file names are
|
|
||||||
``moc_<basename>_<CONFIG>.cpp`` and
|
|
||||||
``<AUTOGEN_BUILD_DIR>/mocs_compilation_<CONFIG>.cpp``.
|
|
||||||
|
|
||||||
* The custom directories with checksum
|
* The custom directories with checksum
|
||||||
based names help to avoid name collisions for moc files with the same
|
based names help to avoid name collisions for moc files with the same
|
||||||
``<basename>``.
|
``<basename>``.
|
||||||
|
|||||||
@@ -17,9 +17,6 @@ optional :prop_tgt:`AUTOUIC_SEARCH_PATHS` of the target.
|
|||||||
``<AUTOGEN_BUILD_DIR>/include``,
|
``<AUTOGEN_BUILD_DIR>/include``,
|
||||||
which is automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
|
which is automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
|
||||||
|
|
||||||
* For multi configuration generators, except Xcode, the include directory is
|
|
||||||
``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``.
|
|
||||||
|
|
||||||
* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
|
* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
|
||||||
|
|
||||||
This property is initialized by the value of the :variable:`CMAKE_AUTOUIC`
|
This property is initialized by the value of the :variable:`CMAKE_AUTOUIC`
|
||||||
|
|||||||
@@ -162,6 +162,10 @@ static bool IsMultiConfig(cmGlobalGenerator* globalGen)
|
|||||||
if (globalGen->GetName().find("Xcode") != std::string::npos) {
|
if (globalGen->GetName().find("Xcode") != std::string::npos) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
// FIXME: Visual Studio does not fully support per-config sources yet.
|
||||||
|
if (globalGen->GetName().find("Visual Studio") != std::string::npos) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return globalGen->IsMultiConfig();
|
return globalGen->IsMultiConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user