From 947d627efed41745c33566eec38a703c68df8521 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Wed, 19 Jan 2022 09:21:05 +0100 Subject: [PATCH] Initial configuration, profiles and remotes added This commit also adds a remote artifactory server which is currently a private personal server and just for tryouts. This needs to change in due time to an UM managed server. Either in the cloud or on a VM. There are three profiles added to the configuration. All of them depend on the default autodetected profile. This default profile can be created using the command `conan profile new --detect default` The configuration as whole can be installed with the command: `conan config install https://github.com/ultimaker/conan-config.git` Contributes to CURA-8785 --- .gitignore | 131 ++++++++++++++++++++++++++++++++++++ conan.conf | 25 +++++++ profiles/cura.jinja | 24 +++++++ profiles/cura_build.jinja | 26 +++++++ profiles/cura_debug.jinja | 7 ++ profiles/cura_release.jinja | 7 ++ remotes.txt | 2 + 7 files changed, 222 insertions(+) create mode 100644 .gitignore create mode 100644 conan.conf create mode 100644 profiles/cura.jinja create mode 100644 profiles/cura_build.jinja create mode 100644 profiles/cura_debug.jinja create mode 100644 profiles/cura_release.jinja create mode 100644 remotes.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1d4e738 --- /dev/null +++ b/.gitignore @@ -0,0 +1,131 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +.idea/ \ No newline at end of file diff --git a/conan.conf b/conan.conf new file mode 100644 index 0000000..970bc44 --- /dev/null +++ b/conan.conf @@ -0,0 +1,25 @@ +[log] +run_to_output = True +run_to_file = True +level = info +print_run_commands = True + +[general] +compression_level = 9 +sysrequires_sudo = True +request_timeout = 60 +default_package_id_mode = full_version_mode +cmake_generator = Ninja +revisions_enabled = 1 +scm_to_conandata = 1 +full_transitive_package_id = 0 +default_profile = cura_release.jinja +default_build_profile = cura_build.jinja +required_conan_version = >=1.44.1 + +[storage] + +[proxies] + +[hooks] +attribute_checker diff --git a/profiles/cura.jinja b/profiles/cura.jinja new file mode 100644 index 0000000..651c818 --- /dev/null +++ b/profiles/cura.jinja @@ -0,0 +1,24 @@ +include(default) + +[build_requires] + +[settings] +os={{ {"Darwin": "Macos"}.get(platform.system(), platform.system()) }} +os_build={{ {"Darwin": "Macos"}.get(platform.system(), platform.system()) }} +compiler.cppstd=17 +{% if compiler == "gcc" %} + compiler.libcxx=libstdc++11 +{% elif compiler == "apple-clang" %} + compiler.libcxx=libc++ +{% elif compiler == "Visual Studio" %} + compiler.toolset=v142 +{% endif %} +[options] + +[env] + +[conf] +tools.cmake.cmaketoolchain:find_package_prefer_config=True +{% if compiler == "Visual Studio" %} + tools.microsoft.msbuild:vs_version=compiler.version +{% endif %} diff --git a/profiles/cura_build.jinja b/profiles/cura_build.jinja new file mode 100644 index 0000000..2c098f9 --- /dev/null +++ b/profiles/cura_build.jinja @@ -0,0 +1,26 @@ +include(default) + +[build_requires] +cmake/3.22.0 +ninja/1.10.2 + +[settings] +os={{ {"Darwin": "Macos"}.get(platform.system(), platform.system()) }} +os_build={{ {"Darwin": "Macos"}.get(platform.system(), platform.system()) }} +compiler.cppstd=17 +{% if compiler == "gcc" %} + compiler.libcxx=libstdc++11 +{% elif compiler == "apple-clang" %} + compiler.libcxx=libc++ +{% elif compiler == "Visual Studio" %} + compiler.toolset=v142 +{% endif %} +[options] + +[env] + +[conf] +tools.cmake.cmaketoolchain:find_package_prefer_config=True +{% if compiler == "Visual Studio" %} + tools.microsoft.msbuild:vs_version=compiler.version +{% endif %} diff --git a/profiles/cura_debug.jinja b/profiles/cura_debug.jinja new file mode 100644 index 0000000..8248d9f --- /dev/null +++ b/profiles/cura_debug.jinja @@ -0,0 +1,7 @@ +include(cura.jinja) + +[settings] +build_type=Debug +{% if compiler == "Visual Studio" %} + compiler.runtime=MDd +{% endif %} \ No newline at end of file diff --git a/profiles/cura_release.jinja b/profiles/cura_release.jinja new file mode 100644 index 0000000..9fa38ab --- /dev/null +++ b/profiles/cura_release.jinja @@ -0,0 +1,7 @@ +include(cura.jinja) + +[settings] +build_type=Release +{% if compiler == "Visual Studio" %} + compiler.runtime=MD +{% endif %} \ No newline at end of file diff --git a/remotes.txt b/remotes.txt new file mode 100644 index 0000000..9137658 --- /dev/null +++ b/remotes.txt @@ -0,0 +1,2 @@ +ultimaker https://peer23peer.jfrog.io/artifactory/api/conan/ultimaker-conan True +conan-center https://center.conan.io True