Commit 26690edf by Nicolas Capens

Fix CMake build when Subzero submodule is missing.

By default we build SwiftShader with the LLVM backend, so the build shouldn't fail because of missing the Subzero submodule's code. Run git submodule update --init To pull the submodule if you do want to build with Subzero. Change-Id: Ib752edf891a6dd18fff8ce0dfae79ff5a1b7e011 Reviewed-on: https://swiftshader-review.googlesource.com/9088Tested-by: 's avatarNicolas Capens <capn@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com>
parent 6f432a6b
...@@ -565,7 +565,8 @@ set_target_properties(llvm PROPERTIES ...@@ -565,7 +565,8 @@ set_target_properties(llvm PROPERTIES
# Subzero # Subzero
########################################################### ###########################################################
set(SUBZERO_LIST if(${REACTOR_BACKEND} STREQUAL "Subzero")
set(SUBZERO_LIST
${SUBZERO_DIR}/src/IceAssembler.cpp ${SUBZERO_DIR}/src/IceAssembler.cpp
${SUBZERO_DIR}/src/IceCfg.cpp ${SUBZERO_DIR}/src/IceCfg.cpp
${SUBZERO_DIR}/src/IceCfgNode.cpp ${SUBZERO_DIR}/src/IceCfgNode.cpp
...@@ -594,66 +595,67 @@ set(SUBZERO_LIST ...@@ -594,66 +595,67 @@ set(SUBZERO_LIST
${SUBZERO_DIR}/src/IceTimerTree.cpp ${SUBZERO_DIR}/src/IceTimerTree.cpp
${SUBZERO_DIR}/src/IceTypes.cpp ${SUBZERO_DIR}/src/IceTypes.cpp
${SUBZERO_DIR}/src/IceVariableSplitting.cpp ${SUBZERO_DIR}/src/IceVariableSplitting.cpp
) )
if(CMAKE_SIZEOF_VOID_P EQUAL 8) if(CMAKE_SIZEOF_VOID_P EQUAL 8)
list(APPEND SUBZERO_LIST list(APPEND SUBZERO_LIST
${SUBZERO_DIR}/src/IceInstX8664.cpp ${SUBZERO_DIR}/src/IceInstX8664.cpp
${SUBZERO_DIR}/src/IceTargetLoweringX8664.cpp ${SUBZERO_DIR}/src/IceTargetLoweringX8664.cpp
) )
set(SUBZERO_TARGET X8664) set(SUBZERO_TARGET X8664)
else() else()
list(APPEND SUBZERO_LIST list(APPEND SUBZERO_LIST
${SUBZERO_DIR}/src/IceInstX8632.cpp ${SUBZERO_DIR}/src/IceInstX8632.cpp
${SUBZERO_DIR}/src/IceTargetLoweringX8632.cpp ${SUBZERO_DIR}/src/IceTargetLoweringX8632.cpp
) )
set(SUBZERO_TARGET X8632) set(SUBZERO_TARGET X8632)
endif() endif()
file(GLOB_RECURSE SUBZERO_DEPENDENCIES_LIST file(GLOB_RECURSE SUBZERO_DEPENDENCIES_LIST
${SUBZERO_LLVM_DIR}/*.cpp ${SUBZERO_LLVM_DIR}/*.cpp
${SUBZERO_LLVM_DIR}/*.c ${SUBZERO_LLVM_DIR}/*.c
${SUBZERO_LLVM_DIR}/*.h ${SUBZERO_LLVM_DIR}/*.h
) )
set(SUBZERO_REACTOR_LIST set(SUBZERO_REACTOR_LIST
${SOURCE_DIR}/Reactor/SubzeroReactor.cpp ${SOURCE_DIR}/Reactor/SubzeroReactor.cpp
${SOURCE_DIR}/Reactor/Routine.cpp ${SOURCE_DIR}/Reactor/Routine.cpp
${SOURCE_DIR}/Reactor/Optimizer.cpp ${SOURCE_DIR}/Reactor/Optimizer.cpp
${SOURCE_DIR}/Reactor/Nucleus.hpp ${SOURCE_DIR}/Reactor/Nucleus.hpp
${SOURCE_DIR}/Reactor/Routine.hpp ${SOURCE_DIR}/Reactor/Routine.hpp
) )
set(SUBZERO_INCLUDE_DIR set(SUBZERO_INCLUDE_DIR
${SUBZERO_DIR}/ ${SUBZERO_DIR}/
${SUBZERO_LLVM_DIR}/include/ ${SUBZERO_LLVM_DIR}/include/
${SUBZERO_DIR}/pnacl-llvm/include/ ${SUBZERO_DIR}/pnacl-llvm/include/
${SOURCE_DIR}/Reactor/SubmoduleCheck/ ${SOURCE_DIR}/Reactor/SubmoduleCheck/
) )
if(WIN32) if(WIN32)
list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/Windows/include/) list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/Windows/include/)
elseif(LINUX) elseif(LINUX)
list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/Linux/include/) list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/Linux/include/)
elseif(APPLE) elseif(APPLE)
list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/MacOS/include/) list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/MacOS/include/)
endif() endif()
add_library(ReactorSubzero STATIC add_library(ReactorSubzero STATIC
${SUBZERO_LIST} ${SUBZERO_LIST}
${SUBZERO_DEPENDENCIES_LIST} ${SUBZERO_DEPENDENCIES_LIST}
${SUBZERO_REACTOR_LIST} ${SUBZERO_REACTOR_LIST}
) )
set_target_properties(ReactorSubzero PROPERTIES set_target_properties(ReactorSubzero PROPERTIES
POSITION_INDEPENDENT_CODE 1 POSITION_INDEPENDENT_CODE 1
INCLUDE_DIRECTORIES "${SUBZERO_INCLUDE_DIR}" INCLUDE_DIRECTORIES "${SUBZERO_INCLUDE_DIR}"
COMPILE_DEFINITIONS "SZTARGET=${SUBZERO_TARGET}; ALLOW_DUMP=0; ALLOW_TIMERS=0; ALLOW_LLVM_CL=0; ALLOW_LLVM_IR=0; ALLOW_LLVM_IR_AS_INPUT=0; ALLOW_MINIMAL_BUILD=0; ALLOW_WASM=0; ICE_THREAD_LOCAL_HACK=0;" COMPILE_DEFINITIONS "SZTARGET=${SUBZERO_TARGET}; ALLOW_DUMP=0; ALLOW_TIMERS=0; ALLOW_LLVM_CL=0; ALLOW_LLVM_IR=0; ALLOW_LLVM_IR_AS_INPUT=0; ALLOW_MINIMAL_BUILD=0; ALLOW_WASM=0; ICE_THREAD_LOCAL_HACK=0;"
FOLDER "Subzero" FOLDER "Subzero"
) )
if(WIN32) if(WIN32)
target_compile_definitions(ReactorSubzero PRIVATE SUBZERO_USE_MICROSOFT_ABI) target_compile_definitions(ReactorSubzero PRIVATE SUBZERO_USE_MICROSOFT_ABI)
endif()
endif() endif()
########################################################### ###########################################################
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment