1*03ce13f7SAndroid Build Coastguard Worker# Copyright 2020 The SwiftShader Authors. All Rights Reserved. 2*03ce13f7SAndroid Build Coastguard Worker# 3*03ce13f7SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*03ce13f7SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*03ce13f7SAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*03ce13f7SAndroid Build Coastguard Worker# 7*03ce13f7SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*03ce13f7SAndroid Build Coastguard Worker# 9*03ce13f7SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*03ce13f7SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*03ce13f7SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*03ce13f7SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*03ce13f7SAndroid Build Coastguard Worker# limitations under the License. 14*03ce13f7SAndroid Build Coastguard Worker 15*03ce13f7SAndroid Build Coastguard Workerset(ROOT_PROJECT_COMPILE_OPTIONS 16*03ce13f7SAndroid Build Coastguard Worker ${SWIFTSHADER_COMPILE_OPTIONS} 17*03ce13f7SAndroid Build Coastguard Worker ${WARNINGS_AS_ERRORS} 18*03ce13f7SAndroid Build Coastguard Worker) 19*03ce13f7SAndroid Build Coastguard Worker 20*03ce13f7SAndroid Build Coastguard Workerset(SYSTEM_SRC_FILES 21*03ce13f7SAndroid Build Coastguard Worker Build.cpp 22*03ce13f7SAndroid Build Coastguard Worker Build.hpp 23*03ce13f7SAndroid Build Coastguard Worker Configurator.cpp 24*03ce13f7SAndroid Build Coastguard Worker Configurator.hpp 25*03ce13f7SAndroid Build Coastguard Worker CPUID.cpp 26*03ce13f7SAndroid Build Coastguard Worker CPUID.hpp 27*03ce13f7SAndroid Build Coastguard Worker Debug.cpp 28*03ce13f7SAndroid Build Coastguard Worker Debug.hpp 29*03ce13f7SAndroid Build Coastguard Worker Half.cpp 30*03ce13f7SAndroid Build Coastguard Worker Half.hpp 31*03ce13f7SAndroid Build Coastguard Worker LRUCache.hpp 32*03ce13f7SAndroid Build Coastguard Worker Math.cpp 33*03ce13f7SAndroid Build Coastguard Worker Math.hpp 34*03ce13f7SAndroid Build Coastguard Worker Memory.cpp 35*03ce13f7SAndroid Build Coastguard Worker Memory.hpp 36*03ce13f7SAndroid Build Coastguard Worker SharedLibrary.hpp 37*03ce13f7SAndroid Build Coastguard Worker Socket.cpp 38*03ce13f7SAndroid Build Coastguard Worker Socket.hpp 39*03ce13f7SAndroid Build Coastguard Worker Synchronization.hpp 40*03ce13f7SAndroid Build Coastguard Worker SwiftConfig.cpp 41*03ce13f7SAndroid Build Coastguard Worker SwiftConfig.hpp 42*03ce13f7SAndroid Build Coastguard Worker Timer.cpp 43*03ce13f7SAndroid Build Coastguard Worker Timer.hpp 44*03ce13f7SAndroid Build Coastguard Worker Types.hpp 45*03ce13f7SAndroid Build Coastguard Worker) 46*03ce13f7SAndroid Build Coastguard Worker 47*03ce13f7SAndroid Build Coastguard Workerif(LINUX OR ANDROID) 48*03ce13f7SAndroid Build Coastguard Worker list(APPEND SYSTEM_SRC_FILES 49*03ce13f7SAndroid Build Coastguard Worker Linux/MemFd.cpp 50*03ce13f7SAndroid Build Coastguard Worker Linux/MemFd.hpp 51*03ce13f7SAndroid Build Coastguard Worker ) 52*03ce13f7SAndroid Build Coastguard Workerendif() 53*03ce13f7SAndroid Build Coastguard Worker 54*03ce13f7SAndroid Build Coastguard Workerset(SYSTEM_COMPILE_OPTIONS "") 55*03ce13f7SAndroid Build Coastguard Workerif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") 56*03ce13f7SAndroid Build Coastguard Worker list(APPEND SYSTEM_COMPILE_OPTIONS 57*03ce13f7SAndroid Build Coastguard Worker "-Wexit-time-destructors" # declaration requires an exit-time destructor 58*03ce13f7SAndroid Build Coastguard Worker ) 59*03ce13f7SAndroid Build Coastguard Worker # We use exit-time destructors for the global configuration. 60*03ce13f7SAndroid Build Coastguard Worker SET_SOURCE_FILES_PROPERTIES("SwiftConfig.cpp" PROPERTIES COMPILE_FLAGS "-Wno-exit-time-destructors") 61*03ce13f7SAndroid Build Coastguard Workerendif() 62*03ce13f7SAndroid Build Coastguard Worker 63*03ce13f7SAndroid Build Coastguard Workeradd_library(vk_system EXCLUDE_FROM_ALL 64*03ce13f7SAndroid Build Coastguard Worker ${SYSTEM_SRC_FILES} 65*03ce13f7SAndroid Build Coastguard Worker) 66*03ce13f7SAndroid Build Coastguard Worker 67*03ce13f7SAndroid Build Coastguard Workerset_target_properties(vk_system PROPERTIES 68*03ce13f7SAndroid Build Coastguard Worker POSITION_INDEPENDENT_CODE 1 69*03ce13f7SAndroid Build Coastguard Worker FOLDER "SwiftShader VK" 70*03ce13f7SAndroid Build Coastguard Worker) 71*03ce13f7SAndroid Build Coastguard Worker 72*03ce13f7SAndroid Build Coastguard Workertarget_include_directories(vk_system 73*03ce13f7SAndroid Build Coastguard Worker PUBLIC 74*03ce13f7SAndroid Build Coastguard Worker ".." 75*03ce13f7SAndroid Build Coastguard Worker) 76*03ce13f7SAndroid Build Coastguard Worker 77*03ce13f7SAndroid Build Coastguard Workertarget_compile_options(vk_system 78*03ce13f7SAndroid Build Coastguard Worker PRIVATE 79*03ce13f7SAndroid Build Coastguard Worker ${ROOT_PROJECT_COMPILE_OPTIONS} 80*03ce13f7SAndroid Build Coastguard Worker ${SYSTEM_COMPILE_OPTIONS} 81*03ce13f7SAndroid Build Coastguard Worker) 82*03ce13f7SAndroid Build Coastguard Worker 83*03ce13f7SAndroid Build Coastguard Workertarget_link_libraries(vk_system 84*03ce13f7SAndroid Build Coastguard Worker PUBLIC 85*03ce13f7SAndroid Build Coastguard Worker marl 86*03ce13f7SAndroid Build Coastguard Worker) 87*03ce13f7SAndroid Build Coastguard Worker 88*03ce13f7SAndroid Build Coastguard Workertarget_link_options(vk_system 89*03ce13f7SAndroid Build Coastguard Worker PUBLIC 90*03ce13f7SAndroid Build Coastguard Worker ${SWIFTSHADER_LINK_FLAGS} 91*03ce13f7SAndroid Build Coastguard Worker) 92