Common Package Specification: Getting Build Tools to Talk to Each Otherssl.h | crypto.h | ... | |--lib | libssl.lib | libcrypto.libWhat “linking openssl” means? - By default, most users want to use and link with “ssl” library - Link “crypto” transitively transitively - But, some users will want to use only “crypto” - What if we pass “-lssl -lcrypto”? - Some linkers can be smart and optimize away - Some linkers (embedded cross-toolchains) will not - Larger than than necessary binaries 34 |--include/openssl | ssl.h | crypto.h | ... | |--lib | libssl.lib | libcrypto.libOpenSSL: Components "root": { "properties": {"cmake_file_name": "OpenSSL"}0 码力 | 94 页 | 1.58 MB | 6 月前3
Common Package Specification (CPS) in Practice: A Full Round Trip Implementation in Conan C++ Package Manager|--include | zlib.h |--lib | zlib.lib |-zlib.cps |--include | openssl/sha.h |--lib | crypto.lib |-openssl.cps myapp.exe .props myapp.exe myapp myapp.exe xxx-config.cmake toolchain.cmake "requires": {"zlib": null}, "configurations": ["release"], "default_components": ["crypto","ssl"], "components": { "crypto": { "type": "archive", "requires": ["zlib:zlib"], "includes": "advapi32","user32","bcrypt"] }, "ssl": { "type": "archive", "requires": [":crypto"], "includes": ["@prefix@/include"], "location": "@prefix@/lib/libssl.lib"0 码力 | 66 页 | 1.76 MB | 6 月前3
Conan 1.25 Documentationenable_cppparser: [True, False] enable_crypto: [True, False] [...] default_options: cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True [...] 4. Ok, it looks like this 556109dd9 [options] cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True enable_data: True ... The @ symbol at the end of the package name is important to search for cpp_info.components["crypto"].names["cmake_find_package"] = "Crypto" self.cpp_info.components["crypto"].libs = ["libcrypto"] self.cpp_info.components["crypto"].defines = ["DEFINE_CRYPTO=1"] self.cpp_info0 码力 | 655 页 | 5.45 MB | 1 年前3
Conan 1.26 Documentationenable_cppparser: [True, False] enable_crypto: [True, False] [...] default_options: cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True [...] 4. Ok, it looks like this 556109dd9 [options] cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True enable_data: True ... The @ symbol at the end of the package name is important to search for cpp_info.components["crypto"].names["cmake_find_package"] = "Crypto" self.cpp_info.components["crypto"].libs = ["libcrypto"] self.cpp_info.components["crypto"].defines = ["DEFINE_CRYPTO=1"] self.cpp_info0 码力 | 669 页 | 5.51 MB | 1 年前3
Conan 1.27 Documentationenable_cppparser: [True, False] enable_crypto: [True, False] [...] default_options: cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True [...] 4. Ok, it looks like this 556109dd9 [options] cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True enable_data: True ... The @ symbol at the end of the package name is important to search for cpp_info.components["crypto"].names["cmake_find_package"] = "Crypto" self.cpp_info.components["crypto"].libs = ["libcrypto"] self.cpp_info.components["crypto"].defines = ["DEFINE_CRYPTO=1"] self.cpp_info0 码力 | 681 页 | 5.55 MB | 1 年前3
Conan 1.28 Documentationenable_cppparser: [True, False] enable_crypto: [True, False] [...] default_options: cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True [...] 4. Let’s use this poco/1 556109dd9 [options] cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True enable_data: True ... The @ symbol at the end of the package name is important to search for package_info(self): self.cpp_info.name = "OpenSSL" self.cpp_info.components["crypto"].names["cmake_find_package"] = "Crypto" (continues on next page) 5.7. Define the package information 59 Conan Documentation0 码力 | 699 页 | 5.39 MB | 1 年前3
Conan 1.29 Documentationenable_cppparser: [True, False] enable_crypto: [True, False] [...] default_options: cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True [...] 4. Let’s use this poco/1 556109dd9 [options] cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True enable_data: True ... The @ symbol at the end of the package name is important to search for package_info(self): self.cpp_info.name = "OpenSSL" self.cpp_info.components["crypto"].names["cmake_find_package"] = "Crypto" (continues on next page) 5.7. Define the package information 59 Conan Documentation0 码力 | 703 页 | 5.41 MB | 1 年前3
Conan 1.30 Documentationenable_cppparser: [True, False] enable_crypto: [True, False] [...] default_options: cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True [...] 4. Let’s use this poco/1 556109dd9 [options] cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True enable_data: True ... The @ symbol at the end of the package name is important to search for package_info(self): self.cpp_info.name = "OpenSSL" self.cpp_info.components["crypto"].names["cmake_find_package"] = "Crypto" (continues on next page) 6.7. Define the package information 61 Conan Documentation0 码力 | 715 页 | 5.39 MB | 1 年前3
Conan 1.31 Documentationenable_cppparser: [True, False] enable_crypto: [True, False] [...] default_options: cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True [...] 4. Let’s use this poco/1 556109dd9 [options] cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True enable_data: True ... The @ symbol at the end of the package name is important to search for package_info(self): self.cpp_info.name = "OpenSSL" self.cpp_info.components["crypto"].names["cmake_find_package"] = "Crypto" (continues on next page) 6.7. Define the package information 61 Conan Documentation0 码力 | 721 页 | 5.41 MB | 1 年前3
Conan 1.36 Documentationenable_cppparser: [True, False] enable_crypto: [True, False] [...] default_options: cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True [...] 4. Let’s use this poco/1 556109dd9 [options] cxx_14: False enable_apacheconnector: False enable_cppparser: False enable_crypto: True enable_data: True ... The @ symbol at the end of the package name is important to search for cpp_info.components["crypto"].names["cmake_find_package"] = "Crypto" self.cpp_info.components["crypto"].libs = ["libcrypto"] self.cpp_info.components["crypto"].defines = ["DEFINE_CRYPTO=1"] self.cpp_info0 码力 | 765 页 | 5.71 MB | 1 年前3
共 77 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8













