Skip to content

Instantly share code, notes, and snippets.

@trevex
Created December 9, 2015 15:37
Show Gist options
  • Save trevex/e34cf5dc390909488b94 to your computer and use it in GitHub Desktop.
Save trevex/e34cf5dc390909488b94 to your computer and use it in GitHub Desktop.
from conans import ConanFile, CMake
from conans.tools import download, unzip
import os
class GLFW3Conan(ConanFile):
name = "GLFW3"
version = "3.1.2"
settings = "os", "compiler", "build_type", "arch"
folder = "glfw-%s" % version
def source(self):
filename = "%s.zip" % self.folder
download("https://github.com/glfw/glfw/releases/download/%s/%s" % (self.version, filename), filename)
unzip(filename)
def build(self):
cmake = CMake(self.settings)
self.run("cd %s && mkdir build" % self.folder)
self.run("cd %s/build && cmake .. %s" % (self.folder, cmake.command_line))
self.run("cd %s/build && cmake --build . %s" % (self.folder, cmake.build_config))
def package(self):
self.copy("*.h", dst="include", src="%s/include" % self.folder)
self.copy("*.lib", dst="lib", src="%s/build/src" % self.folder)
self.copy("*.a", dst="lib", src="%s/build/src" % self.folder)
self.copy("*.pc", dst="pkg-config", src="%s/build/src" % self.folder)
def package_info(self):
self.cpp_info.libs = ["glfw3"]
if self.settings.os == "Windows":
return
else:
cflags = os.popen("PKG_CONFIG_PATH=./pkg-config:$PKG_CONFIG_PATH pkg-config --cflags glfw3").read()
libs = os.popen("PKG_CONFIG_PATH=./pkg-config:$PKG_CONFIG_PATH pkg-config --static --libs glfw3").read()
self.cpp_info.cflags.append(cflags)
self.cpp_info.libs.append(libs)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment