| # Copyright 2022 The Pigweed Authors |
| # |
| # 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 |
| # |
| # https://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. |
| |
| import("//build_overrides/pigweed.gni") |
| |
| import("$dir_pw_build/target_types.gni") |
| |
| declare_args() { |
| # Location of glfw download. |
| # Install with: pw package install glfw |
| dir_pw_third_party_glfw = "" |
| } |
| |
| config("default_config") { |
| if (host_os == "linux") { |
| libs = [ |
| # pkg-config --static --libs gl |
| "GL", |
| |
| # pkg-config --static --libs glfw3 |
| "glfw", |
| "rt", |
| "m", |
| "dl", |
| ] |
| include_dirs = [ |
| "$dir_pw_third_party_glfw/include", |
| "/usr/include/x86_64-linux-gnu", |
| "/usr/include", |
| ] |
| lib_dirs = [ |
| "/usr/lib/x86_64-linux-gnu", |
| "/usr/lib", |
| ] |
| } else if (host_os == "mac") { |
| ldflags = [ |
| "-framework", |
| "OpenGL", |
| "-framework", |
| "Cocoa", |
| "-framework", |
| "IOKit", |
| "-framework", |
| "CoreVideo", |
| ] |
| libs = [ "glfw3" ] |
| lib_dirs = [ |
| "$dir_pw_third_party_glfw/lib-universal", |
| "/usr/local/lib", |
| ] |
| include_dirs = [ |
| "$dir_pw_third_party_glfw/include", |
| "/usr/local/include", |
| ] |
| } else if (host_os == "win") { |
| libs = [ |
| "glfw3", |
| "gdi32", |
| "opengl32", |
| "imm32", |
| ] |
| include_dirs = [ "$dir_pw_third_party_glfw/include" ] |
| lib_dirs = [ "$dir_pw_third_party_glfw/lib-mingw-w64" ] |
| } |
| } |
| |
| pw_source_set("glfw") { |
| # public_configs *should* work, but ldflags was not being passed along to |
| # downstream targets. |
| all_dependent_configs = [ ":default_config" ] |
| } |