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,95 +565,97 @@ set_target_properties(llvm PROPERTIES ...@@ -565,95 +565,97 @@ set_target_properties(llvm PROPERTIES
# Subzero # Subzero
########################################################### ###########################################################
set(SUBZERO_LIST if(${REACTOR_BACKEND} STREQUAL "Subzero")
${SUBZERO_DIR}/src/IceAssembler.cpp set(SUBZERO_LIST
${SUBZERO_DIR}/src/IceCfg.cpp ${SUBZERO_DIR}/src/IceAssembler.cpp
${SUBZERO_DIR}/src/IceCfgNode.cpp ${SUBZERO_DIR}/src/IceCfg.cpp
${SUBZERO_DIR}/src/IceClFlags.cpp ${SUBZERO_DIR}/src/IceCfgNode.cpp
${SUBZERO_DIR}/src/IceELFObjectWriter.cpp ${SUBZERO_DIR}/src/IceClFlags.cpp
${SUBZERO_DIR}/src/IceELFSection.cpp ${SUBZERO_DIR}/src/IceELFObjectWriter.cpp
${SUBZERO_DIR}/src/IceFixups.cpp ${SUBZERO_DIR}/src/IceELFSection.cpp
${SUBZERO_DIR}/src/IceGlobalContext.cpp ${SUBZERO_DIR}/src/IceFixups.cpp
${SUBZERO_DIR}/src/IceGlobalInits.cpp ${SUBZERO_DIR}/src/IceGlobalContext.cpp
${SUBZERO_DIR}/src/IceInst.cpp ${SUBZERO_DIR}/src/IceGlobalInits.cpp
${SUBZERO_DIR}/src/IceInstrumentation.cpp ${SUBZERO_DIR}/src/IceInst.cpp
${SUBZERO_DIR}/src/IceIntrinsics.cpp ${SUBZERO_DIR}/src/IceInstrumentation.cpp
${SUBZERO_DIR}/src/IceLiveness.cpp ${SUBZERO_DIR}/src/IceIntrinsics.cpp
${SUBZERO_DIR}/src/IceLoopAnalyzer.cpp ${SUBZERO_DIR}/src/IceLiveness.cpp
${SUBZERO_DIR}/src/IceMangling.cpp ${SUBZERO_DIR}/src/IceLoopAnalyzer.cpp
${SUBZERO_DIR}/src/IceMemory.cpp ${SUBZERO_DIR}/src/IceMangling.cpp
${SUBZERO_DIR}/src/IceOperand.cpp ${SUBZERO_DIR}/src/IceMemory.cpp
${SUBZERO_DIR}/src/IceRangeSpec.cpp ${SUBZERO_DIR}/src/IceOperand.cpp
${SUBZERO_DIR}/src/IceRegAlloc.cpp ${SUBZERO_DIR}/src/IceRangeSpec.cpp
${SUBZERO_DIR}/src/IceRevision.cpp ${SUBZERO_DIR}/src/IceRegAlloc.cpp
${SUBZERO_DIR}/src/IceRNG.cpp ${SUBZERO_DIR}/src/IceRevision.cpp
${SUBZERO_DIR}/src/IceSwitchLowering.cpp ${SUBZERO_DIR}/src/IceRNG.cpp
${SUBZERO_DIR}/src/IceTargetLowering.cpp ${SUBZERO_DIR}/src/IceSwitchLowering.cpp
${SUBZERO_DIR}/src/IceTargetLoweringX86.cpp ${SUBZERO_DIR}/src/IceTargetLowering.cpp
${SUBZERO_DIR}/src/IceThreading.cpp ${SUBZERO_DIR}/src/IceTargetLoweringX86.cpp
${SUBZERO_DIR}/src/IceTimerTree.cpp ${SUBZERO_DIR}/src/IceThreading.cpp
${SUBZERO_DIR}/src/IceTypes.cpp ${SUBZERO_DIR}/src/IceTimerTree.cpp
${SUBZERO_DIR}/src/IceVariableSplitting.cpp ${SUBZERO_DIR}/src/IceTypes.cpp
) ${SUBZERO_DIR}/src/IceVariableSplitting.cpp
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
list(APPEND SUBZERO_LIST
${SUBZERO_DIR}/src/IceInstX8664.cpp
${SUBZERO_DIR}/src/IceTargetLoweringX8664.cpp
)
set(SUBZERO_TARGET X8664)
else()
list(APPEND SUBZERO_LIST
${SUBZERO_DIR}/src/IceInstX8632.cpp
${SUBZERO_DIR}/src/IceTargetLoweringX8632.cpp
) )
set(SUBZERO_TARGET X8632)
endif()
file(GLOB_RECURSE SUBZERO_DEPENDENCIES_LIST if(CMAKE_SIZEOF_VOID_P EQUAL 8)
${SUBZERO_LLVM_DIR}/*.cpp list(APPEND SUBZERO_LIST
${SUBZERO_LLVM_DIR}/*.c ${SUBZERO_DIR}/src/IceInstX8664.cpp
${SUBZERO_LLVM_DIR}/*.h ${SUBZERO_DIR}/src/IceTargetLoweringX8664.cpp
) )
set(SUBZERO_TARGET X8664)
else()
list(APPEND SUBZERO_LIST
${SUBZERO_DIR}/src/IceInstX8632.cpp
${SUBZERO_DIR}/src/IceTargetLoweringX8632.cpp
)
set(SUBZERO_TARGET X8632)
endif()
set(SUBZERO_REACTOR_LIST file(GLOB_RECURSE SUBZERO_DEPENDENCIES_LIST
${SOURCE_DIR}/Reactor/SubzeroReactor.cpp ${SUBZERO_LLVM_DIR}/*.cpp
${SOURCE_DIR}/Reactor/Routine.cpp ${SUBZERO_LLVM_DIR}/*.c
${SOURCE_DIR}/Reactor/Optimizer.cpp ${SUBZERO_LLVM_DIR}/*.h
${SOURCE_DIR}/Reactor/Nucleus.hpp )
${SOURCE_DIR}/Reactor/Routine.hpp
)
set(SUBZERO_INCLUDE_DIR set(SUBZERO_REACTOR_LIST
${SUBZERO_DIR}/ ${SOURCE_DIR}/Reactor/SubzeroReactor.cpp
${SUBZERO_LLVM_DIR}/include/ ${SOURCE_DIR}/Reactor/Routine.cpp
${SUBZERO_DIR}/pnacl-llvm/include/ ${SOURCE_DIR}/Reactor/Optimizer.cpp
${SOURCE_DIR}/Reactor/SubmoduleCheck/ ${SOURCE_DIR}/Reactor/Nucleus.hpp
) ${SOURCE_DIR}/Reactor/Routine.hpp
)
if(WIN32) set(SUBZERO_INCLUDE_DIR
list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/Windows/include/) ${SUBZERO_DIR}/
elseif(LINUX) ${SUBZERO_LLVM_DIR}/include/
list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/Linux/include/) ${SUBZERO_DIR}/pnacl-llvm/include/
elseif(APPLE) ${SOURCE_DIR}/Reactor/SubmoduleCheck/
list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/MacOS/include/) )
endif()
add_library(ReactorSubzero STATIC if(WIN32)
${SUBZERO_LIST} list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/Windows/include/)
${SUBZERO_DEPENDENCIES_LIST} elseif(LINUX)
${SUBZERO_REACTOR_LIST} list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/Linux/include/)
) elseif(APPLE)
list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/MacOS/include/)
endif()
set_target_properties(ReactorSubzero PROPERTIES add_library(ReactorSubzero STATIC
POSITION_INDEPENDENT_CODE 1 ${SUBZERO_LIST}
INCLUDE_DIRECTORIES "${SUBZERO_INCLUDE_DIR}" ${SUBZERO_DEPENDENCIES_LIST}
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;" ${SUBZERO_REACTOR_LIST}
FOLDER "Subzero" )
)
if(WIN32) set_target_properties(ReactorSubzero PROPERTIES
target_compile_definitions(ReactorSubzero PRIVATE SUBZERO_USE_MICROSOFT_ABI) POSITION_INDEPENDENT_CODE 1
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;"
FOLDER "Subzero"
)
if(WIN32)
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