# 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(ROOT_PROJECT_LINK_LIBRARIES ${OS_LIBS} ${SWIFTSHADER_LIBS} ) set(OPENGL_COMPILER_SRC_FILES AnalyzeCallDepth.cpp AnalyzeCallDepth.h BaseTypes.h Common.h Compiler.cpp Compiler.h ConstantUnion.h debug.cpp debug.h Diagnostics.cpp Diagnostics.h DirectiveHandler.cpp DirectiveHandler.h ExtensionBehavior.h glslang_lex.cpp glslang_tab.cpp glslang_tab.h glslang.h InfoSink.cpp InfoSink.h Initialize.cpp Initialize.h InitializeGlobals.h InitializeParseContext.cpp InitializeParseContext.h Intermediate.cpp intermediate.h intermOut.cpp IntermTraverse.cpp localintermediate.h MMap.h osinclude.h OutputASM.cpp OutputASM.h parseConst.cpp ParseHelper.cpp ParseHelper.h PoolAlloc.cpp PoolAlloc.h Pragma.h preprocessor/DiagnosticsBase.cpp preprocessor/DiagnosticsBase.h preprocessor/DirectiveHandlerBase.cpp preprocessor/DirectiveHandlerBase.h preprocessor/DirectiveParser.cpp preprocessor/DirectiveParser.h preprocessor/ExpressionParser.cpp preprocessor/ExpressionParser.h preprocessor/Input.cpp preprocessor/Input.h preprocessor/length_limits.h preprocessor/Lexer.cpp preprocessor/Lexer.h preprocessor/Macro.cpp preprocessor/Macro.h preprocessor/MacroExpander.cpp preprocessor/MacroExpander.h preprocessor/numeric_lex.h preprocessor/pp_utils.h preprocessor/Preprocessor.cpp preprocessor/Preprocessor.h preprocessor/SourceLocation.h preprocessor/Token.cpp preprocessor/Token.h preprocessor/Tokenizer.cpp preprocessor/Tokenizer.h SymbolTable.cpp SymbolTable.h TranslatorASM.cpp TranslatorASM.h Types.h util.cpp util.h ValidateLimitations.cpp ValidateLimitations.h ValidateSwitch.cpp ValidateSwitch.h ) if(WIN32) list(APPEND OPENGL_COMPILER_SRC_FILES ossource_win.cpp ) elseif(LINUX) list(APPEND OPENGL_COMPILER_SRC_FILES ossource_posix.cpp ) elseif(APPLE) list(APPEND OPENGL_COMPILER_SRC_FILES ossource_posix.cpp ) elseif(ANDROID) list(APPEND OPENGL_COMPILER_SRC_FILES ossource_posix.cpp ) endif() add_library(GLCompiler ${OPENGL_COMPILER_SRC_FILES} ) set_target_properties(GLCompiler PROPERTIES POSITION_INDEPENDENT_CODE 1 FOLDER "OpenGL" ) target_include_directories(GLCompiler PRIVATE ".." "${SWIFTSHADER_DIR}/include" "${SWIFTSHADER_DIR}/src" ) target_compile_definitions(GLCompiler PRIVATE ) target_compile_options(GLCompiler PRIVATE ${ROOT_PROJECT_COMPILE_OPTIONS} ) target_link_options(GLCompiler PUBLIC ${SWIFTSHADER_LINK_FLAGS} ) target_link_libraries(GLCompiler PRIVATE ${ROOT_PROJECT_LINK_LIBRARIES} )