| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- set(LLVM_LINK_COMPONENTS
- Core
- # MC # HLSL Change
- Support
- )
- # Figure out if we can track VC revisions.
- function(find_first_existing_file out_var)
- foreach(file ${ARGN})
- if(EXISTS "${file}")
- set(${out_var} "${file}" PARENT_SCOPE)
- return()
- endif()
- endforeach()
- endfunction()
- macro(find_first_existing_vc_file out_var path)
- find_first_existing_file(${out_var}
- "${path}/.git/logs/HEAD" # Git
- "${path}/.svn/wc.db" # SVN 1.7
- "${path}/.svn/entries" # SVN 1.6
- )
- endmacro()
- find_first_existing_vc_file(llvm_vc "${LLVM_MAIN_SRC_DIR}")
- find_first_existing_vc_file(clang_vc "${CLANG_SOURCE_DIR}")
- # The VC revision include that we want to generate.
- set(version_inc "${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc")
- set(get_svn_script "${LLVM_MAIN_SRC_DIR}/cmake/modules/GetSVN.cmake")
- # HLSL Change Starts
- if (HLSL_ENABLE_FIXED_VER)
- add_definitions(/DHLSL_FIXED_VER="dxcoob 2019.05.00")
- endif (HLSL_ENABLE_FIXED_VER)
- # HLSL Change Ends
- if(DEFINED llvm_vc AND DEFINED clang_vc)
- # Create custom target to generate the VC revision include.
- add_custom_command(OUTPUT "${version_inc}"
- DEPENDS "${llvm_vc}" "${clang_vc}" "${get_svn_script}"
- COMMAND
- ${CMAKE_COMMAND} "-DFIRST_SOURCE_DIR=${LLVM_MAIN_SRC_DIR}"
- "-DFIRST_NAME=LLVM"
- "-DSECOND_SOURCE_DIR=${CLANG_SOURCE_DIR}"
- "-DSECOND_NAME=SVN"
- "-DHEADER_FILE=${version_inc}"
- -P "${get_svn_script}")
- # Mark the generated header as being generated.
- set_source_files_properties("${version_inc}"
- PROPERTIES GENERATED TRUE
- HEADER_FILE_ONLY TRUE)
- # Tell Version.cpp that it needs to build with -DHAVE_SVN_VERSION_INC.
- set_source_files_properties(Version.cpp
- PROPERTIES COMPILE_DEFINITIONS "HAVE_SVN_VERSION_INC")
- else()
- # Not producing a VC revision include.
- set(version_inc)
- endif()
- add_clang_library(clangBasic
- Attributes.cpp
- Builtins.cpp
- CharInfo.cpp
- Diagnostic.cpp
- DiagnosticIDs.cpp
- DiagnosticOptions.cpp
- FileManager.cpp
- FileSystemStatCache.cpp
- IdentifierTable.cpp
- LangOptions.cpp
- Module.cpp
- ObjCRuntime.cpp
- OpenMPKinds.cpp
- OperatorPrecedence.cpp
- SanitizerBlacklist.cpp
- Sanitizers.cpp
- SourceLocation.cpp
- SourceManager.cpp
- TargetInfo.cpp
- Targets.cpp
- TokenKinds.cpp
- Version.cpp
- VersionTuple.cpp
- VirtualFileSystem.cpp
- Warnings.cpp
- ${version_inc}
- )
- # HLSL Change Starts
- if ( HLSL_SUPPORT_QUERY_GIT_COMMIT_INFO )
- set(GIT_COMMIT_INFO_FILE ${CMAKE_CURRENT_BINARY_DIR}/GitCommitInfo.inc)
- set(GET_GIT_COMMIT_SCRIPT ${PROJECT_SOURCE_DIR}/utils/GetCommitInfo.py)
- add_custom_command(
- OUTPUT ${GIT_COMMIT_INFO_FILE}
- COMMAND ${PYTHON_EXECUTABLE} ${GET_GIT_COMMIT_SCRIPT}
- ${PROJECT_SOURCE_DIR} ${GIT_COMMIT_INFO_FILE}
- DEPENDS ${GET_GIT_COMMIT_SCRIPT} GIT_COMMIT_INFO_ALWAYS_REBUILD
- COMMENT "Collect Git commit info for versioning"
- )
- add_custom_target(
- GIT_COMMIT_INFO_ALWAYS_REBUILD
- ${CMAKE_COMMAND} -E touch ${GET_GIT_COMMIT_SCRIPT}
- COMMENT "Touch GetCommitInfo.py to trigger rebuild"
- )
- set_property(TARGET GIT_COMMIT_INFO_ALWAYS_REBUILD
- PROPERTY FOLDER "Utils")
- set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/Version.cpp
- PROPERTIES OBJECT_DEPENDS "${GIT_COMMIT_INFO_FILE}")
- endif()
- # HLSL Change Ends
|