CMakeLists.txt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. # HLSL Change - generate version include
  2. macro(generate_version_include name input_file output_file gen_flags)
  3. if ("${input_file}" STREQUAL "")
  4. FILE(TO_NATIVE_PATH "${output_file}.gen" gen_file)
  5. add_custom_command(
  6. OUTPUT ${gen_file}
  7. COMMAND echo Generating version
  8. COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/gen_version.py ${gen_flags} > ${gen_file}
  9. DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gen_version.py
  10. )
  11. else ()
  12. SET(gen_file ${input_file})
  13. endif ()
  14. add_custom_target(${name}
  15. BYPRODUCTS ${output_file}
  16. COMMAND ${CMAKE_COMMAND} -E copy_if_different ${gen_file} ${output_file}
  17. DEPENDS ${gen_file}
  18. DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gen_version.py
  19. )
  20. set_target_properties(${name} PROPERTIES
  21. FOLDER version
  22. )
  23. endmacro(generate_version_include)
  24. # end HLSL Change - generate version include
  25. if(HLSL_ENABLE_FIXED_VER AND "${HLSL_FIXED_VERSION_LOCATION}" STREQUAL "")
  26. SET(HLSL_FIXED_VERSION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/version.inc")
  27. message("Using fixed version file ${HLSL_FIXED_VERSION_FILE}")
  28. else()
  29. SET(HLSL_FIXED_VERSION_FILE "")
  30. if (HLSL_OFFICIAL_BUILD OR HLSL_ENABLE_FIXED_VER)
  31. message("Will generate official build version based on the latest release fork sha and current commit count")
  32. set(HLSL_GEN_VERSION_OFFICIAL_OPTION "--official")
  33. else (HLSL_OFFICIAL_BUILD OR HLSL_ENABLE_FIXED_VER)
  34. message("Will generate dev build version based on current commit count")
  35. set(HLSL_GEN_VERSION_OFFICIAL_OPTION "")
  36. endif (HLSL_OFFICIAL_BUILD OR HLSL_ENABLE_FIXED_VER)
  37. endif()
  38. generate_version_include(hlsl_dxcversion_autogen
  39. "${HLSL_FIXED_VERSION_FILE}"
  40. "${HLSL_VERSION_LOCATION}/dxcversion.inc"
  41. "${HLSL_GEN_VERSION_OFFICIAL_OPTION}"
  42. )
  43. if (HLSL_EMBED_VERSION OR HLSL_ENABLE_FIXED_VER)
  44. # If there is an explicit fixed version location, version.inc should copy from there
  45. # Used to propagate GDK versions to the RC data
  46. if (NOT "${HLSL_FIXED_VERSION_LOCATION}" STREQUAL "")
  47. FILE(TO_CMAKE_PATH "${HLSL_FIXED_VERSION_LOCATION}/version.inc" HLSL_FIXED_VERSION_FILE)
  48. endif(NOT "${HLSL_FIXED_VERSION_LOCATION}" STREQUAL "")
  49. message( ${HLSL_FIXED_VERSION_FILE}
  50. "${HLSL_VERSION_LOCATION}/version.inc"
  51. "${HLSL_GEN_VERSION_OFFICIAL_OPTION}")
  52. generate_version_include(hlsl_version_autogen
  53. "${HLSL_FIXED_VERSION_FILE}"
  54. "${HLSL_VERSION_LOCATION}/version.inc"
  55. "${HLSL_GEN_VERSION_OFFICIAL_OPTION}"
  56. )
  57. endif(HLSL_EMBED_VERSION OR HLSL_ENABLE_FIXED_VER)