-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add boost-multi library #21179
Open
correaa
wants to merge
36
commits into
conan-io:master
Choose a base branch
from
correaa:add_bmulti_library
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+115
−0
Open
Add boost-multi library #21179
Changes from all commits
Commits
Show all changes
36 commits
Select commit
Hold shift + click to select a range
acd905f
Create conanfile.py
correaa a511001
Create config,yml
correaa 37966fe
Create conanfile.py
correaa bc29066
Delete recipes/b-multi/conanfile.py
correaa 4f251a4
Create conandata.yml
correaa b4ddc23
Merge branch 'conan-io:master' into add_bmulti_library
correaa 8bd7775
Update config.yml
correaa 6d2aaf1
Update conanfile.py remove version
correaa 29e93e3
Delete recipes/b-multi/config,yml
correaa c7b7da0
Merge branch 'master' into add_bmulti_library
correaa 71e7b36
Update config.yml add new line
correaa 4f774a7
Update conandata.yml add new line
correaa 5279e00
Update config.yml trailing spaces?
correaa 612d1f5
Merge branch 'conan-io:master' into add_bmulti_library
correaa 3950b88
Create test_package.cpp
correaa 662474c
Create conanfile.py
correaa 8070c17
Create CMakeLists.txt
correaa 9de7c0f
Update recipes/b-multi/all/conanfile.py
correaa 3dda8d1
Update recipes/b-multi/all/conanfile.py
correaa db05e5b
Update recipes/b-multi/all/conanfile.py
correaa dc92aad
Update recipes/b-multi/all/conanfile.py
correaa eb3c7bf
Update recipes/b-multi/all/conanfile.py
correaa 66172c1
Update recipes/b-multi/all/conanfile.py
correaa 742ef80
Update recipes/b-multi/all/test_package/CMakeLists.txt
correaa 19cb3c6
Update recipes/b-multi/all/conanfile.py
correaa 07618e4
Update recipes/b-multi/all/test_package/conanfile.py
correaa a076755
Update recipes/b-multi/all/conanfile.py
correaa 3cac879
Update conanfile.py
correaa b6d931a
Merge branch 'master' into add_bmulti_library
correaa 808b45f
Update recipes/b-multi/all/test_package/CMakeLists.txt
correaa 147e16d
renamed dirs
correaa 1706b81
changed conanfile project name
correaa 3339f3f
Update recipes/boost-multi/all/conanfile.py
correaa a5e86b9
Update recipes/boost-multi/all/conanfile.py
correaa 584a850
Add missing iostream to test_package
uilianries ef57107
Copy license file to package folder
uilianries File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
sources: | ||
"0.80.1": | ||
url: https://gitlab.com/correaa/boost-multi/-/archive/v0.80.1/boost-multi-v0.80.1.tar.gz | ||
sha256: 7d1ebee123783e0fadfb58a0f55309148d63295fcb4b9c5442d851e3578cad1e | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
from conan import ConanFile | ||
from conan.tools.files import get, copy | ||
from conan.tools.build import check_min_cppstd | ||
from conan.tools.layout import basic_layout | ||
from conan.tools.scm import Version | ||
from conan.errors import ConanInvalidConfiguration | ||
import os | ||
|
||
|
||
class MultiConan(ConanFile): | ||
name = "boost-multi" | ||
homepage = "https://gitlab.com/correaa/boost-multi" | ||
description = "Multidimensional array access to contiguous or regularly contiguous memory. (Not an official Boost library)" | ||
topics = ( | ||
"array", | ||
"multidimensional", | ||
"library", | ||
) | ||
license = "BSL-1.0" | ||
url = "https://github.com/conan-io/conan-center-index" | ||
package_type = "header-library" | ||
correaa marked this conversation as resolved.
Show resolved
Hide resolved
|
||
settings = "os", "arch", "compiler", "build_type" | ||
no_copy_source = True | ||
|
||
@property | ||
def _min_cppstd(self): | ||
return 17 | ||
|
||
@property | ||
def _compilers_minimum_version(self): | ||
return {"gcc": "8", | ||
"clang": "7", | ||
"apple-clang": "12", | ||
"Visual Studio": "16", | ||
"msvc": "192"} | ||
|
||
def layout(self): | ||
basic_layout(self, src_folder="src") | ||
|
||
correaa marked this conversation as resolved.
Show resolved
Hide resolved
|
||
def package_id(self): | ||
self.info.clear() | ||
|
||
def validate(self): | ||
if self.settings.compiler.cppstd: | ||
check_min_cppstd(self, self._min_cppstd) | ||
minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) | ||
if minimum_version and Version(self.settings.compiler.version) < minimum_version: | ||
raise ConanInvalidConfiguration( | ||
f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." | ||
) | ||
|
||
def source(self): | ||
get(self, **self.conan_data["sources"][self.version], strip_root=True) | ||
|
||
def package(self): | ||
copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) | ||
copy(self, "*.hpp", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) | ||
uilianries marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
def package_info(self): | ||
self.cpp_info.set_property("cmake_file_name", "multi") | ||
self.cpp_info.set_property("cmake_target_name", "multi::multi") | ||
|
||
self.cpp_info.bindirs = [] | ||
self.cpp_info.libdirs = [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
cmake_minimum_required(VERSION 3.15) | ||
project(test_package LANGUAGES CXX) | ||
|
||
find_package(multi REQUIRED CONFIG) | ||
|
||
add_executable(${PROJECT_NAME} test_package.cpp) | ||
target_link_libraries(${PROJECT_NAME} PRIVATE multi::multi) | ||
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
from conan import ConanFile | ||
from conan.tools.build import can_run | ||
from conan.tools.cmake import cmake_layout, CMake | ||
import os | ||
|
||
|
||
class TestPackageConan(ConanFile): | ||
settings = "os", "arch", "compiler", "build_type" | ||
generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" | ||
test_type = "explicit" | ||
|
||
def layout(self): | ||
cmake_layout(self) | ||
|
||
def requirements(self): | ||
self.requires(self.tested_reference_str) | ||
|
||
def build(self): | ||
cmake = CMake(self) | ||
cmake.configure() | ||
cmake.build() | ||
|
||
def test(self): | ||
if can_run(self): | ||
bin_path = os.path.join(self.cpp.build.bindir, "test_package") | ||
self.run(bin_path, env="conanrun") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#include <iostream> | ||
#include "multi/array.hpp" | ||
uilianries marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
namespace multi = boost::multi; | ||
|
||
int main(void) { | ||
multi::array<int, 2> arr({10, 20}, 99); | ||
|
||
std::cout << "should print 99: " << arr[2][3] << std::endl; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,3 @@ | ||||||
versions: | ||||||
"0.80.1": | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
folder: all |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would recommend updating to 0.83.0, so the LICENSE file will be available.