🎉 Added mygui-next
This commit is contained in:
4
mygui/next/conandata.yml
Normal file
4
mygui/next/conandata.yml
Normal file
@ -0,0 +1,4 @@
|
||||
sources:
|
||||
"2022.10":
|
||||
url: "https://github.com/cryham/mygui-next/archive/3f1194e5075078f0a9428b052f97749486b6fd72.tar.gz"
|
||||
sha256: "13f084a95e9e22bbb1f1d216b55527fd03f4a4e525484e45b97f98ba307732a4"
|
83
mygui/next/conanfile.py
Normal file
83
mygui/next/conanfile.py
Normal file
@ -0,0 +1,83 @@
|
||||
from conan import ConanFile
|
||||
from conan.tools.files import get, collect_libs, replace_in_file
|
||||
from conan.tools.cmake import CMakeToolchain, CMake, CMakeDeps, cmake_layout
|
||||
import os
|
||||
|
||||
|
||||
class MyGUIConan(ConanFile):
|
||||
name = "mygui-next"
|
||||
license = "MIT"
|
||||
url = "https://github.com/AnotherFoxGuy/conan-MyGUI"
|
||||
description = "Fast, flexible and simple GUI."
|
||||
settings = "os", "compiler", "build_type", "arch"
|
||||
options = {"system_ogre": [True, False]}
|
||||
default_options = {"system_ogre": False}
|
||||
|
||||
def layout(self):
|
||||
cmake_layout(self)
|
||||
|
||||
def requirements(self):
|
||||
if not self.options.system_ogre:
|
||||
# self.requires("ogre3d-next/[2.x]@anotherfoxguy/stable")
|
||||
self.requires("ogre3d-next/2023.01@anotherfoxguy/testing")
|
||||
|
||||
def source(self):
|
||||
get(self, **self.conan_data["sources"][self.version], strip_root=True)
|
||||
|
||||
def generate(self):
|
||||
tc = CMakeToolchain(self)
|
||||
tc.variables["MYGUI_BUILD_DEMOS"] = "OFF"
|
||||
tc.variables["MYGUI_BUILD_DOCS"] = "OFF"
|
||||
tc.variables["MYGUI_BUILD_TEST_APP"] = "OFF"
|
||||
tc.variables["MYGUI_BUILD_PLUGINS"] = "OFF"
|
||||
tc.variables["MYGUI_BUILD_TOOLS"] = "OFF"
|
||||
tc.variables["MYGUI_DONT_USE_OBSOLETE"] = "OFF"
|
||||
tc.variables["MYGUI_USE_FREETYPE"] = "ON"
|
||||
tc.variables["MYGUI_RENDERSYSTEM"] = "8"
|
||||
tc.variables["OIS_BUILD_DEMOS"] = "OFF"
|
||||
tc.variables["OIS_BUILD_DEMOS"] = "OFF"
|
||||
tc.variables["OIS_BUILD_DEMOS"] = "OFF"
|
||||
tc.generate()
|
||||
deps = CMakeDeps(self)
|
||||
deps.generate()
|
||||
|
||||
def _patch_sources(self):
|
||||
replace_in_file(self,
|
||||
os.path.join(self.source_folder, "MyGUIEngine/CMakeLists.txt"),
|
||||
"${FREETYPE_LIBRARIES}",
|
||||
"freetype",
|
||||
)
|
||||
replace_in_file(self,
|
||||
os.path.join(self.source_folder, "CMakeLists.txt"),
|
||||
"# Find dependencies",
|
||||
"find_package(OGRE REQUIRED)",
|
||||
)
|
||||
replace_in_file(self,
|
||||
os.path.join(self.source_folder, "Platforms/Ogre2/Ogre2Platform/CMakeLists.txt"),
|
||||
"${OGRE_LIBRARIES}",
|
||||
"OGRE::OGRE",
|
||||
)
|
||||
|
||||
def build(self):
|
||||
self._patch_sources()
|
||||
cmake = CMake(self)
|
||||
cmake.configure()
|
||||
cmake.build()
|
||||
|
||||
def package(self):
|
||||
cmake = CMake(self)
|
||||
cmake.install()
|
||||
|
||||
def package_info(self):
|
||||
self.cpp_info.set_property("cmake_module_file_name", "MyGUI")
|
||||
self.cpp_info.set_property("cmake_module_target_name", "MyGUI::MyGUI")
|
||||
self.cpp_info.set_property("cmake_file_name", "MyGUI")
|
||||
self.cpp_info.set_property("cmake_target_name", "MyGUI::MyGUI")
|
||||
self.cpp_info.includedirs = ['include/MYGUI']
|
||||
# Directories where libraries can be found
|
||||
self.cpp_info.libdirs = ['lib', f'lib/{self.settings.build_type}']
|
||||
self.cpp_info.libs = collect_libs(self)
|
||||
|
||||
def package_id(self):
|
||||
if not self.options.system_ogre:
|
||||
self.info.requires["ogre3d-next"].full_recipe_mode()
|
Reference in New Issue
Block a user