CMAKE_CFG_INTDIR.rst 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. CMAKE_CFG_INTDIR
  2. ----------------
  3. Build-time reference to per-configuration output subdirectory.
  4. For native build systems supporting multiple configurations in the
  5. build tree (such as Visual Studio and Xcode), the value is a reference
  6. to a build-time variable specifying the name of the per-configuration
  7. output subdirectory. On Makefile generators this evaluates to "."
  8. because there is only one configuration in a build tree. Example
  9. values:
  10. ::
  11. $(IntDir) = Visual Studio 6
  12. $(OutDir) = Visual Studio 7, 8, 9
  13. $(Configuration) = Visual Studio 10
  14. $(CONFIGURATION) = Xcode
  15. . = Make-based tools
  16. Since these values are evaluated by the native build system, this
  17. variable is suitable only for use in command lines that will be
  18. evaluated at build time. Example of intended usage:
  19. ::
  20. add_executable(mytool mytool.c)
  21. add_custom_command(
  22. OUTPUT out.txt
  23. COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool
  24. ${CMAKE_CURRENT_SOURCE_DIR}/in.txt out.txt
  25. DEPENDS mytool in.txt
  26. )
  27. add_custom_target(drive ALL DEPENDS out.txt)
  28. Note that CMAKE_CFG_INTDIR is no longer necessary for this purpose but
  29. has been left for compatibility with existing projects. Instead
  30. add_custom_command() recognizes executable target names in its COMMAND
  31. option, so "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mytool"
  32. can be replaced by just "mytool".
  33. This variable is read-only. Setting it is undefined behavior. In
  34. multi-configuration build systems the value of this variable is passed
  35. as the value of preprocessor symbol "CMAKE_INTDIR" to the compilation
  36. of all source files.