summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Help/command/file.rst2
-rw-r--r--Help/cpack_gen/ifw.rst45
-rw-r--r--Modules/CMakePrintSystemInformation.cmake4
-rw-r--r--Modules/CMakeSwiftCompiler.cmake.in2
-rw-r--r--Modules/CMakeTestSwiftCompiler.cmake5
-rw-r--r--Modules/CPack.cmake41
-rw-r--r--Modules/CPackIFW.cmake23
-rw-r--r--Modules/ExternalProject.cmake47
-rw-r--r--Modules/FindHDF5.cmake104
-rw-r--r--Modules/FindMPI.cmake60
-rw-r--r--Modules/FindOpenMP.cmake32
-rw-r--r--Modules/FindPython/Support.cmake225
-rw-r--r--Modules/Platform/Darwin.cmake2
-rw-r--r--Source/CMakeVersion.cmake2
-rw-r--r--Source/cmComputeLinkDepends.cxx17
-rw-r--r--Source/cmComputeLinkDepends.h3
-rw-r--r--Source/cmComputeLinkInformation.cxx82
-rw-r--r--Source/cmComputeLinkInformation.h20
-rw-r--r--Source/cmGlobVerificationManager.cxx2
-rw-r--r--Source/cmGlobalNinjaGenerator.cxx12
-rw-r--r--Source/cmGlobalNinjaGenerator.h2
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx4
-rw-r--r--Source/cmInstallCommand.cxx44
-rw-r--r--Source/cmLinkLineComputer.cxx22
-rw-r--r--Source/cmLinkLineDeviceComputer.cxx10
-rw-r--r--Source/cmLocalVisualStudio7Generator.cxx4
-rw-r--r--Source/cmVisualStudio10TargetGenerator.cxx16
-rw-r--r--Tests/FindPython/VirtualEnv/CMakeLists.txt1
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-check.py4758
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/alias.json15
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/custom.json15
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/cxx.json19
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir.json12
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir_dir.json10
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/external.json14
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/imported.json18
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/object.json17
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/top.json28
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/alias.json14
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/codemodel-v2.json28
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/custom.json14
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/cxx.json18
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/external.json13
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/imported.json17
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/object.json16
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_alias.json83
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_custom.json79
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_cxx.json99
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_external.json79
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_imported.json95
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_object.json91
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_top.json179
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_alias_exe.json107
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_exe.json143
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_lib.json108
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_exe.json141
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_lib.json82
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_exe.json143
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_lib.json123
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_exe.json143
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_lib.json108
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_exe.json107
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_tgt.json87
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_alias_exe.json107
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_exe.json213
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_lib.json84
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_exe.json141
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_lib.json82
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_exe.json107
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_lib.json99
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_exe.json107
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_lib.json84
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/generated_exe.json303
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/interface_exe.json152
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_exe.json90
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_interface_exe.json90
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_object_exe.json90
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_shared_exe.json90
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_static_exe.json90
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_alias.json70
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_custom.json70
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_cxx.json70
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_external.json70
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_imported.json70
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_object.json70
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_top.json70
-rw-r--r--Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake7
-rw-r--r--Tests/RunCMake/NinjaMultiConfig/SimpleDefaultBuildAliasListCross-target-configs-ninja-check.cmake37
-rw-r--r--Tests/RunCMake/NinjaMultiConfig/SimpleDefaultBuildAliasListCross.cmake1
-rw-r--r--Tests/RunCMake/XcodeProject/RunCMakeTest.cmake21
-rw-r--r--Tests/RunCMake/XcodeProject/XcodeRemoveExcessiveISystem.cmake52
-rw-r--r--Tests/RunCMake/XcodeProject/foo.swift2
-rw-r--r--Tests/RunCMake/XcodeProject/use_cmath.cpp6
-rw-r--r--Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-build-stdout.txt1
-rw-r--r--Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-rebuild-stdout.txt1
-rw-r--r--Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-stdout.txt1
-rw-r--r--Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake.cmake10
-rw-r--r--Tests/RunCMake/file/RunCMakeTest.cmake19
-rw-r--r--Tests/RunCMake/install/TARGETS-Defaults-Cache-all-check.cmake9
-rw-r--r--Tests/RunCMake/install/TARGETS-Defaults-Cache-stderr.txt2
-rw-r--r--Tests/RunCMake/install/TARGETS-Defaults-Cache.cmake1
-rw-r--r--Tests/RunCMake/install/TARGETS-Defaults-all-check.cmake9
-rw-r--r--Tests/RunCMake/install/TARGETS-Defaults-stderr.txt2
-rw-r--r--Tests/RunCMake/install/TARGETS-Defaults.cmake1
-rw-r--r--Utilities/Release/win32_release.cmake1
-rw-r--r--Utilities/Release/win64_release.cmake1
106 files changed, 5430 insertions, 5029 deletions
diff --git a/Help/command/file.rst b/Help/command/file.rst
index b186177..df7d8ba 100644
--- a/Help/command/file.rst
+++ b/Help/command/file.rst
@@ -540,7 +540,7 @@ are only traversed if ``FOLLOW_SYMLINKS`` is given or policy
By default ``GLOB_RECURSE`` omits directories from result list - setting
``LIST_DIRECTORIES`` to true adds directories to result list.
If ``FOLLOW_SYMLINKS`` is given or policy :policy:`CMP0009` is not set to
-``OLD`` then ``LIST_DIRECTORIES`` treats symlinks as directories.
+``NEW`` then ``LIST_DIRECTORIES`` treats symlinks as directories.
Examples of recursive globbing include::
diff --git a/Help/cpack_gen/ifw.rst b/Help/cpack_gen/ifw.rst
index feccd3d..4a9ab99 100644
--- a/Help/cpack_gen/ifw.rst
+++ b/Help/cpack_gen/ifw.rst
@@ -1,43 +1,38 @@
CPack IFW Generator
-------------------
-See :module:`CPackIFW` for details on the CPackIFW module.
-
-.. _QtIFW: http://doc.qt.io/qtinstallerframework/index.html
-
-
Overview
^^^^^^^^
-CPack ``IFW`` generator helps you to create online and offline
-binary cross-platform installers with a graphical user interface.
-
-CPack IFW generator prepares project installation and generates configuration
-and meta information for QtIFW_ tools.
+This :manual:`cpack generator <cpack-generators(7)>` generates
+configuration and meta information for the `Qt Installer Framework
+<http://doc.qt.io/qtinstallerframework/index.html>`_ (QtIFW).
-The QtIFW_ provides a set of tools and utilities to create
-installers for the supported desktop Qt platforms: Linux, Microsoft Windows,
-and macOS.
+QtIFW provides tools and utilities to create installers for
+the platforms supported by `Qt <https://www.qt.io>`_: Linux,
+Microsoft Windows, and macOS.
-You should also install QtIFW_ to use CPack ``IFW`` generator.
+To make use of this generator, QtIFW should also be installed.
+The module :module:`CPackIFW` looks for the location of the
+QtIFW command-line utilities.
Hints
^^^^^
-Generally, the CPack ``IFW`` generator automatically finds QtIFW_ tools,
-but if you don't use a default path for installation of the QtIFW_ tools,
+Generally, the CPack ``IFW`` generator automatically finds QtIFW tools,
+but if you don't use a default path for installation of the QtIFW tools,
the path may be specified in either a CMake or an environment variable:
.. variable:: CPACK_IFW_ROOT
- An CMake variable which specifies the location of the QtIFW_ tool suite.
+ An CMake variable which specifies the location of the QtIFW tool suite.
The variable will be cached in the ``CPackConfig.cmake`` file and used at
CPack runtime.
.. variable:: QTIFWDIR
- An environment variable which specifies the location of the QtIFW_ tool
+ An environment variable which specifies the location of the QtIFW tool
suite.
.. note::
@@ -53,7 +48,7 @@ Internationalization
Some variables and command arguments support internationalization via
CMake script. This is an optional feature.
-Installers created by QtIFW_ tools have built-in support for
+Installers created by QtIFW tools have built-in support for
internationalization and many phrases are localized to many languages,
but this does not apply to the description of the your components and groups
that will be distributed.
@@ -185,7 +180,7 @@ Package
Filename of the generated maintenance tool.
The platform-specific executable file extension is appended.
- By default used QtIFW_ defaults (``maintenancetool``).
+ By default used QtIFW defaults (``maintenancetool``).
.. variable:: CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR
@@ -197,19 +192,19 @@ Package
Filename for the configuration of the generated maintenance tool.
- By default used QtIFW_ defaults (``maintenancetool.ini``).
+ By default used QtIFW defaults (``maintenancetool.ini``).
.. variable:: CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
Set to ``ON`` if the installation path can contain non-ASCII characters.
- Is ``ON`` for QtIFW_ less 2.0 tools.
+ Is ``ON`` for QtIFW less 2.0 tools.
.. variable:: CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
Set to ``OFF`` if the installation path cannot contain space characters.
- Is ``ON`` for QtIFW_ less 2.0 tools.
+ Is ``ON`` for QtIFW less 2.0 tools.
.. variable:: CPACK_IFW_PACKAGE_CONTROL_SCRIPT
@@ -266,14 +261,14 @@ Components
Additional prepared repository dirs that will be used to resolve and
repack dependent components. This feature available only
- since QtIFW_ 3.1.
+ since QtIFW 3.1.
Tools
"""""
.. variable:: CPACK_IFW_FRAMEWORK_VERSION
- The version of used QtIFW_ tools.
+ The version of used QtIFW tools.
.. variable:: CPACK_IFW_BINARYCREATOR_EXECUTABLE
diff --git a/Modules/CMakePrintSystemInformation.cmake b/Modules/CMakePrintSystemInformation.cmake
index f873a4d..8d5cf5c 100644
--- a/Modules/CMakePrintSystemInformation.cmake
+++ b/Modules/CMakePrintSystemInformation.cmake
@@ -5,9 +5,9 @@
CMakePrintSystemInformation
---------------------------
-print system information
+Print system information.
-This file can be used for diagnostic purposes just include it in a
+This module serves diagnostic purposes. Just include it in a
project to see various internal CMake variables.
#]=======================================================================]
diff --git a/Modules/CMakeSwiftCompiler.cmake.in b/Modules/CMakeSwiftCompiler.cmake.in
index 7c8d1c1..47ada38 100644
--- a/Modules/CMakeSwiftCompiler.cmake.in
+++ b/Modules/CMakeSwiftCompiler.cmake.in
@@ -12,3 +12,5 @@ set(CMAKE_Swift_COMPILER_ENV_VAR "SWIFTC")
set(CMAKE_Swift_COMPILER_ID_RUN 1)
set(CMAKE_Swift_SOURCE_FILE_EXTENSIONS swift)
+
+set(CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES "@CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES@")
diff --git a/Modules/CMakeTestSwiftCompiler.cmake b/Modules/CMakeTestSwiftCompiler.cmake
index 3e4ff95..d98dc9d 100644
--- a/Modules/CMakeTestSwiftCompiler.cmake
+++ b/Modules/CMakeTestSwiftCompiler.cmake
@@ -50,6 +50,11 @@ else()
"the following output:\n${__CMAKE_Swift_COMPILER_OUTPUT}\n\n")
endif()
+ # Unlike C and CXX we do not yet detect any information about the Swift ABI.
+ # However, one of the steps done for C and CXX as part of that detection is
+ # to initialize the implicit include directories. That is relevant here.
+ set(CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES "${_CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES_INIT}")
+
# Re-configure to save learned information.
configure_file(${CMAKE_ROOT}/Modules/CMakeSwiftCompiler.cmake.in
${CMAKE_PLATFORM_INFO_DIR}/CMakeSwiftCompiler.cmake @ONLY)
diff --git a/Modules/CPack.cmake b/Modules/CPack.cmake
index 684edae..baf7e47 100644
--- a/Modules/CPack.cmake
+++ b/Modules/CPack.cmake
@@ -5,22 +5,23 @@
CPack
-----
-Build binary and source package installers.
+Configure the binary and source package installers.
Introduction
^^^^^^^^^^^^
-The CPack module generates a file ``CPackConfig.cmake`` intended for
-use in a subsequent run of the :manual:`cpack <cpack(1)>` program
-where it steers the generation of installers or/and source packages.
+The CPack module generates the configuration files ``CPackConfig.cmake``
+and ``CPackSourceConfig.cmake``. They are intended for use in a subsequent
+run of the :manual:`cpack <cpack(1)>` program where they steer the generation
+of installers or/and source packages.
-Inclusion of the CPack module adds two new build targets, ``package``
-and ``package_source``, which build the binary and source installers
-respectively. The generated binary installers contain everything
-installed via CMake's :command:`install` command (and the deprecated
-commands :command:`install_files`, :command:`install_programs`, and
-:command:`install_targets`).
+Depending on the CMake generator, the CPack module may also add two new build
+targets, ``package`` and ``package_source``. See the `packaging targets`_
+section below for details.
+The generated binary installers contain everything installed via CMake's
+:command:`install` command (and the deprecated commands :command:`install_files`,
+:command:`install_programs`, and :command:`install_targets`).
For certain kinds of binary installers (including the graphical
installers on macOS and Windows), CPack generates installers that
allow users to select individual application components to install.
@@ -63,6 +64,26 @@ This is the key: For each generator listed in :variable:`CPACK_GENERATOR` in
internally to *the one currently being used* and then include the
:variable:`CPACK_PROJECT_CONFIG_FILE`.
+For a list of available generators, see :manual:`cpack-generators(7)`.
+
+.. _`packaging targets`:
+
+Targets package and package_source
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If CMake is run with the Makefile, Ninja, or Xcode generator, then
+``include(CPack)`` generates a target ``package``. This makes it possible
+to build a binary installer from CMake, Make, or Ninja: Instead of ``cpack``,
+one may call ``cmake --build . --target package`` or ``make package`` or
+``ninja package``. The VS generator creates an uppercase target ``PACKAGE``.
+
+If CMake is run with the Makefile or Ninja generator, then ``include(CPack)``
+also generates a target ``package_source``. To build a source package,
+instead of ``cpack -G TGZ --config CPackConfig.cmake`` one may call
+``cmake --build . --target package_source``, ``make package_source``,
+or ``ninja package_source``.
+
+
Variables common to all CPack Generators
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/Modules/CPackIFW.cmake b/Modules/CPackIFW.cmake
index 42ef8c7..f58f9ef 100644
--- a/Modules/CPackIFW.cmake
+++ b/Modules/CPackIFW.cmake
@@ -5,15 +5,12 @@
CPackIFW
--------
-The documentation for the CPack IFW generator has moved here: :cpack_gen:`CPack IFW Generator`
-
-.. _QtIFW: http://doc.qt.io/qtinstallerframework/index.html
-
-This module looks for the location of the command line utilities supplied
-with the Qt Installer Framework (QtIFW_).
+This module looks for the location of the command-line utilities supplied with the
+`Qt Installer Framework <http://doc.qt.io/qtinstallerframework/index.html>`_
+(QtIFW).
The module also defines several commands to control the behavior of the
-CPack ``IFW`` generator.
+:cpack_gen:`CPack IFW Generator`.
Commands
^^^^^^^^
@@ -102,10 +99,10 @@ The module defines the following commands:
``DEPENDS`` | ``DEPENDENCIES``
list of dependency component or component group identifiers in
- QtIFW_ style.
+ QtIFW style.
``AUTO_DEPEND_ON``
- list of identifiers of component or component group in QtIFW_ style
+ list of identifiers of component or component group in QtIFW style
that this component has an automatic dependency on.
``LICENSES``
@@ -207,10 +204,10 @@ The module defines the following commands:
``DEPENDS`` | ``DEPENDENCIES``
list of dependency component or component group identifiers in
- QtIFW_ style.
+ QtIFW style.
``AUTO_DEPEND_ON``
- list of identifiers of component or component group in QtIFW_ style
+ list of identifiers of component or component group in QtIFW style
that this component group has an automatic dependency on.
``LICENSES``
@@ -242,7 +239,7 @@ The module defines the following commands:
.. command:: cpack_ifw_add_repository
- Add QtIFW_ specific remote repository to binary installer.
+ Add QtIFW specific remote repository to binary installer.
::
@@ -273,7 +270,7 @@ The module defines the following commands:
.. command:: cpack_ifw_update_repository
- Update QtIFW_ specific repository from remote repository.
+ Update QtIFW specific repository from remote repository.
::
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index db3716a..c69a2ee 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -1239,7 +1239,7 @@ endif()
endfunction()
-function(_ep_write_gitupdate_script script_filename git_EXECUTABLE git_tag git_remote_name init_submodules git_submodules git_repository work_dir)
+function(_ep_write_gitupdate_script script_filename git_EXECUTABLE git_tag git_remote_name init_submodules git_submodules_recurse git_submodules git_repository work_dir)
if("${git_tag}" STREQUAL "")
message(FATAL_ERROR "Tag for git checkout should not be empty.")
endif()
@@ -2339,6 +2339,29 @@ function(_ep_is_dir_empty dir empty_var)
endif()
endfunction()
+function(_ep_get_git_submodules_recurse git_submodules_recurse)
+ # Checks for GIT_SUBMODULES_RECURSE property
+ # Default is ON, which sets git_submodules_recurse output variable to "--recursive"
+ # Otherwise, the output variable is set to an empty value ""
+ get_property(git_submodules_recurse_set TARGET ${name} PROPERTY _EP_GIT_SUBMODULES_RECURSE SET)
+ if(NOT git_submodules_recurse_set)
+ set(recurseFlag "--recursive")
+ else()
+ get_property(git_submodules_recurse_value TARGET ${name} PROPERTY _EP_GIT_SUBMODULES_RECURSE)
+ if(git_submodules_recurse_value)
+ set(recurseFlag "--recursive")
+ else()
+ set(recurseFlag "")
+ endif()
+ endif()
+ set(${git_submodules_recurse} "${recurseFlag}" PARENT_SCOPE)
+
+ # The git submodule update '--recursive' flag requires git >= v1.6.5
+ if(recurseFlag AND GIT_VERSION_STRING VERSION_LESS 1.6.5)
+ message(FATAL_ERROR "error: git version 1.6.5 or later required for --recursive flag with 'git submodule ...': GIT_VERSION_STRING='${GIT_VERSION_STRING}'")
+ endif()
+endfunction()
+
function(_ep_add_download_command name)
ExternalProject_Get_Property(${name} source_dir stamp_dir download_dir tmp_dir)
@@ -2431,23 +2454,7 @@ function(_ep_add_download_command name)
message(FATAL_ERROR "error: could not find git for clone of ${name}")
endif()
- get_property(git_submodules_recurse_set TARGET ${name} PROPERTY _EP_GIT_SUBMODULES_RECURSE SET)
- if(NOT git_submodules_recurse_set)
- set(git_submodules_recurse "--recursive")
- else()
- get_property(git_submodules_recurse_value TARGET ${name} PROPERTY _EP_GIT_SUBMODULES_RECURSE)
- if(git_submodules_recurse_value)
- set(git_submodules_recurse "--recursive")
- else()
- set(git_submodules_recurse "")
- endif()
- endif()
-
- # The git submodule update '--recursive' flag requires git >= v1.6.5
- #
- if(git_submodules_recurse AND GIT_VERSION_STRING VERSION_LESS 1.6.5)
- message(FATAL_ERROR "error: git version 1.6.5 or later required for 'git submodule update --recursive': GIT_VERSION_STRING='${GIT_VERSION_STRING}'")
- endif()
+ _ep_get_git_submodules_recurse(git_submodules_recurse)
get_property(git_tag TARGET ${name} PROPERTY _EP_GIT_TAG)
if(NOT git_tag)
@@ -2774,8 +2781,10 @@ function(_ep_add_update_command name)
endif()
endif()
+ _ep_get_git_submodules_recurse(git_submodules_recurse)
+
_ep_write_gitupdate_script(${tmp_dir}/${name}-gitupdate.cmake
- ${GIT_EXECUTABLE} ${git_tag} ${git_remote_name} ${git_init_submodules} "${git_submodules}" ${git_repository} ${work_dir}
+ ${GIT_EXECUTABLE} ${git_tag} ${git_remote_name} ${git_init_submodules} "${git_submodules_recurse}" "${git_submodules}" ${git_repository} ${work_dir}
)
set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-gitupdate.cmake)
set(always 1)
diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake
index b488418..c1888a4 100644
--- a/Modules/FindHDF5.cmake
+++ b/Modules/FindHDF5.cmake
@@ -19,9 +19,12 @@ The module will optionally accept the ``COMPONENTS`` argument. If no
``COMPONENTS`` are specified, then the find module will default to finding
only the ``HDF5`` C library. If one or more ``COMPONENTS`` are specified, the
module will attempt to find the language bindings for the specified
-components. The only valid components are ``C``, ``CXX``, ``Fortran``, ``HL``,
-and ``Fortran_HL``. If the ``COMPONENTS`` argument is not given, the module will
+components. The valid components are ``C``, ``CXX``, ``Fortran``, ``HL``.
+``HL`` refers to the "high-level" HDF5 functions for C and Fortran.
+If the ``COMPONENTS`` argument is not given, the module will
attempt to find only the C bindings.
+For example, to use Fortran HDF5 and HDF5-HL functions, do:
+``find_package(HDF5 COMPONENTS Fortran HL)``.
This module will read the variable
``HDF5_USE_STATIC_LIBRARIES`` to determine whether or not to prefer a
@@ -29,11 +32,6 @@ static link to a dynamic link for ``HDF5`` and all of it's dependencies.
To use this feature, make sure that the ``HDF5_USE_STATIC_LIBRARIES``
variable is set before the call to find_package.
-To provide the module with a hint about where to find your ``HDF5``
-installation, you can set the environment variable ``HDF5_ROOT``. The
-Find module will then look in this path when searching for ``HDF5``
-executables, paths, and libraries.
-
Both the serial and parallel ``HDF5`` wrappers are considered and the first
directory to contain either one will be used. In the event that both appear
in the same directory the serial version is preferentially selected. This
@@ -115,10 +113,10 @@ also be defined. With all components enabled, the following variables will be d
Hints
^^^^^
-The following variable can be set to guide the search for HDF5 libraries and includes:
+The following variables can be set to guide the search for HDF5 libraries and includes:
-``HDF5_ROOT``
- Specify the path to the HDF5 installation to use.
+``HDF5_PREFER_PARALLEL``
+ set ``true`` to prefer parallel HDF5 (by default, serial is preferred)
``HDF5_FIND_DEBUG``
Set ``true`` to get extra debugging output.
@@ -343,35 +341,46 @@ macro( _HDF5_invoke_compiler language output return_value version is_parallel)
elseif("${language}" STREQUAL "Fortran")
set(test_file ${scratch_dir}/cmake_hdf5_test.f90)
endif()
+ # Verify that the compiler wrapper can actually compile: sometimes the compiler
+ # wrapper exists, but not the compiler. E.g. Miniconda / Anaconda Python
execute_process(
- COMMAND ${HDF5_${language}_COMPILER_EXECUTABLE} -show ${lib_type_args} ${test_file}
- OUTPUT_VARIABLE ${output}
- ERROR_VARIABLE ${output}
+ COMMAND ${HDF5_${language}_COMPILER_EXECUTABLE} ${test_file}
RESULT_VARIABLE ${return_value}
)
if(NOT ${${return_value}} EQUAL 0)
- message(STATUS
- "Unable to determine HDF5 ${language} flags from HDF5 wrapper.")
- endif()
- execute_process(
- COMMAND ${HDF5_${language}_COMPILER_EXECUTABLE} -showconfig
- OUTPUT_VARIABLE config_output
- ERROR_VARIABLE config_output
- RESULT_VARIABLE config_return
- )
- if(NOT ${return_value} EQUAL 0)
- message( STATUS
- "Unable to determine HDF5 ${language} version from HDF5 wrapper.")
- endif()
- string(REGEX MATCH "HDF5 Version: ([a-zA-Z0-9\\.\\-]*)" version_match "${config_output}")
- if(version_match)
- string(REPLACE "HDF5 Version: " "" ${version} "${version_match}")
- string(REPLACE "-patch" "." ${version} "${${version}}")
- endif()
- if(config_output MATCHES "Parallel HDF5: yes")
- set(${is_parallel} TRUE)
+ message(STATUS
+ "HDF5 ${language} compiler wrapper is unable to compile a minimal HDF5 program.")
else()
- set(${is_parallel} FALSE)
+ execute_process(
+ COMMAND ${HDF5_${language}_COMPILER_EXECUTABLE} -show ${lib_type_args} ${test_file}
+ OUTPUT_VARIABLE ${output}
+ ERROR_VARIABLE ${output}
+ RESULT_VARIABLE ${return_value}
+ )
+ if(NOT ${${return_value}} EQUAL 0)
+ message(STATUS
+ "Unable to determine HDF5 ${language} flags from HDF5 wrapper.")
+ endif()
+ execute_process(
+ COMMAND ${HDF5_${language}_COMPILER_EXECUTABLE} -showconfig
+ OUTPUT_VARIABLE config_output
+ ERROR_VARIABLE config_output
+ RESULT_VARIABLE config_return
+ )
+ if(NOT ${return_value} EQUAL 0)
+ message( STATUS
+ "Unable to determine HDF5 ${language} version from HDF5 wrapper.")
+ endif()
+ string(REGEX MATCH "HDF5 Version: ([a-zA-Z0-9\\.\\-]*)" version_match "${config_output}")
+ if(version_match)
+ string(REPLACE "HDF5 Version: " "" ${version} "${version_match}")
+ string(REPLACE "-patch" "." ${version} "${${version}}")
+ endif()
+ if(config_output MATCHES "Parallel HDF5: yes")
+ set(${is_parallel} TRUE)
+ else()
+ set(${is_parallel} FALSE)
+ endif()
endif()
endmacro()
@@ -769,6 +778,17 @@ if( NOT HDF5_FOUND )
set(HDF5_Fortran_LIBRARY_NAMES hdf5_fortran ${HDF5_C_LIBRARY_NAMES})
set(HDF5_Fortran_HL_LIBRARY_NAMES hdf5hl_fortran ${HDF5_C_HL_LIBRARY_NAMES} ${HDF5_Fortran_LIBRARY_NAMES})
+ # suffixes as seen on Linux, MSYS2, ...
+ set(_lib_suffixes hdf5)
+ if(NOT HDF5_PREFER_PARALLEL)
+ list(APPEND _lib_suffixes hdf5/serial)
+ endif()
+ if(HDF5_USE_STATIC_LIBRARIES)
+ set(_inc_suffixes include/static)
+ else()
+ set(_inc_suffixes include/shared)
+ endif()
+
foreach(__lang IN LISTS HDF5_LANGUAGE_BINDINGS)
# find the HDF5 include directories
if("${__lang}" STREQUAL "Fortran")
@@ -782,7 +802,7 @@ if( NOT HDF5_FOUND )
find_path(HDF5_${__lang}_INCLUDE_DIR ${HDF5_INCLUDE_FILENAME}
HINTS ${HDF5_ROOT}
PATHS $ENV{HOME}/.local/include
- PATH_SUFFIXES include Include
+ PATH_SUFFIXES include Include ${_inc_suffixes} ${_lib_suffixes}
${_HDF5_SEARCH_OPTS}
)
mark_as_advanced(HDF5_${__lang}_INCLUDE_DIR)
@@ -811,14 +831,15 @@ if( NOT HDF5_FOUND )
endif()
find_library(HDF5_${LIB}_LIBRARY_DEBUG
NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
+ HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib ${_lib_suffixes}
${_HDF5_SEARCH_OPTS}
)
- find_library( HDF5_${LIB}_LIBRARY_RELEASE
+ find_library(HDF5_${LIB}_LIBRARY_RELEASE
NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
+ HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib ${_lib_suffixes}
${_HDF5_SEARCH_OPTS}
)
+
select_library_configurations( HDF5_${LIB} )
list(APPEND HDF5_${__lang}_LIBRARIES ${HDF5_${LIB}_LIBRARY})
endforeach()
@@ -848,14 +869,15 @@ if( NOT HDF5_FOUND )
endif()
find_library(HDF5_${LIB}_LIBRARY_DEBUG
NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
+ HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib ${_lib_suffixes}
${_HDF5_SEARCH_OPTS}
)
- find_library( HDF5_${LIB}_LIBRARY_RELEASE
+ find_library(HDF5_${LIB}_LIBRARY_RELEASE
NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
+ HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib ${_lib_suffixes}
${_HDF5_SEARCH_OPTS}
)
+
select_library_configurations( HDF5_${LIB} )
list(APPEND HDF5_${__lang}_HL_LIBRARIES ${HDF5_${LIB}_LIBRARY})
endforeach()
diff --git a/Modules/FindMPI.cmake b/Modules/FindMPI.cmake
index 3e42386..41e1d08 100644
--- a/Modules/FindMPI.cmake
+++ b/Modules/FindMPI.cmake
@@ -842,8 +842,8 @@ function (_MPI_interrogate_compiler LANG)
if(NOT MPI_${LANG}_COMPILE_DEFINITIONS)
set(MPI_${LANG}_COMPILE_DEFINITIONS ${MPI_COMPILE_DEFINITIONS_WORK} CACHE STRING "MPI ${LANG} compilation definitions" FORCE)
endif()
- if(NOT MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)
- set(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS ${MPI_INCLUDE_DIRS_WORK} CACHE STRING "MPI ${LANG} additional include directories" FORCE)
+ if(NOT MPI_${LANG}_COMPILER_INCLUDE_DIRS)
+ set(MPI_${LANG}_COMPILER_INCLUDE_DIRS ${MPI_INCLUDE_DIRS_WORK} CACHE STRING "MPI ${LANG} compiler wrapper include directories" FORCE)
endif()
if(NOT MPI_${LANG}_LINK_FLAGS)
set(MPI_${LANG}_LINK_FLAGS ${MPI_LINK_FLAGS_WORK} CACHE STRING "MPI ${LANG} linker flags" FORCE)
@@ -1071,20 +1071,41 @@ macro(_MPI_assemble_libraries LANG)
endif()
endmacro()
+macro(_MPI_assemble_include_dirs LANG)
+ set(MPI_${LANG}_INCLUDE_DIRS
+ ${MPI_${LANG}_COMPILER_INCLUDE_DIRS}
+ ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
+ )
+ if("${LANG}" MATCHES "(C|CXX)")
+ if(MPI_${LANG}_HEADER_DIR)
+ list(APPEND MPI_${LANG}_INCLUDE_DIRS "${MPI_${LANG}_HEADER_DIR}")
+ endif()
+ else() # Fortran
+ if(MPI_${LANG}_F77_HEADER_DIR)
+ list(APPEND MPI_${LANG}_INCLUDE_DIRS "${MPI_${LANG}_F77_HEADER_DIR}")
+ endif()
+ if(MPI_${LANG}_MODULE_DIR)
+ list(APPEND MPI_${LANG}_INCLUDE_DIRS "${MPI_${LANG}_MODULE_DIR}")
+ endif()
+ endif()
+ if(MPI_${LANG}_INCLUDE_DIRS)
+ list(REMOVE_DUPLICATES MPI_${LANG}_INCLUDE_DIRS)
+ endif()
+endmacro()
+
macro(_MPI_split_include_dirs LANG)
# Backwards compatibility: Search INCLUDE_PATH if given.
if(MPI_${LANG}_INCLUDE_PATH)
list(APPEND MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS "${MPI_${LANG}_INCLUDE_PATH}")
endif()
- # Preserve the include dirs before stripping out the components
- set(MPI_${LANG}_INCLUDE_DIRS ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS})
-
# We try to find the headers/modules among those paths (and system paths)
# For C/C++, we just need to have a look for mpi.h.
if("${LANG}" MATCHES "(C|CXX)")
find_path(MPI_${LANG}_HEADER_DIR "mpi.h"
- HINTS ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
+ HINTS
+ ${MPI_${LANG}_COMPILER_INCLUDE_DIRS}
+ ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
)
mark_as_advanced(MPI_${LANG}_HEADER_DIR)
if(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)
@@ -1097,11 +1118,15 @@ macro(_MPI_split_include_dirs LANG)
# a Fortran 90 module.
elseif("${LANG}" STREQUAL "Fortran")
find_path(MPI_${LANG}_F77_HEADER_DIR "mpif.h"
- HINTS ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
+ HINTS
+ ${MPI_${LANG}_COMPILER_INCLUDE_DIRS}
+ ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
)
find_path(MPI_${LANG}_MODULE_DIR
NAMES "mpi.mod" "mpi_f08.mod"
- HINTS ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
+ HINTS
+ ${MPI_${LANG}_COMPILER_INCLUDE_DIRS}
+ ${MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS}
)
if(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)
list(REMOVE_ITEM MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS
@@ -1388,7 +1413,7 @@ foreach(LANG IN ITEMS C CXX Fortran)
set(MPI_CXX_SKIP_MPICXX FALSE CACHE BOOL "If true, the MPI-2 C++ bindings are disabled using definitions.")
mark_as_advanced(MPI_CXX_SKIP_MPICXX)
endif()
- if(NOT (MPI_${LANG}_LIB_NAMES AND (MPI_${LANG}_INCLUDE_PATH OR MPI_${LANG}_INCLUDE_DIRS OR MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS)))
+ if(NOT (MPI_${LANG}_LIB_NAMES AND (MPI_${LANG}_INCLUDE_PATH OR MPI_${LANG}_INCLUDE_DIRS OR MPI_${LANG}_COMPILER_INCLUDE_DIRS)))
set(MPI_${LANG}_TRIED_IMPLICIT FALSE)
set(MPI_${LANG}_WORKS_IMPLICIT FALSE)
if(NOT MPI_${LANG}_COMPILER AND NOT MPI_ASSUME_NO_BUILTIN_MPI)
@@ -1473,7 +1498,7 @@ foreach(LANG IN ITEMS C CXX Fortran)
if("${LANG}" STREQUAL "CXX" AND MPI_C_WRAPPER_FOUND)
set(MPI_${LANG}_COMPILE_OPTIONS ${MPI_C_COMPILE_OPTIONS} CACHE STRING "MPI ${LANG} compilation options" )
set(MPI_${LANG}_COMPILE_DEFINITIONS ${MPI_C_COMPILE_DEFINITIONS} CACHE STRING "MPI ${LANG} compilation definitions" )
- set(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS ${MPI_C_INCLUDE_DIRS} CACHE STRING "MPI ${LANG} additional include directories")
+ set(MPI_${LANG}_COMPILER_INCLUDE_DIRS ${MPI_C_INCLUDE_DIRS} CACHE STRING "MPI ${LANG} compiler wrapper include directories")
set(MPI_${LANG}_LINK_FLAGS ${MPI_C_LINK_FLAGS} CACHE STRING "MPI ${LANG} linker flags" )
set(MPI_${LANG}_LIB_NAMES ${MPI_C_LIB_NAMES} CACHE STRING "MPI ${LANG} libraries to link against" )
else()
@@ -1486,6 +1511,9 @@ foreach(LANG IN ITEMS C CXX Fortran)
if(NOT "${MPI_${LANG}_COMPILER}" STREQUAL "${CMAKE_${LANG}_COMPILER}")
_MPI_split_include_dirs(${LANG})
+ _MPI_assemble_include_dirs(${LANG})
+ else()
+ set(MPI_${LANG}_INCLUDE_DIRS "")
endif()
_MPI_assemble_libraries(${LANG})
@@ -1500,13 +1528,21 @@ foreach(LANG IN ITEMS C CXX Fortran)
# Next, we'll initialize the MPI variables that have not been previously set.
set(MPI_${LANG}_COMPILE_OPTIONS "" CACHE STRING "MPI ${LANG} compilation flags" )
set(MPI_${LANG}_COMPILE_DEFINITIONS "" CACHE STRING "MPI ${LANG} compilation definitions" )
+ set(MPI_${LANG}_COMPILER_INCLUDE_DIRS "" CACHE STRING "MPI ${LANG} compiler wrapper include directories")
set(MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS "" CACHE STRING "MPI ${LANG} additional include directories")
set(MPI_${LANG}_LINK_FLAGS "" CACHE STRING "MPI ${LANG} linker flags" )
if(NOT MPI_${LANG}_COMPILER STREQUAL CMAKE_${LANG}_COMPILER)
set(MPI_${LANG}_LIB_NAMES "" CACHE STRING "MPI ${LANG} libraries to link against" )
endif()
- mark_as_advanced(MPI_${LANG}_COMPILE_OPTIONS MPI_${LANG}_COMPILE_DEFINITIONS MPI_${LANG}_LINK_FLAGS
- MPI_${LANG}_LIB_NAMES MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS MPI_${LANG}_COMPILER)
+ mark_as_advanced(
+ MPI_${LANG}_COMPILE_OPTIONS
+ MPI_${LANG}_COMPILE_DEFINITIONS
+ MPI_${LANG}_LINK_FLAGS
+ MPI_${LANG}_LIB_NAMES
+ MPI_${LANG}_COMPILER_INCLUDE_DIRS
+ MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS
+ MPI_${LANG}_COMPILER
+ )
# If we've found MPI, then we'll perform additional analysis: Determine the MPI version, MPI library version, supported
# MPI APIs (i.e. MPI-2 C++ bindings). For Fortran we also need to find specific parameters if we're under MPI-3.
diff --git a/Modules/FindOpenMP.cmake b/Modules/FindOpenMP.cmake
index 26fed41..a4b1e1e 100644
--- a/Modules/FindOpenMP.cmake
+++ b/Modules/FindOpenMP.cmake
@@ -96,7 +96,7 @@ function(_OPENMP_FLAG_CANDIDATES LANG)
unset(OpenMP_FLAG_CANDIDATES)
set(OMP_FLAG_GNU "-fopenmp")
- set(OMP_FLAG_Clang "-fopenmp=libomp" "-fopenmp=libiomp5" "-fopenmp")
+ set(OMP_FLAG_Clang "-fopenmp=libomp" "-fopenmp=libiomp5" "-fopenmp" "-Xclang -fopenmp")
set(OMP_FLAG_AppleClang "-Xclang -fopenmp")
set(OMP_FLAG_HP "+Oopenmp")
if(WIN32)
@@ -299,6 +299,25 @@ function(_OPENMP_GET_FLAGS LANG FLAG_MODE OPENMP_FLAG_VAR OPENMP_LIB_NAMES_VAR)
break()
endif()
endif()
+ elseif(CMAKE_${LANG}_COMPILER_ID STREQUAL "Clang" AND WIN32)
+ # Check for separate OpenMP library for Clang on Windows
+ find_library(OpenMP_libomp_LIBRARY
+ NAMES libomp libgomp libiomp5
+ HINTS ${CMAKE_${LANG}_IMPLICIT_LINK_DIRECTORIES}
+ )
+ mark_as_advanced(OpenMP_libomp_LIBRARY)
+ if(OpenMP_libomp_LIBRARY)
+ try_compile( OpenMP_COMPILE_RESULT_${FLAG_MODE}_${OPENMP_PLAIN_FLAG} ${CMAKE_BINARY_DIR} ${_OPENMP_TEST_SRC}
+ CMAKE_FLAGS "-DCOMPILE_DEFINITIONS:STRING=${OPENMP_FLAGS_TEST}"
+ LINK_LIBRARIES ${CMAKE_${LANG}_VERBOSE_FLAG} ${OpenMP_libomp_LIBRARY}
+ OUTPUT_VARIABLE OpenMP_TRY_COMPILE_OUTPUT
+ )
+ if(OpenMP_COMPILE_RESULT_${FLAG_MODE}_${OPENMP_PLAIN_FLAG})
+ set("${OPENMP_FLAG_VAR}" "${OPENMP_FLAG}" PARENT_SCOPE)
+ set("${OPENMP_LIB_NAMES_VAR}" "libomp" PARENT_SCOPE)
+ break()
+ endif()
+ endif()
else()
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Detecting ${LANG} OpenMP failed with the following output:\n${OpenMP_TRY_COMPILE_OUTPUT}\n\n")
@@ -425,13 +444,12 @@ foreach(LANG IN ITEMS C CXX)
if(NOT DEFINED OpenMP_${LANG}_FLAGS OR "${OpenMP_${LANG}_FLAGS}" STREQUAL "NOTFOUND"
OR NOT DEFINED OpenMP_${LANG}_LIB_NAMES OR "${OpenMP_${LANG}_LIB_NAMES}" STREQUAL "NOTFOUND")
_OPENMP_GET_FLAGS("${LANG}" "${LANG}" OpenMP_${LANG}_FLAGS_WORK OpenMP_${LANG}_LIB_NAMES_WORK)
+ set(OpenMP_${LANG}_FLAGS "${OpenMP_${LANG}_FLAGS_WORK}"
+ CACHE STRING "${LANG} compiler flags for OpenMP parallelization" FORCE)
+ set(OpenMP_${LANG}_LIB_NAMES "${OpenMP_${LANG}_LIB_NAMES_WORK}"
+ CACHE STRING "${LANG} compiler libraries for OpenMP parallelization" FORCE)
+ mark_as_advanced(OpenMP_${LANG}_FLAGS OpenMP_${LANG}_LIB_NAMES)
endif()
-
- set(OpenMP_${LANG}_FLAGS "${OpenMP_${LANG}_FLAGS_WORK}"
- CACHE STRING "${LANG} compiler flags for OpenMP parallelization")
- set(OpenMP_${LANG}_LIB_NAMES "${OpenMP_${LANG}_LIB_NAMES_WORK}"
- CACHE STRING "${LANG} compiler libraries for OpenMP parallelization")
- mark_as_advanced(OpenMP_${LANG}_FLAGS OpenMP_${LANG}_LIB_NAMES)
endif()
endforeach()
diff --git a/Modules/FindPython/Support.cmake b/Modules/FindPython/Support.cmake
index 7483d72..889d407 100644
--- a/Modules/FindPython/Support.cmake
+++ b/Modules/FindPython/Support.cmake
@@ -473,14 +473,27 @@ function (_PYTHON_VALIDATE_INTERPRETER)
OUTPUT_VARIABLE version
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
- if (result OR (_PVI_EXACT AND NOT version VERSION_EQUAL expected_version) OR (version VERSION_LESS expected_version))
- # interpreter not usable or has wrong major version
- if (result)
- set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Cannot use the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+ if (result)
+ # interpreter is not usable
+ set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Cannot use the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+ set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "_${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
+ else()
+ if (_PVI_EXACT AND NOT version VERSION_EQUAL expected_version)
+ # interpreter has wrong version
+ set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Wrong version for the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+ set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "_${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
else()
- set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Wrong major version for the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+ # check that version is OK
+ string(REGEX REPLACE "^([0-9]+)\." "\\1" major_version "${version}")
+ string(REGEX REPLACE "^([0-9]+)\." "\\1" expected_major_version "${expected_version}")
+ if (NOT major_version VERSION_EQUAL expected_major_version
+ OR NOT version VERSION_GREATER_EQUAL expected_version)
+ set (_${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE "Wrong version for the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
+ set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "_${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
+ endif()
endif()
- set_property (CACHE _${_PYTHON_PREFIX}_EXECUTABLE PROPERTY VALUE "_${_PYTHON_PREFIX}_EXECUTABLE-NOTFOUND")
+ endif()
+ if (NOT _${_PYTHON_PREFIX}_EXECUTABLE)
return()
endif()
else()
@@ -912,6 +925,10 @@ if ("Interpreter" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS)
if (DEFINED ${_PYTHON_PREFIX}_EXECUTABLE
AND IS_ABSOLUTE "${${_PYTHON_PREFIX}_EXECUTABLE}")
+ if (NOT ${_PYTHON_PREFIX}_EXECUTABLE STREQUAL _${_PYTHON_PREFIX}_EXECUTABLE)
+ # invalidate cache properties
+ unset (_${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES CACHE)
+ endif()
set (_${_PYTHON_PREFIX}_EXECUTABLE "${${_PYTHON_PREFIX}_EXECUTABLE}" CACHE INTERNAL "")
elseif (DEFINED _${_PYTHON_PREFIX}_EXECUTABLE)
# compute interpreter signature and check validity of definition
@@ -925,7 +942,10 @@ if ("Interpreter" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS)
endif()
else()
unset (_${_PYTHON_PREFIX}_EXECUTABLE CACHE)
+ endif()
+ if (NOT _${_PYTHON_PREFIX}_EXECUTABLE)
unset (_${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE CACHE)
+ unset (_${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES CACHE)
endif()
endif()
@@ -1218,10 +1238,6 @@ if ("Interpreter" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS)
OUTPUT_STRIP_TRAILING_WHITESPACE)
if (NOT _${_PYTHON_PREFIX}_RESULT)
set (_${_PYTHON_PREFIX}_EXECUTABLE_USABLE TRUE)
- string (REGEX MATCHALL "[0-9]+" _${_PYTHON_PREFIX}_VERSIONS "${${_PYTHON_PREFIX}_VERSION}")
- list (GET _${_PYTHON_PREFIX}_VERSIONS 0 ${_PYTHON_PREFIX}_VERSION_MAJOR)
- list (GET _${_PYTHON_PREFIX}_VERSIONS 1 ${_PYTHON_PREFIX}_VERSION_MINOR)
- list (GET _${_PYTHON_PREFIX}_VERSIONS 2 ${_PYTHON_PREFIX}_VERSION_PATCH)
else()
# Interpreter is not usable
set (_${_PYTHON_PREFIX}_EXECUTABLE_USABLE FALSE)
@@ -1230,97 +1246,130 @@ if ("Interpreter" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS)
endif()
endif()
- if (_${_PYTHON_PREFIX}_EXECUTABLE AND _${_PYTHON_PREFIX}_EXECUTABLE_USABLE
- AND ${_PYTHON_PREFIX}_VERSION_MAJOR VERSION_EQUAL _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
- set (${_PYTHON_PREFIX}_Interpreter_FOUND TRUE)
- # Use interpreter version and ABI for future searches to ensure consistency
- set (_${_PYTHON_PREFIX}_FIND_VERSIONS ${${_PYTHON_PREFIX}_VERSION_MAJOR}.${${_PYTHON_PREFIX}_VERSION_MINOR})
- execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; sys.stdout.write(sys.abiflags)"
- RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
- OUTPUT_VARIABLE _${_PYTHON_PREFIX}_ABIFLAGS
- ERROR_QUIET
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- if (_${_PYTHON_PREFIX}_RESULT)
- # assunme ABI is not supported
- set (_${_PYTHON_PREFIX}_ABIFLAGS "")
- endif()
- endif()
+ if (_${_PYTHON_PREFIX}_EXECUTABLE AND _${_PYTHON_PREFIX}_EXECUTABLE_USABLE)
+ if (_${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES)
+ set (${_PYTHON_PREFIX}_Interpreter_FOUND TRUE)
- if (${_PYTHON_PREFIX}_Interpreter_FOUND)
- # compute and save interpreter signature
- string (MD5 __${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE "${_${_PYTHON_PREFIX}_SIGNATURE}:${_${_PYTHON_PREFIX}_EXECUTABLE}")
- set (_${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE "${__${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE}" CACHE INTERNAL "")
-
- if (NOT CMAKE_SIZEOF_VOID_P)
- # determine interpreter architecture
- execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; print(sys.maxsize > 2**32)"
- RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
- OUTPUT_VARIABLE ${_PYTHON_PREFIX}_IS64BIT
- ERROR_VARIABLE ${_PYTHON_PREFIX}_IS64BIT)
- if (NOT _${_PYTHON_PREFIX}_RESULT)
- if (${_PYTHON_PREFIX}_IS64BIT)
- set (_${_PYTHON_PREFIX}_ARCH 64)
- set (_${_PYTHON_PREFIX}_ARCH2 64)
- else()
- set (_${_PYTHON_PREFIX}_ARCH 32)
- set (_${_PYTHON_PREFIX}_ARCH2 32)
+ list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 0 ${_PYTHON_PREFIX}_INTERPRETER_ID)
+
+ list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 1 ${_PYTHON_PREFIX}_VERSION_MAJOR)
+ list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 2 ${_PYTHON_PREFIX}_VERSION_MINOR)
+ list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 3 ${_PYTHON_PREFIX}_VERSION_PATH)
+
+ list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 4 _${_PYTHON_PREFIX}_ARCH)
+ set (_${_PYTHON_PREFIX}_ARCH2 ${_${_PYTHON_PREFIX}_ARCH})
+
+ list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 5 _${_PYTHON_PREFIX}_ABIFLAGS)
+ list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 6 ${_PYTHON_PREFIX}_SOABI)
+
+ list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 7 ${_PYTHON_PREFIX}_STDLIB)
+ list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 8 ${_PYTHON_PREFIX}_STDARCH)
+ list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 9 ${_PYTHON_PREFIX}_SITELIB)
+ list (GET _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES 10 ${_PYTHON_PREFIX}_SITEARCH)
+ else()
+ string (REGEX MATCHALL "[0-9]+" _${_PYTHON_PREFIX}_VERSIONS "${${_PYTHON_PREFIX}_VERSION}")
+ list (GET _${_PYTHON_PREFIX}_VERSIONS 0 ${_PYTHON_PREFIX}_VERSION_MAJOR)
+ list (GET _${_PYTHON_PREFIX}_VERSIONS 1 ${_PYTHON_PREFIX}_VERSION_MINOR)
+ list (GET _${_PYTHON_PREFIX}_VERSIONS 2 ${_PYTHON_PREFIX}_VERSION_PATCH)
+
+ if (${_PYTHON_PREFIX}_VERSION_MAJOR VERSION_EQUAL _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
+ set (${_PYTHON_PREFIX}_Interpreter_FOUND TRUE)
+
+ # Use interpreter version and ABI for future searches to ensure consistency
+ set (_${_PYTHON_PREFIX}_FIND_VERSIONS ${${_PYTHON_PREFIX}_VERSION_MAJOR}.${${_PYTHON_PREFIX}_VERSION_MINOR})
+ execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; sys.stdout.write(sys.abiflags)"
+ RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
+ OUTPUT_VARIABLE _${_PYTHON_PREFIX}_ABIFLAGS
+ ERROR_QUIET
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if (_${_PYTHON_PREFIX}_RESULT)
+ # assunme ABI is not supported
+ set (_${_PYTHON_PREFIX}_ABIFLAGS "")
endif()
endif()
- endif()
- # retrieve interpreter identity
- execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -V
- RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
- OUTPUT_VARIABLE ${_PYTHON_PREFIX}_INTERPRETER_ID
- ERROR_VARIABLE ${_PYTHON_PREFIX}_INTERPRETER_ID)
- if (NOT _${_PYTHON_PREFIX}_RESULT)
- if (${_PYTHON_PREFIX}_INTERPRETER_ID MATCHES "Anaconda")
- set (${_PYTHON_PREFIX}_INTERPRETER_ID "Anaconda")
- elseif (${_PYTHON_PREFIX}_INTERPRETER_ID MATCHES "Enthought")
- set (${_PYTHON_PREFIX}_INTERPRETER_ID "Canopy")
- else()
- string (REGEX REPLACE "^([^ ]+).*" "\\1" ${_PYTHON_PREFIX}_INTERPRETER_ID "${${_PYTHON_PREFIX}_INTERPRETER_ID}")
- if (${_PYTHON_PREFIX}_INTERPRETER_ID STREQUAL "Python")
- # try to get a more precise ID
- execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; print(sys.copyright)"
+ if (${_PYTHON_PREFIX}_Interpreter_FOUND)
+ # compute and save interpreter signature
+ string (MD5 __${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE "${_${_PYTHON_PREFIX}_SIGNATURE}:${_${_PYTHON_PREFIX}_EXECUTABLE}")
+ set (_${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE "${__${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE}" CACHE INTERNAL "")
+
+ if (NOT CMAKE_SIZEOF_VOID_P)
+ # determine interpreter architecture
+ execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; print(sys.maxsize > 2**32)"
RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
- OUTPUT_VARIABLE ${_PYTHON_PREFIX}_COPYRIGHT
- ERROR_QUIET)
- if (${_PYTHON_PREFIX}_COPYRIGHT MATCHES "ActiveState")
- set (${_PYTHON_PREFIX}_INTERPRETER_ID "ActivePython")
+ OUTPUT_VARIABLE ${_PYTHON_PREFIX}_IS64BIT
+ ERROR_VARIABLE ${_PYTHON_PREFIX}_IS64BIT)
+ if (NOT _${_PYTHON_PREFIX}_RESULT)
+ if (${_PYTHON_PREFIX}_IS64BIT)
+ set (_${_PYTHON_PREFIX}_ARCH 64)
+ set (_${_PYTHON_PREFIX}_ARCH2 64)
+ else()
+ set (_${_PYTHON_PREFIX}_ARCH 32)
+ set (_${_PYTHON_PREFIX}_ARCH2 32)
+ endif()
endif()
endif()
- endif()
- else()
- set (${_PYTHON_PREFIX}_INTERPRETER_ID Python)
- endif()
- # retrieve various package installation directories
- execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; from distutils import sysconfig;sys.stdout.write(';'.join([sysconfig.get_python_lib(plat_specific=False,standard_lib=True),sysconfig.get_python_lib(plat_specific=True,standard_lib=True),sysconfig.get_python_lib(plat_specific=False,standard_lib=False),sysconfig.get_python_lib(plat_specific=True,standard_lib=False)]))"
- RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
- OUTPUT_VARIABLE _${_PYTHON_PREFIX}_LIBPATHS
- ERROR_QUIET)
- if (NOT _${_PYTHON_PREFIX}_RESULT)
- list (GET _${_PYTHON_PREFIX}_LIBPATHS 0 ${_PYTHON_PREFIX}_STDLIB)
- list (GET _${_PYTHON_PREFIX}_LIBPATHS 1 ${_PYTHON_PREFIX}_STDARCH)
- list (GET _${_PYTHON_PREFIX}_LIBPATHS 2 ${_PYTHON_PREFIX}_SITELIB)
- list (GET _${_PYTHON_PREFIX}_LIBPATHS 3 ${_PYTHON_PREFIX}_SITEARCH)
- else()
- unset (${_PYTHON_PREFIX}_STDLIB)
- unset (${_PYTHON_PREFIX}_STDARCH)
- unset (${_PYTHON_PREFIX}_SITELIB)
- unset (${_PYTHON_PREFIX}_SITEARCH)
- endif()
+ # retrieve interpreter identity
+ execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -V
+ RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
+ OUTPUT_VARIABLE ${_PYTHON_PREFIX}_INTERPRETER_ID
+ ERROR_VARIABLE ${_PYTHON_PREFIX}_INTERPRETER_ID)
+ if (NOT _${_PYTHON_PREFIX}_RESULT)
+ if (${_PYTHON_PREFIX}_INTERPRETER_ID MATCHES "Anaconda")
+ set (${_PYTHON_PREFIX}_INTERPRETER_ID "Anaconda")
+ elseif (${_PYTHON_PREFIX}_INTERPRETER_ID MATCHES "Enthought")
+ set (${_PYTHON_PREFIX}_INTERPRETER_ID "Canopy")
+ else()
+ string (REGEX REPLACE "^([^ ]+).*" "\\1" ${_PYTHON_PREFIX}_INTERPRETER_ID "${${_PYTHON_PREFIX}_INTERPRETER_ID}")
+ if (${_PYTHON_PREFIX}_INTERPRETER_ID STREQUAL "Python")
+ # try to get a more precise ID
+ execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; print(sys.copyright)"
+ RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
+ OUTPUT_VARIABLE ${_PYTHON_PREFIX}_COPYRIGHT
+ ERROR_QUIET)
+ if (${_PYTHON_PREFIX}_COPYRIGHT MATCHES "ActiveState")
+ set (${_PYTHON_PREFIX}_INTERPRETER_ID "ActivePython")
+ endif()
+ endif()
+ endif()
+ else()
+ set (${_PYTHON_PREFIX}_INTERPRETER_ID Python)
+ endif()
- if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR VERSION_GREATER_EQUAL 3)
- _python_get_config_var (${_PYTHON_PREFIX}_SOABI SOABI)
+ # retrieve various package installation directories
+ execute_process (COMMAND "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c "import sys; from distutils import sysconfig;sys.stdout.write(';'.join([sysconfig.get_python_lib(plat_specific=False,standard_lib=True),sysconfig.get_python_lib(plat_specific=True,standard_lib=True),sysconfig.get_python_lib(plat_specific=False,standard_lib=False),sysconfig.get_python_lib(plat_specific=True,standard_lib=False)]))"
+ RESULT_VARIABLE _${_PYTHON_PREFIX}_RESULT
+ OUTPUT_VARIABLE _${_PYTHON_PREFIX}_LIBPATHS
+ ERROR_QUIET)
+ if (NOT _${_PYTHON_PREFIX}_RESULT)
+ list (GET _${_PYTHON_PREFIX}_LIBPATHS 0 ${_PYTHON_PREFIX}_STDLIB)
+ list (GET _${_PYTHON_PREFIX}_LIBPATHS 1 ${_PYTHON_PREFIX}_STDARCH)
+ list (GET _${_PYTHON_PREFIX}_LIBPATHS 2 ${_PYTHON_PREFIX}_SITELIB)
+ list (GET _${_PYTHON_PREFIX}_LIBPATHS 3 ${_PYTHON_PREFIX}_SITEARCH)
+ else()
+ unset (${_PYTHON_PREFIX}_STDLIB)
+ unset (${_PYTHON_PREFIX}_STDARCH)
+ unset (${_PYTHON_PREFIX}_SITELIB)
+ unset (${_PYTHON_PREFIX}_SITEARCH)
+ endif()
+
+ if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR VERSION_GREATER_EQUAL 3)
+ _python_get_config_var (${_PYTHON_PREFIX}_SOABI SOABI)
+ endif()
+
+ # store properties in the cache to speed-up future searches
+ set (_${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES
+ "${${_PYTHON_PREFIX}_INTERPRETER_ID};${${_PYTHON_PREFIX}_VERSION_MAJOR};${${_PYTHON_PREFIX}_VERSION_MINOR};${${_PYTHON_PREFIX}_VERSION_PATCH};${_${_PYTHON_PREFIX}_ARCH};${_${_PYTHON_PREFIX}_ABIFLAGS};${${_PYTHON_PREFIX}_SOABI};${${_PYTHON_PREFIX}_STDLIB};${${_PYTHON_PREFIX}_STDARCH};${${_PYTHON_PREFIX}_SITELIB};${${_PYTHON_PREFIX}_SITEARCH}" CACHE INTERNAL "${_PYTHON_PREFIX} Properties")
+ else()
+ unset (_${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE CACHE)
+ unset (${_PYTHON_PREFIX}_INTERPRETER_ID)
+ endif()
endif()
- else()
- unset (_${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE CACHE)
- unset (${_PYTHON_PREFIX}_INTERPRETER_ID)
endif()
mark_as_advanced (_${_PYTHON_PREFIX}_EXECUTABLE
+ _${_PYTHON_PREFIX}_INTERPRETER_PROPERTIES
_${_PYTHON_PREFIX}_INTERPRETER_SIGNATURE)
endif()
diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake
index e5a57b5..0a4d4e1 100644
--- a/Modules/Platform/Darwin.cmake
+++ b/Modules/Platform/Darwin.cmake
@@ -210,7 +210,7 @@ unset(_apps_paths)
include(Platform/UnixPaths)
if(_CMAKE_OSX_SYSROOT_PATH AND EXISTS ${_CMAKE_OSX_SYSROOT_PATH}/usr/include)
list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${_CMAKE_OSX_SYSROOT_PATH}/usr)
- foreach(lang C CXX OBJC OBJCXX)
+ foreach(lang C CXX OBJC OBJCXX Swift)
list(APPEND _CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES_INIT ${_CMAKE_OSX_SYSROOT_PATH}/usr/include)
endforeach()
endif()
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index c5d9b94..cf4cc50 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,7 +1,7 @@
# CMake version number components.
set(CMake_VERSION_MAJOR 3)
set(CMake_VERSION_MINOR 17)
-set(CMake_VERSION_PATCH 20200211)
+set(CMake_VERSION_PATCH 20200212)
#set(CMake_VERSION_RC 0)
set(CMake_VERSION_IS_DIRTY 0)
diff --git a/Source/cmComputeLinkDepends.cxx b/Source/cmComputeLinkDepends.cxx
index 7a9e2b7..ccef9c8 100644
--- a/Source/cmComputeLinkDepends.cxx
+++ b/Source/cmComputeLinkDepends.cxx
@@ -301,11 +301,11 @@ int cmComputeLinkDepends::AddLinkEntry(cmLinkItem const& item)
// Initialize the item entry.
int index = lei->second;
LinkEntry& entry = this->EntryList[index];
- entry.Item = item.AsStr();
+ entry.Item = BT<std::string>(item.AsStr(), item.Backtrace);
entry.Target = item.Target;
- entry.IsFlag =
- (!entry.Target && entry.Item[0] == '-' && entry.Item[1] != 'l' &&
- entry.Item.substr(0, 10) != "-framework");
+ entry.IsFlag = (!entry.Target && entry.Item.Value[0] == '-' &&
+ entry.Item.Value[1] != 'l' &&
+ entry.Item.Value.substr(0, 10) != "-framework");
// If the item has dependencies queue it to follow them.
if (entry.Target) {
@@ -314,7 +314,7 @@ int cmComputeLinkDepends::AddLinkEntry(cmLinkItem const& item)
this->BFSQueue.push(qe);
} else {
// Look for an old-style <item>_LIB_DEPENDS variable.
- std::string var = cmStrCat(entry.Item, "_LIB_DEPENDS");
+ std::string var = cmStrCat(entry.Item.Value, "_LIB_DEPENDS");
if (const char* val = this->Makefile->GetDefinition(var)) {
// The item dependencies are known. Follow them.
BFSEntry qe = { index, val };
@@ -396,7 +396,7 @@ void cmComputeLinkDepends::HandleSharedDependency(SharedDepEntry const& dep)
// Initialize the item entry.
LinkEntry& entry = this->EntryList[lei->second];
- entry.Item = dep.Item.AsStr();
+ entry.Item = BT<std::string>(dep.Item.AsStr(), dep.Item.Backtrace);
entry.Target = dep.Item.Target;
// This item was added specifically because it is a dependent
@@ -671,7 +671,8 @@ void cmComputeLinkDepends::DisplayComponents()
fprintf(stderr, "Component (%u):\n", c);
NodeList const& nl = components[c];
for (int i : nl) {
- fprintf(stderr, " item %d [%s]\n", i, this->EntryList[i].Item.c_str());
+ fprintf(stderr, " item %d [%s]\n", i,
+ this->EntryList[i].Item.Value.c_str());
}
EdgeList const& ol = this->CCG->GetComponentGraphEdges(c);
for (cmGraphEdge const& oi : ol) {
@@ -819,7 +820,7 @@ void cmComputeLinkDepends::DisplayFinalEntries()
if (lei.Target) {
fprintf(stderr, " target [%s]\n", lei.Target->GetName().c_str());
} else {
- fprintf(stderr, " item [%s]\n", lei.Item.c_str());
+ fprintf(stderr, " item [%s]\n", lei.Item.Value.c_str());
}
}
fprintf(stderr, "\n");
diff --git a/Source/cmComputeLinkDepends.h b/Source/cmComputeLinkDepends.h
index 47c821b..e806dff 100644
--- a/Source/cmComputeLinkDepends.h
+++ b/Source/cmComputeLinkDepends.h
@@ -14,6 +14,7 @@
#include "cmGraphAdjacencyList.h"
#include "cmLinkItem.h"
+#include "cmListFileCache.h"
#include "cmTargetLinkLibraryType.h"
class cmComputeComponentGraph;
@@ -38,7 +39,7 @@ public:
// Basic information about each link item.
struct LinkEntry
{
- std::string Item;
+ BT<std::string> Item;
cmGeneratorTarget const* Target = nullptr;
bool IsSharedDep = false;
bool IsFlag = false;
diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx
index 7be6d2c..11570d6 100644
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -642,7 +642,7 @@ void cmComputeLinkInformation::AddImplicitLinkInfo(std::string const& lang)
}
}
-void cmComputeLinkInformation::AddItem(std::string const& item,
+void cmComputeLinkInformation::AddItem(BT<std::string> const& item,
cmGeneratorTarget const* tgt)
{
// Compute the proper name to use to link this library.
@@ -668,7 +668,8 @@ void cmComputeLinkInformation::AddItem(std::string const& item,
std::string exe = tgt->GetFullPath(config, artifact, true);
linkItem += exe;
- this->Items.emplace_back(linkItem, true, tgt);
+ this->Items.emplace_back(BT<std::string>(linkItem, item.Backtrace), true,
+ tgt);
this->Depends.push_back(std::move(exe));
} else if (tgt->GetType() == cmStateEnums::INTERFACE_LIBRARY) {
// Add the interface library as an item so it can be considered as part
@@ -679,7 +680,7 @@ void cmComputeLinkInformation::AddItem(std::string const& item,
// Also add the item the interface specifies to be used in its place.
std::string const& libName = tgt->GetImportedLibName(config);
if (!libName.empty()) {
- this->AddItem(libName, nullptr);
+ this->AddItem(BT<std::string>(libName, item.Backtrace), nullptr);
}
} else if (tgt->GetType() == cmStateEnums::OBJECT_LIBRARY) {
// Ignore object library!
@@ -691,8 +692,9 @@ void cmComputeLinkInformation::AddItem(std::string const& item,
: cmStateEnums::RuntimeBinaryArtifact;
// Pass the full path to the target file.
- std::string lib = tgt->GetFullPath(config, artifact, true);
- if (tgt->Target->IsAIX() && cmHasLiteralSuffix(lib, "-NOTFOUND") &&
+ BT<std::string> lib = BT<std::string>(
+ tgt->GetFullPath(config, artifact, true), item.Backtrace);
+ if (tgt->Target->IsAIX() && cmHasLiteralSuffix(lib.Value, "-NOTFOUND") &&
artifact == cmStateEnums::ImportLibraryArtifact) {
// This is an imported executable on AIX that has ENABLE_EXPORTS
// but not IMPORTED_IMPLIB. CMake used to produce and accept such
@@ -703,23 +705,23 @@ void cmComputeLinkInformation::AddItem(std::string const& item,
}
if (!this->LinkDependsNoShared ||
tgt->GetType() != cmStateEnums::SHARED_LIBRARY) {
- this->Depends.push_back(lib);
+ this->Depends.push_back(lib.Value);
}
this->AddTargetItem(lib, tgt);
- this->AddLibraryRuntimeInfo(lib, tgt);
+ this->AddLibraryRuntimeInfo(lib.Value, tgt);
}
} else {
// This is not a CMake target. Use the name given.
- if (cmSystemTools::FileIsFullPath(item)) {
- if (cmSystemTools::FileIsDirectory(item)) {
+ if (cmSystemTools::FileIsFullPath(item.Value)) {
+ if (cmSystemTools::FileIsDirectory(item.Value)) {
// This is a directory.
- this->AddDirectoryItem(item);
+ this->AddDirectoryItem(item.Value);
} else {
// Use the full path given to the library file.
- this->Depends.push_back(item);
+ this->Depends.push_back(item.Value);
this->AddFullItem(item);
- this->AddLibraryRuntimeInfo(item);
+ this->AddLibraryRuntimeInfo(item.Value);
}
} else {
// This is a library or option specified by the user.
@@ -728,7 +730,7 @@ void cmComputeLinkInformation::AddItem(std::string const& item,
}
}
-void cmComputeLinkInformation::AddSharedDepItem(std::string const& item,
+void cmComputeLinkInformation::AddSharedDepItem(BT<std::string> const& item,
const cmGeneratorTarget* tgt)
{
// If dropping shared library dependencies, ignore them.
@@ -747,12 +749,12 @@ void cmComputeLinkInformation::AddSharedDepItem(std::string const& item,
} else {
// Skip items that are not full paths. We will not be able to
// reliably specify them.
- if (!cmSystemTools::FileIsFullPath(item)) {
+ if (!cmSystemTools::FileIsFullPath(item.Value)) {
return;
}
// Get the name of the library from the file name.
- std::string file = cmSystemTools::GetFilenameName(item);
+ std::string file = cmSystemTools::GetFilenameName(item.Value);
if (!this->ExtractSharedLibraryName.find(file)) {
// This is not the name of a shared library.
return;
@@ -776,7 +778,7 @@ void cmComputeLinkInformation::AddSharedDepItem(std::string const& item,
lib = tgt->GetFullPath(this->Config, artifact);
this->AddLibraryRuntimeInfo(lib, tgt);
} else {
- lib = item;
+ lib = item.Value;
this->AddLibraryRuntimeInfo(lib);
}
@@ -1033,7 +1035,7 @@ void cmComputeLinkInformation::SetCurrentLinkType(LinkType lt)
}
}
-void cmComputeLinkInformation::AddTargetItem(std::string const& item,
+void cmComputeLinkInformation::AddTargetItem(BT<std::string> const& item,
cmGeneratorTarget const* target)
{
// This is called to handle a link item that is a full path to a target.
@@ -1054,7 +1056,7 @@ void cmComputeLinkInformation::AddTargetItem(std::string const& item,
// Handle case of an imported shared library with no soname.
if (this->NoSONameUsesPath &&
target->IsImportedSharedLibWithoutSOName(this->Config)) {
- this->AddSharedLibNoSOName(item);
+ this->AddSharedLibNoSOName(item.Value);
return;
}
@@ -1062,23 +1064,23 @@ void cmComputeLinkInformation::AddTargetItem(std::string const& item,
// the linker search path.
if (this->OldLinkDirMode && !target->IsFrameworkOnApple() &&
!cmContains(this->OldLinkDirMask,
- cmSystemTools::GetFilenamePath(item))) {
- this->OldLinkDirItems.push_back(item);
+ cmSystemTools::GetFilenamePath(item.Value))) {
+ this->OldLinkDirItems.push_back(item.Value);
}
// Now add the full path to the library.
this->Items.emplace_back(item, true, target);
}
-void cmComputeLinkInformation::AddFullItem(std::string const& item)
+void cmComputeLinkInformation::AddFullItem(BT<std::string> const& item)
{
// Check for the implicit link directory special case.
- if (this->CheckImplicitDirItem(item)) {
+ if (this->CheckImplicitDirItem(item.Value)) {
return;
}
// Check for case of shared library with no builtin soname.
- if (this->NoSONameUsesPath && this->CheckSharedLibNoSOName(item)) {
+ if (this->NoSONameUsesPath && this->CheckSharedLibNoSOName(item.Value)) {
return;
}
@@ -1088,9 +1090,9 @@ void cmComputeLinkInformation::AddFullItem(std::string const& item)
if (this->Target->GetPolicyStatusCMP0008() != cmPolicies::NEW &&
(generator.find("Visual Studio") != std::string::npos ||
generator.find("Xcode") != std::string::npos)) {
- std::string file = cmSystemTools::GetFilenameName(item);
+ std::string file = cmSystemTools::GetFilenameName(item.Value);
if (!this->ExtractAnyLibraryName.find(file)) {
- this->HandleBadFullItem(item, file);
+ this->HandleBadFullItem(item.Value, file);
return;
}
}
@@ -1102,10 +1104,10 @@ void cmComputeLinkInformation::AddFullItem(std::string const& item)
// static libraries. If a previous user item changed the link type
// to static we need to make sure it is back to shared.
if (this->LinkTypeEnabled) {
- std::string name = cmSystemTools::GetFilenameName(item);
+ std::string name = cmSystemTools::GetFilenameName(item.Value);
if (this->ExtractSharedLibraryName.find(name)) {
this->SetCurrentLinkType(LinkShared);
- } else if (!this->ExtractStaticLibraryName.find(item)) {
+ } else if (!this->ExtractStaticLibraryName.find(item.Value)) {
// We cannot determine the type. Assume it is the target's
// default type.
this->SetCurrentLinkType(this->StartLinkType);
@@ -1116,8 +1118,8 @@ void cmComputeLinkInformation::AddFullItem(std::string const& item)
// the linker search path.
if (this->OldLinkDirMode &&
!cmContains(this->OldLinkDirMask,
- cmSystemTools::GetFilenamePath(item))) {
- this->OldLinkDirItems.push_back(item);
+ cmSystemTools::GetFilenamePath(item.Value))) {
+ this->OldLinkDirItems.push_back(item.Value);
}
// Now add the full path to the library.
@@ -1181,7 +1183,7 @@ bool cmComputeLinkInformation::CheckImplicitDirItem(std::string const& item)
return true;
}
-void cmComputeLinkInformation::AddUserItem(std::string const& item,
+void cmComputeLinkInformation::AddUserItem(BT<std::string> const& item,
bool pathNotKnown)
{
// This is called to handle a link item that does not match a CMake
@@ -1193,14 +1195,14 @@ void cmComputeLinkInformation::AddUserItem(std::string const& item,
// libfoo.a ==> -Wl,-Bstatic -lfoo
// Pass flags through untouched.
- if (item[0] == '-' || item[0] == '$' || item[0] == '`') {
+ if (item.Value[0] == '-' || item.Value[0] == '$' || item.Value[0] == '`') {
// if this is a -l option then we might need to warn about
// CMP0003 so put it in OldUserFlagItems, if it is not a -l
// or -Wl,-l (-framework -pthread), then allow it without a
// CMP0003 as -L will not affect those other linker flags
- if (item.find("-l") == 0 || item.find("-Wl,-l") == 0) {
+ if (item.Value.find("-l") == 0 || item.Value.find("-Wl,-l") == 0) {
// This is a linker option provided by the user.
- this->OldUserFlagItems.push_back(item);
+ this->OldUserFlagItems.push_back(item.Value);
}
// Restore the target link type since this item does not specify
@@ -1223,7 +1225,7 @@ void cmComputeLinkInformation::AddUserItem(std::string const& item,
// libraries. On AIX a library with the name libfoo.a can be
// shared!
std::string lib;
- if (this->ExtractSharedLibraryName.find(item)) {
+ if (this->ExtractSharedLibraryName.find(item.Value)) {
// This matches a shared library file name.
#ifdef CM_COMPUTE_LINK_INFO_DEBUG
fprintf(stderr, "shared regex matched [%s] [%s] [%s]\n",
@@ -1236,7 +1238,7 @@ void cmComputeLinkInformation::AddUserItem(std::string const& item,
// Use just the library name so the linker will search.
lib = this->ExtractSharedLibraryName.match(2);
- } else if (this->ExtractStaticLibraryName.find(item)) {
+ } else if (this->ExtractStaticLibraryName.find(item.Value)) {
// This matches a static library file name.
#ifdef CM_COMPUTE_LINK_INFO_DEBUG
fprintf(stderr, "static regex matched [%s] [%s] [%s]\n",
@@ -1249,7 +1251,7 @@ void cmComputeLinkInformation::AddUserItem(std::string const& item,
// Use just the library name so the linker will search.
lib = this->ExtractStaticLibraryName.match(2);
- } else if (this->ExtractAnyLibraryName.find(item)) {
+ } else if (this->ExtractAnyLibraryName.find(item.Value)) {
// This matches a library file name.
#ifdef CM_COMPUTE_LINK_INFO_DEBUG
fprintf(stderr, "any regex matched [%s] [%s] [%s]\n",
@@ -1266,19 +1268,19 @@ void cmComputeLinkInformation::AddUserItem(std::string const& item,
} else {
// This is a name specified by the user.
if (pathNotKnown) {
- this->OldUserFlagItems.push_back(item);
+ this->OldUserFlagItems.push_back(item.Value);
}
// We must ask the linker to search for a library with this name.
// Restore the target link type since this item does not specify
// one.
this->SetCurrentLinkType(this->StartLinkType);
- lib = item;
+ lib = item.Value;
}
// Create an option to ask the linker to search for the library.
std::string out = cmStrCat(this->LibLinkFlag, lib, this->LibLinkSuffix);
- this->Items.emplace_back(out, false);
+ this->Items.emplace_back(BT<std::string>(out, item.Backtrace), false);
// Here we could try to find the library the linker will find and
// add a runtime information entry for it. It would probably not be
@@ -1308,7 +1310,7 @@ void cmComputeLinkInformation::AddFrameworkItem(std::string const& item)
this->AddLibraryRuntimeInfo(full_fw);
// Add the item using the -framework option.
- this->Items.emplace_back("-framework", false);
+ this->Items.emplace_back(std::string("-framework"), false);
cmOutputConverter converter(this->Makefile->GetStateSnapshot());
fw = converter.EscapeForShell(fw);
this->Items.emplace_back(fw, false);
diff --git a/Source/cmComputeLinkInformation.h b/Source/cmComputeLinkInformation.h
index 3bc9c16..e50d369 100644
--- a/Source/cmComputeLinkInformation.h
+++ b/Source/cmComputeLinkInformation.h
@@ -14,13 +14,13 @@
#include "cmsys/RegularExpression.hxx"
+#include "cmListFileCache.h"
+
class cmGeneratorTarget;
class cmGlobalGenerator;
class cmMakefile;
class cmOrderDirectories;
class cmake;
-template <typename T>
-class BT;
/** \class cmComputeLinkInformation
* \brief Compute link information for a target in one configuration.
@@ -39,13 +39,13 @@ public:
struct Item
{
Item() = default;
- Item(std::string v, bool p, cmGeneratorTarget const* target = nullptr)
+ Item(BT<std::string> v, bool p, cmGeneratorTarget const* target = nullptr)
: Value(std::move(v))
, IsPath(p)
, Target(target)
{
}
- std::string Value;
+ BT<std::string> Value;
bool IsPath = true;
cmGeneratorTarget const* Target = nullptr;
};
@@ -78,8 +78,9 @@ public:
const cmGeneratorTarget* GetTarget() { return this->Target; }
private:
- void AddItem(std::string const& item, const cmGeneratorTarget* tgt);
- void AddSharedDepItem(std::string const& item, cmGeneratorTarget const* tgt);
+ void AddItem(BT<std::string> const& item, const cmGeneratorTarget* tgt);
+ void AddSharedDepItem(BT<std::string> const& item,
+ cmGeneratorTarget const* tgt);
// Output information.
ItemVector Items;
@@ -150,10 +151,11 @@ private:
std::string NoCaseExpression(const char* str);
// Handling of link items.
- void AddTargetItem(std::string const& item, const cmGeneratorTarget* target);
- void AddFullItem(std::string const& item);
+ void AddTargetItem(BT<std::string> const& item,
+ const cmGeneratorTarget* target);
+ void AddFullItem(BT<std::string> const& item);
bool CheckImplicitDirItem(std::string const& item);
- void AddUserItem(std::string const& item, bool pathNotKnown);
+ void AddUserItem(BT<std::string> const& item, bool pathNotKnown);
void AddDirectoryItem(std::string const& item);
void AddFrameworkItem(std::string const& item);
void DropDirectoryItem(std::string const& item);
diff --git a/Source/cmGlobVerificationManager.cxx b/Source/cmGlobVerificationManager.cxx
index 4817773..9ac5cd5 100644
--- a/Source/cmGlobVerificationManager.cxx
+++ b/Source/cmGlobVerificationManager.cxx
@@ -38,6 +38,8 @@ bool cmGlobVerificationManager::SaveVerificationScript(const std::string& path)
<< cmVersion::GetMajorVersion() << "."
<< cmVersion::GetMinorVersion() << "\n";
+ verifyScriptFile << "cmake_policy(SET CMP0009 NEW)\n";
+
for (auto const& i : this->Cache) {
CacheEntryKey k = std::get<0>(i);
CacheEntryValue v = std::get<1>(i);
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index e1ccf14..3553ffd 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -891,7 +891,8 @@ bool cmGlobalNinjaGenerator::OpenFileStream(
}
cm::optional<std::set<std::string>> cmGlobalNinjaGenerator::ListSubsetWithAll(
- const std::set<std::string>& defaults, const std::vector<std::string>& items)
+ const std::set<std::string>& all, const std::set<std::string>& defaults,
+ const std::vector<std::string>& items)
{
std::set<std::string> result;
@@ -902,7 +903,7 @@ cm::optional<std::set<std::string>> cmGlobalNinjaGenerator::ListSubsetWithAll(
} else {
return cm::nullopt;
}
- } else if (defaults.count(item)) {
+ } else if (all.count(item)) {
result.insert(item);
} else {
return cm::nullopt;
@@ -2642,7 +2643,7 @@ bool cmGlobalNinjaMultiGenerator::ReadCacheEntriesForBuild(
std::vector<std::string> crossConfigsVec;
cmExpandList(state.GetSafeCacheEntryValue("CMAKE_NMC_CROSS_CONFIGS"),
crossConfigsVec);
- auto crossConfigs = ListSubsetWithAll(configs, crossConfigsVec);
+ auto crossConfigs = ListSubsetWithAll(configs, configs, crossConfigsVec);
if (!crossConfigs) {
std::ostringstream msg;
msg << "CMAKE_NMC_CROSS_CONFIGS is not a subset of "
@@ -2673,8 +2674,9 @@ bool cmGlobalNinjaMultiGenerator::ReadCacheEntriesForBuild(
std::vector<std::string> defaultConfigsVec;
cmExpandList(defaultConfigsString, defaultConfigsVec);
if (!this->DefaultFileConfig.empty()) {
- auto defaultConfigs = ListSubsetWithAll(
- this->GetCrossConfigs(this->DefaultFileConfig), defaultConfigsVec);
+ auto defaultConfigs =
+ ListSubsetWithAll(this->GetCrossConfigs(this->DefaultFileConfig),
+ this->CrossConfigs, defaultConfigsVec);
if (!defaultConfigs) {
std::ostringstream msg;
msg << "CMAKE_NMC_DEFAULT_CONFIGS is not a subset of "
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index a59859e..3db8356 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/Source/cmGlobalNinjaGenerator.h
@@ -427,7 +427,7 @@ protected:
const std::string& name);
static cm::optional<std::set<std::string>> ListSubsetWithAll(
- const std::set<std::string>& defaults,
+ const std::set<std::string>& all, const std::set<std::string>& defaults,
const std::vector<std::string>& items);
virtual bool InspectConfigTypeVariables() { return true; }
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 3d5c9c4..7ec4e65 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -2817,11 +2817,11 @@ void cmGlobalXCodeGenerator::AddDependAndLinkInformation(cmXCodeObject* target)
linkLibs += sep;
sep = " ";
if (libName.IsPath) {
- linkLibs += this->XCodeEscapePath(libName.Value);
+ linkLibs += this->XCodeEscapePath(libName.Value.Value);
} else if (!libName.Target ||
libName.Target->GetType() !=
cmStateEnums::INTERFACE_LIBRARY) {
- linkLibs += libName.Value;
+ linkLibs += libName.Value.Value;
}
if (libName.Target && !libName.Target->IsImported()) {
target->AddDependTarget(configName, libName.Target->GetName());
diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx
index c67358f..d669ed7 100644
--- a/Source/cmInstallCommand.cxx
+++ b/Source/cmInstallCommand.cxx
@@ -461,6 +461,10 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
std::unique_ptr<cmInstallFilesGenerator> publicHeaderGenerator;
std::unique_ptr<cmInstallFilesGenerator> resourceGenerator;
+ // Avoid selecting default destinations for PUBLIC_HEADER and
+ // PRIVATE_HEADER if any artifacts are specified.
+ bool artifactsSpecified = false;
+
// Track whether this is a namelink-only rule.
bool namelinkOnly = false;
@@ -480,11 +484,13 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
// The import library uses the ARCHIVE properties.
archiveGenerator = CreateInstallTargetGenerator(
target, archiveArgs, true, helper.Makefile->GetBacktrace());
+ artifactsSpecified = true;
}
if (!runtimeArgs.GetDestination().empty()) {
// The DLL uses the RUNTIME properties.
runtimeGenerator = CreateInstallTargetGenerator(
target, runtimeArgs, false, helper.Makefile->GetBacktrace());
+ artifactsSpecified = true;
}
if (!archiveGenerator && !runtimeGenerator) {
archiveGenerator = CreateInstallTargetGenerator(
@@ -517,6 +523,9 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
}
} else {
// The shared library uses the LIBRARY properties.
+ if (!libraryArgs.GetDestination().empty()) {
+ artifactsSpecified = true;
+ }
if (namelinkMode != cmInstallTargetGenerator::NamelinkModeOnly) {
libraryGenerator = CreateInstallTargetGenerator(
target, libraryArgs, false, helper.Makefile->GetBacktrace(),
@@ -558,6 +567,9 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
}
} else {
// Static libraries use ARCHIVE properties.
+ if (!archiveArgs.GetDestination().empty()) {
+ artifactsSpecified = true;
+ }
archiveGenerator = CreateInstallTargetGenerator(
target, archiveArgs, false, helper.Makefile->GetBacktrace(),
helper.GetArchiveDestination(&archiveArgs));
@@ -625,6 +637,9 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
}
} else {
// Executables use the RUNTIME properties.
+ if (!runtimeArgs.GetDestination().empty()) {
+ artifactsSpecified = true;
+ }
runtimeGenerator = CreateInstallTargetGenerator(
target, runtimeArgs, false, helper.Makefile->GetBacktrace(),
helper.GetRuntimeDestination(&runtimeArgs));
@@ -637,6 +652,7 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
!archiveArgs.GetDestination().empty() &&
target.IsExecutableWithExports()) {
// The import library uses the ARCHIVE properties.
+ artifactsSpecified = true;
archiveGenerator = CreateInstallTargetGenerator(
target, archiveArgs, true, helper.Makefile->GetBacktrace(), true);
}
@@ -673,9 +689,17 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
}
// Create the files install generator.
- privateHeaderGenerator = CreateInstallFilesGenerator(
- helper.Makefile, absFiles, privateHeaderArgs, false,
- helper.GetIncludeDestination(&privateHeaderArgs));
+ if (!artifactsSpecified ||
+ !privateHeaderArgs.GetDestination().empty()) {
+ privateHeaderGenerator = CreateInstallFilesGenerator(
+ helper.Makefile, absFiles, privateHeaderArgs, false,
+ helper.GetIncludeDestination(&privateHeaderArgs));
+ } else {
+ std::ostringstream e;
+ e << "INSTALL TARGETS - target " << target.GetName() << " has "
+ << "PRIVATE_HEADER files but no PRIVATE_HEADER DESTINATION.";
+ cmSystemTools::Message(e.str(), "Warning");
+ }
}
files = target.GetProperty("PUBLIC_HEADER");
@@ -687,9 +711,17 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
}
// Create the files install generator.
- publicHeaderGenerator = CreateInstallFilesGenerator(
- helper.Makefile, absFiles, publicHeaderArgs, false,
- helper.GetIncludeDestination(&publicHeaderArgs));
+ if (!artifactsSpecified ||
+ !publicHeaderArgs.GetDestination().empty()) {
+ publicHeaderGenerator = CreateInstallFilesGenerator(
+ helper.Makefile, absFiles, publicHeaderArgs, false,
+ helper.GetIncludeDestination(&publicHeaderArgs));
+ } else {
+ std::ostringstream e;
+ e << "INSTALL TARGETS - target " << target.GetName() << " has "
+ << "PUBLIC_HEADER files but no PUBLIC_HEADER DESTINATION.";
+ cmSystemTools::Message(e.str(), "Warning");
+ }
}
files = target.GetProperty("RESOURCE");
diff --git a/Source/cmLinkLineComputer.cxx b/Source/cmLinkLineComputer.cxx
index 4320010..86ee953 100644
--- a/Source/cmLinkLineComputer.cxx
+++ b/Source/cmLinkLineComputer.cxx
@@ -9,7 +9,6 @@
#include "cmComputeLinkInformation.h"
#include "cmGeneratorTarget.h"
-#include "cmLinkItem.h"
#include "cmListFileCache.h"
#include "cmOutputConverter.h"
#include "cmStateDirectory.h"
@@ -85,27 +84,14 @@ void cmLinkLineComputer::ComputeLinkLibs(
BT<std::string> linkLib;
if (item.IsPath) {
linkLib.Value += cli.GetLibLinkFileFlag();
- linkLib.Value +=
- this->ConvertToOutputFormat(this->ConvertToLinkReference(item.Value));
+ linkLib.Value += this->ConvertToOutputFormat(
+ this->ConvertToLinkReference(item.Value.Value));
+ linkLib.Backtrace = item.Value.Backtrace;
} else {
- linkLib.Value += item.Value;
+ linkLib = item.Value;
}
linkLib.Value += " ";
- const cmLinkImplementation* linkImpl =
- cli.GetTarget()->GetLinkImplementation(cli.GetConfig());
-
- for (const cmLinkImplItem& iter : linkImpl->Libraries) {
- if (iter.Target != nullptr &&
- iter.Target->GetType() != cmStateEnums::INTERFACE_LIBRARY) {
- std::string libPath = iter.Target->GetLocation(cli.GetConfig());
- if (item.Value == libPath) {
- linkLib.Backtrace = iter.Backtrace;
- break;
- }
- }
- }
-
linkLibraries.emplace_back(linkLib);
}
}
diff --git a/Source/cmLinkLineDeviceComputer.cxx b/Source/cmLinkLineDeviceComputer.cxx
index 847334b..65ed34c 100644
--- a/Source/cmLinkLineDeviceComputer.cxx
+++ b/Source/cmLinkLineDeviceComputer.cxx
@@ -115,18 +115,18 @@ void cmLinkLineDeviceComputer::ComputeLinkLibraries(
// These should be passed to nvlink. Other extensions need to be left
// out because nvlink may not understand or need them. Even though it
// can tolerate '.so' or '.dylib' it cannot tolerate '.so.1'.
- if (cmHasLiteralSuffix(item.Value, ".a") ||
- cmHasLiteralSuffix(item.Value, ".lib")) {
+ if (cmHasLiteralSuffix(item.Value.Value, ".a") ||
+ cmHasLiteralSuffix(item.Value.Value, ".lib")) {
linkLib.Value += this->ConvertToOutputFormat(
- this->ConvertToLinkReference(item.Value));
+ this->ConvertToLinkReference(item.Value.Value));
}
} else if (item.Value == "-framework") {
// This is the first part of '-framework Name' where the framework
// name is specified as a following item. Ignore both.
skipItemAfterFramework = true;
continue;
- } else if (cmLinkItemValidForDevice(item.Value)) {
- linkLib.Value += item.Value;
+ } else if (cmLinkItemValidForDevice(item.Value.Value)) {
+ linkLib.Value += item.Value.Value;
}
if (emitted.insert(linkLib.Value).second) {
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index 1a6b7b2..9aa3991 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -1254,11 +1254,11 @@ void cmLocalVisualStudio7GeneratorInternals::OutputLibraries(
for (auto const& lib : libs) {
if (lib.IsPath) {
std::string rel =
- lg->MaybeConvertToRelativePath(currentBinDir, lib.Value);
+ lg->MaybeConvertToRelativePath(currentBinDir, lib.Value.Value);
fout << lg->ConvertToXMLOutputPath(rel) << " ";
} else if (!lib.Target ||
lib.Target->GetType() != cmStateEnums::INTERFACE_LIBRARY) {
- fout << lib.Value << " ";
+ fout << lib.Value.Value << " ";
}
}
}
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 6b45442..8da113e 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -3259,13 +3259,13 @@ bool cmVisualStudio10TargetGenerator::ComputeCudaLinkOptions(
if (l.IsPath) {
std::string path = this->LocalGenerator->MaybeConvertToRelativePath(
- currentBinDir, l.Value);
+ currentBinDir, l.Value.Value);
ConvertToWindowsSlash(path);
- if (!cmVS10IsTargetsFile(l.Value)) {
+ if (!cmVS10IsTargetsFile(l.Value.Value)) {
libVec.push_back(path);
}
} else {
- libVec.push_back(l.Value);
+ libVec.push_back(l.Value.Value);
}
}
@@ -3819,9 +3819,9 @@ bool cmVisualStudio10TargetGenerator::ComputeLibOptions(
std::string currentBinDir =
this->LocalGenerator->GetCurrentBinaryDirectory();
for (cmComputeLinkInformation::Item const& l : libs) {
- if (l.IsPath && cmVS10IsTargetsFile(l.Value)) {
+ if (l.IsPath && cmVS10IsTargetsFile(l.Value.Value)) {
std::string path = this->LocalGenerator->MaybeConvertToRelativePath(
- currentBinDir, l.Value);
+ currentBinDir, l.Value.Value);
ConvertToWindowsSlash(path);
this->AddTargetsFileAndConfigPair(path, config);
}
@@ -3905,16 +3905,16 @@ void cmVisualStudio10TargetGenerator::AddLibraries(
if (l.IsPath) {
std::string path = this->LocalGenerator->MaybeConvertToRelativePath(
- currentBinDir, l.Value);
+ currentBinDir, l.Value.Value);
ConvertToWindowsSlash(path);
- if (cmVS10IsTargetsFile(l.Value)) {
+ if (cmVS10IsTargetsFile(l.Value.Value)) {
vsTargetVec.push_back(path);
} else {
libVec.push_back(path);
}
} else if (!l.Target ||
l.Target->GetType() != cmStateEnums::INTERFACE_LIBRARY) {
- libVec.push_back(l.Value);
+ libVec.push_back(l.Value.Value);
}
}
}
diff --git a/Tests/FindPython/VirtualEnv/CMakeLists.txt b/Tests/FindPython/VirtualEnv/CMakeLists.txt
index 9e8c673..045a3f2 100644
--- a/Tests/FindPython/VirtualEnv/CMakeLists.txt
+++ b/Tests/FindPython/VirtualEnv/CMakeLists.txt
@@ -10,6 +10,7 @@ if (NOT Python3_FOUND)
endif()
set (Python3_VIRTUAL_ENV "${CMAKE_CURRENT_BINARY_DIR}/py3venv")
+file (REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/py3venv")
execute_process (COMMAND "${Python3_EXECUTABLE}" -m venv "${Python3_VIRTUAL_ENV}"
RESULT_VARIABLE result
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-check.py b/Tests/RunCMake/FileAPI/codemodel-v2-check.py
index de6253f..9ee0c20 100644
--- a/Tests/RunCMake/FileAPI/codemodel-v2-check.py
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-check.py
@@ -1,8 +1,14 @@
from check_index import *
+import json
import sys
import os
+def read_codemodel_json_data(filename):
+ abs_filename = os.path.join(os.path.dirname(os.path.realpath(__file__)), "codemodel-v2-data", filename)
+ with open(abs_filename, "r") as f:
+ return json.load(f)
+
def check_objects(o, g):
assert is_list(o)
assert len(o) == 1
@@ -471,154 +477,15 @@ def check_project(c):
def gen_check_directories(c, g):
expected = [
- {
- "source": "^\\.$",
- "build": "^\\.$",
- "parentSource": None,
- "childSources": [
- "^alias$",
- "^custom$",
- "^cxx$",
- "^imported$",
- "^object$",
- "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "^dir$",
- ],
- "targetIds": [
- "^ALL_BUILD::@6890427a1f51a3e7e1df$",
- "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "^c_exe::@6890427a1f51a3e7e1df$",
- "^c_lib::@6890427a1f51a3e7e1df$",
- "^c_shared_exe::@6890427a1f51a3e7e1df$",
- "^c_shared_lib::@6890427a1f51a3e7e1df$",
- "^c_static_exe::@6890427a1f51a3e7e1df$",
- "^c_static_lib::@6890427a1f51a3e7e1df$",
- "^interface_exe::@6890427a1f51a3e7e1df$",
- ],
- "projectName": "codemodel-v2",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": True,
- },
- {
- "source": "^alias$",
- "build": "^alias$",
- "parentSource": "^\\.$",
- "childSources": None,
- "targetIds": [
- "^ALL_BUILD::@53632cba2752272bb008$",
- "^ZERO_CHECK::@53632cba2752272bb008$",
- "^c_alias_exe::@53632cba2752272bb008$",
- "^cxx_alias_exe::@53632cba2752272bb008$",
- ],
- "projectName": "Alias",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
- {
- "source": "^custom$",
- "build": "^custom$",
- "parentSource": "^\\.$",
- "childSources": None,
- "targetIds": [
- "^ALL_BUILD::@c11385ffed57b860da63$",
- "^ZERO_CHECK::@c11385ffed57b860da63$",
- "^custom_exe::@c11385ffed57b860da63$",
- "^custom_tgt::@c11385ffed57b860da63$",
- ],
- "projectName": "Custom",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
- {
- "source": "^cxx$",
- "build": "^cxx$",
- "parentSource": "^\\.$",
- "childSources": None,
- "targetIds": [
- "^ALL_BUILD::@a56b12a3f5c0529fb296$",
- "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "^cxx_exe::@a56b12a3f5c0529fb296$",
- "^cxx_lib::@a56b12a3f5c0529fb296$",
- "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
- "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
- "^cxx_static_exe::@a56b12a3f5c0529fb296$",
- "^cxx_static_lib::@a56b12a3f5c0529fb296$",
- ],
- "projectName": "Cxx",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
- {
- "source": "^imported$",
- "build": "^imported$",
- "parentSource": "^\\.$",
- "childSources": None,
- "targetIds": [
- "^ALL_BUILD::@ba7eb709d0b48779c6c8$",
- "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "^link_imported_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
- ],
- "projectName": "Imported",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
- {
- "source": "^object$",
- "build": "^object$",
- "parentSource": "^\\.$",
- "childSources": None,
- "targetIds": [
- "^ALL_BUILD::@5ed5358f70faf8d8af7a$",
- "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "^c_object_exe::@5ed5358f70faf8d8af7a$",
- "^c_object_lib::@5ed5358f70faf8d8af7a$",
- "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
- "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
- ],
- "projectName": "Object",
- "minimumCMakeVersion": "3.13",
- "hasInstallRule": True,
- },
- {
- "source": "^dir$",
- "build": "^dir$",
- "parentSource": "^\\.$",
- "childSources": [
- "^dir/dir$",
- ],
- "targetIds": None,
- "projectName": "codemodel-v2",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
- {
- "source": "^dir/dir$",
- "build": "^dir/dir$",
- "parentSource": "^dir$",
- "childSources": None,
- "targetIds": None,
- "projectName": "codemodel-v2",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
- {
- "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
- "parentSource": "^\\.$",
- "childSources": None,
- "targetIds": [
- "^ALL_BUILD::@[0-9a-f]+$",
- "^ZERO_CHECK::@[0-9a-f]+$",
- "^generated_exe::@[0-9a-f]+$",
- ],
- "projectName": "External",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
+ read_codemodel_json_data("directories/top.json"),
+ read_codemodel_json_data("directories/alias.json"),
+ read_codemodel_json_data("directories/custom.json"),
+ read_codemodel_json_data("directories/cxx.json"),
+ read_codemodel_json_data("directories/imported.json"),
+ read_codemodel_json_data("directories/object.json"),
+ read_codemodel_json_data("directories/dir.json"),
+ read_codemodel_json_data("directories/dir_dir.json"),
+ read_codemodel_json_data("directories/external.json"),
]
if matches(g["name"], "^Visual Studio "):
@@ -646,4428 +513,52 @@ def check_directories(c, g):
def gen_check_targets(c, g, inSource):
expected = [
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^interface_exe::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_lib::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_exe::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_shared_exe::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_static_lib::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_static_exe::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_alias_exe::@53632cba2752272bb008$",
- "backtrace": None,
- },
- {
- "id": "^cxx_alias_exe::@53632cba2752272bb008$",
- "backtrace": None,
- },
- {
- "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_exe::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^custom_exe::@c11385ffed57b860da63$",
- "backtrace": None,
- },
- {
- "id": "^generated_exe::@[0-9a-f]+$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "interface_exe",
- "id": "^interface_exe::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^include_test\\.cmake$",
- "line": 3,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^include_test\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": [
- {
- "define": "interface_exe_EXPORTS",
- "backtrace": None,
- },
- ],
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^include_test\\.cmake$",
- "line": 3,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^include_test\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^my_interface_exe\\.myexe$",
- "artifacts": [
- {
- "path": "^bin/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?my_interface_exe\\.myexe$",
- "_dllExtra": False,
- },
- {
- "path": "^lib/my_interface_exe\\.imp$",
- "_aixExtra": True,
- "_dllExtra": False,
- },
- {
- "path": "^lib/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?my_interface_exe\\.(dll\\.a|lib)$",
- "_dllExtra": True,
- },
- {
- "path": "^bin/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?my_interface_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_lib",
- "id": "^c_lib::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "STATIC_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 5,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 5,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^(lib)?c_lib\\.(a|lib)$",
- "artifacts": [
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?c_lib\\.(a|lib)$",
- "_dllExtra": False,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": None,
- "archive": {
- "lto": None,
- },
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_exe",
- "id": "^c_exe::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 6,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 6,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^c_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^c_lib::@6890427a1f51a3e7e1df$",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 7,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_shared_lib",
- "id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "SHARED_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 9,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": [
- {
- "define": "c_shared_lib_EXPORTS",
- "backtrace": None,
- },
- ],
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 9,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^(lib|cyg)?c_shared_lib\\.(so|dylib|dll)$",
- "artifacts": [
- {
- "path": "^lib/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?c_shared_lib\\.(so|dylib|dll)$",
- "_dllExtra": False,
- },
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?c_shared_lib\\.(dll\\.a|lib)$",
- "_dllExtra": True,
- },
- {
- "path": "^lib/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?c_shared_lib\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": {
- "language": "C",
- "lto": True,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_shared_exe",
- "id": "^c_shared_exe::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 10,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 10,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^c_shared_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_shared_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_shared_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": {
- "language": "C",
- "lto": True,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 11,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_static_lib",
- "id": "^c_static_lib::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "STATIC_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 13,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 13,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^(lib)?c_static_lib\\.(a|lib)$",
- "artifacts": [
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?c_static_lib\\.(a|lib)$",
- "_dllExtra": False,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": None,
- "archive": {
- "lto": True,
- },
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_static_exe",
- "id": "^c_static_exe::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 14,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 14,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^c_static_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_static_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_static_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^c_static_lib::@6890427a1f51a3e7e1df$",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 15,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_exe::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "cxx_lib",
- "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "STATIC_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 4,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 4,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^(lib)?cxx_lib\\.(a|lib)$",
- "artifacts": [
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?cxx_lib\\.(a|lib)$",
- "_dllExtra": False,
- },
- ],
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": None,
- "archive": {
- "lto": None,
- },
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_exe",
- "id": "^cxx_exe::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": [
- {
- "fragment" : "TargetCompileOptions",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 17,
- "command": "target_compile_options",
- "hasParent": True,
- },
- {
- "file" : "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- }
- ],
- },
- ],
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": "bin",
- "nameOnDisk": "^cxx_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^cxx$",
- "source": "^cxx$",
- "install": {
- "prefix": "^(/usr/local|[A-Za-z]:.*/codemodel-v2)$",
- "destinations": [
- {
- "path": "bin",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 37,
- "command": "install",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- },
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": [
- {
- "fragment" : "TargetLinkOptions",
- "role" : "flags",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 18,
- "command": "target_link_options",
- "hasParent": True,
- },
- {
- "file" : "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "fragment" : ".*TargetLinkDir\\\"?$",
- "role" : "libraryPath",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 19,
- "command": "target_link_directories",
- "hasParent": True,
- },
- {
- "file" : "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "fragment" : ".*cxx_lib.*",
- "role" : "libraries",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 6,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file" : "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 6,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_shared_lib",
- "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "SHARED_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": [
- {
- "define": "cxx_shared_lib_EXPORTS",
- "backtrace": None,
- },
- ],
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^(lib|cyg)?cxx_shared_lib\\.(so|dylib|dll)$",
- "artifacts": [
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?cxx_shared_lib\\.(so|dylib|dll)$",
- "_dllExtra": False,
- },
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?cxx_shared_lib\\.(dll\\.a|lib)$",
- "_dllExtra": True,
- },
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?cxx_shared_lib\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_shared_exe",
- "id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 10,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 10,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^cxx_shared_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_shared_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_shared_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 11,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_static_lib",
- "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "STATIC_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 13,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 13,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^(lib)?cxx_static_lib\\.(a|lib)$",
- "artifacts": [
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?cxx_static_lib\\.(a|lib)$",
- "_dllExtra": False,
- },
- ],
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": None,
- "archive": {
- "lto": None,
- },
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_static_exe",
- "id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 14,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 14,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^cxx_static_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_static_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_static_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 15,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@53632cba2752272bb008$",
- "directorySource": "^alias$",
- "projectName": "Alias",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^alias$",
- "source": "^alias$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@53632cba2752272bb008$",
- "backtrace": None,
- },
- {
- "id": "^c_alias_exe::@53632cba2752272bb008$",
- "backtrace": None,
- },
- {
- "id": "^cxx_alias_exe::@53632cba2752272bb008$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@53632cba2752272bb008$",
- "directorySource": "^alias$",
- "projectName": "Alias",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^alias$",
- "source": "^alias$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "c_alias_exe",
- "id": "^c_alias_exe::@53632cba2752272bb008$",
- "directorySource": "^alias$",
- "projectName": "Alias",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^c_alias_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_alias_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_alias_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^alias$",
- "source": "^alias$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^c_lib::@6890427a1f51a3e7e1df$",
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": 6,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@53632cba2752272bb008$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_alias_exe",
- "id": "^cxx_alias_exe::@53632cba2752272bb008$",
- "directorySource": "^alias$",
- "projectName": "Alias",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^cxx_alias_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_alias_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_alias_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^alias$",
- "source": "^alias$",
- "install": None,
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": 10,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@53632cba2752272bb008$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@5ed5358f70faf8d8af7a$",
- "directorySource": "^object$",
- "projectName": "Object",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^object$",
- "source": "^object$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "directorySource": "^object$",
- "projectName": "Object",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^object$",
- "source": "^object$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "c_object_lib",
- "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
- "directorySource": "^object$",
- "projectName": "Object",
- "type": "OBJECT_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": [
- {
- "path": "^object/.*/empty(\\.c)?\\.o(bj)?$",
- "_dllExtra": False,
- },
- ],
- "build": "^object$",
- "source": "^object$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_object_exe",
- "id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
- "directorySource": "^object$",
- "projectName": "Object",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 6,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.c)?\\.o(bj)?$",
- "isGenerated": True,
- "sourceGroupName": "Object Libraries",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 7,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- {
- "name": "Object Libraries",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.c)?\\.o(bj)?$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 6,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^c_object_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_object_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_object_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^object$",
- "source": "^object$",
- "install": {
- "prefix": "^(/usr/local|[A-Za-z]:.*/codemodel-v2)$",
- "destinations": [
- {
- "path": "bin",
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 13,
- "command": "install",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- },
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
- # FIXME: Add a backtrace here when it becomes available.
- # You'll know when it's available, because this test will
- # fail.
- "backtrace": None,
- },
- {
- "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_object_lib",
- "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
- "directorySource": "^object$",
- "projectName": "Object",
- "type": "OBJECT_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": [
- {
- "path": "^object/.*/empty(\\.cxx)?\\.o(bj)?$",
- "_dllExtra": False,
- },
- ],
- "build": "^object$",
- "source": "^object$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_object_exe",
- "id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
- "directorySource": "^object$",
- "projectName": "Object",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 10,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.cxx)?\\.o(bj)?$",
- "isGenerated": True,
- "sourceGroupName": "Object Libraries",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 11,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- {
- "name": "Object Libraries",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.cxx)?\\.o(bj)?$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 10,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^cxx_object_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_object_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_object_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^object$",
- "source": "^object$",
- "install": {
- "prefix": "^(/usr/local|[A-Za-z]:.*/codemodel-v2)$",
- "destinations": [
- {
- "path": "bin",
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 13,
- "command": "install",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- },
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
- # FIXME: Add a backtrace here when it becomes available.
- # You'll know when it's available, because this test will
- # fail.
- "backtrace": None,
- },
- {
- "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "link_imported_exe",
- "id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^link_imported_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "link_imported_shared_exe",
- "id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^link_imported_shared_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_shared_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_shared_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "link_imported_static_exe",
- "id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 13,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 13,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^link_imported_static_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_static_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_static_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "link_imported_object_exe",
- "id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 18,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 18,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^link_imported_object_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_object_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_object_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "link_imported_interface_exe",
- "id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 23,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 23,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^link_imported_interface_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_interface_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_interface_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@c11385ffed57b860da63$",
- "directorySource": "^custom$",
- "projectName": "Custom",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^custom$",
- "source": "^custom$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
- "backtrace": None,
- },
- {
- "id": "^custom_exe::@c11385ffed57b860da63$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
- "directorySource": "^custom$",
- "projectName": "Custom",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^custom$",
- "source": "^custom$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "custom_tgt",
- "id": "^custom_tgt::@c11385ffed57b860da63$",
- "directorySource": "^custom$",
- "projectName": "Custom",
- "type": "UTILITY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/custom_tgt$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": 3,
- "command": "add_custom_target",
- "hasParent": True,
- },
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/(custom/)?CMakeFiles/([0-9a-f]+/)?custom_tgt\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/custom_tgt$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/(custom/)?CMakeFiles/([0-9a-f]+/)?custom_tgt\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": 3,
- "command": "add_custom_target",
- "hasParent": True,
- },
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^custom$",
- "source": "^custom$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "custom_exe",
- "id": "^custom_exe::@c11385ffed57b860da63$",
- "directorySource": "^custom$",
- "projectName": "Custom",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": 4,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": 4,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^custom_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^custom/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?custom_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^custom/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?custom_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^custom$",
- "source": "^custom$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^custom_tgt::@c11385ffed57b860da63$",
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_dependencies",
- "hasParent": True,
- },
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@[0-9a-f]+$",
- "directorySource": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "projectName": "External",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
- "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@[0-9a-f]+$",
- "backtrace": None,
- },
- {
- "id": "^generated_exe::@[0-9a-f]+$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@[0-9a-f]+$",
- "directorySource": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "projectName": "External",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
- "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "generated_exe",
- "id": "^generated_exe::@[0-9a-f]+$",
- "directorySource": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "projectName": "External",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPIExternalSource/empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/generated\\.cxx$",
- "isGenerated": True,
- "sourceGroupName": "Generated Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 6,
- "command": "target_sources",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPIExternalSource/empty\\.c$",
- ],
- },
- {
- "name": "Generated Source Files",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/generated\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPIExternalSource/empty\\.c$",
- ],
- "includes": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
- "isSystem": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 10,
- "command": "set_property",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "isSystem": True,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 11,
- "command": "target_include_directories",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "defines": [
- {
- "define": "EMPTY_C=1",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 9,
- "command": "set_property",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "define": "SRC_DUMMY",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 9,
- "command": "set_property",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "define": "GENERATED_EXE=1",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 12,
- "command": "target_compile_definitions",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "define": "TGT_DUMMY",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 12,
- "command": "target_compile_definitions",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "compileCommandFragments": [
- {
- "fragment" : "SRC_COMPILE_OPTIONS_DUMMY",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 13,
- "command": "set_source_files_properties",
- "hasParent": True,
- },
- {
- "file" : "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- }
- ],
- },
- {
- "language": "CXX",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/generated\\.cxx$",
- ],
- "includes": [
- {
- "path": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "isSystem": True,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 11,
- "command": "target_include_directories",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "defines": [
- {
- "define": "GENERATED_EXE=1",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 12,
- "command": "target_compile_definitions",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "define": "TGT_DUMMY",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 12,
- "command": "target_compile_definitions",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^generated_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?generated_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?generated_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
- "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "install": None,
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@[0-9a-f]+$",
- "backtrace": None,
- },
- ],
- },
+ read_codemodel_json_data("targets/all_build_top.json"),
+ read_codemodel_json_data("targets/zero_check_top.json"),
+ read_codemodel_json_data("targets/interface_exe.json"),
+ read_codemodel_json_data("targets/c_lib.json"),
+ read_codemodel_json_data("targets/c_exe.json"),
+ read_codemodel_json_data("targets/c_shared_lib.json"),
+ read_codemodel_json_data("targets/c_shared_exe.json"),
+ read_codemodel_json_data("targets/c_static_lib.json"),
+ read_codemodel_json_data("targets/c_static_exe.json"),
+
+ read_codemodel_json_data("targets/all_build_cxx.json"),
+ read_codemodel_json_data("targets/zero_check_cxx.json"),
+ read_codemodel_json_data("targets/cxx_lib.json"),
+ read_codemodel_json_data("targets/cxx_exe.json"),
+ read_codemodel_json_data("targets/cxx_shared_lib.json"),
+ read_codemodel_json_data("targets/cxx_shared_exe.json"),
+ read_codemodel_json_data("targets/cxx_static_lib.json"),
+ read_codemodel_json_data("targets/cxx_static_exe.json"),
+
+ read_codemodel_json_data("targets/all_build_alias.json"),
+ read_codemodel_json_data("targets/zero_check_alias.json"),
+ read_codemodel_json_data("targets/c_alias_exe.json"),
+ read_codemodel_json_data("targets/cxx_alias_exe.json"),
+
+ read_codemodel_json_data("targets/all_build_object.json"),
+ read_codemodel_json_data("targets/zero_check_object.json"),
+ read_codemodel_json_data("targets/c_object_lib.json"),
+ read_codemodel_json_data("targets/c_object_exe.json"),
+ read_codemodel_json_data("targets/cxx_object_lib.json"),
+ read_codemodel_json_data("targets/cxx_object_exe.json"),
+
+ read_codemodel_json_data("targets/all_build_imported.json"),
+ read_codemodel_json_data("targets/zero_check_imported.json"),
+ read_codemodel_json_data("targets/link_imported_exe.json"),
+ read_codemodel_json_data("targets/link_imported_shared_exe.json"),
+ read_codemodel_json_data("targets/link_imported_static_exe.json"),
+ read_codemodel_json_data("targets/link_imported_object_exe.json"),
+ read_codemodel_json_data("targets/link_imported_interface_exe.json"),
+
+ read_codemodel_json_data("targets/all_build_custom.json"),
+ read_codemodel_json_data("targets/zero_check_custom.json"),
+ read_codemodel_json_data("targets/custom_tgt.json"),
+ read_codemodel_json_data("targets/custom_exe.json"),
+ read_codemodel_json_data("targets/all_build_external.json"),
+ read_codemodel_json_data("targets/zero_check_external.json"),
+ read_codemodel_json_data("targets/generated_exe.json"),
]
if not os.path.exists(os.path.join(reply_dir, "..", "..", "..", "..", "ipo_enabled.txt")):
@@ -5164,126 +655,13 @@ def check_targets(c, g, inSource):
def gen_check_projects(c, g):
expected = [
- {
- "name": "codemodel-v2",
- "parentName": None,
- "childNames": [
- "Alias",
- "Custom",
- "Cxx",
- "Imported",
- "Object",
- "External",
- ],
- "directorySources": [
- "^\\.$",
- "^dir$",
- "^dir/dir$",
- ],
- "targetIds": [
- "^ALL_BUILD::@6890427a1f51a3e7e1df$",
- "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "^interface_exe::@6890427a1f51a3e7e1df$",
- "^c_lib::@6890427a1f51a3e7e1df$",
- "^c_exe::@6890427a1f51a3e7e1df$",
- "^c_shared_lib::@6890427a1f51a3e7e1df$",
- "^c_shared_exe::@6890427a1f51a3e7e1df$",
- "^c_static_lib::@6890427a1f51a3e7e1df$",
- "^c_static_exe::@6890427a1f51a3e7e1df$",
- ],
- },
- {
- "name": "Cxx",
- "parentName": "codemodel-v2",
- "childNames": None,
- "directorySources": [
- "^cxx$",
- ],
- "targetIds": [
- "^ALL_BUILD::@a56b12a3f5c0529fb296$",
- "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "^cxx_lib::@a56b12a3f5c0529fb296$",
- "^cxx_exe::@a56b12a3f5c0529fb296$",
- "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
- "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
- "^cxx_static_lib::@a56b12a3f5c0529fb296$",
- "^cxx_static_exe::@a56b12a3f5c0529fb296$",
- ],
- },
- {
- "name": "Alias",
- "parentName": "codemodel-v2",
- "childNames": None,
- "directorySources": [
- "^alias$",
- ],
- "targetIds": [
- "^ALL_BUILD::@53632cba2752272bb008$",
- "^ZERO_CHECK::@53632cba2752272bb008$",
- "^c_alias_exe::@53632cba2752272bb008$",
- "^cxx_alias_exe::@53632cba2752272bb008$",
- ],
- },
- {
- "name": "Object",
- "parentName": "codemodel-v2",
- "childNames": None,
- "directorySources": [
- "^object$",
- ],
- "targetIds": [
- "^ALL_BUILD::@5ed5358f70faf8d8af7a$",
- "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "^c_object_lib::@5ed5358f70faf8d8af7a$",
- "^c_object_exe::@5ed5358f70faf8d8af7a$",
- "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
- "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
- ],
- },
- {
- "name": "Imported",
- "parentName": "codemodel-v2",
- "childNames": None,
- "directorySources": [
- "^imported$",
- ],
- "targetIds": [
- "^ALL_BUILD::@ba7eb709d0b48779c6c8$",
- "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "^link_imported_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
- ],
- },
- {
- "name": "Custom",
- "parentName": "codemodel-v2",
- "childNames": None,
- "directorySources": [
- "^custom$",
- ],
- "targetIds": [
- "^ALL_BUILD::@c11385ffed57b860da63$",
- "^ZERO_CHECK::@c11385ffed57b860da63$",
- "^custom_tgt::@c11385ffed57b860da63$",
- "^custom_exe::@c11385ffed57b860da63$",
- ],
- },
- {
- "name": "External",
- "parentName": "codemodel-v2",
- "childNames": None,
- "directorySources": [
- "^.*/Tests/RunCMake/FileAPIExternalSource$",
- ],
- "targetIds": [
- "^ALL_BUILD::@[0-9a-f]+$",
- "^ZERO_CHECK::@[0-9a-f]+$",
- "^generated_exe::@[0-9a-f]+$",
- ],
- },
+ read_codemodel_json_data("projects/codemodel-v2.json"),
+ read_codemodel_json_data("projects/cxx.json"),
+ read_codemodel_json_data("projects/alias.json"),
+ read_codemodel_json_data("projects/object.json"),
+ read_codemodel_json_data("projects/imported.json"),
+ read_codemodel_json_data("projects/custom.json"),
+ read_codemodel_json_data("projects/external.json"),
]
if matches(g["name"], "^Visual Studio "):
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/alias.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/alias.json
new file mode 100644
index 0000000..9f0c48a
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/alias.json
@@ -0,0 +1,15 @@
+{
+ "source": "^alias$",
+ "build": "^alias$",
+ "parentSource": "^\\.$",
+ "childSources": null,
+ "targetIds": [
+ "^ALL_BUILD::@53632cba2752272bb008$",
+ "^ZERO_CHECK::@53632cba2752272bb008$",
+ "^c_alias_exe::@53632cba2752272bb008$",
+ "^cxx_alias_exe::@53632cba2752272bb008$"
+ ],
+ "projectName": "Alias",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/custom.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/custom.json
new file mode 100644
index 0000000..afd41f3
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/custom.json
@@ -0,0 +1,15 @@
+{
+ "source": "^custom$",
+ "build": "^custom$",
+ "parentSource": "^\\.$",
+ "childSources": null,
+ "targetIds": [
+ "^ALL_BUILD::@c11385ffed57b860da63$",
+ "^ZERO_CHECK::@c11385ffed57b860da63$",
+ "^custom_exe::@c11385ffed57b860da63$",
+ "^custom_tgt::@c11385ffed57b860da63$"
+ ],
+ "projectName": "Custom",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/cxx.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/cxx.json
new file mode 100644
index 0000000..ebe717a
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/cxx.json
@@ -0,0 +1,19 @@
+{
+ "source": "^cxx$",
+ "build": "^cxx$",
+ "parentSource": "^\\.$",
+ "childSources": null,
+ "targetIds": [
+ "^ALL_BUILD::@a56b12a3f5c0529fb296$",
+ "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "^cxx_exe::@a56b12a3f5c0529fb296$",
+ "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
+ "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
+ "^cxx_static_exe::@a56b12a3f5c0529fb296$",
+ "^cxx_static_lib::@a56b12a3f5c0529fb296$"
+ ],
+ "projectName": "Cxx",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir.json
new file mode 100644
index 0000000..afbd43a
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir.json
@@ -0,0 +1,12 @@
+{
+ "source": "^dir$",
+ "build": "^dir$",
+ "parentSource": "^\\.$",
+ "childSources": [
+ "^dir/dir$"
+ ],
+ "targetIds": null,
+ "projectName": "codemodel-v2",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir_dir.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir_dir.json
new file mode 100644
index 0000000..3737ad5
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir_dir.json
@@ -0,0 +1,10 @@
+{
+ "source": "^dir/dir$",
+ "build": "^dir/dir$",
+ "parentSource": "^dir$",
+ "childSources": null,
+ "targetIds": null,
+ "projectName": "codemodel-v2",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/external.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/external.json
new file mode 100644
index 0000000..521e3c7
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/external.json
@@ -0,0 +1,14 @@
+{
+ "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
+ "parentSource": "^\\.$",
+ "childSources": null,
+ "targetIds": [
+ "^ALL_BUILD::@[0-9a-f]+$",
+ "^ZERO_CHECK::@[0-9a-f]+$",
+ "^generated_exe::@[0-9a-f]+$"
+ ],
+ "projectName": "External",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/imported.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/imported.json
new file mode 100644
index 0000000..a41b79b
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/imported.json
@@ -0,0 +1,18 @@
+{
+ "source": "^imported$",
+ "build": "^imported$",
+ "parentSource": "^\\.$",
+ "childSources": null,
+ "targetIds": [
+ "^ALL_BUILD::@ba7eb709d0b48779c6c8$",
+ "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "^link_imported_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_static_exe::@ba7eb709d0b48779c6c8$"
+ ],
+ "projectName": "Imported",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/object.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/object.json
new file mode 100644
index 0000000..1e647ad
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/object.json
@@ -0,0 +1,17 @@
+{
+ "source": "^object$",
+ "build": "^object$",
+ "parentSource": "^\\.$",
+ "childSources": null,
+ "targetIds": [
+ "^ALL_BUILD::@5ed5358f70faf8d8af7a$",
+ "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "^c_object_exe::@5ed5358f70faf8d8af7a$",
+ "^c_object_lib::@5ed5358f70faf8d8af7a$",
+ "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
+ "^cxx_object_lib::@5ed5358f70faf8d8af7a$"
+ ],
+ "projectName": "Object",
+ "minimumCMakeVersion": "3.13",
+ "hasInstallRule": true
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/top.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/top.json
new file mode 100644
index 0000000..c144953
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/top.json
@@ -0,0 +1,28 @@
+{
+ "source": "^\\.$",
+ "build": "^\\.$",
+ "parentSource": null,
+ "childSources": [
+ "^alias$",
+ "^custom$",
+ "^cxx$",
+ "^imported$",
+ "^object$",
+ "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "^dir$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@6890427a1f51a3e7e1df$",
+ "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "^c_exe::@6890427a1f51a3e7e1df$",
+ "^c_lib::@6890427a1f51a3e7e1df$",
+ "^c_shared_exe::@6890427a1f51a3e7e1df$",
+ "^c_shared_lib::@6890427a1f51a3e7e1df$",
+ "^c_static_exe::@6890427a1f51a3e7e1df$",
+ "^c_static_lib::@6890427a1f51a3e7e1df$",
+ "^interface_exe::@6890427a1f51a3e7e1df$"
+ ],
+ "projectName": "codemodel-v2",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": true
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/alias.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/alias.json
new file mode 100644
index 0000000..8ede60f
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/alias.json
@@ -0,0 +1,14 @@
+{
+ "name": "Alias",
+ "parentName": "codemodel-v2",
+ "childNames": null,
+ "directorySources": [
+ "^alias$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@53632cba2752272bb008$",
+ "^ZERO_CHECK::@53632cba2752272bb008$",
+ "^c_alias_exe::@53632cba2752272bb008$",
+ "^cxx_alias_exe::@53632cba2752272bb008$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/codemodel-v2.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/codemodel-v2.json
new file mode 100644
index 0000000..f3aac63
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/codemodel-v2.json
@@ -0,0 +1,28 @@
+{
+ "name": "codemodel-v2",
+ "parentName": null,
+ "childNames": [
+ "Alias",
+ "Custom",
+ "Cxx",
+ "Imported",
+ "Object",
+ "External"
+ ],
+ "directorySources": [
+ "^\\.$",
+ "^dir$",
+ "^dir/dir$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@6890427a1f51a3e7e1df$",
+ "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "^interface_exe::@6890427a1f51a3e7e1df$",
+ "^c_lib::@6890427a1f51a3e7e1df$",
+ "^c_exe::@6890427a1f51a3e7e1df$",
+ "^c_shared_lib::@6890427a1f51a3e7e1df$",
+ "^c_shared_exe::@6890427a1f51a3e7e1df$",
+ "^c_static_lib::@6890427a1f51a3e7e1df$",
+ "^c_static_exe::@6890427a1f51a3e7e1df$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/custom.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/custom.json
new file mode 100644
index 0000000..0aeb727
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/custom.json
@@ -0,0 +1,14 @@
+{
+ "name": "Custom",
+ "parentName": "codemodel-v2",
+ "childNames": null,
+ "directorySources": [
+ "^custom$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@c11385ffed57b860da63$",
+ "^ZERO_CHECK::@c11385ffed57b860da63$",
+ "^custom_tgt::@c11385ffed57b860da63$",
+ "^custom_exe::@c11385ffed57b860da63$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/cxx.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/cxx.json
new file mode 100644
index 0000000..296ae6c
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/cxx.json
@@ -0,0 +1,18 @@
+{
+ "name": "Cxx",
+ "parentName": "codemodel-v2",
+ "childNames": null,
+ "directorySources": [
+ "^cxx$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@a56b12a3f5c0529fb296$",
+ "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "^cxx_exe::@a56b12a3f5c0529fb296$",
+ "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
+ "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
+ "^cxx_static_lib::@a56b12a3f5c0529fb296$",
+ "^cxx_static_exe::@a56b12a3f5c0529fb296$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/external.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/external.json
new file mode 100644
index 0000000..3c9afff
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/external.json
@@ -0,0 +1,13 @@
+{
+ "name": "External",
+ "parentName": "codemodel-v2",
+ "childNames": null,
+ "directorySources": [
+ "^.*/Tests/RunCMake/FileAPIExternalSource$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@[0-9a-f]+$",
+ "^ZERO_CHECK::@[0-9a-f]+$",
+ "^generated_exe::@[0-9a-f]+$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/imported.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/imported.json
new file mode 100644
index 0000000..dc40b72
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/imported.json
@@ -0,0 +1,17 @@
+{
+ "name": "Imported",
+ "parentName": "codemodel-v2",
+ "childNames": null,
+ "directorySources": [
+ "^imported$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@ba7eb709d0b48779c6c8$",
+ "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "^link_imported_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/object.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/object.json
new file mode 100644
index 0000000..219f4eb
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/object.json
@@ -0,0 +1,16 @@
+{
+ "name": "Object",
+ "parentName": "codemodel-v2",
+ "childNames": null,
+ "directorySources": [
+ "^object$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@5ed5358f70faf8d8af7a$",
+ "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "^c_object_lib::@5ed5358f70faf8d8af7a$",
+ "^c_object_exe::@5ed5358f70faf8d8af7a$",
+ "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
+ "^cxx_object_exe::@5ed5358f70faf8d8af7a$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_alias.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_alias.json
new file mode 100644
index 0000000..eabf739
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_alias.json
@@ -0,0 +1,83 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@53632cba2752272bb008$",
+ "directorySource": "^alias$",
+ "projectName": "Alias",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^alias$",
+ "source": "^alias$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@53632cba2752272bb008$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_alias_exe::@53632cba2752272bb008$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_alias_exe::@53632cba2752272bb008$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_custom.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_custom.json
new file mode 100644
index 0000000..a5ff686
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_custom.json
@@ -0,0 +1,79 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@c11385ffed57b860da63$",
+ "directorySource": "^custom$",
+ "projectName": "Custom",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^custom$",
+ "source": "^custom$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
+ "backtrace": null
+ },
+ {
+ "id": "^custom_exe::@c11385ffed57b860da63$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_cxx.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_cxx.json
new file mode 100644
index 0000000..92a7944
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_cxx.json
@@ -0,0 +1,99 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_exe::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_external.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_external.json
new file mode 100644
index 0000000..017335c
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_external.json
@@ -0,0 +1,79 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@[0-9a-f]+$",
+ "directorySource": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "projectName": "External",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
+ "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@[0-9a-f]+$",
+ "backtrace": null
+ },
+ {
+ "id": "^generated_exe::@[0-9a-f]+$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_imported.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_imported.json
new file mode 100644
index 0000000..2de5b15
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_imported.json
@@ -0,0 +1,95 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_object.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_object.json
new file mode 100644
index 0000000..9d8899a
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_object.json
@@ -0,0 +1,91 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@5ed5358f70faf8d8af7a$",
+ "directorySource": "^object$",
+ "projectName": "Object",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^object$",
+ "source": "^object$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_top.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_top.json
new file mode 100644
index 0000000..b4def78
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_top.json
@@ -0,0 +1,179 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^interface_exe::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_exe::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_shared_exe::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_static_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_static_exe::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_alias_exe::@53632cba2752272bb008$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_alias_exe::@53632cba2752272bb008$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_exe::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^custom_exe::@c11385ffed57b860da63$",
+ "backtrace": null
+ },
+ {
+ "id": "^generated_exe::@[0-9a-f]+$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_alias_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_alias_exe.json
new file mode 100644
index 0000000..ac7c94d
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_alias_exe.json
@@ -0,0 +1,107 @@
+{
+ "name": "c_alias_exe",
+ "id": "^c_alias_exe::@53632cba2752272bb008$",
+ "directorySource": "^alias$",
+ "projectName": "Alias",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^c_alias_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_alias_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_alias_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^alias$",
+ "source": "^alias$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^c_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": 6,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@53632cba2752272bb008$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_exe.json
new file mode 100644
index 0000000..7af74c4
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_exe.json
@@ -0,0 +1,143 @@
+{
+ "name": "c_exe",
+ "id": "^c_exe::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 6,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 6,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^c_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^c_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 7,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_lib.json
new file mode 100644
index 0000000..0ca1962
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_lib.json
@@ -0,0 +1,108 @@
+{
+ "name": "c_lib",
+ "id": "^c_lib::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "STATIC_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 5,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 5,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^(lib)?c_lib\\.(a|lib)$",
+ "artifacts": [
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?c_lib\\.(a|lib)$",
+ "_dllExtra": false
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": null,
+ "archive": {
+ "lto": null
+ },
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_exe.json
new file mode 100644
index 0000000..91951c3
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_exe.json
@@ -0,0 +1,141 @@
+{
+ "name": "c_object_exe",
+ "id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
+ "directorySource": "^object$",
+ "projectName": "Object",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 6,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.c)?\\.o(bj)?$",
+ "isGenerated": true,
+ "sourceGroupName": "Object Libraries",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 7,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ },
+ {
+ "name": "Object Libraries",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.c)?\\.o(bj)?$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 6,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^c_object_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_object_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_object_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^object$",
+ "source": "^object$",
+ "install": {
+ "prefix": "^(/usr/local|[A-Za-z]:.*/codemodel-v2)$",
+ "destinations": [
+ {
+ "path": "bin",
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "install",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ]
+ },
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_lib.json
new file mode 100644
index 0000000..e3a20df
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_lib.json
@@ -0,0 +1,82 @@
+{
+ "name": "c_object_lib",
+ "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
+ "directorySource": "^object$",
+ "projectName": "Object",
+ "type": "OBJECT_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": [
+ {
+ "path": "^object/.*/empty(\\.c)?\\.o(bj)?$",
+ "_dllExtra": false
+ }
+ ],
+ "build": "^object$",
+ "source": "^object$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_exe.json
new file mode 100644
index 0000000..0d4018a
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_exe.json
@@ -0,0 +1,143 @@
+{
+ "name": "c_shared_exe",
+ "id": "^c_shared_exe::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 10,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 10,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^c_shared_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_shared_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_shared_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": true,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 11,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_lib.json
new file mode 100644
index 0000000..176a857
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_lib.json
@@ -0,0 +1,123 @@
+{
+ "name": "c_shared_lib",
+ "id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "SHARED_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 9,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": [
+ {
+ "define": "c_shared_lib_EXPORTS",
+ "backtrace": null
+ }
+ ],
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 9,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^(lib|cyg)?c_shared_lib\\.(so|dylib|dll)$",
+ "artifacts": [
+ {
+ "path": "^lib/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?c_shared_lib\\.(so|dylib|dll)$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?c_shared_lib\\.(dll\\.a|lib)$",
+ "_dllExtra": true
+ },
+ {
+ "path": "^lib/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?c_shared_lib\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": true,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_exe.json
new file mode 100644
index 0000000..5542277
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_exe.json
@@ -0,0 +1,143 @@
+{
+ "name": "c_static_exe",
+ "id": "^c_static_exe::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 14,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 14,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^c_static_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_static_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_static_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^c_static_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 15,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_lib.json
new file mode 100644
index 0000000..4b63897
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_lib.json
@@ -0,0 +1,108 @@
+{
+ "name": "c_static_lib",
+ "id": "^c_static_lib::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "STATIC_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 13,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 13,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^(lib)?c_static_lib\\.(a|lib)$",
+ "artifacts": [
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?c_static_lib\\.(a|lib)$",
+ "_dllExtra": false
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": null,
+ "archive": {
+ "lto": true
+ },
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_exe.json
new file mode 100644
index 0000000..ab301e9
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_exe.json
@@ -0,0 +1,107 @@
+{
+ "name": "custom_exe",
+ "id": "^custom_exe::@c11385ffed57b860da63$",
+ "directorySource": "^custom$",
+ "projectName": "Custom",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": 4,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": 4,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^custom_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^custom/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?custom_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^custom/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?custom_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^custom$",
+ "source": "^custom$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^custom_tgt::@c11385ffed57b860da63$",
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_dependencies",
+ "hasParent": true
+ },
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_tgt.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_tgt.json
new file mode 100644
index 0000000..a7106fc
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_tgt.json
@@ -0,0 +1,87 @@
+{
+ "name": "custom_tgt",
+ "id": "^custom_tgt::@c11385ffed57b860da63$",
+ "directorySource": "^custom$",
+ "projectName": "Custom",
+ "type": "UTILITY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/custom_tgt$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": 3,
+ "command": "add_custom_target",
+ "hasParent": true
+ },
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/(custom/)?CMakeFiles/([0-9a-f]+/)?custom_tgt\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/custom_tgt$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/(custom/)?CMakeFiles/([0-9a-f]+/)?custom_tgt\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": 3,
+ "command": "add_custom_target",
+ "hasParent": true
+ },
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^custom$",
+ "source": "^custom$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_alias_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_alias_exe.json
new file mode 100644
index 0000000..837f252
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_alias_exe.json
@@ -0,0 +1,107 @@
+{
+ "name": "cxx_alias_exe",
+ "id": "^cxx_alias_exe::@53632cba2752272bb008$",
+ "directorySource": "^alias$",
+ "projectName": "Alias",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^cxx_alias_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_alias_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_alias_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^alias$",
+ "source": "^alias$",
+ "install": null,
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": 10,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@53632cba2752272bb008$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_exe.json
new file mode 100644
index 0000000..7631837
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_exe.json
@@ -0,0 +1,213 @@
+{
+ "name": "cxx_exe",
+ "id": "^cxx_exe::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": [
+ {
+ "fragment" : "TargetCompileOptions",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 17,
+ "command": "target_compile_options",
+ "hasParent": true
+ },
+ {
+ "file" : "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": "bin",
+ "nameOnDisk": "^cxx_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": {
+ "prefix": "^(/usr/local|[A-Za-z]:.*/codemodel-v2)$",
+ "destinations": [
+ {
+ "path": "bin",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 37,
+ "command": "install",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ]
+ },
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": [
+ {
+ "fragment" : "TargetLinkOptions",
+ "role" : "flags",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 18,
+ "command": "target_link_options",
+ "hasParent": true
+ },
+ {
+ "file" : "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "fragment" : ".*TargetLinkDir\\\"?$",
+ "role" : "libraryPath",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 19,
+ "command": "target_link_directories",
+ "hasParent": true
+ },
+ {
+ "file" : "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "fragment" : ".*cxx_lib.*",
+ "role" : "libraries",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 6,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file" : "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ]
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 6,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_lib.json
new file mode 100644
index 0000000..94ac081
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_lib.json
@@ -0,0 +1,84 @@
+{
+ "name": "cxx_lib",
+ "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "STATIC_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 4,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 4,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^(lib)?cxx_lib\\.(a|lib)$",
+ "artifacts": [
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?cxx_lib\\.(a|lib)$",
+ "_dllExtra": false
+ }
+ ],
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": null,
+ "archive": {
+ "lto": null
+ },
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_exe.json
new file mode 100644
index 0000000..a33370a
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_exe.json
@@ -0,0 +1,141 @@
+{
+ "name": "cxx_object_exe",
+ "id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
+ "directorySource": "^object$",
+ "projectName": "Object",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 10,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.cxx)?\\.o(bj)?$",
+ "isGenerated": true,
+ "sourceGroupName": "Object Libraries",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 11,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ },
+ {
+ "name": "Object Libraries",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.cxx)?\\.o(bj)?$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 10,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^cxx_object_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_object_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_object_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^object$",
+ "source": "^object$",
+ "install": {
+ "prefix": "^(/usr/local|[A-Za-z]:.*/codemodel-v2)$",
+ "destinations": [
+ {
+ "path": "bin",
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "install",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ]
+ },
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_lib.json
new file mode 100644
index 0000000..8e99f7d
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_lib.json
@@ -0,0 +1,82 @@
+{
+ "name": "cxx_object_lib",
+ "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
+ "directorySource": "^object$",
+ "projectName": "Object",
+ "type": "OBJECT_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": [
+ {
+ "path": "^object/.*/empty(\\.cxx)?\\.o(bj)?$",
+ "_dllExtra": false
+ }
+ ],
+ "build": "^object$",
+ "source": "^object$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_exe.json
new file mode 100644
index 0000000..4421c8f
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_exe.json
@@ -0,0 +1,107 @@
+{
+ "name": "cxx_shared_exe",
+ "id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 10,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 10,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^cxx_shared_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_shared_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_shared_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 11,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_lib.json
new file mode 100644
index 0000000..171a4f5
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_lib.json
@@ -0,0 +1,99 @@
+{
+ "name": "cxx_shared_lib",
+ "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "SHARED_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": [
+ {
+ "define": "cxx_shared_lib_EXPORTS",
+ "backtrace": null
+ }
+ ],
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^(lib|cyg)?cxx_shared_lib\\.(so|dylib|dll)$",
+ "artifacts": [
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?cxx_shared_lib\\.(so|dylib|dll)$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?cxx_shared_lib\\.(dll\\.a|lib)$",
+ "_dllExtra": true
+ },
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?cxx_shared_lib\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_exe.json
new file mode 100644
index 0000000..52c42de
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_exe.json
@@ -0,0 +1,107 @@
+{
+ "name": "cxx_static_exe",
+ "id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 14,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 14,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^cxx_static_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_static_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_static_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 15,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_lib.json
new file mode 100644
index 0000000..98298be
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_lib.json
@@ -0,0 +1,84 @@
+{
+ "name": "cxx_static_lib",
+ "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "STATIC_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^(lib)?cxx_static_lib\\.(a|lib)$",
+ "artifacts": [
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?cxx_static_lib\\.(a|lib)$",
+ "_dllExtra": false
+ }
+ ],
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": null,
+ "archive": {
+ "lto": null
+ },
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/generated_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/generated_exe.json
new file mode 100644
index 0000000..d41bbb2
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/generated_exe.json
@@ -0,0 +1,303 @@
+{
+ "name": "generated_exe",
+ "id": "^generated_exe::@[0-9a-f]+$",
+ "directorySource": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "projectName": "External",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPIExternalSource/empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/generated\\.cxx$",
+ "isGenerated": true,
+ "sourceGroupName": "Generated Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 6,
+ "command": "target_sources",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPIExternalSource/empty\\.c$"
+ ]
+ },
+ {
+ "name": "Generated Source Files",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/generated\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPIExternalSource/empty\\.c$"
+ ],
+ "includes": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
+ "isSystem": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 10,
+ "command": "set_property",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "isSystem": true,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 11,
+ "command": "target_include_directories",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "defines": [
+ {
+ "define": "EMPTY_C=1",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "set_property",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "define": "SRC_DUMMY",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "set_property",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "define": "GENERATED_EXE=1",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 12,
+ "command": "target_compile_definitions",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "define": "TGT_DUMMY",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 12,
+ "command": "target_compile_definitions",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "compileCommandFragments": [
+ {
+ "fragment" : "SRC_COMPILE_OPTIONS_DUMMY",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "set_source_files_properties",
+ "hasParent": true
+ },
+ {
+ "file" : "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/generated\\.cxx$"
+ ],
+ "includes": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "isSystem": true,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 11,
+ "command": "target_include_directories",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "defines": [
+ {
+ "define": "GENERATED_EXE=1",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 12,
+ "command": "target_compile_definitions",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "define": "TGT_DUMMY",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 12,
+ "command": "target_compile_definitions",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^generated_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?generated_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?generated_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
+ "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "install": null,
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@[0-9a-f]+$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/interface_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/interface_exe.json
new file mode 100644
index 0000000..fe0524c
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/interface_exe.json
@@ -0,0 +1,152 @@
+{
+ "name": "interface_exe",
+ "id": "^interface_exe::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^include_test\\.cmake$",
+ "line": 3,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^include_test\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": [
+ {
+ "define": "interface_exe_EXPORTS",
+ "backtrace": null
+ }
+ ],
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^include_test\\.cmake$",
+ "line": 3,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^include_test\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^my_interface_exe\\.myexe$",
+ "artifacts": [
+ {
+ "path": "^bin/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?my_interface_exe\\.myexe$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^lib/my_interface_exe\\.imp$",
+ "_aixExtra": true,
+ "_dllExtra": false
+ },
+ {
+ "path": "^lib/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?my_interface_exe\\.(dll\\.a|lib)$",
+ "_dllExtra": true
+ },
+ {
+ "path": "^bin/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?my_interface_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_exe.json
new file mode 100644
index 0000000..312f4c5
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_exe.json
@@ -0,0 +1,90 @@
+{
+ "name": "link_imported_exe",
+ "id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^link_imported_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_interface_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_interface_exe.json
new file mode 100644
index 0000000..7d0e6df
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_interface_exe.json
@@ -0,0 +1,90 @@
+{
+ "name": "link_imported_interface_exe",
+ "id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 23,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 23,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^link_imported_interface_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_interface_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_interface_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_object_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_object_exe.json
new file mode 100644
index 0000000..4aec524
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_object_exe.json
@@ -0,0 +1,90 @@
+{
+ "name": "link_imported_object_exe",
+ "id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 18,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 18,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^link_imported_object_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_object_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_object_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_shared_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_shared_exe.json
new file mode 100644
index 0000000..f5846ec
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_shared_exe.json
@@ -0,0 +1,90 @@
+{
+ "name": "link_imported_shared_exe",
+ "id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^link_imported_shared_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_shared_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_shared_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_static_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_static_exe.json
new file mode 100644
index 0000000..29a1695
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_static_exe.json
@@ -0,0 +1,90 @@
+{
+ "name": "link_imported_static_exe",
+ "id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^link_imported_static_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_static_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_static_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_alias.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_alias.json
new file mode 100644
index 0000000..941c172
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_alias.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@53632cba2752272bb008$",
+ "directorySource": "^alias$",
+ "projectName": "Alias",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^alias$",
+ "source": "^alias$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_custom.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_custom.json
new file mode 100644
index 0000000..98c6dd9
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_custom.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
+ "directorySource": "^custom$",
+ "projectName": "Custom",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^custom$",
+ "source": "^custom$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_cxx.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_cxx.json
new file mode 100644
index 0000000..b72ff82
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_cxx.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_external.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_external.json
new file mode 100644
index 0000000..9e73806
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_external.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@[0-9a-f]+$",
+ "directorySource": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "projectName": "External",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
+ "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_imported.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_imported.json
new file mode 100644
index 0000000..7534c84
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_imported.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_object.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_object.json
new file mode 100644
index 0000000..bcd7616
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_object.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "directorySource": "^object$",
+ "projectName": "Object",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^object$",
+ "source": "^object$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_top.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_top.json
new file mode 100644
index 0000000..b3030bd
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_top.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake b/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake
index 3626a29..9058b11 100644
--- a/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake
+++ b/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake
@@ -132,6 +132,13 @@ run_cmake_build(SimpleDefaultBuildAliasList all-configs "" all)
run_ninja(SimpleDefaultBuildAliasList all-relwithdebinfo build.ninja all:RelWithDebInfo)
run_ninja(SimpleDefaultBuildAliasList clean-configs build.ninja clean)
+set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/SimpleDefaultBuildAliasListCross-build)
+set(RunCMake_TEST_OPTIONS "-DCMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG=RelWithDebInfo;-DCMAKE_NMC_DEFAULT_CONFIGS=all;-DCMAKE_NMC_CROSS_CONFIGS=Debug\\;Release")
+run_cmake_configure(SimpleDefaultBuildAliasListCross)
+unset(RunCMake_TEST_OPTIONS)
+include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
+run_ninja(SimpleDefaultBuildAliasListCross target-configs build.ninja simpleexe)
+
unset(RunCMake_TEST_BINARY_DIR)
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release;-DCMAKE_NMC_CROSS_CONFIGS=Debug\\;Release\\;RelWithDebInfo")
diff --git a/Tests/RunCMake/NinjaMultiConfig/SimpleDefaultBuildAliasListCross-target-configs-ninja-check.cmake b/Tests/RunCMake/NinjaMultiConfig/SimpleDefaultBuildAliasListCross-target-configs-ninja-check.cmake
new file mode 100644
index 0000000..b6c77ab
--- /dev/null
+++ b/Tests/RunCMake/NinjaMultiConfig/SimpleDefaultBuildAliasListCross-target-configs-ninja-check.cmake
@@ -0,0 +1,37 @@
+check_files("${RunCMake_TEST_BINARY_DIR}"
+ INCLUDE
+ ${GENERATED_FILES}
+
+ ${TARGET_FILE_simpleexe_Debug}
+ ${TARGET_OBJECT_FILES_simpleexe_Debug}
+
+ ${TARGET_FILE_simpleshared_Debug}
+ ${TARGET_LINKER_FILE_simpleshared_Debug}
+ ${TARGET_OBJECT_FILES_simpleshared_Debug}
+
+ ${TARGET_OBJECT_FILES_simpleobj_Debug}
+
+ ${TARGET_FILE_simpleexe_Release}
+ ${TARGET_OBJECT_FILES_simpleexe_Release}
+
+ ${TARGET_FILE_simpleshared_Release}
+ ${TARGET_LINKER_FILE_simpleshared_Release}
+ ${TARGET_OBJECT_FILES_simpleshared_Release}
+
+ ${TARGET_OBJECT_FILES_simpleobj_Release}
+
+ EXCLUDE
+ ${TARGET_OBJECT_FILES_simplestatic_Debug}
+
+ ${TARGET_OBJECT_FILES_simplestatic_Release}
+
+ ${TARGET_OBJECT_FILES_simpleexe_MinSizeRel}
+ ${TARGET_OBJECT_FILES_simpleshared_MinSizeRel}
+ ${TARGET_OBJECT_FILES_simplestatic_MinSizeRel}
+ ${TARGET_OBJECT_FILES_simpleobj_MinSizeRel}
+
+ ${TARGET_OBJECT_FILES_simpleexe_RelWithDebInfo}
+ ${TARGET_OBJECT_FILES_simpleshared_RelWithDebInfo}
+ ${TARGET_OBJECT_FILES_simplestatic_RelWithDebInfo}
+ ${TARGET_OBJECT_FILES_simpleobj_RelWithDebInfo}
+ )
diff --git a/Tests/RunCMake/NinjaMultiConfig/SimpleDefaultBuildAliasListCross.cmake b/Tests/RunCMake/NinjaMultiConfig/SimpleDefaultBuildAliasListCross.cmake
new file mode 100644
index 0000000..2a5b708
--- /dev/null
+++ b/Tests/RunCMake/NinjaMultiConfig/SimpleDefaultBuildAliasListCross.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_SOURCE_DIR}/Simple.cmake")
diff --git a/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake b/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake
index f1dda54..342dbbc 100644
--- a/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake
+++ b/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake
@@ -78,6 +78,15 @@ endfunction()
XcodeObjcxxFlags(XcodeObjcFlags)
XcodeObjcxxFlags(XcodeObjcxxFlags)
+function(XcodeRemoveExcessiveISystem)
+ set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeRemoveExcessiveISystem-build)
+ run_cmake(XcodeRemoveExcessiveISystem)
+ set(RunCMake_TEST_NO_CLEAN 1)
+ run_cmake_command(XcodeRemoveExcessiveISystem-build ${CMAKE_COMMAND} --build .)
+endfunction()
+
+XcodeRemoveExcessiveISystem()
+
# Isolate device tests from host architecture selection.
unset(ENV{CMAKE_OSX_ARCHITECTURES})
@@ -297,4 +306,16 @@ if(XCODE_VERSION VERSION_GREATER_EQUAL 8)
xctest_lookup_test(tvOS appletvsimulator)
endif()
+if(XCODE_VERSION VERSION_GREATER_EQUAL 8)
+ function(XcodeRemoveExcessiveISystemSDK SDK)
+ set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeRemoveExcessiveISystemSDK-${SDK}-build)
+ set(RunCMake_TEST_OPTIONS "-DCMAKE_SYSTEM_NAME=iOS")
+ run_cmake(XcodeRemoveExcessiveISystem)
+ set(RunCMake_TEST_NO_CLEAN 1)
+ run_cmake_command(XcodeRemoveExcessiveISystemSDK-${SDK}-build ${CMAKE_COMMAND} --build . -- -sdk ${SDK})
+ endfunction()
+
+ XcodeRemoveExcessiveISystemSDK(iphoneos)
+ XcodeRemoveExcessiveISystemSDK(iphonesimulator)
+endif()
# Please add macOS-only tests above before the device-specific tests.
diff --git a/Tests/RunCMake/XcodeProject/XcodeRemoveExcessiveISystem.cmake b/Tests/RunCMake/XcodeProject/XcodeRemoveExcessiveISystem.cmake
new file mode 100644
index 0000000..44052f0
--- /dev/null
+++ b/Tests/RunCMake/XcodeProject/XcodeRemoveExcessiveISystem.cmake
@@ -0,0 +1,52 @@
+cmake_minimum_required (VERSION 3.14)
+
+if(NOT "$ENV{CMAKE_OSX_ARCHITECTURES}" MATCHES "[;$]")
+ set(USE_SWIFT 1)
+else()
+ set(USE_SWIFT 0)
+endif()
+
+if(IOS)
+ set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED NO)
+ set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
+ if(XCODE_VERSION VERSION_LESS 9)
+ set(USE_SWIFT 0)
+ endif()
+endif ()
+
+enable_language (CXX)
+
+if(USE_SWIFT)
+ enable_language (Swift)
+ if(NOT XCODE_VERSION VERSION_LESS 10.2)
+ set(CMAKE_Swift_LANGUAGE_VERSION 5.0)
+ elseif(NOT XCODE_VERSION VERSION_LESS 8.0)
+ set(CMAKE_Swift_LANGUAGE_VERSION 3.0)
+ endif()
+endif()
+
+# Try to find ZLIB in the SDK rather than in system locations.
+set(CMAKE_FIND_USE_PACKAGE_ROOT_PATH FALSE)
+set(CMAKE_FIND_USE_CMAKE_PATH FALSE)
+set(CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH FALSE)
+set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH FALSE)
+list(REMOVE_ITEM CMAKE_SYSTEM_PREFIX_PATH /usr/local /usr / /usr/X11R6 /usr/pkg /opt /sw /opt/local)
+
+find_package(ZLIB REQUIRED)
+add_library (framework_dependency STATIC)
+target_sources (framework_dependency PRIVATE use_cmath.cpp)
+target_link_libraries(framework_dependency INTERFACE ZLIB::ZLIB)
+
+add_library (framework_test SHARED use_cmath.cpp)
+if(USE_SWIFT)
+ target_sources(framework_test PRIVATE foo.swift)
+endif()
+target_link_libraries (framework_test PRIVATE framework_dependency)
+
+set_target_properties (framework_test PROPERTIES
+ FRAMEWORK TRUE
+ FRAMEWORK_VERSION A
+ MACOSX_FRAMEWORK_IDENTIFIER "framework.test"
+ VERSION "1.0"
+ SOVERSION 1.0
+ )
diff --git a/Tests/RunCMake/XcodeProject/foo.swift b/Tests/RunCMake/XcodeProject/foo.swift
new file mode 100644
index 0000000..fb2d3dc
--- /dev/null
+++ b/Tests/RunCMake/XcodeProject/foo.swift
@@ -0,0 +1,2 @@
+func foo() {
+}
diff --git a/Tests/RunCMake/XcodeProject/use_cmath.cpp b/Tests/RunCMake/XcodeProject/use_cmath.cpp
new file mode 100644
index 0000000..8a58af5
--- /dev/null
+++ b/Tests/RunCMake/XcodeProject/use_cmath.cpp
@@ -0,0 +1,6 @@
+#include <cmath>
+
+bool foo(double arg)
+{
+ return std::isfinite(arg);
+}
diff --git a/Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-build-stdout.txt b/Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-build-stdout.txt
new file mode 100644
index 0000000..05c9a91
--- /dev/null
+++ b/Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-build-stdout.txt
@@ -0,0 +1 @@
+test2/test_folder_symlink
diff --git a/Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-rebuild-stdout.txt b/Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-rebuild-stdout.txt
new file mode 100644
index 0000000..05c9a91
--- /dev/null
+++ b/Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-rebuild-stdout.txt
@@ -0,0 +1 @@
+test2/test_folder_symlink
diff --git a/Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-stdout.txt b/Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-stdout.txt
new file mode 100644
index 0000000..1fbac01
--- /dev/null
+++ b/Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-stdout.txt
@@ -0,0 +1 @@
+.*Running CMake on GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake
diff --git a/Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake.cmake b/Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake.cmake
new file mode 100644
index 0000000..da40534
--- /dev/null
+++ b/Tests/RunCMake/file/GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake.cmake
@@ -0,0 +1,10 @@
+cmake_policy(SET CMP0009 NEW)
+message(STATUS "Running CMake on GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake")
+file(GLOB_RECURSE
+ CONTENT_LIST
+ CONFIGURE_DEPENDS
+ LIST_DIRECTORIES false
+ RELATIVE "${CMAKE_CURRENT_BINARY_DIR}"
+ "${CMAKE_CURRENT_BINARY_DIR}/test2/*"
+ )
+add_custom_target(CONTENT_ECHO ALL ${CMAKE_COMMAND} -E echo ${CONTENT_LIST})
diff --git a/Tests/RunCMake/file/RunCMakeTest.cmake b/Tests/RunCMake/file/RunCMakeTest.cmake
index 8d1b981..f5461ad 100644
--- a/Tests/RunCMake/file/RunCMakeTest.cmake
+++ b/Tests/RunCMake/file/RunCMakeTest.cmake
@@ -111,7 +111,7 @@ else()
set(tf_1 "${RunCMake_TEST_BINARY_DIR}/test/1.txt")
file(WRITE "${tf_1}" "1")
- message(STATUS "GLOB-RerunCMake: first configuration...")
+ message(STATUS "GLOB-CONFIGURE_DEPENDS-RerunCMake: first configuration...")
run_cmake(GLOB-CONFIGURE_DEPENDS-RerunCMake)
run_cmake_command(GLOB-CONFIGURE_DEPENDS-RerunCMake-build ${CMAKE_COMMAND} --build .)
@@ -125,10 +125,25 @@ else()
execute_process(COMMAND ${CMAKE_COMMAND} -E sleep ${fs_delay})
message(STATUS "GLOB-CONFIGURE_DEPENDS-RerunCMake: remove first test file...")
- file(REMOVE "${RunCMake_TEST_BINARY_DIR}/test/1.txt")
+ file(REMOVE "${tf_1}")
run_cmake_command(GLOB-CONFIGURE_DEPENDS-RerunCMake-rebuild_second ${CMAKE_COMMAND} --build .)
run_cmake_command(GLOB-CONFIGURE_DEPENDS-RerunCMake-nowork ${CMAKE_COMMAND} --build .)
+ if(NOT WIN32 OR CYGWIN)
+ message(STATUS "GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake: link the first test directory into a new directory...")
+ file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}/test2")
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${RunCMake_TEST_BINARY_DIR}/test" "${RunCMake_TEST_BINARY_DIR}/test2/test_folder_symlink")
+
+ message(STATUS "GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake: first configuration...")
+ run_cmake(GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake)
+ run_cmake_command(GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-build ${CMAKE_COMMAND} --build .)
+
+ message(STATUS "GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake: add another file in the linked directory...")
+ set(tf_3 "${RunCMake_TEST_BINARY_DIR}/test/3.txt")
+ file(WRITE "${tf_3}" "3")
+ run_cmake_command(GLOB-CONFIGURE_DEPENDS-CMP0009-RerunCMake-rebuild ${CMAKE_COMMAND} --build .)
+ endif()
+
unset(RunCMake_TEST_BINARY_DIR)
unset(RunCMake_TEST_NO_CLEAN)
unset(RunCMake_DEFAULT_stderr)
diff --git a/Tests/RunCMake/install/TARGETS-Defaults-Cache-all-check.cmake b/Tests/RunCMake/install/TARGETS-Defaults-Cache-all-check.cmake
index 57ad6e1..4a55cd6 100644
--- a/Tests/RunCMake/install/TARGETS-Defaults-Cache-all-check.cmake
+++ b/Tests/RunCMake/install/TARGETS-Defaults-Cache-all-check.cmake
@@ -8,8 +8,7 @@ if(WIN32)
[[mybin/exe\.exe]]
[[mybin/(lib)?lib1\.dll]]
[[myinclude]]
- [[myinclude/obj4\.h]]
- [[myinclude/obj5\.h]]
+ [[myinclude/obj3\.h]]
[[mylib]]
[[mylib/(lib)?lib1\.(dll\.a|lib)]]
[[mylib/(lib)?lib2\.(a|lib)]]
@@ -24,8 +23,7 @@ elseif(CYGWIN)
[[mybin/cyglib1\.dll]]
[[mybin/exe\.exe]]
[[myinclude]]
- [[myinclude/obj4\.h]]
- [[myinclude/obj5\.h]]
+ [[myinclude/obj3\.h]]
[[mylib]]
[[mylib/liblib1\.dll\.a]]
[[mylib/liblib2\.a]]
@@ -39,8 +37,7 @@ else()
[[mybin]]
[[mybin/exe]]
[[myinclude]]
- [[myinclude/obj4\.h]]
- [[myinclude/obj5\.h]]
+ [[myinclude/obj3\.h]]
[[mylib]]
[[mylib/liblib1\.(dylib|so)]]
[[mylib/liblib2\.a]]
diff --git a/Tests/RunCMake/install/TARGETS-Defaults-Cache-stderr.txt b/Tests/RunCMake/install/TARGETS-Defaults-Cache-stderr.txt
new file mode 100644
index 0000000..1939097
--- /dev/null
+++ b/Tests/RunCMake/install/TARGETS-Defaults-Cache-stderr.txt
@@ -0,0 +1,2 @@
+^INSTALL TARGETS - target lib3 has PRIVATE_HEADER files but no PRIVATE_HEADER DESTINATION\.
+INSTALL TARGETS - target lib4 has PUBLIC_HEADER files but no PUBLIC_HEADER DESTINATION\.$
diff --git a/Tests/RunCMake/install/TARGETS-Defaults-Cache.cmake b/Tests/RunCMake/install/TARGETS-Defaults-Cache.cmake
index bfd8c2c..58c5273 100644
--- a/Tests/RunCMake/install/TARGETS-Defaults-Cache.cmake
+++ b/Tests/RunCMake/install/TARGETS-Defaults-Cache.cmake
@@ -2,6 +2,7 @@ enable_language(C)
add_executable(exe main.c)
add_library(lib1 SHARED obj1.c)
+set_property(TARGET lib1 PROPERTY PUBLIC_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj3.h)
add_library(lib2 STATIC obj3.c)
add_library(lib3 SHARED obj4.c)
set_property(TARGET lib3 PROPERTY PRIVATE_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj4.h)
diff --git a/Tests/RunCMake/install/TARGETS-Defaults-all-check.cmake b/Tests/RunCMake/install/TARGETS-Defaults-all-check.cmake
index 15335b2..30f2266 100644
--- a/Tests/RunCMake/install/TARGETS-Defaults-all-check.cmake
+++ b/Tests/RunCMake/install/TARGETS-Defaults-all-check.cmake
@@ -6,8 +6,7 @@ if(WIN32)
[[include]]
[[include/obj1\.h]]
[[include/obj2\.h]]
- [[include/obj4\.h]]
- [[include/obj5\.h]]
+ [[include/obj3\.h]]
[[lib]]
[[lib/(lib)?lib1\.(dll\.a|lib)]]
[[lib/(lib)?lib2\.(a|lib)]]
@@ -24,8 +23,7 @@ elseif(CYGWIN)
[[include]]
[[include/obj1\.h]]
[[include/obj2\.h]]
- [[include/obj4\.h]]
- [[include/obj5\.h]]
+ [[include/obj3\.h]]
[[lib]]
[[lib/liblib1\.dll\.a]]
[[lib/liblib2\.a]]
@@ -41,8 +39,7 @@ else()
[[include]]
[[include/obj1\.h]]
[[include/obj2\.h]]
- [[include/obj4\.h]]
- [[include/obj5\.h]]
+ [[include/obj3\.h]]
[[lib]]
[[lib/liblib1\.(dylib|so)]]
[[lib/liblib2\.a]]
diff --git a/Tests/RunCMake/install/TARGETS-Defaults-stderr.txt b/Tests/RunCMake/install/TARGETS-Defaults-stderr.txt
new file mode 100644
index 0000000..1939097
--- /dev/null
+++ b/Tests/RunCMake/install/TARGETS-Defaults-stderr.txt
@@ -0,0 +1,2 @@
+^INSTALL TARGETS - target lib3 has PRIVATE_HEADER files but no PRIVATE_HEADER DESTINATION\.
+INSTALL TARGETS - target lib4 has PUBLIC_HEADER files but no PUBLIC_HEADER DESTINATION\.$
diff --git a/Tests/RunCMake/install/TARGETS-Defaults.cmake b/Tests/RunCMake/install/TARGETS-Defaults.cmake
index 324aa11..a580657 100644
--- a/Tests/RunCMake/install/TARGETS-Defaults.cmake
+++ b/Tests/RunCMake/install/TARGETS-Defaults.cmake
@@ -2,6 +2,7 @@ enable_language(C)
add_executable(exe main.c)
add_library(lib1 SHARED obj1.c)
+set_property(TARGET lib1 PROPERTY PUBLIC_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj3.h)
add_library(lib2 STATIC obj3.c)
add_library(lib3 SHARED obj4.c)
set_property(TARGET lib3 PROPERTY PRIVATE_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj4.h)
diff --git a/Utilities/Release/win32_release.cmake b/Utilities/Release/win32_release.cmake
index 14e5cba..993db6e 100644
--- a/Utilities/Release/win32_release.cmake
+++ b/Utilities/Release/win32_release.cmake
@@ -34,6 +34,7 @@ CMake_QT_STATIC_QWindowsIntegrationPlugin_LIBRARIES:STRING=${qt_win_libs}
CMAKE_PREFIX_PATH:STRING=${qt_prefix}
CMake_TEST_Qt4:BOOL=OFF
CMake_TEST_Qt5:BOOL=OFF
+PYTHON_EXECUTABLE:FILEPATH=C:/Python/3.8-64/python.exe
")
set(ppflags "-D_WIN32_WINNT=0x601 -DNTDDI_VERSION=0x06010000")
set(CFLAGS "${ppflags}")
diff --git a/Utilities/Release/win64_release.cmake b/Utilities/Release/win64_release.cmake
index 149d378..3042889 100644
--- a/Utilities/Release/win64_release.cmake
+++ b/Utilities/Release/win64_release.cmake
@@ -34,6 +34,7 @@ CMake_QT_STATIC_QWindowsIntegrationPlugin_LIBRARIES:STRING=${qt_win_libs}
CMAKE_PREFIX_PATH:STRING=${qt_prefix}
CMake_TEST_Qt4:BOOL=OFF
CMake_TEST_Qt5:BOOL=OFF
+PYTHON_EXECUTABLE:FILEPATH=C:/Python/3.8-64/python.exe
")
set(ppflags "-D_WIN32_WINNT=0x601 -DNTDDI_VERSION=0x06010000")
set(CFLAGS "${ppflags}")