47 lines
1.7 KiB
Python
47 lines
1.7 KiB
Python
from conans import CMake, ConanFile, tools
|
|
from conans.tools import os_info
|
|
|
|
|
|
class DiscordGameSDKConan(ConanFile):
|
|
name = "discord-game-sdk"
|
|
author = "Edgar Edgar@AnotherFoxGuy.com"
|
|
settings = "os", "compiler", "build_type", "arch"
|
|
exports_sources = "CMakeLists.txt"
|
|
generators = "cmake"
|
|
_cmake = None
|
|
|
|
def _configure_cmake(self):
|
|
if self._cmake:
|
|
return self._cmake
|
|
self._cmake = CMake(self)
|
|
self._cmake.configure()
|
|
return self._cmake
|
|
|
|
def source(self):
|
|
tools.get(**self.conan_data["sources"][self.version], destination="src")
|
|
|
|
def build(self):
|
|
cmake = self._configure_cmake()
|
|
cmake.build()
|
|
|
|
def package(self):
|
|
cmake = self._configure_cmake()
|
|
cmake.install()
|
|
if os_info.is_windows:
|
|
if self.settings.arch.__contains__('64'):
|
|
self.copy("*.lib", src="src/lib/x86_64", dst="lib", keep_path=False)
|
|
self.copy("*.dll", src="src/lib/x86_64", dst="bin", keep_path=False)
|
|
else:
|
|
self.copy("*.lib", src="src/lib/x86", dst="lib", keep_path=False)
|
|
self.copy("*.dll", src="src/lib/x86", dst="bin", keep_path=False)
|
|
elif os_info.is_macos:
|
|
self.copy("*.bundle", src="src/lib/x86_64", dst="lib", keep_path=False)
|
|
self.copy("*.dylib", src="src/lib/x86_64", dst="bin", keep_path=False)
|
|
self.copy("*.so", src="src/lib/x86_64", dst="lib", keep_path=False)
|
|
else:
|
|
self.copy("*.so", src="src/lib/x86_64", dst="lib", keep_path=False)
|
|
|
|
def package_info(self):
|
|
self.cpp_info.name = "DiscordGameSDK"
|
|
self.cpp_info.libs = tools.collect_libs(self)
|