I was wondering how CMake++ could help me to manage different types of external project schemes and to cache some cross-platform build with a project version + toolchain tag.
Goal:
Support of CMake, QMake, Automake, Maven packages or some package installation in non-standard location packages (prefix) (eg link)
Support a registry of C/C++ packages, or stack of packages, with specific CMake args, and trigger some override commands for custom POST_BUILD actions (eg copy all runtime libraries with dependencies libraries to custom install prefix)
Support packages or project manifests (eg. with CMake++ with a JSON or YAML like FIPS and create on the fly CMake package configuration files for external project with a namespace (eg. link)
Analyze and generate external projects config file with the list of targets and options into a JSON or YAML file. (Would be useful to disable options incompatible with some platforms, (eg for iPhoneOS and Android builds, BLAS libraries are not all compatible)
Questions:
I prefer YAML formats as more human readable and more easy to connect with some other scripts (often Golang based for my part) but I could not make fully work the yaml function from the test function. Is it something that you intend to implement soon ? It would work perfectly with FIPS ^^ ?
Would it be possible to have an example with CMake++ building an OpenCV project and some dependencies like Caffe for mobile without conflicting with the server version Caffe or tensorflow or tiny-dnn with your recent additions on package functions (link ? (more precisely I cannot get if it could manage some kind of build/install cache strategy like hunter per toolchains and prevent duplicate builds of dependencies like Protobuf for example but still be able to set custom args per platfroms ^^)
Would it be possible to see such project build example with a cross-platform approach using toolchains from either Polly or FIPS with CMake++ ?
Is it possible to create executable wrappers from a list of vcs uris and install their pre-requisiste ? (eg. install and wrap CppSharp requires a wrap around premake5, mono, xbuild and nuget in order to wrap CppSharp-Cli ? (eg link) (btw, I am working with an Apple laptop)
Thanks for this awesome project Tobias ! Have an awesome week !
Hi @toeb ,
Hope you are all well !
I was wondering how CMake++ could help me to manage different types of external project schemes and to cache some cross-platform build with a project version + toolchain tag.
Goal:
Questions:
I prefer YAML formats as more human readable and more easy to connect with some other scripts (often Golang based for my part) but I could not make fully work the yaml function from the test function. Is it something that you intend to implement soon ? It would work perfectly with FIPS ^^ ?
Would it be possible to have an example with CMake++ building an OpenCV project and some dependencies like Caffe for mobile without conflicting with the server version Caffe or tensorflow or tiny-dnn with your recent additions on package functions (link ? (more precisely I cannot get if it could manage some kind of build/install cache strategy like hunter per toolchains and prevent duplicate builds of dependencies like Protobuf for example but still be able to set custom args per platfroms ^^)
Would it be possible to see such project build example with a cross-platform approach using toolchains from either Polly or FIPS with CMake++ ?
Is it possible to create executable wrappers from a list of vcs uris and install their pre-requisiste ? (eg. install and wrap CppSharp requires a wrap around premake5, mono, xbuild and nuget in order to wrap CppSharp-Cli ? (eg link) (btw, I am working with an Apple laptop)
Thanks for this awesome project Tobias ! Have an awesome week !
Cheers, Richard