Browse Source

Add fPIC options for *nix platforms

DarkMorford 5 years ago
parent
commit
5f0538d763
1 changed files with 13 additions and 8 deletions
  1. 13 8
      conanfile.py

+ 13 - 8
conanfile.py

@@ -15,27 +15,32 @@ class LibOggConan(ConanFile):
     topics = ("xiph.org", "media", "container")
     exports_sources = ["CMakeLists.txt", "patches/*"]
     settings = "os", "compiler", "build_type", "arch"
-    options = {"shared": [True, False]}
-    default_options = {"shared": False}
+    options = {"shared": [True, False], "fPIC": [True, False]}
+    default_options = {"shared": False, "fPIC": True}
     generators = "cmake"
 
     @property
     def subfolder(self):
         return os.path.join(self.source_folder, f"libogg-{self.version}")
 
-    def source(self):
-        tools.get(**self.conan_data["sources"][self.version])
-        for patch in self.conan_data["patches"][self.version]:
-            tools.patch(base_path=self.subfolder, **patch)
+    def config_options(self):
+        if self.settings.os == "Windows":
+            self.options.remove("fPIC")
 
     def configure(self):
         del self.settings.compiler.cppstd
         del self.settings.compiler.libcxx
 
+    def source(self):
+        tools.get(**self.conan_data["sources"][self.version])
+        for patch in self.conan_data["patches"][self.version]:
+            tools.patch(base_path=self.subfolder, **patch)
+
     def _configure_cmake(self):
         cmake = CMake(self)
-        cmake.definitions["BUILD_TESTING"] = False
         cmake.definitions["CONAN_SOURCE_LOCATION"] = self.subfolder
+
+        cmake.definitions["BUILD_TESTING"] = False
         cmake.definitions["INSTALL_CMAKE_PACKAGE_MODULE"] = False
         cmake.definitions["INSTALL_DOCS"] = False
         cmake.definitions["INSTALL_PKG_CONFIG_MODULE"] = False
@@ -47,9 +52,9 @@ class LibOggConan(ConanFile):
         cmake.build()
 
     def package(self):
-        self.copy("COPYING", src=self.subfolder, dst="licenses", ignore_case=True, keep_path=False)
         cmake = self._configure_cmake()
         cmake.install()
+        self.copy("COPYING", src=self.subfolder, dst="licenses", keep_path=False)
 
     def package_info(self):
         self.cpp_info.libs = ["ogg"]