| # 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(ROOT_PROJECT_COMPILE_OPTIONS | 
 |     ${SWIFTSHADER_COMPILE_OPTIONS} | 
 |     ${WARNINGS_AS_ERRORS} | 
 | ) | 
 |  | 
 | set(MAIN_SRC_FILES | 
 |     Config.cpp | 
 |     Config.hpp | 
 |     FrameBuffer.cpp | 
 |     FrameBuffer.hpp | 
 |     SwiftConfig.cpp | 
 |     SwiftConfig.hpp | 
 | ) | 
 |  | 
 | if(WIN32) | 
 |     list(APPEND MAIN_SRC_FILES | 
 |         FrameBufferDD.cpp | 
 |         FrameBufferDD.hpp | 
 |         FrameBufferGDI.cpp | 
 |         FrameBufferGDI.hpp | 
 |         FrameBufferWin.cpp | 
 |         FrameBufferWin.hpp | 
 |     ) | 
 | elseif(LINUX) | 
 |     list(APPEND MAIN_SRC_FILES | 
 |         FrameBufferX11.cpp | 
 |         FrameBufferX11.hpp | 
 |         libX11.cpp | 
 |         libX11.hpp | 
 |     ) | 
 | elseif(APPLE) | 
 |     list(APPEND MAIN_SRC_FILES | 
 |         FrameBufferOSX.mm | 
 |         FrameBufferOSX.hpp | 
 |     ) | 
 | elseif(ANDROID) | 
 |     list(APPEND MAIN_SRC_FILES | 
 |         FrameBufferAndroid.cpp | 
 |         FrameBufferAndroid.hpp | 
 |     ) | 
 | endif() | 
 |  | 
 | add_library(gl_main EXCLUDE_FROM_ALL | 
 |     ${MAIN_SRC_FILES} | 
 | ) | 
 |  | 
 | set_target_properties(gl_main PROPERTIES | 
 |     POSITION_INDEPENDENT_CODE 1 | 
 |     FOLDER "SwiftShader GL" | 
 | ) | 
 |  | 
 | target_include_directories(gl_main | 
 |     PUBLIC | 
 |         ".." | 
 |     PRIVATE | 
 |         ${SWIFTSHADER_DIR}/include # For EGL | 
 | ) | 
 |  | 
 | target_compile_definitions(gl_main | 
 |     PRIVATE | 
 |         "NO_SANITIZE_FUNCTION=" | 
 | ) | 
 |  | 
 | target_compile_options(gl_main | 
 |     PRIVATE | 
 |         ${ROOT_PROJECT_COMPILE_OPTIONS} | 
 | ) | 
 |  | 
 | target_link_options(gl_main | 
 |     PUBLIC | 
 |         ${SWIFTSHADER_LINK_FLAGS} | 
 | ) | 
 |  | 
 | target_link_libraries(gl_main | 
 |     PUBLIC | 
 |         gl_common | 
 |         ${Reactor} | 
 | ) |