# Copyright 2020 The SwiftShader Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set(LLVM_SUBZERO_SRC_FILES
    "build/Android/include/llvm/Config/abi-breaking.h"
    "build/Android/include/llvm/Config/config.h"
    "build/Android/include/llvm/Config/llvm-config.h"
    "build/Android/include/llvm/Support/DataTypes.h"
    "build/Fuchsia/include/llvm/Config/abi-breaking.h"
    "build/Fuchsia/include/llvm/Config/config.h"
    "build/Fuchsia/include/llvm/Config/llvm-config.h"
    "build/Fuchsia/include/llvm/Support/DataTypes.h"
    "build/Linux/include/llvm/Config/abi-breaking.h"
    "build/Linux/include/llvm/Config/config.h"
    "build/Linux/include/llvm/Config/llvm-config.h"
    "build/Linux/include/llvm/Support/DataTypes.h"
    "build/MacOS/include/llvm/Config/abi-breaking.h"
    "build/MacOS/include/llvm/Config/config.h"
    "build/MacOS/include/llvm/Config/llvm-config.h"
    "build/MacOS/include/llvm/Support/DataTypes.h"
    "build/Windows/include/llvm/Config/abi-breaking.h"
    "build/Windows/include/llvm/Config/config.h"
    "build/Windows/include/llvm/Config/llvm-config.h"
    "build/Windows/include/llvm/Support/DataTypes.h"
    "include/llvm-c/ErrorHandling.h"
    "include/llvm-c/Support.h"
    "include/llvm-c/Types.h"
    "include/llvm/ADT/APFloat.h"
    "include/llvm/ADT/APInt.h"
    "include/llvm/ADT/ArrayRef.h"
    "include/llvm/ADT/BitVector.h"
    "include/llvm/ADT/DenseMap.h"
    "include/llvm/ADT/DenseMapInfo.h"
    "include/llvm/ADT/edit_distance.h"
    "include/llvm/ADT/EpochTracker.h"
    "include/llvm/ADT/FoldingSet.h"
    "include/llvm/ADT/Hashing.h"
    "include/llvm/ADT/ilist_base.h"
    "include/llvm/ADT/ilist_iterator.h"
    "include/llvm/ADT/ilist_node_base.h"
    "include/llvm/ADT/ilist_node_options.h"
    "include/llvm/ADT/ilist_node.h"
    "include/llvm/ADT/ilist.h"
    "include/llvm/ADT/IntrusiveRefCntPtr.h"
    "include/llvm/ADT/iterator_range.h"
    "include/llvm/ADT/iterator.h"
    "include/llvm/ADT/None.h"
    "include/llvm/ADT/Optional.h"
    "include/llvm/ADT/PointerIntPair.h"
    "include/llvm/ADT/PointerUnion.h"
    "include/llvm/ADT/simple_ilist.h"
    "include/llvm/ADT/SmallPtrSet.h"
    "include/llvm/ADT/SmallSet.h"
    "include/llvm/ADT/SmallString.h"
    "include/llvm/ADT/SmallVector.h"
    "include/llvm/ADT/Statistic.h"
    "include/llvm/ADT/STLExtras.h"
    "include/llvm/ADT/StringExtras.h"
    "include/llvm/ADT/StringMap.h"
    "include/llvm/ADT/StringRef.h"
    "include/llvm/ADT/StringSwitch.h"
    "include/llvm/ADT/Triple.h"
    "include/llvm/ADT/Twine.h"
    "include/llvm/Demangle/Demangle.h"
    "include/llvm/IR/Argument.h"
    "include/llvm/IR/Attributes.h"
    "include/llvm/IR/BasicBlock.h"
    "include/llvm/IR/CallingConv.h"
    "include/llvm/IR/Constant.h"
    "include/llvm/IR/DebugLoc.h"
    "include/llvm/IR/DerivedTypes.h"
    "include/llvm/IR/Function.h"
    "include/llvm/IR/GlobalObject.h"
    "include/llvm/IR/GlobalValue.h"
    "include/llvm/IR/Instruction.h"
    "include/llvm/IR/Intrinsics.h"
    "include/llvm/IR/LLVMContext.h"
    "include/llvm/IR/Metadata.h"
    "include/llvm/IR/OperandTraits.h"
    "include/llvm/IR/SymbolTableListTraits.h"
    "include/llvm/IR/TrackingMDRef.h"
    "include/llvm/IR/Type.h"
    "include/llvm/IR/Use.h"
    "include/llvm/IR/User.h"
    "include/llvm/IR/Value.h"
    "include/llvm/IRReader/IRReader.h"
    "include/llvm/Support/AlignOf.h"
    "include/llvm/Support/Allocator.h"
    "include/llvm/Support/ARMBuildAttributes.h"
    "include/llvm/Support/Atomic.h"
    "include/llvm/Support/Casting.h"
    "include/llvm/Support/CBindingWrapping.h"
    "include/llvm/Support/Chrono.h"
    "include/llvm/Support/circular_raw_ostream.h"
    "include/llvm/Support/COFF.h"
    "include/llvm/Support/CommandLine.h"
    "include/llvm/Support/Compiler.h"
    "include/llvm/Support/ConvertUTF.h"
    "include/llvm/Support/DataStream.h"
    "include/llvm/Support/Debug.h"
    "include/llvm/Support/ELF.h"
    "include/llvm/Support/Endian.h"
    "include/llvm/Support/Errc.h"
    "include/llvm/Support/Errno.h"
    "include/llvm/Support/Error.h"
    "include/llvm/Support/ErrorHandling.h"
    "include/llvm/Support/ErrorOr.h"
    "include/llvm/Support/FileSystem.h"
    "include/llvm/Support/FileUtilities.h"
    "include/llvm/Support/Format.h"
    "include/llvm/Support/FormatCommon.h"
    "include/llvm/Support/FormatProviders.h"
    "include/llvm/Support/FormatVariadic.h"
    "include/llvm/Support/FormatVariadicDetails.h"
    "include/llvm/Support/Host.h"
    "include/llvm/Support/MachO.h"
    "include/llvm/Support/ManagedStatic.h"
    "include/llvm/Support/MathExtras.h"
    "include/llvm/Support/MD5.h"
    "include/llvm/Support/Memory.h"
    "include/llvm/Support/MemoryBuffer.h"
    "include/llvm/Support/MemoryObject.h"
    "include/llvm/Support/Mutex.h"
    "include/llvm/Support/MutexGuard.h"
    "include/llvm/Support/NativeFormatting.h"
    "include/llvm/Support/Options.h"
    "include/llvm/Support/Path.h"
    "include/llvm/Support/PointerLikeTypeTraits.h"
    "include/llvm/Support/Process.h"
    "include/llvm/Support/Program.h"
    "include/llvm/Support/raw_os_ostream.h"
    "include/llvm/Support/raw_ostream.h"
    "include/llvm/Support/Regex.h"
    "include/llvm/Support/Signals.h"
    "include/llvm/Support/SMLoc.h"
    "include/llvm/Support/SourceMgr.h"
    "include/llvm/Support/StreamingMemoryObject.h"
    "include/llvm/Support/StringSaver.h"
    "include/llvm/Support/SwapByteOrder.h"
    "include/llvm/Support/TargetParser.h"
    "include/llvm/Support/thread.h"
    "include/llvm/Support/Threading.h"
    "include/llvm/Support/Timer.h"
    "include/llvm/Support/TimeValue.h"
    "include/llvm/Support/type_traits.h"
    "include/llvm/Support/UniqueLock.h"
    "include/llvm/Support/Valgrind.h"
    "include/llvm/Support/WindowsError.h"
    "include/llvm/Support/YAMLParser.h"
    "include/llvm/Support/YAMLTraits.h"
    "lib/Demangle/ItaniumDemangle.cpp"
    "lib/Support/APInt.cpp"
    "lib/Support/Atomic.cpp"
    "lib/Support/circular_raw_ostream.cpp"
    "lib/Support/CommandLine.cpp"
    "lib/Support/ConvertUTF.cpp"
    "lib/Support/ConvertUTFWrapper.cpp"
    "lib/Support/Debug.cpp"
    "lib/Support/Errno.cpp"
    "lib/Support/ErrorHandling.cpp"
    "lib/Support/FoldingSet.cpp"
    "lib/Support/Hashing.cpp"
    "lib/Support/Host.cpp"
    "lib/Support/ManagedStatic.cpp"
    "lib/Support/MemoryBuffer.cpp"
    "lib/Support/Mutex.cpp"
    "lib/Support/NativeFormatting.cpp"
    "lib/Support/Path.cpp"
    "lib/Support/Process.cpp"
    "lib/Support/Program.cpp"
    "lib/Support/raw_os_ostream.cpp"
    "lib/Support/raw_ostream.cpp"
    "lib/Support/regcclass.h"
    "lib/Support/regcname.h"
    "lib/Support/regcomp.c"
    "lib/Support/regerror.c"
    "lib/Support/regex_impl.h"
    "lib/Support/Regex.cpp"
    "lib/Support/regex2.h"
    "lib/Support/regexec.c"
    "lib/Support/regfree.c"
    "lib/Support/regstrlcpy.c"
    "lib/Support/regutils.h"
    "lib/Support/Signals.cpp"
    "lib/Support/SmallPtrSet.cpp"
    "lib/Support/SmallVector.cpp"
    "lib/Support/StringExtras.cpp"
    "lib/Support/StringMap.cpp"
    "lib/Support/StringRef.cpp"
    "lib/Support/StringSaver.cpp"
    "lib/Support/TargetParser.cpp"
    "lib/Support/Threading.cpp"
    "lib/Support/Timer.cpp"
    "lib/Support/Triple.cpp"
    "lib/Support/Twine.cpp"
    "lib/Support/Unix/Unix.h"
    "lib/Support/Windows/WindowsSupport.h"
)


