summaryrefslogtreecommitdiff
path: root/Help/variable/CMAKE_CFG_INTDIR.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Help/variable/CMAKE_CFG_INTDIR.rst')
-rw-r--r--Help/variable/CMAKE_CFG_INTDIR.rst45
1 files changed, 45 insertions, 0 deletions
diff --git a/Help/variable/CMAKE_CFG_INTDIR.rst b/Help/variable/CMAKE_CFG_INTDIR.rst
new file mode 100644
index 0000000000..20435e590b
--- /dev/null
+++ b/Help/variable/CMAKE_CFG_INTDIR.rst
@@ -0,0 +1,45 @@
+CMAKE_CFG_INTDIR
+----------------
+
+Build-time reference to per-configuration output subdirectory.
+
+For native build systems supporting multiple configurations in the
+build tree (such as Visual Studio and Xcode), the value is a reference
+to a build-time variable specifying the name of the per-configuration
+output subdirectory. On Makefile generators this evaluates to "."
+because there is only one configuration in a build tree. Example
+values:
+
+::
+
+ $(IntDir) = Visual Studio 6
+ $(OutDir) = Visual Studio 7, 8, 9
+ $(Configuration) = Visual Studio 10
+ $(CONFIGURATION) = Xcode
+ . = Make-based tools
+
+Since these values are evaluated by the native build system, this
+variable is suitable only for use in command lines that will be
+evaluated at build time. Example of intended usage:
+
+::
+
+ add_executable(mytool mytool.c)
+ add_custom_command(
+ OUTPUT out.txt
+ COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool
+ ${CMAKE_CURRENT_SOURCE_DIR}/in.txt out.txt
+ DEPENDS mytool in.txt
+ )
+ add_custom_target(drive ALL DEPENDS out.txt)
+
+Note that CMAKE_CFG_INTDIR is no longer necessary for this purpose but
+has been left for compatibility with existing projects. Instead
+add_custom_command() recognizes executable target names in its COMMAND
+option, so "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool"
+can be replaced by just "mytool".
+
+This variable is read-only. Setting it is undefined behavior. In
+multi-configuration build systems the value of this variable is passed
+as the value of preprocessor symbol "CMAKE_INTDIR" to the compilation
+of all source files.