diff --git a/build/conan/.gitignore b/build/conan/.gitignore index 088fc73..445b22a 100644 --- a/build/conan/.gitignore +++ b/build/conan/.gitignore @@ -15,3 +15,4 @@ test_package/build conanfile.pyc conaninfo.txt conanbuildinfo.cmake +conanbuildinfo.txt diff --git a/build/conan/build.py b/build/conan/build.py index 43b1b55..3363abb 100644 --- a/build/conan/build.py +++ b/build/conan/build.py @@ -4,9 +4,4 @@ import os, platform if __name__ == "__main__": builder = ConanMultiPackager(args="--build missing") builder.add_common_builds() - filtered_builds = [] - for settings, options, env_vars, build_requires in builder.builds: - if not (settings["arch"] == "x86"): - filtered_builds.append([settings, options, env_vars, build_requires]) - builder.builds = filtered_builds builder.run() diff --git a/build/conan/conanfile.py b/build/conan/conanfile.py index 6c8826c..c5ebeeb 100644 --- a/build/conan/conanfile.py +++ b/build/conan/conanfile.py @@ -1,6 +1,6 @@ import os from conans import ConanFile, CMake -from conans.tools import os_info, SystemPackageTool, ConanException +from conans.tools import os_info, SystemPackageTool, ConanException, replace_in_file from conans import tools, VisualStudioBuildEnvironment from conans.tools import build_sln_command, vcvars_command, download, unzip @@ -33,14 +33,20 @@ class GlewConan(ConanFile): installer.install("libxi-dev") installer.install("libgl-dev") installer.install("libosmesa-dev") - installer.install("libglu1-mesa-dev") + if self.settings.arch == "x86" and tools.detected_architecture() == "x86_64": + installer.install("libglu1-mesa-dev:i386") + else: + installer.install("libglu1-mesa-dev") elif os_info.with_yum: installer = SystemPackageTool() if self.version == "master": installer.install("libXmu-devel") installer.install("libXi-devel") installer.install("libGL-devel") - installer.install("mesa-libGLU-devel") + if self.settings.arch == "x86" and tools.detected_architecture() == "x86_64": + installer.install("mesa-libGLU-devel.i686") + else: + installer.install("mesa-libGLU-devel") else: self.output.warn("Could not determine Linux package manager, skipping system requirements installation.") @@ -71,6 +77,12 @@ class GlewConan(ConanFile): if self.version == "master": self.run("make extensions") + replace_in_file("%s/build/cmake/CMakeLists.txt" % self.source_directory, "include(GNUInstallDirs)", +""" +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup() +include(GNUInstallDirs) +""") cmake = CMake(self) cmake.configure(source_dir="%s/build/cmake" % self.source_directory, defs={"BUILD_UTILS": "OFF"}) cmake.build() diff --git a/build/conan/test_package/conanfile.py b/build/conan/test_package/conanfile.py index aa9e8c1..0239099 100644 --- a/build/conan/test_package/conanfile.py +++ b/build/conan/test_package/conanfile.py @@ -7,8 +7,8 @@ class TestGlew(ConanFile): def build(self): cmake = CMake(self) - self.run('cmake "%s" %s' % (self.conanfile_directory, cmake.command_line)) - self.run("cmake --build . %s" % cmake.build_config) + cmake.configure() + cmake.build() def test(self): self.run(os.sep.join([".","bin", "testGlew"]))