if(WIN32)
    set(LLVM_SUBZERO_PLATFORM_INCLUDE_DIR "build/Windows/include")
elseif(LINUX)
    set(LLVM_SUBZERO_PLATFORM_INCLUDE_DIR "build/Linux/include")
elseif(APPLE)
    set(LLVM_SUBZERO_PLATFORM_INCLUDE_DIR "build/MacOS/include")
endif()

if(WIN32)
    list(APPEND LLVM_SUBZERO_COMPILE_OPTIONS
        "/wd4141"  # 'inline': used more than once
        "/wd4146" # unary minus operator applied to unsigned type, result still unsigned
        "/wd4244"  # '=': conversion from '__int64' to 'llvm_regoff_t', possible loss of data
        "/wd4267"  # '=': conversion from 'size_t' to 'sopno', possible loss of data
        "/wd4291"  # 'void *operator new(size_t,const `anonymous-namespace'::NamedBufferAlloc &)': no matching operator delete found; memory will not be freed if initialization throws an exception
        "/wd4334" # ''operator' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
        "/wd4996" # The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: new_name.
    )
endif()

add_library(llvm-subzero STATIC EXCLUDE_FROM_ALL
  ${LLVM_SUBZERO_SRC_FILES}
)

set_target_properties(llvm-subzero PROPERTIES
    POSITION_INDEPENDENT_CODE 1
    FOLDER "Subzero"
)

target_include_directories(llvm-subzero
    PUBLIC
        "include"
        ${LLVM_SUBZERO_PLATFORM_INCLUDE_DIR}
)

target_compile_options(llvm-subzero
    PUBLIC
        ${LLVM_SUBZERO_COMPILE_OPTIONS}
)
