| |
| cmake_minimum_required(VERSION 3.18) |
| project(ISPCCustomHeaderSuffix CXX ISPC) |
| |
| if(CMAKE_SIZEOF_VOID_P EQUAL 4) |
| set(CMAKE_ISPC_FLAGS "--arch=x86") |
| endif() |
| |
| if("${CMAKE_SYSTEM_NAME};${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "Darwin;arm64") |
| set(CMAKE_ISPC_INSTRUCTION_SETS "neon-i32x4") |
| else() |
| set(CMAKE_ISPC_INSTRUCTION_SETS "sse2-i32x4;sse4-i8x16") |
| endif() |
| |
| set(CMAKE_ISPC_HEADER_SUFFIX ".ispc.h") |
| |
| add_library(ispc_suffix_1 OBJECT simple.ispc) |
| add_library(ispc_suffix_2 OBJECT extra.ispc) |
| |
| set_target_properties(ispc_suffix_2 PROPERTIES ISPC_HEADER_SUFFIX "___ispc.h") |
| |
| set_target_properties(ispc_suffix_1 ispc_suffix_2 |
| PROPERTIES POSITION_INDEPENDENT_CODE ON |
| ) |
| |
| add_executable(ISPCCustomHeaderSuffix main.cxx extra.cxx) |
| target_link_libraries(ISPCCustomHeaderSuffix PRIVATE ispc_suffix_1 ispc_suffix_2) |