File: BiFModuleCache.cmake

package info (click to toggle)
intel-graphics-compiler 1.0.12504.6-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 83,912 kB
  • sloc: cpp: 910,147; lisp: 202,655; ansic: 15,197; python: 4,025; yacc: 2,241; lex: 1,570; pascal: 244; sh: 104; makefile: 25
file content (92 lines) | stat: -rw-r--r-- 3,749 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#=========================== begin_copyright_notice ============================
#
# Copyright (C) 2022 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
#============================ end_copyright_notice =============================

string(REPLACE "$(Configuration)" "" IGC_BUILD__BIF_ROOT_DIR ${IGC_BUILD__BIF_DIR})
message("[IGC\\BiFModuleCache] - IGC_BUILD__BIF_ROOT_DIR: ${IGC_BUILD__BIF_ROOT_DIR}")

include(BiFMCConst)
include(BiFMCGetListFiles)

set(BiFModule_SRC_LIST "")

get_bif_src_list(${opencl-header} ${BiFModule_SRC} BiFModule_SRC_LIST)

message("[IGC\\BiFModuleCache] - BiFModule_SRC: ${BiFModule_SRC}")

if(NOT EXISTS ${IGC_BUILD__BIF_ROOT_DIR})
    file(MAKE_DIRECTORY ${IGC_BUILD__BIF_ROOT_DIR})
endif()

file(REMOVE ${BiFModule_SRC_SHA_PATH})
file(REMOVE ${BiFModule_Init})

add_custom_command(
    OUTPUT ${BiFModule_Init}
    COMMAND ${CMAKE_COMMAND}
        -Dopencl-header=${opencl-header}
        -DIGC_BUILD__BIF_ROOT_DIR=${IGC_BUILD__BIF_ROOT_DIR}
        -DIGC_BUILD__BIF_DIR=${IGC_BUILD__BIF_DIR}
        -DBiFModuleCacheTarget=$<IF:$<CONFIG:Release>,"Release","Non-Release">
        -P ${CMAKE_CURRENT_LIST_DIR}/BiFMCInit.cmake
    COMMENT "Running BiFMCInit to prepare BiFModule caching"
    DEPENDS "${BiFModule_SRC_SHA_PATH}"
)

set(IGC_BUILD__PROJ__BiFModuleCache_INIT       "${IGC_BUILD__PROJ_NAME_PREFIX}BiFModuleCache_INIT")
set(IGC_BUILD__PROJ__BiFModuleCache_INIT       "${IGC_BUILD__PROJ__BiFModuleCache_INIT}" PARENT_SCOPE)
add_custom_target("${IGC_BUILD__PROJ__BiFModuleCache_INIT}"
    DEPENDS "${BiFModule_Init}"
)

# Function generates BiFModule-SRC checksum
# @param bifModuleTgt BiFModule target
function(generate_bif_src_checksum bifModuleTgt)
    add_custom_command(
        OUTPUT ${BiFModule_SRC_SHA_PATH}
        COMMAND ${CMAKE_COMMAND}
            -Dopencl-header=${opencl-header}
            -DIGC_BUILD__BIF_ROOT_DIR=${IGC_BUILD__BIF_ROOT_DIR}
            -DBiFModuleCacheTarget=$<IF:$<CONFIG:Release>,"Release","Non-Release">
            -P ${CMAKE_CURRENT_LIST_DIR}/cmake/BiFMCChecksum.cmake
        COMMENT "Running BiFMCChecksum to update checksum for BiFModule sources"
        DEPENDS ${BiFModule_SRC_LIST}
    )

    set(IGC_BUILD__PROJ__BiFModuleCache_SRC_CHECKSUM_OCL       "${IGC_BUILD__PROJ_NAME_PREFIX}BiFModuleCache_SRC_checksum")
    set(IGC_BUILD__PROJ__BiFModuleCache_SRC_CHECKSUM_OCL       "${IGC_BUILD__PROJ__BiFModuleCache_SRC_CHECKSUM_OCL}" PARENT_SCOPE)
    add_custom_target("${IGC_BUILD__PROJ__BiFModuleCache_SRC_CHECKSUM_OCL}"
        DEPENDS "${BiFModule_SRC_SHA_PATH}"
    )

add_dependencies(${bifModuleTgt} ${IGC_BUILD__PROJ__BiFModuleCache_SRC_CHECKSUM_OCL})

endfunction()


# Function generates BiFModule-Prebuild pack
# @param bifModuleDepends BiFModule depends
# @param bifModuleTgt BiFModule target
function(generate_bif_prebuild_pack bifModuleTgt bifModuleDepends)
    add_custom_command(
        OUTPUT ${BiFModule_PREBUILD_SHA_PATH}
        COMMAND ${CMAKE_COMMAND}
            -DLIST_FILES="${bifModuleDepends}"
            -DIGC_BUILD__BIF_ROOT_DIR=${IGC_BUILD__BIF_ROOT_DIR}
            -DBiFModuleCacheTarget=$<IF:$<CONFIG:Release>,"Release","Non-Release">
            -P ${CMAKE_CURRENT_LIST_DIR}/cmake/BiFMCBuild.cmake
        COMMENT "Running BiFMCBuild to create BiFModule cache package"
        WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
        DEPENDS "${BiFModule_SRC_SHA_PATH}"
    )

    set(IGC_BUILD__PROJ__BiFModuleCache_OCL       "${IGC_BUILD__PROJ_NAME_PREFIX}BiFModuleCache")
    set(IGC_BUILD__PROJ__BiFModuleCache_OCL       "${IGC_BUILD__PROJ__BiFModuleCache_OCL}" PARENT_SCOPE)
    add_custom_target("${IGC_BUILD__PROJ__BiFModuleCache_OCL}"
        DEPENDS ${bifModuleTgt} "${BiFModule_PREBUILD_SHA_PATH}"
    )
endfunction()