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
# Subzero
###########################################################
set(SUBZERO_LIST
if(${REACTOR_BACKEND} STREQUAL "Subzero")
set(SUBZERO_LIST
${SUBZERO_DIR}/src/IceAssembler.cpp
${SUBZERO_DIR}/src/IceCfg.cpp
${SUBZERO_DIR}/src/IceCfgNode.cpp
......@@ -594,66 +595,67 @@ set(SUBZERO_LIST
${SUBZERO_DIR}/src/IceTimerTree.cpp
${SUBZERO_DIR}/src/IceTypes.cpp
${SUBZERO_DIR}/src/IceVariableSplitting.cpp
)
)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
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()
else()
list(APPEND SUBZERO_LIST
${SUBZERO_DIR}/src/IceInstX8632.cpp
${SUBZERO_DIR}/src/IceTargetLoweringX8632.cpp
)
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}/*.c
${SUBZERO_LLVM_DIR}/*.h
)
)
set(SUBZERO_REACTOR_LIST
set(SUBZERO_REACTOR_LIST
${SOURCE_DIR}/Reactor/SubzeroReactor.cpp
${SOURCE_DIR}/Reactor/Routine.cpp
${SOURCE_DIR}/Reactor/Optimizer.cpp
${SOURCE_DIR}/Reactor/Nucleus.hpp
${SOURCE_DIR}/Reactor/Routine.hpp
)
)
set(SUBZERO_INCLUDE_DIR
set(SUBZERO_INCLUDE_DIR
${SUBZERO_DIR}/
${SUBZERO_LLVM_DIR}/include/
${SUBZERO_DIR}/pnacl-llvm/include/
${SOURCE_DIR}/Reactor/SubmoduleCheck/
)
)
if(WIN32)
if(WIN32)
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/)
elseif(APPLE)
elseif(APPLE)
list(APPEND SUBZERO_INCLUDE_DIR ${SUBZERO_LLVM_DIR}/build/MacOS/include/)
endif()
endif()
add_library(ReactorSubzero STATIC
add_library(ReactorSubzero STATIC
${SUBZERO_LIST}
${SUBZERO_DEPENDENCIES_LIST}
${SUBZERO_REACTOR_LIST}
)
)
set_target_properties(ReactorSubzero PROPERTIES
set_target_properties(ReactorSubzero PROPERTIES
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)
if(WIN32)
target_compile_definitions(ReactorSubzero PRIVATE SUBZERO_USE_MICROSOFT_ABI)
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