##===-------------------------------------------------------------------------- ## ROCm Device Libraries ## ## This file is distributed under the University of Illinois Open Source ## License. See LICENSE.TXT for details. ##===-------------------------------------------------------------------------- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/inc) # Explicit mapping: TARGET_NAME|ISA_VERSION (using | as separator to avoid CMake list issues) set(OCLC_ISA_TARGETS # GFX6 "600|6000" "601|6001" "602|6002" # GFX7 "700|7000" "701|7001" "702|7002" "703|7003" "704|7004" "705|7005" # GFX8 "801|8001" "802|8002" "803|8003" "805|8005" "810|8100" # GFX9 "900|9000" "902|9002" "904|9004" "906|9006" "908|9008" "909|9009" "90a|9010" "90c|9012" "942|9402" "950|9500" "9-generic|9000" "9-4-generic|9402" # GFX10 "1010|10100" "1011|10101" "1012|10102" "1013|10103" "1030|10300" "1031|10301" "1032|10302" "1033|10303" "1034|10304" "1035|10305" "1036|10306" "10-1-generic|10100" "10-3-generic|10300" # GFX11 "1100|11000" "1101|11001" "1102|11002" "1103|11003" "1150|11500" "1151|11501" "1152|11502" "1153|11503" "1170|11700" "1171|11701" "1172|11702" "11-generic|11003" # GFX12 "1200|12000" "1201|12001" "1250|12500" "1251|12501" "12-generic|12000" ) # ABI versions (version in name equals value) set(OCLC_ABI_VERSIONS 400 500 600) # Generate ISA version files foreach(entry ${OCLC_ISA_TARGETS}) string(REPLACE "|" ";" entry_list "${entry}") list(GET entry_list 0 TARGET_NAME) list(GET entry_list 1 ISA_VERSION) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/src/isa_version.cl.in ${CMAKE_CURRENT_BINARY_DIR}/isa_version_${TARGET_NAME}.cl @ONLY ) opencl_bc_lib(NAME oclc_isa_version_${TARGET_NAME} SOURCES ${CMAKE_CURRENT_BINARY_DIR}/isa_version_${TARGET_NAME}.cl) endforeach() # Generate ABI version files foreach(ABI_VERSION ${OCLC_ABI_VERSIONS}) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/src/abi_version.cl.in ${CMAKE_CURRENT_BINARY_DIR}/abi_version_${ABI_VERSION}.cl @ONLY ) opencl_bc_lib(NAME oclc_abi_version_${ABI_VERSION} SOURCES ${CMAKE_CURRENT_BINARY_DIR}/abi_version_${ABI_VERSION}.cl) endforeach() # Process remaining source files (excluding generated isa_version and abi_version) file(GLOB sources ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cl) foreach(file ${sources}) get_filename_component(name ${file} NAME_WE) get_filename_component(ext ${file} EXT) opencl_bc_lib(NAME oclc_${name} SOURCES ${file}) endforeach()