28 lines
806 B
CMake
Raw Normal View History

2021-09-14 00:13:48 +02:00
cmake_minimum_required(VERSION 3.18)
project(ISPCCustomHeaderSuffix CXX ISPC)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(CMAKE_ISPC_FLAGS "--arch=x86")
endif()
2023-07-02 19:51:09 +02:00
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()
2021-09-14 00:13:48 +02:00
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)