-
Notifications
You must be signed in to change notification settings - Fork 816
Expand file tree
/
Copy pathconanfile.py
More file actions
46 lines (36 loc) · 1.5 KB
/
conanfile.py
File metadata and controls
46 lines (36 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from conan import ConanFile
from conan.tools.cmake import CMakeToolchain, CMakeDeps, cmake_layout
class BehaviortreeCppConan(ConanFile):
name = "behaviortree.cpp"
settings = "os", "arch", "compiler", "build_type"
default_options = {
"flatbuffers/*:header_only": True,
}
def layout(self):
cmake_layout(self)
def build_requirements(self):
self.test_requires("gtest/1.14.0")
def requirements(self):
self.requires("flatbuffers/24.12.23")
self.requires("minicoro/0.1.3")
self.requires("minitrace/cci.20230905")
self.requires("sqlite3/3.40.1")
self.requires("tinyxml2/10.0.0")
self.requires("cppzmq/4.11.0")
self.requires("foonathan-lexy/2022.12.1")
def generate(self):
tc = CMakeToolchain(self)
tc.cache_variables["USE_VENDORED_CPPZMQ"] = False
tc.cache_variables["USE_VENDORED_FLATBUFFERS"] = False
tc.cache_variables["USE_VENDORED_LEXY"] = False
tc.cache_variables["USE_VENDORED_MINICORO"] = False
tc.cache_variables["USE_VENDORED_MINITRACE"] = False
tc.cache_variables["USE_VENDORED_TINYXML2"] = False
# Ensure MSVC runtime is correctly propagated
if self.settings.os == "Windows":
tc.cache_variables["CMAKE_MSVC_RUNTIME_LIBRARY"] = \
"MultiThreadedDebugDLL" if self.settings.build_type == "Debug" \
else "MultiThreadedDLL"
tc.generate()
deps = CMakeDeps(self)
deps.generate()