diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 01c6e38a8a648..b3ffb224879e9 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1427,3 +1427,27 @@ authorized_users: - mattkretz - DannyLihard - stevenwdv +- smessmer +- fischjo3SICKAG +- jrosiek +- Thiesius +- xakod +- FWiesner +- aasmune +- sicheste +- Alan5142 +- mefff +- HazyMrf +- danniesim +- witcherofthorns +- amerry +- kulkarniamit +- hypengw +- Deishelon +- mosys +- asutic +- x93008 +- filipjaremczak +- braindigitalis +- vasama +- nonovv diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml deleted file mode 100644 index c7beaad8761f2..0000000000000 --- a/.c3i/conan_v2_ready_references.yml +++ /dev/null @@ -1,1686 +0,0 @@ -required_for_references: -- 7bitconf -- 7bitdi -- 7zip -- aaf -- aaplus -- abseil -- absent -- acado -- accellera-uvm-systemc -- access_private -- acl -- ada -- ade -- aeron -- aggeom-agg -- ags -- alac -- alembic -- alpaca -- amgcl -- amqp-cpp -- andreasbuhr-cppcoro -- android-ndk -- angelscript -- annoy -- antlr4 -- antlr4-cppruntime -- any-lite -- anyrpc -- approvaltests.cpp -- apr -- apr-util -- apriltag -- aravis -- archicad-apidevkit -- arcus -- arduinojson -- arg_router -- argh -- argon2 -- argparse -- args-parser -- argtable2 -- argtable3 -- argz -- armadillo -- arrow -- arsenalgear -- artery-font-format -- asio -- asio-grpc -- asmjit -- asn1c -- assimp -- astc-codec -- astro-informatics-so3 -- async_simple -- asyncly -- asyncplusplus -- asyncpp -- atomic_queue -- audiofile -- autoconf -- autoconf-archive -- automake -- avahi -- avcpp -- avir -- aws-c-auth -- aws-c-cal -- aws-c-common -- aws-c-compression -- aws-c-event-stream -- aws-c-http -- aws-c-io -- aws-c-mqtt -- aws-c-s3 -- aws-c-sdkutils -- aws-checksums -- aws-crt-cpp -- aws-kvs-pic -- aws-lambda-cpp -- aws-libfabric -- aws-sdk-cpp -- azure-sdk-for-cpp -- azure-storage-cpp -- b2 -- b64 -- backport-cpp -- backward-cpp -- bacnet-stack -- baical-p7 -- bandit -- base64 -- basu -- battery-embed -- bazel -- bdwgc -- bear -- beauty -- behaviortree.cpp -- benchmark -- bertrand -- bezier -- bgfx -- bigint -- bimg -- binutils -- bison -- bit-lite -- bitflags -- bitmagic -- bitserializer -- bitsery -- blaze -- blend2d -- bliss -- bmx -- boolean-lite -- boolinq -- boost -- boost-ext-ut -- boost-leaf -- boostdep -- botan -- box2d -- breakpad -- bredis -- brigand -- brotli -- brunsli -- brynet -- bshoshany-thread-pool -- btyacc -- bullet3 -- butteraugli -- bvdberg-ctest -- bx -- byte-lite -- bzip2 -- bzip3 -- c-ares -- c-blosc -- c-blosc2 -- c-client -- c-dbg-macro -- c4core -- caf -- cairo -- cairomm -- cajun-jsonapi -- calceph -- canary -- canvas_ity -- capnproto -- capstone -- cargs -- cassandra-cpp-driver -- catch2 -- cc65 -- ccache -- cccl -- ccfits -- cctag -- cctz -- cd3-boost-unit-definitions -- celero -- cereal -- ceres-solver -- certify -- cfgfile -- cfitsio -- cgal -- cgif -- cglm -- cgltf -- cgns -- chaiscript -- charls -- chef-fun -- chipmunk2d -- choc -- chunkio -- cigi-ccl -- cimg -- circularbuffer -- cista -- cityhash -- civetweb -- cjson -- clara -- clhep -- cli -- cli11 -- clickhouse-cpp -- clipboard_lite -- clipp -- clipper -- clipper2 -- clove-unit -- cmake -- cminpack -- cmocka -- cmp -- cn-cbor -- cnats -- cnpy -- cocoyaxi -- coin-cgl -- coin-clp -- coin-lemon -- coin-osi -- coin-utils -- commata -- compute_library -- concurrencpp -- concurrentqueue -- console_bridge -- continuable -- coost -- copypp -- corrade -- cose-c -- cotila -- coz -- cpp-channel -- cpp-dump -- cpp-httplib -- cpp-ipc -- cpp-jwt -- cpp-lazy -- cpp-optparse -- cpp-peglib -- cpp-sort -- cpp-validator -- cpp-yyjson -- cpp_project_framework -- cppbenchmark -- cppcheck -- cppcmd -- cppcodec -- cppcommon -- cppdap -- cppfront -- cppitertools -- cppkafka -- cpprestsdk -- cpptoml -- cpptrace -- cppunit -- cpputest -- cppzmq -- cpr -- cprocessing -- cpu_features -- cpuinfo -- cpython -- cqrlib -- cr -- crashpad -- crc32c -- crc_cpp -- crcpp -- create-dmg -- croncpp -- crossguid -- crowcpp-crow -- crunch -- cryptopp -- cryptopp-pem -- cs_libguarded -- csm -- cspice -- csvmonkey -- ctml -- ctpg -- ctre -- cub -- cubicinterpolation -- cuda-api-wrappers -- cuda-kat -- cuda-samples -- cunit -- cute_headers -- cutlass -- cvplot -- cwalk -- cxxgraph -- cxxopts -- cyclonedds -- cyclonedds-cxx -- cyrus-sasl -- czmq -- dacap-clip -- darknet -- dataframe -- date -- dav1d -- daw_header_libraries -- daw_json_link -- daw_utf_range -- dbcppp -- dbg-macro -- dbus -- dcmtk -- dd-opentracing-cpp -- debug_assert -- decimal_for_cpp -- deco -- dependencies -- depot_tools -- detools -- dfp -- di -- dice-template-library -- diligent-core -- dime -- directshowbaseclasses -- directx-headers -- dirent -- discount -- dispenso -- djinni-generator -- djinni-support-lib -- djvulibre -- dlib -- dlpack -- dnet -- docopt.cpp -- doctest -- double-conversion -- doxygen -- dr_libs -- draco -- dragonbox -- drflac -- drmp3 -- drogon -- drwav -- dsp-filters -- dtl -- duckdb -- duckx -- duktape -- dylib -- eabase -- earcut -- eastl -- easy_profiler -- easyexif -- easyhttpcpp -- easyloggingpp -- easylzma -- ecos -- editline -- edlib -- edyn -- effcee -- effolkronium-random -- egl -- egl-headers -- eigen -- elfio -- elfutils -- embag -- embedded_ringbuf_cpp -- embree3 -- emhash -- emio -- emsdk -- enchant -- enet -- enhex-generic_serialization -- enhex-strong_type -- enjincppsdk -- enkits -- ensmallen -- entityx -- entt -- enum-flags -- enumbitmask -- erikzenker-hsm -- erkir -- etc2comp -- etcd-cpp-apiv3 -- eternal -- ethash -- etl -- eudev -- eventpp -- evmc -- exiv2 -- expat -- expected-lite -- exprtk -- extra-cmake-modules -- ezc3d -- faac -- fakeit -- faker-cxx -- farmhash -- fast-cdr -- fast-cpp-csv-parser -- fast-dds -- fast_double_parser -- fast_float -- fast_io -- fastgltf -- fastnoise2 -- fastpfor -- fastprng -- fernandovelcic-hexdump -- fff -- ffmpeg -- fft -- fftw -- fire-hpp -- fixed-containers -- fixed_math -- flac -- flann -- flatbuffers -- flatbush -- flatcc -- flecs -- flex -- flint -- fltk -- flux -- fmi1 -- fmi2 -- fmi3 -- fmt -- fmtlog -- folly -- fontconfig -- foonathan-lexy -- foonathan-memory -- forestdb -- foxglove-schemas-protobuf -- foxglove-websocket -- foxi -- fp16 -- fpgen -- fpzip -- freealut -- freeglut -- freeimage -- freetype -- freexl -- fribidi -- frozen -- frugally-deep -- fruit -- ftjam -- ftxui -- function2 -- functionalplus -- functions-framework-cpp -- fusepp -- fxdiv -- g3log -- gaia-ecs -- gainput -- gamenetworkingsockets -- gamma -- gcc -- gcem -- gdal -- gdbm -- gdcm -- gdk-pixbuf -- gegles-spdlog_setup -- gemmlowp -- genie -- geographiclib -- geos -- geotrans -- getdns -- getopt-for-visual-studio -- gettext -- gf-complete -- gflags -- gfortran -- ghc-filesystem -- giflib -- ginkgo -- gklib -- glad -- glaze -- glbinding -- glew -- glext -- glfw -- gli -- glib -- glibmm -- glm -- glog -- glpk -- glshaderpp -- glslang -- glu -- gm2calc -- gmp -- gn -- gnu-config -- gnulib -- gnutls -- gobject-introspection -- godot-cpp -- godot_headers -- googleapis -- gperf -- gperftools -- graphene -- graphthewy -- greatest -- greg7mdp-gtl -- grpc -- grpc-proto -- gsl -- gsl-lite -- gsoap -- gstreamer -- gtest -- gtk -- gtk-doc-stub -- gtlab-logging -- gtsam -- guetzli -- gumbo-parser -- gurkenlaeufer -- gzip-hpp -- h3 -- h5pp -- half -- happly -- harfbuzz -- hash-library -- hayai -- hazelcast-cpp-client -- hdf4 -- hdf5 -- hdrhistogram-c -- heatshrink -- hedley -- hexl -- hffix -- hictk -- hidapi -- highfive -- highs -- highway -- hipony-enumerate -- hippomocks -- hiredis -- hlslpp -- homog2d -- http_parser -- huffman -- hunspell -- hwdata -- hwloc -- hyperscan -- i2c-tools -- icecream-cpp -- iceoryx -- iconfontcppheaders -- icu -- id3v2lib -- idna -- ignition-cmake -- iguana -- iir1 -- im95able-rea -- imagl -- imake -- imath -- imgui -- imguizmo -- immer -- implot -- imutils-cpp -- incbin -- indicators -- indirect_value -- influxdb-cpp -- influxdb-cxx -- inih -- inja -- intel-ipsec-mb -- intel-neon2sse -- intx -- inversify-cpp -- iowow -- ipaddress -- iphreeqc -- iqa -- irrxml -- isa-l -- isl -- iso8601lib -- itk -- itlib -- ittapi -- ixwebsocket -- jansson -- jasper -- jbig -- jeaiii-itoa -- jemalloc -- jerryscript -- jfalcou-eve -- jinja2cpp -- jnk0le_ringbuffer -- joltphysics -- jom -- jpcre2 -- jpeg-compressor -- jsbsim -- jsmn -- json-c -- json-schema-validator -- json_dto -- jsoncons -- jsoncpp -- jsonifier -- jsonnet -- jthread-lite -- jungle -- jwasm -- jwt-cpp -- jxrlib -- kainjow-mustache -- kaitai_struct_cpp_stl_runtime -- kangaru -- kcov -- kcp -- kdbindings -- kealib -- keychain -- khrplatform -- kickcat -- kissfft -- kitten -- kmod -- krb5 -- ktx -- kuba-zip -- kuliya -- lager -- laslib -- laszip -- lazycsv -- lcms -- ldns -- lefticus-tools -- lely-core -- lemon -- leopard -- leptonica -- lerc -- lest -- leveldb -- lexbor -- libaec -- libaesgm -- libaio -- libalsa -- libaom-av1 -- libarchive -- libassert -- libatomic_ops -- libattr -- libavif -- libavrocpp -- libb2 -- libbacktrace -- libbasisu -- libbigwig -- libboxes -- libbpf -- libbsd -- libcap -- libcbor -- libccd -- libcds -- libcheck -- libcoap -- libconfig -- libconfuse -- libcoro -- libcorrect -- libcpuid -- libcuckoo -- libcurl -- libcvd -- libdaemon -- libdb -- libdc1394 -- libde265 -- libdeflate -- libdicom -- libdisasm -- libdisplay-info -- libdivide -- libdmtx -- libdrawille -- libdrm -- libdwarf -- libdxfrw -- libe57format -- libelf -- libelfin -- libenvpp -- libepoxy -- libest -- libev -- libevdev -- libevent -- libexif -- libfabric -- libfdk_aac -- libffi -- libfork -- libfreenect -- libfreenect2 -- libftdi -- libftp -- libfuse -- libgcrypt -- libgd -- libgeotiff -- libgettext -- libgit2 -- libglvnd -- libgpg-error -- libgphoto2 -- libgpiod -- libgta -- libhal -- libharu -- libheif -- libhydrogen -- libiberty -- libiconv -- libid3tag -- libidn -- libidn2 -- libigl -- libinput -- libinterpolate -- libipt -- libjpeg -- libjpeg-turbo -- libjxl -- libkml -- libliftoff -- liblqr -- liblsl -- libltc -- liblzf -- libmad -- libmagic -- libmaxminddb -- libmbus -- libmd -- libmediainfo -- libmemcached -- libmeshb -- libmetalink -- libmicrohttpd -- libmikmod -- libmnl -- libmodbus -- libmodplug -- libmorton -- libmount -- libmp3lame -- libmpdclient -- libmysqlclient -- libnabo -- libnet -- libnetfilter_conntrack -- libnetfilter_queue -- libnfnetlink -- libnfs -- libnghttp2 -- libnice -- libnl -- libnoise -- libnop -- libnova -- libnpy -- libnuma -- liboping -- libpcap -- libpciaccess -- libpfm4 -- libphonenumber -- libpng -- libpointmatcher -- libpq -- libpqxx -- libproperties -- libprotobuf-mutator -- libpsl -- libqasm -- libqrencode -- librasterlite -- libraw -- librdkafka -- librealsense -- libressl -- librhash -- librttopo -- libsafec -- libsamplerate -- libsass -- libschrift -- libseat -- libsecret -- libselinux -- libserial -- libsgp4 -- libsigcpp -- libsixel -- libslz -- libsmacker -- libsndfile -- libsndio -- libsodium -- libsolace -- libspatialindex -- libspatialite -- libspng -- libsquish -- libsrtp -- libssh -- libssh2 -- libsvm -- libsvtav1 -- libsystemd -- libtar -- libtasn1 -- libtiff -- libtins -- libtool -- libtorrent -- libucl -- libudev -- libunifex -- libunistring -- libunwind -- liburing -- libusb -- libusb-compat -- libuuid -- libuv -- libuvc -- libva -- libvault -- libvdpau -- libversion -- libverto -- libvips -- libvpx -- libwebm -- libwebp -- libwebsockets -- libx264 -- libx265 -- libxcrypt -- libxft -- libxls -- libxlsxwriter -- libxml2 -- libxmlpp -- libxpm -- libxshmfence -- libxslt -- libyaml -- libyang -- libyuv -- libzen -- libzip -- libzippp -- lief -- lielab -- lightgbm -- lightpcapng -- linmath.h -- linux-headers-generic -- linux-syscall-support -- litehtml -- lksctp-tools -- llama-cpp -- llhttp -- llnl-units -- llvm-openmp -- lmdb -- lodepng -- log.c -- log4cplus -- log4cxx -- logfault -- logr -- loguru -- ls-qpack -- lua -- luajit -- luau -- lunasvg -- luple -- lurlparser -- lyra -- lz4 -- lzfse -- lzham -- lzip -- lzma_sdk -- lzo -- m4 -- macdylibbundler -- maddy -- magic_enum -- mailio -- make -- makefile-project-workspace-creator -- mapbox-geometry -- mapbox-variant -- mapbox-wagyu -- mariadb-connector-c -- marisa -- matchit -- materialx -- mathfu -- mathter -- matio -- mattiasgustavsson-libs -- maven -- mawk -- mbedtls -- mbits-args -- mbits-diags -- mbits-lngs -- mbits-mstch -- mbits-semver -- mbits-utfconv -- mcap -- md4c -- md4qt -- mdns -- mdnsresponder -- mdspan -- mesa-glu -- meshoptimizer -- meson -- metall -- metis -- mfast -- mgclient -- mgs -- microprofile -- microservice-essentials -- microtar -- mikelankamp-fpm -- mikktspace -- mimalloc -- mingw-builds -- mingw-w64 -- minhook -- mini -- miniaudio -- minicoro -- minimp3 -- minisat -- miniscript -- minitrace -- miniupnpc -- miniz -- minizip -- minizip-ng -- minmea -- mio -- mlpack -- mm_file -- mocknetworkaccessmanager -- modern-cpp-kafka -- mold -- moltenvk -- mongo-c-driver -- mongo-cxx-driver -- morton-nd -- mosquitto -- mozilla-build -- mozjpeg -- mp-units -- mpark-variant -- mpc -- mpdecimal -- mpfr -- mpg123 -- mpir -- mpmcqueue -- mppp -- ms-gsl -- msdf-atlas-gen -- msdfgen -- msgpack-c -- msgpack-cxx -- msix -- msys2 -- mtdev -- mujs -- muparser -- muparserx -- naive-tsearch -- namedtype -- nameof -- nanobench -- nanodbc -- nanoflann -- nanomsg -- nanorange -- nanort -- nanosvg -- nas -- nasm -- ncurses -- neargye-semver -- net-snmp -- netcdf -- nettle -- newmat -- nextsilicon-cpp-subprocess -- nfrechette-acl -- nghttp3 -- nifti_clib -- ninja -- nlohmann_json -- nlopt -- nmea -- nmos-cpp -- nmslib -- nng -- nodejs -- nodesoup -- norm -- npcap -- nsimd -- nspr -- nsync -- ntv2 -- nudb -- nuklear -- numcpp -- nuraft -- nv-codec-headers -- nvcloth -- nvtx -- oatpp -- oatpp-libressl -- oatpp-postgresql -- oatpp-sqlite -- objectbox -- objectbox-generator -- observer-ptr-lite -- octo-encryption-cpp -- octo-keygen-cpp -- octo-logger-cpp -- octo-wildcardmatching-cpp -- octomap -- odbc -- ode -- ofeli -- ogdf -- ogg -- ohnet -- ohpipeline -- ois -- onedpl -- onetbb -- oniguruma -- onnx -- onnxruntime -- open-dis-cpp -- open-simulation-interface -- open62541 -- openal -- openal-soft -- openapi-generator -- openblas -- opencascade -- opencl-clhpp-headers -- opencl-headers -- opencl-icd-loader -- opencolorio -- opencore-amr -- opencv -- openddl-parser -- opendis6 -- opene57 -- openexr -- openfbx -- openfst -- openfx -- opengl -- opengl-registry -- opengv -- openh264 -- openimageio -- openjdk -- openjpeg -- openldap -- openmesh -- openmpi -- openmvg -- openpam -- openscenegraph -- openslide -- openssh -- openssl -- opensubdiv -- opentdf-client -- opentelemetry-cpp -- opentelemetry-proto -- opentracing-cpp -- openvdb -- openvino -- openvr -- openxlsx -- optional-lite -- opus -- opusfile -- orc -- orcania -- osmanip -- osqp -- ouster_sdk -- out_ptr -- outcome -- ozz-animation -- p-ranav-glob -- p7zip -- pagmo2 -- paho-mqtt-c -- paho-mqtt-cpp -- pango -- panzi-portable-endian -- parallel-hashmap -- parg -- parson -- patchelf -- pathie-cpp -- pbc -- pbtools -- pcapplusplus -- pcg-cpp -- pciutils -- pcl -- pcre -- pcre2 -- pdcurses -- pdf-writer -- pdfgen -- pdfium -- pdqsort -- perf -- perfetto -- perlinnoise -- pexports -- pffft -- pfr -- pgm-index -- physfs -- physx -- picobench -- picojson -- picosha2 -- pipes -- pistache -- pixman -- pkgconf -- platform.converters -- platform.delegates -- platform.equality -- platform.exceptions -- platform.hashing -- platform.interfaces -- platformfolders -- playrho -- plf_colony -- plf_indiesort -- plf_list -- plf_nanotimer -- plf_queue -- plf_stack -- plog -- plusaes -- plutovg -- pngpp -- poco -- podofo -- poly2tri -- polylabel -- polylineencoder -- polymorphic_value -- popl -- poppler-data -- popt -- portable-file-dialogs -- poselib -- poshlib -- pprint -- pranav-csv2 -- premake -- pretty-name -- primesieve -- pro-mdnsd -- procxx-boost-ext-simd -- proj -- prometheus-cpp -- proposal -- protobuf -- protobuf-c -- protopuf -- protozero -- proxy -- psimd -- psyinf-gmtl -- ptex -- pthreadpool -- pthreads4w -- pugixml -- pulseaudio -- pupnp -- pybind11 -- pybind11_json -- pystring -- qarchive -- qcbor -- qdbm -- qhull -- qpdf -- qpoases -- qr-code-generator -- qt -- qtawesome -- qtxlsxwriter -- quantlib -- quaternions -- quazip -- quickcpplib -- quickfast -- quickfix -- quickjs -- quill -- quirc -- qwt -- qxmpp -- r8brain-free-src -- rabbitmq-c -- ragel -- rang -- range-v3 -- rangeless -- rangesnext -- rapidcheck -- rapidcsv -- rapidfuzz -- rapidjson -- rapidxml -- rapidyaml -- raylib -- rdma-core -- re2 -- re2c -- reactiveplusplus -- read-excel -- readerwriterqueue -- readline -- readosm -- rebound -- recastnavigation -- reckless -- rectanglebinpack -- rectpack2d -- redboltz-mqtt_cpp -- redis-plus-plus -- redradist-icc -- refl-cpp -- reflect-cpp -- replxx -- resiprocate -- resource_pool -- restbed -- restinio -- rg-etc1 -- rgbcx -- ring-span-lite -- rmm -- roaring -- robin-hood-hashing -- rocket -- rocksdb -- rotor -- rpclib -- rply -- rsync -- rtklib -- rtm -- rtmidi -- rttr -- ruy -- rvo2 -- rxcpp -- s2geometry -- s2let -- s2n -- safe -- safeint -- sail -- samurai -- sassc -- sbepp -- sbp -- scc -- scdoc -- scip -- scippp -- scnlib -- scons -- scope-lite -- screen_capture_lite -- sdbus-cpp -- sdf -- sdl -- sdl_image -- sdl_mixer -- sdl_net -- sdl_ttf -- seadex-essentials -- seasocks -- semimap -- semver.c -- sentry-breakpad -- sentry-crashpad -- sentry-native -- seqan -- seqan3 -- serd -- serdepp -- serf -- serial -- sfl -- sfml -- shaderc -- shapelib -- shield -- si -- signals-light -- sigslot -- simd -- simde -- simdjson -- simdutf -- simfil -- simple-websocket-server -- simple-yaml -- simple_enum -- sioclient -- sjson-cpp -- skyr-url -- sleef -- sml -- snappy -- snitch -- snowhouse -- so5extra -- sobjectizer -- soci -- sofa -- sokol -- sol2 -- sonic-cpp -- sophus -- soplex -- soundtouch -- source_location -- soxr -- span-lite -- spdlog -- spectra -- speedb -- spirv-cross -- spirv-headers -- spirv-tools -- spscqueue -- spy -- sqlcipher -- sqlite3 -- sqlite3mc -- sqlite_orm -- sqlitecpp -- sqlpp11 -- sqlpp11-connector-sqlite3 -- squirrel -- srt -- ssht -- ssp -- st_tree -- statslib -- status-code -- status-value-lite -- stb -- stc -- stdgpu -- stduuid -- stella-cv-fbow -- stlab -- strawberryperl -- streaming-percentiles -- streamvbyte -- string-view-lite -- stringtoolbox -- stringzilla -- strong_type -- structopt -- stx -- subunit -- sundials -- suyash-ulid -- svector -- svgpp -- svgwrite -- swig -- symengine -- systemc -- systemc-cci -- szip -- tabulate -- taglib -- taocpp-json -- taocpp-operators -- taocpp-pegtl -- taocpp-sequences -- taocpp-taopq -- taocpp-tuple -- tar -- taskflow -- taywee-args -- tcb-span -- tcl -- tclap -- tcp-wrappers -- tcsbank-uconfig -- tcsbank-uri-template -- teemo -- tensorflow-lite -- tensorpipe -- termcap -- termcolor -- tesseract -- tgbot -- tgc -- thelink2012-any -- thorvg -- threadpool -- thrift -- thrust -- tidwall-neco -- tidy-html5 -- timsort -- tinkerforge-bindings -- tiny-aes-c -- tiny-bignum-c -- tiny-dnn -- tiny-regex-c -- tiny-utf8 -- tinyalsa -- tinycbor -- tinycolormap -- tinycthread -- tinycthreadpool -- tinydir -- tinyexif -- tinyexr -- tinygltf -- tinymidi -- tinyobjloader -- tinyply -- tinyspline -- tinyxml -- tinyxml2 -- tixi3 -- tk -- tl -- tl-expected -- tl-function-ref -- tl-optional -- tllist -- tlx -- tmx -- tmxlite -- tng -- toml11 -- tomlplusplus -- toon -- tqdm-cpp -- tracy -- transwarp -- trantor -- tre -- tree-gen -- tree-sitter -- tree-sitter-c -- troldal-zippy -- trompeloeil -- tscns -- tsil -- tsl-array-hash -- tsl-hat-trie -- tsl-hopscotch-map -- tsl-ordered-map -- tsl-robin-map -- tsl-sparse-map -- tuplet -- turtle -- tweenerspp -- tweetnacl -- twitch-native-ipc -- twitchtv-libsoundtrackutil -- type_safe -- tz -- ua-nodeset -- uchardet -- ulfius -- uncrustify -- uni-algo -- unicorn -- units -- unity -- univalue -- unleash-client-cpp -- unordered_dense -- unqlite -- upx -- urdfdom -- urdfdom_headers -- uriparser -- userspace-rcu -- usockets -- usrsctp -- utf8.h -- utf8proc -- utfcpp -- uthash -- util-linux-libuuid -- uvw -- uwebsockets -- v-hacd -- vaapi -- valijson -- variant-lite -- vc -- vcglib -- vdpau -- vectorclass -- vectorial -- velodyne_decoder -- veque -- very-simple-smtps -- vigra -- vincentlaucsb-csv-parser -- vir-simd -- visit_struct -- vk-bootstrap -- vo-amrwbenc -- volk -- vorbis -- voropp -- vsg -- vtu11 -- vulkan-headers -- vulkan-loader -- vulkan-memory-allocator -- vulkan-validationlayers -- vvenc -- waf -- wasm-micro-runtime -- wasmedge -- wasmer -- wasmtime -- wasmtime-cpp -- watcher -- wavelet_buffer -- wayland -- wayland-protocols -- websocketpp -- wg21-linear_algebra -- wglext -- whereami -- whisper-cpp -- wide-integer -- wil -- wildcards -- wildmidi -- wineditline -- winflexbison -- winmd -- winreg -- wiringpi -- wise_enum -- wolfssl -- wslay -- wt -- wtl -- wxwidgets -- wyhash -- xapian-core -- xbyak -- xege -- xerces-c -- xkbcommon -- xkeyboard-config -- xlnt -- xlsxio -- xmlsec -- xnnpack -- xorg -- xorg-cf-files -- xorg-gccmakedep -- xorg-macros -- xorg-makedepend -- xorg-proto -- xorstr -- xoshiro-cpp -- xpack -- xproperty -- xsd -- xsimd -- xtensor -- xtl -- xtr -- xtrans -- xxhash -- xxsds-sdsl-lite -- xz_utils -- yaclib -- yajl -- yaml-cpp -- yandex-ozo -- yas -- yasm -- ydcpp-tcpcat -- yder -- yoga -- yomm2 -- yyjson -- z3 -- zbar -- zeromq -- zeus_expected -- zfp -- zimg -- zint -- zlib -- zlib-ng -- zmarok-semver -- zmqpp -- zoe -- zookeeper-client-c -- zopfli -- zpp_bits -- zpp_throwing -- zserio -- zstd -- zstr -- zug -- zulu-openjdk -- zxing-cpp -- zyre -- zziplib diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml deleted file mode 100644 index 3b536765fa330..0000000000000 --- a/.c3i/config_v1.yml +++ /dev/null @@ -1,168 +0,0 @@ ---- -# Configuration for `https://github.com/conan-io/conan-center-index` repository -id: 'conan-io/conan-center-index' - -conan: - version: 1.65.0 - -artifactory: - url: "https://c3i.jfrog.io/c3i" - main_repo: "conan-center" - pull-request_repo_prefix: "c3i_PR" - pull-request_permission: "c3i-pr" - logs_repo: "misc" - cache_repo: "cache" - -github: - reviewers: "reviewers.yml" - authorized_users: "authorized_users.yml" - waitlist_users: "waitlist_users.yml" - -slack: - credential_success_url: SLACK_SUCCESS_WEBHOOK_URL - ceredential_errors_url: SLACK_FAILURE_WEBHOOK_URL - -# Things related to Jenkins jobs -tasks: - access_request: - request_issue_url: https://github.com/conan-io/conan-center-index/issues/4 - max_inactivity_days: 0 - automatic_merge: - reviews_required_total: 2 # Reviews that a PR needs so it can be merged - reviews_required_team: 1 # Reviews from the Conan team that a PR needs so it can be merged - reviews_required_bump: 1 # Total reviews required for a bump PR to be merged - branches: # PRs from automations that have these as base-branches will be merged automatically - - "conan-io:action-doc-toc" - # Requirements to merge a given pull-request: - # * check_runs refers to notifications from GH actions - # * status_checks refers to notifications coming from external tools (Jenkins, CLA,...) - status_checks: - - name: "license/cla" - - name: "continuous-integration/jenkins/pr-merge" - - name: "c3i/conan-v2/pr-merge" - build_single_reference: - package_id_cache_type: "none" - timeout_minutes: 600 - large_timeout_minutes: 900 - large_timeout_references: - - boost - - qt - - llvm - parallel_strategy: unlimited - cci: - conan_v2_run_export: false - write_comments: true - detailed_status_checks: false - update_labels: true - build_bump_deps_pr: false - description_bump_deps_pr: ":vertical_traffic_light: Thank for your Bump dependencies PR. The build service will be triggered soon by a Conan team member." - wait_for_multibranch: # CCI jobs should wait for other multibranch job for that same PR - job_name: "prod-v2/cci" # e.g. "cci-v2/cci" -> this means waiting for cci-v2/cci/PR- - timeout_seconds: 600 # Maximum time to wait for the multibranch job - merge_messages: true # Merge messages from the multibranch job waited for - merge_labels: true # Merge labels from the multibranch job waited for - job_relauncher: - job_names: - - prod-v1/cci - - prod-v2/cci - scheduled_export_check: - report_issue_url: https://github.com/conan-io/conan-center-index/issues/20516 - report_issue_append: false - validate_infrastructure: - macos_executors: 2 - windows_executors: 4 - create_docs_pull-request: true - -# Profile configurations to build packages -configurations: - - id: linux-gcc-legacy - hrname: "Linux, GCC-legacy" - content: - - os: ["Linux"] - arch: ["x86_64"] - compiler: - - "gcc": - compiler.libcxx: [ "libstdc++11" ] - compiler.version: ["5", "7", "9"] - build_type: ["Release"] - - id: linux-gcc11 - hrname: "Linux, GCC11" - content: - - os: ["Linux"] - arch: ["x86_64"] - compiler: - - "gcc": - compiler.libcxx: [ "libstdc++11" ] - compiler.version: ["11"] - build_type: ["Release", "Debug"] - - id: linux-clang - hrname: "Linux, Clang" - content: - - os: ["Linux"] - arch: ["x86_64"] - compiler: - - "clang": - compiler.libcxx: ["libstdc++", "libc++"] - compiler.version: ["13"] - build_type: ["Release"] - - id: macos-m1-clang - hrname: "macOS, Clang (M1/arm64)" - content: - - os: [ "Macos" ] - arch: [ "armv8" ] - compiler: - - "apple-clang": - compiler.version: [ "13.0" ] - compiler.libcxx: [ "libc++" ] - build_type: [ "Release", "Debug" ] - - id: windows-visual_studio - hrname: "Windows, Visual Studio" - content: - - os: [ "Windows" ] - arch: [ "x86_64" ] - compiler: - - "Visual Studio": - compiler.version: [ "16" ] - build_type: - - "Release": - compiler.runtime: [ "MD" ] - - "Debug": - compiler.runtime: [ "MDd" ] - -jenkins: - url: "http://mb-jenkins-my-bloody-jenkins:8080" - -node_labels: - Windows: - x86_64: - "Visual Studio": - default: "windows20230531" - Macos: - x86_64: - "apple-clang": - default: "mac_apple_clang_${compiler.version}" - armv8: - "apple-clang": - default: "mac_apple_clang_${compiler.version}" - Linux: - x86_64: - "gcc": - default: "linux_gcc_${compiler.version}" - "11": "linux_gcc_${compiler.version}_ubuntu16.04" - "clang": - default: "linux_clang_${compiler.version}_ubuntu16.04" - "11": "linux_clang_${compiler.version}" - -pod_size: - # Map with references that need special memory resources to compile. - # - Can be only by name or by name/version. - # - name/version notation takes preference over the name only one - # - Both notations can be combined for the same reference name - large: - - "duckdb" - - "ceres-solver" - - "simd" - xlarge: - - "llvm" - - "opengv" - - "pcl" diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml deleted file mode 100644 index fd1ae8b31ead6..0000000000000 --- a/.c3i/config_v2.yml +++ /dev/null @@ -1,165 +0,0 @@ ---- -# Configuration for `https://github.com/conan-io/conan-center-index` repository (using Conan v2) -id: 'conan-io/conan-center-index' - -conan: - version: 2.7.1 - backup_sources: - upload_url: "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/" - download_url: "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/" - - globalconf: - - 'core.sources:download_cache={{ CONFIG_HOME }}/backup_sources_cache' - - 'core.sources:download_urls=["{{ ARTI_DOWNLOAD_URL }}", "origin"]' - - 'core.sources:upload_url={{ ARTI_UPLOAD_URL }}' - -artifactory: - url: "https://c3i.jfrog.io/c3i" - main_repo: "conan-center" - pull-request_repo_prefix: "c3i_PR-v2" - pull-request_permission: "c3i-pr" - logs_repo: "misc-v2" - -github: - reviewers: "reviewers.yml" - authorized_users: "authorized_users.yml" - waitlist_users: "waitlist_users.yml" - -# Things related to Jenkins jobs: -tasks: - automatic_merge: - reviews_required_total: 1000 # AutomaticMerge shouldn't run with this file, but just in case - reviews_required_team: 1000 # AutomaticMerge shouldn't run with this file, but just in case - reviews_required_bump: 1000 # AutomaticMerge shouldn't run with this file, but just in case - access_request: - request_issue_url: https://github.com/conan-io/conan-center-index/issues/4 - max_inactivity_days: 0 - build_single_reference: - package_id_cache_type: "none" - timeout_minutes: 600 - large_timeout_minutes: 900 - large_timeout_references: - - boost - - qt - - llvm - - gstreamer - parallel_strategy: unlimited - cci: - conan_v2_run_export: false - detailed_status_checks: true - write_comments: false - update_labels: false - build_bump_deps_pr: false - user_feedback: - title: "Conan v2 pipeline" - description: "> **Note**: Conan v2 builds are now mandatory. Please read our [discussion](https://github.com/conan-io/conan-center-index/discussions/19104) about it." - regression: "> **Regression**: Conan v2 builds are mandatory and they are required for the PR to be merged, because this recipe worked with Conan v2 previously." - text_on_failure: "The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping `@conan-io/barbarians` on the PR and we will help you." - collapse_on_success: false - collapse_on_failure: false - list_packages: - update_yaml_list_path: ".c3i/conan_v2_ready_references" - update_yaml_list_key: "required_for_references" - promote_packages: - additional_repo_target: "conan-center-v2-only" - scheduled_export_check: - report_issue_url: https://github.com/conan-io/conan-center-index/issues/15557 - report_issue_append: false - validate_infrastructure: - macos_executors: 2 - windows_executors: 4 - create_docs_pull-request: false - -configurations: - - id: linux-gcc - hrname: "Linux, GCC" - build_profile: - os: "Linux" - content: - - os: ["Linux"] - arch: ["x86_64"] - compiler: - - "gcc": - compiler.libcxx: ["libstdc++11"] - compiler.version: ["11"] - build_type: ["Release"] - - id: macos-clang - hrname: "macOS, Clang" - build_profile: - os: "Macos" - arch: "armv8" - content: - - os: [ "Macos" ] - arch: [ "x86_64" ] - compiler: - - "apple-clang": - compiler.version: [ "13" ] - compiler.libcxx: [ "libc++" ] - build_type: [ "Release"] - - id: macos-m1-clang - hrname: "macOS M1, Clang" - build_profile: - os: "Macos" - arch: "armv8" - content: - - os: [ "Macos" ] - arch: [ "armv8" ] - compiler: - - "apple-clang": - compiler.version: ["13" ] - compiler.libcxx: [ "libc++" ] - build_type: [ "Release"] - - id: windows-msvc - hrname: "Windows, MSVC" - build_profile: - os: "Windows" - content: - - os: [ "Windows" ] - arch: [ "x86_64" ] - compiler: - - "msvc": - compiler.version: [ "192", "193" ] - build_type: - - "Release": - compiler.runtime: ["dynamic"] - compiler.runtime_type: [ "Release" ] - -cppstd: - apple-clang: - "13": ["17", "gnu17", "20", "gnu20"] - gcc: - "11": ["17", "gnu17", "20", "gnu20", "23", "gnu23"] - msvc: - "192": ["14", "17", "20"] - "193": ["14", "17", "20"] - -jenkins: - url: "http://mb-jenkins-my-bloody-jenkins:8080" - -node_labels: - Windows: - x86_64: - "msvc": - default: "windows20230531" - Macos: - x86_64: - "apple-clang": - default: "mac_apple_clang_${compiler.version}" - armv8: - "apple-clang": - default: "mac_apple_clang_${compiler.version}" - Linux: - x86_64: - "gcc": - default: "linux_gcc_${compiler.version}_ubuntu16.04" - "clang": - default: "linux_clang_${compiler.version}_ubuntu16.04" - - -pod_size: - # Map with references that need special memory resources to compile. - # - Can be only by name or by name/version. - # - name/version notation takes preference over the name only one - # - Both notations can be combined for the same reference name - xlarge: - - "pcl" diff --git a/.c3i/v1.jenkins b/.c3i/v1.jenkins deleted file mode 100644 index 68f3504079ef2..0000000000000 --- a/.c3i/v1.jenkins +++ /dev/null @@ -1,6 +0,0 @@ -#!groovy - -@Library('c3i') _ - -String configurationFile = '.c3i/config_v1.yml' -cci.runBuild(this, configurationFile) diff --git a/.c3i/v2.jenkins b/.c3i/v2.jenkins deleted file mode 100644 index 865f167f1dcf0..0000000000000 --- a/.c3i/v2.jenkins +++ /dev/null @@ -1,6 +0,0 @@ -#!groovy - -@Library('c3i') _ - -String configurationFile = '.c3i/config_v2.yml' -cci.runBuild(this, configurationFile) diff --git a/.c3i/waitlist_users.yml b/.c3i/waitlist_users.yml deleted file mode 100644 index 4be8317a18a4b..0000000000000 --- a/.c3i/waitlist_users.yml +++ /dev/null @@ -1,12 +0,0 @@ -waitlist_users: -- Mike-Solar -- retroandchill -- refactorTractor -- jjbel -- synaptics-lspintzyk -- wer14 -- connor-i-clark -- NeXuS4Developer -- sabapathim -- pixelsoba -- liss-h diff --git a/.github/actions/pr_changed_files/action.yml b/.github/actions/pr_changed_files/action.yml deleted file mode 100644 index 70f97c9499430..0000000000000 --- a/.github/actions/pr_changed_files/action.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: 'Changed files in PR' -description: 'Get all changed files in a Pull Request' -author: 'ericLemanissier' -inputs: - files: - description: "Check for changes using only this list of files (Defaults to the entire repo)" - required: false - default: "" - -outputs: - all_changed_files: - description: List of all copied, modified, and added files. - value: ${{ steps.changed-files.outputs.all_changed_files }} - any_changed: - description: Return true only when any files provided using the files input have changed. - value: ${{ steps.changed-files.outputs.any_changed }} -runs: - using: "composite" - steps: - - uses: actions/setup-python@v4 - with: - python-version: ${{ env.PYVER }} - - name: Get changed files - id: changed-files - shell: python - env: - GITHUB_TOKEN: ${{ github.token }} - run: | - import json - import subprocess - import fnmatch - import os - from pathlib import Path - - patterns = [Path(p).parts for p in '''${{ inputs.files }}'''.splitlines()] - - res = subprocess.run(["gh", "api", "/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files", "--paginate"], capture_output=True, check=True) - files = [] - for f in json.loads(res.stdout): - if f["status"] == "removed": - continue - filename = Path(f["filename"]).parts - for pattern in patterns: - if len(pattern) != len(filename): - continue - if all(fnmatch.fnmatch(filename[i], pattern[i]) for i in range(len(pattern))): - files.append(f["filename"]) - break - with open(os.getenv("GITHUB_OUTPUT"), "a") as output_file: - output_file.write(f"any_changed={'true' if files else 'false'}\n") - output_file.write(f"all_changed_files={' '.join(files)}\n") diff --git a/.github/workflows/hooks-warnings.yml b/.github/workflows/hooks-warnings.yml deleted file mode 100644 index e19b8ea189eb5..0000000000000 --- a/.github/workflows/hooks-warnings.yml +++ /dev/null @@ -1,84 +0,0 @@ -name: hooks warnings - -on: - issue_comment: - types: [created] - -jobs: - comment: - if: ${{ github.event.issue.pull_request && github.event.sender.login == 'conan-center-bot' }} - runs-on: ubuntu-latest - steps: - - uses: actions/github-script@v6 - with: - script: | - warnings_map = new Map() - const link_regex = /\[All logs\]\((?https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*))\)/g; - for (const match of context.payload.comment.body.matchAll(link_regex)) - { - prefix = "https://c3i.jfrog.io/c3i/misc/summary.html?json=" - if(!match.groups.url.startsWith(prefix)) - continue; - url = match.groups.url.slice(prefix.length) - try { - result = await github.request({ - url: url, - }); - } catch(err) { - core.warning(`error ${err.status} for url ${err.request.url}`) - continue - } - for (const job of result.data) - { - if (job.build == null) - continue; - try { - log = await github.request({ - baseUrl: "https://c3i.jfrog.io/c3i/misc/", - url: job.build, - }); - } catch(err) { - core.warning(`error ${err.status} for url ${err.request.url}`) - continue - } - prefix = "[HOOK - conan-center.py] " - warnings = log.data.split("\n").filter(line => line.startsWith(prefix) && line.includes(" WARN: ")) - if(warnings.length == 0) - continue - if(!warnings_map.has(job.reference)) - warnings_map.set(job.reference, new Set()) - for(const warning of warnings) - { - msg = warning.slice(prefix.length) - warnings_map.get(job.reference).add(msg) - core.warning(msg) - } - } - } - if(warnings_map.size > 0) - { - comment = "
\n" - comment += "Hooks produced the following warnings" - const shaRegex = /(All green|Failure) in build \d+ \(`(?(\d|[a-z])+)`\):/g; - const shaMatch = shaRegex.exec(context.payload.comment.body) - if(shaMatch) - { - comment += " for commit " + shaMatch.groups.sha - } - comment += "\n\n" - for (const [ref, warnings] of warnings_map) - { - comment += "
\n" - comment += "" + ref + "\n\n```\n" - for(const warning of warnings) - comment += warning + "\n" - comment += "```\n
\n" - } - comment += "
\n" - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: comment - }) - } diff --git a/.github/workflows/linter-yaml.yml b/.github/workflows/linter-yaml.yml deleted file mode 100644 index 4e0fb288a25ec..0000000000000 --- a/.github/workflows/linter-yaml.yml +++ /dev/null @@ -1,118 +0,0 @@ -name: "[linter] YAML files" - -on: - pull_request: - -env: - PYTHONPATH: ${{github.workspace}} - PYVER: "3.8" - CONFIG_FILES_PATH: "recipes/*/config.yml" - CONANDATA_FILES_PATH: "recipes/*/*/conandata.yml" - -jobs: - test_linter: - # A job to run when the linter changes. We want to know in advance how many files will be broken - name: Test linter changes (YAML files) - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Get changed files - uses: ./.github/actions/pr_changed_files - id: changed_files - with: - files: | - linter/** - - - uses: actions/setup-python@v4 - if: steps.changed_files.outputs.any_changed == 'true' - with: - python-version: ${{ env.PYVER }} - - - name: Install dependencies - if: steps.changed_files.outputs.any_changed == 'true' - run: pip install yamllint strictyaml argparse - - - name: Run linter (config.yml) - if: steps.changed_files.outputs.any_changed == 'true' && always() - run: | - echo "::add-matcher::linter/yamllint_matcher.json" - yamllint --config-file linter/yamllint_rules.yml -f standard ${{ env.CONFIG_FILES_PATH }} - echo "::remove-matcher owner=yamllint_matcher::" - - - name: Run schema check (config.yml) - if: steps.changed_files.outputs.any_changed == 'true' && always() - run: | - for file in ${{ env.CONFIG_FILES_PATH }}; do - python3 linter/config_yaml_linter.py ${file} - done - - - name: Run linter (conandata.yml) - if: steps.changed_files.outputs.any_changed == 'true' && always() - run: | - echo "::add-matcher::linter/yamllint_matcher.json" - yamllint --config-file linter/yamllint_rules.yml -f standard ${{ env.CONANDATA_FILES_PATH }} - echo "::remove-matcher owner=yamllint_matcher::" - - - name: Run schema check (conandata.yml) - if: steps.changed_files.outputs.any_changed == 'true' && always() - run: | - for file in ${{ env.CONANDATA_FILES_PATH }}; do - python3 linter/conandata_yaml_linter.py ${file} - done - - lint_pr_files: - # Lint files modified in the pull_request - name: Lint changed files (YAML files) - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - with: - python-version: ${{ env.PYVER }} - - - name: Install dependencies - run: pip install yamllint strictyaml argparse - - ## Work on config.yml files - - name: Get changed files (config) - id: changed_files_config - if: always() - uses: ./.github/actions/pr_changed_files - with: - files: | - ${{ env.CONFIG_FILES_PATH }} - - - name: Run linter (config.yml) - if: steps.changed_files_config.outputs.any_changed == 'true' && always() - run: | - echo "::add-matcher::linter/yamllint_matcher.json" - for file in ${{ steps.changed_files_config.outputs.all_changed_files }}; do - yamllint --config-file linter/yamllint_rules.yml -f standard ${file} - done - echo "::remove-matcher owner=yamllint_matcher::" - - for file in ${{ steps.changed_files_config.outputs.all_changed_files }}; do - python3 linter/config_yaml_linter.py ${file} - done - - ## Work on conandata.yml files - - name: Get changed files (conandata) - id: changed_files_conandata - if: always() - uses: ./.github/actions/pr_changed_files - with: - files: | - ${{ env.CONANDATA_FILES_PATH }} - - - name: Run linter (conandata.yml) - if: steps.changed_files_conandata.outputs.any_changed == 'true' && always() - run: | - echo "::add-matcher::linter/yamllint_matcher.json" - for file in ${{ steps.changed_files_conandata.outputs.all_changed_files }}; do - yamllint --config-file linter/yamllint_rules.yml -f standard ${file} - done - echo "::remove-matcher owner=yamllint_matcher::" - - for file in ${{ steps.changed_files_conandata.outputs.all_changed_files }}; do - python3 linter/conandata_yaml_linter.py ${file} - done diff --git a/.github/workflows/markdown-links.yml b/.github/workflows/markdown-links.yml deleted file mode 100644 index 50c393f373fb1..0000000000000 --- a/.github/workflows/markdown-links.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: "[linter] Markdown links" - -on: - pull_request: - paths: - - '**.md' - -jobs: - markdown-link-check-pr: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: gaurav-nelson/github-action-markdown-link-check@v1 - with: - config-file: .github/workflows/mlc_config.json - use-quiet-mode: 'yes' - use-verbose-mode: 'yes' - check-modified-files-only: 'yes' diff --git a/.github/workflows/mlc_config.json b/.github/workflows/mlc_config.json deleted file mode 100644 index d16005bb86641..0000000000000 --- a/.github/workflows/mlc_config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "retryOn429": true, - "retryCount": 5, - "fallbackRetryDelay": "30s", - "httpHeaders": [ - { - "urls": ["https://github.com/", "https://guides.github.com/", "https://help.github.com/", "https://docs.github.com/"], - "headers": { - "Accept-Encoding": "zstd, br, gzip, deflate" - } - } - ] -} diff --git a/.github/workflows/on-push-do-doco.yml b/.github/workflows/on-push-do-doco.yml deleted file mode 100644 index 17b68406118dd..0000000000000 --- a/.github/workflows/on-push-do-doco.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: docs_markdown_toc -on: - workflow_dispatch: - inputs: {} - push: - branches: - - master - paths: - - 'docs/**' - -jobs: - docs_markdown_toc: - runs-on: windows-latest - steps: - - uses: actions/checkout@v3 - - name: Run MarkdownSnippets - run: | - dotnet tool install --global MarkdownSnippets.Tool - mdsnippets ${GITHUB_WORKSPACE} \ - --convention InPlaceOverwrite \ - --exclude-directories 'recipes' \ - --toc-level 5 - shell: bash - - name: Create Pull Request - uses: peter-evans/create-pull-request@v6 - with: - branch: bot/action-doc-toc - commit-message: "[docs] Regenerate tables of contents" - title: "[docs] Regenerate tables of contents" - body: "Automatic update of the documentation TOCs." diff --git a/.gitignore b/.gitignore index 4955b6cd850e6..366db2f4800f6 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,8 @@ conanbuildinfo.txt conaninfo.txt graph_info.json build/ +.conanrunner/ +.conanrc # CMake CMakeUserPresets.json diff --git a/README.md b/README.md index 61da8cef3d1e9..54cfaefe6c2cc 100644 --- a/README.md +++ b/README.md @@ -14,26 +14,37 @@ The current Conan Center Index CI status can be found on https://status.conan.io Any maintenance, outage or important event related to the CI will be informed there. -### Add ConanCenter remote +### Configure the Conan Center remote -ConanCenter remote is configured by default in any Conan client installation. If, for any reason, you need to add it manually, just execute: +> [!IMPORTANT] +> The Conan Center remote URL changed for **Conan 2** on November 2024 - the new URL is the default on new installations of Conan since version 2.9.2. +> +> New recipe updates are only published to this remote and are only guaranteed to be compatible with recent versions of Conan 2. +> +> All previously published recipes and packages known to be compatible with Conan 2 are also served by this remote. + +To update an existing Conan 2 installation: ``` -conan remote add conancenter https://center.conan.io +conan remote update conancenter --url https://center2.conan.io ``` +#### Conan Center legacy remote + +The legacy remote at `https://center.conan.io` stopped receiving updates on 4 November 2024 and is frozen and will no longer received updates. +It is kept in this state to avoid breaking any existing Conan 1.x installations. + + ### How to consume recipes Starting to use recipes from this repository is as easy as running one simple command after installing Conan: ``` -conan install name/version@ [-g ] +conan install --require=name/version [-g ] ``` -Of course, we really encourage you to use a `conanfile.txt` or `conanfile.py` -to list all the requirements or your project and install them all together -(Conan will build a single graph and ensure congruency). +For further details, please see the [Conan documentation](https://docs.conan.io/2/tutorial/consuming_packages.html). :warning: It is very important to notice that recipes will evolve over time and, while they are fixing some issues, they might introduce new features and @@ -50,10 +61,8 @@ This is a list of shortcuts to some interesting topics: * :rocket: If you want to learn how to **contribute new recipes**, please read [docs/adding_packages/](docs/adding_packages/README.md). * :speech_balloon: **FAQ**: most common questions are listed in [docs/faqs.md](docs/faqs.md). -* :warning: The conan-center **hook errors** reported by CCI Bot can be found in the [docs/error_knowledge_base.md](docs/error_knowledge_base.md). * :hammer_and_wrench: The internal changes related to infrastructure can be checked in [docs/changelog.md](docs/changelog.md). * :world_map: There are various community lead initiatives which are outlined in [docs/community_resources.md](docs/community_resources.md). -* :magic_wand: To start preparing your recipes for **Conan 2.0**, please check [docs/v2_migration.md](docs/v2_migration.md). ### Reporting Issues diff --git a/docs/README.md b/docs/README.md index 566801917e5f3..3305d7c06b030 100644 --- a/docs/README.md +++ b/docs/README.md @@ -14,11 +14,7 @@ When pull requests are merged, the CI will upload the generated packages to the + [Developing Recipes Locally](developing_recipes_locally.md) + [Adding Packages to ConanCenter](adding_packages/README.md) :point_left: Best place to learn how to contribute + [Bumping versions to existing packages](bump_version.md) - + [Errors from the conan-center hook (KB-Hxxx)](error_knowledge_base.md) + [Review Process](review_process.md) - + [Labels](labels.md) - + [Supported platforms and configurations](supported_platforms_and_configurations.md) + [Consuming Recipes](consuming_recipes.md) :information_source: Learn how to limit the impact of recipe changes + [Community Resources](community_resources.md) - + [Preparing recipes for Conan 2.0](v2_migration.md) + [FAQs](faqs.md) diff --git a/docs/adding_packages/README.md b/docs/adding_packages/README.md index 409f61c38fc0e..a4d6c0e3a5b4f 100644 --- a/docs/adding_packages/README.md +++ b/docs/adding_packages/README.md @@ -4,44 +4,22 @@ ConanCenterIndex aims to provide the best quality packages of any open source pr Any C/C++ project can be made available by contributing a "recipe". Getting started is easy. Try building an existing package with our [developing recipes](../developing_recipes_locally.md) -tutorial. To deepen you understanding, start with the [How to provide a good recipe](#how-to-provide-a-good-recipe) section. +tutorial. To deepen you understanding, start with the [How to write a good recipe](#how-to-provide-a-good-recipe) section. You can follow the three steps (:one: :two: :three:) described below! :tada: ## Contents - - * [:one: Request access](#one-request-access) - * [Inactivity and user removal](#inactivity-and-user-removal) + * [:one: First time contributors](#one-first-time-contributors) * [:two: Creating a package](#two-creating-a-package) - * [How to provide a good recipe](#how-to-provide-a-good-recipe) + * [How to write a good recipe](#how-to-provide-a-good-recipe) * [:three: Submitting a Package](#three-submitting-a-package) * [The Build Service](#the-build-service) -## :one: Request access - -The first step to add packages to ConanCenter is requesting access. To enroll in ConanCenterIndex repository, please write a comment -requesting access in this GitHub [issue #4](https://github.com/conan-io/conan-center-index/issues/4). Feel free to introduce yourself and -your motivation to join ConanCenter community. - -This process helps ConanCenter against spam and malicious code. The process is not fully automated on purpose and the requests are -generally approved on a weekly basis. Feel free to continue to step :two: while waiting for approval. - -> **Note** The requests are reviewed manually, checking the GitHub profile activity of the requester to avoid any misuse of the service. -> All interactions are subject to the expectations of the [code of conduct](../code_of_conduct.md). Any misuse or inappropriate behavior -> are subject to the same principals. +## :one: First time contributors When submitting a pull request for the first time, you will be prompted to sign the [CLA](https://cla-assistant.io/conan-io/conan-center-index) for your code contributions. You can view your signed CLA's by going to and signing in. -## Inactivity and user removal - -For security reasons related to the CI, when a user no longer contributes for a long period, it will be considered inactive and removed from the authorized user's list. -For now, it's configured for **4 months**, and it's computed based on the latest commit, not comments or opened issues. -After that time, the CI bot will ask to remove the user name from the authorized users' list through the access request PR, which occurs a few times every week. - -When you are interested in contributing again, simply ask again to be included in the [issue #4](https://github.com/conan-io/conan-center-index/issues/4). -The process will be precisely like for newcomers. - ## :two: Creating a package Once you've successfully built an existing recipe following [developing recipes](../developing_recipes_locally.md) tutorial. @@ -66,14 +44,7 @@ In ConanCenter, our belief is recipes should always match upstream, in other wor * Options should [follow these recommendations](conanfile_attributes.md#options) as well as match the default value used by the upstream project. * [Package information](build_and_package.md), libraries, components should match as well. This includes exposing supported build system names. -Where dependencies are involved, there's no shortcuts, inspect the upstream's build scripts for how they are usually consumed. Pick the Conan -generator that matches. The most common example is CMake's `find_package` that can be satisfied by Conan's -[`CMakeDeps`](https://docs.conan.io/1/reference/conanfile/tools/cmake/cmakedeps.html) generator. There are a few -things to be cautious about, many projects like to "vendor" other projects within them. This can be files checked into the repository or -downloaded during the build process. These should be removed, see the [Dependencies section](dependencies.md#handling-internal-dependencies) -for more information. - -### How to provide a good recipe +### How to write a good recipe Take a look at existing [recipes](https://github.com/conan-io/conan-center-index/tree/master/recipes) available in ConanCenterIndex which can be used as good examples, you can use them as the base for your recipe. The GitHub search is very good for matching code snippets, you can see if, @@ -95,7 +66,6 @@ The documents in this folder are written to explain each folder, file, method, a 4. [Dependencies](dependencies.md) 5. [Build and Package](build_and_package.md) 1. [Revisit Patches](sources_and_patches.md#policy-about-patching) -6. [Test Package](test_packages.md) The one place you are certain to find a lot of information is , this has the documentation for everything in Conan. There are helpful tutorials for cross-build, detailed explication for profiles and settings and much much more! @@ -110,8 +80,6 @@ The specific steps to submitting changes are: * Build and test the new recipe in several combinations. Check [developing recipes](../developing_recipes_locally.md) for tips. * [Commit and push to your fork repository](https://docs.github.com/en/get-started/using-git/pushing-commits-to-a-remote-repository) then [submit a pull request](https://github.com/conan-io/conan-center-index/compare). -* Our automated [build service](#the-build-service) will build 100+ different configurations, and provide messages that indicate if there - were any issues found during the pull request on GitHub. When the pull request is [reviewed and merged](../review_process.md), those packages are published to [JFrog's ConanCenter](https://conan.io/center/) and are made available for everyone. @@ -120,14 +88,9 @@ and are made available for everyone. The **build service** associated to this repository will generate binary packages automatically for the most common platforms and compilers. See [the Supported Platforms and Configurations page](../supported_platforms_and_configurations.md) for a list of generated configurations. -For a C++ library, the system is currently generating more than 100 binary packages. +For a C++ library, the system is currently generating more than 30 binary packages. > **Note**: This not a testing service, it is a binary building service for **released** packages. Unit tests shouldn't be built nor run in recipes by default, see the [FAQs](../faqs.md#why-conancenter-does-not-build-and-execute-tests-in-recipes) for more. Before submitting a pull request, please ensure that it works locally for some configurations. -* The CI bot will start a new build only [after the author is approved](#one-request-access). Your PR may be reviewed in the mean time, but is not guaranteed. -* The CI system will also report errors and build logs by creating a comment in the pull-request, the message will include links to the logs for inspecting. -* The Actions are used to lint and ensure the latest conventions are being used. You'll see comments from bots letting you know. - -Packages generated and uploaded by this build service do not include any _user_ or _channel_ (we generally recommend using `@user/channel` for private package -repositories as an easy way to distinguish them from public ones). Once the packages are uploaded, you will be able to install them using the reference as -`name/version` so example `conan install fmt/9.1.0@` for 1.x client or `conan install --requires=fmt/9.1.0` for 2.x clients. +- The CI system will report the build logs in the Checks tab, in the pull-request. +- Linter and Hooks are automatically displayed in the Checks tab as well. diff --git a/docs/adding_packages/build_and_package.md b/docs/adding_packages/build_and_package.md index a64769f6e6b52..0235be181c3e4 100644 --- a/docs/adding_packages/build_and_package.md +++ b/docs/adding_packages/build_and_package.md @@ -17,61 +17,15 @@ Both methods often use build helpers to build binaries and install them into the ## Build Method -* `build()` method should focus on build only, not installation. During the build, nothing should be written in `package` folder. Installation step should only occur in `package()` method. - -* The build itself should only rely on local files. Nothing should be downloaded from the internet during this step. If external files are required, they should come from `requirements` or `build_requirements` in addition to source files downloaded in `source()` or coming from the recipe itself through `export()` or `export_sources()`. - -* Except for CMake, a working build toolchain (compiler, linker, archiver, etc.), and a "native generator" (`make` on *nix platforms, `mingw32-make` for MinGW, `MSBuild`/`NMake` for Visual Studio), the recipe should not assume that any other build tool is installed on the user-build machine (like Meson, autotools, or pkg-config). On Windows, the recipe should not assume that a shell is available (like MSYS2). Therefore, if the build method requires additional tools, they should be added to `build_requirements()`. - Tools explicitly marked as available by users through conf like `tools.gnu:make_program`, `tools.gnu:pkg_config`, `tools.microsoft.bash:path`, `tools.microsoft.bash:subsystem` should be taken into account to conditionally inject a build requirement (these conf should have precedence over build requirement equivalent hardcoded in the recipe). - -* It is forbidden to run other conan client commands during build. In other words, if upstream build files call conan under the hood (through `cmake-conan` for example or any other logic), this logic must be removed. - -* Settings from profile should be honored (`build_type`, `compiler.libcxx`, `compiler.cppstd`, `compiler.runtime` etc). - -* Compiler paths from host profile should be honored and properly propagated to underlying build system during the build: - - | compiler type | conf / env var | - |---------------|----------------| - | C compiler | `c` key of `tools.build:compiler_executables`, otherwise `CC` environment variable | - | C++ compiler | `cpp` key of `tools.build:compiler_executables`, otherwise `CXX` environment variable | - | ASM compiler | `asm` key of `tools.build:compiler_executables`, otherwise `CCAS` environment variable | - | CUDA compiler | `cuda` key of `tools.build:compiler_executables` | - | Fortran compiler | `fortran` key of `tools.build:compiler_executables`, otherwise `FC` environment variable | - | Objective-C compiler | `objc` key of `tools.build:compiler_executables` | - | Objective-C++ compiler | `objcpp` key of `tools.build:compiler_executables` | - | Resource files compiler | `rc` key of `tools.build:compiler_executables`, otherwise `RC` environment variable | - | Archiver | `AR` environment variable | - | Linker | `LD` environment variable | - - They should be curated on the fly if underlying build system expects a specific format (no spaces in path, forward slash instead of back slash, etc). - -* These compiler and linker conf from host profile should be honored and propagated to underlying build system during the build: - * `tools.build:cflags` - * `tools.build:cxxflags` - * `tools.build:defines` - * `tools.build:sharedlinklags` - * `tools.build:exelinkflags` - * `tools.apple:enable_bitcode` (only if host OS is `iOS`/`watchOS`/`tvOS`) - -* Multithread build (if supported by underlying build system): - * if some steps are sensitive to race conditions, monothread should be enforced. - * otherwise multithreaded build should be enabled with a number of cores controlled by `tools.build:jobs` conf from host profile if it is set, otherwise to all cores of build machine. +For the `build()` method, the general scope used to build artifacts. Please, read +the official reference to the [build()](https://docs.conan.io/2/reference/conanfile/methods/build.html) method and the +[Build packages: the build() method](https://docs.conan.io/2/tutorial/creating_packages/build_packages.html). ## Package Method -* CMake config files must be removed. They will be generated for consumers by `CMakeDeps` generator (or legacy `cmake_find_package`/`cmake_find_package_multi` generators). - -* pkg-config files must be removed. They will be generated for consumers by `PkgConfigDeps` generator (or legacy `pkg_config` generator). - -* On *nix systems, executables and shared libraries should have empty `RPATH`/`RUNPATH`/`LC_RPATH`. Though, a relative path pointing inside package itself is allowed. - -* On Apple OS family: - * shared libs: name field of `LC_ID_DYLIB` load command must be `@rpath/`. - * shared libs & executables: name field of each `LC_LOAD_DYLIB` load command should be `@rpath/` (except those refering to system libs or frameworks). - -* Installed files must not contain absolute paths specific to build machine. Relative paths to other packages is also forbidden since relative paths of dependencies during build may not be the same for consumers. Hardcoded relative paths pointing to a location in the package itself are allowed. - -* Static and shared flavors of the same library must not be packaged together. +The `package()` method is used to copy the artifacts to the `package_folder`. Please, read the official reference to the +[package()](https://docs.conan.io/2/reference/conanfile/methods/package.html) method and the +[Package files: the package() method](https://docs.conan.io/2/tutorial/creating_packages/package_method.html). ## Build System Examples @@ -82,31 +36,28 @@ General patterns about how they can be used for OSS in ConanCenterIndex can be f ### Header Only If you are looking for header-only projects, you can take a look on [header-only template](../package_templates/header_only). -Also, Conan Docs have a section about [how to package header-only libraries](https://docs.conan.io/1/howtos/header_only.html). +Also, Conan Docs have a section about [how to package header-only libraries](https://docs.conan.io/2/tutorial/creating_packages/other_types_of_packages/header_only_packages.html). ### CMake For C/C++ projects which use CMake for building, you can take a look on [cmake package template](../package_templates/cmake_package). -Another common use case for CMake based projects, both header only and compiled, is _modeling components_ to match the `find_package` and export the correct targets from Conan's generators. A basic examples of this is [cpu_features](https://github.com/conan-io/conan-center-index/blob/master/recipes/cpu_features/all/conanfile.py), a moderate/intermediate example is [cpprestsdk](https://github.com/conan-io/conan-center-index/blob/master/recipes/cpprestsdk/all/conanfile.py), and a very complex example is [OpenCV](https://github.com/conan-io/conan-center-index/blob/master/recipes/opencv/4.x/conanfile.py). - ### Autotools There is an [autotools package template](../package_templates/autotools_package/) amiable to start from. -However, if you need to use autotools for building, you can take a look on [libalsa](https://github.com/conan-io/conan-center-index/blob/master/recipes/libalsa/all/conanfile.py), [kmod](https://github.com/conan-io/conan-center-index/blob/master/recipes/kmod/all/conanfile.py), [libcap](https://github.com/conan-io/conan-center-index/blob/master/recipes/libcap/all/conanfile.py). - -Many projects offer [**pkg-config**'s](https://www.freedesktop.org/wiki/Software/pkg-config/) `*.pc` files which need to be modeled using components. A prime example of this is [Wayland](https://github.com/conan-io/conan-center-index/blob/master/recipes/wayland/all/conanfile.py). - ### No Upstream Build Scripts -For cases where a project only offers source files, but not a build script, you can add CMake support, but first, contact the upstream and open a PR offering building support. If it's rejected because the author doesn't want any kind of build script, or the project is abandoned, CCI can accept your build script. Take a look at [Bzip2](https://github.com/conan-io/conan-center-index/blob/master/recipes/bzip2/all/CMakeLists.txt) and [DirectShowBaseClasses](https://github.com/conan-io/conan-center-index/blob/master/recipes/directshowbaseclasses/all/CMakeLists.txt) as examples. +For cases where a project only offers source files but does not provide a build script, you can add CMake support. +However, it is essential to first contact the upstream maintainers and open a pull request (PR) offering building support. +If your PR is rejected because the author does not want any kind of build script, or if the project is abandoned, Conan Center Index (CCI) will consider accepting your build script based on the effort required to maintain it, as we aim to avoid adding scripts that may require significant ongoing maintenance. +Take a look at [Bzip2](https://github.com/conan-io/conan-center-index/blob/master/recipes/bzip2/all/CMakeLists.txt) as example. ### System Packages > **Note**: For exceptional cases where only system packages can be used and a regular Conan package may result in an incompatible and fragile package, a separated system package may be created. See the [FAQs](../faqs.md#can-i-install-packages-from-the-system-package-manager) for more. -The [SystemPackageTool](https://docs.conan.io/1/reference/conanfile/methods.html#systempackagetool) can easily manage a system package manager (e.g. apt, +The [package_manager](https://docs.conan.io/2/reference/tools/system/package_manager.html#conan-tools-system-package-manager) can easily manage a system package manager (e.g. apt, pacman, brew, choco) and install packages which are missing on Conan Center but available for most distributions. It is key to correctly fill in the `cpp_info` for the consumers of a system package to have access to whatever was installed. -As example there is [xorg](https://github.com/conan-io/conan-center-index/blob/master/recipes/xorg/all/conanfile.py). Also, it will require an exception rule for [conan-center hook](https://github.com/conan-io/hooks#conan-center), a [pull request](https://github.com/conan-io/hooks/pulls) should be open to allow it over the KB-H032. +As example there is [xorg](https://github.com/conan-io/conan-center-index/blob/master/recipes/xorg/all/conanfile.py). \ No newline at end of file diff --git a/docs/adding_packages/conandata_yml_format.md b/docs/adding_packages/conandata_yml_format.md index 065e1f2da34d4..943af159a6485 100644 --- a/docs/adding_packages/conandata_yml_format.md +++ b/docs/adding_packages/conandata_yml_format.md @@ -1,6 +1,6 @@ # conandata.yml -[conandata.yml](https://docs.conan.io/1/reference/config_files/conandata.yml.html) is a [YAML](https://yaml.org/) +[conandata.yml](https://docs.conan.io/2/tutorial/creating_packages/handle_sources_in_packages.html#using-the-conandata-yml-file) is a [YAML](https://yaml.org/) file to provide declarative data for the recipe (which is imperative). This is a built-in Conan feature (available since 1.22.0) without a fixed structure, but ConanCenter has a specific format to ensure quality of recipes. @@ -30,8 +30,7 @@ next sections with more detail: * [portability](#portability) * [conan](#conan) * [bugfix](#bugfix) - * [patch_source](#patch_source) - * [base_path](#base_path) + * [patch_source](#patch_source) ## sources @@ -114,7 +113,7 @@ sources: sha256: "f5d48c4b0d558c5d71e8bf6fcdf135b0943210c1ff91f8191dfc447419a6b12e" ``` -This approach requires a special code within [build](https://docs.conan.io/1/reference/conanfile/methods.html#build) method to handle. +This approach requires a special code within [build](https://docs.conan.io/2/reference/conanfile/methods/build.html) method to handle. ### Sources fields @@ -173,7 +172,7 @@ An example of a full patch description could be: `port to Android: update config #### patch_type -_Required_ +_Recommended_ The `patch_type` field specifies the type of the patch. In ConanCenterIndex we currently accept only several kind of patches: @@ -220,7 +219,6 @@ Usually, the following kind of problems are good candidates for backports: * Data corruption. * Use of outdated or deprecated API or library. -As sources with backports don't act exactly the same as the version officially released, it may be a source of confusion for the consumers who are relying on the buggy behavior (even if it's completely wrong). Therefore, it's required to introduce a new `cci.` version for such backports, so consumers may choose to use either official version, or modified version with backport(s) included. #### patch_source @@ -236,9 +234,3 @@ _Recommended_ For the `patch_type: portability` there might be no patch source matching the definition above. Although we encourage contributors to submit all such portability fixes upstream first, it's not always possible (e.g. for projects no longer maintained). In that case, a link to the Conan issue is a valid patch source (if there is no issue, you may [create](https://github.com/conan-io/conan-center-index/issues/new/choose) one). For the `patch_type: conan`, it doesn't make sense to submit patch upstream, so there will be no patch source. - -#### base_path - -_Optional_ - -Specifies a sub-directory in project's sources to apply patch. This directory is relative to the [source_folder](https://docs.conan.io/1/reference/conanfile/attributes.html?highlight=source_folder#source-folder). Usually, it would be a `source_subfolder`, but could be a lower-level sub-directory (e.g. if it's a patch for a submodule). diff --git a/docs/adding_packages/conanfile_attributes.md b/docs/adding_packages/conanfile_attributes.md index fb7a767a13b95..f4b962c9c85e1 100644 --- a/docs/adding_packages/conanfile_attributes.md +++ b/docs/adding_packages/conanfile_attributes.md @@ -20,11 +20,11 @@ or are known by ConanCenter's build service and have special meaning. ## Attributes -These are a [key feature](https://docs.conan.io/1/reference/conanfile/attributes.html) which allow the Conan client to understand, +These are a [key feature](https://docs.conan.io/2/reference/conanfile/attributes.html) which allows the Conan client to understand, identify, and expose recipes and which project they expose. In ConanCenter, there are a few conventions that need to be respected to ensure recipes can be discovered there `conan search` command -of through the web UI. Many of which are enforces with the [hooks](../error_knowledge_base.md). +of through the web UI. ### Name @@ -38,50 +38,52 @@ Please see the FAQs for: ### Version -ConanCenter is geared towards quickly added new release, the build service always pass the version it is currently building to the recipe. The `version` attribute MUST NOT be added to any recipe - with exception to "system packages". #### ConanCenter specific releases format -The notation shown below is used for publishing packages which do not match the original library's official releases. This format which includes the "datestamp" corresponding to the date of a commit: `cci.`. +The notation shown below is used for publishing packages which do not match the original library's official releases. -In order to create reproducible builds, we also "commit-lock" to the latest commit on that day. Otherwise, users would get inconsistent results over time when rebuilding the package. An example of this is the [RapidJSON](https://github.com/Tencent/rapidjson) library, where its package reference is `rapidjson/cci.20200410` and its sources are locked the latest commit on that date in [config.yml](https://github.com/conan-io/conan-center-index/blob/master/recipes/rapidjson/config.yml#L4). The prefix `cci.` is mandatory to distinguish as a virtual version provided by CCI. If you are interested to know about the origin, please, read [here](https://github.com/conan-io/conan-center-index/pull/1464). +There are two cases to consider: + +* The library has not had any previous releases/tags. In this case, the version should be of the form + `0.0.0.cci.`. For example, `0.0.0.cci.20240402`. When/if a version of the library is ever released. + this will allow version ranges to properly identify the release as a newer version. +* The library has had previous releases/tags. In this case, the version should be of the form + `...cci.`. For example, `1.2.0.cci.20240402`. + This will allow version ranges to properly identify the release as a newer version. + +In order to create reproducible builds, we also "commit-lock" to the latest commit on that day, so the sources should point +to the commit hash of that day. Otherwise, users would get inconsistent results over time when rebuilding the package. ### License Attribute The license attribute is a mandatory field which provides the legal information that summarizes the contents saved in the package. These follow the -[SPDX license](https://spdx.org/licenses/) as a standard. This is for consummers, in particular in the enterprise sector, that do rely on SDPX compliant identifiers so that they can flag this as a custom license text. +[SPDX license](https://spdx.org/licenses/) as a standard. This is for consumers, in particular in the enterprise sector, that do rely on SDPX compliant identifiers so that they can flag this as a custom license text. * If the library has a license that has a SPDX identifier, use the [short Identifiers](https://spdx.dev/ids/). * If the library has a license text that does not match a SPDX identifier, including custom wording disclaiming copyright or dedicating the words to the ["public domain"](https://fairuse.stanford.edu/overview/public-domain/welcome/), use the [SPDX License Expressions](https://spdx.github.io/spdx-spec/v2-draft/SPDX-license-expressions/), this can follow: * `LicenseRef-` as a prefix, followed by the name of the library. For example:`LicenseRef-libfoo-public-domain` + * If the license is extracted from a specific document, prepend `DocumentRef--` to the license name. For example: `DocumentRef-README.md-LicenseRef-libfoo-public-domain` * If the library makes no mention of a license and the terms of use - it **shall not be accepted in ConanCenter** , even if the code is publicly available in GitHub or any other platforms. In case the license changes in a new release, the recipe should update the license attribute accordingly: ```python class LibfooConan(ConanFile): - license = ("MIT", "BSD-3-Clause") # keep both old and new licenses, so conan inspect can find it + license = "MIT" def configure (self): - # change the license according to the version, so conan graph info can show the correct one - # INFO: Version < 2.0 the license was MIT, but changed to BSD-3-Clause now. - self.license = "BSD-3-Clause" if Version(self.version) >= "2.0.0" else "MIT" + if Version(self.version) >= "2.0.0": + self.license = "BSD-3-Clause" ``` ## Order of methods and attributes Prefer the following order of documented methods in python code (`conanfile.py`, `test_package/conanfile.py`): -For `conan create` the order is listed [here](https://docs.conan.io/1/reference/commands/creator/create.html#methods-execution-order) -test packages recipes should append the following methods: - -* deploy -* test - -the order above resembles the execution order of methods on CI. therefore, for instance, `build` is always executed before `package` method, so `build` should appear before the -`package` in `conanfile.py`. +For `conan create` the order is listed [here](https://docs.conan.io/2/reference/commands/create.html#methods-execution-order). ## Settings @@ -140,61 +142,40 @@ Having the same naming conventions for the options helps consumers. It allows us ### Predefined Options and Known Defaults -ConanCenter supports many combinations, these are outline in the [supported configurations](../supported_platforms_and_configurations.md) document for each platform. -By default recipes should use `shared=False` with `fPIC=True`. If support, `header_only=False` is the default. +By default recipes should use `*/*:shared=False` with `*/*:fPIC=True`. If supported, `&:header_only=False` is the default. Usage of each option should follow the rules: * `shared` (with values `True` or `False`). The CI inspects the recipe looking for this option. The **default should be `shared=False`** and will generate all the configurations with values `shared=True` and `shared=False`. - > **Note**: The CI applies `shared=True` only to the package being built, while every other requirement will `shared=False`. To consume everything as a shared library you will set `--build=always` and/or `-o *:shared=True`) - > It's important to keep this in mind when trying to consume shared packages from ConanCenter - > as their requirements were linked inside the shared library. See [FAQs](../faqs.md#how-to-consume-a-graph-of-shared-libraries) for more information. - * `fPIC` (with values `True` or `False`). The **default should be `fPIC=True`** and will generate all the configurations with values `fPIC=True` and `fPIC=False`. - This option does not make sense on all the support configurations so it should be removed. + This option does not make sense on all the support configurations, so using `implements` is recommended: ```python - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") + implements = ["auto_shared_fpic"] ``` * `header_only` (with values `True` or `False`). The **default should be `header_only=False`**. If the CI detects this option, it will generate all the configurations for the value `header_only=False` and add one more configuration with `header_only=True`. **Only one package** will be generated for `header_only=True`, so it is crucial that the package is actually a _header only_ library, with header files only (no libraries or executables inside). - Recipes with such option should include the following in their `package_id` method + Recipes with such options should include the following in their `implements` attribute: ```python - def package_id(self): - if self.options.header_only: - self.info.clear() + implements = ["auto_header_only"] ``` - ensuring that, when the option is active, the recipe ignores all the settings and only one package ID is generated. - ### Options to Avoid * `build_testing` should not be added, nor any other related unit test option. Options affect the package ID, therefore, testing should not be part of that. - Instead, use Conan config [skip_test](https://docs.conan.io/1/reference/config_files/global_conf.html#tools-configurations) feature: - - ```python - def generate(self): - tc = CMakeToolChain(self) - tc.variables['BUILD_TESTING'] = not self.conf.get("tools.build:skip_test", default=true, check_type=bool) - ``` + Instead, use Conan config [skip_test](https://docs.conan.io/2/reference/config_files/global_conf.html#user-tools-configurations) feature. - The `skip_test` configuration is supported by [CMake](https://docs.conan.io/1/reference/build_helpers/cmake.html#test) and [Meson](https://docs.conan.io/1/reference/build_helpers/meson.html#test). + The `skip_test` configuration is supported by [CMake](https://docs.conan.io/2/reference/tools/cmake/cmake.html) and [Meson](https://docs.conan.io/2/reference/tools/meson/meson.html). ### Removing from `package_id` - By default, options are included in the calculation for the `package_id` ([docs](https://docs.conan.io/1/reference/conanfile/methods.html#package-id)). + By default, options are included in the calculation for the `package_id` ([docs](https://docs.conan.io/2/reference/binary_model/package_id.html)). Options which do not impact the generated packages should be deleted, for instance adding a `#define` for a package. ```python diff --git a/docs/adding_packages/dependencies.md b/docs/adding_packages/dependencies.md index 3a93fcb8bad12..998e6a22f1648 100644 --- a/docs/adding_packages/dependencies.md +++ b/docs/adding_packages/dependencies.md @@ -5,90 +5,24 @@ from handling "vendored" dependencies to what versions should be used. ## Contents - - * [List Dependencies](#list-dependencies) - * [Optional Requirements](#optional-requirements) - * [Build Requirements](#build-requirements) - * [Accessing Dependencies](#accessing-dependencies) - * [Handling Requirement's Options](#handling-requirements-options) - * [Verifying Dependency's Version](#verifying-dependencys-version) - * [Passing Requirement's info to `build()`](#passing-requirements-info-to-build) - * [Overriding the provided properties from the consumer](#overriding-the-provided-properties-from-the-consumer) + * [Handling Requirement's Options](#handling-requirements-options) * [Adherence to Build Service](#adherence-to-build-service) * [Version Ranges](#version-ranges) - * [Adding Version Ranges](#adding-version-ranges) + * [Adding Version Ranges](#adding-version-ranges) * [Handling "internal" dependencies](#handling-internal-dependencies) -## List Dependencies - -Since all ConanCenterIndex recipes are to build and/or package projects they are exclusively done in [`conanfile.py`](https://docs.conan.io/1/reference/conanfile.html). This offers a few -ways to add requirements. The most common way is [requirements](https://docs.conan.io/1/reference/conanfile/methods.html#requirements): - -```py - def requirements(self): - self.requires("fmt/9.1.0") -``` - -> **Note**: With Conan 2.0, you'll also need to pay attention to new properties like the `transitive_header` attributed which is -> needed when a project include a dependencies header files in its public headers. - -When a project supports a range of version of a dependency, it's generally advised to pick the **most recent available in ConanCenter**. -This helps ensure there are fewer conflicts with other, up to-date, recipes that share the same requirement. - -### Optional Requirements - -Many projects support enabling certain features by adding dependencies. In ConanCenterIndex this is done by adding an option, see -[naming recommendation](conanfile_attributes.md#recommended-names), which should be set to match the upstream project's by default. - -```py -class ExampleConan(ConanFile): - options = { - "with_zlib": [True, False], # Possible values - } - default_options = { - "with_zlib": True, # Should match upstream's CMakeLists.txt `option(...)` - } - - def requirements(self): - if self.options.with_zlib: - self.requires("zlib/1.2.13") -``` -If a dependency was added (or removed) with a release, then the `if` condition could check [`self.version`](https://docs.conan.io/1/reference/conanfile/attributes.html#version). Another common case is -`self.settings.os` dependant requirements which need to be added for certain plaforms. -### Build Requirements - -In ConanCenter we only assume -[CMake is available](../faqs.md#why-recipes-that-use-build-tools-like-cmake-that-have-packages-in-conan-center-do-not-use-it-as-a-build-require-by-default). -If a project requires any other specific tool, those can be added as well. We like to do this with [build_requirements](https://docs.conan.io/1/reference/conanfile/methods.html#build-requirements): - -```py - def build_requirements(self): - self.tool_requires("ninja/1.1.0") -``` - -## Accessing Dependencies - -It's fairly common to need to pass information from a dependency to the project. This is the job of the [`generate()`](https://docs.conan.io/1/reference/conanfile/methods.html#generate) method. This -is generally covered by the built-in generators like [`CMakeDeps`](https://docs.conan.io/1/reference/conanfile/tools/cmake/cmakedeps.html) -However the [`self.dependencies`](https://docs.conan.io/1/reference/conanfile/dependencies.html?highlight=generate) are available. - -Alternatively, a project may depend on a specific versions or configuration of a dependency. This use case is again covered by the -[`self.dependencies`](https://docs.conan.io/1/reference/conanfile/dependencies.html?highlight=validate) within the -[`validate()`](https://docs.conan.io/1/reference/conanfile/methods.html#validate) method. Additionally it's possible to suggest the option's values while the graph is built through [`configure()`](https://docs.conan.io/1/reference/conanfile/methods.html#configure-config-options) -this is not guaranteed and not a common practice. - -### Handling Requirement's Options +## Handling Requirement's Options Forcing options of dependencies inside a ConanCenter should be avoided, except if it is mandatory for the library to build. Our general belief is the users input should be the most important; it's unexpected for command line arguments to be over ruled by specifc recipes. -You need to use the [`validate()`](https://docs.conan.io/1/reference/conanfile/methods.html#validate) method in order to ensure they check after the Conan graph is completely built. +You need to use the [`validate()`](https://docs.conan.io/2/reference/conanfile/methods/validate.html) method in order to ensure they check after the Conan graph is completely built. Certain projects are dependent on the configuration (also known as options) of a dependency. This can be enforced in a recipe by -accessing the [`options`](https://docs.conan.io/1/reference/conanfile/dependencies.html?highlight=options) field of +accessing the [`options`](https://docs.conan.io/2/reference/conanfile/methods/generate.html#dependencies-interface) field of the dependency. ```py @@ -100,68 +34,6 @@ the dependency. raise ConanInvalidConfiguration(f"{self.ref} requires foobar/*:enable_feature=True.") ``` -### Verifying Dependency's Version - -Some project requirements need to respect a version constraint, this can be done as follows: - -```py -def validate(self): - if Version(self.dependencies["foobar"].ref.version) < "1.2": - raise ConanInvalidConfiguration(f"{self.ref} requires [foobar>=1.2] to build and work.") -``` - -### Passing Requirement's info to `build()` - -The [`self.dependencies`](https://docs.conan.io/1/reference/conanfile/dependencies.html) are limited to [`generate()`](https://docs.conan.io/1/reference/conanfile/methods.html#generate) and [`validate()`](https://docs.conan.io/1/reference/conanfile/methods.html#validate). This means configuring a projects build scripts -is a touch more complicated when working with unsupported build scripts. - -In general, with [CMake](https://cmake.org/) project, this can be very simple with the [`CMakeToolchain`](https://docs.conan.io/1/reference/conanfile/tools/cmake/cmaketoolchain.html), such as: - -```py - def generate(self): - tc = CMakeToolchain(self) - # deps_cpp_info, deps_env_info and deps_user_info are no longer used - if self.dependencies["dependency"].options.foobar: - tc.variables["DEPENDENCY_LIBPATH"] = self.dependencies["dependency"].cpp_info.libdirs -``` - -This pattern can be recreated for less common build system by, generating a script to call configure or capture the -required values in a YAML files for example. - -> **Note**: This needs to be saved to disk because the [`conan install`](https://docs.conan.io/1/reference/commands/consumer/install.html) and [`conan build`](https://docs.conan.io/1/reference/commands/development/build.html) commands can be separated when -> developing packages so for this reason the `class` may not persists the information. This is a very common workflow, -> even used in ConanCenter in other areas such as testing. - -```py -from conan import ConanFile -from conan.tools.files import save, load - - -class ExampleConan(ConanFile): - _optional_build_args = [] - - @property - def _optional_build_args_filename(self): - return os.path.join(self.recipe_folder, self.folders.generators, "build_args.yml") - - def generate(self): - # This is required as `self.dependencies` is not available in `build()` or `test()` - if self.dependencies["foobar"].options.with_compression: - self._optional_build_args.append("--enable-foobar-compression") - - save(self, self._optional_build_args_filename, file) - - def build(self): - opts_args = load(self, self._optional_build_args_filename) - # Some magic setup - self.run(f"./configure.sh {opts_args}") -``` - -### Overriding the provided properties from the consumer - -> **Note**: This was adding in [Conan 1.55](https://github.com/conan-io/conan/pull/12609) to the generators... we need to -> write docs for when that's available - ## Adherence to Build Service It's very rare we layout "rules", most often it's guidelines, however in order to ensure graph and the package generated are usable @@ -169,10 +41,10 @@ for consumer, we do impose some limits on Conan features to provide a smoother f > **Note**: These are very specific to the ConanCenter being the default remote and may not be relevant to your specifc use case. -* [Version ranges](https://docs.conan.io/1/versioning/version_ranges.html) are generally not allowed (see below for exemption). -* Specify explicit [RREV](https://docs.conan.io/1/versioning/revisions.html) (recipe revision) of dependencies is not allowed. +* [Version ranges](https://docs.conan.io/2/tutorial/versioning/version_ranges.html#range-expressions) are generally not allowed ([see below](https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/dependencies.md#version-ranges) for exemptions). +* Specify explicit [RREV](https://docs.conan.io/2/tutorial/versioning/revisions.html) (recipe revision) of dependencies is not allowed. * Only ConanCenter recipes are allowed in `requires`/`requirements()` and `build_requires`/`build_requirements()`. -* [`python_requires`](https://docs.conan.io/1/reference/conanfile/other.html#python-requires) are not allowed. +* [`python_requires`](https://docs.conan.io/2/reference/extensions/python_requires.html) are not allowed. ### Version Ranges @@ -187,6 +59,7 @@ Version ranges for the following dependencies will be accepted in pull requests: * OpenSSL: `[>=1.1 <4]` for libraries known to be compatible with OpenSSL 1.x and 3.x * CMake: `[>3.XX <4]`, where `3.XX` is the minimum version of CMake required by the relevant build scripts. Note that CCI recipes assume 3.15 is installed in the system, so add this version range only when a requirement for a newer version is needed. +* doxygen: `[>=1.8 <2]` * Libcurl: `[>=7.78 <9]` * Zlib: `[>=1.2.11 <2]` * Libpng: `[>=1.6 <2]` @@ -202,14 +75,9 @@ version range only when a requirement for a newer version is needed. * pkgconf: `[>=2.2 <3]` * xz_utils: `[>=5.4.5 <6]` -> **Warning**: With Conan 1.x, [version ranges](https://docs.conan.io/1/versioning/version_ranges.html) adhere to a much more strict sematic version spec, -> OpenSSL 1.1.x does not follow this so the client will not resolve to that range and will pick a 3.x version. In order to select a lower version you -> can user the defunct `--require-override openssl/1.1.1t@` from the command line, or override from the recipe with `self.requires(openssl/1.1.1t, override=True)` -> to ensure a lower version is picked. - Conan maintainers may introduce this for other dependencies over time. Outside of the cases outlined above, version ranges are not allowed in ConanCenter recipes. -#### Adding Version Ranges +### Adding Version Ranges You might also see version ranges being added in pull requests by Conan maintainers, that are not in the list above. These are being introduced on a case-by-case basis, and are being rolled out diff --git a/docs/adding_packages/folders_and_files.md b/docs/adding_packages/folders_and_files.md index b5a51c8d60309..4e9d94ec5889a 100644 --- a/docs/adding_packages/folders_and_files.md +++ b/docs/adding_packages/folders_and_files.md @@ -10,7 +10,6 @@ to work most efficiently. * [`config.yml`](#configyml) * [The _recipe folder_](#the-_recipe-folder_) * [`conandata.yml`](#conandatayml) - * [`conanfile.py`](#conanfilepy) * [`test_package`](#test_package) ## Recipe File Structure @@ -21,8 +20,6 @@ folders at a time. This is the canonical structure of one of these folders, where the same `conanfile.py` recipe is suitable to build all the versions of the library: -> **Note**: For updating the structure during the [v2 migration](../v2_migration.md) see the [test package](test_packages.md#cmake-targets) document. - ```txt . +-- recipes @@ -32,7 +29,7 @@ This is the canonical structure of one of these folders, where the same `conanfi | +-- conanfile.py | +-- conandata.yml | +-- patches/ -| +-- add-missing-string-header-2.1.0.patch +| +-- 2.1.0-0001-add-missing-string-header-.patch | +-- test_package/ | +-- conanfile.py | +-- CMakeLists.txt @@ -83,19 +80,7 @@ This contains every needed to build packages. #### `conandata.yml` This file lists **all the sources** that are needed to build the package. The most common examples are -source code, build scripts, license files. - -The file is organized into two sections, `"sources"` and `"patches"`, each one of them contains the files that are required -for each version of the library. Resources which need to be downloaded are listed under `"source"` should include a checksum -to validate that they do not change. This helps to ensure the build is reproducible at a later point in time. Often -modifications are required for a variety of reasons, which ones are associated to which version are listed under the `"patches"`. - -```yml -sources: - "9.0.0": - url: "https://github.com/fmtlib/fmt/archive/9.0.0.tar.gz" - sha256: "9a1e0e9e843a356d65c7604e2c8bf9402b50fe294c355de0095ebd42fb9bd2c5" -``` +source code, build scripts, license files. The Conandata is officially documented in [using the conandata.yml](https://docs.conan.io/2/tutorial/creating_packages/handle_sources_in_packages.html#using-the-conandata-yml-file). For more information about picking source tarballs, adding or removing versions, or what the rules are for patches, continue reading our [Sources and Patches](sources_and_patches.md) guide. @@ -106,87 +91,29 @@ For more information about picking source tarballs, adding or removing versions, A detailed breakdown of all the fields can be found in [conandata_yml_format.md](conandata_yml_format.md). We **strongly** recommend adding the [patch fields](conandata_yml_format.md#patches-fields) to help track where patches come from and what issue they solve. -Inside the `conanfile.py` recipe, this data is available in a `self.conan_data` attribute that can be used as follows: - -```py -def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) -``` - -See the [Export Patches](sources_and_patches.md#exporting-patches) and [Applying Patches](sources_and_patches.md#applying-patches) -for more use cases and examples. - -#### `conanfile.py` - -This file is the recipe, it contains the logic to build the libraries from source for all the configurations. -It's the single most important part of writing a package. Every `conanfile.py` should be accompanied by at least one -[folder to test the generated packages](#test_package). - -Each recipe should derive the `ConanFile` class and implement key attributes and methods. - -* Basic attributes and conversions can be found in [`ConanFile` attributes](conanfile_attributes.md) -* Some of the key methods are outlined in this document and will link to more details - -```python -from conan import ConanFile - -class FmtConan(ConanFile): - name = "fmt" - homepage = "https://github.com/fmtlib/fmt" - # ... -``` - -When a package needs other packages those can be include with the `requirements()` method. - -```python - def requirements(self): - self.requires("fmt/9.0.0") -``` - -For more information see the [Dependencies](dependencies.md) documentation. - -For compiled libraries, the `build()` method is used along side the [build helpers](https://docs.conan.io/1/reference/build_helpers.html). -This allows you to use the official build script from a project, see [build and package](build_and_package.md) instructions. - -```python - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() -``` - -Most of the projects with build scripts support installing the important files. Avoid installing documentation or examples. - -```python - def package(self): - cmake = CMake(self) - cmake.configure() - cmake.install() -``` - -For some projects, you will need to manually copy files. -Here's an example for a header only library: - -```python - def package(self): - copy(self, "*.h", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) -``` +Inside the `conanfile.py` recipe, this data is available in through the [self.conan_data](https://docs.conan.io/2/reference/conanfile/attributes.html#conan-data) attribute. #### `test_package` All the packages in this repository need to be tested before they join ConanCenter. A `test_package` folder with its corresponding `conanfile.py` and a minimal project to test the package is strictly required. You can read about it in the -[Conan documentation](https://docs.conan.io/1/creating_packages/getting_started.html) and learn about ConanCenterIndex -specific conventions in [test package](test_packages.md) section. +[Conan documentation](https://docs.conan.io/2/tutorial/creating_packages/test_conan_packages.html#testing-conan-packages). + +The goal for the test package is to make sure the: -The goal for the test package is to make sure the +* Header files are available +* Libraries are available to link against +* Components are correctly exposed -* header files are available -* libraries are available to link against -* components are correctly exposed +When providing a test package, please: -> **Note** It's required to verify that the old generators are not broken. You can do so by using the pattern, see -> [KB-H073](../error_knowledge_base.md#kb-h078) for details. +* Create a minimal usage for the target project here +* Avoid upstream full examples, or code bigger than 15 lines +* Avoid networking connections +* Avoid background apps or servers +* Avoid GUI apps +* Avoid extra files like images, sounds and other binaries +* The propose is testing the generated artifacts ONLY Remember that the `test_` recipes should **test the package configuration that has just been generated** for the _host_ context, otherwise it will fail in cross-building scenarios. diff --git a/docs/adding_packages/sources_and_patches.md b/docs/adding_packages/sources_and_patches.md index 56ff5130c26e4..a57c7355f6978 100644 --- a/docs/adding_packages/sources_and_patches.md +++ b/docs/adding_packages/sources_and_patches.md @@ -14,8 +14,6 @@ These are a very important aspects and it helps us to establish the quality of t * [Adding old versions](#adding-old-versions) * [Policy about patching](#policy-about-patching) * [Format and Conventions](#format-and-conventions) - * [Exporting Patches](#exporting-patches) - * [Applying Patches](#applying-patches) * [Policy on patches](#policy-on-patches) ## Picking the Sources @@ -32,9 +30,8 @@ Where ever possible, downloading source files and compiling is mandated. Downloa Downloaded source code must have a deterministic results where the exact same archive is download each time. See [Conandata's `"sha"` fields](conandata_yml_format.md#sha256) for how this is achieved in ConanCenterIndex. -The sources stored under `self.source_folder` should not be modified. This will enable local workflows to "keep sources" and avoid extra downloads. -Any patch should be applied to the copy of this source code when a build is executed (basically in `build()` method). See [Applying Patches](#applying-patches) -below for more information. +The sources stored under `self.source_folder` should not apply patches or modifications in the `source()` method conditional to options or settings. +Patches should be applied in the `source()` method - taking special care that the patches are platform agnostic. Patches in the `build()` method can be considered where this is not possible, provided that `no_copy_source` is **not** set to `True`. ### Sources not accessible @@ -52,7 +49,9 @@ as a system recipe (`/system`) and making those binaries availabl In this repository we are building a subset of all the versions for a given library. This set of version changes over time as new versions are released and old ones stop being used. -We always welcome latest releases as soon as they are available, and from time to time we remove old versions mainly due to technical reasons: +We welcome the latest release version for its new features and improvements. However, we recommend exercising caution with fresh releases, as upstream may soon release patches or hotfixes to address any unforeseen issues. We usually wait until releases are a few days old to merge them. + +From time to time we remove old versions mainly due to technical reasons: the more versions we have, the more resources that are needed in the CI and the more time it takes to build each pull-request (also, the more chances of failing because of unexpected errors). @@ -61,18 +60,20 @@ more chances of failing because of unexpected errors). The Conan Team may ask you to remove more if they are taking a lot of resources. When removing old versions, please follow these considerations: * keep one version for every major release -* for the latest major release, at least three versions should be available (latest three minor versions) +* for the latest major release, at least two versions should be available (latest two minor versions) Logic associated with removed revisions implies that entries in the `config.yml` and `conandata.yml` files should also be removed. If anyone needs to recover them in the future, Git contains the full history and changes can be recovered from it. +Removed versions should not affect other recipes available in the repository. If a recipe depends on a removed version, it should be updated to +depend on the latest available version. + Please, note that even if those versions are removed from this repository, **the packages will always be accessible in ConanCenter remote** associated to the recipe revision used to build them. ### Adding old versions -We love to hear why in the opening description of the pull requests you need this exact version. -We usually don't add old versions unless there is a specific request for it. Adding versions that are not used by author of the pull request reduces overall resources and time from [the build services](README.md#the-build-service). +We usually don't add old versions unless there is a specific and well-motivated request for it. Adding versions that are not actively used by the author of the pull request reduces overall resources and time from [the build services](README.md#the-build-service). Take into account that the version might be removed in future pull requests according to the [guidelines above](#removing-old-versions). @@ -86,8 +87,7 @@ reading the changelog of the library, the documentation, or any statement by the Patch files are preferred over programmatic `replace_in_file` statements. This makes it easier to review and prevent unwanted side effects when new versions are added. They will be listed in [`conandata.yml`](conandata_yml_format.md) -file and exported together with the recipe. Patches must always include [patch fields](conandata_yml_format.md#patches-fields) -which are enforced by the [linters](../../linter/conandata_yaml_linter.py). +file and exported together with the recipe. Patches should include the required [patch fields](conandata_yml_format.md#patches-fields). Patches must be located in the recipe folder in a `patches/` sub-directory. @@ -100,50 +100,14 @@ There are a few recommendations about naming patches: By clearly indicating what the patch does, when it's applied, and how it relates to existing patches, you can help make the [review process](../review_process.md) easier for readers and help speed up your pull requests. -### Exporting Patches - -It's ideal to minimize the number of files in a package to exactly what's required. When recipes support multiple -versions with differing patches, it's strongly encouraged to only export the patches used for that given recipe. - -Make sure the `export_sources` attribute is replaced by -[`conan.tools.files.export_conandata_patches`](https://docs.conan.io/1/reference/conanfile/tools/files/patches.html?highlight=export_conandata_patches) -helper. - -```py -def export_sources(self): - export_conandata_patches(self) -``` - -### Applying Patches - -Patches can be applied in a separate method, the pattern name is `_patch_sources`. When applying patch files, -using [`conan.tools.files.apply_conandata_patches`](https://docs.conan.io/1/reference/conanfile/tools/files/patches.html?highlight=apply_conandata_patches) -is the best option. - -```py -def build(self): - apply_conandata_patches(self) -``` - -For more complicated cases, -[`conan.tools.files.rm`](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-rm) -or [`conan.tools.files.replace_in_file`](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-replace-in-file) -are good choices. - -```py -def _patch_sources(self): - # remove bundled libfmt - rmdir(self, os.path.join(self.source_folder, "lib", "fmt")) - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "${CMAKE_SOURCE_DIR}", "${CMAKE_CURRENT_SOURCE_DIR}") -``` ### Policy on patches Conan Center is a package repository, and the aim of the service is to provide the recipes to build libraries from the sources as provided by the library authors, and to provide binaries for Conan Center’s supported platforms and configurations. -In general, patches to source code should be avoided and only done as a last resort. In situations where it is strictly necessary, the aim should be that the patches could be eventually merged upstream so that in the future they are no longer necessary. +In general, patches to source code should be avoided and only done as a last resort. In situations where it is strictly necessary, the aim should be that the patches could be eventually merged upstream so that in the future they are no longer necessary. -Pull Requests that introduce patches will be carefully reviewed by the Conan Team. We recognize that in some instances, patches are necessary in the build system/build scripts. +Pull Requests that introduce patches will be carefully reviewed by the Conan Team. We recognize that in some instances, patches are necessary in the build system/build scripts. Patches that affect C and C++ code are strongly discouraged and will only be accepted at the discretion of the Conan Team, after a strict validation process. Patches are more likely to be accepted if they are first reported and acknowledged by the library authors. For scenarios that require patching source code, we greatly encourage raising a new issue explaining the need and motivation, reproducible steps and complete logs, behind the patch. Please note that for issues that strictly affect C and C++ source code, it is very unlikely that a patch will be accepted if an issue is not first raised with the original library authors, or if the patches are not addressing a known security advisory. diff --git a/docs/adding_packages/test_packages.md b/docs/adding_packages/test_packages.md deleted file mode 100644 index 220ff43cb0e59..0000000000000 --- a/docs/adding_packages/test_packages.md +++ /dev/null @@ -1,107 +0,0 @@ -# Test Packages - -This is the main way that ConanCenter is able to validate the contents of a package are valid. -It is required to provide a [`test_package/`](https://docs.conan.io/1/reference/commands/creator/create.html?highlight=test_package) -sub-directory with every recipe. These are expected to work regardless of the options or settings used as this is what consumer will encounter when doing a `conan create` -themselves. It's possible to have ConanCenter run `conan test` on more then one `test folder` by using the `test_` prefix. - - -## Contents - - * [Files and Structure](#files-and-structure) - * [CMake targets](#cmake-targets) - * [Testing more generators with `test_`](#testing-more-generators-with-test_something) - * [Testing CMake variables from FindModules](#testing-cmake-variables-from-findmodules) - * [How it works](#how-it-works) - * [Minimalist Source Code](#minimalist-source-code) - -### Files and Structure - -See the [recipe files and structures](README.md#recipe-files-structure) for a visual. - -All ConanCenterIndex recipe should have a two [test_folders](https://docs.conan.io/1/reference/commands/creator/create.html?highlight=test_folder) -One for the current CMake generator in `test_package/`. - -Please refer to the [Package Templates](../package_templates/) for the current practices about which files and what their content should be. - -### CMake targets - -When using CMake to test a package, the information should be consumed using the -[`CMakeDeps` generator](https://docs.conan.io/1/reference/conanfile/tools/cmake/cmakedeps.html?highlight=cmakedeps). - -This typically will look like a `CMakeLists.txt` which contain lines similar to - -```cmake -find_package(fmt REQUIRED CONFIG) -# ... -target_link_libraries(test_ranges PRIVATE fmt::fmt) -``` - -Refer to the [package template](https://github.com/conan-io/conan-center-index/blob/master/docs/package_templates/cmake_package/all/test_package/CMakeLists.txt) for more examples. - -In ConanCenterIndex, we try to accurately represent the names of the targets and the information provided by CMake's modules and config files that some libraries -provide. If CMake or the library itself don't enforce any target name, the default ones provided by Conan should be recommended. The minimal project -in the `test_package` folder should serve as an example of the best way to consume the package, and targets are preferred over raw variables. - -This rule applies for the _global_ target and for components ones. The following snippet should serve as example: - -We encourage contributors to check that not only the _global_ target works properly, but also the ones for the components. It can be -done creating and linking different libraries and/or executables. - -### Testing more generators with `test_` - -The CI will explore all the folders and run the tests for the ones matching `test_*/conanfile.py` pattern. You can find the output of all -of them together in the testing logs. - -Sometimes it is useful to test the package using different build systems (CMake, Autotools,...). Instead of adding complex logic to one -`test_package/conanfile.py` file, it is better to add another `test_/conanfile.py` file with a minimal example for that build system. That -way the examples will be short and easy to understand and maintain. In some other situations it could be useful to test different Conan generators -(e.g. `CMakeDeps`) using different folders and `conanfile.py` files. - -When using more than one `test_` folder, create a different project for each of them to keep the content of the `conanfile.py` and the -project files as simple as possible, without the need of extra logic to handle different scenarios. - -``` -. -+-- recipes -| +-- library_name/ -| +-- config.yml -| +-- all/ -| +-- ... -| +-- test_package/ -| +-- ... -| +-- test_cmakedeps/ -| +-- conanfile.py -| +-- CMakeLists.txt -| +-- test_package.cpp -``` - -### Testing CMake variables from FindModules - -Recipes which provide [Find Modules](https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html#find-modules) are strongly encouraged to -module the file name, targets and or variables. - -**We will provide better docs in the near future**, for now here are a few references: - -- Convo: https://github.com/conan-io/conan-center-index/pull/13511 -- early example: https://github.com/conan-io/conan-center-index/tree/master/recipes/libxml2/all/test_cmake_module_package -- Best reference: https://github.com/conan-io/conan-center-index/blob/master/recipes/expat/all/test_package_module/CMakeLists.txt#L9 - -### How it works - -The [build service](README.md#the-build-service) will explore all the folders and run the tests for the ones matching `test_*/conanfile.py` pattern. -You can find the output of all of them together in the testing logs. Only the end of the logs are posted even if an earlier "test folder" may have failed. - -> **Note**: If, for any reason, it is useful to write a test that should only be checked using Conan v1, you can do so by using the pattern -> `test_v1_*/conanfile.py` for the folder. Please, have a look to [linter notes](../v2_linter.md) to know how to prevent the linter from -> checking these files. - -Remember that the `test_` recipes should **test the package configuration that has just been generated** for the _host_ context, otherwise -it will fail in cross-building scenarios; before running executables, recipes should check -[`conan.tools.build.can_run`](https://docs.conan.io/1/reference/conanfile/tools/build.html?highlight=can_run#conan-tools-build-can-run) - -### Minimalist Source Code - -The contents of `test_package.c` or `test_package.cpp` should be as minimal as possible, including a few headers at most with simple -instantiation of objects to ensure linkage and dependencies are correct. Any build system can be used to test the package, but -CMake or Meson are usually preferred. diff --git a/docs/bump_version.md b/docs/bump_version.md index 132d4ff1bf685..895576989afa9 100644 --- a/docs/bump_version.md +++ b/docs/bump_version.md @@ -44,5 +44,4 @@ In case a patch should be re-used, it should be present in `conandata.yml` to th ## Reviewing and merging -Bumping version PRs follow the same regular [review process](review_process.md), except for being merged automatically -as listed on [Labels](labels.md#bump-version) section. +Bumping version PRs follow the same regular [review process](review_process.md). \ No newline at end of file diff --git a/docs/changelog.md b/docs/changelog.md index ecdf3c49ada2f..6ee15d19c592c 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,10 @@ # Changelog +### 04-Nov-2024 - 09:15 CET + +- [feature] Conan 1.x end of support and Conan 2.x as default version in the CI +- [feature] New CI infrastructure for Conan 2.x only + ### 12-Sep-2024 - 09:23 CEST - [feature] Add support for Conan 2.7.1 in the CI diff --git a/docs/community_resources.md b/docs/community_resources.md index 4600ca89ac451..f2806f9377afb 100644 --- a/docs/community_resources.md +++ b/docs/community_resources.md @@ -6,8 +6,7 @@ This is a curated list of various bots and helpful tools that aim to making appr ## Contents * [Social Media and More](#social-media-and-more) - * [Bots](#bots) - * [Tools](#tools) + * [Bots](#bots) ## Social Media and More @@ -19,12 +18,6 @@ If you are looking to stay up to date with the last Conan news, follow us on Twi - [Updatable Recipes](https://github.com/qchateau/conan-center-bot): Automatically scans available recipes and checked for new upstream releases and tests one configuration - The results can be found here: https://qchateau.github.io/conan-center-bot/#/updatable -- [Pending Review](https://github.com/prince-chrismc/conan-center-index-pending-review) - - The results can be found here: https://prince-chrismc.github.io/conan-center-index-pending-review/ - [System Package Checks](https://github.com/bincrafters/system-packages-checks): Builds automatically all `system` versions of recipes merged on CCI and being pull requested on a selection of Linux distributions and FreeBSD - The results can be found here: https://bincrafters.github.io/system-packages-checks/ - -## Tools - -- [Bincrafters Conventions](https://github.com/bincrafters/bincrafters-conventions): Automatically updates Conan recipes to the latest conventions and rules diff --git a/docs/consuming_recipes.md b/docs/consuming_recipes.md index c7f4c917b6788..b898282302020 100644 --- a/docs/consuming_recipes.md +++ b/docs/consuming_recipes.md @@ -29,8 +29,8 @@ There can be several causes if a recipe (a new revision) might stopped to work i New recipe revisions can take into account changes that are introduced in new Conan client version, sometimes these changes modify some experimental behavior without modifying recipe syntax. -This use case is covered by the [`required_conan_version`](https://docs.conan.io/1/reference/conanfile/other.html?highlight=required_conan_version#requiring-a-conan-version-for-the-recipe) feature. It will -substitute the syntax error by one nicer error provided by Conan client. +This use case is covered by the [`required_conan_version`](https://docs.conan.io/2/reference/conanfile/attributes.html#required-conan-version) feature. +It will substitute the syntax error by one nicer error provided by Conan client. To be sure that people using these new experimental features are using the required Conan version and testing the actual behavior of those features (feedback about them is very important to Conan). @@ -43,23 +43,19 @@ Conan is very flexible; you can add your own remote or modify your client’s co Here are a few choices: -- [Running your own Conan Server](https://docs.conan.io/1/uploading_packages/running_your_server.html) - great for local ad-hoc setups -- [Cache recipes in your own ArtifactoryCE](https://docs.conan.io/1/uploading_packages/using_artifactory.html) - recommended for production environments +- [Cache recipes in your own ArtifactoryCE](https://docs.conan.io/2/devops/devops_local_recipes_index.html) - recommended for production environments Using your own ArtifactoryCE instance is easy. You can [deploy it on-premise](https://conan.io/downloads.html) or use a -[cloud provided solution](https://jfrog.com/community/start-free) for **free**. Your project should -[use only this remote](https://docs.conan.io/1/reference/commands/misc/remote.html?highlight=add%20new) and new recipe +[cloud provided solution](https://jfrog.com/start-free) for **trial**. +Your project should [use only this remote](https://docs.conan.io/2/reference/commands/remote.html#conan-remote-add) and new recipe revisions are only pushed to your Artifactory after they have been validated in your project. The minimum solution, if still choosing to rely on ConanCenter directly, involves small changes to your client configuration by pinning the revision of every reference you consume in your project using the following: -- [recipe revision (RREV)](https://docs.conan.io/1/versioning/revisions.html) can be added to each requirement. +- [recipe revision (RREV)](https://docs.conan.io/2/tutorial/versioning/revisions.html#using-revisions) can be added to each requirement. Instead of `fmt/9.1.0` you can add a pound (or hashtag) to the end followed by the revision `fmt/9.1.0#c93359fba9fd21359d8db6f875d8a233`. - This feature needs to be enabled in Conan 1.x, see the [Activation Instructions](https://docs.conan.io/1/versioning/revisions.html#how-to-activate-the-revisions) for details. -- [Lockfiles](https://docs.conan.io/1/versioning/lockfiles.html) can be created with the `conan lock create` and read with by - adding `--lockfile=conan.lock` to `conan install` or `conan create` commands. See the [lockfile introduction](https://docs.conan.io/1/versioning/lockfiles/introduction.html#) for more information. - -> **Warning** Please, be aware there are some known bugs related to lockfiles that are not being fixed in Conan v1.x - we are really excited for the 2.0 improvements to be widely used. +- [Lockfiles](https://docs.conan.io/2/tutorial/versioning/lockfiles.html) can be created with the `conan lock create` and read with by + adding `--lockfile=conan.lock` to `conan install` or `conan create` commands. See the [lockfile introduction](https://docs.conan.io/2/tutorial/consuming_packages/intro_to_versioning.html#lockfiles) for more information. Both of these give you better control and will allow you to choose when to upgrade your Conan client. diff --git a/docs/developing_recipes_locally.md b/docs/developing_recipes_locally.md index 6a82d992574ed..3a028a8c6ff61 100644 --- a/docs/developing_recipes_locally.md +++ b/docs/developing_recipes_locally.md @@ -4,15 +4,11 @@ Before you can contribute any code changes, you'll need to make sure you are fam This file is intended to provide all the commands you need to run in order to be an expert ConanCenterIndex contributor. -> **Note**: If you are working with Conan 2.0, the [instructions are below](#using-conan-20) - ## Contents * [Clone your fork](#clone-your-fork) * [Setup your environment](#setup-your-environment) - * [Installing the ConanCenter Hooks](#installing-the-conancenter-hooks) - * [Updating conan hooks on your machine](#updating-conan-hooks-on-your-machine) * [Basic Commands](#basic-commands) * [Try it yourself](#try-it-yourself) * [Debugging Failed Builds](#debugging-failed-builds) @@ -22,10 +18,7 @@ This file is intended to provide all the commands you need to run in order to be * [Yamlschema](#yamlschema) * [Testing the different `test__package`](#testing-the-different-test__package) * [Testing more environments](#testing-more-environments) - * [Docker build images used by ConanCenterIndex](#docker-build-images-used-by-conancenterindex) - * [Using Conan 2.0](#using-conan-20) - * [Installing Conan 2.0 beta](#installing-conan-20-beta) - * [Trying it out](#trying-it-out) + * [Docker build images used by ConanCenterIndex](#docker-build-images-used-by-conancenterindex) ## Clone your fork @@ -35,53 +28,21 @@ This file is intended to provide all the commands you need to run in order to be ## Setup your environment 1. Install a C++ development toolchain - ConanCenter's [build images](#testing-more-environments) are available -2. [Install the Conan client](https://docs.conan.io/1/installation.html) - make sure to keep it up to date! +2. [Install the Conan client](https://docs.conan.io/2/installation.html) - make sure to keep it up to date! 3. Install CMake - this is the only tool which is assumed to be present [see FAQ](faqs.md#why-recipes-that-use-build-tools-like-cmake-that-have-packages-in-conan-center-do-not-use-it-as-a-build-require-by-default) for details. > **Note**: It's recommended to use a dedicated Python virtualenv when installing with `pip`. -### Installing the ConanCenter Hooks - -> **Warning**: This is not yet supported with Conan 2.0. Please, follow the instructions below only in case you are using Conan 1.0. - -The system will use the [conan-center hooks](https://github.com/conan-io/hooks) to perform some quality checks. You can install the hooks by running: - -```sh -conan config install https://github.com/conan-io/hooks.git -sf hooks -tf hooks -conan config set hooks.conan-center -``` - -> **Note**: Hooks are generally for package correctness and the pylinters are for the recipe syntax - -The hooks will show error messages but the `conan create` won’t fail unless you export the environment variable `CONAN_HOOK_ERROR_LEVEL=40`. -All hooks checks will print a similar message: - -```txt -[HOOK - conan-center.py] post_source(): [LIBCXX MANAGEMENT (KB-H011)] OK -[HOOK - conan-center.py] post_package(): ERROR: [PACKAGE LICENSE] No package licenses found -``` - -#### Updating conan hooks on your machine - -The hooks are updated from time to time, so it's worth keeping your own copy of the hooks updated regularly. To do this, simply run: - -```sh -conan config install -``` - ## Basic Commands We recommend working from the `recipes/project` folder itself. You can learn about the [recipe file structure](adding_packages/README.md#recipe-files-structure) to understand the folder and files located there. > **Note**: You can only change one recipe per pull request, and working from the [_recipe folder_](adding_packages/README.md#the-recipe-folder-conanfilepy) will help prevent making a few mistakes. The default for this folder is `all`, follow the link above to learn more. -The [entire workflow of a recipe](https://docs.conan.io/1/developing_packages/package_dev_flow.html) can be executed with the [`conan create`](https://docs.conan.io/1/reference/commands/creator/create.html). This should look like: - -* `conan create all/conanfile.py 0.0.0@ -pr:b=default -pr:h=default` +The [entire workflow of a recipe](https://docs.conan.io/2/tutorial/creating_packages.html) can be executed with the [`conan create`](https://docs.conan.io/2/reference/commands/create.html). This should look like: -ConanCenter also has a few [support settings and options](supported_platforms_and_configurations.md) which highly recommend to test. For example -`conan create all/conanfile.py 0.0.0@ -o project:shared=True -s build_type=Debug` is an easy way to test more configurations ensuring the package is correct. +* `conan create all/conanfile.py --version=0.1.0` ### Try it yourself @@ -89,110 +50,29 @@ For instance you can create packages for `fmt` in various supported configuratio ```sh cd recipes/fmt -conan create all/conanfile.py fmt/9.0.0@ -pr:b=default -pr:h=default -conan create all/conanfile.py fmt/9.0.0@ -o fmt:header_only=True -pr:b=default -pr:h=default -conan create all/conanfile.py fmt/9.0.0@ -s build_type=Debug -o fmt:shared=True -pr:b=default -pr:h=default +conan create all/conanfile.py --version=9.0.0 +conan create all/conanfile.py --version=9.0.0 -o "&:header_only=True" +conan create all/conanfile.py --version=9.0.0 -s build_type=Debug -o "*/*:shared=True" ``` ## Debugging Failed Builds -Some common errors related to Conan can be found on [troubleshooting](https://docs.conan.io/1/faq/troubleshooting.html) section. -For ConanCenter Hook errors, go to the [Error Knowledge Base](error_knowledge_base.md) page to know more about those. +Some common errors related to Conan can be found on [troubleshooting](https://docs.conan.io/2/knowledge/faq.html#troubleshooting) section. -To test with the same environment, the [build images](supported_platforms_and_configurations.md#build-images) are available. Instructions for using these images can be found in [Testing more environments](#testing-more-environments) section. In ConanCenterIndex, the most common failure point is upstream build scripts tailored to their specific use cases. It's not uncommon to [patch build scripts](adding_packages/sources_and_patches.md#rules) but make sure to read the -[patch policy](adding_packages/sources_and_patches.md#policy-about-patching). You are encouraged to submit pull requests upstream. - -## Running the Python Linters - -> **Warning**: This is not yet supported with Conan 2.0 - -Linters are always executed by GitHub Actions to validate parts of your recipe, for instance, if it uses migrated Conan tools imports. - -It is possible to run the linter locally the same way it is being run [using Github actions](../.github/workflows/linter-conan-v2.yml) by: - -* (Recommended) Use a dedicated Python virtualenv. -* Ensure you have required tools installed: `conan` and `pylint` (better to uses fixed versions) - - ```sh - pip install conan~=1.0 pylint==2.14 - ``` - -* Set environment variable `PYTHONPATH` to the root of the repository - - ```sh - export PYTHONPATH=your/path/conan-center-index - ``` - -* Now you just need to execute the `pylint` commands: - - ```sh - # Lint a recipe: - pylint --rcfile=linter/pylintrc_recipe recipes/fmt/all/conanfile.py - - # Lint the test_package - pylint --rcfile=linter/pylintrc_testpackage recipes/fmt/all/test_package/conanfile.py - ``` - -## Running the YAML Linters - -There's two levels of YAML validation, first is syntax and the second is schema. -The style rules are located in [`linter/yamllint_rules.yml`](../linter/yamllint_rules.yml) and are used to ensure consistence. -The [`config.yml`](adding_packages/README.md#configyml) is required for the build infrastructure and the -[`conandata.yml` patch fields](adding_packages/conandata_yml_format.md#patches-fields) have required elements that are enforced with -schema validation. There's are to encourage the best possible quality of recipes and make reviewing faster. - -### Yamllint - -* (Recommended) Use a dedicated Python virtualenv. -* Ensure you have required tools installed: `yamllint` (better to uses fixed versions) - - ```sh - pip install yamllint==1.28 - ``` - -* Now you just need to execute the `yamllint` commands: - - ```sh - # Lint a recipe: - yamllint --config-file linter/yamllint_rules.yml -f standard recipes/config.yml - yamllint --config-file linter/yamllint_rules.yml -f standard recipes/fmt/all/conandata.yml - ``` - -### Yamlschema - -* (Recommended) Use a dedicated Python virtualenv. -* Ensure you have required tools installed: `strictyaml` and `argparse` (better to use fixed versions) - - ```sh - pip install strictyaml==1.16 argparse==1.4 - ``` - -* Now you just need to execute the validation scripts: +[patch policy](adding_packages/sources_and_patches.md#policy-about-patching). You are encouraged first to submit pull requests upstream. - ```sh - # Lint a config.yml: - python3 linter/config_yaml_linter.py recipes/fmt/config.yml - # Lint a conandata.yml - python3 linter/conandata_yaml_linter.py recipes/fmt/all/conandata.yml - ``` - -## Testing the different `test_*_package` +## Testing This can be selected when calling `conan create` or separately with `conan test` -```sh -# By adding the `-tf` argument -conan create recipes/fmt/all/conanfile.py 9.0.0@ -tf test_v1_package/ -pr:b=default -pr:h=default -``` - ```sh # Passing test package's conanfile directly (make sure to export first) -conan test recipes/fmt/all/test_v1_package/conanfile.py fmt/9.0.0@ -pr:h=default -pr:b=default +conan test recipes/fmt/all/test_package/conanfile.py fmt/9.0.0 ``` ## Testing more environments @@ -207,96 +87,12 @@ Assuming you've already tested it locally and it's been successfully exported to * You can also download them from CCI build summary 2. Build missing packages -Example. - -```sh -docker run -v/Users/barbarian/.conan:/home/conan/.conan conanio/gcc8 bash -c "conan profile new --detect gcc8" -docker run -v/Users/barbarian/.conan:/home/conan/.conan conanio/gcc8 bash -c "conan install -pr gcc8 fmt/9.0.0@ --build missing" -``` +Please, read [how to create Conan package using a Docker runner](https://docs.conan.io/2/examples/runners/docker/basic.html). > **Note**: If you are running on Mac M1, the follow Docker argument is required: `--platform=linux/amd64` If you are working with packages that have system dependencies that are managed by Conan -```sh -docker run -e CONAN_SYSREQUIRES_MODE=enabled conanio/gcc11-ubuntu16.04 conan install fmt/9.0.0@ -if build --build missing -c tools.system.package_manager:mode=install -c tools.system.package_manager:sudo=yes -``` - #### Docker build images used by ConanCenterIndex -The Conan Center Index uses [Conan Docker Tools](https://github.com/conan-io/conan-docker-tools/) to build packages in a variety of environments. All images are hosted in [Docker Hub](https://hub.docker.com/u/conanio). The relation of the images with the build configurations is available according to the Conan configuration, as `node_labels.Linux`, for instance: - - -```yaml -node_labels: - Linux: - x86_64: - "gcc": - default: "linux_gcc_${compiler.version}" - "11": "linux_gcc_${compiler.version}_ubuntu16.04" - "clang": - default: "linux_clang_${compiler.version}_ubuntu16.04" - "11": "linux_clang_${compiler.version}" -``` - -The configuration files are located in the folder [../.c3i](../.c3i). Currently are the files [config_v1.yml](../.c3i/config_v1.yml) and [config_v2.yml](../.c3i/config_v2.yml). The configuration file `config_v1.yml` is used by the Conan 1.0 client, while `config_v2.yml` is used by the Conan 2.0 client. - -The label `linux` refers to any Docker image, while `gcc_${compiler.version}` refers to GCC + a compiler version. For example, `linux_gcc_10` refers to the image `conanio/gcc10`. -The suffix `_ubuntu16.04` refers to the base image used by the Docker image, in this case, `ubuntu16.04`. So, `"11": "linux_gcc_${compiler.version}_ubuntu16.04"` means that the image `conanio/gcc11-ubuntu16.04`. Thus, all GCC versions use `conanio/gcc`, except for the GCC 11, which uses `conanio/gcc11-ubuntu16.04`. The same applies to Clang. - - -## Using Conan 2.0 - -Everything you need to know about the methods, commands line, outputs can be found in the -[Conan 2.0 Migrations](https://docs.conan.io/1/conan_v2.html) docs. - -This should be non-intrusive. Conan 2.0 by default has a different `CONAN_USER_HOME` location, which means that it has separate caches, profiles, and settings. -This will leave your Conan 1.0 setup completely intact when using Conan 2.0. - -> **Note**: There are substantial changes to the CLI so very few of the commands will remain the same. -> The new [Unified Command Pattern](https://docs.conan.io/1/migrating_to_2.0/commands.html#unified-patterns-in-command-arguments), -> as an example, changes how settings and options are passed. - -### Installing Conan 2.0 beta - -Simply install Conan 2.0 with `pip install conan --upgrade --pre`. - -You can confirm the installation with: - -```sh -$ conan --version -Conan version 2.0.0-beta3 -$ conan config home -Current Conan home: /Users/barbarian/.conan2 -``` - -> **Note**: You will most likely see -> -> ```sh -> Initialized file: '/Users/barbarian/.conan2/settings.yml' -> Initialized file: '/Users/barbarian/.conan2/extensions/plugins/compatibility/compatibility.py' -> Initialized file: '/Users/barbarian/.conan2/extensions/plugins/compatibility/app_compat.py' -> Initialized file: '/Users/barbarian/.conan2/extensions/plugins/compatibility/cppstd_compat.py' -> Initialized file: '/Users/barbarian/.conan2/extensions/plugins/profile.py' -> ``` -> -> When running the client for the first time. - -You will need to setup profiles. This is one of the changes in 2.0. The default profile is now opt-in and no longer generated automatically. - -```sh -conan profile detect -``` - -> **Warning**: This is a best guess, you need to make sure it's correct. - -### Trying it out - -Try building an existing recipe. We'll repeat the 1.x example with `fmt` to build the same configurations: - -```sh -cd recipes/fmt -conan create all/conanfile.py --version 9.0.0 -conan create all/conanfile.py --version 9.0.0 -o fmt/9.0.0:header_only=True -conan create all/conanfile.py --version 9.0.0 -s build_type=Debug -o fmt/9.0.0:shared=True -``` +The Conan Center Index uses [Conan Docker Tools](https://github.com/conan-io/conan-docker-tools/) to build packages in a variety of environments. All images are hosted in [Docker Hub](https://hub.docker.com/u/conanio). \ No newline at end of file diff --git a/docs/error_knowledge_base.md b/docs/error_knowledge_base.md deleted file mode 100644 index 415d9fd2e98fc..0000000000000 --- a/docs/error_knowledge_base.md +++ /dev/null @@ -1,499 +0,0 @@ -# Errors from the conan-center hook (KB-Hxxx) - -These are located at [conan-io/hooks](https://github.com/conan-io/hooks/blob/master/hooks/conan-center.py). - -#### **#KB-H001: "DEPRECATED GLOBAL CPPSTD"** - -`Conan > 1.15` deprecated the usage of the global ``cppstd`` setting in favor of ``compiler.cppstd`` to [manage C++ standard](https://docs.conan.io/1/howtos/manage_cpp_standard.html). As a subsetting of the compiler, it shouldn't be declared in the `conanfile.py`. - -#### **#KB-H002: "REFERENCE LOWERCASE"** - -The package names in conan-center have to be [lowercase](https://github.com/conan-io/tribe/blob/main/design/017-lowercase-references.md). e.g: ``zlib/1.2.8``. - -#### **#KB-H003: "RECIPE METADATA"** - -The recipe has to declare the following attributes: - -- [url](https://docs.conan.io/1/reference/conanfile/attributes.html#url) -- [license](https://docs.conan.io/1/reference/conanfile/attributes.html#license) -- [description](https://docs.conan.io/1/reference/conanfile/attributes.html#description) -- [homepage](https://docs.conan.io/1/reference/conanfile/attributes.html#homepage). - -Also we recommend adding [topics](https://docs.conan.io/1/reference/conanfile/attributes.html#topics) attribute. - -#### **#KB-H005: "HEADER_ONLY, NO COPY SOURCE"** - -If the recipe calls [self.info.header_only()](https://docs.conan.io/1/howtos/header_only.html) in the [package_id()](https://docs.conan.io/1/reference/conanfile/methods.html#package-id) method and doesn't declare settings, it should use the [no_copy_source](https://docs.conan.io/1/reference/conanfile/attributes.html#no-copy-source) attribute to avoid unnecessary copies of the source code. - -#### **#KB-H006: "FPIC OPTION"** - -The recipe is not for a header-only library and should have an `fPIC` option: - -```python -class SomeRecipe(ConanFile): - ... - - options = {"fPIC": [True, False]} - default_options = {"fPIC": True} -``` - -#### **#KB-H007: "FPIC MANAGEMENT"** - -The recipe declares `fPIC` but doesn't remove the option for Windows (where it doesn't make sense). - -```python -class SomeRecipe(ConanFile): - ... - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC -``` - -Or, a package is built as `shared` library and `fPIC` is declared. The option `fPIC` should be removed: - -```python -class SomeRecipe(ConanFile): - ... - - def configure(self): - if self.options.shared: - del self.options.fPIC -``` - -Here we use [configure()](https://docs.conan.io/1/reference/conanfile/methods.html#configure-config-options) method, because user options are loaded after [config_options()](https://docs.conan.io/1/reference/conanfile/methods.html#configure-config-options) only. - -#### **#KB-H008: "VERSION RANGES"** - -See [Dependencies Version Ranges](adding_packages/dependencies.md#version-ranges) for details. - -#### **#KB-H009: "RECIPE FOLDER SIZE"** - -The recipe folder (including the `test_package` folder) cannot exceed 256KB. - -#### **#KB-H010: "IMMUTABLE SOURCES"** - -Create a file [conandata.yml](https://docs.conan.io/1/reference/config_files/conandata.yml.html) in the recipe folder containing the source code origins: - -**_recipes/lib/1.2.0/conandata.yml_**: - -```yaml -sources: - 1.2.0: - url: "http://downloads.sourceforge.net/project/mylib/1.2.0/sources.tar.gz" - sha256: "36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d" -``` - -Then in the recipe, you can access the data to download the URL and validate the checksum doing: - -```python -class SomeRecipe(ConanFile): - ... - - def source(self): - tools.get(**self.conan_data["sources"][self.version]) -``` - -#### **#KB-H011: "LIBCXX MANAGEMENT"** - -If the library is detected as a pure C library (sources doesn't conatain any file with the following extensions: ["cc", "cpp", "cxx", "c++m", "cppm", "cxxm", "h++", "hh", "hxx", "hpp"]) then it has to remove the [compiler.libcxx](https://docs.conan.io/1/reference/config_files/settings.yml.html#c-standard-libraries-aka-compiler-libcxx) subsetting, because the cpp standard library shouldn't affect the binary ID: - -```python -class SomeRecipe(ConanFile): - ... - - def configure(self): - del self.settings.compiler.libcxx -``` - -#### **#KB-H012: "PACKAGE LICENSE"** - -The binary packages should contain a folder named `licenses` containing the contents (library, tool, etc) license/s. - -#### **#KB-H013: "DEFAULT PACKAGE LAYOUT"** - -The binary packages generally do not need any other files or folder except the following: `["lib", "bin", "include", "res", "licenses"]`. -This closely matches the default [`cpp_info`](https://docs.conan.io/1/reference/conanfile/methods.html#package-info) from the client. -The upstream package layout should be followed as much as possible, if a folder is not in the list (like `"share"`) then an exception -can very easily be added by adding it to [this list of exceptions](https://github.com/conan-io/hooks/blob/d587cfebbf2b31c16e477b79c0c2fd4501f60fc8/hooks/conan-center.py#L1089-L1090). - -> **Note**: We are in the process of evaluating this rule, looking at calculating the size impact for problematic packages - -#### **#KB-H014: "MATCHING CONFIGURATION"** - -The binary package contains some file that not corresponds to the configuration of the package, for example, binary libraries for a header-only library, a DLL file when the `settings.os != Windows` and so on. The error message will contain information about the offending file. - -#### **#KB-H015: "SHARED ARTIFACTS"** - -The binary package is shared (self.options.shared == True) but there is no `dll`, `so` or `dylib` files inside the package. - -#### **#KB-H016: "CMAKE-MODULES-CONFIG-FILES"** - -The binary package cannot contain module or config CMake files ("Find\*.cmake", "\*Config.cmake", "\*-config.cmake"). -The package shouldn't contain specific build-system files to inform to the consumers how to link with it. -In order to make sure that the package will be consumed with any build-system, conan-center repository encourages to declare a [def package_info(self)](https://docs.conan.io/1/reference/conanfile/methods.html#package-info) method with all the needed information about the package. - -The consumers of the package will be able to consume the packages using a specific [generators](https://docs.conan.io/1/using_packages/conanfile_txt.html#generators) for the build system they use. - -See also: [Why are CMake find/config files and pkg-config files not packaged?](faqs.md#why-are-cmake-findconfig-files-and-pkg-config-files-not-packaged). - -#### **#KB-H017: "PDB FILES NOT ALLOWED"** - -Because of the big size of the [PDB](https://github.com/Microsoft/microsoft-pdb) files (Program Databse, a debug information format) and the issues using them changing the original folders, the PDB files are not allowed to be packaged. - -See also: [Why PDB files are not allowed?](faqs.md#why-pdb-files-are-not-allowed). - -#### **#KB-H018: "LIBTOOL FILES PRESENCE"** - -Packaging [libtool files](https://www.linuxfromscratch.org/blfs/view/svn/introduction/la-files.html) (\*.la) instead of library files (\*.a) is not allowed. - -#### **#KB-H019: "CMAKE FILE NOT IN BUILD FOLDERS"** - -Some file with `*.cmake` extension has been found in a folder not declared in [cpp_info.builddirs](https://docs.conan.io/1/reference/conanfile/attributes.html#cpp-info). -It is only allowed to put build files in `builddirs` because the generators might be able to include them when needed, but only if they are located in well known paths. - -#### **#KB-H020: "PC-FILES"** - -For the same reasons explained at [KB-H016](#KB-H016) it is not allowed to package `*.pc` files. - -See also: [Why are CMake find/config files and pkg-config files not packaged?](faqs.md#why-are-cmake-findconfig-files-and-pkg-config-files-not-packaged). - -#### **#KB-H021: "MS RUNTIME FILES"** - -For the legal reasons, and in order to reduce the size of packages, it's not allowed to package Microsoft Visual Studio runtime libraries, such as `msvcr80.dll`, `msvcp80.dll`, `vcruntime140.dll` and so on. - -#### **#KB-H022: "CPPSTD MANAGEMENT"** - -If the library is detected as a pure C library (sources doesn't conatain any file with the following extensions: ["cc", "cpp", "cxx", "c++m", "cppm", "cxxm", "h++", "hh", "hxx", "hpp"]) then it has to remove the [compiler.cppstd](https://docs.conan.io/1/howtos/manage_cpp_standard.html) subsetting, because the cpp standard library shouldn't affect the binary ID: - -```python -class SomeRecipe(ConanFile): - ... - - def configure(self): - del self.settings.compiler.cppstd -``` - -#### **#KB-H023: "EXPORT LICENSE"** - -A recipe should not export any license file, as all recipes are under the same license type (in the root of this repo). - -```python -class SomeRecipe(ConanFile): - ... - - exports = "LICENSE.md" # not allowed -``` - -There is a complete explanation in the [FAQ](faqs.md#should-recipes-export-a-recipes-license). - -#### **#KB-H024: "TEST PACKAGE FOLDER"** - -The [test_package](https://docs.conan.io/1/creating_packages/getting_started.html) folder is required for every recipe in Conan Center Index. - -``` -. conanfile.py -. test_package - |- conanfile.py -``` - -#### **#KB-H025: "META LINES"** - -The following metadata lines (and similiar) are not allowed in recipes: - -- [Shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)) to specify Python version: - -```python -#!/usr/bin/env python # not allowed -#!/usr/local/bin/python # not allowed - -class SomeRecipe(ConanFile): - ... -``` - -- [Vim](https://www.vim.org/) configuration: - -```python -# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 # not allowed - -class SomeRecipe(ConanFile): - ... -``` - -- [Encoding](https://www.python.org/dev/peps/pep-0263/): - -```python -# -*- coding: utf-8 -*- # not allowed -# coding=utf-16 # not allowed - -class SomeRecipe(ConanFile): - ... -``` - -#### **#KB-H027: "CONAN CENTER INDEX URL"** - -The attribute [url](https://docs.conan.io/1/reference/conanfile/attributes.html#url) should point to the address where the recipe is located. -The current Conan Center Index address is - -#### **#KB-H028: "CMAKE MINIMUM VERSION"** - -All CMake files added to recipe package should contain a [minimal version](https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html) (Not necessarily 2.8.11, it can be any version) available in the file: - -```cmake -# CMakeLists.txt -cmake_minimum_required(VERSION 2.8.11) -project(conanwrapper) - -... -``` - -#### **#KB-H029: "TEST PACKAGE - RUN ENVIRONMENT"** - -The [RunEnvironment()](https://docs.conan.io/1/reference/build_helpers/run_environment.html#runenvironment) build helper is no longer needed in the `test_package/conanfile.py`. It has been integrated by [run_environment](https://docs.conan.io/1/devtools/running_packages.html#running-from-packages) parameter. - -```python -# test_package/conanfile.py -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - - def test(self): - self.run("bin/test", run_environment=True) -``` - -#### **#KB-H030: "CONANDATA.YML FORMAT"** - -The structure of the [conandata.yml](https://docs.conan.io/1/reference/config_files/conandata.yml.html) file should follow the schema -defined in [Adding Packages - `Conandata.yml` Format](adding_packages/conandata_yml_format.md). - -#### **#KB-H031: "CONANDATA.YML REDUCE"** - -This [hook](https://docs.conan.io/1/extending/hooks.html) re-creates the information of the [conandata.yml](https://docs.conan.io/1/reference/config_files/conandata.yml.html) file, discarding the fields not relevant to the version of the package exported. This avoids creating new recipe revisions for every new change introduced in the file. -Any additional field in the YAML file will raise an error. - -#### **#KB-H032: "SYSTEM REQUIREMENTS"** - -[System requirements](https://docs.conan.io/1/reference/conanfile/methods.html#systempackagetool) can be used as an option when a Conan package is not available ,the same package can be installed by system package manager. However, it can cause reproducibility problems, since the package may vary according the distribution or OS. Conan is not able to track its metadata, so that, installing system packages by recipe is not allowed. - -See also: [Can I install packages from the system package manager?](faqs.md#can-i-install-packages-from-the-system-package-manager). - -#### **#KB-H034: "TEST PACKAGE - NO IMPORTS()"** - -The method [imports](https://docs.conan.io/1/reference/conanfile/methods.html#imports) helps the test package stage copying all dynamic libraries and special resources. However, the [run_environment](https://docs.conan.io/1/reference/conanfile/other.html#running-commands) parameter, used when running commands, is able to solve all paths to the dynamic libraries installed in your cache. - -#### **#KB-H037: "NO AUTHOR"** - -Since the entire community is maintaining all CCI recipes, putting just one name in a recipe is unfair, putting all names is unmanageable. All authors can be found in the Git logs. - -#### **#KB-H040: "NO TARGET NAME"** - -According the Conan issue [#6269](https://github.com/conan-io/conan/issues/6269), the attribute `cpp_info.name` should be avoided for Conan Center Index in favor of `cpp_info.names["cmake_find_package"]` and `cpp_info.names["cmake_find_package_multi"]`. - -See also: [Migrating legacy cpp_info attributes to set_property()](https://docs.conan.io/1/migrating_to_2.0/properties.html). - -#### **#KB-H041: "NO FINAL ENDLINE"** - -Source files should end with a final endline. -This avoids potential warnings/errors like `no new line at the end of file`. - -#### **#KB-H044: "NO REQUIRES.ADD()"** - -Both `self.requires.add()` and `self.build_requires.add()` have been deprecated in favor of [self.requires()](https://docs.conan.io/1/reference/conanfile/methods.html#requirements) and [self.build_requires()](https://docs.conan.io/1/reference/conanfile/methods.html#build-requirements) which were introduced on Conan 1.x. Both `add()` were introduced during Conan 0.x and since Conan 1.23 they no longer follow the original behavior. - -#### **#KB-H045: "DELETE OPTIONS"** - -The method `self.options.remove()` was introduced in Conan 0.x, however, Conan 1.x brings a more pythonic way for removing options from your recipe: `del self.options.` - -See also: [configure(), config_options()](https://docs.conan.io/1/reference/conanfile/methods.html#configure-config-options). - -#### **#KB-H046: "CMAKE VERBOSE MAKEFILE"** - -The CMake definition [CMAKE_VERBOSE_MAKEFILE](https://cmake.org/cmake/help/latest/variable/CMAKE_VERBOSE_MAKEFILE.html) helps for debugging when developing, however, for regular CI build, it increases the log size and it's only required when problems occur and need to be verified. - -#### **#KB-H048: "CMAKE VERSION REQUIRED"** - -> **Warning**: This is a legacy Conan 1.x details from the deprecated generators - -The file test_package/CMakeLists.txt should require CMake 3.15 by default: [cmake_minimum_required(VERSION 3.15)](https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html). The CMake wrapper file can require CMake 2.8, because Conan recipe and the test package are totally separated. However, if [CMAKE_CXX_STANDARD](https://cmake.org/cmake/help/latest/variable/CMAKE_CXX_STANDARD.html) or [CXX_STANDARD](https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html#prop_tgt:CXX_STANDARD) is explicit, CMake 3.1 is mandatory. - -#### **#KB-H049: "CMAKE WINDOWS EXPORT ALL SYMBOLS"** - -The CMakeLists.txt definitions [CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS](https://cmake.org/cmake/help/v3.4/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.html) and [WINDOWS_EXPORT_ALL_SYMBOLS](https://cmake.org/cmake/help/v3.4/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html) are available since CMake 3.4 only. Any previous version will ignore it. - -#### **#KB-H050: "DEFAULT SHARED OPTION VALUE"** - -By default, all packages should be built as static library (the option ``shared`` is ``False`` in ``default_options``). However, some projects can be restricted to shared library only, for those cases, open a new [issue](https://github.com/conan-io/hooks/issues) to include the package name in the allowlist. - -#### **#KB-H051: "DEFAULT OPTIONS AS DICTIONARY"** - -The attribue [default_options](https://docs.conan.io/1/reference/conanfile/attributes.html#default-options) should be a dictionary, for example `default_options = {'shared': False, 'fPIC': True}`. - -#### **#KB-H052: "CONFIG.YML HAS NEW VERSION"** - -It's important to have new library version defined in both [config.yml](adding_packages/folders_and_files.md#configyml) and -[conandata.yml](adding_packages/folders_and_files.md#conandatayml), otherwise newly added version will not be checked and built -by CI and will not be available for download. - -#### **#KB-H053: "PRIVATE IMPORTS"** - -The recipe imports private Conan API, this is strongly discouraged - private imports are subjects to breaking changes. Avoid usage of private APIs, -request to publicly expose needed methods, if necessary. - -#### **#KB-H054: "LIBRARY DOES NOT EXIST"** - -Libraries which are listed on [Components](https://docs.conan.io/1/creating_packages/package_information.html#package-information-components) must be present in [libdirs](https://docs.conan.io/1/reference/conanfile/attributes.html#cpp-info). Check if the library name is correct, or if a library is only generated for a specific platform. - -#### **#KB-H055: "SINGLE REQUIRES"** - -Do not use [requirements()](https://docs.conan.io/1/reference/conanfile/methods.html#requirements) method and [self.requires](https://docs.conan.io/1/reference/conanfile/attributes.html#requires) attribute together in the same recipe. -The duality creates a heterogeneous way of solving dependencies, making it difficult to review and susceptible to prone errors. - -#### **#KB-H056: "LICENSE PUBLIC DOMAIN"** - -See [License Attribute](adding_packages/conanfile_attributes.md#license-attribute) for details. - -#### **#KB-H057: "TOOLS RENAME"** - -The [rename()](https://docs.conan.io/1/reference/conanfile/tools/files.html#conan-tools-rename) method will be the standard for Conan 2.0, and -also, it uses [robocopy](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy), which is safer on Windows. - -#### **#KB-H058: "ILLEGAL CHARACTERS"** - -Windows [naming conventions](https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions) and [reserved](https://en.wikipedia.org/wiki/Filename#Reserved_characters_and_words) characters must be avoided for file naming, otherwise the will not be supported on Windows. - -#### **#KB-H059: "CLASS NAME"** - -Generic class names can cause review confusion. To keep a better naming, it should use `Conan`. - -#### **#KB-H060: "NO CRLF"** - -Files with [CRLF](https://en.wikipedia.org/wiki/Newline) as endline can cause CI errors when building a package, due the conversion to LF and false detection from CI as changed file. -The [.gitattributes](https://git-scm.com/docs/gitattributes) file lists which files should be converted to LF when commit. However, if you want to enforce it in your local copy, you may run: - - > git config --local core.autocrlf false - > git config --local core.eol lf - -The [core.autocrlf](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration) disabled means that git will not convert from CRLF to LF on commit. The [core.eol](https://git-scm.com/docs/git-config) sets the specific line ending to be used for every commit. - -#### **#KB-H062: "TOOLS CROSS BUILDING"** - -Replace all occurrences of `tools.cross_building(self.settings)` with [tools.cross_building(self)](https://docs.conan.io/1/reference/tools.html#tools-cross-building). -When cross building, conan needs to compare [self.settings](https://docs.conan.io/1/reference/conanfile/attributes.html#settings) and [self.settings_build](https://docs.conan.io/1/systems_cross_building/cross_building.html), which are attributes of `self`. - -#### **#KB-H064: "INVALID TOPICS"** - -An invalid [topic](https://docs.conan.io/1/reference/conanfile/attributes.html#topics) has been detected. Remove or rename it. -Right now, topic `conan` is considered redundant and it's not needed to explicitly list it within recipe. - -#### **#KB-H065: "NO REQUIRED_CONAN_VERSION"** - -The recipe misses [required_conan_version](https://docs.conan.io/1/reference/conanfile/other.html#requiring-a-conan-version-for-the-recipe) attribute. -It may happen due to the usage of new features within recipe (such as `strip_root` parameter of the [tools.get](https://docs.conan.io/1/reference/conanfile/tools/files/downloads.html#conan-tools-files-get) helper). -The policy of Conan Center Index to support only the latest version of the Conan Client, so it's safe to put the version Conan Center Index currently runs into the recipe. -Otherwise, it's not an easy task on its own to determine the minimal version that has to be specified: checking the Conan Client [Changelog](https://docs.conan.io/1/changelog.html), one has to know in which Conan Client releases all the attributes, methods, build helpers, etc. used by the recipe were first introduced, and then select the most recent of them. -Consider adding the following code: - -```python -required_conan_version = ">=1.43.0" # use the version that Conan Center Index runs - -class SomeRecipe(ConanFile): - ... - -``` - -See also: [Submitting a Package](adding_packages/README.md#submitting-a-package). - -#### **#KB-H066: "SHORT_PATHS USAGE"** - -The recipe missess [short_paths](https://docs.conan.io/1/reference/conanfile/attributes.html#short-paths) attribute. -It may happen due to the very long paths within source, build or package directories during the package creating. -Consider adding the following code: - -```python -class SomeRecipe(ConanFile): - ... - - short_paths = True -``` - -See also: [Maximum Path Length Limitation](https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd). - -#### **#KB-H068: "TEST_TYPE MANAGEMENT"** - -In Conan 2.0, see [migration guide](https://docs.conan.io/1/migrating_to_2.0/recipes.html#changes-in-the-test-package-recipe), -the `test_package/conanfile.py` needs to declare the requirement being tested explicitly. To be prepared you -have to set the attribute `test_type="explicit"` (this will be ignored in 2.0) to make Conan activate the explicit -mode, then declaring the requirement using the `self.tested_reference_str` that contains the reference being tested. - -#### **#KB-H069: "TEST PACKAGE - NO DEFAULT OPTIONS"** - -This is to ensure the exact package that is built and uploaded is tested against. When `options` of `default_options` are modified in a -`test_package` it can possibly result in the graph being modified. The objective is to enforce quality of the packages and to avoid confusing -"missing packages" errors. - -#### **#KB-H070: "MANDATORY SETTINGS"** - -> :information_source: This rule was put in place as it was deemed safe for evaluation however there is room for improvement - -ConanCenter operates is profiles with a predefined list of settings, all of these much be present in the recipe to ensure `package_id`s are -computed correctly. Some libraries, for instance header-only, do not require all the settings and those should be deleted from the `package_id`. -This approach ensure consistency and reduces the learning curve. - -Recipes should include: - -```python -class SomeRecipe(ConanFile): - ... - - settings = "os", "compiler", "build_type", "arch" -``` - -- For header-only recipes ([example](https://github.com/conan-io/conan-center-index/blob/3a773e2d69ada3bd931252c43a48daf636ddfe87/recipes/eigen/all/conanfile.py#L35-L36)): - - ```python - def package_id(self): - self.info.header_only() - ``` - -There is the case when the package is header-only, but the options affects the generated artifact, (e.g. kanguru, pagmo2 ...), so you need to use `self.info.settings.clear()` instead. - -- @prince-chrismc This needs to a better example; For "tool" recipes ([example](https://github.com/conan-io/conan-center-index/blob/e604534bbe0ef56bdb1f8513b83404eff02aebc8/recipes/cmake/3.x.x/conanfile.py#L104-L105)) which only provide binaries, see [our packaging policy](adding_packages/build_and_package.md) for more, should do as follows: - - ```python - def package_id(self): - del self.info.settings.compiler - ``` - -#### **#KB-H071: "INCLUDE PATH DOES NOT EXIST"** - -It's erroneous to leave the default `include` directory when it's not present. Consider adding: - -```python -def package_info(self): - self.cpp_info.includedirs = [] -``` - -#### **#KB-H072: "PYLINT EXECUTION"** - -Pylint is executed by default over all `conanfile.py` files in ConanCenterIndex and it should not be skipped. It's an important tool which helps us keep a standard level of acceptance. Otherwise, it would be incredibly hard to review all recipes and keep them to the same level of standards. - -#### **#KB-H075: "REQUIREMENT OVERRIDE PARAMETER"** - -The [self.requires()](https://docs.conan.io/1/reference/conanfile/methods.html#requirements) allows to override a dependency version, forcing to use that version imposed by the recipe only. As a side-effect, dependencies can use different versions of the same project at the same package, which may cause unpredicted errors, like ABI incompatibility. For that reason, the `override` parameter is forbidden and should not be used. Instead, all dependencies should align their package versions, even when it's necessary to open more pull requests to update dependency versions. - -#### **#KB-H076: "EITHER STATIC OR SHARED OF EACH LIB"** - -It checks whether static & shared artifacts of the same lib are packaged together. Also, if there are tuples of (.a/.dylib) or (.a/.so) files with the same name. -So it works on Unix systems only, not Windows. Putting both same library name as shared and static in the very same package is considered an error, as it should be separated -and managed by the package option `shared`. - -#### **#KB-H077: "APPLE RELOCATABLE SHARED LIBS"** - -It checks whether installed shared libs are relocatable on Linux & macOS. All shared libs on macOS properly have `@rpath/` in install tree (@rpath token is supported since macOS 10.5 Leopard). - -## Deprecated errors - -The following errors from the hooks are deprecated and no longer reported: - -### **#KB-H047: "NO ASCII CHARACTERS"** - -According to PEP [263](https://www.python.org/dev/peps/pep-0263/), Unicode literals should only appear in Python code if the encoding is declared on one of the first two lines of the source file. Without such a declaration, any Unicode literal will cause a syntax error for Python 2 interpreters. diff --git a/docs/faqs.md b/docs/faqs.md index a1714a7a2b37b..d9f87971f7113 100644 --- a/docs/faqs.md +++ b/docs/faqs.md @@ -27,7 +27,6 @@ This section gathers the most common questions from the community related to pac * [What license should I use for Public Domain?](#what-license-should-i-use-for-public-domain) * [What license should I use for a custom project specific license?](#what-license-should-i-use-for-a-custom-project-specific-license) * [How do I flag a problem to a recipe consumer?](#how-do-i-flag-a-problem-to-a-recipe-consumer) - * [Why is a `build.check_min_cppstd` call not enough?](#why-is-a-buildcheck_min_cppstd-call-not-enough) * [What is the policy for adding older versions of a package?](#what-is-the-policy-for-adding-older-versions-of-a-package) * [What is the policy for removing older versions of a package?](#what-is-the-policy-for-removing-older-versions-of-a-package) * [Can I install packages from the system package manager?](#can-i-install-packages-from-the-system-package-manager) @@ -38,14 +37,10 @@ This section gathers the most common questions from the community related to pac * [How to protect my project from breaking changes in recipes?](#how-to-protect-my-project-from-breaking-changes-in-recipes) * [What's the policy on version ranges?](#whats-the-policy-on-version-ranges) * [How to consume a graph of shared libraries?](#how-to-consume-a-graph-of-shared-libraries) - * [How to watch only specific recipes?](#how-to-watch-only-specific-recipes) - * [Is it possible to disable Pylint?](#is-it-possible-to-disable-pylint) - * [How long can I be inactive before being removed from the authorized users list?](#how-long-can-i-be-inactive-before-being-removed-from-the-authorized-users-list) - * [What happens in case I change my user name?](#what-happens-in-case-i-change-my-user-name) * [Can we add package which are parts of bigger projects like Boost?](#can-we-add-package-which-are-parts-of-bigger-projects-like-boost) * [Can I add my project which I will submit to Boost?](#can-i-add-my-project-which-i-will-submit-to-boost) * [Can I add options that do not affect `package_id` or the package contents](#can-i-add-options-that-do-not-affect-package_id-or-the-package-contents) - * [Can I use full_package_mode for a requirement in my recipe?](#can-i-use-full_package_mode-for-a-requirement-in-my-recipe) + ## What is the policy on recipe name collisions? @@ -84,7 +79,7 @@ For libraries with a too generic name, like `variant`, the name of the organizat We know that using `find_package()` and relying on the CMake behavior to find the dependencies is something that should be avoided in favor of the information provided by the package manager. -Conan has an abstraction over the packages build system and description by using [generators](https://docs.conan.io/1/reference/generators.html). Those generators translate the information of the dependency graph and create a suitable file that can be consumed by your build system. +Conan has an abstraction over the packages build system and description by using generators. Those generators translate the information of the dependency graph and create a suitable file that can be consumed by your build system. In the past, we have found that the logic of some of the CMake's find/config or pkg-config files can lead to broken scenarios due to issues with: @@ -94,23 +89,21 @@ In the past, we have found that the logic of some of the CMake's find/config or - Hardcoded versions of dependencies as well as build options that make overriding dependencies from the consumer not possible. We believe that the package manager should be the one responsible to handle this information in order to achieve a deterministic and controlled behavior. -Regarding the integration with CMake, Conan already provides ways to consume those packages in the same way by using generators like [cmake_find_package](https://docs.conan.io/1/reference/generators/cmake_find_package.html)* or [cmake_find_package_multi](https://docs.conan.io/1/reference/generators/cmake_find_package.html) and features like [components](https://docs.conan.io/1/creating_packages/package_information.html#using-components) to define internal libraries of a package and generate proper CMake targets or [build_modules](https://docs.conan.io/1/reference/conanfile/attributes.html) to package build system utilities like CMake macros. +Regarding the integration with CMake, Conan already provides ways to consume those packages in the same way by using generators like [CmakeDeps](https://docs.conan.io/2/reference/tools/cmake/cmakedeps.html) to define internal libraries of a package and generate proper CMake targets or [cmake_build_modules](https://docs.conan.io/2/examples/graph/tool_requires/use_cmake_modules.html) to package build system utilities like CMake macros. -Defining the package information in the recipe is also useful in order to consume those packages from a different build system, for example using pkg-config with the [pkg_config generator](https://docs.conan.io/1/reference/generators/pkg_config.html). +Defining the package information in the recipe is also useful in order to consume those packages from a different build system, for example using pkg-config with the [PkgConfigDeps](https://docs.conan.io/2/reference/tools/gnu/pkgconfigdeps.html). Finally, by not allowing these files we make packages agnostic to the consumer as the logic of those files is not in the package but in the way the consumer wants the information. If you really think this is an issue and there is something missing to cover the use case of a library you want to contribute to ConanCenter, please do not hesitate to open an issue and we will be happy to hear your feedback. -\* Take a look at the integrations section to learn more: https://docs.conan.io/1/integrations/build_system/cmake/cmake_find_package_generator.html - ## Why recipes that use build tools (like CMake) that have packages in Conan Center do not use it as a build require by default? We generally consider tools like CMake as a standard tool to have installed in your system. Having the `cmake` package as a build require in **all** the recipes that use it will be an overkill, as every build requirement is installed like a requirement and takes time to download. However, `cmake` could still be useful to use in your profile: ``` [tool_requires] -cmake/3.17.2 +cmake/[>=3.15 <4] ``` Other packages using more unusual build tools should refer to the [Dependencies - Adding Build Requirements](adding_packages/dependencies.md#build-requirements) section for more information. @@ -121,9 +114,9 @@ The C++ ecosystem has a lot of rare, unique and obscure build systems. Some of t The recipe is expected to encode the specifics of the build system, mapping the `settings`, `options` for the binary configuration, and also mapping `self.dependencies` so the build system can locate the dependencies libraries as required. For these cases, contributors are asked to help reviewers as much as possible as it's likely we will not have expertise. -> TODO: Add a link to docs.conan.io which explains how to write a custom generator in the 2.0 sense +In Conan 2.x is possible to use [custom generatros](https://docs.conan.io/2/reference/extensions/custom_generators.html). But this feature is not allowed in conan-center-index. -For quality assurance the build service is expected to be green and the [hooks](https://github.com/conan-io/hooks) will ensure the package contents match what is expected given the options. These recipes are more likely to have +For quality assurance the build service is expected to be green and the hooks will ensure the package contents match what is expected given the options. These recipes are more likely to have inconsistency with other recipes but make for excellent contributions. ## Are python requires allowed in the `conan-center-index`? @@ -141,12 +134,12 @@ Currently, the Jenkins orchestration library for this build service is not avail ## Why not x86 binaries? -As described in the [Supported platforms and configurations](supported_platforms_and_configurations.md), only the x86_64 architecture is available for download, the rest must be built from sources. The reasons behind this decision are: +Only the x86_64 architecture is available for download, the rest must be built from sources. The reasons behind this decision are: * Few users need different pre-built packages that are not x86_64 packages, this number is less than 10% of total users (data obtained through the download counter from Bintray), and tends to decrease over the years; * Some OS are putting the x86 as obsolete, examples [macOS](https://developer.apple.com/documentation/macos-release-notes/macos-catalina-10_15-release-notes) and Ubuntu 20.04; * For security reasons, most companies build their own packages from sources, even if they already have a pre-built version available, which further reduces the need for extra configurations; -* Each recipe results in around 130 packages, and this is only for x86_64, but not all packages are used, some settings remain with zero downloads throughout their life. So, imagine adding more settings that will rarely be used, but that will consume more resources as time and storage, this leaves us in an impractical situation. +* Each recipe results in several packages, and this is only for x86_64, but not all packages are used, some settings remain with zero downloads throughout their life. So, imagine adding more settings that will rarely be used, but that will consume more resources as time and storage, this leaves us in an impractical situation. ### But if there are no packages available, what will the x86 validation look like? @@ -162,7 +155,7 @@ Yes! You can learn more about default options in [Packaging Policy](adding_packa The project initially decided not to support the PDB files primarily due to the size of the final package, which could add an exaggerated size and not even used by users. In addition, PDB files need the source code to perform the debugging and even follow the path in which it was created and not the one used by the user, which makes it difficult to use when compared to the regular development flow with the IDE. -However, there are ways to get around this, one of them is through the [/Z7](https://docs.microsoft.com/en-us/cpp/build/reference/z7-zi-zi-debug-information-format) compilation flag, which can be passed through [environment variables](https://docs.microsoft.com/en-us/cpp/build/reference/cl-environment-variables). You can use your [profile](https://docs.conan.io/1/reference/profiles.html#package-settings-and-env-vars) to customize your compiler command line. +However, there are ways to get around this, one of them is through the [/Z7](https://docs.microsoft.com/en-us/cpp/build/reference/z7-zi-zi-debug-information-format) compilation flag, which can be passed through [environment variables](https://docs.microsoft.com/en-us/cpp/build/reference/cl-environment-variables). You can use your [profile](https://docs.conan.io/2/reference/config_files/profiles.html) to customize your compiler command line. ### Why is there no option for PDB, as there is for fPIC? @@ -204,7 +197,7 @@ After one month, we will welcome a PR removing the option that was deprecated. ## Can I split a project into an installer and library package? -No. Some projects provide more than a simple library, but also applications. For those projects, both libraries and executables should be kept together under the same Conan package. In the past, we tried to separate popular projects, like Protobuf, and it proved to be a complex and hard task to be maintained, requiring custom patches to disable parts of the building. Also, with the [context](https://docs.conan.io/1/systems_cross_building/cross_building.html#conan-v1-24-and-newer) feature, we can use the same package as build requirement, for the same build platform, and as a regular requirement, for the host platform, when cross-building. It's recommended using 2 profiles in that case, one for build platform (where the compilation tools are being executed) and one for host platform (where the generated binaries will run). +No. Some projects provide more than a simple library, but also applications. For those projects, both libraries and executables should be kept together under the same Conan package. In the past, we tried to separate popular projects, like Protobuf, and it proved to be a complex and hard task to be maintained, requiring custom patches to disable parts of the building. Also, with the [context](https://docs.conan.io/2/reference/commands/install.html#reference-commands-install-composition) feature, we can use the same package as build requirement, for the same build platform, and as a regular requirement, for the host platform, when cross-building. It's recommended using 2 profiles in that case, one for build platform (where the compilation tools are being executed) and one for host platform (where the generated binaries will run). ## Should recipes export a recipe's license? @@ -224,35 +217,17 @@ Regardless of why, if the recipe detects a problem where binaries might not be g incorrect packages which do not work as intended. Use `ConanInvalidConfiguration` which is specially support in ConanCenter. ```py -raise ConanInvalidConfiguration(f"The project {self.ref} requires liba.enable_feature=True.") -``` - -You should not be using the `self.output.warn` and it is not enough to alter consumers or stop the build service. - -## Why is a `build.check_min_cppstd` call not enough? - -Very often C++ projects require a minimum standard version, such as 14 or 17, in order to compile. Conan offers tools which enable checking the relevant setting is enabled and above this support for a certain version is present. Otherwise, it uses the compiler's default. - -```python -def configure(self): - build.check_min_cppstd(self, 14) 👈 Wrong! +raise ConanInvalidConfiguration(f"The project {self.ref} requires liba.enable_feature=True. See ") ``` -This fails to cover the vast number of use cases for the following reasons: +You should not be using the `self.output.warning` and it is not enough to alter consumers or stop the build service. -1. `cppstd` is not configured in the `--detect`ed profiles generated by Conan, the majority of users simply do not have this setting. -2. A shocking number of projects override this setting within their respective build scripts, this setting does not get applied in those cases. -3. Conan-Center-Index does **not** manage the `cppstd` setting for the compilers it supports to generate binaries. +Also, need to point upstream's issue/PR related to the same problem. In case it's a limitation in the recipe, the same should be clear and be merged without full support: -```python -def validate(self): - # 👇 Correct - if self.settings.compiler.cppstd: - build.check_min_cppstd(self, 14) +```py +raise ConanInvalidConfiguration(f"{self.ref} Conan recipe does not support Windows. Contributions are welcome!") ``` -As a result, all calls to `build.check_min_cppstd` must be guarded by a check for the setting and the only way to ensure the C++ standard is to check the compiler's version to know if it offers sufficient support. An example of this can be found [here](https://github.com/conan-io/conan/issues/8002). - ## What is the policy for adding older versions of a package? See [Adding older versions](adding_packages/sources_and_patches.md#adding-old-versions) for details. @@ -264,10 +239,8 @@ See [Removing older versions](adding_packages/sources_and_patches.md#removing-ol ## Can I install packages from the system package manager? It depends. You can not mix both regular projects with system packages, but you can provide package wrappers for system packages. However, Conan can not track system packages, like their version and options, which creates a fragile situation where affects libraries and binaries built in your package but can not be totally reproduced. -Also, system package managers require administrator permission to install packages, which is not always possible and may break limited users. Moreover, more than one Conan package may require the same system package and there is no way to track their mutual usage. -The hook [KB-H032](error_knowledge_base.md#KB-H032) does not allow `system_requirement` nor `SystemPackageTool` in recipes, to avoid mixing both regular projects with -system packages at same recipe. +Also, system package managers require administrator permission to install packages, which is not always possible and may break limited users. Moreover, more than one Conan package may require the same system package and there is no way to track their mutual usage. There are exceptions where some projects are closer to system drivers or hardware and packaging as a regular library could result in an incompatible Conan package. To deal with those cases, you are allowed to provide an exclusive Conan package which only installs system packages, see the [How-to](adding_packages/build_and_package.md#system-packages) for more. @@ -358,7 +331,7 @@ Since these references will be never available in ConanCenter, they will be deac If consumers activate the option explicitly (`with_intel_mkl=True`), Conan will fail because of the unknown reference. -Consumers may use an [override](https://docs.conan.io/1/using_packages/conanfile_txt.html#overriding-requirements) facility in order to use their own private references for Intel MKL, IPP or DNN libraries. +Consumers may use an [override](https://docs.conan.io/2/reference/conanfile/methods/requirements.html#override) facility in order to use their own private references for Intel MKL, IPP or DNN libraries. For instance, if you have a private reference `intel-mkl/2021@mycompany/stable`, then you may use the following override in your `conanfile.txt`: @@ -371,7 +344,7 @@ intel-mkl/2021@mycompany/stable This repository and the CI building recipes is continuously pushing to new Conan versions, sometimes adopting new features as soon as they are released -([Conan client changelog](https://docs.conan.io/1/changelog.html)). +([Conan client changelog](https://docs.conan.io/2/changelog.html)). You should expect that latest revision of recipes can introduce breaking changes and new features that will be broken unless you also upgrade Conan client (and sometimes you will @@ -387,58 +360,12 @@ See [Dependencies Version Ranges](adding_packages/dependencies.md#version-ranges ## How to consume a graph of shared libraries? -When the CI builds packages with `shared=True`, it applies the option only to the package being created, but not to -the requirements. As the default value for the `shared` option is usually `False`, you can expect that the dynamic -library that has just being generated has linked all its requirements as static libraries. - -It is important to remark the default [package id mode](https://docs.conan.io/1/creating_packages/define_abi_compatibility.html#versioning-schema) -used by Conan (which is the same default used by ConanCenter): `semver_direct_mode`. With this default only the major -version of the requirements is encoded in the package ID. - -The two previous behaviors together can lead to unexpected results for a user that want to consume a graph of -dependencies as shared libraries from ConanCenter. They might think that using `*:shared=True` in their profile is -enough, and indeed Conan will retrieve from ConanCenter all the dynamic libraries for all the graph of dependencies, but -**all of them will contain the logic of their respective requirements embedded in the dynamic library**, and this -logic is embedded at the time of building, so it might not match the version of the requirements that was resolved -by Conan, and for sure, the other dynamic libraries won't be used, only the ones linked directly by the consumer -project. See a more detailed [example here](https://github.com/conan-io/conan/issues/9712). - -In order to consume all those libraries as shared ones, building from sources is needed. This can be -easily achievable using `*:shared=True` in the _host_ profile and `--build` in the install command. With these inputs, -Conan will build from sources all the packages and use the shared libraries when linking. - -> **Note**: If you are hosting your own recipes, the proper solution for recipes would be to use something like -> [`shared_library_package_id`](https://docs.conan.io/1/reference/conanfile/methods.html?highlight=shared_library_package_id#self-info-shared-library-package-id), -> that will encode this information in the package ID and ensure that any change in the static libraries that are -> embedded into a shared one is taken into account when computing the package ID. -> -> In this repository we are not using it, because it will lead to many missing packages, making it impossible -> for the CI to actually build consumers in PRs. +When the CI builds packages with the option `*/*:shared=True`, this option is applied not only to the package being created but also to its requirements. +Since the default value for the shared option is typically `False`, you can generally expect that the dependency graph will consist of static libraries, +except for packages specifically defined with `package_type = "shared-library"`. -## How to watch only specific recipes? - -The [Code Owners](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) feature requires -write permission for any listed user in the file `.github/CODEOWNERS`, which makes it impossible to be accepted by Conan. However, that file is still important as it can be re-used in -a future Github Action to parse and communicate users. Meanwhile, there is the project https://app.github-file-watcher.com/, -which is able to notify users, but only after merging to the master branch. Feel free to contribute to a new Github Action that -implements a file watcher feature. - -## Is it possible to disable Pylint? - -No. The [pylint](v2_linter.md) has an important role of keeping any recipe prepared for [Conan v2 migration](v2_migration.md). In case you are having -difficult to understand [linter errors](linters.md), please comment on your pull request about the problem to receive help from the community. - -## How long can I be inactive before being removed from the authorized users list? - -Please, read [Inactivity and user removal section](adding_packages/README.md#inactivity-and-user-removal). - -## What happens in case I change my user name? - -Your Github user name is used to identify you in the authorized users list. If you change your user name, you will need to communicate or, in the #4, or opening a new issue. -Otherwise, the CI will not be able to find you and will not build your pull requests. -In case you change you user name just after asking for authorization in #4, please, communicate the change in the same issue. -Users are revised before being added to the authorized users list, in case the user name is not found in #4, it will be asked in the pull request `Update authorized users list`. -If the user does not answer, the user will be moved to the `waitlist_users.yml` file, until having further communication. +To work with a graph that includes only shared libraries, you must explicitly set the `-o */*:shared=True` option in your conan install command. +This ensures that the necessary shared libraries are included in your build environment. ## Can we add package which are parts of bigger projects like Boost? @@ -461,27 +388,3 @@ Generally no, these sorts of options can most likely be set from a profile or do and would otherwise dynamically embed this into the CMake config files or generated pkg-config files then it should be allowed. Doing so requires [deleting the option from the `package_id`](adding_packages/conanfile_attributes.md#removing-from-package_id). - -## Can I use full_package_mode for a requirement in my recipe? - -For some irregular projects, they may need to be aligned when being used as a requirement, using the very same version, options, and settings and maybe not mixing shared with static linkage. -Those projects usually break between patch versions and are very sensitive, so we can not use different versions through Conan graph dependencies, -otherwise, it may result in unexpected behavior or even runtime errors. - -A very known project is GLib, which requires the very same configuration to prevent multiple instances when using static linkage. -As a solution, we could consume GLib on full package id mode, like: - -```python -def package_id(self): - self.info.requires["glib"].full_package_mode() -``` - -Perfect solution on the consumer side, but there is a side-effect: CCI will not re-generate all involved packages for any change in the dependencies graph with which glib is associated, which means, users will start to see **MISSING_PACKAGES** error during their pull requests. -As a trade-off, it would be necessary to update all recipes involved, by opening new PRs, -then it should generate new packages, but it takes many days and still is a process that is not supported by CCI internally. - -To have more context about it, please, visit issues #11684 and #11022 - -In summary, we do not recommend `full_package_mode` or any other custom package id mode for requirements on CCI, it will break other PRs soon or later. -Instead, prefer using `shared=True` by default, when needed. -Also, when having a similar situation, do not hesitate in opening an issue explaining your case, and ask for support from the community. diff --git a/docs/labels.md b/docs/labels.md deleted file mode 100644 index b5f3f5d9cf396..0000000000000 --- a/docs/labels.md +++ /dev/null @@ -1,96 +0,0 @@ -# Labels - -We use [GitHub labels](https://github.com/conan-io/conan-center-index/labels) to signal the status -of pull-requests and issues. Here you can find more information about the ones that have some -special meaning: - - -## Contents - - * [Bump dependencies](#bump-dependencies) - * [Bump version](#bump-version) - * [C3I Conan2 Ready](#c3i-conan2-ready) - * [Infrastructure](#infrastructure) - * [Stale](#stale) - * [Unexpected Error](#unexpected-error) - * [User-approval pending](#user-approval-pending) - * [Library Request](#library-request) - * [Question](#question) - * [Upstream Update](#upstream-update) - * [conan.io/center](#conaniocenter) - -## Bump dependencies - -Label [`Bump dependencies`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3A%22Bump+dependencies%22+) -is assigned by the bot to pull-requests that are just upgrading the version of the requirements that were already in the -recipe. - -> These pull-requests will be merged right away without requiring any approval (CI and CLA checks must have passed). - -If the pull request modifies anything else, the label won't be assigned, we need to be very careful about false positives. - -## Bump version - -Label [`Bump version`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3A%22Bump+version%22) -is assigned by the bot to pull-requests that are just adding a new version of the library. The new version should satisfy -some extra conditions: sources should provide from the same URL domain as previous versions. -For now, only [SEMVER](https://semver.org/#semantic-versioning-200) and `` are acceptable version formats. - -> These pull-requests will be merged right away without requiring any approval (CI and CLA checks must have passed). - -If the pull request modifies anything else, the label won't be assigned, we need to be very careful about false positives. - -## C3I Conan2 Ready - -Label [`c3i-conan2-ready`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3A%22c3i-conan2-ready%22) -is assigned by the bot to pull-requests that are just adding a new package references which passed by Conan v2 and are not listed in `.c3i/conan_v2_ready_references.yml`. -This is a regression test, in case package is working with Conan v2, it can not be merged in a future pull request in case of failure. - -> These pull-requests will be merged right away without requiring any approval (CI and CLA checks must have passed). - -Only team members can open a pull request with these changes. - -## Infrastructure - -Label [`infrastructure`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3Ainfrastructure) is -manually assigned to pull requests that are waiting for something on the infrastructure side. Usually they are blocked and -cannot succeed because they need some tools, more memory,... these pull requests won't be marked as `stale`. - -## Stale - -Label [`stale`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3Astale) is assigned to -pull requests without any activity during a long period of time. These pull requests will be closed if they don't get -any further activity. - -## Unexpected Error - -Label [`Unexpected Error`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3A%22Unexpected+Error%22) -is assigned by the CI when the process finishes abnormally. -Usually it is some _random_ internal error and it won't happen next time the CI runs. -The CI will re-start your build automatically, the Github check `continuous-integration/jenkins/pr-merge` -will be changed to the status `Pending — This commit is being built` to signalize as running. - -> **Note**: Manually restarting a new build, by closing/opening the PR, will be added to the end of the CI build queue. - -## User-approval pending - -Label [`User-approval pending`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3A%22User-approval+pending%22) -signals the pull request that have been submitted by an user who is not yet approved in ConanCenter. Once the user is -approved these pull requests will be triggered again automatically. - -## Library Request - -Request a new package to be created. - -## Question - -Further information is requested. Usually these are for issue where help is needed to solve a specific issue. These are a great way -to look for advice or recommendation about making changes to recipes. - -## Upstream Update - -Request a bump of a new package version. - -## conan.io/center - -Issues and features related to Web UI. diff --git a/docs/linters.md b/docs/linters.md deleted file mode 100644 index 075f373f209ef..0000000000000 --- a/docs/linters.md +++ /dev/null @@ -1,34 +0,0 @@ -# ConanCenterIndex Linters - -Some linter configuration files are available in the folder [linter](../linter), which are executed by Github Actions -and are displayed during [code review](https://github.com/features/code-review) as annotations, to improve recipe quality. -They consume python scripts which are executed to fit CCI rules. Those scripts use [astroid](https://github.com/PyCQA/astroid) -and [pylint](https://pylint.pycqa.org/en/latest/) classes to parse Conan recipe files and manage their warnings and errors. - -Pylint by itself is not able to find ConanCenterIndex rules, so astroid is used to iterate over a conanfile's content and -validate CCI requirements. Pylint uses an [rcfile](https://pylint.pycqa.org/en/latest/user_guide/configuration/index.html) -to configure plugins, warnings and errors which should be enabled or disabled. - - -## Contents - - * [Understanding the different linters](#understanding-the-different-linters) - * [Running the linters locally](#running-the-linters-locally) - * [Pylint configuration files](#pylint-configuration-files) - -## Understanding the different linters - -There's a three classes of linters currently in place for ConanCenterIndex - -- ConanCenter Hook - these are responsible for validating the structure of the recipes and packages. -- Pylint Linter - these are used to ensure the code quality and conventions of a recipes (i.e `conanfile.py`) -- Yaml Checks - stylistic guidance and schema validation check for support files and best practices - -## Running the linters locally - -Check the [Developing Recipes](developing_recipes_locally.md) for more information on each of the three linters. - -## Pylint configuration files - -- [Pylint Recipe](../linter/pylintrc_recipe): This `rcfile` lists plugins and rules to be executed over all recipes (not test package) and validate them. -- [Pylint Test Package Recipe](../linter/pylintrc_testpackage): This `rcfile` lists plugins and rules to be executed over all recipes in test package folders only: diff --git a/docs/package_templates/README.md b/docs/package_templates/README.md index 76d696e57b0a0..1ea369a63a8ee 100644 --- a/docs/package_templates/README.md +++ b/docs/package_templates/README.md @@ -12,7 +12,7 @@ It's listed under [cmake_package](cmake_package) folder. It fits projects which #### Header only -It's listed under [header_only](header_only) folder. It fits projects which only copy header and have the same package ID always. +It's listed under [header_only](header_only) folder. It fits projects which only copy header and have the same package ID always. Please note that if the library in question does have a build system (e.g. CMake, Meson, Autotools) that contains install logic - that should be the preferred starting point for the recipe. Copying files directly into the package folder should be reserved for header only libraries where the upstream project does not provide this functionality. #### MSBuild package diff --git a/docs/package_templates/autotools_package/all/conandata.yml b/docs/package_templates/autotools_package/all/conandata.yml index 629a5640adc16..e11d72dbcdc2b 100644 --- a/docs/package_templates/autotools_package/all/conandata.yml +++ b/docs/package_templates/autotools_package/all/conandata.yml @@ -1,17 +1,13 @@ sources: - # Newer versions at the top "1.2.0": url: - "https://mirror1.net/package-1.2.0.tar.gz" - "https://mirror2.net/package-1.2.0.tar.gz" sha256: "________________________________________________________________" "1.1.0": - url: - - "https://mirror1.net/package-1.1.0.tar.gz" - - "https://mirror2.net/package-1.1.0.tar.gz" + url: "https://mirror2.net/package-1.1.0.tar.gz" sha256: "________________________________________________________________" patches: - # Newer versions at the top "1.1.0": - patch_file: "patches/0001-fix-cmake.patch" patch_description: "correct the order of cmake min and project" diff --git a/docs/package_templates/autotools_package/all/conanfile.py b/docs/package_templates/autotools_package/all/conanfile.py index c08a33c668f62..db295ffc21b40 100644 --- a/docs/package_templates/autotools_package/all/conanfile.py +++ b/docs/package_templates/autotools_package/all/conanfile.py @@ -2,16 +2,15 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name from conan.tools.build import check_min_cppstd, cross_building -from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv +from conan.tools.env import Environment, VirtualRunEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain, PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, unix_path -from conan.tools.scm import Version import os -required_conan_version = ">=1.54.0" +required_conan_version = ">=2.0.9" # # INFO: Please, remove all comments before pushing your PR! @@ -22,13 +21,13 @@ class PackageConan(ConanFile): name = "package" description = "short description" # Use short name only, conform to SPDX License List: https://spdx.org/licenses/ - # In case not listed there, use "LicenseRef-" + # In case not listed there, use "DocumentRef-:LicenseRef-" license = "" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/project/package" # no "conan" and project name in topics. Use topics from the upstream listed on GH topics = ("topic1", "topic2", "topic3") - # package_type should usually be "library" (if there is shared option) + # package_type should usually be "library", "shared-library" or "static-library" package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -41,73 +40,53 @@ class PackageConan(ConanFile): "fPIC": True, "with_foobar": True, } - - @property - def _min_cppstd(self): - return 14 - - # in case the project requires C++14/17/20/... the minimum compiler version should be listed - @property - def _compilers_minimum_version(self): - return { - "apple-clang": "10", - "clang": "7", - "gcc": "7", - "msvc": "191", - "Visual Studio": "15", - } - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) + # In case having config_options() or configure() method, the logic should be moved to the specific methods. + implements = ["auto_shared_fpic"] # no exports_sources attribute, but export_sources(self) method instead - # this allows finer grain exportation of patches per version def export_sources(self): export_conandata_patches(self) - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - def configure(self): + # Keep this logic only in case configure() is needed e.g pure-c project. + # Otherwise remove configure() and auto_shared_fpic will manage it. if self.options.shared: self.options.rm_safe("fPIC") - # for plain C projects only + # for plain C projects only. Otherwise, remove this method. self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") def layout(self): - # src_folder must use the same source folder name the project basic_layout(self, src_folder="src") def requirements(self): - # prefer self.requires method instead of requires attribute + # Prefer self.requirements() method instead of self.requires attribute. self.requires("dependency/0.8.1") if self.options.with_foobar: + # INFO: used in foo/baz.hpp:34 self.requires("foobar/0.1.0") + # Some dependencies on CCI are allowed to use version ranges. + # See https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/dependencies.md#version-ranges + self.requires("openssl/[>=1.1 <4]") def validate(self): # validate the minimum cpp standard supported. Only for C++ projects - if self.settings.compiler.get_safe("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." - ) + check_min_cppstd(self, 14) + + # Always comment the reason including the upstream issue. + # INFO: Upstream only support Unix systems. See if self.settings.os not in ["Linux", "FreeBSD", "Macos"]: raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") - # if another tool than the compiler or autotools is required to build the project (pkgconf, bison, flex etc) + # if a tool other than the compiler or autotools is required to build the project (pkgconf, bison, flex etc) def build_requirements(self): # only if we have to call autoreconf self.tool_requires("libtool/x.y.z") # only if upstream configure.ac relies on PKG_CHECK_MODULES macro if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/[>=1.2.3 <2]") + self.tool_requires("pkgconf/[>=2.2 <3]") # required to suppport windows as a build machine - if self._settings_build.os == "Windows": + if self.settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): self.tool_requires("msys2/cci.latest") @@ -118,17 +97,16 @@ def build_requirements(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + # apply patches listed in conandata.yml + # Using patches is always the last resort to fix issues. If possible, try to fix the issue in the upstream project. + apply_conandata_patches(self) def generate(self): - # inject tool_requires env vars in build scope (not needed if there is no tool_requires) - env = VirtualBuildEnv(self) - env.generate() - # inject requires env vars in build scope + # inject required env vars into the build scope # it's required in case of native build when there is AutotoolsDeps & at least one dependency which might be shared, because configure tries to run a test executable if not cross_building(self): - env = VirtualRunEnv(self) - env.generate(scope="build") - # --fpic is automatically managed when 'fPIC'option is declared + VirtualRunEnv(self).generate(scope="build") + # --fpic is automatically managed when 'fPIC' option is declared # --enable/disable-shared is automatically managed when 'shared' option is declared tc = AutotoolsToolchain(self) # autotools usually uses 'yes' and 'no' to enable/disable options @@ -143,8 +121,10 @@ def yes_no(v): return "yes" if v else "no" tc = PkgConfigDeps(self) tc.generate() # generate dependencies for autotools - tc = AutotoolsDeps(self) - tc.generate() + # some recipes might require a workaround for MSVC (https://github.com/conan-io/conan/issues/12784): + # https://github.com/conan-io/conan-center-index/blob/00ce907b910d0d772f1c73bb699971c141c423c1/recipes/xapian-core/all/conanfile.py#L106-L135 + deps = AutotoolsDeps(self) + deps.generate() # If Visual Studio is supported if is_msvc(self): @@ -158,7 +138,7 @@ def yes_no(v): return "yes" if v else "no" env.define("CC", f"{compile_wrapper} cl -nologo") env.define("CXX", f"{compile_wrapper} cl -nologo") env.define("LD", "link -nologo") - env.define("AR", f"{ar_wrapper} \"lib -nologo\"") + env.define("AR", f"{ar_wrapper} lib") env.define("NM", "dumpbin -symbols") env.define("OBJDUMP", ":") env.define("RANLIB", ":") @@ -166,8 +146,7 @@ def yes_no(v): return "yes" if v else "no" env.vars(self).save_script("conanbuild_msvc") def build(self): - # apply patches listed in conandata.yml - apply_conandata_patches(self) + autotools = Autotools(self) # (optional) run autoreconf to regenerate configure file (libtool should be in tool_requires) autotools.autoreconf() @@ -180,8 +159,9 @@ def package(self): autotools = Autotools(self) autotools.install() - # some files extensions and folders are not allowed. Please, read the FAQs to get informed. + # Some files extensions and folders are not allowed. Please, read the FAQs to get informed. rm(self, "*.la", os.path.join(self.package_folder, "lib")) + # Consider disabling these at first to verify that the package_info() output matches the info exported by the project. rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) @@ -191,7 +171,7 @@ def package(self): def package_info(self): self.cpp_info.libs = ["package_lib"] - # if package provides a pkgconfig file (package.pc, usually installed in /lib/pkgconfig/) + # if the package provides a pkgconfig file (package.pc, usually installed in /lib/pkgconfig/) self.cpp_info.set_property("pkg_config_name", "package") # If they are needed on Linux, m, pthread and dl are usually needed on FreeBSD too diff --git a/docs/package_templates/autotools_package/all/test_package/CMakeLists.txt b/docs/package_templates/autotools_package/all/test_package/CMakeLists.txt index 006bc198df7b0..c16ec6d748476 100644 --- a/docs/package_templates/autotools_package/all/test_package/CMakeLists.txt +++ b/docs/package_templates/autotools_package/all/test_package/CMakeLists.txt @@ -1,11 +1,7 @@ cmake_minimum_required(VERSION 3.15) -project(test_package LANGUAGES C) # if the project is pure C -# project(test_package LANGUAGES CXX) # if the project uses c++ +project(test_package LANGUAGES CXX) find_package(package REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.c) -# don't link to ${CONAN_LIBS} or CONAN_PKG::package +add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE package::package) -# In case the target project need a specific C++ standard -# target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/docs/package_templates/autotools_package/all/test_package/conanfile.py b/docs/package_templates/autotools_package/all/test_package/conanfile.py index 0a808db45f245..2e77b4246fa81 100644 --- a/docs/package_templates/autotools_package/all/test_package/conanfile.py +++ b/docs/package_templates/autotools_package/all/test_package/conanfile.py @@ -4,11 +4,9 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" - test_type = "explicit" + generators = "CMakeDeps", "CMakeToolchain" def layout(self): cmake_layout(self) diff --git a/docs/package_templates/autotools_package/all/test_package/test_package.c b/docs/package_templates/autotools_package/all/test_package/test_package.c deleted file mode 100644 index f949b7f4a20f4..0000000000000 --- a/docs/package_templates/autotools_package/all/test_package/test_package.c +++ /dev/null @@ -1,16 +0,0 @@ -#include -#include -#include "package/foobar.h" // Make sure includes work as expected - - -int main(void) { - printf("Create a minimal usage for the target project here.\n"); - printf("Avoid big examples, bigger than 100 lines\n"); - printf("Avoid networking connections.\n"); - printf("Avoid background apps or servers.\n"); - printf("The propose is testing the generated artifacts only.\n"); - - foobar_print_version(); // Make sure to call something that will require linkage for compiled libraries - - return EXIT_SUCCESS; -} diff --git a/docs/package_templates/autotools_package/all/test_package/test_package.cpp b/docs/package_templates/autotools_package/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..2746a345c92f8 --- /dev/null +++ b/docs/package_templates/autotools_package/all/test_package/test_package.cpp @@ -0,0 +1,21 @@ +#include +#include "package/foobar.h" + + +int main(void) { + /* + * TODO: Remove this comment before pushing the testing code; + * + * Create a minimal usage for the target project here; + * Avoid upstream full examples, or code bigger than 15 lines; + * Avoid networking connections; + * Avoid background apps or servers; + * Avoid GUI apps; + * Avoid extra files like images, sounds and other binaries; + * The propose is testing the generated artifacts ONLY; + */ + + foobar_print_version(); // Make sure to call something that will require linkage for compiled libraries + + return EXIT_SUCCESS; +} diff --git a/docs/package_templates/cmake_package/all/conandata.yml b/docs/package_templates/cmake_package/all/conandata.yml index 629a5640adc16..dacc527595b61 100644 --- a/docs/package_templates/cmake_package/all/conandata.yml +++ b/docs/package_templates/cmake_package/all/conandata.yml @@ -1,17 +1,13 @@ sources: - # Newer versions at the top "1.2.0": url: - "https://mirror1.net/package-1.2.0.tar.gz" - "https://mirror2.net/package-1.2.0.tar.gz" sha256: "________________________________________________________________" "1.1.0": - url: - - "https://mirror1.net/package-1.1.0.tar.gz" - - "https://mirror2.net/package-1.1.0.tar.gz" + url: "https://mirror1.net/package-1.1.0.tar.gz" sha256: "________________________________________________________________" patches: - # Newer versions at the top "1.1.0": - patch_file: "patches/0001-fix-cmake.patch" patch_description: "correct the order of cmake min and project" diff --git a/docs/package_templates/cmake_package/all/conanfile.py b/docs/package_templates/cmake_package/all/conanfile.py index 9635abc398ca9..50a593703f186 100644 --- a/docs/package_templates/cmake_package/all/conanfile.py +++ b/docs/package_templates/cmake_package/all/conanfile.py @@ -2,14 +2,12 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir -from conan.tools.microsoft import check_min_vs, is_msvc, is_msvc_static_runtime -from conan.tools.scm import Version +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0.9" # # INFO: Please, remove all comments before pushing your PR! @@ -20,13 +18,13 @@ class PackageConan(ConanFile): name = "package" description = "short description" # Use short name only, conform to SPDX License List: https://spdx.org/licenses/ - # In case not listed there, use "LicenseRef-" + # In case not listed there, use "DocumentRef-:LicenseRef-" license = "" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/project/package" # no "conan" and project name in topics. Use topics from the upstream listed on GH topics = ("topic1", "topic2", "topic3") - # package_type should usually be "library" (if there is shared option) + # package_type should usually be "library", "shared-library" or "static-library" package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -37,32 +35,16 @@ class PackageConan(ConanFile): "shared": False, "fPIC": True, } - - @property - def _min_cppstd(self): - return 14 - - # in case the project requires C++14/17/20/... the minimum compiler version should be listed - @property - def _compilers_minimum_version(self): - return { - "apple-clang": "10", - "clang": "7", - "gcc": "7", - "msvc": "191", - "Visual Studio": "15", - } + # In case having config_options() or configure() method, the logic should be moved to the specific methods. + implements = ["auto_shared_fpic"] # no exports_sources attribute, but export_sources(self) method instead - # this allows finer grain exportation of patches per version def export_sources(self): export_conandata_patches(self) - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - def configure(self): + # Keep this logic only in case configure() is needed e.g pure-c project. + # Otherwise remove configure() and auto_shared_fpic will manage it. if self.options.shared: self.options.rm_safe("fPIC") # for plain C projects only @@ -70,62 +52,52 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") def layout(self): - # src_folder must use the same source folder name the project cmake_layout(self, src_folder="src") def requirements(self): - # prefer self.requires method instead of requires attribute + # Always prefer self.requirements() method instead of self.requires attribute. self.requires("dependency/0.8.1") + if self.options.with_foobar: + # INFO: used in foo/baz.hpp:34 + self.requires("foobar/0.1.0", transitive_headers=True, transitive_libs=True) + # Some dependencies on CCI are allowed to use version ranges. + # See https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/dependencies.md#version-ranges + self.requires("openssl/[>=1.1 <4]") def validate(self): - # validate the minimum cpp standard supported. For C++ projects only - 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." - ) - # in case it does not work in another configuration, it should validated here too + # validate the minimum cpp standard supported. For C++ projects only. + check_min_cppstd(self, 14) + # in case it does not work in another configuration, it should be validated here. Always comment the reason including the upstream issue. + # INFO: Upstream does not support DLL: See if is_msvc(self) and self.options.shared: raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") - # if another tool than the compiler or CMake is required to build the project (pkgconf, bison, flex etc) + # if a tool other than the compiler or CMake newer than 3.15 is required to build the project (pkgconf, bison, flex etc) def build_requirements(self): - self.tool_requires("tool/x.y.z") + self.tool_requires("cmake/[>=3.16 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + # Using patches is always the last resort to fix issues. If possible, try to fix the issue in the upstream project. + apply_conandata_patches(self) def generate(self): - # BUILD_SHARED_LIBS and POSITION_INDEPENDENT_CODE are automatically parsed when self.options.shared or self.options.fPIC exist + # BUILD_SHARED_LIBS and POSITION_INDEPENDENT_CODE are set automatically as tc.variables when self.options.shared or self.options.fPIC exist tc = CMakeToolchain(self) # Boolean values are preferred instead of "ON"/"OFF" - tc.variables["PACKAGE_CUSTOM_DEFINITION"] = True + tc.cache_variables["PACKAGE_BUILD_TESTS"] = False if is_msvc(self): - # don't use self.settings.compiler.runtime - tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) - # deps_cpp_info, deps_env_info and deps_user_info are no longer used - if self.dependencies["dependency"].options.foobar: - tc.variables["DEPENDENCY_LIBPATH"] = self.dependencies["dependency"].cpp_info.libdirs - # cache_variables should be used sparingly, example setting cmake policies - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" - tc.generate() - # In case there are dependencies listed on requirements, CMakeDeps should be used - tc = CMakeDeps(self) + tc.cache_variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) tc.generate() - # In case there are dependencies listed on build_requirements, VirtualBuildEnv should be used - tc = VirtualBuildEnv(self) - tc.generate(scope="build") - def _patch_sources(self): - apply_conandata_patches(self) - # remove bundled xxhash - rm(self, "whateer.*", os.path.join(self.source_folder, "lib")) - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "...", "") + # In case there are dependencies listed under requirements, CMakeDeps should be used + deps = CMakeDeps(self) + # You can override the CMake package and target names if they don't match the names used in the project + deps.set_property("fontconfig", "cmake_file_name", "Fontconfig") + deps.set_property("fontconfig", "cmake_target_name", "Fontconfig::Fontconfig") + deps.generate() def build(self): - self._patch_sources() # It can be apply_conandata_patches(self) only in case no more patches are needed cmake = CMake(self) cmake.configure() cmake.build() @@ -135,17 +107,16 @@ def package(self): cmake = CMake(self) cmake.install() - # some files extensions and folders are not allowed. Please, read the FAQs to get informed. + # Some files extensions and folders are not allowed. Please, read the FAQs to get informed. + # Consider disabling these at first to verify that the package_info() output matches the info exported by the project. rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "share")) - rm(self, "*.la", os.path.join(self.package_folder, "lib")) - rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) - rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + rm(self, "*.pdb", self.package_folder, recursive=True) def package_info(self): + # library name to be packaged self.cpp_info.libs = ["package_lib"] - # if package has an official FindPACKAGE.cmake listed in https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html#find-modules # examples: bzip2, freetype, gdal, icu, libcurl, libjpeg, libpng, libtiff, openssl, sqlite3, zlib... self.cpp_info.set_property("cmake_module_file_name", "PACKAGE") @@ -161,9 +132,3 @@ def package_info(self): self.cpp_info.system_libs.append("m") self.cpp_info.system_libs.append("pthread") self.cpp_info.system_libs.append("dl") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "PACKAGE" - self.cpp_info.filenames["cmake_find_package_multi"] = "package" - self.cpp_info.names["cmake_find_package"] = "PACKAGE" - self.cpp_info.names["cmake_find_package_multi"] = "package" diff --git a/docs/package_templates/cmake_package/all/test_package/CMakeLists.txt b/docs/package_templates/cmake_package/all/test_package/CMakeLists.txt index b1b30db795a84..c16ec6d748476 100644 --- a/docs/package_templates/cmake_package/all/test_package/CMakeLists.txt +++ b/docs/package_templates/cmake_package/all/test_package/CMakeLists.txt @@ -1,12 +1,7 @@ cmake_minimum_required(VERSION 3.15) - -project(test_package LANGUAGES C) # if the project is pure C -# project(test_package LANGUAGES CXX) # if the project uses c++ +project(test_package LANGUAGES CXX) find_package(package REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -# don't link to ${CONAN_LIBS} or CONAN_PKG::package target_link_libraries(${PROJECT_NAME} PRIVATE package::package) -# In case the target project need a specific C++ standard -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/docs/package_templates/cmake_package/all/test_package/conanfile.py b/docs/package_templates/cmake_package/all/test_package/conanfile.py index 02eb5ce439fb4..2e77b4246fa81 100644 --- a/docs/package_templates/cmake_package/all/test_package/conanfile.py +++ b/docs/package_templates/cmake_package/all/test_package/conanfile.py @@ -4,18 +4,16 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) + generators = "CMakeDeps", "CMakeToolchain" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/docs/package_templates/cmake_package/all/test_package/config.yml b/docs/package_templates/cmake_package/all/test_package/config.yml new file mode 100644 index 0000000000000..d07c95e596619 --- /dev/null +++ b/docs/package_templates/cmake_package/all/test_package/config.yml @@ -0,0 +1,5 @@ +versions: + "1.2.0": + folder: all + "1.1.0": + folder: all diff --git a/docs/package_templates/cmake_package/all/test_package/test_package.cpp b/docs/package_templates/cmake_package/all/test_package/test_package.cpp index 8e653f30a5476..7480c357a3b18 100644 --- a/docs/package_templates/cmake_package/all/test_package/test_package.cpp +++ b/docs/package_templates/cmake_package/all/test_package/test_package.cpp @@ -1,14 +1,19 @@ #include -#include #include "package/foobar.hpp" int main(void) { - std::cout << "Create a minimal usage for the target project here." << std::endl; - std::cout << "Avoid big examples, bigger than 100 lines" << std::endl; - std::cout << "Avoid networking connections." << std::endl; - std::cout << "Avoid background apps or servers." << std::endl; - std::cout << "The propose is testing the generated artifacts only." << std::endl; + /* + * TODO: Remove this comment before pushing the testing code; + * + * Create a minimal usage for the target project here; + * Avoid upstream full examples, or code bigger than 15 lines; + * Avoid networking connections; + * Avoid background apps or servers; + * Avoid GUI apps; + * Avoid extra files like images, sounds and other binaries; + * The propose is testing the generated artifacts ONLY; + */ foobar.print_version(); diff --git a/docs/package_templates/cmake_package/config.yml b/docs/package_templates/cmake_package/config.yml index a885cbf942a74..d07c95e596619 100644 --- a/docs/package_templates/cmake_package/config.yml +++ b/docs/package_templates/cmake_package/config.yml @@ -1,5 +1,4 @@ versions: - # Newer versions at the top "1.2.0": folder: all "1.1.0": diff --git a/docs/package_templates/header_only/all/conandata.yml b/docs/package_templates/header_only/all/conandata.yml index 629a5640adc16..e11d72dbcdc2b 100644 --- a/docs/package_templates/header_only/all/conandata.yml +++ b/docs/package_templates/header_only/all/conandata.yml @@ -1,17 +1,13 @@ sources: - # Newer versions at the top "1.2.0": url: - "https://mirror1.net/package-1.2.0.tar.gz" - "https://mirror2.net/package-1.2.0.tar.gz" sha256: "________________________________________________________________" "1.1.0": - url: - - "https://mirror1.net/package-1.1.0.tar.gz" - - "https://mirror2.net/package-1.1.0.tar.gz" + url: "https://mirror2.net/package-1.1.0.tar.gz" sha256: "________________________________________________________________" patches: - # Newer versions at the top "1.1.0": - patch_file: "patches/0001-fix-cmake.patch" patch_description: "correct the order of cmake min and project" diff --git a/docs/package_templates/header_only/all/conanfile.py b/docs/package_templates/header_only/all/conanfile.py index 6e443b6024963..6615ea677d66a 100644 --- a/docs/package_templates/header_only/all/conanfile.py +++ b/docs/package_templates/header_only/all/conanfile.py @@ -3,101 +3,73 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.layout import basic_layout -from conan.tools.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=2.0" class PackageConan(ConanFile): name = "package" description = "short description" # Use short name only, conform to SPDX License List: https://spdx.org/licenses/ - # In case it's not listed there, use "LicenseRef-" + # In case it's not listed there, use "DocumentRef-:LicenseRef-" license = "" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/project/package" # Do not put "conan" nor the project name in topics. Use topics from the upstream listed on GH - # Keep 'header-only' as topic + # Include 'header-only' as a topic topics = ("topic1", "topic2", "topic3", "header-only") package_type = "header-library" - # Keep these or explain why it's not required for this particular case settings = "os", "arch", "compiler", "build_type" # Do not copy sources to build folder for header only projects, unless you need to apply patches no_copy_source = True - @property - def _min_cppstd(self): - return 14 - - # In case the project requires C++14/17/20/... the minimum compiler version should be listed - @property - def _compilers_minimum_version(self): - return { - "apple-clang": "10", - "clang": "7", - "gcc": "7", - "msvc": "191", - "Visual Studio": "15", - } - # Use the export_sources(self) method instead of the exports_sources attribute. - # This allows finer grain exportation of patches per version def export_sources(self): export_conandata_patches(self) def layout(self): - # src_folder must use the same source folder name than the project basic_layout(self, src_folder="src") def requirements(self): # Prefer self.requires method instead of requires attribute # Direct dependencies of header only libs are always transitive since they are included in public headers - self.requires("dependency/0.8.1", transitive_headers=True) + self.requires("dependency/0.8.1") + # Some dependencies on CCI are allowed to use version ranges. + # See https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/dependencies.md#version-ranges + self.requires("openssl/[>=1.1 <4]") # same package ID for any package def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler.get_safe("cppstd"): - # Validate the minimum cpp standard supported when installing the package. For C++ projects only - 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." - ) - - # In case this library does not work in some another configuration, it should be validated here too + # Validate the minimum cpp standard supported when installing the package. For C++ projects only + check_min_cppstd(self, 14) + # in case it does not work in another configuration, it should be validated here. Always comment the reason including the upstream issue. + # INFO: Upstream does not support DLL: See if self.settings.os == "Windows": raise ConanInvalidConfiguration(f"{self.ref} can not be used on Windows.") def source(self): # Download source package and extract to source folder get(self, **self.conan_data["sources"][self.version], strip_root=True) - - # Not mandatory when there is no patch, but will suppress warning message about missing build() method - def build(self): # The attribute no_copy_source should not be used when applying patches in build + # Using patches is always the last resort to fix issues. If possible, try to fix the issue in the upstream project. apply_conandata_patches(self) + # Suppress warning message about missing build() method when running Conan + def build(self): + pass + # Copy all files to the package folder def package(self): copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) - copy( - self, - "*.h", - os.path.join(self.source_folder, "include"), - os.path.join(self.package_folder, "include"), - ) + # Prefer CMake.install() or similar in case the upstream offers an official method to install the headers. + copy(self, "*.h", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) def package_info(self): - # Folders not used for header-only - self.cpp_info.bindirs = [] - self.cpp_info.libdirs = [] - # Set these to the appropriate values if the package has an official FindPACKAGE.cmake # listed in https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html#find-modules # examples: bzip2, freetype, gdal, icu, libcurl, libjpeg, libpng, libtiff, openssl, sqlite3, zlib... @@ -111,12 +83,10 @@ def package_info(self): # (package.pc, usually installed in /lib/pkgconfig/) self.cpp_info.set_property("pkg_config_name", "package") + # Folders not used for header-only + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + # Add m, pthread and dl if needed in Linux/FreeBSD if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.extend(["dl", "m", "pthread"]) - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "PACKAGE" - self.cpp_info.filenames["cmake_find_package_multi"] = "package" - self.cpp_info.names["cmake_find_package"] = "PACKAGE" - self.cpp_info.names["cmake_find_package_multi"] = "package" diff --git a/docs/package_templates/header_only/all/test_package/CMakeLists.txt b/docs/package_templates/header_only/all/test_package/CMakeLists.txt index eaac388e85a10..c16ec6d748476 100644 --- a/docs/package_templates/header_only/all/test_package/CMakeLists.txt +++ b/docs/package_templates/header_only/all/test_package/CMakeLists.txt @@ -1,11 +1,7 @@ cmake_minimum_required(VERSION 3.15) -project(test_package LANGUAGES C) # if the project is pure C -# project(test_package LANGUAGES CXX) # if the project uses c++ +project(test_package LANGUAGES CXX) find_package(package REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -# don't link to ${CONAN_LIBS} or CONAN_PKG::package target_link_libraries(${PROJECT_NAME} PRIVATE package::package) -# In case the target project need a specific C++ standard -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/docs/package_templates/header_only/all/test_package/conanfile.py b/docs/package_templates/header_only/all/test_package/conanfile.py index 0a808db45f245..2e77b4246fa81 100644 --- a/docs/package_templates/header_only/all/test_package/conanfile.py +++ b/docs/package_templates/header_only/all/test_package/conanfile.py @@ -4,11 +4,9 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" - test_type = "explicit" + generators = "CMakeDeps", "CMakeToolchain" def layout(self): cmake_layout(self) diff --git a/docs/package_templates/header_only/all/test_package/test_package.cpp b/docs/package_templates/header_only/all/test_package/test_package.cpp index 8e653f30a5476..7480c357a3b18 100644 --- a/docs/package_templates/header_only/all/test_package/test_package.cpp +++ b/docs/package_templates/header_only/all/test_package/test_package.cpp @@ -1,14 +1,19 @@ #include -#include #include "package/foobar.hpp" int main(void) { - std::cout << "Create a minimal usage for the target project here." << std::endl; - std::cout << "Avoid big examples, bigger than 100 lines" << std::endl; - std::cout << "Avoid networking connections." << std::endl; - std::cout << "Avoid background apps or servers." << std::endl; - std::cout << "The propose is testing the generated artifacts only." << std::endl; + /* + * TODO: Remove this comment before pushing the testing code; + * + * Create a minimal usage for the target project here; + * Avoid upstream full examples, or code bigger than 15 lines; + * Avoid networking connections; + * Avoid background apps or servers; + * Avoid GUI apps; + * Avoid extra files like images, sounds and other binaries; + * The propose is testing the generated artifacts ONLY; + */ foobar.print_version(); diff --git a/docs/package_templates/header_only/config.yml b/docs/package_templates/header_only/config.yml index a885cbf942a74..d07c95e596619 100644 --- a/docs/package_templates/header_only/config.yml +++ b/docs/package_templates/header_only/config.yml @@ -1,5 +1,4 @@ versions: - # Newer versions at the top "1.2.0": folder: all "1.1.0": diff --git a/docs/package_templates/meson_package/all/conandata.yml b/docs/package_templates/meson_package/all/conandata.yml index 629a5640adc16..e11d72dbcdc2b 100644 --- a/docs/package_templates/meson_package/all/conandata.yml +++ b/docs/package_templates/meson_package/all/conandata.yml @@ -1,17 +1,13 @@ sources: - # Newer versions at the top "1.2.0": url: - "https://mirror1.net/package-1.2.0.tar.gz" - "https://mirror2.net/package-1.2.0.tar.gz" sha256: "________________________________________________________________" "1.1.0": - url: - - "https://mirror1.net/package-1.1.0.tar.gz" - - "https://mirror2.net/package-1.1.0.tar.gz" + url: "https://mirror2.net/package-1.1.0.tar.gz" sha256: "________________________________________________________________" patches: - # Newer versions at the top "1.1.0": - patch_file: "patches/0001-fix-cmake.patch" patch_description: "correct the order of cmake min and project" diff --git a/docs/package_templates/meson_package/all/conanfile.py b/docs/package_templates/meson_package/all/conanfile.py index 172c9c688ab22..adb9f19600283 100644 --- a/docs/package_templates/meson_package/all/conanfile.py +++ b/docs/package_templates/meson_package/all/conanfile.py @@ -2,17 +2,15 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name from conan.tools.build import check_min_cppstd -from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain from conan.tools.microsoft import is_msvc -from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0" # # INFO: Please, remove all comments before pushing your PR! @@ -23,13 +21,13 @@ class PackageConan(ConanFile): name = "package" description = "short description" # Use short name only, conform to SPDX License List: https://spdx.org/licenses/ - # In case not listed there, use "LicenseRef-" + # In case not listed there, use "DocumentRef-:LicenseRef-" license = "" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/project/package" # no "conan" and project name in topics. Use topics from the upstream listed on GH topics = ("topic1", "topic2", "topic3") - # package_type should usually be "library" (if there is shared option) + # package_type should usually be "library", "shared-library" or "static-library" package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -42,56 +40,41 @@ class PackageConan(ConanFile): "fPIC": True, "feature": True, } - - @property - def _min_cppstd(self): - return 14 - - # in case the project requires C++14/17/20/... the minimum compiler version should be listed - @property - def _compilers_minimum_version(self): - return { - "apple-clang": "10", - "clang": "7", - "gcc": "7", - "msvc": "191", - "Visual Studio": "15", - } + # In case having config_options() or configure() method, the logic should be moved to the specific methods. + implements = ["auto_shared_fpic"] # no exports_sources attribute, but export_sources(self) method instead - # this allows finer grain exportation of patches per version def export_sources(self): export_conandata_patches(self) - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - def configure(self): + # Keep this logic only in case configure() is needed e.g pure-c project. + # Otherwise remove configure() and auto_shared_fpic will manage it. if self.options.shared: self.options.rm_safe("fPIC") - # for plain C projects only + # for plain C projects only. Otherwise, remove this method. self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") def layout(self): - # src_folder must use the same source folder name the project basic_layout(self, src_folder="src") def requirements(self): - # prefer self.requires method instead of requires attribute + # Prefer self.requirements() method instead of self.requires attribute. self.requires("dependency/0.8.1") + if self.options.with_foobar: + # INFO: used in foo/baz.hpp:34 + self.requires("foobar/0.1.0") + # Some dependencies on CCI are allowed to use version ranges. + # See https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/dependencies.md#version-ranges + self.requires("openssl/[>=1.1 <4]") def validate(self): # validate the minimum cpp standard supported. For C++ projects only - if self.settings.compiler.get_safe("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." - ) - # in case it does not work in another configuration, it should validated here too + check_min_cppstd(self, 14) + # in case it does not work in another configuration, it should be validated here too + # Always comment the reason including the upstream issue. + # INFO: Upstream does not support DLL: See if is_msvc(self) and self.info.options.shared: raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.") @@ -105,12 +88,14 @@ def build_requirements(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + # apply patches listed in conandata.yml + # Using patches is always the last resort to fix issues. If possible, try to fix the issue in the upstream project. + apply_conandata_patches(self) def generate(self): # Meson feature options must be set to "enabled" or "disabled" - feature = lambda option: "enabled" if option else "disabled" - - # default_library and b_staticpic are automatically parsed when self.options.shared and self.options.fpic exist + def feature(v): return "enabled" if v else "disabled" + # default_library and static and fpic are automatically parsed when self.options.shared and self.options.fpic exist # buildtype is automatically parsed for self.settings tc = MesonToolchain(self) # In case need to pass definitions directly to the compiler @@ -122,21 +107,11 @@ def generate(self): # Meson project options may vary their types tc.project_options["tests"] = False tc.generate() - # In case there are dependencies listed on requirements, PkgConfigDeps should be used - tc = PkgConfigDeps(self) - tc.generate() - # In case there are dependencies listed on build_requirements, VirtualBuildEnv should be used - tc = VirtualBuildEnv(self) - tc.generate() - - def _patch_sources(self): - apply_conandata_patches(self) - # remove bundled xxhash - rm(self, "whateer.*", os.path.join(self.source_folder, "lib")) - replace_in_file(self, os.path.join(self.source_folder, "meson.build"), "...", "") + # In case there are dependencies listed under requirements, PkgConfigDeps should be used + deps = PkgConfigDeps(self) + deps.generate() def build(self): - self._patch_sources() # It can be apply_conandata_patches(self) only in case no more patches are needed meson = Meson(self) meson.configure() meson.build() @@ -146,11 +121,11 @@ def package(self): meson = Meson(self) meson.install() - # some files extensions and folders are not allowed. Please, read the FAQs to get informed. + # Some files extensions and folders are not allowed. Please, read the FAQs to get informed. + # Consider disabling these at first to verify that the package_info() output matches the info exported by the project. rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) - rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) - rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + rm(self, "*.pdb", self.package_folder, recursive=True) # In shared lib/executable files, meson set install_name (macOS) to lib dir absolute path instead of @rpath, it's not relocatable, so fix it fix_apple_shared_install_name(self) diff --git a/docs/package_templates/meson_package/all/test_package/conanfile.py b/docs/package_templates/meson_package/all/test_package/conanfile.py index 3064d349d2d58..577771653eaef 100644 --- a/docs/package_templates/meson_package/all/test_package/conanfile.py +++ b/docs/package_templates/meson_package/all/test_package/conanfile.py @@ -5,11 +5,9 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "PkgConfigDeps", "MesonToolchain", "VirtualRunEnv", "VirtualBuildEnv" - test_type = "explicit" + generators = "PkgConfigDeps", "MesonToolchain" def layout(self): basic_layout(self) diff --git a/docs/package_templates/meson_package/all/test_package/test_package.cpp b/docs/package_templates/meson_package/all/test_package/test_package.cpp index 315875d954777..7480c357a3b18 100644 --- a/docs/package_templates/meson_package/all/test_package/test_package.cpp +++ b/docs/package_templates/meson_package/all/test_package/test_package.cpp @@ -1,16 +1,19 @@ #include -#include #include "package/foobar.hpp" int main(void) { /* - * Create a minimal usage for the target project here. - * Avoid big examples, bigger than 100 lines. - * Avoid networking connections. - * Avoid background apps or servers. - * The propose is testing the generated artifacts only. - */ + * TODO: Remove this comment before pushing the testing code; + * + * Create a minimal usage for the target project here; + * Avoid upstream full examples, or code bigger than 15 lines; + * Avoid networking connections; + * Avoid background apps or servers; + * Avoid GUI apps; + * Avoid extra files like images, sounds and other binaries; + * The propose is testing the generated artifacts ONLY; + */ foobar.print_version(); diff --git a/docs/package_templates/meson_package/config.yml b/docs/package_templates/meson_package/config.yml index a885cbf942a74..d07c95e596619 100644 --- a/docs/package_templates/meson_package/config.yml +++ b/docs/package_templates/meson_package/config.yml @@ -1,5 +1,4 @@ versions: - # Newer versions at the top "1.2.0": folder: all "1.1.0": diff --git a/docs/package_templates/msbuild_package/all/conandata.yml b/docs/package_templates/msbuild_package/all/conandata.yml index 629a5640adc16..5f2e653489b97 100644 --- a/docs/package_templates/msbuild_package/all/conandata.yml +++ b/docs/package_templates/msbuild_package/all/conandata.yml @@ -1,5 +1,4 @@ sources: - # Newer versions at the top "1.2.0": url: - "https://mirror1.net/package-1.2.0.tar.gz" @@ -11,7 +10,6 @@ sources: - "https://mirror2.net/package-1.1.0.tar.gz" sha256: "________________________________________________________________" patches: - # Newer versions at the top "1.1.0": - patch_file: "patches/0001-fix-cmake.patch" patch_description: "correct the order of cmake min and project" diff --git a/docs/package_templates/msbuild_package/all/conanfile.py b/docs/package_templates/msbuild_package/all/conanfile.py index ca164fc1620f8..9b7ee02a4107c 100644 --- a/docs/package_templates/msbuild_package/all/conanfile.py +++ b/docs/package_templates/msbuild_package/all/conanfile.py @@ -1,49 +1,40 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.layout import basic_layout from conan.tools.microsoft import MSBuild, MSBuildDeps, MSBuildToolchain, is_msvc import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0" class PackageConan(ConanFile): name = "package" description = "short description" # Use short name only, conform to SPDX License List: https://spdx.org/licenses/ - # In case not listed there, use "LicenseRef-" + # In case not listed there, use "DocumentRef-:LicenseRef-" license = "" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/project/package" # no "conan" and project name in topics. Use topics from the upstream listed on GH topics = ("topic1", "topic2", "topic3") - # package_type should usually be "library" (if there is shared option) + # package_type should usually be "library", "shared-library" or "static-library" package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False], } default_options = { "shared": False, - "fPIC": True, } # no exports_sources attribute, but export_sources(self) method instead - # this allows finer grain exportation of patches per version def export_sources(self): export_conandata_patches(self) - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - # for plain C projects only + # for plain C projects only. Otherwise, this method is not needed self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") @@ -51,11 +42,19 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - # prefer self.requires method instead of requires attribute + # Prefer self.requirements() method instead of self.requires attribute. self.requires("dependency/0.8.1") + if self.options.with_foobar: + # used in foo/baz.hpp:34 + self.requires("foobar/0.1.0") + # A small number of dependencies on CCI are allowed to use version ranges. + # See https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/dependencies.md#version-ranges + self.requires("openssl/[>=1.1 <4]") def validate(self): - # in case it does not work in another configuration, it should validated here too + # in case it does not work in another configuration, it should be validated here too + # Always comment the reason including the upstream issue. + # INFO: Upstream does not support DLL: See if not is_msvc(self): raise ConanInvalidConfiguration(f"{self.ref} can be built only by Visual Studio and msvc.") @@ -65,6 +64,9 @@ def build_requirements(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + # apply patches listed in conandata.yml + # Using patches is always the last resort to fix issues. If possible, try to fix the issue in the upstream project. + apply_conandata_patches(self) @property def _msbuild_configuration(self): @@ -88,37 +90,7 @@ def generate(self): deps.configuration = self._msbuild_configuration deps.generate() - def _patch_sources(self): - apply_conandata_patches(self) - # remove bundled xxhash - rm(self, "whateer.*", os.path.join(self.source_folder, "lib")) - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "...", "") - - # Allows to inject platform toolset, and props file generated by MSBuildToolchain & MSBuildDeps - # TODO: to remove once https://github.com/conan-io/conan/pull/12817 available in conan client - vcxproj_files = ["path/to/vcxproj_file1", "path/to/vcxproj_file2", "..."] - platform_toolset = MSBuildToolchain(self).toolset - import_conan_generators = "" - for props_file in ["conantoolchain.props", "conandeps.props"]: - props_path = os.path.join(self.generators_folder, props_file) - if os.path.exists(props_path): - import_conan_generators += f"" - for vcxproj_file in vcxproj_files: - replace_in_file( - self, vcxproj_file, - # change this v142 value depending on actual value in vcxproj file - "v142", - f"{platform_toolset}", - ) - if props_path: - replace_in_file( - self, vcxproj_file, - "", - f"{import_conan_generators}", - ) - def build(self): - self._patch_sources() # It can be apply_conandata_patches(self) only in case no more patches are needed msbuild = MSBuild(self) msbuild.build_type = self._msbuild_configuration # customize according the solution file and compiler version diff --git a/docs/package_templates/msbuild_package/all/test_package/CMakeLists.txt b/docs/package_templates/msbuild_package/all/test_package/CMakeLists.txt index 69086f9b189e8..c16ec6d748476 100644 --- a/docs/package_templates/msbuild_package/all/test_package/CMakeLists.txt +++ b/docs/package_templates/msbuild_package/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ cmake_minimum_required(VERSION 3.15) - -project(test_package LANGUAGES C) # if the project is pure C -# project(test_package LANGUAGES CXX) # if the project uses C++ +project(test_package LANGUAGES CXX) find_package(package REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -# don't link to ${CONAN_LIBS} or CONAN_PKG::package target_link_libraries(${PROJECT_NAME} PRIVATE package::package) diff --git a/docs/package_templates/msbuild_package/all/test_package/conanfile.py b/docs/package_templates/msbuild_package/all/test_package/conanfile.py index 02eb5ce439fb4..2e77b4246fa81 100644 --- a/docs/package_templates/msbuild_package/all/test_package/conanfile.py +++ b/docs/package_templates/msbuild_package/all/test_package/conanfile.py @@ -4,18 +4,16 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) + generators = "CMakeDeps", "CMakeToolchain" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/docs/package_templates/msbuild_package/all/test_package/test_package.cpp b/docs/package_templates/msbuild_package/all/test_package/test_package.cpp index 8e653f30a5476..7480c357a3b18 100644 --- a/docs/package_templates/msbuild_package/all/test_package/test_package.cpp +++ b/docs/package_templates/msbuild_package/all/test_package/test_package.cpp @@ -1,14 +1,19 @@ #include -#include #include "package/foobar.hpp" int main(void) { - std::cout << "Create a minimal usage for the target project here." << std::endl; - std::cout << "Avoid big examples, bigger than 100 lines" << std::endl; - std::cout << "Avoid networking connections." << std::endl; - std::cout << "Avoid background apps or servers." << std::endl; - std::cout << "The propose is testing the generated artifacts only." << std::endl; + /* + * TODO: Remove this comment before pushing the testing code; + * + * Create a minimal usage for the target project here; + * Avoid upstream full examples, or code bigger than 15 lines; + * Avoid networking connections; + * Avoid background apps or servers; + * Avoid GUI apps; + * Avoid extra files like images, sounds and other binaries; + * The propose is testing the generated artifacts ONLY; + */ foobar.print_version(); diff --git a/docs/package_templates/msbuild_package/config.yml b/docs/package_templates/msbuild_package/config.yml index a885cbf942a74..d07c95e596619 100644 --- a/docs/package_templates/msbuild_package/config.yml +++ b/docs/package_templates/msbuild_package/config.yml @@ -1,5 +1,4 @@ versions: - # Newer versions at the top "1.2.0": folder: all "1.1.0": diff --git a/docs/package_templates/prebuilt_tool_package/all/conandata.yml b/docs/package_templates/prebuilt_tool_package/all/conandata.yml index efcc89654623a..b9d6d85ec79e3 100644 --- a/docs/package_templates/prebuilt_tool_package/all/conandata.yml +++ b/docs/package_templates/prebuilt_tool_package/all/conandata.yml @@ -1,5 +1,4 @@ sources: - # Newer versions at the top "1.2.0": "Windows": "x86_64": diff --git a/docs/package_templates/prebuilt_tool_package/all/conanfile.py b/docs/package_templates/prebuilt_tool_package/all/conanfile.py index aa042fd087498..eb1d1e11e7805 100644 --- a/docs/package_templates/prebuilt_tool_package/all/conanfile.py +++ b/docs/package_templates/prebuilt_tool_package/all/conanfile.py @@ -5,7 +5,7 @@ import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=2.0" class PackageConan(ConanFile): @@ -19,7 +19,7 @@ class PackageConan(ConanFile): package_type = "application" settings = "os", "arch", "compiler", "build_type" # even for pre-built executables - # not needed but supress warning message from conan commands + # not needed but suppress warning message from conan commands def layout(self): pass @@ -37,7 +37,7 @@ def validate(self): def source(self): pass - # download the source here, than copy to package folder + # download the source here, then copy to package folder def build(self): get( self, @@ -58,7 +58,3 @@ def package_info(self): self.cpp_info.libdirs = [] self.cpp_info.resdirs = [] self.cpp_info.includedirs = [] - - # TODO: Legacy, to be removed on Conan 2.0 - bin_folder = os.path.join(self.package_folder, "bin") - self.env_info.PATH.append(bin_folder) diff --git a/docs/package_templates/prebuilt_tool_package/all/test_package/conanfile.py b/docs/package_templates/prebuilt_tool_package/all/test_package/conanfile.py index b3a58664b7d6b..0358d4cb99039 100644 --- a/docs/package_templates/prebuilt_tool_package/all/test_package/conanfile.py +++ b/docs/package_templates/prebuilt_tool_package/all/test_package/conanfile.py @@ -1,12 +1,12 @@ from conan import ConanFile -from conan.tools.build import can_run +from conan.tools.layout import basic_layout -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "VirtualBuildEnv" - test_type = "explicit" + + def layout(self): + basic_layout(self) def build_requirements(self): self.tool_requires(self.tested_reference_str) diff --git a/docs/package_templates/prebuilt_tool_package/config.yml b/docs/package_templates/prebuilt_tool_package/config.yml index a885cbf942a74..d07c95e596619 100644 --- a/docs/package_templates/prebuilt_tool_package/config.yml +++ b/docs/package_templates/prebuilt_tool_package/config.yml @@ -1,5 +1,4 @@ versions: - # Newer versions at the top "1.2.0": folder: all "1.1.0": diff --git a/docs/review_process.md b/docs/review_process.md index b5abea3471d39..bae426df1eaf6 100644 --- a/docs/review_process.md +++ b/docs/review_process.md @@ -1,133 +1,69 @@ # Review process Behind the scenes of conan-center-index, there is a heavily automated process to test and merge pull requests. -As there is a lot of activity from many users and various bots (e.g. bumping versions or updating conventions), many PRs are opened every day. +As there is a lot of activity from many users and many PRs are opened every day. conan-center-index tries to make the process as smooth and simple as possible for the contributors, providing feedback in PRs. In this document will explain the review process in detail. ## Contents - * [conan-center-bot](#conan-center-bot) * [Green build](#green-build) * [Unexpected error](#unexpected-error) * [Avoiding conflicts](#avoiding-conflicts) - * [Draft](#draft) * [Getting your pull request reviewed](#getting-your-pull-request-reviewed) * [Rule of 2 reviews](#rule-of-2-reviews) * [Reviews from others](#reviews-from-others) * [Addressing review comments](#addressing-review-comments) - * [Automatic Merges](#automatic-merges) - * [Merge](#merge) - * [Package available to consume](#package-available-to-consume) - * [Updating web front end](#updating-web-front-end) + * [Package available to consume](#package-available-to-consume) + * [Updating web front end](#updating-web-front-end) * [Stale PRs](#stale-prs) -## [conan-center-bot](https://github.com/conan-center-bot) - -In general, reviews are driven by the automated [bot](https://github.com/conan-center-bot). The bot is responsible for: - -- Adding or removing labels (such as [Bump version](https://github.com/conan-io/conan-center-index/pulls?q=is%3Apr+is%3Aopen+label%3A%22Bump+version%22) or [Docs](https://github.com/conan-io/conan-center-index/pulls?q=is%3Apr+is%3Aopen+label%3ADocs)). -- Writing comments (most of the time, it's a build status, either failure with logs or success). -- Merging pull requests. -- Closing issues (after merging pull requests with GitHub keywords). -- Starting CI builds. -- Assigning CI status (running/failed/successful). - ## Green build The first important prerequisite is ensuring your PR is green (build is successful). It requires a bit of patience, because there are many PRs running and we're building a lot of configurations for a numerous versions of libraries. -Keep attention to the error messages from the bot, and address all the build failures. -The bot tries to provide all the helpful information needed to understand and reproduce an issue, such as: - -- The profile that failed (in other words, the configuration: architecture, operation system, compiler, etc.) -- Failed command line (it might have failed on early stages, like recipe syntax errors, hook errors or later stages, like build or test). -- Logs containing the actual output of the build process (note that some logs like *configure.log* or *CMakeError.log* are not captured, only stdout/stderr). +Keep attention to the error messages from the check tab on your PR, and address all the build failures. +The checks tries to provide all the helpful information needed to understand and reproduce an issue. -If you struggle to fix build errors yourself, you may want to ask for help from other users by mentioning (`@`) individual users in the pull request comments. +If you struggle to fix build errors yourself, you may want to ask for help from other users by mentioning (`@conan-io/barbarians`) group in the pull request comments. ### Unexpected error -Sometimes, build fails with `Unexpected error` message. This indicates an infrastructure problem, and usually it's unrelated to the changes within PR itself. - -To learn more, checkout the [label definition](labels.md#unexpected-error). +Sometimes, build fails with an unexpected error (e.g Pre-Checks hangs forever). This indicates an infrastructure problem, and usually it's unrelated to the changes within PR itself. When this occurs, please, ping `@conan-io/barbarians` in your PR describing your situation. ## Avoiding conflicts -Right now, neither GitHub itself nor conan-center-bot notify about merge conflicts, so it's the contributor's responsibility to periodically check for the conflicts. Pull Requests that have merge conflicts can't be merged, and all the conflicts have to be resolved first. - -Please [synchronize your branch](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) to take into account the latest changes in the main branch. This is important for ConanCenter to ensure it is building the correct recipe revision, see [this comment](https://github.com/conan-io/conan-center-index/pull/8797#discussion_r781993233) for details. One trick is to look out for comments from the [Community's Conflict PR Bot](https://github.com/prince-chrismc/conan-center-index/blob/patch-41/docs/community_resources.md#bots) which can anticipate possible problems. +Right now, the check `Related Pull Requests` shows other PRs that are affecting the recipe and may result in conflicts, so it's the contributor's responsibility to periodically check for the conflicts. Pull Requests that have merge conflicts can't be merged, and all the conflicts have to be resolved first. -## Draft +In case a PR that affects your recipe is merged first, then, you have to [synchronize your branch](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) to take into account the latest changes in the main branch. This is important for ConanCenter to ensure it is building the correct recipe revision. -Draft pull requests are also never merged, and they won't likely be reviewed. -Once you're done with your changes, remember to convert from "Draft" to "Normal" pull request. +One trick is to look the [List of open pull requests broken down by recipe](https://github.com/conan-io/conan-center-index/discussions/24240) which can anticipate possible problems. ## Getting your pull request reviewed -Each PR must be reviewed by several reviewers before it will be merged. It cannot be just reviews from anyone, we have two categories of reviewers: - -- Official reviewers: these are active team members who are responsible for developing Conan, ConanCenter, and ConanCenterIndex. -- Community reviewers: this list includes former Conan team members and ConanCenterIndex contributors who are very active and proven to be trusted - they frequently submit pull requests and provide their own useful reviews - -The list or reviewers, located [here](../.c3i/reviewers.yml), -is not constant and will change periodically based on contribution. -That also means **you can be included in this list** as well - submit PRs and provide reviews, and in time you may be added as a trusted contributor. - -> **Note**: GitHubs user interface does not support such custom rules so you should not rely solely on the message it provides. +Each PR must be reviewed before it will be merged. Extra reviews are welcome and appreciated, but the Conan team reviews are required. ### Rule of 2 reviews -At least 2 approving reviews are required, and at least one of them has to be from the official reviewers. -So, it might be 1 official + 1 community, or 2 official, but it couldn't be just 2 community reviews. -Approvals are only counted if they are associated with the latest commit in the PR, while "Change requested" ones (from the Conan team) will persist even if there are new commits. Don't hesitate to dismiss old reviews if the issues have already been addressed. +At least 2 approving reviews are required from maintainers are mandatory to merge a PR. -Pull requests labelled as [`Bump version`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3A%22Bump+version%22) -or [`Bump dependencies`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3A%22Bump+dependencies%22+) require **just 1 approving review from an official reviewer**. Community reviewers are not required but are still welcome. +Approvals are only counted if they are associated with the latest commit in the PR, while "Change requested" ones (from the Conan team) will persist even if there are new commits. -### Reviews from others +### Reviews from community -All reviews are still valuable and very helpful. Even if you're not listed as an official or community reviewer, **your reviews are very welcome**, so please do not hesitate to provide them. +All reviews are still valuable and very helpful. ### Addressing review comments Please ensure to address the review comments and respond to them in order to get your PR approved and finally merged. -It doesn't always mean accepting all the suggestions, but at least providing a response, so people can understand your position. - -## Automatic Merges - -The bot runs Automatic Merges every 20 minutes. Currently, it can only merge a single PR in this timeframe, so there is a theoretical limit of ~70 PRs merged per day (in practice, it's even less for reasons listed below). -PR is selected for the merge only if: - -- Author is already [approved](https://github.com/conan-io/conan-center-index/issues/4). -- Author has signed the [CLA](https://cla-assistant.io/conan-io/conan-center-index). -- PR is not a Draft. -- PR has a green status (successful build). -- PR doesn't have merge conflicts with `master` branch. -- PR has approved reviews (as described above). -- PR does not have any [official reviewers](#official-reviewers) requesting changes -- Master build is not running already (see below) - -If these conditions are fulfilled, the PR is merged (associated issues are automatically closed), and then the build of `master` is launched. - -The conan-center-bot will perform a [squash and merge](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#squash-and-merge-your-pull-request-commits). You don't need to rebase -your pull request, we ask you not to do it because it will dismiss any reviews and the reviewer will need to restart. - -### Merge - -After merging a pull request, if an actual merge happened (for instance, the recipe changed in PR was already updated in `master` by the time PR merged), -it will introduce a new recipe revision. Therefore, the build should be run one more time, so the `master` build is launched. -In reality this could happen frequently enough if there are multiple PRs aiming to update the same recipe (even if they touch different files in the same recipe). -Such builds can take hours for big packages (like boost), blocking other merges for a while. -So we really appreciate it if changes in `master` to the same recipe are already merged into the proposed PR. +Be polite and open to suggestions. Also, please, read the [code of conduct](code_of_conduct.md) to understand the expected behavior in the community. -### Package available to consume +## Package available to consume -New packages are promoted from the internal repository to ConanCenter. This process is an internal Artifactory promotion that is quite -fast, nevertheless there are some caches and CDNs that need to be invalidated and propagated before the package is finally available for consumption. -The process can take several minutes, so please, consider a *grace period* and understand that the package won't be available immediately. +New packages are promoted from the internal repository to ConanCenter. +The process can take few minutes, so please, consider a *grace period* and understand that the package won't be available immediately. -### Updating web front end +## Updating web front end [ConanCenter](https://conan.io/center/) doesn't directly pull the information from conan-center-index repository. Instead, it's updated by the conan center CI job as its own step. The metadata from the conan repository is @@ -136,4 +72,4 @@ That may explain the fact there are moments when the information showed in the f ## Stale PRs -Conan Center Index uses [stale bot](https://github.com/probot/stale) to close abandoned pull requests. It's configured by [stale.yml](../.github/stale.yml). When a pull request gets stale, we encourage anyone to take ownership of the PR (even submit changes to the author's branch if possible) so existing work doesn't get lost when the pull request is closed without merging. +Conan Center Index uses [stale bot](https://github.com/probot/stale) to close abandoned pull requests. It's configured by [stale.yml](../.github/workflows/stale.yml). When a pull request gets stale, we encourage anyone to take ownership of the PR (even submit changes to the author's branch if possible) so existing work doesn't get lost when the pull request is closed without merging. diff --git a/docs/supported_platforms_and_configurations.md b/docs/supported_platforms_and_configurations.md index 6b1a32e9557cc..d04d4186e6d13 100644 --- a/docs/supported_platforms_and_configurations.md +++ b/docs/supported_platforms_and_configurations.md @@ -4,7 +4,7 @@ ## Contents * [Introduction](#introduction) - * [Build Images](#build-images) + * [Future Steps](#future-steps) * [Windows](#windows) * [Linux](#linux) * [MacOS](#macos) @@ -13,26 +13,28 @@ The pipeline iterates a fixed list of profiles for every Conan reference, it computes the packageID for each profile and discard duplicates. Then it -builds the packages for the remaining profiles and upload them to +builds the packages for the remaining profiles and promoted them to [JFrog ConanCenter](https://conan.io/center/) once the pull-request is merged. -Because duplicated packageIDs are discarded, the pipeline iterates the -profiles always in the same order and the profiles selected to build when -there is a duplicate follow some rules: +Currently, given the following supported platforms and configurations we +are generating **30 different binary packages for a C++ library**. - * Static linkage (option `shared=False`) is preferred over dynamic linking. - * On Windows, `MT/MTd` runtime linkage goes before `MD/MDd` linkage. - * Optimized binaries (`build_type=Release`) are preferred over its _debug_ counterpart. - * Older compiler versions are considered first. - * In Linux, GCC is iterated before Clang. -Currently, given the following supported platforms and configurations we -are generating **136 different binary packages for a C++ library** -and **88 for a C library**. +### Future Steps -### Build Images +With the introduction of our new, more flexible pipeline, +we will be implementing several enhancements to improve our build capabilities and support +a wider range of development environments. The following steps will be taken: -For more information see [conan-io/conan-docker-tools](https://github.com/conan-io/conan-docker-tools) +- Incorporate additional modern GCC versions for Linux builds: + - By adding the latest versions of GCC, we aim to ensure compatibility with the newest C++ standards and features, allowing developers to leverage the latest advancements in the language. +- Integrate more recent Clang versions for Linux builds: + - Clang is known for its fast compilation times and excellent diagnostics. By including more modern versions, we will provide developers with improved performance and better error reporting, enhancing the overall development experience. +- Include updated Apple-Clang versions for macOS builds: + - As macOS continues to evolve, it is crucial to support the latest Apple-Clang versions. This will ensure that our builds are optimized for the latest macOS features and provide a seamless experience for developers working in the Apple ecosystem. +- Add support for Android builds to the pipeline: + - Expanding our pipeline to include Android builds will enable developers to create and test applications for mobile platforms more efficiently. + This addition will help streamline the development process and ensure that our tools are versatile and adaptable to various environments. ## Windows @@ -42,35 +44,28 @@ For more information see [conan-io/conan-docker-tools](https://github.com/conan- > WinSDK version is rolled periodically as [discussed previously](https://github.com/conan-io/conan-center-index/issues/4450). > Please open an issue in case it needs to be updated. - Compilers: Visual Studio: - - - 2019 (19.29.30148) - -- Release (MT/MD) and Debug (MTd, MDd) + - Architectures: x86_64 -- Build types: Release, Debug -- Runtimes: MT/MD (Release), MTd/MDd (Debug) +- Build types: Release +- Runtime: dynamic (MD) - Options: - - Shared, Static (option `"shared": [True, False]` in the recipe when available) - - Header Only (option `"header_only": [True, False]` if available) - -> :warning: The profile with the option `shared=True` and runtime `MT/MTd` is not built. + - Shared, Static (option `"*/*:shared": [True, False]` in the recipe when available) + - Header Only (option `"&:header_only": [True, False]` is only added with the value True) ## Linux - Python: 3.7.17 -- CMake: 3.15.7, 3.18.6 (same version expected after all use [new docker images](https://github.com/conan-io/conan-docker-tools/tree/master/modern)) +- CMake: 3.15.7, 3.18.6 (same version expected after all use [new docker images](https://github.com/conan-io/conan-docker-tools/tree/master/images)) - Compilers: - - GCC versions: 5, 7, 9, 11 - - Clang versions: 13 + - GCC versions: 11 - C++ Standard Library (`libcxx`): - - GCC compiler: `libstdc++`, `libstdc++11` - - Clang compiler: `libstdc++`, `libc++` + - GCC compiler: `libstdc++11` - Architectures: x86_64 -- Build types: Release, Debug +- Build types: Release - Options: - - Shared, Static (option `"shared": [True, False]` in the recipe when available) - - Header Only (option `"header_only": [True, False]` is only added with the value True) + - Shared, Static (option `"*/*:shared": [True, False]` in the recipe when available) + - Header Only (option `"&:header_only": [True, False]` is only added with the value True) ## MacOS @@ -81,7 +76,7 @@ For more information see [conan-io/conan-docker-tools](https://github.com/conan- - Macos deployment target (`minos`): 11.0 - C++ Standard Library (`libcxx`): `libc++` - Architectures: armv8 -- Build types: Release, Debug +- Build types: Release - Options: - - Shared, Static (option ``"shared": [True, False]`` in the recipe when available) - - Header Only (option `"header_only": [True, False]` is only added with the value True) + - Shared, Static (option `"*/*:shared": [True, False]` in the recipe when available) + - Header Only (option `"&:header_only": [True, False]` is only added with the value True) diff --git a/docs/v2_linter.md b/docs/v2_linter.md deleted file mode 100644 index 3d6e3a3f6be33..0000000000000 --- a/docs/v2_linter.md +++ /dev/null @@ -1,71 +0,0 @@ -# Linter to help migration to Conan v2 - - -## Contents - - * [Running the linter locally](#running-the-linter-locally) - * [Import ConanFile from `conan`](#import-conanfile-from-conan) - * [Import tools from `conan`](#import-tools-from-conan) - -We are leveraging on custom Pylint rules. This -linter will run for every pull-request that is submitted to the repository and will -raise some warnings and errors that should be addressed in order to migrate the -recipes to Conan v2. - -It is important to note that these rules are targeting Conan v2 compatibility layer, their -purpose is to fail for v1 syntax that will be no longer available in v2. Even if the syntax -if perfectly valid in Conan v1, the recipe might fail here because it is not v2-compliant. - -> **Note** Some of the errored checks might be just plain Python syntax errors, while -> others might be related to the custom rules added by us. - -Here you can find some examples of the extra rules we are adding: - -## Running the linter locally - -Check the [Developing Recipes](developing_recipes_locally.md#running-the-python-linters) for details. - -## Import ConanFile from `conan` - -The module `conans` is deprecated in Conan v2. Now all the imports should be done from -module `conan`: - -```python -from conan import ConanFile -``` - -## Import tools from `conan` - -All v2-compatible tools are available in module `conan.tools` under different submodules. Recipes -should start to import their tools from this new module. Some of the new tools accept new -argument, please, check the [Conan documentation](https://docs.conan.io/1/reference/conanfile/tools.html). - -Here is a list of different imports and their new equivalent (note that the interface for most of this functions changed, see their respective link to the documentation): - -| **Conan v1** | **Conan v2** | **Required Conan Version** | -|---|---|---| -| conans.tools.get | [conan.tools.files.get](https://docs.conan.io/1/reference/conanfile/tools/files/downloads.html#conan-tools-files-get) | 1.41.0 | -| conans.tools.download | [conan.tools.files.download](https://docs.conan.io/1/reference/conanfile/tools/files/downloads.html#conan-tools-files-download) | 1.41.0 | -| conans.tools.rmdir | [conan.tools.files.rmdir](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-rmdir) | 1.47.0 | -| conans.tools.patch | [conan.tools.files.patch](https://docs.conan.io/1/reference/tools.html#tools-patch) | 1.35.0 | -| conans.tools.remove_files_by_mask | [conan.tools.files.rm](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-rm) | 1.50.0 | -| conans.copy | [conan.tools.files.copy](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-copy) | 1.46.0 | -| conans.tools.load | [conan.tools.files.load](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-load) | 1.35.0 | -| conans.tools.save | [conan.tools.files.save](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-save) | 1.35.0 | -| conans.tools.rename | [conan.tools.files.rename](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-rename) | 1.37.0 | -| conans.tools.replace_in_file | [conan.tools.files.replace_in_file](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-replace-in-file) | 1.46.0 | -| conans.tools.mkdir | [conan.tools.files.mkdir](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-mkdir) | 1.35.0 | -| conans.tools.chdir | [conan.tools.files.chdir](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-chdir) | 1.40.0 | -| conans.tools.unzip | [conan.tools.files.unzip](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-unzip) | 1.46.0 | -| conans.tools.collect_libs | [conan.tools.files.collect_libs](https://docs.conan.io/1/reference/conanfile/tools/files/basic.html#conan-tools-files-collect-libs) | 1.46.0 | -| conans.tools.Version | [conan.tools.scm.Version](https://docs.conan.io/1/reference/conanfile/tools/scm/other.html#version) | 1.46.0 | -| conans.tools.sha256sum | [conan.tools.files.check_sha256](https://docs.conan.io/1/reference/conanfile/tools/files/checksum.html#conan-tools-files-check-sha256) | 1.46.0 | -| conans.tools.unix_path | [conan.tools.microsoft.unix_path](https://docs.conan.io/1/reference/conanfile/tools/microsoft.html#conan-tools-microsoft-unix-path) | 1.47.0 | -| conans.tools.is_apple_os | [conan.tools.apple.is_apple_os](https://docs.conan.io/1/reference/conanfile/tools/apple.html#is-apple-os) | 1.51.3 | -| conans.tools.cpu_count | [conan.tools.build.build_jobs](https://docs.conan.io/1/reference/conanfile/tools/build.html#conan-tools-build-build-jobs) | 1.43.0 | -| conans.tools.check_min_cppstd | [conan.tools.build.check_min_cppstd](https://docs.conan.io/1/reference/conanfile/tools/build.html#conan-tools-build-check-min-cppstd) | 1.50.0 | -| conans.tools.cross_building | [conan.tools.build.cross_building](https://docs.conan.io/1/reference/conanfile/tools/build.html#conan-tools-build-cross-building) | 1.46.0 | -| conans.errors.ConanInvalidConfiguration | [conan.errors.ConanInvalidConfiguration](https://docs.conan.io/1/migrating_to_2.0/recipes.html#migrating-the-recipes) | 1.47.0 | -| conans.errors.ConanException | [conan.errors.ConanException](https://docs.conan.io/1/migrating_to_2.0/recipes.html#migrating-the-recipes) | 1.47.0 | - ---- diff --git a/docs/v2_roadmap.md b/docs/v2_roadmap.md deleted file mode 100644 index 324ec01c47527..0000000000000 --- a/docs/v2_roadmap.md +++ /dev/null @@ -1,150 +0,0 @@ -# Road to Conan v2 - - -## Contents - - * [Short term](#short-term) - * [Prepare the CI infrastructure](#prepare-the-ci-infrastructure) - * [Export recipes using Conan v2 (warning)](#export-recipes-using-conan-v2-warning) - * [Prepare a syntax linter (CCI specific)](#prepare-a-syntax-linter-cci-specific) - * [Run an scheduled job exporting all recipes](#run-an-scheduled-job-exporting-all-recipes) - * [Mid term](#mid-term) - * [Add CI running Conan v2 (hidden)](#add-ci-running-conan-v2-hidden) - * [Show CI results to contributors (info)](#show-ci-results-to-contributors-info) - * [Linter - turn more warnings to errors](#linter---turn-more-warnings-to-errors) - * [Export using Conan v2 becomes an error](#export-using-conan-v2-becomes-an-error) - * [Long term](#long-term) - * [CI running v2 is reported (and required)](#ci-running-v2-is-reported-and-required) - * [Conan v2 remote](#conan-v2-remote) - * [Webpage with v2 information](#webpage-with-v2-information) - * [Future](#future) - * [CI running Conan v1 dropping configuration support](#ci-running-conan-v1-dropping-configuration-support) - -> **Note** This document is not a [guide about how to migrate recipes to Conan v2](v2_migration.md). - -> **Note** This is a working document that will be updated as we walk -> this path. There are no dates intentionally, and if any they should be -> considered as an estimation, there are still some unknowns to provide -> certain steps and dates. - -Conan v2 is under heavy development and it will be released in the -following months. It comes with many improvements that will benefit -recipes and users, and we are willing to adopt it. - -It is a new major version that will come with many breaking changes. Lot -of the features and syntax that we were used to in Conan v1 will no longer -be available and will be supersedes by improved alternatives. All these -alternatives should be backported to v1.x releases, so **there will be a -subset of features that will work using Conan v1 and v2**. - -**Our main goal in ConanCenter during this migration process is to ensure -that recipes work with v1 and v2** and to make the transition as smooth as -possible for contributors and users. In the end we will be providing -working recipes and binaries for both versions. - -This process will require a lot of work also in the internals, we will keep -communicating those changes and the relevant updates in the -[changelog](changelog.md). Here there are the main steps that we are -planning for the following months. - -## Short term - -### Prepare the CI infrastructure - -Workers for Conan v2 will be ready for Windows, Macos and Linux alternatives. -[Modern docker images](https://github.com/conan-io/conan-docker-tools/tree/master/modern) with Conan v2 are already -available to use, for example `conanio/gcc11-ubuntu16.04:2.0.0-pre`. -Note that we will be using tag name `2.0.0-pre` until there is an -actual Conan v2 release, this tag will use the latest pre-release -available (alpha, beta or release candidate). - -### Export recipes using Conan v2 (warning) - -We will start to run `conan export` using Conan v2 and the result will be -added to the comments by the bot. Failing this command won't make the -pull-request fail at this moment, but we expect contributors to start -gaining awareness about changes in Conan v2. - -### Prepare a syntax linter (CCI specific) - -We want to provide a Conan recipe's linter in this repository. We will add -warnings and errors to it following the pace dictated by the community. -The purpose is that this linter will fail pull-requests if there is any -error and, this way, we can start to migrate small (and easy) bits of -recipes... and ensure that future pull-requests don't introduce -regressions. - -This linter can (and surely will) implement some of the checks that are -being currently done by [hooks](https://github.com/conan-io/hooks), but -the purpose is not replace them: - -* hooks are really useful from the CLI, and are easier to install and run. -* linter provides much better output in GitHub interface. - -### Run an scheduled job exporting all recipes - -The same way we [export all the recipes every night using Conan v1](https://github.com/conan-io/conan-center-index/issues/2232), we will -run something similar using Conan v2 and report the results to an issue in -this repository. - -It will help us to know how many recipes are fixed at a given time and -think about efforts and impact of next steps. - -## Mid term - -### Add CI running Conan v2 (hidden) - -We will start working on a CI running Conan v2. Once recipes start to be -exported successfully, next step is to start building the packages. - -We are going to prepare the CI and start running it behind the scenes -(sorry, at this moment hidden to users) in order to understand and -experiment ourself some challenges that will come with Conan v2: syntax, -configuration defaults,... - -### Show CI results to contributors (info) - -Once the errors start to make sense, we will start to provide these outputs -in pull-requests (although successful builds using v2 won't be required to -merge). Again, we expect some contributors to be aware of these errors, -maybe try to fix those builds, and for sure report feedback. - -### Linter - turn more warnings to errors - -During all this time, the plan is to move linter warnings to errors, one -by one and taking into account the effort required to fix them. With the -help of the linter more recipes should start to work (just `conan export`) -using Conan v2. - -### Export using Conan v2 becomes an error - -When a significant number (TBD) of recipes start to be exported -successfully, we will turn those export warnings into actual errors and -they will be become required to merge the pull-requests - -## Long term - -### CI running v2 is reported (and required) - -Next step is to start running and reporting the results of the builds using -v2 for all the configurations, like we do for Conan v1. At this time all -pull-requests need to work with v1 and v2 to be merged. - -### Conan v2 remote - -Packages built using Conan v2 are available for users on ``conancenter`` remote. - -### Webpage with v2 information - -ConanCenter webpage will start to show relevant information related to v2 -packages and, eventually, v2 information will be the only available. - -## Future - -After this process in completed, we will consider the deprecation and -decommission of the infrastructure to generate v1 packages. - -### CI running Conan v1 dropping configuration support - -The change should occur by steps, less used configurations, like older compiler versions, will be dropped first. -Any changed will notified before to occur, so users can be prepared. diff --git a/linter/__init__.py b/linter/__init__.py deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/linter/conandata_yaml_linter.py b/linter/conandata_yaml_linter.py deleted file mode 100644 index ac9cc25487e7a..0000000000000 --- a/linter/conandata_yaml_linter.py +++ /dev/null @@ -1,105 +0,0 @@ -import argparse -from strictyaml import ( - dirty_load, - MapCombined, - Str, - YAMLValidationError, - MapPattern, - Optional, - Seq, - Enum, - Any, -) -from yaml_linting import file_path - - -CONANDATA_YAML_URL = "https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md" - - -def main(): - parser = argparse.ArgumentParser( - description="Validate Conan's 'conandata.yaml' file to ConanCenterIndex's requirements." - ) - parser.add_argument( - "path", - nargs="?", - type=file_path, - help="file to validate.", - ) - args = parser.parse_args() - - patch_fields = MapCombined( - { - "patch_file": Str(), - Optional("patch_description"): Str(), - Optional("patch_type"): Enum( - ["official", "conan", "portability", "bugfix", "vulnerability"] - ), - Optional("patch_source"): Str(), - # No longer required for v2 recipes with layouts - Optional("base_path"): Str(), - }, - Str(), - Any() - ) - schema = MapCombined( - { - "sources": MapPattern(Str(), Any(), minimum_keys=1), - Optional("patches"): MapPattern(Str(), Seq(Any()), minimum_keys=1), - }, - Str(), - Any(), - ) - - with open(args.path, encoding="utf-8") as f: - content = f.read() - - try: - parsed = dirty_load(content, schema, allow_flow_style=True) - except YAMLValidationError as error: - pretty_print_yaml_validate_error(args, error) # Error when "source" is missing or when "patches" has no versions - return - except BaseException as error: - pretty_print_yaml_validate_error(args, error) # YAML could not be parsed - return - - if "patches" in parsed: - for version in parsed["patches"]: - patches = parsed["patches"][version] - if version not in parsed["sources"]: - print( - f"::warning file={args.path},line={patches.start_line},endline={patches.end_line}," - f"title=conandata.yml inconsistency" - f"::Patch(es) are listed for version `{version}`, but there is source for this version." - f" You should either remove `{version}` from the `patches` section, or add it to the" - f" `sources` section" - ) - for i, patch in enumerate(patches): - # Individual report errors for each patch object - try: - parsed["patches"][version][i].revalidate(patch_fields) - except YAMLValidationError as error: - pretty_print_yaml_validate_warning(args, error) # Warning when patch fields are not followed - continue - - - -def pretty_print_yaml_validate_error(args, error): - snippet = error.context_mark.get_snippet().replace("\n", "%0A") - print( - f"::error file={args.path},line={error.context_mark.line},endline={error.problem_mark.line+1}," - f"title=conandata.yml schema error" - f"::Schema outlined in {CONANDATA_YAML_URL}#patches-fields is not followed.%0A%0A{error.problem} in %0A{snippet}%0A" - ) - -def pretty_print_yaml_validate_warning(args, error): - snippet = error.context_mark.get_snippet().replace("\n", "%0A") - print( - f"::warning file={args.path},line={error.context_mark.line},endline={error.problem_mark.line+1}," - f"title=conandata.yml schema warning" - f"::Schema outlined in {CONANDATA_YAML_URL}#patches-fields is not followed.%0A%0A{error.problem} in %0A{snippet}%0A" - ) - - -if __name__ == "__main__": - main() diff --git a/linter/config_yaml_linter.py b/linter/config_yaml_linter.py deleted file mode 100644 index 29807e6ce3b99..0000000000000 --- a/linter/config_yaml_linter.py +++ /dev/null @@ -1,37 +0,0 @@ -import argparse -from strictyaml import load, Map, Str, YAMLValidationError, MapPattern -from yaml_linting import file_path - - -def main(): - parser = argparse.ArgumentParser( - description="Validate ConanCenterIndex's 'config.yaml' file." - ) - parser.add_argument( - "path", - nargs="?", - type=file_path, - help="file to validate.", - ) - args = parser.parse_args() - - schema = Map( - {"versions": MapPattern(Str(), Map({"folder": Str()}), minimum_keys=1)} - ) - - with open(args.path) as f: - content = f.read() - - try: - load(content, schema) - except YAMLValidationError as error: - e = error.__str__().replace("\n", "%0A") - print( - f"::error file={args.path},line={error.context_mark.line},endline={error.problem_mark.line}," - f"title=config.yml schema error" - f"::{e}\n" - ) - - -if __name__ == "__main__": - main() diff --git a/linter/pylintrc_recipe b/linter/pylintrc_recipe deleted file mode 100644 index 5b4db4ad401f0..0000000000000 --- a/linter/pylintrc_recipe +++ /dev/null @@ -1,30 +0,0 @@ -[MASTER] -load-plugins=linter.conanv2_transition, - linter.transform_conanfile, - linter.transform_imports - -py-version=3.6 -recursive=no -suggestion-mode=yes -unsafe-load-any-extension=no - -[MESSAGES CONTROL] -disable=fixme, - line-too-long, - missing-module-docstring, - missing-function-docstring, - missing-class-docstring, - invalid-name, - wrong-import-order, # TODO: Remove - import-outside-toplevel # TODO: Remove - -enable=conan-bad-name, - conan-missing-name, - conan-import-conanfile, - conan-forced-version - -[REPORTS] -evaluation=max(0, 0 if fatal else 10.0 - ((float(5 * error) / statement) * 10)) -output-format=text -reports=no -score=no diff --git a/linter/pylintrc_testpackage b/linter/pylintrc_testpackage deleted file mode 100644 index c5cf96e8cadf7..0000000000000 --- a/linter/pylintrc_testpackage +++ /dev/null @@ -1,32 +0,0 @@ -[MASTER] -load-plugins=linter.conanv2_transition, - linter.transform_conanfile, - linter.transform_imports - -py-version=3.6 -recursive=no -suggestion-mode=yes -unsafe-load-any-extension=no - -[MESSAGES CONTROL] -disable=fixme, - line-too-long, - missing-module-docstring, - missing-function-docstring, - missing-class-docstring, - invalid-name, - wrong-import-order, # TODO: Remove - import-outside-toplevel, # TODO: Remove - - # Not relevant to test package - conan-missing-layout-src-folder, - conan-layout-src-folder-is-src - -enable=conan-test-no-name, - conan-import-conanfile - -[REPORTS] -evaluation=max(0, 0 if fatal else 10.0 - ((float(5 * error) / statement) * 10)) -output-format=text -reports=no -score=no diff --git a/linter/recipe_linter.json b/linter/recipe_linter.json deleted file mode 100644 index 0b9ff4566b051..0000000000000 --- a/linter/recipe_linter.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "problemMatcher": [ - { - "owner": "recipe_linter_fatals", - "severity": "error", - "pattern": [ - { - "regexp": "(\\S+):(\\d+): \\[(F\\d+\\(\\S+\\)),\\s(.+?)?\\](.+)", - "file": 1, - "line": 2, - "message": 5, - "code": 3 - } - ] - }, - { - "owner": "recipe_linter_errors", - "severity": "error", - "pattern": [ - { - "regexp": "(\\S+):(\\d+): \\[(E\\d+\\(\\S+\\)),\\s(.+?)?\\](.+)", - "file": 1, - "line": 2, - "message": 5, - "code": 3 - } - ] - }, - { - "owner": "recipe_linter_warnings", - "severity": "warning", - "pattern": [ - { - "regexp": "(\\S+):(\\d+): \\[(W\\d+\\(\\S+\\)),\\s(.+?)?\\](.+)", - "file": 1, - "line": 2, - "message": 5, - "code": 3 - } - ] - } - ] -} diff --git a/linter/transform_conanfile.py b/linter/transform_conanfile.py deleted file mode 100644 index 36846a9b3b44b..0000000000000 --- a/linter/transform_conanfile.py +++ /dev/null @@ -1,75 +0,0 @@ - -# Class ConanFile doesn't declare all the valid members and functions, -# some are injected by Conan dynamically to the class. - -import textwrap -import astroid -from astroid.builder import AstroidBuilder -from astroid.manager import AstroidManager - - -def _settings_transform(): - module = AstroidBuilder(AstroidManager()).string_build( - textwrap.dedent(""" - class Settings(object): - os = None - arch = None - compiler = None - build_type = None - """) - ) - return module['Settings'] - -def _user_info_build_transform(): - module = AstroidBuilder(AstroidManager()).string_build( - textwrap.dedent(""" - class UserInfoBuild(defaultdict): - pass - """) - ) - return module['UserInfoBuild'] - - -def register(_): - pass - -def transform_conanfile(node): - """Transform definition of ConanFile class so dynamic fields are visible to pylint""" - - str_class = astroid.builtin_lookup("str") - dict_class = astroid.builtin_lookup("dict") - info_class = astroid.MANAGER.ast_from_module_name("conans.model.info").lookup( - "ConanInfo") - build_requires_class = astroid.MANAGER.ast_from_module_name( - "conans.client.graph.graph_manager").lookup("_RecipeBuildRequires") - file_copier_class = astroid.MANAGER.ast_from_module_name( - "conans.client.file_copier").lookup("FileCopier") - file_importer_class = astroid.MANAGER.ast_from_module_name( - "conans.client.importer").lookup("_FileImporter") - python_requires_class = astroid.MANAGER.ast_from_module_name( - "conans.client.graph.python_requires").lookup("PyRequires") - - dynamic_fields = { - "conan_data": str_class, - "build_requires": build_requires_class, - "test_requires" : build_requires_class, - "tool_requires": build_requires_class, - "info_build": info_class, - "user_info_build": [_user_info_build_transform()], - "info": info_class, - "copy": file_copier_class, - "copy_deps": file_importer_class, - "python_requires": [str_class, python_requires_class], - "recipe_folder": str_class, - "settings_build": [_settings_transform()], - "settings_target": [_settings_transform()], - "conf": dict_class, - } - - for f, t in dynamic_fields.items(): - node.locals[f] = [i for i in t] - - -astroid.MANAGER.register_transform( - astroid.ClassDef, transform_conanfile, - lambda node: node.qname() == "conans.model.conan_file.ConanFile") diff --git a/linter/transform_imports.py b/linter/transform_imports.py deleted file mode 100644 index 78b72e4b16880..0000000000000 --- a/linter/transform_imports.py +++ /dev/null @@ -1,46 +0,0 @@ - -import astroid -from pylint.lint import PyLinter - -""" -Here we are transforming the imports to mimic future Conan v2 release. With -these changes, built-in checks in Pylint will raise with different errors, so -we are modifying the messages to point users in the right direction. -""" - - -def register(linter: PyLinter): - msge1101 = linter.msgs_store._messages_definitions["E1101"] - msge1101.msg += ". Please, check https://github.com/conan-io/conan-center-index/blob/master/docs/v2_linter.md" - linter.msgs_store.register_message(msge1101) - - msge0611 = linter.msgs_store._messages_definitions["E0611"] - msge0611.msg += ". Please, check https://github.com/conan-io/conan-center-index/blob/master/docs/v2_linter.md" - linter.msgs_store.register_message(msge0611) - -def transform_tools(module): - """ Transform import module """ - if 'get' in module.locals: - del module.locals['get'] - if 'cross_building' in module.locals: - del module.locals['cross_building'] - if 'rmdir' in module.locals: - del module.locals['rmdir'] - if 'Version' in module.locals: - del module.locals['Version'] - -def transform_errors(module): - pass - #if 'ConanInvalidConfiguration' in module.locals: - # del module.locals['ConanInvalidConfiguration'] - #if 'ConanException' in module.locals: - # del module.locals['ConanException'] - - -astroid.MANAGER.register_transform( - astroid.Module, transform_tools, - lambda node: node.qname() == "conans.tools") - -astroid.MANAGER.register_transform( - astroid.Module, transform_errors, - lambda node: node.qname() == "conans.errors") diff --git a/linter/yaml_linting.py b/linter/yaml_linting.py deleted file mode 100644 index 8b61d99ba39f9..0000000000000 --- a/linter/yaml_linting.py +++ /dev/null @@ -1,9 +0,0 @@ -import argparse - - -def file_path(a_string): - from os.path import isfile - - if not isfile(a_string): - raise argparse.ArgumentTypeError(f"{a_string} does not point to a file") - return a_string diff --git a/linter/yamllint_matcher.json b/linter/yamllint_matcher.json deleted file mode 100644 index 42a3ef93b5956..0000000000000 --- a/linter/yamllint_matcher.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "problemMatcher": [ - { - "owner": "yamllint_matcher", - "pattern": [ - { - "regexp": "^(.*\\.ya?ml)$", - "file": 1 - }, - { - "regexp": "^\\s{2}(\\d+):(\\d+)\\s+(error|warning)\\s+(.*?)\\s+\\((.*)\\)$", - "line": 1, - "column": 2, - "severity": 3, - "message": 4, - "code": 5, - "loop": true - } - ] - } - ] -} diff --git a/linter/yamllint_rules.yml b/linter/yamllint_rules.yml deleted file mode 100644 index 73ceb7e5ad923..0000000000000 --- a/linter/yamllint_rules.yml +++ /dev/null @@ -1,23 +0,0 @@ -extends: default -rules: - colons: disable - document-start: - level: error - present: false - document-end: - level: error - present: false - empty-lines: disable - empty-values: - forbid-in-block-mappings: true - forbid-in-flow-mappings: true - line-length: disable - indentation: disable - new-line-at-end-of-file: disable - trailing-spaces: disable - comments: disable - comments-indentation: disable - new-lines: - type: unix - key-duplicates: - level: error diff --git a/recipes/7bitdi/all/test_v1_package/CMakeLists.txt b/recipes/7bitdi/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/7bitdi/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/7bitdi/all/test_v1_package/conanfile.py b/recipes/7bitdi/all/test_v1_package/conanfile.py deleted file mode 100644 index 0f735b51a2642..0000000000000 --- a/recipes/7bitdi/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/7zip/all/test_v1_package/conanfile.py b/recipes/7zip/all/test_v1_package/conanfile.py deleted file mode 100644 index e5371836902a7..0000000000000 --- a/recipes/7zip/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,10 +0,0 @@ -from conans import ConanFile -from conan.tools.build import can_run - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if can_run(self): - self.run("7z.exe", run_environment=True) diff --git a/recipes/aaf/all/test_v1_package/CMakeLists.txt b/recipes/aaf/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/aaf/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aaf/all/test_v1_package/conanfile.py b/recipes/aaf/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/aaf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aaplus/all/test_v1_package/CMakeLists.txt b/recipes/aaplus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/aaplus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aaplus/all/test_v1_package/conanfile.py b/recipes/aaplus/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/aaplus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/abseil/all/conandata.yml b/recipes/abseil/all/conandata.yml index fa078f9fc7138..bafe7fd3dbf71 100644 --- a/recipes/abseil/all/conandata.yml +++ b/recipes/abseil/all/conandata.yml @@ -39,6 +39,8 @@ patches: patch_description: "Do not build test_allocator target when tests are disabled" patch_type: "portability" patch_source: "https://github.com/abseil/abseil-cpp/commit/779a3565ac6c5b69dd1ab9183e500a27633117d5" + - patch_file: "patches/0006-backport-arm-compilation-fix.patch" + patch_source: "https://github.com/abseil/abseil-cpp/pull/1710" "20240116.1": - patch_file: "patches/0003-absl-string-libm-20240116.patch" patch_description: "link libm to absl string" @@ -52,6 +54,8 @@ patches: patch_description: "Do not build test_allocator target when tests are disabled" patch_type: "portability" patch_source: "https://github.com/abseil/abseil-cpp/commit/779a3565ac6c5b69dd1ab9183e500a27633117d5" + - patch_file: "patches/0006-backport-arm-compilation-fix.patch" + patch_source: "https://github.com/abseil/abseil-cpp/pull/1710" "20230802.1": - patch_file: "patches/0003-absl-string-libm-20230802.patch" patch_description: "link libm to absl string" @@ -61,10 +65,14 @@ patches: patch_description: "Fix build with MinGW" patch_type: "portability" patch_source: "https://github.com/abseil/abseil-cpp/commit/2f77684e8dc473a48dbc19167ffe69c40ce8ada4" + - patch_file: "patches/0006-backport-arm-compilation-fix.patch" + patch_source: "https://github.com/abseil/abseil-cpp/pull/1710" "20230125.3": - patch_file: "patches/0003-absl-string-libm.patch" patch_description: "link libm to absl string" patch_type: "portability" + - patch_file: "patches/0006-backport-arm-compilation-fix.patch" + patch_source: "https://github.com/abseil/abseil-cpp/pull/1710" "20220623.1": - patch_file: "patches/0003-absl-string-libm.patch" patch_description: "link libm to absl string" @@ -73,6 +81,8 @@ patches: patch_description: "Workaround bug in GCC 7.2" patch_source: "https://github.com/abseil/abseil-cpp/pull/1250" patch_type: "portability" + - patch_file: "patches/0006-backport-arm-compilation-fix.patch" + patch_source: "https://github.com/abseil/abseil-cpp/pull/1710" "20211102.0": - patch_file: "patches/0003-absl-string-libm.patch" patch_description: "link libm to absl string" diff --git a/recipes/abseil/all/patches/0006-backport-arm-compilation-fix.patch b/recipes/abseil/all/patches/0006-backport-arm-compilation-fix.patch new file mode 100644 index 0000000000000..9d339c45582c4 --- /dev/null +++ b/recipes/abseil/all/patches/0006-backport-arm-compilation-fix.patch @@ -0,0 +1,13 @@ +diff --git a/absl/copts/AbseilConfigureCopts.cmake b/absl/copts/AbseilConfigureCopts.cmake +index 73435e9..f95ea36 100644 +--- a/absl/copts/AbseilConfigureCopts.cmake ++++ b/absl/copts/AbseilConfigureCopts.cmake +@@ -42,7 +42,7 @@ if(APPLE AND CMAKE_CXX_COMPILER_ID MATCHES [[Clang]]) + string(TOUPPER "${_arch}" _arch_uppercase) + string(REPLACE "X86_64" "X64" _arch_uppercase ${_arch_uppercase}) + foreach(_flag IN LISTS ABSL_RANDOM_HWAES_${_arch_uppercase}_FLAGS) +- list(APPEND ABSL_RANDOM_RANDEN_COPTS "-Xarch_${_arch}" "${_flag}") ++ list(APPEND ABSL_RANDOM_RANDEN_COPTS "SHELL:-Xarch_${_arch} ${_flag}") + endforeach() + endforeach() + # If a compiler happens to deal with an argument for a currently unused diff --git a/recipes/absent/all/test_v1_package/CMakeLists.txt b/recipes/absent/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index fb3acbf709bdb..0000000000000 --- a/recipes/absent/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(absent REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) -target_link_libraries(${PROJECT_NAME} rvarago::absent) diff --git a/recipes/absent/all/test_v1_package/conanfile.py b/recipes/absent/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/absent/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/acado/all/test_v1_package/CMakeLists.txt b/recipes/acado/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/acado/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/acado/all/test_v1_package/conanfile.py b/recipes/acado/all/test_v1_package/conanfile.py deleted file mode 100644 index e34dbc52de848..0000000000000 --- a/recipes/acado/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi", "VirtualBuildEnv" - - def build(self): - cmake = CMake(self) - # FIXME: CCI infrastructure should provide cpu count input to avoid errors - cmake.parallel = False - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/accellera-uvm-systemc/all/test_v1_package/CMakeLists.txt b/recipes/accellera-uvm-systemc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/accellera-uvm-systemc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/accellera-uvm-systemc/all/test_v1_package/conanfile.py b/recipes/accellera-uvm-systemc/all/test_v1_package/conanfile.py deleted file mode 100644 index 7c46504cf008f..0000000000000 --- a/recipes/accellera-uvm-systemc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake -from conan.tools.build import cross_building - -class UvmSystemcTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/access_private/all/test_v1_package/CMakeLists.txt b/recipes/access_private/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/access_private/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/access_private/all/test_v1_package/conanfile.py b/recipes/access_private/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/access_private/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/acl/all/test_v1_package/CMakeLists.txt b/recipes/acl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/acl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/acl/all/test_v1_package/conanfile.py b/recipes/acl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/acl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ada/all/test_v1_package/CMakeLists.txt b/recipes/ada/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/ada/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ada/all/test_v1_package/conanfile.py b/recipes/ada/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/ada/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ade/all/test_v1_package/CMakeLists.txt b/recipes/ade/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/ade/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ade/all/test_v1_package/conanfile.py b/recipes/ade/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/ade/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aggeom-agg/all/test_v1_package/CMakeLists.txt b/recipes/aggeom-agg/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/aggeom-agg/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/aggeom-agg/all/test_v1_package/conanfile.py b/recipes/aggeom-agg/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/aggeom-agg/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ags/all/test_v1_package/CMakeLists.txt b/recipes/ags/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/ags/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ags/all/test_v1_package/conanfile.py b/recipes/ags/all/test_v1_package/conanfile.py deleted file mode 100644 index d026b4c142f4c..0000000000000 --- a/recipes/ags/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/alac/all/test_v1_package/CMakeLists.txt b/recipes/alac/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/alac/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/alac/all/test_v1_package/conanfile.py b/recipes/alac/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/alac/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/alpaca/all/test_v1_package/CMakeLists.txt b/recipes/alpaca/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/alpaca/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/alpaca/all/test_v1_package/conanfile.py b/recipes/alpaca/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/alpaca/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/amgcl/all/test_v1_package/CMakeLists.txt b/recipes/amgcl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/amgcl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/amgcl/all/test_v1_package/conanfile.py b/recipes/amgcl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/amgcl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/amqp-cpp/all/test_v1_package/CMakeLists.txt b/recipes/amqp-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/amqp-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/amqp-cpp/all/test_v1_package/conanfile.py b/recipes/amqp-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/amqp-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/andreasbuhr-cppcoro/all/test_v1_package/CMakeLists.txt b/recipes/andreasbuhr-cppcoro/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/andreasbuhr-cppcoro/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/andreasbuhr-cppcoro/all/test_v1_package/conanfile.py b/recipes/andreasbuhr-cppcoro/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/andreasbuhr-cppcoro/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/android-ndk/all/conandata.yml b/recipes/android-ndk/all/conandata.yml index 28d9619ab0124..2e3e6776d51e1 100644 --- a/recipes/android-ndk/all/conandata.yml +++ b/recipes/android-ndk/all/conandata.yml @@ -1,4 +1,17 @@ sources: + "r27c": + "Windows": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r27c-windows.zip" + sha256: "27e49f11e0cee5800983d8af8f4acd5bf09987aa6f790d4439dda9f3643d2494" + "Linux": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r27c-linux.zip" + sha256: "59c2f6dc96743b5daf5d1626684640b20a6bd2b1d85b13156b90333741bad5cc" + "Macos": + "x86_64": + url: "https://dl.google.com/android/repository/android-ndk-r27c-darwin.zip" + sha256: "8c5685457c58a88527367d46d3f14e8c727d962c39f85344cff0c0768a73c3b7" "r27": "Windows": "x86_64": diff --git a/recipes/android-ndk/config.yml b/recipes/android-ndk/config.yml index 5a16edd20d5af..ccbdced0686a8 100644 --- a/recipes/android-ndk/config.yml +++ b/recipes/android-ndk/config.yml @@ -1,4 +1,6 @@ versions: + "r27c": + folder: all "r27": folder: all "r26d": diff --git a/recipes/angelscript/all/test_v1_package/CMakeLists.txt b/recipes/angelscript/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/angelscript/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/angelscript/all/test_v1_package/conanfile.py b/recipes/angelscript/all/test_v1_package/conanfile.py deleted file mode 100644 index a3b9c17e2ea29..0000000000000 --- a/recipes/angelscript/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import CMake, ConanFile, tools -import os - - -class AngelScriptTestConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/antlr4-cppruntime/all/test_v1_package/CMakeLists.txt b/recipes/antlr4-cppruntime/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/antlr4-cppruntime/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/antlr4-cppruntime/all/test_v1_package/conanfile.py b/recipes/antlr4-cppruntime/all/test_v1_package/conanfile.py deleted file mode 100644 index 90eb89e3f2f46..0000000000000 --- a/recipes/antlr4-cppruntime/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/any-lite/all/test_v1_package/CMakeLists.txt b/recipes/any-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/any-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/any-lite/all/test_v1_package/conanfile.py b/recipes/any-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/any-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/anyrpc/all/test_v1_package/CMakeLists.txt b/recipes/anyrpc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/anyrpc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/anyrpc/all/test_v1_package/conanfile.py b/recipes/anyrpc/all/test_v1_package/conanfile.py deleted file mode 100644 index e946eccc88b51..0000000000000 --- a/recipes/anyrpc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestAnyRpcV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_anyrpc") - self.run(bin_path, run_environment=True) diff --git a/recipes/approvaltests.cpp/all/test_v1_package/CMakeLists.txt b/recipes/approvaltests.cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8ce0e08c3c918..0000000000000 --- a/recipes/approvaltests.cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_v1_package LANGUAGES CXX) - -enable_testing() - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/approvaltests.cpp/all/test_v1_package/conanfile.py b/recipes/approvaltests.cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 8a49736d0c6b2..0000000000000 --- a/recipes/approvaltests.cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,27 +0,0 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanException - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def _approvaltests_option(self, name, default): - try: - return getattr(self.options["approvaltests.cpp"], name, default) - except (AttributeError, ConanException): - return default - - def build(self): - cmake = CMake(self) - cmake.definitions["WITH_BOOSTTEST"] = self._approvaltests_option("with_boosttest", False) - cmake.definitions["WITH_CATCH"] = self.options["approvaltests.cpp"].with_catch2 - cmake.definitions["WITH_GTEST"] = self.options["approvaltests.cpp"].with_gtest - cmake.definitions["WITH_DOCTEST"] = self.options["approvaltests.cpp"].with_doctest - cmake.definitions["WITH_CPPUTEST"] = self._approvaltests_option("with_cpputest", False) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(f"ctest --output-on-failure -C {self.settings.build_type}", run_environment=True) diff --git a/recipes/apr/all/test_v1_package/CMakeLists.txt b/recipes/apr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/apr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/apr/all/test_v1_package/conanfile.py b/recipes/apr/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/apr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/apriltag/all/test_v1_package/CMakeLists.txt b/recipes/apriltag/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/apriltag/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/apriltag/all/test_v1_package/conanfile.py b/recipes/apriltag/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/apriltag/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aravis/all/test_v1_package/CMakeLists.txt b/recipes/aravis/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/aravis/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/aravis/all/test_v1_package/conanfile.py b/recipes/aravis/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/aravis/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/archicad-apidevkit/all/test_v1_package/CMakeLists.txt b/recipes/archicad-apidevkit/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 50f1488b009a2..0000000000000 --- a/recipes/archicad-apidevkit/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) - - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS KEEP_RPATHS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/archicad-apidevkit/all/test_v1_package/conanfile.py b/recipes/archicad-apidevkit/all/test_v1_package/conanfile.py deleted file mode 100644 index af4b5cc85f42f..0000000000000 --- a/recipes/archicad-apidevkit/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake -from conan.errors import ConanInvalidConfiguration -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/arcus/all/test_v1_package/CMakeLists.txt b/recipes/arcus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/arcus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/arcus/all/test_v1_package/conanfile.py b/recipes/arcus/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/arcus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/arduinojson/all/test_v1_package/CMakeLists.txt b/recipes/arduinojson/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/arduinojson/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/arduinojson/all/test_v1_package/conanfile.py b/recipes/arduinojson/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/arduinojson/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/arg_router/all/test_v1_package/CMakeLists.txt b/recipes/arg_router/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8689ccd828863..0000000000000 --- a/recipes/arg_router/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.15) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/arg_router/all/test_v1_package/conanfile.py b/recipes/arg_router/all/test_v1_package/conanfile.py deleted file mode 100644 index ea5b012df89c5..0000000000000 --- a/recipes/arg_router/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,23 +0,0 @@ -import os - -from conans import ConanFile, CMake -from conan.tools.build import cross_building - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def requirements(self): - self.requires(self.tested_reference_str) - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - cmd = os.path.join(self.cpp.build.bindir, - "conan_test_project") + " --help" - self.run(cmd, env="conanrun") diff --git a/recipes/argh/all/test_v1_package/CMakeLists.txt b/recipes/argh/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/argh/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/argh/all/test_v1_package/conanfile.py b/recipes/argh/all/test_v1_package/conanfile.py deleted file mode 100644 index c394e09142659..0000000000000 --- a/recipes/argh/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package")) diff --git a/recipes/argon2/all/test_v1_package/CMakeLists.txt b/recipes/argon2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/argon2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/argon2/all/test_v1_package/conanfile.py b/recipes/argon2/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/argon2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/argparse/all/test_v1_package/CMakeLists.txt b/recipes/argparse/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/argparse/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/argparse/all/test_v1_package/conanfile.py b/recipes/argparse/all/test_v1_package/conanfile.py deleted file mode 100644 index a3b19a8d499a6..0000000000000 --- a/recipes/argparse/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - val = 42 - self.run(f"{bin_path} {val}", run_environment=True) diff --git a/recipes/args-parser/all/test_v1_package/CMakeLists.txt b/recipes/args-parser/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/args-parser/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/args-parser/all/test_v1_package/conanfile.py b/recipes/args-parser/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/args-parser/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/argtable2/all/test_v1_package/CMakeLists.txt b/recipes/argtable2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/argtable2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/argtable2/all/test_v1_package/conanfile.py b/recipes/argtable2/all/test_v1_package/conanfile.py deleted file mode 100644 index 5c79f133054fa..0000000000000 --- a/recipes/argtable2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(f"{bin_path} -n", run_environment=True) diff --git a/recipes/argtable3/all/test_v1_package/CMakeLists.txt b/recipes/argtable3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/argtable3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/argtable3/all/test_v1_package/conanfile.py b/recipes/argtable3/all/test_v1_package/conanfile.py deleted file mode 100644 index b36b4025b8a6a..0000000000000 --- a/recipes/argtable3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(f"{bin_path} --help", run_environment=True) diff --git a/recipes/arrow/all/conandata.yml b/recipes/arrow/all/conandata.yml index aa96940081481..f979a4480c4a3 100644 --- a/recipes/arrow/all/conandata.yml +++ b/recipes/arrow/all/conandata.yml @@ -1,71 +1,45 @@ sources: + "18.1.0": + url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-18.1.0/apache-arrow-18.1.0.tar.gz?action=download" + sha256: "2dc8da5f8796afe213ecc5e5aba85bb82d91520eff3cf315784a52d0fa61d7fc" + "18.0.0": + url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-18.0.0/apache-arrow-18.0.0.tar.gz?action=download" + sha256: "abcf1934cd0cdddd33664e9f2d9a251d6c55239d1122ad0ed223b13a583c82a9" "17.0.0": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-17.0.0/apache-arrow-17.0.0.tar.gz?action=download" sha256: "9d280d8042e7cf526f8c28d170d93bfab65e50f94569f6a790982a878d8d898d" "16.1.0": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-16.1.0/apache-arrow-16.1.0.tar.gz?action=download" sha256: "c9e60c7e87e59383d21b20dc874b17153729ee153264af6d21654b7dff2c60d7" - "16.0.0": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-16.0.0/apache-arrow-16.0.0.tar.gz?action=download" - sha256: "9f4051ae9473c97991d9af801e2f94ae3455067719ca7f90b8137f9e9a700b8d" "15.0.0": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-15.0.0/apache-arrow-15.0.0.tar.gz?action=download" sha256: "01dd3f70e85d9b5b933ec92c0db8a4ef504a5105f78d2d8622e84279fb45c25d" "14.0.2": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-14.0.2/apache-arrow-14.0.2.tar.gz?action=download" sha256: "1304dedb41896008b89fe0738c71a95d9b81752efc77fa70f264cb1da15d9bc2" - "14.0.1": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-14.0.1/apache-arrow-14.0.1.tar.gz?action=download" - sha256: "5c70eafb1011f9d124bafb328afe54f62cc5b9280b7080e1e3d668f78c0e407e" - "14.0.0": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-14.0.0/apache-arrow-14.0.0.tar.gz?action=download" - sha256: "4eb0da50ec071baf15fc163cb48058931e006f1c862c8def0e180fd07d531021" - "13.0.0": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-13.0.0/apache-arrow-13.0.0.tar.gz?action=download" - sha256: "35dfda191262a756be934eef8afee8d09762cad25021daa626eb249e251ac9e6" - "12.0.1": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-12.0.1/apache-arrow-12.0.1.tar.gz?action=download" - sha256: "3481c411393aa15c75e88d93cf8315faf7f43e180fe0790128d3840d417de858" - "12.0.0": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-12.0.0/apache-arrow-12.0.0.tar.gz?action=download" - sha256: "ddd8347882775e53af7d0965a1902b7d8fcd0a030fd14f783d4f85e821352d52" - "11.0.0": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-11.0.0/apache-arrow-11.0.0.tar.gz?action=download" - sha256: "2dd8f0ea0848a58785628ee3a57675548d509e17213a2f5d72b0d900b43f5430" - "10.0.1": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-10.0.1/apache-arrow-10.0.1.tar.gz?action=download" - sha256: "c814e0670112a22c1a6ec03ab420a52ae236a9a42e9e438c3cbd37f37e658fb3" - "10.0.0": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-10.0.0/apache-arrow-10.0.0.tar.gz?action=download" - sha256: "5b46fa4c54f53e5df0019fe0f9d421e93fc906b625ebe8e89eed010d561f1f12" - "8.0.1": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-8.0.1/apache-arrow-8.0.1.tar.gz?action=download" - sha256: "82d46929f7574715551da21700f100b39f99c3c4d6790f26cac86d869d64e94e" - "8.0.0": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-8.0.0/apache-arrow-8.0.0.tar.gz?action=download" - sha256: "ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3" - "7.0.0": - url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-7.0.0/apache-arrow-7.0.0.tar.gz?action=download" - sha256: "e8f49b149a15ecef4e40fcfab1b87c113c6b1ee186005c169e5cdf95d31a99de" patches: - "8.0.1": - - patch_file: "patches/8.0.0-0005-install-utils.patch" - patch_description: "enable utils installation" + "18.1.0": + - patch_file: "patches/18.0.0-0001-fix-cmake.patch" + patch_description: "use cci package" patch_type: "conan" - - patch_file: "patches/8.0.0-0006-fix-cmake.patch" + "18.0.0": + - patch_file: "patches/18.0.0-0001-fix-cmake.patch" patch_description: "use cci package" patch_type: "conan" - "8.0.0": - - patch_file: "patches/8.0.0-0005-install-utils.patch" - patch_description: "enable utils installation" + "17.0.0": + - patch_file: "patches/16.0.0-0001-fix-cmake.patch" + patch_description: "use cci package" patch_type: "conan" - - patch_file: "patches/8.0.0-0006-fix-cmake.patch" + "16.1.0": + - patch_file: "patches/16.0.0-0001-fix-cmake.patch" patch_description: "use cci package" patch_type: "conan" - "7.0.0": - - patch_file: "patches/7.0.0-0006-install-utils.patch" - patch_description: "enable utils installation" + "15.0.0": + - patch_file: "patches/11.0.0-0001-fix-cmake.patch" + patch_description: "use cci package" patch_type: "conan" - - patch_file: "patches/7.0.0-0007-fix-cmake.patch" + "14.0.2": + - patch_file: "patches/11.0.0-0001-fix-cmake.patch" patch_description: "use cci package" patch_type: "conan" + \ No newline at end of file diff --git a/recipes/arrow/all/conanfile.py b/recipes/arrow/all/conanfile.py index 1af7642b14652..be8bacf5a73f6 100644 --- a/recipes/arrow/all/conanfile.py +++ b/recipes/arrow/all/conanfile.py @@ -2,15 +2,14 @@ from conan.errors import ConanInvalidConfiguration, ConanException from conan.tools.build import check_min_cppstd, cross_building from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version import os import glob -import textwrap -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.1.0" class ArrowConan(ConanFile): name = "arrow" @@ -72,7 +71,7 @@ class ArrowConan(ConanFile): "shared": False, "fPIC": True, "gandiva": False, - "parquet": False, + "parquet": True, "skyhook": False, "substrait": False, "acero": False, @@ -87,7 +86,7 @@ class ArrowConan(ConanFile): "simd_level": "default", "runtime_simd_level": "max", "with_backtrace": False, - "with_boost": False, + "with_boost": True, "with_brotli": False, "with_bz2": False, "with_csv": False, @@ -101,7 +100,7 @@ class ArrowConan(ConanFile): "with_glog": False, "with_grpc": False, "with_json": False, - "with_thrift": False, + "with_thrift": True, "with_llvm": False, "with_openssl": False, "with_opentelemetry": False, @@ -112,7 +111,7 @@ class ArrowConan(ConanFile): "with_utf8proc": False, "with_lz4": False, "with_snappy": False, - "with_zlib": False, + "with_zlib": True, "with_zstd": False, } short_paths = True @@ -123,21 +122,6 @@ def _min_cppstd(self): # https://github.com/apache/arrow/pull/13991 return "11" if Version(self.version) < "10.0.0" else "17" - @property - def _compilers_minimum_version(self): - return { - "11": { - "clang": "3.9", - }, - "17": { - "gcc": "8", - "clang": "7", - "apple-clang": "10", - "Visual Studio": "15", - "msvc": "191", - }, - }.get(self._min_cppstd, {}) - def export_sources(self): export_conandata_patches(self) copy(self, "conan_cmake_project_include.cmake", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) @@ -162,7 +146,7 @@ def _requires_rapidjson(self): def requirements(self): if self.options.with_thrift: - self.requires("thrift/0.17.0") + self.requires("thrift/0.20.0") if self.options.with_protobuf: self.requires("protobuf/3.21.12") if self.options.with_jemalloc: @@ -202,12 +186,15 @@ def requirements(self): if self.options.with_snappy: self.requires("snappy/1.1.9") if self.options.get_safe("simd_level") != None or \ - self.options.get_safe("runtime_simd_level") != None: - self.requires("xsimd/9.0.1") + self.options.get_safe("runtime_simd_level") != None: + if Version(self.version) < 8: + self.requires("xsimd/9.0.1") + else: + self.requires("xsimd/13.0.0") if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: - self.requires("zstd/1.5.5") + self.requires("zstd/[>=1.5 <1.6]") if self.options.with_re2: self.requires("re2/20230301") if self.options.with_utf8proc: @@ -228,26 +215,29 @@ def validate(self): # From https://github.com/conan-io/conan-center-index/pull/23163#issuecomment-2039808851 if self.options.gandiva: if not self.options.with_re2: - raise ConanException("'with_re2' option should be True when'gandiva=True'") + raise ConanException("'with_re2' option should be True when 'gandiva=True'") if not self.options.with_boost: - raise ConanException("'with_boost' option should be True when'gandiva=True'") + raise ConanException("'with_boost' option should be True when 'gandiva=True'") if not self.options.with_utf8proc: - raise ConanException("'with_utf8proc' option should be True when'gandiva=True'") + raise ConanException("'with_utf8proc' option should be True when 'gandiva=True'") + if self.options.with_thrift and not self.options.with_boost: + raise ConanException("'with_boost' option should be True when 'thrift=True'") if self.options.parquet: - if not self.options.with_boost: - raise ConanException("'with_boost' option should be True when'parquet=True'") if not self.options.with_thrift: - raise ConanException("'with_thrift' option should be True when'parquet=True'") + raise ConanException("'with_thrift' option should be True when 'parquet=True'") if self.options.with_flight_rpc and not self.options.with_protobuf: - raise ConanException("'with_protobuf' option should be True when'with_flight_rpc=True'") + raise ConanException("'with_protobuf' option should be True when 'with_flight_rpc=True'") if self.settings.compiler.get_safe("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: + if ( + Version(self.version) < "10.0.0" + and self.settings.compiler == "clang" + and Version(self.settings.compiler.version) < "3.9" + ): raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + f"{self.ref} requires C++11, which needs at least clang-3.9" ) if self.options.get_safe("skyhook", False): @@ -261,6 +251,11 @@ def validate(self): if self.dependencies["jemalloc"].options.enable_cxx: raise ConanInvalidConfiguration("jemmalloc.enable_cxx of a static jemalloc must be disabled") + if self.options.with_thrift and not self.options.with_zlib: + raise ConanInvalidConfiguration("arrow:with_thrift requires arrow:with_zlib") + + if self.options.parquet and not self.options.with_thrift: + raise ConanInvalidConfiguration("arrow:parquet requires arrow:with_thrift") def build_requirements(self): if Version(self.version) >= "13.0.0": @@ -318,6 +313,7 @@ def generate(self): tc.variables["GLOG_SOURCE"] = "SYSTEM" tc.variables["ARROW_WITH_BACKTRACE"] = bool(self.options.with_backtrace) tc.variables["ARROW_WITH_BROTLI"] = bool(self.options.with_brotli) + tc.variables["ARROW_WITH_RE2"] = bool(self.options.with_re2) tc.variables["brotli_SOURCE"] = "SYSTEM" if self.options.with_brotli: tc.variables["ARROW_BROTLI_USE_SHARED"] = bool(self.dependencies["brotli"].options.shared) @@ -349,8 +345,10 @@ def generate(self): tc.variables["ARROW_ZSTD_USE_SHARED"] = bool(self.dependencies["zstd"].options.shared) tc.variables["ORC_SOURCE"] = "SYSTEM" tc.variables["ARROW_WITH_THRIFT"] = bool(self.options.with_thrift) + tc.variables["ARROW_THRIFT"] = bool(self.options.with_thrift) tc.variables["Thrift_SOURCE"] = "SYSTEM" if self.options.with_thrift: + tc.variables["ARROW_THRIFT"] = True tc.variables["THRIFT_VERSION"] = bool(self.dependencies["thrift"].ref.version) # a recent thrift does not require boost tc.variables["ARROW_THRIFT_USE_SHARED"] = bool(self.dependencies["thrift"].options.shared) tc.variables["ARROW_USE_OPENSSL"] = self.options.with_openssl @@ -443,31 +441,10 @@ def package(self): if self.options.with_flight_rpc: alias_map[f"ArrowFlight::arrow_flight_sql_{cmake_suffix}"] = f"arrow::arrow_flight_sql_{cmake_suffix}" - - self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._module_file_rel_path), alias_map - ) - - def _create_cmake_module_alias_targets(self, module_file, targets): - content = "" - for alias, aliased in targets.items(): - content += textwrap.dedent("""\ - if(TARGET {aliased} AND NOT TARGET {alias}) - add_library({alias} INTERFACE IMPORTED) - set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) - endif() - """.format(alias=alias, aliased=aliased)) - save(self, module_file, content) - @property def _module_subfolder(self): return os.path.join("lib", "cmake") - @property - def _module_file_rel_path(self): - return os.path.join(self._module_subfolder, - f"conan-official-{self.name}-targets.cmake") - def package_info(self): # FIXME: fix CMake targets of components @@ -523,6 +500,9 @@ def package_info(self): self.cpp_info.components["libarrow_flight"].set_property("cmake_target_name", f"ArrowFlight::arrow_flight_{cmake_suffix}") self.cpp_info.components["libarrow_flight"].libs = [f"arrow_flight{suffix}"] self.cpp_info.components["libarrow_flight"].requires = ["libarrow"] + # https://github.com/apache/arrow/pull/43137#pullrequestreview-2267476893 + if Version(self.version) >= "18.0.0" and self.options.with_openssl: + self.cpp_info.components["libarrow_flight"].requires.append("openssl::openssl") if self.options.get_safe("with_flight_sql"): self.cpp_info.components["libarrow_flight_sql"].set_property("pkg_config_name", "flight_sql") @@ -605,38 +585,3 @@ def package_info(self): self.cpp_info.components["libarrow"].requires.append("grpc::grpc") if self.options.with_flight_rpc: self.cpp_info.components["libarrow_flight"].requires.append("protobuf::protobuf") - - # TODO: to remove in conan v2 - self.cpp_info.filenames["cmake_find_package"] = "Arrow" - self.cpp_info.filenames["cmake_find_package_multi"] = "Arrow" - self.cpp_info.components["libarrow"].names["cmake_find_package"] = f"arrow_{cmake_suffix}" - self.cpp_info.components["libarrow"].names["cmake_find_package_multi"] = f"arrow_{cmake_suffix}" - self.cpp_info.components["libarrow"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["libarrow"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if self.options.parquet: - self.cpp_info.components["libparquet"].names["cmake_find_package"] = f"parquet_{cmake_suffix}" - self.cpp_info.components["libparquet"].names["cmake_find_package_multi"] = f"parquet_{cmake_suffix}" - self.cpp_info.components["libparquet"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["libparquet"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if self.options.get_safe("substrait"): - self.cpp_info.components["libarrow_substrait"].names["cmake_find_package"] = f"arrow_substrait_{cmake_suffix}" - self.cpp_info.components["libarrow_substrait"].names["cmake_find_package_multi"] = f"arrow_substrait_{cmake_suffix}" - self.cpp_info.components["libarrow_substrait"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["libarrow_substrait"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if self.options.gandiva: - self.cpp_info.components["libgandiva"].names["cmake_find_package"] = "gandiva" - self.cpp_info.components["libgandiva"].names["cmake_find_package_multi"] = "gandiva" - self.cpp_info.components["libgandiva"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["libgandiva"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if self.options.with_flight_rpc: - self.cpp_info.components["libarrow_flight"].names["cmake_find_package"] = "flight_rpc" - self.cpp_info.components["libarrow_flight"].names["cmake_find_package_multi"] = "flight_rpc" - self.cpp_info.components["libarrow_flight"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["libarrow_flight"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if self.options.get_safe("with_flight_sql"): - self.cpp_info.components["libarrow_flight_sql"].names["cmake_find_package"] = "flight_sql" - self.cpp_info.components["libarrow_flight_sql"].names["cmake_find_package_multi"] = "flight_sql" - self.cpp_info.components["libarrow_flight_sql"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["libarrow_flight_sql"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if self.options.cli and (self.options.with_cuda or self.options.with_flight_rpc or self.options.parquet): - self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/arrow/all/patches/11.0.0-0001-fix-cmake.patch b/recipes/arrow/all/patches/11.0.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..1d5a752548ee2 --- /dev/null +++ b/recipes/arrow/all/patches/11.0.0-0001-fix-cmake.patch @@ -0,0 +1,42 @@ +diff --git a/cpp/cmake_modules/FindThriftAlt.cmake b/cpp/cmake_modules/FindThriftAlt.cmake +index f3e49021d..95177c2a6 100644 +--- a/cpp/cmake_modules/FindThriftAlt.cmake ++++ b/cpp/cmake_modules/FindThriftAlt.cmake +@@ -45,22 +45,21 @@ endif() + # * https://github.com/apache/thrift/pull/2725 + # * https://github.com/apache/thrift/pull/2726 + # * https://github.com/conda-forge/thrift-cpp-feedstock/issues/68 +-if(NOT WIN32) +- set(find_package_args "") +- if(ThriftAlt_FIND_VERSION) +- list(APPEND find_package_args ${ThriftAlt_FIND_VERSION}) +- endif() +- if(ThriftAlt_FIND_QUIETLY) +- list(APPEND find_package_args QUIET) +- endif() +- find_package(Thrift ${find_package_args}) +- if(Thrift_FOUND) +- set(ThriftAlt_FOUND TRUE) +- add_executable(thrift::compiler IMPORTED) +- set_target_properties(thrift::compiler PROPERTIES IMPORTED_LOCATION +- "${THRIFT_COMPILER}") +- return() +- endif() ++ ++set(find_package_args "") ++if(ThriftAlt_FIND_VERSION) ++ list(APPEND find_package_args ${ThriftAlt_FIND_VERSION}) ++endif() ++if(ThriftAlt_FIND_QUIETLY) ++ list(APPEND find_package_args QUIET) ++endif() ++find_package(Thrift ${find_package_args}) ++if(Thrift_FOUND) ++ set(ThriftAlt_FOUND TRUE) ++ add_executable(thrift::compiler IMPORTED) ++ set_target_properties(thrift::compiler PROPERTIES IMPORTED_LOCATION ++ "${THRIFT_COMPILER}") ++ return() + endif() + + function(extract_thrift_version) diff --git a/recipes/arrow/all/patches/16.0.0-0001-fix-cmake.patch b/recipes/arrow/all/patches/16.0.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..8c11ce258bb15 --- /dev/null +++ b/recipes/arrow/all/patches/16.0.0-0001-fix-cmake.patch @@ -0,0 +1,62 @@ +diff --git a/cpp/cmake_modules/FindThriftAlt.cmake b/cpp/cmake_modules/FindThriftAlt.cmake +index f3e49021d..3e63f1edf 100644 +--- a/cpp/cmake_modules/FindThriftAlt.cmake ++++ b/cpp/cmake_modules/FindThriftAlt.cmake +@@ -45,23 +45,23 @@ endif() + # * https://github.com/apache/thrift/pull/2725 + # * https://github.com/apache/thrift/pull/2726 + # * https://github.com/conda-forge/thrift-cpp-feedstock/issues/68 +-if(NOT WIN32) +- set(find_package_args "") +- if(ThriftAlt_FIND_VERSION) +- list(APPEND find_package_args ${ThriftAlt_FIND_VERSION}) +- endif() +- if(ThriftAlt_FIND_QUIETLY) +- list(APPEND find_package_args QUIET) +- endif() +- find_package(Thrift ${find_package_args}) +- if(Thrift_FOUND) +- set(ThriftAlt_FOUND TRUE) +- add_executable(thrift::compiler IMPORTED) +- set_target_properties(thrift::compiler PROPERTIES IMPORTED_LOCATION +- "${THRIFT_COMPILER}") +- return() +- endif() ++ ++set(find_package_args "") ++if(ThriftAlt_FIND_VERSION) ++ list(APPEND find_package_args ${ThriftAlt_FIND_VERSION}) ++endif() ++if(ThriftAlt_FIND_QUIETLY) ++ list(APPEND find_package_args QUIET) + endif() ++find_package(Thrift ${find_package_args}) ++if(Thrift_FOUND) ++ set(ThriftAlt_FOUND TRUE) ++ add_executable(thrift::compiler IMPORTED) ++ set_target_properties(thrift::compiler PROPERTIES IMPORTED_LOCATION ++ "${THRIFT_COMPILER}") ++ return() ++endif() ++ + + function(extract_thrift_version) + if(ThriftAlt_INCLUDE_DIR) +diff --git a/cpp/src/parquet/CMakeLists.txt b/cpp/src/parquet/CMakeLists.txt +index 93f2e72d8..e00f73f7d 100644 +--- a/cpp/src/parquet/CMakeLists.txt ++++ b/cpp/src/parquet/CMakeLists.txt +@@ -262,11 +262,11 @@ if(NOT PARQUET_MINIMAL_DEPENDENCY) + + # These are libraries that we will link privately with parquet_shared (as they + # do not need to be linked transitively by other linkers) +- list(APPEND PARQUET_SHARED_PRIVATE_LINK_LIBS thrift::thrift) ++ list(APPEND PARQUET_SHARED_PRIVATE_LINK_LIBS Boost::headers thrift::thrift) + + # Link publicly with parquet_static (because internal users need to + # transitively link all dependencies) +- list(APPEND PARQUET_STATIC_LINK_LIBS thrift::thrift) ++ list(APPEND PARQUET_STATIC_LINK_LIBS Boost::headers thrift::thrift) + if(NOT THRIFT_VENDORED) + list(APPEND PARQUET_STATIC_INSTALL_INTERFACE_LIBS thrift::thrift) + endif() diff --git a/recipes/arrow/all/patches/18.0.0-0001-fix-cmake.patch b/recipes/arrow/all/patches/18.0.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..1000d42f4af61 --- /dev/null +++ b/recipes/arrow/all/patches/18.0.0-0001-fix-cmake.patch @@ -0,0 +1,59 @@ +diff --git a/cpp/cmake_modules/FindThriftAlt.cmake b/cpp/cmake_modules/FindThriftAlt.cmake +index 98a706d..edf195e 100644 +--- a/cpp/cmake_modules/FindThriftAlt.cmake ++++ b/cpp/cmake_modules/FindThriftAlt.cmake +@@ -45,22 +45,20 @@ endif() + # * https://github.com/apache/thrift/pull/2725 + # * https://github.com/apache/thrift/pull/2726 + # * https://github.com/conda-forge/thrift-cpp-feedstock/issues/68 +-if(NOT WIN32) +- set(find_package_args "") +- if(ThriftAlt_FIND_VERSION) +- list(APPEND find_package_args ${ThriftAlt_FIND_VERSION}) +- endif() +- if(ThriftAlt_FIND_QUIETLY) +- list(APPEND find_package_args QUIET) +- endif() +- find_package(Thrift ${find_package_args}) +- if(Thrift_FOUND) +- set(ThriftAlt_FOUND TRUE) +- add_executable(thrift::compiler IMPORTED) +- set_target_properties(thrift::compiler PROPERTIES IMPORTED_LOCATION +- "${THRIFT_COMPILER}") +- return() +- endif() ++set(find_package_args "") ++if(ThriftAlt_FIND_VERSION) ++ list(APPEND find_package_args ${ThriftAlt_FIND_VERSION}) ++endif() ++if(ThriftAlt_FIND_QUIETLY) ++ list(APPEND find_package_args QUIET) ++endif() ++find_package(Thrift ${find_package_args}) ++if(Thrift_FOUND) ++ set(ThriftAlt_FOUND TRUE) ++ add_executable(thrift::compiler IMPORTED) ++ set_target_properties(thrift::compiler PROPERTIES IMPORTED_LOCATION ++ "${THRIFT_COMPILER}") ++ return() + endif() + + function(extract_thrift_version) +diff --git a/cpp/src/parquet/CMakeLists.txt b/cpp/src/parquet/CMakeLists.txt +index b984ef7..429fc6d 100644 +--- a/cpp/src/parquet/CMakeLists.txt ++++ b/cpp/src/parquet/CMakeLists.txt +@@ -263,11 +263,11 @@ if(NOT PARQUET_MINIMAL_DEPENDENCY) + + # These are libraries that we will link privately with parquet_shared (as they + # do not need to be linked transitively by other linkers) +- list(APPEND PARQUET_SHARED_PRIVATE_LINK_LIBS thrift::thrift) ++ list(APPEND PARQUET_SHARED_PRIVATE_LINK_LIBS Boost::headers thrift::thrift) + + # Link publicly with parquet_static (because internal users need to + # transitively link all dependencies) +- list(APPEND PARQUET_STATIC_LINK_LIBS thrift::thrift) ++ list(APPEND PARQUET_STATIC_LINK_LIBS Boost::headers thrift::thrift) + if(NOT THRIFT_VENDORED) + list(APPEND PARQUET_STATIC_INSTALL_INTERFACE_LIBS thrift::thrift) + endif() diff --git a/recipes/arrow/all/patches/7.0.0-0006-install-utils.patch b/recipes/arrow/all/patches/7.0.0-0006-install-utils.patch deleted file mode 100644 index 468fe3a6a6ab5..0000000000000 --- a/recipes/arrow/all/patches/7.0.0-0006-install-utils.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/cpp/src/arrow/ipc/CMakeLists.txt b/cpp/src/arrow/ipc/CMakeLists.txt -index 495018e..f6cee6f 100644 ---- a/cpp/src/arrow/ipc/CMakeLists.txt -+++ b/cpp/src/arrow/ipc/CMakeLists.txt -@@ -61,8 +61,12 @@ endif() - if(ARROW_BUILD_UTILITIES OR ARROW_BUILD_INTEGRATION) - add_executable(arrow-file-to-stream file_to_stream.cc) - target_link_libraries(arrow-file-to-stream ${ARROW_UTIL_LIB}) -+ install(TARGETS arrow-file-to-stream ${INSTALL_IS_OPTIONAL} -+ DESTINATION ${CMAKE_INSTALL_BINDIR}) - add_executable(arrow-stream-to-file stream_to_file.cc) - target_link_libraries(arrow-stream-to-file ${ARROW_UTIL_LIB}) -+ install(TARGETS arrow-stream-to-file ${INSTALL_IS_OPTIONAL} -+ DESTINATION ${CMAKE_INSTALL_BINDIR}) - - if(ARROW_BUILD_INTEGRATION) - add_dependencies(arrow-integration arrow-file-to-stream) diff --git a/recipes/arrow/all/patches/7.0.0-0007-fix-cmake.patch b/recipes/arrow/all/patches/7.0.0-0007-fix-cmake.patch deleted file mode 100644 index 8b4d5d5518dcc..0000000000000 --- a/recipes/arrow/all/patches/7.0.0-0007-fix-cmake.patch +++ /dev/null @@ -1,347 +0,0 @@ -diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt -index 2d7baf1..dff5b1a 100644 ---- a/cpp/CMakeLists.txt -+++ b/cpp/CMakeLists.txt -@@ -699,7 +699,7 @@ endif() - - if(ARROW_WITH_BROTLI) - # Order is important for static linking -- set(ARROW_BROTLI_LIBS Brotli::brotlienc Brotli::brotlidec Brotli::brotlicommon) -+ set(ARROW_BROTLI_LIBS brotli::brotlienc brotli::brotlidec brotli::brotlicommon) - list(APPEND ARROW_LINK_LIBS ${ARROW_BROTLI_LIBS}) - list(APPEND ARROW_STATIC_LINK_LIBS ${ARROW_BROTLI_LIBS}) - if(Brotli_SOURCE STREQUAL "SYSTEM") -@@ -715,10 +715,17 @@ if(ARROW_WITH_BZ2) - endif() - - if(ARROW_WITH_LZ4) -- list(APPEND ARROW_STATIC_LINK_LIBS LZ4::lz4) -- if(Lz4_SOURCE STREQUAL "SYSTEM") -- list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS LZ4::lz4) -- endif() -+ if (TARGET LZ4::lz4_static) -+ list(APPEND ARROW_STATIC_LINK_LIBS LZ4::lz4_static) -+ if(Lz4_SOURCE STREQUAL "SYSTEM") -+ list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS LZ4::lz4_static) -+ endif() -+ else() -+ list(APPEND ARROW_STATIC_LINK_LIBS LZ4::lz4_shared) -+ if(Lz4_SOURCE STREQUAL "SYSTEM") -+ list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS LZ4::lz4_shared) -+ endif() -+endif() - endif() - - if(ARROW_WITH_SNAPPY) -@@ -907,8 +914,13 @@ endif() - - if(ARROW_MIMALLOC) - add_definitions(-DARROW_MIMALLOC) -- list(APPEND ARROW_LINK_LIBS mimalloc::mimalloc) -- list(APPEND ARROW_STATIC_LINK_LIBS mimalloc::mimalloc) -+ if (TARGET mimalloc-static) -+ list(APPEND ARROW_LINK_LIBS mimalloc-static) -+ list(APPEND ARROW_STATIC_LINK_LIBS mimalloc-static) -+ else() -+ list(APPEND ARROW_LINK_LIBS mimalloc) -+ list(APPEND ARROW_STATIC_LINK_LIBS mimalloc) -+ endif() - endif() - - # ---------------------------------------------------------------------- -diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake -index bc38952..62bf314 100644 ---- a/cpp/cmake_modules/ThirdpartyToolchain.cmake -+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake -@@ -954,7 +954,7 @@ endif() - - if(ARROW_BOOST_REQUIRED) - resolve_dependency(Boost -- HAVE_ALT -+ USE_CONFIG - TRUE - REQUIRED_VERSION - ${ARROW_BOOST_REQUIRED_VERSION} -@@ -965,7 +965,7 @@ if(ARROW_BOOST_REQUIRED) - if(TARGET Boost::system) - set(BOOST_SYSTEM_LIBRARY Boost::system) - set(BOOST_FILESYSTEM_LIBRARY Boost::filesystem) -- elseif(BoostAlt_FOUND) -+ elseif(Boost_FOUND) - set(BOOST_SYSTEM_LIBRARY ${Boost_SYSTEM_LIBRARY}) - set(BOOST_FILESYSTEM_LIBRARY ${Boost_FILESYSTEM_LIBRARY}) - else() -@@ -1108,9 +1108,9 @@ macro(build_brotli) - endmacro() - - if(ARROW_WITH_BROTLI) -- resolve_dependency(Brotli PC_PACKAGE_NAMES libbrotlidec libbrotlienc) -+ resolve_dependency(brotli PC_PACKAGE_NAMES libbrotlidec libbrotlienc) - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(BROTLI_INCLUDE_DIR Brotli::brotlicommon -+ get_target_property(BROTLI_INCLUDE_DIR brotli::brotlicommon - INTERFACE_INCLUDE_DIRECTORIES) - include_directories(SYSTEM ${BROTLI_INCLUDE_DIR}) - endif() -@@ -1302,22 +1302,17 @@ endmacro() - if(ARROW_NEED_GFLAGS) - set(ARROW_GFLAGS_REQUIRED_VERSION "2.1.0") - resolve_dependency(gflags -- HAVE_ALT -+ USE_CONFIG - TRUE - REQUIRED_VERSION - ${ARROW_GFLAGS_REQUIRED_VERSION} - IS_RUNTIME_DEPENDENCY - FALSE) - # TODO: Don't use global includes but rather target_include_directories -- include_directories(SYSTEM ${GFLAGS_INCLUDE_DIR}) -+ include_directories(SYSTEM ${gflags_INCLUDE_DIR}) - -- if(NOT TARGET ${GFLAGS_LIBRARIES}) -- if(TARGET gflags-shared) -- set(GFLAGS_LIBRARIES gflags-shared) -- elseif(TARGET gflags_shared) -- set(GFLAGS_LIBRARIES gflags_shared) -- endif() -- endif() -+ list(APPEND ARROW_BUNDLED_STATIC_LIBS ${gflags_LIBRARIES_TARGETS}) -+ set(GFLAGS_LIBRARIES gflags::gflags) - endif() - - # ---------------------------------------------------------------------- -@@ -1411,9 +1406,9 @@ if(ARROW_WITH_THRIFT) - thrift) - endif() - # TODO: Don't use global includes but rather target_include_directories -- include_directories(SYSTEM ${THRIFT_INCLUDE_DIR}) -+ include_directories(SYSTEM ${Thrift_INCLUDE_DIR}) - -- string(REPLACE "." ";" VERSION_LIST ${THRIFT_VERSION}) -+ string(REPLACE "." ";" VERSION_LIST ${Thrift_VERSION}) - list(GET VERSION_LIST 0 THRIFT_VERSION_MAJOR) - list(GET VERSION_LIST 1 THRIFT_VERSION_MINOR) - list(GET VERSION_LIST 2 THRIFT_VERSION_PATCH) -@@ -1528,6 +1523,7 @@ if(ARROW_WITH_PROTOBUF) - set(ARROW_PROTOBUF_REQUIRED_VERSION "2.6.1") - endif() - resolve_dependency(Protobuf -+ USE_CONFIG - REQUIRED_VERSION - ${ARROW_PROTOBUF_REQUIRED_VERSION} - PC_PACKAGE_NAMES -@@ -1538,7 +1534,7 @@ if(ARROW_WITH_PROTOBUF) - endif() - - # TODO: Don't use global includes but rather target_include_directories -- include_directories(SYSTEM ${PROTOBUF_INCLUDE_DIR}) -+ include_directories(SYSTEM ${protobuf_INCLUDE_DIR}) - - if(TARGET arrow::protobuf::libprotobuf) - set(ARROW_PROTOBUF_LIBPROTOBUF arrow::protobuf::libprotobuf) -@@ -1547,9 +1543,9 @@ if(ARROW_WITH_PROTOBUF) - if(NOT TARGET protobuf::libprotobuf) - add_library(protobuf::libprotobuf UNKNOWN IMPORTED) - set_target_properties(protobuf::libprotobuf -- PROPERTIES IMPORTED_LOCATION "${PROTOBUF_LIBRARY}" -+ PROPERTIES IMPORTED_LOCATION "${Protobuf_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES -- "${PROTOBUF_INCLUDE_DIR}") -+ "${Protobuf_INCLUDE_DIR}") - endif() - set(ARROW_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf) - endif() -@@ -1569,7 +1565,7 @@ if(ARROW_WITH_PROTOBUF) - set_target_properties(protobuf::libprotoc - PROPERTIES IMPORTED_LOCATION "${Protobuf_PROTOC_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES -- "${PROTOBUF_INCLUDE_DIR}") -+ "${Protobuf_INCLUDE_DIR}") - endif() - set(ARROW_PROTOBUF_LIBPROTOC protobuf::libprotoc) - endif() -@@ -1600,6 +1596,7 @@ endif() - # jemalloc - Unix-only high-performance allocator - - if(ARROW_JEMALLOC) -+if(0) - message(STATUS "Building (vendored) jemalloc from source") - # We only use a vendored jemalloc as we want to control its version. - # Also our build of jemalloc is specially prefixed so that it will not -@@ -1665,12 +1662,18 @@ if(ARROW_JEMALLOC) - add_dependencies(jemalloc::jemalloc jemalloc_ep) - - list(APPEND ARROW_BUNDLED_STATIC_LIBS jemalloc::jemalloc) -+else() -+ find_package(jemalloc REQUIRED CONFIG) -+ include_directories(SYSTEM "${jemalloc_INCLUDE_DIR}") -+ list(APPEND ARROW_BUNDLED_STATIC_LIBS ${jemalloc_LIBRARIES_TARGETS}) -+endif() - endif() - - # ---------------------------------------------------------------------- - # mimalloc - Cross-platform high-performance allocator, from Microsoft - - if(ARROW_MIMALLOC) -+if(0) - message(STATUS "Building (vendored) mimalloc from source") - # We only use a vendored mimalloc as we want to control its build options. - -@@ -1716,6 +1719,11 @@ if(ARROW_MIMALLOC) - add_dependencies(toolchain mimalloc_ep) - - list(APPEND ARROW_BUNDLED_STATIC_LIBS mimalloc::mimalloc) -+else() -+ find_package(mimalloc REQUIRED CONFIG) -+ include_directories(SYSTEM "${mimalloc_INCLUDE_DIR}") -+ list(APPEND ARROW_BUNDLED_STATIC_LIBS ${mimalloc_LIBRARIES_TARGETS} ) -+endif() - endif() - - # ---------------------------------------------------------------------- -@@ -2001,7 +2009,7 @@ endmacro() - if(ARROW_WITH_RAPIDJSON) - set(ARROW_RAPIDJSON_REQUIRED_VERSION "1.1.0") - resolve_dependency(RapidJSON -- HAVE_ALT -+ USE_CONFIG - TRUE - REQUIRED_VERSION - ${ARROW_RAPIDJSON_REQUIRED_VERSION} -@@ -2038,10 +2046,9 @@ endmacro() - - if((NOT ARROW_SIMD_LEVEL STREQUAL "NONE") OR (NOT ARROW_RUNTIME_SIMD_LEVEL STREQUAL "NONE" - )) -- set(xsimd_SOURCE "BUNDLED") - resolve_dependency(xsimd) - # TODO: Don't use global includes but rather target_include_directories -- include_directories(SYSTEM ${XSIMD_INCLUDE_DIR}) -+ include_directories(SYSTEM ${xsimd_INCLUDE_DIR}) - endif() - - macro(build_zlib) -@@ -2140,10 +2147,14 @@ macro(build_lz4) - endmacro() - - if(ARROW_WITH_LZ4) -- resolve_dependency(Lz4 PC_PACKAGE_NAMES liblz4) -+ resolve_dependency(lz4) - - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(LZ4_INCLUDE_DIR LZ4::lz4 INTERFACE_INCLUDE_DIRECTORIES) -+ if (TARGET LZ4::lz4_static) -+ get_target_property(LZ4_INCLUDE_DIR LZ4::lz4_static INTERFACE_INCLUDE_DIRECTORIES) -+ else() -+ get_target_property(LZ4_INCLUDE_DIR LZ4::lz4_shared INTERFACE_INCLUDE_DIRECTORIES) -+ endif() - include_directories(SYSTEM ${LZ4_INCLUDE_DIR}) - endif() - -@@ -2274,7 +2285,7 @@ if(ARROW_WITH_RE2) - # Don't specify "PC_PACKAGE_NAMES re2" here because re2.pc may - # include -std=c++11. It's not compatible with C source and C++ - # source not uses C++ 11. -- resolve_dependency(re2 HAVE_ALT TRUE) -+ resolve_dependency(re2 USE_CONFIG TRUE) - if(${re2_SOURCE} STREQUAL "SYSTEM") - get_target_property(RE2_LIB re2::re2 IMPORTED_LOCATION) - string(APPEND ARROW_PC_LIBS_PRIVATE " ${RE2_LIB}") -@@ -2337,7 +2348,7 @@ endmacro() - if(ARROW_WITH_BZ2) - resolve_dependency(BZip2) - if(${BZip2_SOURCE} STREQUAL "SYSTEM") -- string(APPEND ARROW_PC_LIBS_PRIVATE " ${BZIP2_LIBRARIES}") -+ string(APPEND ARROW_PC_LIBS_PRIVATE " ${BZip2_LIBRARIES}") - endif() - - if(NOT TARGET BZip2::BZip2) -@@ -2346,7 +2357,7 @@ if(ARROW_WITH_BZ2) - PROPERTIES IMPORTED_LOCATION "${BZIP2_LIBRARIES}" - INTERFACE_INCLUDE_DIRECTORIES "${BZIP2_INCLUDE_DIR}") - endif() -- include_directories(SYSTEM "${BZIP2_INCLUDE_DIR}") -+ include_directories(SYSTEM "${BZip2_INCLUDE_DIR}") - endif() - - macro(build_utf8proc) -@@ -3555,7 +3566,7 @@ if(ARROW_WITH_GRPC) - set(gRPC_SOURCE "${Protobuf_SOURCE}") - endif() - resolve_dependency(gRPC -- HAVE_ALT -+ USE_CONFIG - TRUE - REQUIRED_VERSION - ${ARROW_GRPC_REQUIRED_VERSION} -@@ -3573,9 +3584,9 @@ if(ARROW_WITH_GRPC) - else() - # grpc++ headers may reside in ${GRPC_INCLUDE_DIR}/grpc++ or ${GRPC_INCLUDE_DIR}/grpcpp - # depending on the gRPC version. -- if(EXISTS "${GRPC_INCLUDE_DIR}/grpcpp/impl/codegen/config_protobuf.h") -+ if(EXISTS ${gRPC_INCLUDE_DIR}/grpcpp/impl/codegen/config_protobuf.h) - set(GRPCPP_PP_INCLUDE TRUE) -- elseif(EXISTS "${GRPC_INCLUDE_DIR}/grpc++/impl/codegen/config_protobuf.h") -+ elseif(EXISTS ${gPC_INCLUDE_DIR}/grpc++/impl/codegen/config_protobuf.h) - set(GRPCPP_PP_INCLUDE FALSE) - else() - message(FATAL_ERROR "Cannot find grpc++ headers in ${GRPC_INCLUDE_DIR}") -@@ -4097,9 +4108,9 @@ macro(build_opentelemetry) - endmacro() - - if(ARROW_WITH_OPENTELEMETRY) -- set(opentelemetry-cpp_SOURCE "AUTO") -+ set(opentelemetry-cpp_SOURCE "SYSTEM") - resolve_dependency(opentelemetry-cpp) -- get_target_property(OPENTELEMETRY_INCLUDE_DIR opentelemetry-cpp::api -+ get_target_property(OPENTELEMETRY_INCLUDE_DIR opentelemetry-cpp::opentelemetry_common - INTERFACE_INCLUDE_DIRECTORIES) - include_directories(SYSTEM ${OPENTELEMETRY_INCLUDE_DIR}) - message(STATUS "Found OpenTelemetry headers: ${OPENTELEMETRY_INCLUDE_DIR}") -diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt -index b984bc1..2c78cd9 100644 ---- a/cpp/src/arrow/CMakeLists.txt -+++ b/cpp/src/arrow/CMakeLists.txt -@@ -323,10 +323,14 @@ set(ARROW_TESTING_SRCS - - set(_allocator_dependencies "") # Empty list - if(ARROW_JEMALLOC) -- list(APPEND _allocator_dependencies jemalloc_ep) -+ list(APPEND _allocator_dependencies jemalloc::jemalloc) - endif() - if(ARROW_MIMALLOC) -- list(APPEND _allocator_dependencies mimalloc_ep) -+ if (TARGET mimalloc-static) -+ list(APPEND _allocator_dependencies mimalloc-static) -+ else() -+ list(APPEND _allocator_dependencies mimalloc) -+ endif() - endif() - - if(_allocator_dependencies) -diff --git a/cpp/src/arrow/flight/CMakeLists.txt b/cpp/src/arrow/flight/CMakeLists.txt -index 2cf8c99..90ebb9a 100644 ---- a/cpp/src/arrow/flight/CMakeLists.txt -+++ b/cpp/src/arrow/flight/CMakeLists.txt -@@ -17,6 +17,9 @@ - - add_custom_target(arrow_flight) - -+# TODO: This is a temporary workaround. absl should be LINKED as TARGET. -+include_directories(SYSTEM ${absl_INCLUDE_DIR}) -+ - arrow_install_all_headers("arrow/flight") - - set(ARROW_FLIGHT_LINK_LIBS gRPC::grpc++ ${ARROW_PROTOBUF_LIBPROTOBUF}) -diff --git a/cpp/src/arrow/memory_pool.cc b/cpp/src/arrow/memory_pool.cc -index 2dcfb01..0394c01 100644 ---- a/cpp/src/arrow/memory_pool.cc -+++ b/cpp/src/arrow/memory_pool.cc -@@ -48,7 +48,7 @@ - // Needed to support jemalloc 3 and 4 - #define JEMALLOC_MANGLE - // Explicitly link to our version of jemalloc --#include "jemalloc_ep/dist/include/jemalloc/jemalloc.h" -+#include "jemalloc/jemalloc.h" - #endif - - #ifdef ARROW_MIMALLOC diff --git a/recipes/arrow/all/patches/8.0.0-0005-install-utils.patch b/recipes/arrow/all/patches/8.0.0-0005-install-utils.patch deleted file mode 100644 index 397c4b1d043c7..0000000000000 --- a/recipes/arrow/all/patches/8.0.0-0005-install-utils.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt -index aba18c8..bb463d0 100644 ---- a/cpp/CMakeLists.txt -+++ b/cpp/CMakeLists.txt -@@ -721,7 +721,7 @@ if(ARROW_WITH_BZ2) - endif() - - if(ARROW_WITH_LZ4) -- list(APPEND ARROW_STATIC_LINK_LIBS LZ4::lz4) -+ list(APPEND ARROW_STATIC_LINK_LIBS lz4::lz4) - if(Lz4_SOURCE STREQUAL "SYSTEM") - list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS LZ4::lz4) - endif() -@@ -907,8 +907,8 @@ endif() - if(ARROW_JEMALLOC) - add_definitions(-DARROW_JEMALLOC) - add_definitions(-DARROW_JEMALLOC_INCLUDE_DIR=${JEMALLOC_INCLUDE_DIR}) -- list(APPEND ARROW_LINK_LIBS jemalloc::jemalloc) -- list(APPEND ARROW_STATIC_LINK_LIBS jemalloc::jemalloc) -+ list(APPEND ARROW_LINK_LIBS jemalloc) -+ list(APPEND ARROW_STATIC_LINK_LIBS jemalloc) - endif() - - if(ARROW_MIMALLOC) -diff --git a/cpp/src/arrow/ipc/CMakeLists.txt b/cpp/src/arrow/ipc/CMakeLists.txt -index 495018e..3dcb35d 100644 ---- a/cpp/src/arrow/ipc/CMakeLists.txt -+++ b/cpp/src/arrow/ipc/CMakeLists.txt -@@ -61,9 +61,13 @@ endif() - if(ARROW_BUILD_UTILITIES OR ARROW_BUILD_INTEGRATION) - add_executable(arrow-file-to-stream file_to_stream.cc) - target_link_libraries(arrow-file-to-stream ${ARROW_UTIL_LIB}) -+ install(TARGETS arrow-file-to-stream ${INSTALL_IS_OPTIONAL} -+ DESTINATION ${CMAKE_INSTALL_BINDIR}) - add_executable(arrow-stream-to-file stream_to_file.cc) - target_link_libraries(arrow-stream-to-file ${ARROW_UTIL_LIB}) -- -+ install(TARGETS arrow-stream-to-file ${INSTALL_IS_OPTIONAL} -+ DESTINATION ${CMAKE_INSTALL_BINDIR}) -+ - if(ARROW_BUILD_INTEGRATION) - add_dependencies(arrow-integration arrow-file-to-stream) - add_dependencies(arrow-integration arrow-stream-to-file) diff --git a/recipes/arrow/all/patches/8.0.0-0006-fix-cmake.patch b/recipes/arrow/all/patches/8.0.0-0006-fix-cmake.patch deleted file mode 100644 index eb60d6e795ad5..0000000000000 --- a/recipes/arrow/all/patches/8.0.0-0006-fix-cmake.patch +++ /dev/null @@ -1,425 +0,0 @@ -diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt -index bb463d0..ce2d1df 100644 ---- a/cpp/CMakeLists.txt -+++ b/cpp/CMakeLists.txt -@@ -705,7 +705,7 @@ endif() - - if(ARROW_WITH_BROTLI) - # Order is important for static linking -- set(ARROW_BROTLI_LIBS Brotli::brotlienc Brotli::brotlidec Brotli::brotlicommon) -+ set(ARROW_BROTLI_LIBS brotli::brotlienc brotli::brotlidec brotli::brotlicommon) - list(APPEND ARROW_LINK_LIBS ${ARROW_BROTLI_LIBS}) - list(APPEND ARROW_STATIC_LINK_LIBS ${ARROW_BROTLI_LIBS}) - if(Brotli_SOURCE STREQUAL "SYSTEM") -@@ -721,11 +721,18 @@ if(ARROW_WITH_BZ2) - endif() - - if(ARROW_WITH_LZ4) -- list(APPEND ARROW_STATIC_LINK_LIBS lz4::lz4) -- if(Lz4_SOURCE STREQUAL "SYSTEM") -- list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS LZ4::lz4) -+ if (TARGET LZ4::lz4_static) -+ list(APPEND ARROW_STATIC_LINK_LIBS LZ4::lz4_static) -+ if(Lz4_SOURCE STREQUAL "SYSTEM") -+ list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS LZ4::lz4_static) -+ endif() -+ else() -+ list(APPEND ARROW_STATIC_LINK_LIBS LZ4::lz4_shared) -+ if(Lz4_SOURCE STREQUAL "SYSTEM") -+ list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS LZ4::lz4_shared) - endif() - endif() -+endif() - - if(ARROW_WITH_SNAPPY) - list(APPEND ARROW_STATIC_LINK_LIBS Snappy::snappy) -@@ -913,8 +920,13 @@ endif() - - if(ARROW_MIMALLOC) - add_definitions(-DARROW_MIMALLOC) -- list(APPEND ARROW_LINK_LIBS mimalloc::mimalloc) -- list(APPEND ARROW_STATIC_LINK_LIBS mimalloc::mimalloc) -+ if (TARGET mimalloc-static) -+ list(APPEND ARROW_LINK_LIBS mimalloc-static) -+ list(APPEND ARROW_STATIC_LINK_LIBS mimalloc-static) -+ else() -+ list(APPEND ARROW_LINK_LIBS mimalloc) -+ list(APPEND ARROW_STATIC_LINK_LIBS mimalloc) -+ endif() - endif() - - # ---------------------------------------------------------------------- -diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake -index f070323..16faf73 100644 ---- a/cpp/cmake_modules/ThirdpartyToolchain.cmake -+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake -@@ -959,6 +959,7 @@ endif() - # - Tests need Boost at runtime. - # - S3FS and Flight benchmarks need Boost at runtime. - if(ARROW_BUILD_INTEGRATION -+ OR ARROW_BOOST_REQUIRED - OR ARROW_BUILD_TESTS - OR (ARROW_FLIGHT AND ARROW_BUILD_BENCHMARKS) - OR (ARROW_S3 AND ARROW_BUILD_BENCHMARKS)) -@@ -975,7 +976,7 @@ endif() - - if(ARROW_BOOST_REQUIRED) - resolve_dependency(Boost -- HAVE_ALT -+ USE_CONFIG - TRUE - REQUIRED_VERSION - ${ARROW_BOOST_REQUIRED_VERSION} -@@ -986,7 +987,7 @@ if(ARROW_BOOST_REQUIRED) - if(TARGET Boost::system) - set(BOOST_SYSTEM_LIBRARY Boost::system) - set(BOOST_FILESYSTEM_LIBRARY Boost::filesystem) -- elseif(BoostAlt_FOUND) -+ elseif(Boost_FOUND) - set(BOOST_SYSTEM_LIBRARY ${Boost_SYSTEM_LIBRARY}) - set(BOOST_FILESYSTEM_LIBRARY ${Boost_FILESYSTEM_LIBRARY}) - else() -@@ -1129,9 +1130,9 @@ macro(build_brotli) - endmacro() - - if(ARROW_WITH_BROTLI) -- resolve_dependency(Brotli PC_PACKAGE_NAMES libbrotlidec libbrotlienc) -+ resolve_dependency(brotli PC_PACKAGE_NAMES libbrotlidec libbrotlienc) - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(BROTLI_INCLUDE_DIR Brotli::brotlicommon -+ get_target_property(BROTLI_INCLUDE_DIR brotli::brotlicommon - INTERFACE_INCLUDE_DIRECTORIES) - include_directories(SYSTEM ${BROTLI_INCLUDE_DIR}) - endif() -@@ -1323,22 +1324,16 @@ endmacro() - if(ARROW_NEED_GFLAGS) - set(ARROW_GFLAGS_REQUIRED_VERSION "2.1.0") - resolve_dependency(gflags -- HAVE_ALT -+ USE_CONFIG - TRUE - REQUIRED_VERSION - ${ARROW_GFLAGS_REQUIRED_VERSION} - IS_RUNTIME_DEPENDENCY - FALSE) - # TODO: Don't use global includes but rather target_include_directories -- include_directories(SYSTEM ${GFLAGS_INCLUDE_DIR}) -- -- if(NOT TARGET ${GFLAGS_LIBRARIES}) -- if(TARGET gflags-shared) -- set(GFLAGS_LIBRARIES gflags-shared) -- elseif(TARGET gflags_shared) -- set(GFLAGS_LIBRARIES gflags_shared) -- endif() -- endif() -+ include_directories(SYSTEM ${gflags_INCLUDE_DIR}) -+ list(APPEND ARROW_BUNDLED_STATIC_LIBS ${gflags_LIBRARIES_TARGETS}) -+ set(GFLAGS_LIBRARIES gflags::gflags) - endif() - - # ---------------------------------------------------------------------- -@@ -1432,9 +1427,9 @@ if(ARROW_WITH_THRIFT) - thrift) - endif() - # TODO: Don't use global includes but rather target_include_directories -- include_directories(SYSTEM ${THRIFT_INCLUDE_DIR}) -+ include_directories(SYSTEM ${Thrift_INCLUDE_DIR}) - -- string(REPLACE "." ";" VERSION_LIST ${THRIFT_VERSION}) -+ string(REPLACE "." ";" VERSION_LIST ${Thrift_VERSION}) - list(GET VERSION_LIST 0 THRIFT_VERSION_MAJOR) - list(GET VERSION_LIST 1 THRIFT_VERSION_MINOR) - list(GET VERSION_LIST 2 THRIFT_VERSION_PATCH) -@@ -1557,6 +1552,7 @@ if(ARROW_WITH_PROTOBUF) - set(ARROW_PROTOBUF_REQUIRED_VERSION "2.6.1") - endif() - resolve_dependency(Protobuf -+ USE_CONFIG - REQUIRED_VERSION - ${ARROW_PROTOBUF_REQUIRED_VERSION} - PC_PACKAGE_NAMES -@@ -1567,7 +1563,7 @@ if(ARROW_WITH_PROTOBUF) - endif() - - # TODO: Don't use global includes but rather target_include_directories -- include_directories(SYSTEM ${PROTOBUF_INCLUDE_DIR}) -+ include_directories(SYSTEM ${protobuf_INCLUDE_DIR}) - - if(TARGET arrow::protobuf::libprotobuf) - set(ARROW_PROTOBUF_LIBPROTOBUF arrow::protobuf::libprotobuf) -@@ -1576,9 +1572,9 @@ if(ARROW_WITH_PROTOBUF) - if(NOT TARGET protobuf::libprotobuf) - add_library(protobuf::libprotobuf UNKNOWN IMPORTED) - set_target_properties(protobuf::libprotobuf -- PROPERTIES IMPORTED_LOCATION "${PROTOBUF_LIBRARY}" -+ PROPERTIES IMPORTED_LOCATION "${Protobuf_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES -- "${PROTOBUF_INCLUDE_DIR}") -+ "${Protobuf_INCLUDE_DIR}") - endif() - set(ARROW_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf) - endif() -@@ -1598,7 +1594,7 @@ if(ARROW_WITH_PROTOBUF) - set_target_properties(protobuf::libprotoc - PROPERTIES IMPORTED_LOCATION "${Protobuf_PROTOC_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES -- "${PROTOBUF_INCLUDE_DIR}") -+ "${Protobuf_INCLUDE_DIR}") - endif() - set(ARROW_PROTOBUF_LIBPROTOC protobuf::libprotoc) - endif() -@@ -1690,11 +1686,12 @@ macro(build_substrait) - - add_custom_target(substrait_gen ALL DEPENDS ${SUBSTRAIT_PROTO_GEN_ALL}) - -- set(SUBSTRAIT_INCLUDES ${SUBSTRAIT_CPP_DIR} ${PROTOBUF_INCLUDE_DIR}) -+ set(SUBSTRAIT_INCLUDES ${SUBSTRAIT_CPP_DIR} ${protobuf_INCLUDE_DIR}) - - add_library(substrait STATIC ${SUBSTRAIT_SOURCES}) - set_target_properties(substrait PROPERTIES POSITION_INDEPENDENT_CODE ON) - target_include_directories(substrait PUBLIC ${SUBSTRAIT_INCLUDES}) -+ target_include_directories(substrait PUBLIC ${PROTOBUF_INCLUDE_DIR}) - target_link_libraries(substrait INTERFACE ${ARROW_PROTOBUF_LIBPROTOBUF}) - add_dependencies(substrait substrait_gen) - -@@ -1711,6 +1708,7 @@ endif() - # jemalloc - Unix-only high-performance allocator - - if(ARROW_JEMALLOC) -+if(0) - message(STATUS "Building (vendored) jemalloc from source") - # We only use a vendored jemalloc as we want to control its version. - # Also our build of jemalloc is specially prefixed so that it will not -@@ -1780,12 +1778,18 @@ if(ARROW_JEMALLOC) - add_dependencies(jemalloc::jemalloc jemalloc_ep) - - list(APPEND ARROW_BUNDLED_STATIC_LIBS jemalloc::jemalloc) -+else() -+ find_package(jemalloc REQUIRED CONFIG) -+ include_directories(SYSTEM "${jemalloc_INCLUDE_DIR}") -+ list(APPEND ARROW_BUNDLED_STATIC_LIBS ${jemalloc_LIBRARIES_TARGETS}) -+endif() - endif() - - # ---------------------------------------------------------------------- - # mimalloc - Cross-platform high-performance allocator, from Microsoft - - if(ARROW_MIMALLOC) -+if(0) - message(STATUS "Building (vendored) mimalloc from source") - # We only use a vendored mimalloc as we want to control its build options. - -@@ -1836,6 +1840,11 @@ if(ARROW_MIMALLOC) - add_dependencies(toolchain mimalloc_ep) - - list(APPEND ARROW_BUNDLED_STATIC_LIBS mimalloc::mimalloc) -+else() -+ find_package(mimalloc REQUIRED CONFIG) -+ include_directories(SYSTEM "${mimalloc_INCLUDE_DIR}") -+ list(APPEND ARROW_BUNDLED_STATIC_LIBS ${mimalloc_LIBRARIES_TARGETS} ) -+endif() - endif() - - # ---------------------------------------------------------------------- -@@ -2121,7 +2130,7 @@ endmacro() - if(ARROW_WITH_RAPIDJSON) - set(ARROW_RAPIDJSON_REQUIRED_VERSION "1.1.0") - resolve_dependency(RapidJSON -- HAVE_ALT -+ USE_CONFIG - TRUE - REQUIRED_VERSION - ${ARROW_RAPIDJSON_REQUIRED_VERSION} -@@ -2158,10 +2167,10 @@ endmacro() - - if((NOT ARROW_SIMD_LEVEL STREQUAL "NONE") OR (NOT ARROW_RUNTIME_SIMD_LEVEL STREQUAL "NONE" - )) -- set(xsimd_SOURCE "BUNDLED") -+ set(xsimd_SOURCE "SYSTEM") - resolve_dependency(xsimd) - # TODO: Don't use global includes but rather target_include_directories -- include_directories(SYSTEM ${XSIMD_INCLUDE_DIR}) -+ include_directories(SYSTEM ${xsimd_INCLUDE_DIR}) - endif() - - macro(build_zlib) -@@ -2260,10 +2269,14 @@ macro(build_lz4) - endmacro() - - if(ARROW_WITH_LZ4) -- resolve_dependency(Lz4 PC_PACKAGE_NAMES liblz4) -+ resolve_dependency(Lz4) - - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(LZ4_INCLUDE_DIR LZ4::lz4 INTERFACE_INCLUDE_DIRECTORIES) -+ if (TARGET LZ4::lz4_static) -+ get_target_property(LZ4_INCLUDE_DIR LZ4::lz4_static INTERFACE_INCLUDE_DIRECTORIES) -+ else() -+ get_target_property(LZ4_INCLUDE_DIR LZ4::lz4_shared INTERFACE_INCLUDE_DIRECTORIES) -+ endif() - include_directories(SYSTEM ${LZ4_INCLUDE_DIR}) - endif() - -@@ -2394,7 +2407,7 @@ if(ARROW_WITH_RE2) - # Don't specify "PC_PACKAGE_NAMES re2" here because re2.pc may - # include -std=c++11. It's not compatible with C source and C++ - # source not uses C++ 11. -- resolve_dependency(re2 HAVE_ALT TRUE) -+ resolve_dependency(re2 USE_CONFIG TRUE) - if(${re2_SOURCE} STREQUAL "SYSTEM") - get_target_property(RE2_LIB re2::re2 IMPORTED_LOCATION_${UPPERCASE_BUILD_TYPE}) - if(NOT RE2_LIB) -@@ -2464,7 +2477,7 @@ endmacro() - if(ARROW_WITH_BZ2) - resolve_dependency(BZip2) - if(${BZip2_SOURCE} STREQUAL "SYSTEM") -- string(APPEND ARROW_PC_LIBS_PRIVATE " ${BZIP2_LIBRARIES}") -+ string(APPEND ARROW_PC_LIBS_PRIVATE " ${BZip2_LIBRARIES}") - endif() - - if(NOT TARGET BZip2::BZip2) -@@ -2473,7 +2486,7 @@ if(ARROW_WITH_BZ2) - PROPERTIES IMPORTED_LOCATION "${BZIP2_LIBRARIES}" - INTERFACE_INCLUDE_DIRECTORIES "${BZIP2_INCLUDE_DIR}") - endif() -- include_directories(SYSTEM "${BZIP2_INCLUDE_DIR}") -+ include_directories(SYSTEM "${BZip2_INCLUDE_DIR}") - endif() - - macro(build_utf8proc) -@@ -3709,7 +3722,7 @@ if(ARROW_WITH_GRPC) - set(gRPC_SOURCE "${Protobuf_SOURCE}") - endif() - resolve_dependency(gRPC -- HAVE_ALT -+ USE_CONFIG - TRUE - REQUIRED_VERSION - ${ARROW_GRPC_REQUIRED_VERSION} -@@ -3727,9 +3740,9 @@ if(ARROW_WITH_GRPC) - else() - # grpc++ headers may reside in ${GRPC_INCLUDE_DIR}/grpc++ or ${GRPC_INCLUDE_DIR}/grpcpp - # depending on the gRPC version. -- if(EXISTS "${GRPC_INCLUDE_DIR}/grpcpp/impl/codegen/config_protobuf.h") -+ if(EXISTS ${gRPC_INCLUDE_DIR}/grpcpp/impl/codegen/config_protobuf.h) - set(GRPCPP_PP_INCLUDE TRUE) -- elseif(EXISTS "${GRPC_INCLUDE_DIR}/grpc++/impl/codegen/config_protobuf.h") -+ elseif(EXISTS ${gRPC_INCLUDE_DIR}/grpc++/impl/codegen/config_protobuf.h) - set(GRPCPP_PP_INCLUDE FALSE) - else() - message(FATAL_ERROR "Cannot find grpc++ headers in ${GRPC_INCLUDE_DIR}") -@@ -3937,7 +3950,7 @@ macro(build_google_cloud_cpp_storage) - endmacro() - - if(ARROW_WITH_GOOGLE_CLOUD_CPP) -- resolve_dependency(google_cloud_cpp_storage) -+ resolve_dependency(google_cloud_cpp) - get_target_property(google_cloud_cpp_storage_INCLUDE_DIR google-cloud-cpp::storage - INTERFACE_INCLUDE_DIRECTORIES) - include_directories(SYSTEM ${google_cloud_cpp_storage_INCLUDE_DIR}) -@@ -4264,9 +4277,9 @@ if(ARROW_WITH_OPENTELEMETRY) - # cURL is required whether we build from source or use an existing installation - # (OTel's cmake files do not call find_curl for you) - find_curl() -- set(opentelemetry-cpp_SOURCE "AUTO") -+ set(opentelemetry-cpp_SOURCE "SYSTEM") - resolve_dependency(opentelemetry-cpp) -- get_target_property(OPENTELEMETRY_INCLUDE_DIR opentelemetry-cpp::api -+ get_target_property(OPENTELEMETRY_INCLUDE_DIR opentelemetry-cpp::opentelemetry_common - INTERFACE_INCLUDE_DIRECTORIES) - include_directories(SYSTEM ${OPENTELEMETRY_INCLUDE_DIR}) - message(STATUS "Found OpenTelemetry headers: ${OPENTELEMETRY_INCLUDE_DIR}") -diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt -index 690c51a..752f3b9 100644 ---- a/cpp/src/arrow/CMakeLists.txt -+++ b/cpp/src/arrow/CMakeLists.txt -@@ -326,10 +326,14 @@ set(ARROW_TESTING_SRCS - - set(_allocator_dependencies "") # Empty list - if(ARROW_JEMALLOC) -- list(APPEND _allocator_dependencies jemalloc_ep) -+ list(APPEND _allocator_dependencies jemalloc::jemalloc) - endif() - if(ARROW_MIMALLOC) -- list(APPEND _allocator_dependencies mimalloc_ep) -+ if (TARGET mimalloc-static) -+ list(APPEND _allocator_dependencies mimalloc-static) -+ else() -+ list(APPEND _allocator_dependencies mimalloc) -+ endif() - endif() - - if(_allocator_dependencies) -diff --git a/cpp/src/arrow/flight/CMakeLists.txt b/cpp/src/arrow/flight/CMakeLists.txt -index f9d1356..c9bcf79 100644 ---- a/cpp/src/arrow/flight/CMakeLists.txt -+++ b/cpp/src/arrow/flight/CMakeLists.txt -@@ -17,6 +17,9 @@ - - add_custom_target(arrow_flight) - -+# TODO: This is a temporary workaround. absl should be LINKED as TARGET. -+include_directories(SYSTEM ${absl_INCLUDE_DIR}) -+ - arrow_install_all_headers("arrow/flight") - - set(ARROW_FLIGHT_LINK_LIBS gRPC::grpc++ ${ARROW_PROTOBUF_LIBPROTOBUF}) -diff --git a/cpp/src/arrow/memory_pool.cc b/cpp/src/arrow/memory_pool.cc -index ed1c2d8..37a89da 100644 ---- a/cpp/src/arrow/memory_pool.cc -+++ b/cpp/src/arrow/memory_pool.cc -@@ -52,7 +52,7 @@ - // Needed to support jemalloc 3 and 4 - #define JEMALLOC_MANGLE - // Explicitly link to our version of jemalloc --#include "jemalloc_ep/dist/include/jemalloc/jemalloc.h" -+#include "jemalloc/jemalloc.h" - #endif - - #ifdef ARROW_MIMALLOC -diff --git a/cpp/src/gandiva/CMakeLists.txt b/cpp/src/gandiva/CMakeLists.txt -index 71faf9a..3aabea1 100644 ---- a/cpp/src/gandiva/CMakeLists.txt -+++ b/cpp/src/gandiva/CMakeLists.txt -@@ -25,7 +25,7 @@ add_custom_target(gandiva-benchmarks) - - add_dependencies(gandiva-all gandiva gandiva-tests gandiva-benchmarks) - --find_package(LLVMAlt REQUIRED) -+find_package(LLVM REQUIRED) - - if(LLVM_VERSION_MAJOR LESS "10") - set(GANDIVA_CXX_STANDARD ${CMAKE_CXX_STANDARD}) -@@ -40,7 +40,7 @@ endif() - - add_definitions(-DGANDIVA_LLVM_VERSION=${LLVM_VERSION_MAJOR}) - --find_package(OpenSSLAlt REQUIRED) -+find_package(OpenSSL REQUIRED) - - # Set the path where the bitcode file generated, see precompiled/CMakeLists.txt - set(GANDIVA_PRECOMPILED_BC_PATH "${CMAKE_CURRENT_BINARY_DIR}/irhelpers.bc") -@@ -98,10 +98,11 @@ set(SRC_FILES - random_generator_holder.cc - ${GANDIVA_PRECOMPILED_CC_PATH}) - --set(GANDIVA_SHARED_PRIVATE_LINK_LIBS arrow_shared LLVM::LLVM_INTERFACE -- ${GANDIVA_OPENSSL_LIBS}) -+set(GANDIVA_SHARED_PRIVATE_LINK_LIBS arrow_shared llvm-core::llvm-core NTERFACE -+ ${GANDIVA_OPENSSL_LIBS}) -+ -+set(GANDIVA_STATIC_LINK_LIBS arrow_static llvm-core::llvm-core ${GANDIVA_OPENSSL_LIBS}) - --set(GANDIVA_STATIC_LINK_LIBS arrow_static LLVM::LLVM_INTERFACE ${GANDIVA_OPENSSL_LIBS}) - - if(ARROW_GANDIVA_STATIC_LIBSTDCPP AND (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX - )) -@@ -139,7 +140,7 @@ add_arrow_lib(gandiva - arrow_dependencies - precompiled - EXTRA_INCLUDES -- $ -+ $ - ${GANDIVA_OPENSSL_INCLUDE_DIR} - ${UTF8PROC_INCLUDE_DIR} - SHARED_LINK_FLAGS diff --git a/recipes/arrow/all/test_v1_package/CMakeLists.txt b/recipes/arrow/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2a9b48732268c..0000000000000 --- a/recipes/arrow/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.1) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/arrow/all/test_v1_package/conanfile.py b/recipes/arrow/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/arrow/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/arrow/config.yml b/recipes/arrow/config.yml index 6d012719cd8e2..243d0f929268c 100644 --- a/recipes/arrow/config.yml +++ b/recipes/arrow/config.yml @@ -1,33 +1,13 @@ versions: + "18.1.0": + folder: all + "18.0.0": + folder: all "17.0.0": folder: all "16.1.0": folder: all - "16.0.0": - folder: all "15.0.0": folder: all "14.0.2": - folder: all - "14.0.1": - folder: all - "14.0.0": - folder: all - "13.0.0": - folder: all - "12.0.1": - folder: all - "12.0.0": - folder: all - "11.0.0": - folder: all - "10.0.1": - folder: all - "10.0.0": - folder: all - "8.0.1": - folder: all - "8.0.0": - folder: all - "7.0.0": - folder: all + folder: all \ No newline at end of file diff --git a/recipes/arsenalgear/all/test_v1_package/CMakeLists.txt b/recipes/arsenalgear/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index bc541ea90b512..0000000000000 --- a/recipes/arsenalgear/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/arsenalgear/all/test_v1_package/conanfile.py b/recipes/arsenalgear/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/arsenalgear/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aruco/3.x.x/conandata.yml b/recipes/aruco/3.x.x/conandata.yml index eb3415158ea14..ac03e59367f66 100644 --- a/recipes/aruco/3.x.x/conandata.yml +++ b/recipes/aruco/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.15": + url: "https://downloads.sourceforge.net/project/aruco/3.1.15/3.1.15.zip" + sha256: "8408ad1621b92c885b0740641ab98ec022705d48a08deb6f071ffebf455cc8b2" "3.1.12": url: "https://downloads.sourceforge.net/project/aruco/3.1.12/aruco-3.1.12.zip" sha256: "70b9ec8aa8eac6fe3f622201747a3e32c77bbb5f015e28a95c1c7c91f8ee8a09" diff --git a/recipes/aruco/3.x.x/conanfile.py b/recipes/aruco/3.x.x/conanfile.py index fb95bc3ec62e7..2e12e936c956e 100644 --- a/recipes/aruco/3.x.x/conanfile.py +++ b/recipes/aruco/3.x.x/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import collect_libs, copy, get, rmdir +from conan.tools.files import collect_libs, copy, get, rmdir, replace_in_file import os required_conan_version = ">=1.53.0" @@ -37,8 +37,11 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("opencv/4.5.5") - self.requires("eigen/3.4.0") + # Header used in public markerdetector.h + # cv::FileStorage::FileStorage used by aruco::CameraParameters::saveToFile + self.requires("opencv/4.9.0", transitive_headers=True, transitive_libs=True) + # Header used in levmarq.h + self.requires("eigen/3.4.0", transitive_headers=False) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -55,6 +58,7 @@ def generate(self): tc.variables["USE_OWN_EIGEN3"] = False tc.generate() deps = CMakeDeps(self) + deps.set_property("eigen", "cmake_additional_variables_prefixes", ["Eigen3"]) deps.generate() def build(self): diff --git a/recipes/aruco/3.x.x/test_package/test_package.cpp b/recipes/aruco/3.x.x/test_package/test_package.cpp index 4632ed7b42bd6..6a6b41f258933 100644 --- a/recipes/aruco/3.x.x/test_package/test_package.cpp +++ b/recipes/aruco/3.x.x/test_package/test_package.cpp @@ -1,10 +1,10 @@ -#include -#include +#include #include #include -#include +#include +#include int main() { cv::Mat image = cv::Mat::zeros(600,600,CV_8UC3); diff --git a/recipes/aruco/3.x.x/test_v1_package/CMakeLists.txt b/recipes/aruco/3.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/aruco/3.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aruco/3.x.x/test_v1_package/conanfile.py b/recipes/aruco/3.x.x/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/aruco/3.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aruco/config.yml b/recipes/aruco/config.yml index 243128b45c736..84539a1974a56 100644 --- a/recipes/aruco/config.yml +++ b/recipes/aruco/config.yml @@ -1,3 +1,5 @@ versions: + "3.1.15": + folder: 3.x.x "3.1.12": folder: 3.x.x diff --git a/recipes/asio/all/conandata.yml b/recipes/asio/all/conandata.yml index bf7c7ab528f44..001d8ff55af6f 100644 --- a/recipes/asio/all/conandata.yml +++ b/recipes/asio/all/conandata.yml @@ -1,85 +1,30 @@ sources: + "1.32.0": + url: "https://github.com/chriskohlhoff/asio/archive/asio-1-32-0.tar.gz" + sha256: "f1b94b80eeb00bb63a3c8cef5047d4e409df4d8a3fe502305976965827d95672" "1.31.0": url: "https://github.com/chriskohlhoff/asio/archive/asio-1-31-0.tar.gz" sha256: "530540f973498c2d297771af1bc852f69b27509bbb56bc7ac3309c928373286f" "1.30.2": url: "https://github.com/chriskohlhoff/asio/archive/asio-1-30-2.tar.gz" sha256: "755bd7f85a4b269c67ae0ea254907c078d408cce8e1a352ad2ed664d233780e8" - "1.30.1": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-30-1.tar.gz" - sha256: "94b121cc2016680f2314ef58eadf169c2d34fff97fba01df325a192d502d3a58" + # keep 1.29.0 for crowcpp-crow, restinio, fast-dds, asio-grpc "1.29.0": url: "https://github.com/chriskohlhoff/asio/archive/asio-1-29-0.tar.gz" sha256: "44305859b4e6664dbbf853c1ef8ca0259d694f033753ae309fcb2534ca20f721" - "1.28.2": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-28-2.tar.gz" - sha256: "5705a0e403017eba276625107160498518838064a6dd7fd8b00b2e30c0ffbdee" + # keep 1.28.1 for openscenegraph, restinio, simple-websocket-server, websocketpp "1.28.1": url: "https://github.com/chriskohlhoff/asio/archive/asio-1-28-1.tar.gz" sha256: "5ff6111ec8cbe73a168d997c547f562713aa7bd004c5c02326f0e9d579a5f2ce" - "1.28.0": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-28-0.tar.gz" - sha256: "226438b0798099ad2a202563a83571ce06dd13b570d8fded4840dbc1f97fa328" + # keep 1.27.0 for cppserver "1.27.0": url: "https://github.com/chriskohlhoff/asio/archive/asio-1-27-0.tar.gz" sha256: "b31c63867daaba0e460ee2c85dc508a52c81db0a7318e0d2147f444b26f80ed7" - "1.26.0": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-26-0.tar.gz" - sha256: "935583f86825b7b212479277d03543e0f419a55677fa8cb73a79a927b858a72d" - "1.24.0": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-24-0.tar.gz" - sha256: "cbcaaba0f66722787b1a7c33afe1befb3a012b5af3ad7da7ff0f6b8c9b7a8a5b" - "1.23.0": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-23-0.tar.gz" - sha256: "facae7627ce6c716add3f328eee3d78c2e6e133a46ac5ecb80897b37ebacf05e" - "1.22.1": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-22-1.tar.gz" - sha256: "30cb54a5de5e465d10ec0c2026d6b5917f5e89fffabdbabeb1475846fc9a2cf0" - "1.22.0": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-22-0.tar.gz" - sha256: "17bfd506f6d55c85a33603277a256b42ca5883bf290930040489ffeeed23724a" - "1.21.0": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-21-0.tar.gz" - sha256: "5d2d2dcb7bfb39bff941cabbfc8c27ee322a495470bf0f3a7c5238648cf5e6a9" - "1.20.0": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-20-0.tar.gz" - sha256: "34a8f07be6f54e3753874d46ecfa9b7ab7051c4e3f67103c52a33dfddaea48e6" - "1.19.2": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-19-2.tar.gz" - sha256: "5ee191aee825dfb1325cbacf643d599b186de057c88464ea98f1bae5ba4ff47a" - "1.19.1": - url: "https://github.com/chriskohlhoff/asio/archive/refs/tags/asio-1-19-1.tar.gz" - sha256: "2555e0a29256de5c77d6a34b14faefd28c76555e094ba0371acb0b91d483520e" - "1.19.0": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-19-0.tar.gz" - sha256: "11bc0e22fcdfb3f0b77574ac33760a3592c0dac7e7eece7668b823c158243629" - "1.18.2": - url: "https://github.com/chriskohlhoff/asio/archive/asio-1-18-2.tar.gz" - sha256: "8d67133b89e0f8b212e9f82fdcf1c7b21a978d453811e2cd941c680e72c2ca32" + # keep 1.18.1 for packio "1.18.1": url: "https://github.com/chriskohlhoff/asio/archive/asio-1-18-1.tar.gz" sha256: "39c721b987b7a0d2fe2aee64310bd128cd8cc10f43481604d18cb2d8b342fd40" - "1.18.0": - sha256: 820688d1e0387ff55194ae20036cbae0fb3c7d11b7c3f46492369723c01df96f - url: https://github.com/chriskohlhoff/asio/archive/asio-1-18-0.tar.gz - "1.17.0": - sha256: 46406a830f8334b3789e7352ed7309a39c7c30b685b0499d289eda4fd4ae2067 - url: https://github.com/chriskohlhoff/asio/archive/asio-1-17-0.tar.gz + # keep 1.16.1 for simple-websocket-server "1.16.1": sha256: e40bbd531530f08318b7c7d7e84e457176d8eae6f5ad2e3714dc27b9131ecd35 url: https://github.com/chriskohlhoff/asio/archive/asio-1-16-1.tar.gz - "1.16.0": - sha256: c87410ea62de6245aa239b9ed2057edf01d7f66acc3f5e50add9a29343c87512 - url: https://github.com/chriskohlhoff/asio/archive/asio-1-16-0.tar.gz - "1.14.1": - sha256: 5b12ce2cdb658025e67785f954f74b052709cfc9b5941b8fb889c049b0955e1d - url: https://github.com/chriskohlhoff/asio/archive/asio-1-14-1.tar.gz - "1.14.0": - sha256: bdb01a649c24d73ca4a836662e7af442d935313ed6deef6b07f17f3bc5f78d7a - url: https://github.com/chriskohlhoff/asio/archive/asio-1-14-0.tar.gz - "1.13.0": - sha256: 54a1208d20f2104dbd6b7a04a9262f5ab649f4b7a9faf7eac4c2294e9e104c06 - url: https://github.com/chriskohlhoff/asio/archive/asio-1-13-0.tar.gz - "1.12.2": - sha256: 1de23266b956674e766cd0b6c929a11259f2284ea8e96b765cc8c67b1689e0fd - url: https://github.com/chriskohlhoff/asio/archive/asio-1-12-2.tar.gz diff --git a/recipes/asio/all/test_v1_package/CMakeLists.txt b/recipes/asio/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/asio/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/asio/all/test_v1_package/conanfile.py b/recipes/asio/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/asio/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/asio/config.yml b/recipes/asio/config.yml index 0f4a1ba23b387..b6ec3bff0f46c 100644 --- a/recipes/asio/config.yml +++ b/recipes/asio/config.yml @@ -1,57 +1,17 @@ versions: + "1.32.0": + folder: all "1.31.0": folder: all "1.30.2": folder: all - "1.30.1": - folder: all "1.29.0": folder: all - "1.28.2": - folder: all "1.28.1": folder: all - "1.28.0": - folder: all "1.27.0": folder: all - "1.26.0": - folder: all - "1.24.0": - folder: all - "1.23.0": - folder: all - "1.22.1": - folder: all - "1.22.0": - folder: all - "1.21.0": - folder: all - "1.20.0": - folder: all - "1.19.2": - folder: all - "1.19.1": - folder: all - "1.19.0": - folder: all - "1.18.2": - folder: all "1.18.1": folder: all - "1.18.0": - folder: all - "1.17.0": - folder: all "1.16.1": folder: all - "1.16.0": - folder: all - "1.14.1": - folder: all - "1.14.0": - folder: all - "1.13.0": - folder: all - "1.12.2": - folder: all diff --git a/recipes/asmjit/all/test_v1_package/CMakeLists.txt b/recipes/asmjit/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/asmjit/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/asmjit/all/test_v1_package/conanfile.py b/recipes/asmjit/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/asmjit/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/asmtk/all/conandata.yml b/recipes/asmtk/all/conandata.yml new file mode 100644 index 0000000000000..0305fe3116b8e --- /dev/null +++ b/recipes/asmtk/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "0.0.0.cci.20230718": + url: "https://github.com/asmjit/asmtk/archive/e2752c85d39da4b0c5c729737a6faa25286b8e0c.zip" + sha256: "8cce0edf5f83df44853469c58037c59ae51b3630ed48be7c2370473f89d0986d" +patches: + "0.0.0.cci.20230718": + - patch_file: "patches/0001-update-cmakelist.patch" + patch_description: "Simple update to CMakeLists.txt to let asmtk link conan asmjit::asmjit instead of trying to do some magic" + patch_type: "conan" diff --git a/recipes/asmtk/all/conanfile.py b/recipes/asmtk/all/conanfile.py new file mode 100644 index 0000000000000..4897022fb9ed0 --- /dev/null +++ b/recipes/asmtk/all/conanfile.py @@ -0,0 +1,74 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir, apply_conandata_patches, export_conandata_patches +import os + +required_conan_version = ">=2.1" + +class AsmjitConan(ConanFile): + name = "asmtk" + description = "AsmTK provides concepts that are useful mostly in AOT code-generation." + license = "Zlib" + topics = ("asmjit", "compiler", "assembler", "jit", "asmtk") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://asmjit.com" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + implements = ["auto_shared_fpic"] + + def requirements(self): + # INFO: asmtk/globals.h: #include + # INFO asmtk consumes asmjit directly + self.requires("asmjit/cci.20240531", transitive_headers=True) + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + check_min_cppstd(self, 11) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["ASMTK_EMBED"] = False + tc.cache_variables["ASMTK_STATIC"] = not self.options.shared + tc.cache_variables["ASMTK_TEST"] = False + tc.cache_variables["ASMJIT_EXTERNAL"] = True + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "asmtk") + self.cpp_info.set_property("cmake_target_name", "asmjit::asmtk") + + self.cpp_info.libs = ["asmtk"] + if not self.options.shared: + self.cpp_info.defines = ["ASMTK_STATIC"] diff --git a/recipes/asmtk/all/patches/0001-update-cmakelist.patch b/recipes/asmtk/all/patches/0001-update-cmakelist.patch new file mode 100644 index 0000000000000..e471e79ea5a7b --- /dev/null +++ b/recipes/asmtk/all/patches/0001-update-cmakelist.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -171,7 +171,7 @@ if (NOT ASMTK_EMBED) + $<$:${ASMTK_PRIVATE_CFLAGS_DBG}> + $<$>:${ASMTK_PRIVATE_CFLAGS_REL}>) + +- if(ASMJIT_EXTERNAL) ++ if(NOT ASMJIT_EXTERNAL) + target_link_libraries(asmtk PUBLIC ${ASMJIT_LIBRARY}) + find_path(ASMJIT_INCLUDE_DIR NAMES asmjit/asmjit.h) + target_include_directories(asmtk PRIVATE ${ASMJIT_INCLUDE_DIR}) \ No newline at end of file diff --git a/recipes/asmtk/all/test_package/CMakeLists.txt b/recipes/asmtk/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..2b6a3fb962b42 --- /dev/null +++ b/recipes/asmtk/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(asmtk REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE asmjit::asmtk asmjit::asmjit) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/asmtk/all/test_package/conanfile.py b/recipes/asmtk/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9e627ca89b29 --- /dev/null +++ b/recipes/asmtk/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + self.requires("asmjit/[*]") # whichever version was already resolved + + 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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/asmtk/all/test_package/test_package.cpp b/recipes/asmtk/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..32cd848e0803c --- /dev/null +++ b/recipes/asmtk/all/test_package/test_package.cpp @@ -0,0 +1,19 @@ +#include + +#include +#include + + +int main(void) { + asmjit::Environment env(asmjit::Arch::kX64); + asmjit::CodeHolder code; + code.init(env); + + asmjit::x86::Assembler assembler(&code); + asmtk::AsmParser parser(&assembler); + parser.parse( + "mov rax, rbx\n" + "vaddpd zmm0, zmm1, [rax + 128]\n"); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/recipes/asmtk/config.yml b/recipes/asmtk/config.yml new file mode 100644 index 0000000000000..ec4883f2dc46a --- /dev/null +++ b/recipes/asmtk/config.yml @@ -0,0 +1,3 @@ +versions: + "0.0.0.cci.20230718": + folder: all diff --git a/recipes/assimp/5.x/conandata.yml b/recipes/assimp/5.x/conandata.yml index e267d49bf4f17..677866f0307dc 100644 --- a/recipes/assimp/5.x/conandata.yml +++ b/recipes/assimp/5.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.4.3": + url: "https://github.com/assimp/assimp/archive/refs/tags/v5.4.3.tar.gz" + sha256: "66dfbaee288f2bc43172440a55d0235dfc7bf885dda6435c038e8000e79582cb" "5.4.2": url: "https://github.com/assimp/assimp/archive/refs/tags/v5.4.2.tar.gz" sha256: "7414861a7b038e407b510e8b8c9e58d5bf8ca76c9dfe07a01d20af388ec5086a" diff --git a/recipes/assimp/5.x/conanfile.py b/recipes/assimp/5.x/conanfile.py index 67b7cd93c924b..f06d14969a98f 100644 --- a/recipes/assimp/5.x/conanfile.py +++ b/recipes/assimp/5.x/conanfile.py @@ -105,6 +105,8 @@ class AssimpConan(ConanFile): options.update(dict.fromkeys(_format_option_map, [True, False])) default_options.update(dict.fromkeys(_format_option_map, True)) + short_paths = True + @property def _min_cppstd(self): if Version(self.version) < "5.2.0": @@ -238,6 +240,7 @@ def generate(self): tc.variables["ASSIMP_UBSAN"] = False tc.variables["ASSIMP_WARNINGS_AS_ERRORS"] = False tc.variables["USE_STATIC_CRT"] = is_msvc_static_runtime(self) + tc.variables["ASSIMP_BUILD_USE_CCACHE"] = False for option, (definition, _) in self._format_option_map.items(): value = self.options.get_safe(option) diff --git a/recipes/assimp/5.x/test_v1_package/CMakeLists.txt b/recipes/assimp/5.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/assimp/5.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/assimp/5.x/test_v1_package/conanfile.py b/recipes/assimp/5.x/test_v1_package/conanfile.py deleted file mode 100644 index 32dae739b46ce..0000000000000 --- a/recipes/assimp/5.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - obj_path = os.path.join(self.source_folder, os.pardir, "test_package", "box.obj") - - bin_path = os.path.join("bin", "test_package") - self.run(f"{bin_path} {obj_path}", run_environment=True) - - bin_c_path = os.path.join("bin", "test_package_c") - self.run(f"{bin_c_path} {obj_path}", run_environment=True) diff --git a/recipes/assimp/config.yml b/recipes/assimp/config.yml index e0bd8dc212a2c..51044970f061a 100644 --- a/recipes/assimp/config.yml +++ b/recipes/assimp/config.yml @@ -1,4 +1,6 @@ versions: + "5.4.3": + folder: "5.x" "5.4.2": folder: "5.x" "5.4.1": diff --git a/recipes/astc-codec/all/test_v1_package/CMakeLists.txt b/recipes/astc-codec/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/astc-codec/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/astc-codec/all/test_v1_package/conanfile.py b/recipes/astc-codec/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/astc-codec/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/astro-informatics-so3/all/test_v1_package/CMakeLists.txt b/recipes/astro-informatics-so3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/astro-informatics-so3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/astro-informatics-so3/all/test_v1_package/conanfile.py b/recipes/astro-informatics-so3/all/test_v1_package/conanfile.py deleted file mode 100644 index abcaeed3f89b6..0000000000000 --- a/recipes/astro-informatics-so3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/async_simple/all/test_v1_package/CMakeLists.txt b/recipes/async_simple/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/async_simple/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/async_simple/all/test_v1_package/conanfile.py b/recipes/async_simple/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/async_simple/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/asyncplusplus/all/conandata.yml b/recipes/asyncplusplus/all/conandata.yml index 6e8a1f4ce6c53..44d6673d4265c 100644 --- a/recipes/asyncplusplus/all/conandata.yml +++ b/recipes/asyncplusplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2": + url: "https://github.com/Amanieu/asyncplusplus/archive/v1.2.tar.gz" + sha256: "0711c8db231bf3eb1066400f49ed73b5c3211a10eb3b8c3e64da3d5fdee8a4bf" "1.1": url: "https://github.com/Amanieu/asyncplusplus/archive/v1.1.tar.gz" sha256: "d160d3a433a1e08f51c785742843182c2b81a7bc872766f57bf5f3108377b858" diff --git a/recipes/asyncplusplus/all/conanfile.py b/recipes/asyncplusplus/all/conanfile.py index 1846058ae1e44..e0b83a2a00e4a 100644 --- a/recipes/asyncplusplus/all/conanfile.py +++ b/recipes/asyncplusplus/all/conanfile.py @@ -2,6 +2,8 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir, save +from conan.tools.microsoft import is_msvc, check_min_vs +from conan.tools.scm import Version import os import textwrap @@ -12,9 +14,9 @@ class AsyncplusplusConan(ConanFile): name = "asyncplusplus" description = "Async++ concurrency framework for C++11" license = "MIT" - topics = ("async", "parallel", "task", "scheduler") - homepage = "https://github.com/Amanieu/asyncplusplus" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Amanieu/asyncplusplus" + topics = ("async", "parallel", "task", "scheduler") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -89,6 +91,9 @@ def package_info(self): self.cpp_info.defines = ["LIBASYNC_STATIC"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread"] + + if Version(self.version) >= "1.2" and is_msvc(self) and check_min_vs(self, 191): + self.cpp_info.cxxflags.extend(["/Zc:__cplusplus"]) # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed self.cpp_info.names["cmake_find_package"] = "Async++" diff --git a/recipes/asyncplusplus/all/test_v1_package/CMakeLists.txt b/recipes/asyncplusplus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/asyncplusplus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/asyncplusplus/all/test_v1_package/conanfile.py b/recipes/asyncplusplus/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/asyncplusplus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/asyncplusplus/config.yml b/recipes/asyncplusplus/config.yml index 3f8a45fae5832..03361fccd564f 100644 --- a/recipes/asyncplusplus/config.yml +++ b/recipes/asyncplusplus/config.yml @@ -1,3 +1,5 @@ versions: + "1.2": + folder: all "1.1": folder: all diff --git a/recipes/asyncpp/all/conanfile.py b/recipes/asyncpp/all/conanfile.py index c8bb4abd89547..b93928908c5e6 100644 --- a/recipes/asyncpp/all/conanfile.py +++ b/recipes/asyncpp/all/conanfile.py @@ -16,7 +16,7 @@ class AsyncppRecipe(ConanFile): description = "A C++20 coroutine library for asynchronous and parallel programming." license = "MIT" url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/project/package" + homepage = "https://github.com/petiaccja/asyncpp/" topics = ("coroutine", "c++20", "async", "parallel", "concurrency") package_type = "library" @@ -52,11 +52,9 @@ def configure(self): self.options.rm_safe("fPIC") def layout(self): - # src_folder must use the same source folder name the project cmake_layout(self, src_folder="src") def validate(self): - # validate the minimum cpp standard supported. For C++ projects only if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) diff --git a/recipes/asyncpp/all/test_package/CMakeLists.txt b/recipes/asyncpp/all/test_package/CMakeLists.txt index 5a4068e0dbcf7..74c5adfc3219b 100644 --- a/recipes/asyncpp/all/test_package/CMakeLists.txt +++ b/recipes/asyncpp/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.15) -project(TestPackage CXX) - -add_executable(test_package test_package.cpp) +project(TestPackage LANGUAGES CXX) find_package(asyncpp CONFIG REQUIRED) + +add_executable(test_package test_package.cpp) target_link_libraries(test_package asyncpp::asyncpp) target_compile_features(test_package PUBLIC cxx_std_20) diff --git a/recipes/asyncpp/all/test_package/conanfile.py b/recipes/asyncpp/all/test_package/conanfile.py index 58dfdc09f139b..224348be46988 100644 --- a/recipes/asyncpp/all/test_package/conanfile.py +++ b/recipes/asyncpp/all/test_package/conanfile.py @@ -8,6 +8,7 @@ class AsyncppTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" def requirements(self): self.requires(self.tested_reference_str) diff --git a/recipes/atk/all/test_v1_package/CMakeLists.txt b/recipes/atk/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/atk/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/atk/all/test_v1_package/conanfile.py b/recipes/atk/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/atk/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/au/all/conandata.yml b/recipes/au/all/conandata.yml new file mode 100644 index 0000000000000..bce186970361a --- /dev/null +++ b/recipes/au/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "0.3.5": + url: "https://github.com/aurora-opensource/au/archive/refs/tags/0.3.5.tar.gz" + sha256: "7ec826dc42968dc1633de56e4f9d06e70de73e820d2ac4788e8453343a622c9b" +patches: + "0.3.5": + - patch_file: "patches/0001-v0.3.5-disable-gtest.patch" + patch_description: "Remove GTest dependency and disable tests build" + patch_type: "conan" diff --git a/recipes/au/all/conanfile.py b/recipes/au/all/conanfile.py new file mode 100644 index 0000000000000..a6d9acc2f5311 --- /dev/null +++ b/recipes/au/all/conanfile.py @@ -0,0 +1,90 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.53.0" + +class PackageConan(ConanFile): + name = "au" + description = "A C++14-compatible physical units library" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/aurora-opensource/au" + topics = ("units", "C++14") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", + } + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") + + 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 build_requirements(self): + self.tool_requires("cmake/[>=3.24 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + + copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "Au") + self.cpp_info.set_property("cmake_target_name", "Au::au") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + self.cpp_info.system_libs.append("pthread") + self.cpp_info.system_libs.append("dl") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.filenames["cmake_find_package"] = "Au" + self.cpp_info.filenames["cmake_find_package_multi"] = "Au" + self.cpp_info.names["cmake_find_package"] = "Au::au" + self.cpp_info.names["cmake_find_package_multi"] = "Au::au" diff --git a/recipes/au/all/patches/0001-v0.3.5-disable-gtest.patch b/recipes/au/all/patches/0001-v0.3.5-disable-gtest.patch new file mode 100644 index 0000000000000..1fb8b92d19f4d --- /dev/null +++ b/recipes/au/all/patches/0001-v0.3.5-disable-gtest.patch @@ -0,0 +1,58 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b18407f..dbd35af 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -37,23 +37,23 @@ set(AU_EXPORT_SET_NAME AuHeaders) + + enable_testing() + +-# Bring in GoogleTest so we can build and run the tests. +-include(FetchContent) +-FetchContent_Declare( +- googletest +- GIT_REPOSITORY https://github.com/google/googletest.git +- GIT_TAG 58d77fa8070e8cec2dc1ed015d66b454c8d78850 # Release 1.12.1 +- FIND_PACKAGE_ARGS +- 1.12.1 +- NAMES GTest +-) +- +-# https://google.github.io/googletest/quickstart-cmake.html +-# For Windows: Prevent overriding the parent project's compiler/linker settings +-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +- +-FetchContent_MakeAvailable(googletest) +-include(GoogleTest) ++## Bring in GoogleTest so we can build and run the tests. ++#include(FetchContent) ++#FetchContent_Declare( ++# googletest ++# GIT_REPOSITORY https://github.com/google/googletest.git ++# GIT_TAG 58d77fa8070e8cec2dc1ed015d66b454c8d78850 # Release 1.12.1 ++# FIND_PACKAGE_ARGS ++# 1.12.1 ++# NAMES GTest ++#) ++# ++## https://google.github.io/googletest/quickstart-cmake.html ++## For Windows: Prevent overriding the parent project's compiler/linker settings ++#set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) ++# ++#FetchContent_MakeAvailable(googletest) ++#include(GoogleTest) + + add_subdirectory(au) + +diff --git a/cmake/HeaderOnlyLibrary.cmake b/cmake/HeaderOnlyLibrary.cmake +index 28daf00..fbf0fab 100644 +--- a/cmake/HeaderOnlyLibrary.cmake ++++ b/cmake/HeaderOnlyLibrary.cmake +@@ -75,7 +75,7 @@ function(header_only_library) + ) + + # Add the test, if requested. +- if (DEFINED ARG_GTEST_SRCS) ++ if (OFF) + add_executable("${ARG_NAME}_test") + target_sources("${ARG_NAME}_test" PRIVATE ${ARG_GTEST_SRCS}) + target_link_libraries( diff --git a/recipes/au/all/test_package/CMakeLists.txt b/recipes/au/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..1c8798b44ab97 --- /dev/null +++ b/recipes/au/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) + +find_package(Au REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE Au::au) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/au/all/test_package/conanfile.py b/recipes/au/all/test_package/conanfile.py new file mode 100644 index 0000000000000..02eb5ce439fb4 --- /dev/null +++ b/recipes/au/all/test_package/conanfile.py @@ -0,0 +1,27 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +# It will become the standard on Conan 2.x +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/au/all/test_package/test_package.cpp b/recipes/au/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..35bad3194d8e4 --- /dev/null +++ b/recipes/au/all/test_package/test_package.cpp @@ -0,0 +1,15 @@ +#include + +#include "au/au.hh" +#include "au/io.hh" +#include "au/units/meters.hh" + +using namespace au; + +int main(void) { + constexpr auto length = meters(100.0); + + std::cout << length << " == " << length.in(kilo(meters)) <<" km" << std::endl; + + return EXIT_SUCCESS; +} diff --git a/recipes/au/config.yml b/recipes/au/config.yml new file mode 100644 index 0000000000000..ef7972c36ec69 --- /dev/null +++ b/recipes/au/config.yml @@ -0,0 +1,3 @@ +versions: + "0.3.5": + folder: all diff --git a/recipes/audiofile/all/conandata.yml b/recipes/audiofile/all/conandata.yml index 288d8a5ec4d8c..8d041f83a5614 100644 --- a/recipes/audiofile/all/conandata.yml +++ b/recipes/audiofile/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.2": + url: "https://github.com/adamstark/AudioFile/archive/1.1.2.tar.gz" + sha256: "d090282207421e27be57c3df1199a9893e0321ea7c971585361a3fc862bb8c16" "1.1.1": url: "https://github.com/adamstark/AudioFile/archive/1.1.1.tar.gz" sha256: "664f9d5fbbf1ff6c603ae054a35224f12e9856a1d8680be567909015ccaac328" diff --git a/recipes/audiofile/all/test_v1_package/CMakeLists.txt b/recipes/audiofile/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/audiofile/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/audiofile/all/test_v1_package/conanfile.py b/recipes/audiofile/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/audiofile/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/audiofile/config.yml b/recipes/audiofile/config.yml index 1b65530cbacc9..0189cfcafca9b 100644 --- a/recipes/audiofile/config.yml +++ b/recipes/audiofile/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.2": + folder: all "1.1.1": folder: all "1.1.0": diff --git a/recipes/audiowaveform/all/conandata.yml b/recipes/audiowaveform/all/conandata.yml new file mode 100644 index 0000000000000..2e2ba28ceca12 --- /dev/null +++ b/recipes/audiowaveform/all/conandata.yml @@ -0,0 +1,15 @@ +sources: + "1.10.1": + url: "https://github.com/bbc/audiowaveform/archive/refs/tags/1.10.1.tar.gz" + sha256: "bd283d84dc84fda84f4090fddde9a5bef924c588dd7bf6acaa8f7b946efb42a4" +patches: + "1.10.1": + - patch_file: "patches/0001-1.10.1_find_packages.patch" + patch_description: "Inject thirdparties from conan" + patch_type: "conan" + - patch_file: "patches/0002-1.10.1_remove_flags.patch" + patch_description: "Remove custom compile flags" + patch_type: "conan" + - patch_file: "patches/0003-1.10.1_remove_documentation.patch" + patch_description: "Remove documenation" + patch_type: "conan" diff --git a/recipes/audiowaveform/all/conanfile.py b/recipes/audiowaveform/all/conanfile.py new file mode 100644 index 0000000000000..4d5e42ee98a02 --- /dev/null +++ b/recipes/audiowaveform/all/conanfile.py @@ -0,0 +1,94 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd, valid_min_cppstd +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.microsoft import is_msvc +import os + + +required_conan_version = ">=1.53.0" + + +class AudiowaveformConan(ConanFile): + name = "audiowaveform" + description = "C++ program to generate waveform data and render waveform images from audio files" + license = "GPL-3.0-or-later" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://waveform.prototyping.bbc.co.uk/" + topics = ("audio", "c-plus-plus") + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + pass + + def configure(self): + pass + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("libgd/2.3.3") + self.requires("libid3tag/0.15.1b") + self.requires("libmad/0.15.1b") + self.requires("libsndfile/1.2.2") + self.requires("boost/1.85.0") + + def package_id(self): + del self.info.settings.compiler + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + if is_msvc(self): + raise ConanInvalidConfiguration(f"{self.ref} can not be built on Visual Studio and msvc.") + + def build_requirements(self): + pass + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ENABLE_TESTS"] = False + if not valid_min_cppstd(self, self._min_cppstd): + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + rm(self, "Find*.cmake", os.path.join(self.source_folder, "CMake")) + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) + + def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + + # TODO: Legacy, to be removed on Conan 2.0 + bin_folder = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bin_folder) diff --git a/recipes/audiowaveform/all/patches/0001-1.10.1_find_packages.patch b/recipes/audiowaveform/all/patches/0001-1.10.1_find_packages.patch new file mode 100644 index 0000000000000..e4f3afcf4da27 --- /dev/null +++ b/recipes/audiowaveform/all/patches/0001-1.10.1_find_packages.patch @@ -0,0 +1,66 @@ +Use packages that are provided by conan +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -88,40 +88,11 @@ if(BUILD_STATIC) + endif() + endif(BUILD_STATIC) + +-find_package(LibGD REQUIRED) +-if(LIBGD_FOUND) +- message(STATUS "LIBGD_INCLUDE_DIRS='${LIBGD_INCLUDE_DIRS}'") +- message(STATUS "LIBGD_LIBRARIES=${LIBGD_LIBRARIES}") +- include_directories(${LIBGD_INCLUDE_DIRS}) +-endif(LIBGD_FOUND) +- +-find_package(LibSndFile REQUIRED) +-if(LIBSNDFILE_FOUND) +- message(STATUS "LIBSNDFILE_INCLUDE_DIRS='${LIBSNDFILE_INCLUDE_DIRS}'") +- message(STATUS "LIBSNDFILE_LIBRARIES=${LIBSNDFILE_LIBRARIES}") +- include_directories(${LIBSNDFILE_INCLUDE_DIRS}) +-endif(LIBSNDFILE_FOUND) +- +-find_package(LibMad REQUIRED) +-if(LIBMAD_FOUND) +- message(STATUS "LIBMAD_INCLUDE_DIRS='${LIBMAD_INCLUDE_DIRS}'") +- message(STATUS "LIBMAD_LIBRARIES=${LIBMAD_LIBRARIES}") +- include_directories(${LIBMAD_INCLUDE_DIRS}) +-endif(LIBMAD_FOUND) +- +-find_package(LibId3Tag REQUIRED) +-if(LIBID3TAG_FOUND) +- message(STATUS "LIBID3TAG_INCLUDE_DIRS='${LIBID3TAG_INCLUDE_DIRS}'") +- message(STATUS "LIBID3TAG_LIBRARIES=${LIBID3TAG_LIBRARIES}") +- include_directories(${LIBID3TAG_INCLUDE_DIRS}) +-endif(LIBID3TAG_FOUND) +- +-find_package(Boost 1.46.0 COMPONENTS program_options filesystem regex system REQUIRED) +-if(Boost_FOUND) +- message(STATUS "Boost_INCLUDE_DIRS='${Boost_INCLUDE_DIRS}'") +- message(STATUS "Boost_LIBRARIES='${Boost_LIBRARIES}'") +- include_directories(${Boost_INCLUDE_DIRS}) +-endif(Boost_FOUND) ++find_package(libgd REQUIRED CONFIG) ++find_package(SndFile REQUIRED CONFIG) ++find_package(libmad REQUIRED CONFIG) ++find_package(libid3tag REQUIRED CONFIG) ++find_package(Boost COMPONENTS program_options filesystem regex REQUIRED) + + #------------------------------------------------------------------------------- + # +@@ -278,11 +249,11 @@ add_executable(audiowaveform ${SRCS}) + + # Specify libraries to link against. + set(LIBS +- ${LIBSNDFILE_LIBRARIES} +- ${LIBGD_LIBRARIES} +- ${LIBMAD_LIBRARIES} +- ${LIBID3TAG_LIBRARIES} +- ${Boost_LIBRARIES} ++ SndFile::sndfile ++ libgd::libgd ++ libmad::libmad ++ libid3tag::libid3tag ++ Boost::program_options Boost::filesystem Boost::regex + ) + + target_link_libraries(audiowaveform ${LIBS}) diff --git a/recipes/audiowaveform/all/patches/0002-1.10.1_remove_flags.patch b/recipes/audiowaveform/all/patches/0002-1.10.1_remove_flags.patch new file mode 100644 index 0000000000000..ac2bac6bbfe1a --- /dev/null +++ b/recipes/audiowaveform/all/patches/0002-1.10.1_remove_flags.patch @@ -0,0 +1,19 @@ +Remove custom compile flags +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -162,6 +162,7 @@ if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.6.3") + message(FATAL_ERROR "g++ 4.6.3 or later required") + endif() + ++if(0) + if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.7") + set(CMAKE_CXX_FLAGS "-std=c++11") + else() +@@ -178,6 +179,7 @@ if(APPLE AND BUILD_STATIC) + set(CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden") + endif() ++endif() + + message(STATUS "CMAKE_CXX_COMPILER_VERSION='${CMAKE_CXX_COMPILER_VERSION}'") + message(STATUS "CMAKE_CXX_FLAGS='${CMAKE_CXX_FLAGS}'") diff --git a/recipes/audiowaveform/all/patches/0003-1.10.1_remove_documentation.patch b/recipes/audiowaveform/all/patches/0003-1.10.1_remove_documentation.patch new file mode 100644 index 0000000000000..c8cc66eaa8a38 --- /dev/null +++ b/recipes/audiowaveform/all/patches/0003-1.10.1_remove_documentation.patch @@ -0,0 +1,34 @@ +Remove documentation target +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -314,6 +314,7 @@ endif() + # + #------------------------------------------------------------------------------- + ++if(0) + file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/doc) + + add_custom_command( +@@ -334,6 +335,7 @@ add_custom_target(doc + ) + + add_dependencies(audiowaveform doc) ++endif() + + #------------------------------------------------------------------------------- + # +@@ -347,6 +349,7 @@ message(STATUS "CMAKE_INSTALL_PREFIX='${CMAKE_INSTALL_PREFIX}'") + install(TARGETS audiowaveform DESTINATION bin) + + # Install man pages ++if(0) + install( + FILES ${PROJECT_BINARY_DIR}/doc/audiowaveform.1.gz + DESTINATION share/man/man1 +@@ -356,5 +359,6 @@ install( + FILES ${PROJECT_BINARY_DIR}/doc/audiowaveform.5.gz + DESTINATION share/man/man5 + ) ++endif() + + #------------------------------------------------------------------------------- diff --git a/recipes/audiowaveform/all/test_package/conanfile.py b/recipes/audiowaveform/all/test_package/conanfile.py new file mode 100644 index 0000000000000..5b8eaa02f81b6 --- /dev/null +++ b/recipes/audiowaveform/all/test_package/conanfile.py @@ -0,0 +1,13 @@ +from conan import ConanFile + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def test(self): + self.run("audiowaveform --version") diff --git a/recipes/audiowaveform/config.yml b/recipes/audiowaveform/config.yml new file mode 100644 index 0000000000000..5492c2a9aab5c --- /dev/null +++ b/recipes/audiowaveform/config.yml @@ -0,0 +1,3 @@ +versions: + "1.10.1": + folder: all diff --git a/recipes/autoconf-archive/all/test_v1_package/Makefile.am b/recipes/autoconf-archive/all/test_v1_package/Makefile.am deleted file mode 100644 index b5165c3af4560..0000000000000 --- a/recipes/autoconf-archive/all/test_v1_package/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -bin_PROGRAMS = test_package -test_package_sources = test_package.c diff --git a/recipes/autoconf-archive/all/test_v1_package/conanfile.py b/recipes/autoconf-archive/all/test_v1_package/conanfile.py deleted file mode 100644 index 99631c75c0149..0000000000000 --- a/recipes/autoconf-archive/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,52 +0,0 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -import contextlib -import os -import shutil - -required_conan_version = ">=1.56.0" - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - exports_sources = "configure.ac", "Makefile.am", "test_package.c" - test_type = "explicit" - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - def build_requirements(self): - self.build_requires(self.tested_reference_str) - self.build_requires("automake/1.16.5") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - - @contextlib.contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "CC": "cl -nologo", - "CXX": "cl -nologo", - } - with tools.environment_append(env): - yield - else: - yield - - def build(self): - for src in self.exports_sources: - shutil.copy(os.path.join(self.source_folder, src), self.build_folder) - - # Work around the fact that "used_special_vars" in conans/client/tools/win.py doesn't handle ACLOCAL_PATH - aclocal_path = "$ACLOCAL_PATH:" + self.deps_env_info.vars["ACLOCAL_PATH"][0].lower() - self.run("ACLOCAL_PATH={} autoreconf -fiv".format(aclocal_path), win_bash=self._settings_build.os == "Windows") - with self._build_context(): - autotools = AutoToolsBuildEnvironment(self, win_bash=self._settings_build.os == "Windows") - autotools.libs = [] - autotools.configure() - autotools.make() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join(".", "test_package")) diff --git a/recipes/autoconf-archive/all/test_v1_package/configure.ac b/recipes/autoconf-archive/all/test_v1_package/configure.ac deleted file mode 100644 index e74fbe8a4a2dd..0000000000000 --- a/recipes/autoconf-archive/all/test_v1_package/configure.ac +++ /dev/null @@ -1,15 +0,0 @@ -AC_INIT([test_package], [1.0]) -AC_CONFIG_SRCDIR([test_package.c]) -AC_CONFIG_AUX_DIR([autostuff]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -m4_pattern_forbid([^AX_], - [Unexpanded AX_ macro found. Please install GNU autoconf-archive.]) -AX_CXX_BOOL() -AX_CXX_HAVE_VECTOR_AT() -AX_CXX_HAVE_BIND() -AX_PRINTF_SIZE_T() -AX_CHECK_AWK_INDEX() -AX_BERKELEY_DB() -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT diff --git a/recipes/autoconf-archive/all/test_v1_package/test_package.c b/recipes/autoconf-archive/all/test_v1_package/test_package.c deleted file mode 100644 index 88b53a74dc6fb..0000000000000 --- a/recipes/autoconf-archive/all/test_v1_package/test_package.c +++ /dev/null @@ -1,6 +0,0 @@ -#include - -int main() { - printf("Hello world from test_package.c\n"); - return 0; -} diff --git a/recipes/automake/all/test_v1_package/Makefile.am b/recipes/automake/all/test_v1_package/Makefile.am deleted file mode 100644 index 655db7f1876cb..0000000000000 --- a/recipes/automake/all/test_v1_package/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -# @configure_input@ - -bin_PROGRAMS = test_package -test_package_SOURCES = test_package.cpp diff --git a/recipes/automake/all/test_v1_package/conanfile.py b/recipes/automake/all/test_v1_package/conanfile.py deleted file mode 100644 index 8362800620a5a..0000000000000 --- a/recipes/automake/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,89 +0,0 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conan.tools.microsoft import is_msvc -from contextlib import contextmanager -import os -import shutil - -required_conan_version = ">=1.45.0" - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - exports_sources = "configure.ac", "Makefile.am", "test_package_1.c", "test_package.cpp" - # DON'T COPY extra.m4 TO BUILD FOLDER!!! - test_type = "explicit" - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - def requirements(self): - self.requires(self.tested_reference_str) - - def build_requirements(self): - self.build_requires(self.tested_reference_str) - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - - @contextmanager - def _build_context(self): - if is_msvc(self): - with tools.vcvars(self): - with tools.environment_append({"CC": "cl -nologo", "CXX": "cl -nologo",}): - yield - else: - yield - - _default_cc = { - "gcc": "gcc", - "clang": "clang", - "Visual Studio": "cl -nologo", - "apple-clang": "clang", - } - - @property - def _system_cc(self): - system_cc = os.environ.get("CC", None) - if not system_cc: - system_cc = self._default_cc.get(str(self.settings.compiler)) - return system_cc - - @property - def _user_info(self): - return getattr(self, "user_info_build", self.deps_user_info) - - def _build_scripts(self): - """Test compile script of automake""" - compile_script = self._user_info["automake"].compile - ar_script = self._user_info["automake"].ar_lib - assert os.path.isfile(ar_script) - assert os.path.isfile(compile_script) - - if self._system_cc: - with tools.vcvars(self) if is_msvc(self) else tools.no_op(): - self.run("{} {} test_package_1.c -o script_test".format(tools.unix_path(compile_script), self._system_cc), win_bash=tools.os_info.is_windows) - - def _build_autotools(self): - """Test autoreconf + configure + make""" - with tools.environment_append({"AUTOMAKE_CONAN_INCLUDES": [tools.unix_path(self.source_folder)]}): - self.run("{} -fiv".format(os.environ["AUTORECONF"]), win_bash=tools.os_info.is_windows) - self.run("{} --help".format(os.path.join(self.build_folder, "configure").replace("\\", "/")), win_bash=tools.os_info.is_windows) - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - with self._build_context(): - autotools.configure() - autotools.make() - - def build(self): - for src in self.exports_sources: - shutil.copy(os.path.join(self.source_folder, src), self.build_folder) - - self._build_scripts() - self._build_autotools() - - def test(self): - if self._system_cc: - if not tools.cross_building(self): - self.run(os.path.join(".", "script_test"), run_environment=True) - - if not tools.cross_building(self): - self.run(os.path.join(".", "test_package"), run_environment=True) diff --git a/recipes/automake/all/test_v1_package/configure.ac b/recipes/automake/all/test_v1_package/configure.ac deleted file mode 100644 index 8a7ae1dc34e7f..0000000000000 --- a/recipes/automake/all/test_v1_package/configure.ac +++ /dev/null @@ -1,28 +0,0 @@ -AC_PREREQ([2.69]) -AC_INIT([test_package], [1.0]) -AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE([-Wall -Werror foreign]) - -# Safety checks in case user overwritten --srcdir -AC_CONFIG_SRCDIR([test_package.cpp]) - -AC_CANONICAL_HOST - -# Test includes of extra including directories using conan -AUTOMAKE_TEST_PACKAGE_PREREQ([1.0]) -AUTOMAKE_TEST_PACKAGE_HELLO([argument1], [argument2], [...], [last argument]) - -AC_CONFIG_HEADER([config.h]) - -# Check for CC and CXX compiler -AC_PROG_CC -AC_PROG_CXX -## We can add more checks in this section -# -## Tells automake to create a Makefile -## See https://www.gnu.org/software/automake/manual/html_node/Requirements.html -AC_CONFIG_FILES([Makefile]) -# -## Generate the output -AC_OUTPUT -# diff --git a/recipes/automake/all/test_v1_package/extra.m4 b/recipes/automake/all/test_v1_package/extra.m4 deleted file mode 100644 index 69c85f5ac945d..0000000000000 --- a/recipes/automake/all/test_v1_package/extra.m4 +++ /dev/null @@ -1,14 +0,0 @@ -dnl This file contains a macro to test adding extra include dirs using conan - -AC_DEFUN([AUTOMAKE_TEST_PACKAGE_PREREQ],[ - m4_define([CONAN_MACRO_VERSION], [1.3]) - m4_if(m4_version_compare(CONAN_MACRO_VERSION, [$1]), - -1, - [m4_fatal([extra.m4 version $1 or higher is required, but ]CONAN_MACRO_VERSION[ found])] - ) -])dnl AUTOMAKE_TEST_PACKAGE_PREREQ - -AC_DEFUN([AUTOMAKE_TEST_PACKAGE_HELLO],[ - echo "Hello world from the extra.m4 script!" - echo "My args were: $*" -])dnl diff --git a/recipes/automake/all/test_v1_package/test_package.cpp b/recipes/automake/all/test_v1_package/test_package.cpp deleted file mode 100644 index cd8c2f27c3587..0000000000000 --- a/recipes/automake/all/test_v1_package/test_package.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include "config.h" - -#include -#include - -int main(int argc, char** argv) { - std::cout << "test_package.cpp: " << "hello world from " PACKAGE_NAME "!\n"; - return EXIT_SUCCESS; -} diff --git a/recipes/automake/all/test_v1_package/test_package_1.c b/recipes/automake/all/test_v1_package/test_package_1.c deleted file mode 100644 index 9aaff6c18e30d..0000000000000 --- a/recipes/automake/all/test_v1_package/test_package_1.c +++ /dev/null @@ -1,7 +0,0 @@ -#include -#include - -int main() { - puts("test_package.c says 'Hello World'!\n"); - return EXIT_SUCCESS; -} diff --git a/recipes/avahi/all/test_v1_package/CMakeLists.txt b/recipes/avahi/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/avahi/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/avahi/all/test_v1_package/conanfile.py b/recipes/avahi/all/test_v1_package/conanfile.py deleted file mode 100644 index b6a26067f365d..0000000000000 --- a/recipes/avahi/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/avcpp/all/conandata.yml b/recipes/avcpp/all/conandata.yml index 59d5eecbaffc4..88c010aba2113 100644 --- a/recipes/avcpp/all/conandata.yml +++ b/recipes/avcpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.0": + url: "https://github.com/h4tr3d/avcpp/archive/refs/tags/v2.4.0.tar.gz" + sha256: "47e044c10fa232f0d12d80351e675d5a5ef1480f81a93f288f33f8d03e94ae17" "2.3.2": url: "https://github.com/h4tr3d/avcpp/archive/refs/tags/v2.3.2.tar.gz" sha256: "ce1a7296e6b1bf808ad4f9f486723c88e4cd12d80a96e226635ce3316ca73733" @@ -8,8 +11,11 @@ sources: "2.1.0": url: "https://github.com/h4tr3d/avcpp/archive/refs/tags/v2.1.0.tar.gz" sha256: "8398217dccb9f5b4cbb41e5bf4f73f47b461ed3ba8c3aefdda9f9dd714649855" - patches: + "2.4.0": + - patch_file: "patches/2.3.0-fix-ffmpeg.patch" + patch_description: "fix ffmpeg package name and remove ffmpeg from install targets" + patch_type: "conan" "2.3.2": - patch_file: "patches/2.3.0-fix-ffmpeg.patch" patch_description: "fix ffmpeg package name and remove ffmpeg from install targets" diff --git a/recipes/avcpp/all/test_v1_package/CMakeLists.txt b/recipes/avcpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/avcpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/avcpp/all/test_v1_package/conanfile.py b/recipes/avcpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 6b551939fbde3..0000000000000 --- a/recipes/avcpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class TestConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/avcpp/config.yml b/recipes/avcpp/config.yml index 38cdb450f8142..ceaa4af535269 100644 --- a/recipes/avcpp/config.yml +++ b/recipes/avcpp/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.0": + folder: all "2.3.2": folder: all "2.3.0": diff --git a/recipes/avir/all/test_v1_package/CMakeLists.txt b/recipes/avir/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/avir/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/avir/all/test_v1_package/conanfile.py b/recipes/avir/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/avir/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aws-c-auth/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-auth/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index c23ed5cfe6d98..0000000000000 --- a/recipes/aws-c-auth/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_v1_package) - -enable_testing() - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aws-c-auth/all/test_v1_package/conanfile.py b/recipes/aws-c-auth/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/aws-c-auth/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aws-c-cal/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-cal/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/aws-c-cal/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aws-c-cal/all/test_v1_package/conanfile.py b/recipes/aws-c-cal/all/test_v1_package/conanfile.py deleted file mode 100644 index e27da49632915..0000000000000 --- a/recipes/aws-c-cal/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,27 +0,0 @@ -from conans import ConanFile, CMake, tools -from conan.tools.apple import is_apple_os -import os -import io - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - @property - def _needs_openssl(self): - return not (self.settings.os == "Windows" or is_apple_os(self)) - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - stream = io.StringIO() - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, stream, run_environment=True) - self.output.info(stream.getvalue()) - if self._needs_openssl: - assert "found static libcrypto" in stream.getvalue() diff --git a/recipes/aws-c-compression/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-compression/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/aws-c-compression/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aws-c-compression/all/test_v1_package/conanfile.py b/recipes/aws-c-compression/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/aws-c-compression/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aws-c-event-stream/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-event-stream/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/aws-c-event-stream/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aws-c-event-stream/all/test_v1_package/conanfile.py b/recipes/aws-c-event-stream/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/aws-c-event-stream/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aws-c-http/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-http/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/aws-c-http/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aws-c-http/all/test_v1_package/conanfile.py b/recipes/aws-c-http/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/aws-c-http/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aws-c-io/all/conanfile.py b/recipes/aws-c-io/all/conanfile.py index 905e4e5512632..3bc22662e6f6c 100644 --- a/recipes/aws-c-io/all/conanfile.py +++ b/recipes/aws-c-io/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): self.requires("aws-c-common/0.6.11", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.5.12") if self.settings.os in ["Linux", "FreeBSD", "Android"]: - self.requires("s2n/1.3.55") + self.requires("s2n/1.3.15") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-io/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-io/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index e45dc2bc298c6..0000000000000 --- a/recipes/aws-c-io/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(aws-c-io REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} AWS::aws-c-io) diff --git a/recipes/aws-c-io/all/test_v1_package/conanfile.py b/recipes/aws-c-io/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/aws-c-io/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aws-c-mqtt/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-mqtt/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/aws-c-mqtt/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aws-c-mqtt/all/test_v1_package/conanfile.py b/recipes/aws-c-mqtt/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/aws-c-mqtt/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aws-c-s3/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-s3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/aws-c-s3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aws-c-s3/all/test_v1_package/conanfile.py b/recipes/aws-c-s3/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/aws-c-s3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aws-c-sdkutils/all/test_v1_package/CMakeLists.txt b/recipes/aws-c-sdkutils/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/aws-c-sdkutils/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aws-c-sdkutils/all/test_v1_package/conanfile.py b/recipes/aws-c-sdkutils/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/aws-c-sdkutils/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aws-checksums/all/test_v1_package/CMakeLists.txt b/recipes/aws-checksums/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/aws-checksums/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/aws-checksums/all/test_v1_package/conanfile.py b/recipes/aws-checksums/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/aws-checksums/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aws-kvs-pic/all/test_v1_package/CMakeLists.txt b/recipes/aws-kvs-pic/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/aws-kvs-pic/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/aws-kvs-pic/all/test_v1_package/conanfile.py b/recipes/aws-kvs-pic/all/test_v1_package/conanfile.py deleted file mode 100644 index cba2c258bb2b4..0000000000000 --- a/recipes/aws-kvs-pic/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "pkg_config" - - def build_requirements(self): - self.build_requires("pkgconf/2.0.3") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aws-libfabric/all/test_v1_package/CMakeLists.txt b/recipes/aws-libfabric/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/aws-libfabric/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/aws-libfabric/all/test_v1_package/conanfile.py b/recipes/aws-libfabric/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/aws-libfabric/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/aws-sdk-cpp/all/conandata.yml b/recipes/aws-sdk-cpp/all/conandata.yml index e0488a5541cdd..36f76d76bbf97 100644 --- a/recipes/aws-sdk-cpp/all/conandata.yml +++ b/recipes/aws-sdk-cpp/all/conandata.yml @@ -1,8 +1,17 @@ sources: + "1.11.352": + url: "https://github.com/aws/aws-sdk-cpp/archive/1.11.352.tar.gz" + sha256: "999583df108a5363ff33563f86ea23a528761ebea3577348867932ba7eeacae2" "1.9.234": url: "https://github.com/aws/aws-sdk-cpp/archive/1.9.234.tar.gz" sha256: "52e36cf568fe0b2a0fc82a9333c0b31ba843db16670f4ccbb7b9fd142f1b00a5" patches: + "1.11.352": + - patch_file: patches/1.11.352-0001-pulseaudio.patch + patch_description: Use pulseaudio from conan + patch_type: conan + - patch_file: patches/1.11.352-0002-disable-sort-links.patch + - patch_file: patches/1.9.100-0002-aws-plugin-conf.patch "1.9.234": - patch_file: patches/1.9.234-0001-issue-1816.patch - patch_file: patches/1.9.234-0002-disable-sort-links.patch diff --git a/recipes/aws-sdk-cpp/all/conanfile.py b/recipes/aws-sdk-cpp/all/conanfile.py index b122f2d6fdd0e..b200f12fd1ce4 100644 --- a/recipes/aws-sdk-cpp/all/conanfile.py +++ b/recipes/aws-sdk-cpp/all/conanfile.py @@ -20,274 +20,408 @@ class AwsSdkCppConan(ConanFile): topics = ("aws", "cpp", "cross-platform", "amazon", "cloud") package_type = "library" settings = "os", "arch", "compiler", "build_type" + # This list comes from tools/code-generation/api-description, which then generates the sdk sources + # To generate for a new one, run the build once and check src/generated/src inside your build_folder, remove the common aws-sdk-cpp prefix + # and that's the list of sdks. The join it to the below one _sdks = ( - "access-management", - "accessanalyzer", - "acm", - "acm-pca", - "alexaforbusiness", - "amp", - "amplify", - "amplifybackend", - "apigateway", - "apigatewaymanagementapi", - "apigatewayv2", - "appconfig", - "appflow", - "appintegrations", - "application-autoscaling", - "application-insights", - "appmesh", - "appstream", - "appsync", - "athena", - "auditmanager", - "autoscaling", - "autoscaling-plans", - "awstransfer", - "backup", - "batch", - "braket", - "budgets", - "ce", - "chime", - "cloud9", - "clouddirectory", - "cloudformation", - "cloudfront", - "cloudhsm", - "cloudhsmv2", - "cloudsearch", - "cloudsearchdomain", - "cloudtrail", - "codeartifact", - "codebuild", - "codecommit", - "codedeploy", - "codeguru-reviewer", - "codeguruprofiler", - "codepipeline", - "codestar", - "codestar-connections", - "codestar-notifications", - "cognito-identity", - "cognito-idp", - "cognito-sync", - "comprehend", - "comprehendmedical", - "compute-optimizer", - "config", - "connect", - "connect-contact-lens", - "connectparticipant", - "cur", - "customer-profiles", - "databrew", - "dataexchange", - "datapipeline", - "datasync", - "dax", - "detective", - "devicefarm", - "devops-guru", - "directconnect", - "discovery", - "dlm", - "dms", - "docdb", - "ds", - "dynamodb", - "dynamodbstreams", - "ebs", - "ec2", - "ec2-instance-connect", - "ecr", - "ecr-public", - "ecs", - "eks", - "elastic-inference", - "elasticache", - "elasticbeanstalk", - "elasticfilesystem", - "elasticloadbalancing", - "elasticloadbalancingv2", - "elasticmapreduce", - "elastictranscoder", - "email", - "emr-containers", - "es", - "eventbridge", - "events", - "firehose", - "fms", - "forecast", - "forecastquery", - "frauddetector", - "fsx", - "gamelift", - "glacier", - "globalaccelerator", - "glue", - "greengrass", - "greengrassv2", - "groundstation", - "guardduty", - "health", - "healthlake", - "honeycode", - "iam", - "identity-management", - "identitystore", - "imagebuilder", - "importexport", - "inspector", - "iot", - "iot-data", - "iot-jobs-data", - "iot1click-devices", - "iot1click-projects", - "iotanalytics", - "iotdeviceadvisor", - "iotevents", - "iotevents-data", - "iotfleethub", - "iotsecuretunneling", - "iotsitewise", - "iotthingsgraph", - "iotwireless", - "ivs", - "kafka", - "kendra", - "kinesis", - "kinesis-video-archived-media", - "kinesis-video-media", - "kinesis-video-signaling", - "kinesisanalytics", - "kinesisanalyticsv2", - "kinesisvideo", - "kms", - "lakeformation", - "lambda", - "lex", - "lex-models", - "lexv2-models", - "lexv2-runtime", - "license-manager", - "lightsail", - "location", - "logs", - "lookoutvision", - "machinelearning", - "macie", - "macie2", - "managedblockchain", - "marketplace-catalog", - "marketplace-entitlement", - "marketplacecommerceanalytics", - "mediaconnect", - "mediaconvert", - "medialive", - "mediapackage", - "mediapackage-vod", - "mediastore", - "mediastore-data", - "mediatailor", - "meteringmarketplace", - "migrationhub-config", - "mobile", - "mobileanalytics", - "monitoring", - "mq", - "mturk-requester", - "mwaa", - "neptune", - "network-firewall", - "networkmanager", - "opsworks", - "opsworkscm", - "organizations", - "outposts", - "personalize", - "personalize-events", - "personalize-runtime", - "pi", - "pinpoint", - "pinpoint-email", - "polly", - "polly-sample", - "pricing", - "qldb", - "qldb-session", - "queues", - "quicksight", - "ram", - "rds", - "rds-data", - "redshift", - "redshift-data", - "rekognition", - "resource-groups", - "resourcegroupstaggingapi", - "robomaker", - "route53", - "route53domains", - "route53resolver", - "s3", - "s3-crt", - "s3-encryption", - "s3control", - "s3outposts", - "sagemaker", - "sagemaker-a2i-runtime", - "sagemaker-edge", - "sagemaker-featurestore-runtime", - "sagemaker-runtime", - "savingsplans", - "schemas", - "sdb", - "secretsmanager", - "securityhub", - "serverlessrepo", - "service-quotas", - "servicecatalog", - "servicecatalog-appregistry", - "servicediscovery", - "sesv2", - "shield", - "signer", - "sms", - "sms-voice", - "snowball", - "sns", - "sqs", - "ssm", - "sso", - "sso-admin", - "sso-oidc", - "states", - "storagegateway", - "sts", - "support", - "swf", - "synthetics", - "text-to-speech", - "textract", - "timestream-query", - "timestream-write", - "transcribe", - "transcribestreaming", - "transfer", - "translate", - "waf", - "waf-regional", - "wafv2", - "wellarchitected", - "workdocs", - "worklink", - "workmail", - "workmailmessageflow", - "workspaces", - "xray", + ('AWSMigrationHub', ['1.11.352']), + ('access-management', ['1.9.234', '1.11.352']), + ('accessanalyzer', ['1.9.234', '1.11.352']), + ('account', ['1.11.352']), + ('acm', ['1.9.234', '1.11.352']), + ('acm-pca', ['1.9.234', '1.11.352']), + ('alexaforbusiness', ['1.9.234']), + ('amp', ['1.9.234', '1.11.352']), + ('amplify', ['1.9.234', '1.11.352']), + ('amplifybackend', ['1.9.234', '1.11.352']), + ('amplifyuibuilder', ['1.11.352']), + ('apigateway', ['1.9.234', '1.11.352']), + ('apigatewaymanagementapi', ['1.9.234', '1.11.352']), + ('apigatewayv2', ['1.9.234', '1.11.352']), + ('appconfig', ['1.9.234', '1.11.352']), + ('appconfigdata', ['1.11.352']), + ('appfabric', ['1.11.352']), + ('appflow', ['1.9.234', '1.11.352']), + ('appintegrations', ['1.9.234', '1.11.352']), + ('application-autoscaling', ['1.9.234', '1.11.352']), + ('application-insights', ['1.9.234', '1.11.352']), + ('application-signals', ['1.11.352']), + ('applicationcostprofiler', ['1.11.352']), + ('appmesh', ['1.9.234', '1.11.352']), + ('apprunner', ['1.11.352']), + ('appstream', ['1.9.234', '1.11.352']), + ('appsync', ['1.9.234', '1.11.352']), + ('apptest', ['1.11.352']), + ('arc-zonal-shift', ['1.11.352']), + ('artifact', ['1.11.352']), + ('athena', ['1.9.234', '1.11.352']), + ('auditmanager', ['1.9.234', '1.11.352']), + ('autoscaling', ['1.9.234', '1.11.352']), + ('autoscaling-plans', ['1.9.234', '1.11.352']), + ('awstransfer', ['1.9.234', '1.11.352']), + ('b2bi', ['1.11.352']), + ('backup', ['1.9.234', '1.11.352']), + ('backup-gateway', ['1.11.352']), + ('batch', ['1.9.234', '1.11.352']), + ('bcm-data-exports', ['1.11.352']), + ('bedrock', ['1.11.352']), + ('bedrock-agent', ['1.11.352']), + ('bedrock-agent-runtime', ['1.11.352']), + ('bedrock-runtime', ['1.11.352']), + ('billingconductor', ['1.11.352']), + ('braket', ['1.9.234', '1.11.352']), + ('budgets', ['1.9.234', '1.11.352']), + ('ce', ['1.9.234', '1.11.352']), + ('chatbot', ['1.11.352']), + ('chime', ['1.9.234', '1.11.352']), + ('chime-sdk-identity', ['1.11.352']), + ('chime-sdk-media-pipelines', ['1.11.352']), + ('chime-sdk-meetings', ['1.11.352']), + ('chime-sdk-messaging', ['1.11.352']), + ('chime-sdk-voice', ['1.11.352']), + ('cleanrooms', ['1.11.352']), + ('cleanroomsml', ['1.11.352']), + ('cloud9', ['1.9.234', '1.11.352']), + ('cloudcontrol', ['1.11.352']), + ('clouddirectory', ['1.9.234', '1.11.352']), + ('cloudformation', ['1.9.234', '1.11.352']), + ('cloudfront', ['1.9.234', '1.11.352']), + ('cloudfront-keyvaluestore', ['1.11.352']), + ('cloudhsm', ['1.9.234', '1.11.352']), + ('cloudhsmv2', ['1.9.234', '1.11.352']), + ('cloudsearch', ['1.9.234', '1.11.352']), + ('cloudsearchdomain', ['1.9.234', '1.11.352']), + ('cloudtrail', ['1.9.234', '1.11.352']), + ('cloudtrail-data', ['1.11.352']), + ('codeartifact', ['1.9.234', '1.11.352']), + ('codebuild', ['1.9.234', '1.11.352']), + ('codecatalyst', ['1.11.352']), + ('codecommit', ['1.9.234', '1.11.352']), + ('codeconnections', ['1.11.352']), + ('codedeploy', ['1.9.234', '1.11.352']), + ('codeguru-reviewer', ['1.9.234', '1.11.352']), + ('codeguru-security', ['1.11.352']), + ('codeguruprofiler', ['1.9.234', '1.11.352']), + ('codepipeline', ['1.9.234', '1.11.352']), + ('codestar', ['1.9.234', '1.11.352']), + ('codestar-connections', ['1.9.234', '1.11.352']), + ('codestar-notifications', ['1.9.234', '1.11.352']), + ('cognito-identity', ['1.9.234', '1.11.352']), + ('cognito-idp', ['1.9.234', '1.11.352']), + ('cognito-sync', ['1.9.234', '1.11.352']), + ('comprehend', ['1.9.234', '1.11.352']), + ('comprehendmedical', ['1.9.234', '1.11.352']), + ('compute-optimizer', ['1.9.234', '1.11.352']), + ('config', ['1.9.234', '1.11.352']), + ('connect', ['1.9.234', '1.11.352']), + ('connect-contact-lens', ['1.9.234', '1.11.352']), + ('connectcampaigns', ['1.11.352']), + ('connectcases', ['1.11.352']), + ('connectparticipant', ['1.9.234', '1.11.352']), + ('controlcatalog', ['1.11.352']), + ('controltower', ['1.11.352']), + ('cost-optimization-hub', ['1.11.352']), + ('cur', ['1.9.234', '1.11.352']), + ('customer-profiles', ['1.9.234', '1.11.352']), + ('databrew', ['1.9.234', '1.11.352']), + ('dataexchange', ['1.9.234', '1.11.352']), + ('datapipeline', ['1.9.234', '1.11.352']), + ('datasync', ['1.9.234', '1.11.352']), + ('datazone', ['1.11.352']), + ('dax', ['1.9.234', '1.11.352']), + ('deadline', ['1.11.352']), + ('detective', ['1.9.234', '1.11.352']), + ('devicefarm', ['1.9.234', '1.11.352']), + ('devops-guru', ['1.9.234', '1.11.352']), + ('directconnect', ['1.9.234', '1.11.352']), + ('discovery', ['1.9.234', '1.11.352']), + ('dlm', ['1.9.234', '1.11.352']), + ('dms', ['1.9.234', '1.11.352']), + ('docdb', ['1.9.234', '1.11.352']), + ('docdb-elastic', ['1.11.352']), + ('drs', ['1.11.352']), + ('ds', ['1.9.234', '1.11.352']), + ('dynamodb', ['1.9.234', '1.11.352']), + ('dynamodbstreams', ['1.9.234', '1.11.352']), + ('ebs', ['1.9.234', '1.11.352']), + ('ec2', ['1.9.234', '1.11.352']), + ('ec2-instance-connect', ['1.9.234', '1.11.352']), + ('ecr', ['1.9.234', '1.11.352']), + ('ecr-public', ['1.9.234', '1.11.352']), + ('ecs', ['1.9.234', '1.11.352']), + ('eks', ['1.9.234', '1.11.352']), + ('eks-auth', ['1.11.352']), + ('elastic-inference', ['1.9.234', '1.11.352']), + ('elasticache', ['1.9.234', '1.11.352']), + ('elasticbeanstalk', ['1.9.234', '1.11.352']), + ('elasticfilesystem', ['1.9.234', '1.11.352']), + ('elasticloadbalancing', ['1.9.234', '1.11.352']), + ('elasticloadbalancingv2', ['1.9.234', '1.11.352']), + ('elasticmapreduce', ['1.9.234', '1.11.352']), + ('elastictranscoder', ['1.9.234', '1.11.352']), + ('email', ['1.9.234', '1.11.352']), + ('emr-containers', ['1.9.234', '1.11.352']), + ('emr-serverless', ['1.11.352']), + ('entityresolution', ['1.11.352']), + ('es', ['1.9.234', '1.11.352']), + ('eventbridge', ['1.9.234', '1.11.352']), + ('events', ['1.9.234', '1.11.352']), + ('evidently', ['1.11.352']), + ('finspace', ['1.11.352']), + ('finspace-data', ['1.11.352']), + ('firehose', ['1.9.234', '1.11.352']), + ('fis', ['1.11.352']), + ('fms', ['1.9.234', '1.11.352']), + ('forecast', ['1.9.234', '1.11.352']), + ('forecastquery', ['1.9.234', '1.11.352']), + ('frauddetector', ['1.9.234', '1.11.352']), + ('freetier', ['1.11.352']), + ('fsx', ['1.9.234', '1.11.352']), + ('gamelift', ['1.9.234', '1.11.352']), + ('glacier', ['1.9.234', '1.11.352']), + ('globalaccelerator', ['1.9.234', '1.11.352']), + ('glue', ['1.9.234', '1.11.352']), + ('grafana', ['1.11.352']), + ('greengrass', ['1.9.234', '1.11.352']), + ('greengrassv2', ['1.9.234', '1.11.352']), + ('groundstation', ['1.9.234', '1.11.352']), + ('guardduty', ['1.9.234', '1.11.352']), + ('health', ['1.9.234', '1.11.352']), + ('healthlake', ['1.9.234', '1.11.352']), + ('honeycode', ['1.9.234']), + ('iam', ['1.9.234', '1.11.352']), + ('identity-management', ['1.9.234', '1.11.352']), + ('identitystore', ['1.9.234', '1.11.352']), + ('imagebuilder', ['1.9.234', '1.11.352']), + ('importexport', ['1.9.234', '1.11.352']), + ('inspector', ['1.9.234', '1.11.352']), + ('inspector-scan', ['1.11.352']), + ('inspector2', ['1.11.352']), + ('internetmonitor', ['1.11.352']), + ('iot', ['1.9.234', '1.11.352']), + ('iot-data', ['1.9.234', '1.11.352']), + ('iot-jobs-data', ['1.9.234', '1.11.352']), + ('iot1click-devices', ['1.9.234', '1.11.352']), + ('iot1click-projects', ['1.9.234', '1.11.352']), + ('iotanalytics', ['1.9.234', '1.11.352']), + ('iotdeviceadvisor', ['1.9.234', '1.11.352']), + ('iotevents', ['1.9.234', '1.11.352']), + ('iotevents-data', ['1.9.234', '1.11.352']), + ('iotfleethub', ['1.9.234', '1.11.352']), + ('iotfleetwise', ['1.11.352']), + ('iotsecuretunneling', ['1.9.234', '1.11.352']), + ('iotsitewise', ['1.9.234', '1.11.352']), + ('iotthingsgraph', ['1.9.234', '1.11.352']), + ('iottwinmaker', ['1.11.352']), + ('iotwireless', ['1.9.234', '1.11.352']), + ('ivs', ['1.9.234', '1.11.352']), + ('ivs-realtime', ['1.11.352']), + ('ivschat', ['1.11.352']), + ('kafka', ['1.9.234', '1.11.352']), + ('kafkaconnect', ['1.11.352']), + ('kendra', ['1.9.234', '1.11.352']), + ('kendra-ranking', ['1.11.352']), + ('keyspaces', ['1.11.352']), + ('kinesis', ['1.9.234', '1.11.352']), + ('kinesis-video-archived-media', ['1.9.234', '1.11.352']), + ('kinesis-video-media', ['1.9.234', '1.11.352']), + ('kinesis-video-signaling', ['1.9.234', '1.11.352']), + ('kinesis-video-webrtc-storage', ['1.11.352']), + ('kinesisanalytics', ['1.9.234', '1.11.352']), + ('kinesisanalyticsv2', ['1.9.234', '1.11.352']), + ('kinesisvideo', ['1.9.234', '1.11.352']), + ('kms', ['1.9.234', '1.11.352']), + ('lakeformation', ['1.9.234', '1.11.352']), + ('lambda', ['1.9.234', '1.11.352']), + ('launch-wizard', ['1.11.352']), + ('lex', ['1.9.234', '1.11.352']), + ('lex-models', ['1.9.234', '1.11.352']), + ('lexv2-models', ['1.9.234', '1.11.352']), + ('lexv2-runtime', ['1.9.234', '1.11.352']), + ('license-manager', ['1.9.234', '1.11.352']), + ('license-manager-linux-subscriptions', ['1.11.352']), + ('license-manager-user-subscriptions', ['1.11.352']), + ('lightsail', ['1.9.234', '1.11.352']), + ('location', ['1.9.234', '1.11.352']), + ('logs', ['1.9.234', '1.11.352']), + ('lookoutequipment', ['1.11.352']), + ('lookoutmetrics', ['1.11.352']), + ('lookoutvision', ['1.9.234', '1.11.352']), + ('m2', ['1.11.352']), + ('machinelearning', ['1.9.234', '1.11.352']), + ('macie', ['1.9.234']), + ('macie2', ['1.9.234', '1.11.352']), + ('mailmanager', ['1.11.352']), + ('managedblockchain', ['1.9.234', '1.11.352']), + ('managedblockchain-query', ['1.11.352']), + ('marketplace-agreement', ['1.11.352']), + ('marketplace-catalog', ['1.9.234', '1.11.352']), + ('marketplace-deployment', ['1.11.352']), + ('marketplace-entitlement', ['1.9.234', '1.11.352']), + ('marketplacecommerceanalytics', ['1.9.234', '1.11.352']), + ('mediaconnect', ['1.9.234', '1.11.352']), + ('mediaconvert', ['1.9.234', '1.11.352']), + ('medialive', ['1.9.234', '1.11.352']), + ('mediapackage', ['1.9.234', '1.11.352']), + ('mediapackage-vod', ['1.9.234', '1.11.352']), + ('mediapackagev2', ['1.11.352']), + ('mediastore', ['1.9.234', '1.11.352']), + ('mediastore-data', ['1.9.234', '1.11.352']), + ('mediatailor', ['1.9.234', '1.11.352']), + ('medical-imaging', ['1.11.352']), + ('memorydb', ['1.11.352']), + ('meteringmarketplace', ['1.9.234', '1.11.352']), + ('mgn', ['1.11.352']), + ('migration-hub-refactor-spaces', ['1.11.352']), + ('migrationhub-config', ['1.9.234', '1.11.352']), + ('migrationhuborchestrator', ['1.11.352']), + ('migrationhubstrategy', ['1.11.352']), + ('mobile', ['1.9.234', '1.11.352']), + ('mobileanalytics', ['1.9.234']), + ('monitoring', ['1.9.234', '1.11.352']), + ('mq', ['1.9.234', '1.11.352']), + ('mturk-requester', ['1.9.234', '1.11.352']), + ('mwaa', ['1.9.234', '1.11.352']), + ('neptune', ['1.9.234', '1.11.352']), + ('neptune-graph', ['1.11.352']), + ('neptunedata', ['1.11.352']), + ('network-firewall', ['1.9.234', '1.11.352']), + ('networkmanager', ['1.9.234', '1.11.352']), + ('networkmonitor', ['1.11.352']), + ('nimble', ['1.11.352']), + ('oam', ['1.11.352']), + ('omics', ['1.11.352']), + ('opensearch', ['1.11.352']), + ('opensearchserverless', ['1.11.352']), + ('opsworks', ['1.9.234', '1.11.352']), + ('opsworkscm', ['1.9.234', '1.11.352']), + ('organizations', ['1.9.234', '1.11.352']), + ('osis', ['1.11.352']), + ('outposts', ['1.9.234', '1.11.352']), + ('panorama', ['1.11.352']), + ('payment-cryptography', ['1.11.352']), + ('payment-cryptography-data', ['1.11.352']), + ('pca-connector-ad', ['1.11.352']), + ('pca-connector-scep', ['1.11.352']), + ('personalize', ['1.9.234', '1.11.352']), + ('personalize-events', ['1.9.234', '1.11.352']), + ('personalize-runtime', ['1.9.234', '1.11.352']), + ('pi', ['1.9.234', '1.11.352']), + ('pinpoint', ['1.9.234', '1.11.352']), + ('pinpoint-email', ['1.9.234', '1.11.352']), + ('pinpoint-sms-voice-v2', ['1.11.352']), + ('pipes', ['1.11.352']), + ('polly', ['1.9.234', '1.11.352']), + # ('polly-sample', ['1.9.234']), # This gets generated, but is only sample code + ('pricing', ['1.9.234', '1.11.352']), + ('privatenetworks', ['1.11.352']), + ('proton', ['1.11.352']), + ('qbusiness', ['1.11.352']), + ('qconnect', ['1.11.352']), + ('qldb', ['1.9.234', '1.11.352']), + ('qldb-session', ['1.9.234', '1.11.352']), + ('queues', ['1.9.234', '1.11.352']), + ('quicksight', ['1.9.234', '1.11.352']), + ('ram', ['1.9.234', '1.11.352']), + ('rbin', ['1.11.352']), + ('rds', ['1.9.234', '1.11.352']), + ('rds-data', ['1.9.234', '1.11.352']), + ('redshift', ['1.9.234', '1.11.352']), + ('redshift-data', ['1.9.234', '1.11.352']), + ('redshift-serverless', ['1.11.352']), + ('rekognition', ['1.9.234', '1.11.352']), + ('repostspace', ['1.11.352']), + ('resiliencehub', ['1.11.352']), + ('resource-explorer-2', ['1.11.352']), + ('resource-groups', ['1.9.234', '1.11.352']), + ('resourcegroupstaggingapi', ['1.9.234', '1.11.352']), + ('robomaker', ['1.9.234', '1.11.352']), + ('rolesanywhere', ['1.11.352']), + ('route53', ['1.9.234', '1.11.352']), + ('route53-recovery-cluster', ['1.11.352']), + ('route53-recovery-control-config', ['1.11.352']), + ('route53-recovery-readiness', ['1.11.352']), + ('route53domains', ['1.9.234', '1.11.352']), + ('route53profiles', ['1.11.352']), + ('route53resolver', ['1.9.234', '1.11.352']), + ('rum', ['1.11.352']), + ('s3', ['1.9.234', '1.11.352']), + ('s3-crt', ['1.9.234', '1.11.352']), + ('s3-encryption', ['1.9.234', '1.11.352']), + ('s3control', ['1.9.234', '1.11.352']), + ('s3outposts', ['1.9.234', '1.11.352']), + ('sagemaker', ['1.9.234', '1.11.352']), + ('sagemaker-a2i-runtime', ['1.9.234', '1.11.352']), + ('sagemaker-edge', ['1.9.234', '1.11.352']), + ('sagemaker-featurestore-runtime', ['1.9.234', '1.11.352']), + ('sagemaker-geospatial', ['1.11.352']), + ('sagemaker-metrics', ['1.11.352']), + ('sagemaker-runtime', ['1.9.234', '1.11.352']), + ('savingsplans', ['1.9.234', '1.11.352']), + ('scheduler', ['1.11.352']), + ('schemas', ['1.9.234', '1.11.352']), + ('sdb', ['1.9.234', '1.11.352']), + ('secretsmanager', ['1.9.234', '1.11.352']), + ('securityhub', ['1.9.234', '1.11.352']), + ('securitylake', ['1.11.352']), + ('serverlessrepo', ['1.9.234', '1.11.352']), + ('service-quotas', ['1.9.234', '1.11.352']), + ('servicecatalog', ['1.9.234', '1.11.352']), + ('servicecatalog-appregistry', ['1.9.234', '1.11.352']), + ('servicediscovery', ['1.9.234', '1.11.352']), + ('sesv2', ['1.9.234', '1.11.352']), + ('shield', ['1.9.234', '1.11.352']), + ('signer', ['1.9.234', '1.11.352']), + ('simspaceweaver', ['1.11.352']), + ('sms', ['1.9.234', '1.11.352']), + ('sms-voice', ['1.9.234', '1.11.352']), + ('snow-device-management', ['1.11.352']), + ('snowball', ['1.9.234', '1.11.352']), + ('sns', ['1.9.234', '1.11.352']), + ('sqs', ['1.9.234', '1.11.352']), + ('ssm', ['1.9.234', '1.11.352']), + ('ssm-contacts', ['1.11.352']), + ('ssm-incidents', ['1.11.352']), + ('ssm-sap', ['1.11.352']), + ('sso', ['1.9.234', '1.11.352']), + ('sso-admin', ['1.9.234', '1.11.352']), + ('sso-oidc', ['1.9.234', '1.11.352']), + ('states', ['1.9.234', '1.11.352']), + ('storagegateway', ['1.9.234', '1.11.352']), + ('sts', ['1.9.234', '1.11.352']), + ('supplychain', ['1.11.352']), + ('support', ['1.9.234', '1.11.352']), + ('support-app', ['1.11.352']), + ('swf', ['1.9.234', '1.11.352']), + ('synthetics', ['1.9.234', '1.11.352']), + ('taxsettings', ['1.11.352']), + ('text-to-speech', ['1.9.234', '1.11.352']), + ('textract', ['1.9.234', '1.11.352']), + ('timestream-influxdb', ['1.11.352']), + ('timestream-query', ['1.9.234', '1.11.352']), + ('timestream-write', ['1.9.234', '1.11.352']), + ('tnb', ['1.11.352']), + ('transcribe', ['1.9.234', '1.11.352']), + ('transcribestreaming', ['1.9.234', '1.11.352']), + ('transfer', ['1.9.234', '1.11.352']), + ('translate', ['1.9.234', '1.11.352']), + ('trustedadvisor', ['1.11.352']), + ('verifiedpermissions', ['1.11.352']), + ('voice-id', ['1.11.352']), + ('vpc-lattice', ['1.11.352']), + ('waf', ['1.9.234', '1.11.352']), + ('waf-regional', ['1.9.234', '1.11.352']), + ('wafv2', ['1.9.234', '1.11.352']), + ('wellarchitected', ['1.9.234', '1.11.352']), + ('wisdom', ['1.11.352']), + ('workdocs', ['1.9.234', '1.11.352']), + ('worklink', ['1.9.234', '1.11.352']), + ('workmail', ['1.9.234', '1.11.352']), + ('workmailmessageflow', ['1.9.234', '1.11.352']), + ('workspaces', ['1.9.234', '1.11.352']), + ('workspaces-thin-client', ['1.11.352']), + ('workspaces-web', ['1.11.352']), + ('xray', ['1.9.234', '1.11.352']) ) options = { **{ @@ -295,22 +429,24 @@ class AwsSdkCppConan(ConanFile): "fPIC": [True, False], "min_size": [True, False], }, - **{ x: [True, False] for x in _sdks}, + **{sdk_name: [None, True, False] for sdk_name, _ in _sdks}, + } + default_options = { + **{ + "shared": False, + "fPIC": True, + "min_size": False + }, + **{sdk_name: None for sdk_name, _ in _sdks}, + # Overrides + "monitoring": True # TODO: Clarify why monitoring is True by default } - default_options = {key: False for key in options.keys()} - default_options["fPIC"] = True - default_options["access-management"] = True - default_options["identity-management"] = True - default_options["monitoring"] = True - default_options["queues"] = True - default_options["s3-encryption"] = True - default_options["transfer"] = True - default_options["text-to-speech"] = True short_paths = True @property def _internal_requirements(self): + # These modules and dependencies come from https://github.com/aws/aws-sdk-cpp/blob/1.11.352/cmake/sdksCommon.cmake#L147 and below return { "access-management": ["iam", "cognito-identity"], "identity-management": ["cognito-identity", "sts"], @@ -327,76 +463,136 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + # Main modules are true by default, but the user can set them to false + for module in self._internal_requirements: + setattr(self.options, module, True) + + # Remove all sdk options not belonging to the current version + for sdk_name, sdk_versions in self._sdks: + if self.version not in sdk_versions: + self.options.rm_safe(sdk_name) + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + # If the user does not specify a value for a specific sdk: + # - Set it to True if it's a dependency of a main module that is set to True + for module, dependencies in self._internal_requirements.items(): + if self.options.get_safe(module): + for dependency in dependencies: + # Don't listen to the linter, get_safe should be compared like this to None + # TODO: Remove str comparison when Conan 1 is disabled + if str(self.options.get_safe(dependency)) == "None": + setattr(self.options, dependency, True) + + # - Otherwise set it to False + # This way there are no None options past this method, and we can control default values + # of the dependencies of the main modules but still give the user control over them + for sdk_name, sdk_versions in self._sdks: + # == None is true for both "was deleted" and "was not set by the user", + # ensure we only try to set the value to false for the latter + if self.version in sdk_versions and self.options.get_safe(sdk_name) == None: + setattr(self.options, sdk_name, False) + def layout(self): cmake_layout(self, src_folder="src") def requirements(self): + # These versions come from prefetch_crt_dependency.sh, + # dont bump them independently, check the file if self.version == "1.11.352": + self.requires("aws-crt-cpp/0.26.9", transitive_headers=True) + self.requires("aws-c-auth/0.7.16") + self.requires("aws-c-cal/0.6.14") self.requires("aws-c-common/0.9.15") + self.requires("aws-c-compression/0.2.18") # No mention of this in the code self.requires("aws-c-event-stream/0.4.2") - self.requires("aws-checksums/0.1.18") - self.requires("aws-c-cal/0.6.14") self.requires("aws-c-http/0.8.1") self.requires("aws-c-io/0.14.7") - self.requires("aws-crt-cpp/0.26.9", transitive_headers=True) + self.requires("aws-c-mqtt/0.10.3") if self.options.get_safe("s3-crt"): self.requires("aws-c-s3/0.5.5") + self.requires("aws-c-sdkutils/0.1.15") # No mention of this in the code + self.requires("aws-checksums/0.1.18") + # missing aws-lc, but only needed as openssl replacement if USE_OPENSSL is OFF + if self.settings.os in ["Linux", "FreeBSD", "Android"]: + self.requires("s2n/1.4.16") # No mention of this in the code, we might be overlinking if self.version == "1.9.234": + self.requires("aws-crt-cpp/0.17.1a", transitive_headers=True) + self.requires("aws-c-auth/0.6.4") + self.requires("aws-c-cal/0.5.12") self.requires("aws-c-common/0.6.11") + self.requires("aws-c-compression/0.2.14") self.requires("aws-c-event-stream/0.2.7") - self.requires("aws-checksums/0.1.12") - self.requires("aws-c-cal/0.5.12") self.requires("aws-c-http/0.6.7") self.requires("aws-c-io/0.10.9") - self.requires("aws-crt-cpp/0.17.1a", transitive_headers=True) + self.requires("aws-c-mqtt/0.7.8") if self.options.get_safe("s3-crt"): self.requires("aws-c-s3/0.1.26") + self.requires("aws-checksums/0.1.12") + if self.settings.os in ["Linux", "FreeBSD", "Android"]: + self.requires("s2n/1.3.15") # No mention of this in the code, we might be overlinking if self.settings.os != "Windows": - self.requires("openssl/[>=1.1 <4]") - self.requires("libcurl/[>=7.78.0 <9]") - if self.settings.os in ["Linux", "FreeBSD"]: + # Used transitively in core/utils/crypto/openssl/CryptoImpl.h public header + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) + # Used transitively in core/http/curl/CurlHandleContainer.h public header + self.requires("libcurl/[>=7.78.0 <9]", transitive_headers=True) + if self.settings.os == "Linux": + # Pulseaudio -> libcap, libalsa only support linux, don't use pulseaudio on other platforms if self.options.get_safe("text-to-speech"): - self.requires("pulseaudio/14.2") + # Used transitively in text-to-speech/PulseAudioPCMOutputDriver.h public header + self.requires("pulseaudio/14.2", transitive_headers=True, transitive_libs=True) + # zlib is used if ENABLE_ZLIB_REQUEST_COMPRESSION is enabled, set ot ON by default + self.requires("zlib/[>=1.2.11 <2]") + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def validate_build(self): + if self._settings_build.os == "Windows" and self.settings.os == "Android": + raise ConanInvalidConfiguration("Cross-building from Windows to Android is not supported") - def validate(self): if (self.options.shared - and self.settings.compiler == "gcc" - and Version(self.settings.compiler.version) < "6.0"): + and self.settings.compiler == "gcc" + and Version(self.settings.compiler.version) < "6.0"): raise ConanInvalidConfiguration( "Doesn't support gcc5 / shared. " "See https://github.com/conan-io/conan-center-index/pull/4401#issuecomment-802631744" ) + + def validate(self): if is_msvc(self) and is_msvc_static_runtime(self): raise ConanInvalidConfiguration("Static runtime is not working for more recent releases") - else: - if self.settings.os == "Macos" and self.settings.arch == "armv8": - raise ConanInvalidConfiguration( - "This version doesn't support arm8. " - "See https://github.com/aws/aws-sdk-cpp/issues/1542" - ) - - def package_id(self): - for hl_comp in self._internal_requirements.keys(): - if getattr(self.info.options, hl_comp): - for internal_requirement in self._internal_requirements[hl_comp]: - setattr(self.info.options, internal_requirement, True) + if (is_msvc(self) and self.options.shared + and not self.dependencies["aws-c-common"].options.shared): + raise ConanInvalidConfiguration(f"{self.ref} with shared is not supported with aws-c-common static") + + # If the user has explicitly set a main module dependency to False, + # error out if the main module itself is not also disabled + for main_module, dependencies in self._internal_requirements.items(): + if self.options.get_safe(main_module): + for internal_requirement in dependencies: + if not self.options.get_safe(internal_requirement): + raise ConanInvalidConfiguration(f"-o={self.ref}:{main_module}=True requires -o={self.ref}:{internal_requirement}=True") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def _enabled_sdks(self): + for sdk in self._sdks: + if self.options.get_safe(sdk[0]): + yield sdk + def generate(self): tc = CMakeToolchain(self) # All option() are defined before project() in upstream CMakeLists, # therefore we must use cache_variables build_only = ["core"] - for sdk in self._sdks: - if self.options.get_safe(sdk): - build_only.append(sdk) + for sdk_name, _ in self._enabled_sdks(): + build_only.append(sdk_name) tc.cache_variables["BUILD_ONLY"] = ";".join(build_only) tc.cache_variables["ENABLE_UNITY_BUILD"] = True @@ -404,6 +600,7 @@ def generate(self): tc.cache_variables["AUTORUN_UNIT_TESTS"] = False tc.cache_variables["BUILD_DEPS"] = False if self.settings.os != "Windows": + tc.cache_variables["USE_OPENSSL"] = True tc.cache_variables["ENABLE_OPENSSL_ENCRYPTION"] = True tc.cache_variables["MINIMIZE_SIZE"] = self.options.min_size @@ -444,15 +641,19 @@ def _res_folder(self): def _create_project_cmake_module(self): # package files needed to build other components (e.g. aws-cdi-sdk) with this SDK - for file in [ + dependant_files = [ "cmake/compiler_settings.cmake", "cmake/initialize_project_version.cmake", "cmake/utilities.cmake", "cmake/sdk_plugin_conf.cmake", "toolchains/cmakeProjectConfig.cmake", - "toolchains/pkg-config.pc.in", - "aws-cpp-sdk-core/include/aws/core/VersionConfig.h" - ]: + "toolchains/pkg-config.pc.in" + ] + if Version(self.version) >= "1.11.352": + dependant_files.append("src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h") + else: + dependant_files.append("aws-cpp-sdk-core/include/aws/core/VersionConfig.h") + for file in dependant_files: copy(self, file, src=self.source_folder, dst=os.path.join(self.package_folder, self._res_folder)) replace_in_file( self, os.path.join(self.package_folder, self._res_folder, file), @@ -462,7 +663,7 @@ def _create_project_cmake_module(self): # avoid getting error from hook rename(self, os.path.join(self.package_folder, self._res_folder, "toolchains", "cmakeProjectConfig.cmake"), - os.path.join(self.package_folder, self._res_folder, "toolchains", "cmakeProjectConf.cmake")) + os.path.join(self.package_folder, self._res_folder, "toolchains", "cmakeProjectConf.cmake")) replace_in_file( self, os.path.join(self.package_folder, self._res_folder, "cmake", "utilities.cmake"), "cmakeProjectConfig.cmake", "cmakeProjectConf.cmake", @@ -492,26 +693,28 @@ def package_info(self): self.cpp_info.components["core"].set_property("pkg_config_name", "aws-sdk-cpp-core") self.cpp_info.components["core"].libs = ["aws-cpp-sdk-core"] self.cpp_info.components["core"].requires = [ + "aws-crt-cpp::aws-crt-cpp", + "aws-c-auth::aws-c-auth", + "aws-c-cal::aws-c-cal", "aws-c-common::aws-c-common", + "aws-c-compression::aws-c-compression", "aws-c-event-stream::aws-c-event-stream", - "aws-checksums::aws-checksums", - ] - self.cpp_info.components["core"].requires.extend([ - "aws-c-cal::aws-c-cal", "aws-c-http::aws-c-http", "aws-c-io::aws-c-io", - "aws-crt-cpp::aws-crt-cpp", - ]) + "aws-c-mqtt::aws-c-mqtt", + "aws-checksums::aws-checksums", + "zlib::zlib" + ] + + if self.settings.os in ["Linux", "FreeBSD", "Android"]: + self.cpp_info.components["core"].requires.append("s2n::s2n") - # other components - enabled_sdks = [sdk for sdk in self._sdks if self.options.get_safe(sdk)] - for hl_comp in self._internal_requirements.keys(): - if getattr(self.options, hl_comp): - for internal_requirement in self._internal_requirements[hl_comp]: - if internal_requirement not in enabled_sdks: - enabled_sdks.append(internal_requirement) + if Version(self.version) >= "1.11.352": + self.cpp_info.components["core"].requires.extend([ + "aws-c-sdkutils::aws-c-sdkutils", + ]) - for sdk in enabled_sdks: + for sdk, _ in self._enabled_sdks(): # TODO: there is no way to properly emulate COMPONENTS names for # find_package(AWSSDK COMPONENTS ) in set_property() # right now: see https://github.com/conan-io/conan/issues/10258 @@ -525,7 +728,7 @@ def package_info(self): # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.components[sdk].names["cmake_find_package"] = "aws-sdk-cpp-" + sdk self.cpp_info.components[sdk].names["cmake_find_package_multi"] = "aws-sdk-cpp-" + sdk - component_alias = f"aws-sdk-cpp-{sdk}_alias" # to emulate COMPONENTS names for find_package() + component_alias = f"aws-sdk-cpp-{sdk}_alias" # to emulate COMPONENTS names for find_package() self.cpp_info.components[component_alias].names["cmake_find_package"] = sdk self.cpp_info.components[component_alias].names["cmake_find_package_multi"] = sdk self.cpp_info.components[component_alias].requires = [sdk] @@ -540,17 +743,19 @@ def package_info(self): else: self.cpp_info.components["core"].requires.extend(["libcurl::curl", "openssl::openssl"]) - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["core"].system_libs.append("atomic") + if self.settings.os == "Linux": if self.options.get_safe("text-to-speech"): self.cpp_info.components["text-to-speech"].requires.append("pulseaudio::pulseaudio") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["core"].system_libs.append("atomic") + if self.options.get_safe("s3-crt"): self.cpp_info.components["s3-crt"].requires.append("aws-c-s3::aws-c-s3") if self.settings.os == "Macos": if self.options.get_safe("text-to-speech"): - self.cpp_info.components["text-to-speech"].frameworks.append("CoreAudio") + self.cpp_info.components["text-to-speech"].frameworks.extend(["CoreAudio", "AudioToolbox"]) libcxx = stdcpp_library(self) if libcxx: diff --git a/recipes/aws-sdk-cpp/all/patches/1.11.352-0001-pulseaudio.patch b/recipes/aws-sdk-cpp/all/patches/1.11.352-0001-pulseaudio.patch new file mode 100644 index 0000000000000..c2a64d3dd0446 --- /dev/null +++ b/recipes/aws-sdk-cpp/all/patches/1.11.352-0001-pulseaudio.patch @@ -0,0 +1,32 @@ +diff --git a/src/aws-cpp-sdk-text-to-speech/CMakeLists.txt b/src/aws-cpp-sdk-text-to-speech/CMakeLists.txt +index 5a40f1906..4136a4690 100644 +--- a/src/aws-cpp-sdk-text-to-speech/CMakeLists.txt ++++ b/src/aws-cpp-sdk-text-to-speech/CMakeLists.txt +@@ -9,8 +9,6 @@ file( GLOB TEXT_TO_SPEECH_HEADERS "include/aws/text-to-speech/*.h" ) + + set(PLATFORM_LIBS "") + +-check_include_files("pulse/simple.h" HAVE_PULSE) +- + if(PLATFORM_WINDOWS) + file( GLOB TEXT_TO_SPEECH_PLATFORM_HEADERS "include/aws/text-to-speech/windows/*.h" ) + file( GLOB TEXT_TO_SPEECH_PLATFORM_SOURCE "source/text-to-speech/windows/*.cpp" ) +@@ -19,14 +17,15 @@ if(PLATFORM_WINDOWS) + set(PLATFORM_LIBS ${PLATFORM_LIBS} Winmm) + endif() + +-if (PLATFORM_LINUX) +- if(HAVE_PULSE) ++if (CMAKE_SYSTEM_NAME STREQUAL "Linux") ++ find_package(pulseaudio) ++ if(pulseaudio_FOUND) + file( GLOB TEXT_TO_SPEECH_PLATFORM_HEADERS "include/aws/text-to-speech/linux/*.h" ) + file( GLOB TEXT_TO_SPEECH_PLATFORM_SOURCE "source/text-to-speech/linux/*.cpp" ) + + message(STATUS "Pulse audio header files have been detected, included pulse audio as a possible sound driver implementation.") + add_definitions("-DPULSE") +- set(PLATFORM_LIBS ${PLATFORM_LIBS} pulse pulse-simple) ++ set(PLATFORM_LIBS ${PLATFORM_LIBS} "pulseaudio::pulseaudio") + else() + message(WARNING "We've detected that you are building on linux, but the header files for pulseaudio are not available.\ + If you are providing your own audio implementation or you will not be using the text-to-speech library, this is fine.\ diff --git a/recipes/aws-sdk-cpp/all/patches/1.11.352-0002-disable-sort-links.patch b/recipes/aws-sdk-cpp/all/patches/1.11.352-0002-disable-sort-links.patch new file mode 100644 index 0000000000000..9ba1170c20c17 --- /dev/null +++ b/recipes/aws-sdk-cpp/all/patches/1.11.352-0002-disable-sort-links.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/sdks.cmake b/cmake/sdks.cmake +index 1b1ada7fc..606f5db18 100644 +--- a/cmake/sdks.cmake ++++ b/cmake/sdks.cmake +@@ -271,7 +271,7 @@ function(add_sdks) + + # the catch-all config needs to list all the targets in a dependency-sorted order + include(dependencies) +- sort_links(EXPORTS) ++ #sort_links(EXPORTS) + + # make an everything config by just including all the individual configs + file(WRITE ${CMAKE_BINARY_DIR}/aws-sdk-cpp-config.cmake "") \ No newline at end of file diff --git a/recipes/aws-sdk-cpp/all/patches/1.8.130-0004-improve-pulseaudio-detection.patch b/recipes/aws-sdk-cpp/all/patches/1.8.130-0004-improve-pulseaudio-detection.patch index 9930b981211f6..84537aa466936 100644 --- a/recipes/aws-sdk-cpp/all/patches/1.8.130-0004-improve-pulseaudio-detection.patch +++ b/recipes/aws-sdk-cpp/all/patches/1.8.130-0004-improve-pulseaudio-detection.patch @@ -1,5 +1,5 @@ diff --git a/aws-cpp-sdk-text-to-speech/CMakeLists.txt b/aws-cpp-sdk-text-to-speech/CMakeLists.txt -index b1054515d5..d1a34ddfc5 100644 +index b105451..7de9367 100644 --- a/aws-cpp-sdk-text-to-speech/CMakeLists.txt +++ b/aws-cpp-sdk-text-to-speech/CMakeLists.txt @@ -9,8 +9,6 @@ file( GLOB TEXT_TO_SPEECH_HEADERS "include/aws/text-to-speech/*.h" ) @@ -11,13 +11,15 @@ index b1054515d5..d1a34ddfc5 100644 if(PLATFORM_WINDOWS) file( GLOB TEXT_TO_SPEECH_PLATFORM_HEADERS "include/aws/text-to-speech/windows/*.h" ) file( GLOB TEXT_TO_SPEECH_PLATFORM_SOURCE "source/text-to-speech/windows/*.cpp" ) -@@ -20,13 +18,14 @@ if(PLATFORM_WINDOWS) +@@ -19,14 +17,15 @@ if(PLATFORM_WINDOWS) + set(PLATFORM_LIBS ${PLATFORM_LIBS} Winmm) endif() - if (PLATFORM_LINUX) +-if (PLATFORM_LINUX) - if(HAVE_PULSE) ++if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + find_package(pulseaudio) -+ if (1) ++ if (pulseaudio_FOUND) file( GLOB TEXT_TO_SPEECH_PLATFORM_HEADERS "include/aws/text-to-speech/linux/*.h" ) file( GLOB TEXT_TO_SPEECH_PLATFORM_SOURCE "source/text-to-speech/linux/*.cpp" ) diff --git a/recipes/aws-sdk-cpp/config.yml b/recipes/aws-sdk-cpp/config.yml index aeb73ff8f53ec..15dd4365a90bb 100644 --- a/recipes/aws-sdk-cpp/config.yml +++ b/recipes/aws-sdk-cpp/config.yml @@ -1,3 +1,5 @@ versions: + "1.11.352": + folder: "all" "1.9.234": folder: "all" diff --git a/recipes/azure-storage-cpp/all/conanfile.py b/recipes/azure-storage-cpp/all/conanfile.py index abe044bfc3367..b86e79067f57c 100644 --- a/recipes/azure-storage-cpp/all/conanfile.py +++ b/recipes/azure-storage-cpp/all/conanfile.py @@ -31,6 +31,10 @@ class AzureStorageCppConan(ConanFile): "fPIC": True, } + # Use azure-sdk-for-cpp::azure-storage-blobs-cpp instead + # https://github.com/Azure/azure-sdk-for-cpp/blob/main/sdk/storage/MigrationGuide.md + deprecated = "azure-sdk-for-cpp" + @property def _minimum_cpp_standard(self): return 11 diff --git a/recipes/azure-storage-cpp/all/test_v1_package/CMakeLists.txt b/recipes/azure-storage-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/azure-storage-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/azure-storage-cpp/all/test_v1_package/conanfile.py b/recipes/azure-storage-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 33fb4c0ecc216..0000000000000 --- a/recipes/azure-storage-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class AwsSdkCppTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/b2/portable/test_v1_package/conanfile.py b/recipes/b2/portable/test_v1_package/conanfile.py deleted file mode 100644 index 53ed1a9a77b8b..0000000000000 --- a/recipes/b2/portable/test_v1_package/conanfile.py +++ /dev/null @@ -1,8 +0,0 @@ -from conan import ConanFile - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - self.run("b2 -v", run_environment=True) diff --git a/recipes/b64/all/test_v1_package/CMakeLists.txt b/recipes/b64/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/b64/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/b64/all/test_v1_package/conanfile.py b/recipes/b64/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/b64/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/backport-cpp/all/test_v1_package/CMakeLists.txt b/recipes/backport-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7c4264b0a6d02..0000000000000 --- a/recipes/backport-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(Backport REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE Backport::Backport) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/backport-cpp/all/test_v1_package/conanfile.py b/recipes/backport-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/backport-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/backward-cpp/all/test_v1_package/CMakeLists.txt b/recipes/backward-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/backward-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/backward-cpp/all/test_v1_package/conanfile.py b/recipes/backward-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/backward-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bacnet-stack/all/test_v1_package/CMakeLists.txt b/recipes/bacnet-stack/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/bacnet-stack/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/bacnet-stack/all/test_v1_package/conanfile.py b/recipes/bacnet-stack/all/test_v1_package/conanfile.py deleted file mode 100644 index 6005bae433a02..0000000000000 --- a/recipes/bacnet-stack/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - bin_path = self.run(bin_path, run_environment=True) diff --git a/recipes/baical-p7/all/test_v1_package/CMakeLists.txt b/recipes/baical-p7/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/baical-p7/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/baical-p7/all/test_v1_package/conanfile.py b/recipes/baical-p7/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/baical-p7/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bandit/all/test_v1_package/CMakeLists.txt b/recipes/bandit/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 08111eba078e8..0000000000000 --- a/recipes/bandit/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(bandit REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE bandit::bandit) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/bandit/all/test_v1_package/conanfile.py b/recipes/bandit/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/bandit/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bdwgc/all/test_v1_package/CMakeLists.txt b/recipes/bdwgc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8ab3169f9e927..0000000000000 --- a/recipes/bdwgc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(BDWgc REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE BDWgc::gc) diff --git a/recipes/bdwgc/all/test_v1_package/conanfile.py b/recipes/bdwgc/all/test_v1_package/conanfile.py deleted file mode 100644 index dfe389167a895..0000000000000 --- a/recipes/bdwgc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake -from conan.tools.build import cross_building - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package_multi", "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - self.run(os.path.join("bin","test_package"), run_environment=True) diff --git a/recipes/beauty/all/test_v1_package/CMakeLists.txt b/recipes/beauty/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/beauty/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/beauty/all/test_v1_package/conanfile.py b/recipes/beauty/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/beauty/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/benchmark/all/test_v1_package/CMakeLists.txt b/recipes/benchmark/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/benchmark/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/benchmark/all/test_v1_package/conanfile.py b/recipes/benchmark/all/test_v1_package/conanfile.py deleted file mode 100644 index 2490acfa82ff8..0000000000000 --- a/recipes/benchmark/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bertrand/all/test_v1_package/CMakeLists.txt b/recipes/bertrand/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 4b58a4f48ada0..0000000000000 --- a/recipes/bertrand/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(bertrand REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) -target_link_libraries(${PROJECT_NAME} PRIVATE bertrand::bertrand) diff --git a/recipes/bertrand/all/test_v1_package/conanfile.py b/recipes/bertrand/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/bertrand/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bgfx/all/conanfile.py b/recipes/bgfx/all/conanfile.py index 9de812b7f94ea..7ce8c351c03cf 100644 --- a/recipes/bgfx/all/conanfile.py +++ b/recipes/bgfx/all/conanfile.py @@ -160,7 +160,7 @@ def build(self): if is_msvc(self): # Conan to Genie translation maps vs_ver_to_genie = {"17": "2022", "16": "2019", "15": "2017", - "193": "2022", "192": "2019", "191": "2017"} + "194": "2022", "193": "2022", "192": "2019", "191": "2017"} # Use genie directly, then msbuild on specific projects based on requirements genie_VS = f"vs{vs_ver_to_genie[str(self.settings.compiler.version)]}" diff --git a/recipes/bigint/all/test_v1_package/CMakeLists.txt b/recipes/bigint/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/bigint/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/bigint/all/test_v1_package/conanfile.py b/recipes/bigint/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/bigint/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bimg/all/conanfile.py b/recipes/bimg/all/conanfile.py index 83eb227558d62..e261d422055f7 100644 --- a/recipes/bimg/all/conanfile.py +++ b/recipes/bimg/all/conanfile.py @@ -130,7 +130,7 @@ def build(self): if is_msvc(self): # Conan to Genie translation maps vs_ver_to_genie = {"17": "2022", "16": "2019", "15": "2017", - "193": "2022", "192": "2019", "191": "2017"} + "194": "2022", "193": "2022", "192": "2019", "191": "2017"} # Use genie directly, then msbuild on specific projects based on requirements genie_VS = f"vs{vs_ver_to_genie[str(self.settings.compiler.version)]}" diff --git a/recipes/bimg/all/test_v1_package/CMakeLists.txt b/recipes/bimg/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 667976629550a..0000000000000 --- a/recipes/bimg/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/bimg/all/test_v1_package/conanfile.py b/recipes/bimg/all/test_v1_package/conanfile.py deleted file mode 100644 index 056e75eddb91c..0000000000000 --- a/recipes/bimg/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class BimgTestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/binutils/all/test_v1_package/Linux-armv7.s b/recipes/binutils/all/test_v1_package/Linux-armv7.s deleted file mode 100644 index 88c05d0d0aac9..0000000000000 --- a/recipes/binutils/all/test_v1_package/Linux-armv7.s +++ /dev/null @@ -1,23 +0,0 @@ - .arm - .arch armv7-a - - .global _start - - .text -_start: - # write(1, message, 14) - mov r7, #4 // system call 4 is write - mov r0, #1 // file handle 1 is stdout - adr r1, message // address of string to output - mov r2, #14 // number of bytes - swi #0 // do syscall into os (supervisor call) - - # exit(0) - mov r7, #1 // system call 1 is exit - mov r0, #0 // we want return code 0 - swi #0 // do syscall into os (supervisor call) - - .align 2 - -message: - .ascii "Hello, world!\n" diff --git a/recipes/binutils/all/test_v1_package/Linux-armv8.s b/recipes/binutils/all/test_v1_package/Linux-armv8.s deleted file mode 100644 index c744b1ba7ea47..0000000000000 --- a/recipes/binutils/all/test_v1_package/Linux-armv8.s +++ /dev/null @@ -1,19 +0,0 @@ - .global _start - - .text -_start: - # write(1, message, 14) - mov x8, 64 // system call 64 is write - mov x0, 1 // file handle 1 is stdout - mov x1, message // address of string to output - mov x2, 14 // number of bytes - svc 0 // do syscall into os (supervisor call) - - # exit(0) - mov x8, 93 // system call 93 is exit - mov x0, 0 // we want return code 0 - svc 0 // do syscall into os (supervisor call) - - .section .rodata -message: - .ascii "Hello, world!\n" diff --git a/recipes/binutils/all/test_v1_package/Linux-riscv.s b/recipes/binutils/all/test_v1_package/Linux-riscv.s deleted file mode 100644 index 21d80984c1b16..0000000000000 --- a/recipes/binutils/all/test_v1_package/Linux-riscv.s +++ /dev/null @@ -1,19 +0,0 @@ - .global _start - - .text -_start: - # write(1, message, 14) - addi a7, x0, 64 # system call 64 is write - addi a0, x0, 1 # file handle 1 is stdout - la a1, message # address of string to output - addi a2, x0, 14 # number of bytes - ecall # do syscall into os (environment call) - - # exit(0) - addi a7, x0, 93 # system call 93 is exit - addi a0, x0, 0 # we want return code 0 - ecall # do syscall into os (environment call) - - .data -message: - .ascii "Hello, world!\n" diff --git a/recipes/binutils/all/test_v1_package/Linux-x86.s b/recipes/binutils/all/test_v1_package/Linux-x86.s deleted file mode 100644 index b932e52148e99..0000000000000 --- a/recipes/binutils/all/test_v1_package/Linux-x86.s +++ /dev/null @@ -1,20 +0,0 @@ - .global _start - - .text -_start: - # write(1, message, 14) - mov $4, %eax # system call 4 is write - mov $1, %ebx # file handle 1 is stdout - mov $message, %ecx # address of string to output - mov $14, %edx # number of bytes - int $0x80 # do syscall into os - - # exit(0) - mov $1, %eax # system call 1 is exit - xor %ebx, %ebx # we want return code 0 - int $0x80 # do syscall into os - - .data - -message: - .ascii "Hello, world!\n" diff --git a/recipes/binutils/all/test_v1_package/Linux-x86_64.s b/recipes/binutils/all/test_v1_package/Linux-x86_64.s deleted file mode 100644 index b2bcbb46dbc56..0000000000000 --- a/recipes/binutils/all/test_v1_package/Linux-x86_64.s +++ /dev/null @@ -1,20 +0,0 @@ - .global _start - - .text -_start: - # write(1, message, 14) - mov $1, %rax # system call 1 is write - mov $1, %rdi # file handle 1 is stdout - mov $message, %rsi # address of string to output - mov $14, %rdx # number of bytes - syscall # do syscall into os - - # exit(0) - mov $60, %eax # system call 60 is exit - xor %rdi, %rdi # we want return code 0 - syscall # do syscall into os - - .section .data - -message: - .ascii "Hello, world!\n" diff --git a/recipes/binutils/all/test_v1_package/Windows-kernel32.def b/recipes/binutils/all/test_v1_package/Windows-kernel32.def deleted file mode 100644 index 88e93c499b32b..0000000000000 --- a/recipes/binutils/all/test_v1_package/Windows-kernel32.def +++ /dev/null @@ -1,7 +0,0 @@ -; The Windows test_package needs the following symbols from kernel32.dll - -LIBRARY kernel32 -EXPORTS - GetStdHandle - WriteConsoleA - ExitProcess diff --git a/recipes/binutils/all/test_v1_package/Windows-x86.s b/recipes/binutils/all/test_v1_package/Windows-x86.s deleted file mode 100644 index 8b6b27e91288f..0000000000000 --- a/recipes/binutils/all/test_v1_package/Windows-x86.s +++ /dev/null @@ -1,23 +0,0 @@ - .section .rdata,"dr" - -output: .ascii "Hello, world!\n" - - .text - .globl _start - -_start: - # GetStdHandle(STD_OUTPUT_HANDLE) - pushl $-11 # STD_OUTPUT_HANDLE (=COUNOUT$) - call _GetStdHandle # Retrieve console handle - - # WriteConsoleA($handle, output, 14, NULL, 0) - pushl $0 # lpReserved - pushl $0 # lpNumberOfCharsWritten (optional) - pushl $14 # nNumberOfCharsToWrite - pushl $output # lpBuffer - pushl %eax # hConsoleOutput - call _WriteConsoleA # Write to console - - # ExitProcess(0) - pushl $0 # Return 0 errorcode - call _ExitProcess # Exit process diff --git a/recipes/binutils/all/test_v1_package/Windows-x86_64.s b/recipes/binutils/all/test_v1_package/Windows-x86_64.s deleted file mode 100644 index 9d17a6a37a336..0000000000000 --- a/recipes/binutils/all/test_v1_package/Windows-x86_64.s +++ /dev/null @@ -1,26 +0,0 @@ - .section .rdata,"dr" - -output: .ascii "Hello, world!\n" - - .text - .globl _start - -_start: - # GetStdHandle(STD_OUTPUT_HANDLE) - mov $-11, %rcx # STD_OUTPUT_HANDLE (=COUNOUT$) - movq __imp_GetStdHandle(%rip), %rax # Get relocatable address of __imp_GetStdHandle - call *%rax # Retrieve console handle - - # WriteConsoleA($handle, "Hello world!\n", 14, NULL, 0) - pushq $0 # lpReserved - movq $0, %r9 # lpNumberOfCharsWritten (optional) - movq $14, %r8 # nNumberOfCharsToWrite - leaq output(%rip), %rdx # lpBuffer - movq %rax, %rcx # hConsoleOutput - movq __imp_WriteConsoleA(%rip), %rax # Get relocatable address of __imp_WriteConsoleA - call *%rax # Write to console - - # ExitProcess(0) - xorq %rcx, %rcx # Return 0 errorcode - movq __imp_ExitProcess(%rip), %rax # Get relocatable address of __imp__ExitProcess - call *%rax # Exit process diff --git a/recipes/binutils/all/test_v1_package/conanfile.py b/recipes/binutils/all/test_v1_package/conanfile.py deleted file mode 100644 index 6b7ddeed01c09..0000000000000 --- a/recipes/binutils/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,113 +0,0 @@ -from conans import ConanFile, tools -from io import StringIO -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - @property - def _target_arch(self): - return str(self.options["binutils"].target_arch) - - @property - def _target_os(self): - return str(self.options["binutils"].target_os) - - @property - def _test_linker_args(self): - args = [] - if self._target_os == "Windows": - args.extend(["--subsystem", "console", f"{self.build_folder}/lib/libkernel32.a"]) - return args - - @property - def _test_package_assembly_source(self): - part_arch = self._target_arch - if "armv7" in part_arch: - part_arch = "armv7" - elif part_arch in ("riscv32", "riscv64"): - part_arch = "riscv" - return os.path.join(self.source_folder, f"{self._target_os}-{part_arch}.s") - - def _append_gnu_triplet(self, exe): - return f"{self.deps_user_info['binutils'].prefix}{exe}" - - def build(self): - if not tools.cross_building(self): - - if not os.path.isfile(self._test_package_assembly_source): - self.output.warn(f"Missing {self._test_package_assembly_source}.\ntest_package does not support this target os/arch. Please consider adding it. (It's a great learning experience)") - else: - tools.mkdir(os.path.join(self.build_folder, "bin")) - tools.mkdir(os.path.join(self.build_folder, "lib")) - - gas = self._append_gnu_triplet("as") - ld = self._append_gnu_triplet("ld") - extension = "" - if self._target_os == "Windows": - extension = ".exe" - - # Create minimum import library for kernel32.dll - dlltool = f"{self.deps_user_info['binutils'].gnu_triplet}-dlltool" - - dlltool_args = [dlltool, "--input-def", f"{self.source_folder}/Windows-kernel32.def", "--output-lib", f"{self.build_folder}/lib/libkernel32.a"] - self.run(" ".join(dlltool_args)) - - - assembler_args = [gas, self._test_package_assembly_source, "-o", f"{self.build_folder}/object.o"] - linker_args = [ld, f"{self.build_folder}/object.o", "-o", f"{self.build_folder}/bin/test_package{extension}"] + self._test_linker_args - - self.run(" ".join(assembler_args)) - self.run(" ".join(linker_args)) - - def _can_run_target(self): - if self._settings_build.os != self._target_os: - return False - if self._settings_build.arch == "x86_64": - return self._target_arch in ("x86", "x86_64") - return self._settings_build.arch == self._target_arch - - def _has_as(self): - if self._target_os in ("Macos"): - return False - return True - - def _has_ld(self): - if self._target_os in ("Macos"): - return False - return True - - def test(self): - # Run selftest (conversion between conan os/arch <=> gnu triplet) - with tools.chdir(os.path.dirname(self.deps_user_info["binutils"].recipe_path)): - self.run(f"python -m unittest {os.path.basename(self.deps_user_info['binutils'].recipe_path)} --verbose") - - if not tools.cross_building(self): - if self._can_run_target() and os.path.isfile(self._test_package_assembly_source): - output = StringIO() - self.run(os.path.join("bin", "test_package"), output=output) - text = output.getvalue() - print(text) - assert "Hello, world!" in text - - bins = ["ar", "nm", "objcopy", "objdump", "ranlib", "readelf", "strip"] - if self._has_as(): - bins.append("as") - if self._has_ld(): - bins.append("ld") - - for bin in bins: - bin_path = os.path.realpath(tools.which(bin)) - self.output.info(f"Found {bin} at {bin_path}") - assert bin_path.startswith(self.deps_cpp_info["binutils"].rootpath) - - output = StringIO() - self.run("{} --version".format(bin_path), run_environment=True, output=output) - text = output.getvalue() - print(text) - assert str(self.requires["binutils"].ref.version) in text diff --git a/recipes/bison/all/test_v1_package/CMakeLists.txt b/recipes/bison/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/bison/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/bison/all/test_v1_package/conanfile.py b/recipes/bison/all/test_v1_package/conanfile.py deleted file mode 100644 index 99ccbfcae8665..0000000000000 --- a/recipes/bison/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,31 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake" - test_type = "explicit" - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - def build_requirements(self): - self.build_requires(self.tested_reference_str) - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - @property - def _mc_parser_source(self): - return os.path.join(self.source_folder, os.pardir, "test_package", "mc_parser.yy") - - def test(self): - self.run("bison --version") - self.run("yacc --version", win_bash=tools.os_info.is_windows) - self.run(f"bison -d {self._mc_parser_source}") diff --git a/recipes/bit-lite/all/test_v1_package/CMakeLists.txt b/recipes/bit-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index a2c6ae82d037d..0000000000000 --- a/recipes/bit-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(bit-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::bit-lite) diff --git a/recipes/bit-lite/all/test_v1_package/conanfile.py b/recipes/bit-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/bit-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bitflags/all/test_v1_package/CMakeLists.txt b/recipes/bitflags/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/bitflags/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/bitflags/all/test_v1_package/conanfile.py b/recipes/bitflags/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/bitflags/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bitmagic/all/test_v1_package/CMakeLists.txt b/recipes/bitmagic/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/bitmagic/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/bitmagic/all/test_v1_package/conanfile.py b/recipes/bitmagic/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/bitmagic/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bitserializer/all/conanfile.py b/recipes/bitserializer/all/conanfile.py index 183dc170d9b0f..0f0a334d614b2 100644 --- a/recipes/bitserializer/all/conanfile.py +++ b/recipes/bitserializer/all/conanfile.py @@ -38,8 +38,6 @@ class BitserializerConan(ConanFile): "with_msgpack": False, } - no_copy_source = True - @property def _min_cppstd(self): return "17" @@ -131,11 +129,13 @@ def generate(self): deps.generate() def _patch_sources(self): - if Version(self.version) >= "0.50" and self.options.with_rapidyaml: + if Version(self.version) >= "0.50": # Remove 'ryml' subdirectory from #include replace_in_file( - self, os.path.join(self.source_folder, "include", "bitserializer", "rapidyaml_archive.h"), - "#include = "1.76.0": - # Starting from 1.76.0, Boost.Math requires a c++11 capable compiler - # ==> disable it by default for older compilers or c++ standards - if self.settings.compiler.get_safe("cppstd"): - if not valid_min_cppstd(self, 11): - disable_math() - else: - min_compiler_version = self._min_compiler_version_default_cxx11 - if min_compiler_version is None: - self.output.warning("Assuming the compiler supports c++11 by default") - elif not self._has_cppstd_11_supported: - disable_math() - # Boost.Math is not built when the compiler is GCC < 5 and uses C++11 - elif self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": - disable_math() + # Starting from 1.76.0, Boost.Math requires a c++11 capable compiler + # ==> disable it by default for older compilers or c++ standards + if self.settings.compiler.get_safe("cppstd"): + if not valid_min_cppstd(self, 11): + disable_math() + else: + min_compiler_version = self._min_compiler_version_default_cxx11 + if min_compiler_version is None: + self.output.warning("Assuming the compiler supports c++11 by default") + elif not self._has_cppstd_11_supported: + disable_math() + # Boost.Math is not built when the compiler is GCC < 5 and uses C++11 + elif self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": + disable_math() if Version(self.version) >= "1.79.0": # Starting from 1.79.0, Boost.Wave requires a c++11 capable compiler @@ -588,6 +588,17 @@ def disable_cobalt(): elif not self._has_cppstd_14_supported: disable_graph() + if self.settings.os == "iOS": + # the process library doesn't build (and doesn't even make sense) on iOS + self.options.without_process = True + + # TODO: Revisit on Boost 1.87.0 + # It's not possible to disable process only when having shared parsed already. + # https://github.com/boostorg/process/issues/408 + # https://github.com/boostorg/process/pull/409 + if Version(self.version) == "1.86.0" and is_msvc(self): + setattr(self.options, "without_process", True) + @property def _configure_options(self): return self._dependencies["configure_options"] @@ -614,7 +625,7 @@ def _stacktrace_from_exception_available(self): return not self.options.header_only and not self.options.without_stacktrace and self.settings.os != "Windows" elif Version(self.version) >= "1.86.0": # https://github.com/boostorg/stacktrace/blob/boost-1.86.0/build/Jamfile.v2#L148 - return not self.options.header_only and not self.options.without_stacktrace and self.settings.arch == "x86_64" + return not self.options.header_only and not self.options.without_stacktrace and self._b2_architecture == "x86" def configure(self): if self.options.header_only: @@ -665,8 +676,7 @@ def layout(self): @property def _cxx11_boost_libraries(self): libraries = ["fiber", "json", "nowide", "url"] - if Version(self.version) >= "1.76.0": - libraries.append("math") + libraries.append("math") if Version(self.version) >= "1.79.0": libraries.append("wave") if Version(self.version) >= "1.81.0": @@ -757,6 +767,10 @@ def validate(self): raise ConanInvalidConfiguration("Boost.Cobalt requires a C++20 capable compiler. " "Please, set compiler.cppstd and use a newer compiler version, or disable from building.") + # TODO: Revisit on Boost 1.87.0. Remove in case Process is fixed. + if Version(self.version) == "1.86.0" and is_msvc(self) and self.options.get_safe("shared") and self.options.get_safe("without_process", None) == False: + raise ConanInvalidConfiguration(f"{self.ref} Boost.Process will fail to be consumed as shared library on MSVC. See https://github.com/boostorg/process/issues/408.") + def _with_dependency(self, dependency): """ Return true when dependency is required according to the dependencies-x.y.z.yml file @@ -1169,7 +1183,7 @@ def _b2_os(self): @property def _b2_address_model(self): - if self.settings.arch in ("x86_64", "ppc64", "ppc64le", "mips64", "armv8", "armv8.3", "sparcv9"): + if self.settings.arch in ("x86_64", "ppc64", "ppc64le", "mips64", "armv8", "armv8.3", "sparcv9", "s390x"): return "64" return "32" @@ -2034,6 +2048,13 @@ def filter_transform_module_libraries(names): self.cpp_info.components[f"numpy{pyversion.major}{pyversion.minor}"].requires = ["numpy"] + if not self.options.get_safe("without_process"): + if self.settings.os == "Windows": + self.cpp_info.components["process"].system_libs.extend(["ntdll", "shell32", "advapi32", "user32"]) + if self._shared: + self.cpp_info.components["process"].defines.append("BOOST_PROCESS_DYN_LINK") + + if is_msvc(self) or self._is_clang_cl: # https://github.com/conan-community/conan-boost/issues/127#issuecomment-404750974 self.cpp_info.components["_libboost"].system_libs.append("bcrypt") diff --git a/recipes/boost/all/dependencies/dependencies-1.71.0.yml b/recipes/boost/all/dependencies/dependencies-1.71.0.yml deleted file mode 100644 index 9c2d0a8c22410..0000000000000 --- a/recipes/boost/all/dependencies/dependencies-1.71.0.yml +++ /dev/null @@ -1,269 +0,0 @@ -configure_options: -- atomic -- chrono -- container -- context -- contract -- coroutine -- date_time -- exception -- fiber -- filesystem -- graph -- graph_parallel -- iostreams -- locale -- log -- math -- mpi -- program_options -- python -- random -- regex -- serialization -- stacktrace -- system -- test -- thread -- timer -- type_erasure -- wave -dependencies: - atomic: [] - chrono: - - system - container: [] - context: - - thread - contract: - - exception - - thread - coroutine: - - context - - exception - - system - - thread - date_time: - - serialization - exception: [] - fiber: - - context - - filesystem - fiber_numa: - - fiber - filesystem: - - system - graph: - - math - - random - - regex - - serialization - graph_parallel: - - filesystem - - graph - - mpi - - random - - serialization - iostreams: - - random - - regex - locale: - - thread - log: - - atomic - - container - - date_time - - exception - - filesystem - - locale - - random - - regex - - system - - thread - log_setup: - - log - math: - - atomic - math_c99: - - math - math_c99f: - - math - math_c99l: - - math - math_tr1: - - math - math_tr1f: - - math - math_tr1l: - - math - mpi: - - graph - - serialization - mpi_python: - - mpi - - python - numpy: - - python - prg_exec_monitor: - - test - program_options: [] - python: [] - random: - - math - - system - regex: [] - serialization: [] - stacktrace: [] - stacktrace_addr2line: - - stacktrace - stacktrace_backtrace: - - stacktrace - stacktrace_basic: - - stacktrace - stacktrace_noop: - - stacktrace - stacktrace_windbg: - - stacktrace - stacktrace_windbg_cached: - - stacktrace - system: [] - test: - - exception - test_exec_monitor: - - test - thread: - - atomic - - chrono - - container - - date_time - - exception - - system - timer: - - chrono - - system - type_erasure: - - thread - unit_test_framework: - - prg_exec_monitor - - test - - test_exec_monitor - wave: - - filesystem - - serialization - wserialization: - - serialization -libs: - atomic: - - boost_atomic - chrono: - - boost_chrono - container: - - boost_container - context: - - boost_context - contract: - - boost_contract - coroutine: - - boost_coroutine - date_time: - - boost_date_time - exception: - - boost_exception - fiber: - - boost_fiber - fiber_numa: - - boost_fiber_numa - filesystem: - - boost_filesystem - graph: - - boost_graph - graph_parallel: - - boost_graph_parallel - iostreams: - - boost_iostreams - locale: - - boost_locale - log: - - boost_log - log_setup: - - boost_log_setup - math: [] - math_c99: - - boost_math_c99 - math_c99f: - - boost_math_c99f - math_c99l: - - boost_math_c99l - math_tr1: - - boost_math_tr1 - math_tr1f: - - boost_math_tr1f - math_tr1l: - - boost_math_tr1l - mpi: - - boost_mpi - mpi_python: - - boost_mpi_python - numpy: - - boost_numpy{py_major}{py_minor} - prg_exec_monitor: - - boost_prg_exec_monitor - program_options: - - boost_program_options - python: - - boost_python{py_major}{py_minor} - random: - - boost_random - regex: - - boost_regex - serialization: - - boost_serialization - stacktrace: [] - stacktrace_addr2line: - - boost_stacktrace_addr2line - stacktrace_backtrace: - - boost_stacktrace_backtrace - stacktrace_basic: - - boost_stacktrace_basic - stacktrace_noop: - - boost_stacktrace_noop - stacktrace_windbg: - - boost_stacktrace_windbg - stacktrace_windbg_cached: - - boost_stacktrace_windbg_cached - system: - - boost_system - test: [] - test_exec_monitor: - - boost_test_exec_monitor - thread: - - boost_thread - timer: - - boost_timer - type_erasure: - - boost_type_erasure - unit_test_framework: - - boost_unit_test_framework - wave: - - boost_wave - wserialization: - - boost_wserialization -requirements: - iostreams: - - bzip2 - - lzma - - zlib - - zstd - locale: - - iconv - - icu - python: - - python - regex: - - icu - stacktrace: - - backtrace -static_only: -- boost_exception -- boost_test_exec_monitor -version: 1.71.0 diff --git a/recipes/boost/all/dependencies/dependencies-1.72.0.yml b/recipes/boost/all/dependencies/dependencies-1.72.0.yml deleted file mode 100644 index f0213a24374bb..0000000000000 --- a/recipes/boost/all/dependencies/dependencies-1.72.0.yml +++ /dev/null @@ -1,270 +0,0 @@ -configure_options: -- atomic -- chrono -- container -- context -- contract -- coroutine -- date_time -- exception -- fiber -- filesystem -- graph -- graph_parallel -- iostreams -- locale -- log -- math -- mpi -- program_options -- python -- random -- regex -- serialization -- stacktrace -- system -- test -- thread -- timer -- type_erasure -- wave -dependencies: - atomic: [] - chrono: - - system - container: [] - context: - - thread - contract: - - exception - - thread - coroutine: - - context - - exception - - system - - thread - date_time: - - serialization - exception: [] - fiber: - - context - - filesystem - fiber_numa: - - fiber - filesystem: - - system - graph: - - math - - random - - regex - - serialization - graph_parallel: - - filesystem - - graph - - mpi - - random - - serialization - iostreams: - - random - - regex - locale: - - thread - log: - - atomic - - container - - date_time - - exception - - filesystem - - locale - - random - - regex - - system - - thread - log_setup: - - log - math: - - atomic - - chrono - math_c99: - - math - math_c99f: - - math - math_c99l: - - math - math_tr1: - - math - math_tr1f: - - math - math_tr1l: - - math - mpi: - - graph - - serialization - mpi_python: - - mpi - - python - numpy: - - python - prg_exec_monitor: - - test - program_options: [] - python: [] - random: - - math - - system - regex: [] - serialization: [] - stacktrace: [] - stacktrace_addr2line: - - stacktrace - stacktrace_backtrace: - - stacktrace - stacktrace_basic: - - stacktrace - stacktrace_noop: - - stacktrace - stacktrace_windbg: - - stacktrace - stacktrace_windbg_cached: - - stacktrace - system: [] - test: - - exception - test_exec_monitor: - - test - thread: - - atomic - - chrono - - container - - date_time - - exception - - system - timer: - - chrono - - system - type_erasure: - - thread - unit_test_framework: - - prg_exec_monitor - - test - - test_exec_monitor - wave: - - filesystem - - serialization - wserialization: - - serialization -libs: - atomic: - - boost_atomic - chrono: - - boost_chrono - container: - - boost_container - context: - - boost_context - contract: - - boost_contract - coroutine: - - boost_coroutine - date_time: - - boost_date_time - exception: - - boost_exception - fiber: - - boost_fiber - fiber_numa: - - boost_fiber_numa - filesystem: - - boost_filesystem - graph: - - boost_graph - graph_parallel: - - boost_graph_parallel - iostreams: - - boost_iostreams - locale: - - boost_locale - log: - - boost_log - log_setup: - - boost_log_setup - math: [] - math_c99: - - boost_math_c99 - math_c99f: - - boost_math_c99f - math_c99l: - - boost_math_c99l - math_tr1: - - boost_math_tr1 - math_tr1f: - - boost_math_tr1f - math_tr1l: - - boost_math_tr1l - mpi: - - boost_mpi - mpi_python: - - boost_mpi_python - numpy: - - boost_numpy{py_major}{py_minor} - prg_exec_monitor: - - boost_prg_exec_monitor - program_options: - - boost_program_options - python: - - boost_python{py_major}{py_minor} - random: - - boost_random - regex: - - boost_regex - serialization: - - boost_serialization - stacktrace: [] - stacktrace_addr2line: - - boost_stacktrace_addr2line - stacktrace_backtrace: - - boost_stacktrace_backtrace - stacktrace_basic: - - boost_stacktrace_basic - stacktrace_noop: - - boost_stacktrace_noop - stacktrace_windbg: - - boost_stacktrace_windbg - stacktrace_windbg_cached: - - boost_stacktrace_windbg_cached - system: - - boost_system - test: [] - test_exec_monitor: - - boost_test_exec_monitor - thread: - - boost_thread - timer: - - boost_timer - type_erasure: - - boost_type_erasure - unit_test_framework: - - boost_unit_test_framework - wave: - - boost_wave - wserialization: - - boost_wserialization -requirements: - iostreams: - - bzip2 - - lzma - - zlib - - zstd - locale: - - iconv - - icu - python: - - python - regex: - - icu - stacktrace: - - backtrace -static_only: -- boost_exception -- boost_test_exec_monitor -version: 1.72.0 diff --git a/recipes/boost/all/dependencies/dependencies-1.73.0.yml b/recipes/boost/all/dependencies/dependencies-1.73.0.yml deleted file mode 100644 index d26d67c9c338d..0000000000000 --- a/recipes/boost/all/dependencies/dependencies-1.73.0.yml +++ /dev/null @@ -1,274 +0,0 @@ -configure_options: -- atomic -- chrono -- container -- context -- contract -- coroutine -- date_time -- exception -- fiber -- filesystem -- graph -- graph_parallel -- iostreams -- locale -- log -- math -- mpi -- nowide -- program_options -- python -- random -- regex -- serialization -- stacktrace -- system -- test -- thread -- timer -- type_erasure -- wave -dependencies: - atomic: [] - chrono: - - system - container: [] - context: - - thread - contract: - - exception - - thread - coroutine: - - context - - exception - - system - - thread - date_time: - - serialization - exception: [] - fiber: - - context - - filesystem - fiber_numa: - - fiber - filesystem: - - system - graph: - - math - - random - - regex - - serialization - graph_parallel: - - filesystem - - graph - - mpi - - random - - serialization - iostreams: - - random - - regex - locale: - - thread - log: - - atomic - - container - - date_time - - exception - - filesystem - - locale - - random - - regex - - system - - thread - log_setup: - - log - math: - - atomic - math_c99: - - math - math_c99f: - - math - math_c99l: - - math - math_tr1: - - math - math_tr1f: - - math - math_tr1l: - - math - mpi: - - graph - - serialization - mpi_python: - - mpi - - python - nowide: - - filesystem - numpy: - - python - prg_exec_monitor: - - test - program_options: [] - python: [] - random: - - math - - system - regex: [] - serialization: [] - stacktrace: [] - stacktrace_addr2line: - - stacktrace - stacktrace_backtrace: - - stacktrace - stacktrace_basic: - - stacktrace - stacktrace_noop: - - stacktrace - stacktrace_windbg: - - stacktrace - stacktrace_windbg_cached: - - stacktrace - system: [] - test: - - exception - test_exec_monitor: - - test - thread: - - atomic - - chrono - - container - - date_time - - exception - - system - timer: - - chrono - - system - type_erasure: - - thread - unit_test_framework: - - prg_exec_monitor - - test - - test_exec_monitor - wave: - - filesystem - - serialization - wserialization: - - serialization -libs: - atomic: - - boost_atomic - chrono: - - boost_chrono - container: - - boost_container - context: - - boost_context - contract: - - boost_contract - coroutine: - - boost_coroutine - date_time: - - boost_date_time - exception: - - boost_exception - fiber: - - boost_fiber - fiber_numa: - - boost_fiber_numa - filesystem: - - boost_filesystem - graph: - - boost_graph - graph_parallel: - - boost_graph_parallel - iostreams: - - boost_iostreams - locale: - - boost_locale - log: - - boost_log - log_setup: - - boost_log_setup - math: [] - math_c99: - - boost_math_c99 - math_c99f: - - boost_math_c99f - math_c99l: - - boost_math_c99l - math_tr1: - - boost_math_tr1 - math_tr1f: - - boost_math_tr1f - math_tr1l: - - boost_math_tr1l - mpi: - - boost_mpi - mpi_python: - - boost_mpi_python - nowide: - - boost_nowide - numpy: - - boost_numpy{py_major}{py_minor} - prg_exec_monitor: - - boost_prg_exec_monitor - program_options: - - boost_program_options - python: - - boost_python{py_major}{py_minor} - random: - - boost_random - regex: - - boost_regex - serialization: - - boost_serialization - stacktrace: [] - stacktrace_addr2line: - - boost_stacktrace_addr2line - stacktrace_backtrace: - - boost_stacktrace_backtrace - stacktrace_basic: - - boost_stacktrace_basic - stacktrace_noop: - - boost_stacktrace_noop - stacktrace_windbg: - - boost_stacktrace_windbg - stacktrace_windbg_cached: - - boost_stacktrace_windbg_cached - system: - - boost_system - test: [] - test_exec_monitor: - - boost_test_exec_monitor - thread: - - boost_thread - timer: - - boost_timer - type_erasure: - - boost_type_erasure - unit_test_framework: - - boost_unit_test_framework - wave: - - boost_wave - wserialization: - - boost_wserialization -requirements: - iostreams: - - bzip2 - - lzma - - zlib - - zstd - locale: - - iconv - - icu - python: - - python - regex: - - icu - stacktrace: - - backtrace -static_only: -- boost_exception -- boost_test_exec_monitor -version: 1.73.0 diff --git a/recipes/boost/all/dependencies/dependencies-1.74.0.yml b/recipes/boost/all/dependencies/dependencies-1.74.0.yml deleted file mode 100644 index 679e8d616f324..0000000000000 --- a/recipes/boost/all/dependencies/dependencies-1.74.0.yml +++ /dev/null @@ -1,273 +0,0 @@ -configure_options: -- atomic -- chrono -- container -- context -- contract -- coroutine -- date_time -- exception -- fiber -- filesystem -- graph -- graph_parallel -- iostreams -- locale -- log -- math -- mpi -- nowide -- program_options -- python -- random -- regex -- serialization -- stacktrace -- system -- test -- thread -- timer -- type_erasure -- wave -dependencies: - atomic: [] - chrono: - - system - container: [] - context: - - thread - contract: - - exception - - thread - coroutine: - - context - - exception - - system - - thread - date_time: [] - exception: [] - fiber: - - context - - filesystem - fiber_numa: - - fiber - filesystem: - - system - graph: - - math - - random - - regex - - serialization - graph_parallel: - - filesystem - - graph - - mpi - - random - - serialization - iostreams: - - random - - regex - locale: - - thread - log: - - atomic - - container - - date_time - - exception - - filesystem - - locale - - random - - regex - - system - - thread - log_setup: - - log - math: - - atomic - math_c99: - - math - math_c99f: - - math - math_c99l: - - math - math_tr1: - - math - math_tr1f: - - math - math_tr1l: - - math - mpi: - - graph - - serialization - mpi_python: - - mpi - - python - nowide: - - filesystem - numpy: - - python - prg_exec_monitor: - - test - program_options: [] - python: [] - random: - - math - - system - regex: [] - serialization: [] - stacktrace: [] - stacktrace_addr2line: - - stacktrace - stacktrace_backtrace: - - stacktrace - stacktrace_basic: - - stacktrace - stacktrace_noop: - - stacktrace - stacktrace_windbg: - - stacktrace - stacktrace_windbg_cached: - - stacktrace - system: [] - test: - - exception - test_exec_monitor: - - test - thread: - - atomic - - chrono - - container - - date_time - - exception - - system - timer: - - chrono - - system - type_erasure: - - thread - unit_test_framework: - - prg_exec_monitor - - test - - test_exec_monitor - wave: - - filesystem - - serialization - wserialization: - - serialization -libs: - atomic: - - boost_atomic - chrono: - - boost_chrono - container: - - boost_container - context: - - boost_context - contract: - - boost_contract - coroutine: - - boost_coroutine - date_time: - - boost_date_time - exception: - - boost_exception - fiber: - - boost_fiber - fiber_numa: - - boost_fiber_numa - filesystem: - - boost_filesystem - graph: - - boost_graph - graph_parallel: - - boost_graph_parallel - iostreams: - - boost_iostreams - locale: - - boost_locale - log: - - boost_log - log_setup: - - boost_log_setup - math: [] - math_c99: - - boost_math_c99 - math_c99f: - - boost_math_c99f - math_c99l: - - boost_math_c99l - math_tr1: - - boost_math_tr1 - math_tr1f: - - boost_math_tr1f - math_tr1l: - - boost_math_tr1l - mpi: - - boost_mpi - mpi_python: - - boost_mpi_python - nowide: - - boost_nowide - numpy: - - boost_numpy{py_major}{py_minor} - prg_exec_monitor: - - boost_prg_exec_monitor - program_options: - - boost_program_options - python: - - boost_python{py_major}{py_minor} - random: - - boost_random - regex: - - boost_regex - serialization: - - boost_serialization - stacktrace: [] - stacktrace_addr2line: - - boost_stacktrace_addr2line - stacktrace_backtrace: - - boost_stacktrace_backtrace - stacktrace_basic: - - boost_stacktrace_basic - stacktrace_noop: - - boost_stacktrace_noop - stacktrace_windbg: - - boost_stacktrace_windbg - stacktrace_windbg_cached: - - boost_stacktrace_windbg_cached - system: - - boost_system - test: [] - test_exec_monitor: - - boost_test_exec_monitor - thread: - - boost_thread - timer: - - boost_timer - type_erasure: - - boost_type_erasure - unit_test_framework: - - boost_unit_test_framework - wave: - - boost_wave - wserialization: - - boost_wserialization -requirements: - iostreams: - - bzip2 - - lzma - - zlib - - zstd - locale: - - iconv - - icu - python: - - python - regex: - - icu - stacktrace: - - backtrace -static_only: -- boost_exception -- boost_test_exec_monitor -version: 1.74.0 diff --git a/recipes/boost/all/dependencies/dependencies-1.75.0.yml b/recipes/boost/all/dependencies/dependencies-1.75.0.yml deleted file mode 100644 index 4d24ca98d6337..0000000000000 --- a/recipes/boost/all/dependencies/dependencies-1.75.0.yml +++ /dev/null @@ -1,280 +0,0 @@ -configure_options: -- atomic -- chrono -- container -- context -- contract -- coroutine -- date_time -- exception -- fiber -- filesystem -- graph -- graph_parallel -- iostreams -- json -- locale -- log -- math -- mpi -- nowide -- program_options -- python -- random -- regex -- serialization -- stacktrace -- system -- test -- thread -- timer -- type_erasure -- wave -dependencies: - atomic: [] - chrono: - - system - container: [] - context: - - thread - contract: - - exception - - thread - coroutine: - - context - - exception - - system - - thread - date_time: [] - exception: [] - fiber: - - context - - filesystem - fiber_numa: - - fiber - filesystem: - - system - graph: - - math - - random - - regex - - serialization - graph_parallel: - - filesystem - - graph - - mpi - - random - - serialization - iostreams: - - random - - regex - json: - - container - - exception - - system - locale: - - thread - log: - - atomic - - container - - date_time - - exception - - filesystem - - locale - - random - - regex - - system - - thread - log_setup: - - log - math: - - atomic - math_c99: - - math - math_c99f: - - math - math_c99l: - - math - math_tr1: - - math - math_tr1f: - - math - math_tr1l: - - math - mpi: - - graph - - serialization - mpi_python: - - mpi - - python - nowide: - - filesystem - numpy: - - python - prg_exec_monitor: - - test - program_options: [] - python: [] - random: - - math - - system - regex: [] - serialization: [] - stacktrace: [] - stacktrace_addr2line: - - stacktrace - stacktrace_backtrace: - - stacktrace - stacktrace_basic: - - stacktrace - stacktrace_noop: - - stacktrace - stacktrace_windbg: - - stacktrace - stacktrace_windbg_cached: - - stacktrace - system: [] - test: - - exception - test_exec_monitor: - - test - thread: - - atomic - - chrono - - container - - date_time - - exception - - system - timer: - - chrono - - system - type_erasure: - - thread - unit_test_framework: - - prg_exec_monitor - - test - - test_exec_monitor - wave: - - filesystem - - serialization - wserialization: - - serialization -libs: - atomic: - - boost_atomic - chrono: - - boost_chrono - container: - - boost_container - context: - - boost_context - contract: - - boost_contract - coroutine: - - boost_coroutine - date_time: - - boost_date_time - exception: - - boost_exception - fiber: - - boost_fiber - fiber_numa: - - boost_fiber_numa - filesystem: - - boost_filesystem - graph: - - boost_graph - graph_parallel: - - boost_graph_parallel - iostreams: - - boost_iostreams - json: - - boost_json - locale: - - boost_locale - log: - - boost_log - log_setup: - - boost_log_setup - math: [] - math_c99: - - boost_math_c99 - math_c99f: - - boost_math_c99f - math_c99l: - - boost_math_c99l - math_tr1: - - boost_math_tr1 - math_tr1f: - - boost_math_tr1f - math_tr1l: - - boost_math_tr1l - mpi: - - boost_mpi - mpi_python: - - boost_mpi_python - nowide: - - boost_nowide - numpy: - - boost_numpy{py_major}{py_minor} - prg_exec_monitor: - - boost_prg_exec_monitor - program_options: - - boost_program_options - python: - - boost_python{py_major}{py_minor} - random: - - boost_random - regex: - - boost_regex - serialization: - - boost_serialization - stacktrace: [] - stacktrace_addr2line: - - boost_stacktrace_addr2line - stacktrace_backtrace: - - boost_stacktrace_backtrace - stacktrace_basic: - - boost_stacktrace_basic - stacktrace_noop: - - boost_stacktrace_noop - stacktrace_windbg: - - boost_stacktrace_windbg - stacktrace_windbg_cached: - - boost_stacktrace_windbg_cached - system: - - boost_system - test: [] - test_exec_monitor: - - boost_test_exec_monitor - thread: - - boost_thread - timer: - - boost_timer - type_erasure: - - boost_type_erasure - unit_test_framework: - - boost_unit_test_framework - wave: - - boost_wave - wserialization: - - boost_wserialization -requirements: - iostreams: - - bzip2 - - lzma - - zlib - - zstd - locale: - - iconv - - icu - python: - - python - regex: - - icu - stacktrace: - - backtrace -static_only: -- boost_exception -- boost_test_exec_monitor -version: 1.75.0 diff --git a/recipes/boost/all/dependencies/dependencies-1.76.0.yml b/recipes/boost/all/dependencies/dependencies-1.76.0.yml deleted file mode 100644 index b404c36315ae1..0000000000000 --- a/recipes/boost/all/dependencies/dependencies-1.76.0.yml +++ /dev/null @@ -1,279 +0,0 @@ -configure_options: -- atomic -- chrono -- container -- context -- contract -- coroutine -- date_time -- exception -- fiber -- filesystem -- graph -- graph_parallel -- iostreams -- json -- locale -- log -- math -- mpi -- nowide -- program_options -- python -- random -- regex -- serialization -- stacktrace -- system -- test -- thread -- timer -- type_erasure -- wave -dependencies: - atomic: [] - chrono: - - system - container: [] - context: - - thread - contract: - - exception - - thread - coroutine: - - context - - exception - - system - - thread - date_time: [] - exception: [] - fiber: - - context - - filesystem - fiber_numa: - - fiber - filesystem: - - system - graph: - - math - - random - - regex - - serialization - graph_parallel: - - filesystem - - graph - - mpi - - random - - serialization - iostreams: - - random - - regex - json: - - container - - exception - - system - locale: - - thread - log: - - atomic - - container - - date_time - - exception - - filesystem - - locale - - random - - regex - - system - - thread - log_setup: - - log - math: - - atomic - math_c99: - - math - math_c99f: - - math - math_c99l: - - math - math_tr1: - - math - math_tr1f: - - math - math_tr1l: - - math - mpi: - - graph - - serialization - mpi_python: - - mpi - - python - nowide: - - filesystem - numpy: - - python - prg_exec_monitor: - - test - program_options: [] - python: [] - random: - - system - regex: [] - serialization: [] - stacktrace: [] - stacktrace_addr2line: - - stacktrace - stacktrace_backtrace: - - stacktrace - stacktrace_basic: - - stacktrace - stacktrace_noop: - - stacktrace - stacktrace_windbg: - - stacktrace - stacktrace_windbg_cached: - - stacktrace - system: [] - test: - - exception - test_exec_monitor: - - test - thread: - - atomic - - chrono - - container - - date_time - - exception - - system - timer: - - chrono - - system - type_erasure: - - thread - unit_test_framework: - - prg_exec_monitor - - test - - test_exec_monitor - wave: - - filesystem - - serialization - wserialization: - - serialization -libs: - atomic: - - boost_atomic - chrono: - - boost_chrono - container: - - boost_container - context: - - boost_context - contract: - - boost_contract - coroutine: - - boost_coroutine - date_time: - - boost_date_time - exception: - - boost_exception - fiber: - - boost_fiber - fiber_numa: - - boost_fiber_numa - filesystem: - - boost_filesystem - graph: - - boost_graph - graph_parallel: - - boost_graph_parallel - iostreams: - - boost_iostreams - json: - - boost_json - locale: - - boost_locale - log: - - boost_log - log_setup: - - boost_log_setup - math: [] - math_c99: - - boost_math_c99 - math_c99f: - - boost_math_c99f - math_c99l: - - boost_math_c99l - math_tr1: - - boost_math_tr1 - math_tr1f: - - boost_math_tr1f - math_tr1l: - - boost_math_tr1l - mpi: - - boost_mpi - mpi_python: - - boost_mpi_python - nowide: - - boost_nowide - numpy: - - boost_numpy{py_major}{py_minor} - prg_exec_monitor: - - boost_prg_exec_monitor - program_options: - - boost_program_options - python: - - boost_python{py_major}{py_minor} - random: - - boost_random - regex: - - boost_regex - serialization: - - boost_serialization - stacktrace: [] - stacktrace_addr2line: - - boost_stacktrace_addr2line - stacktrace_backtrace: - - boost_stacktrace_backtrace - stacktrace_basic: - - boost_stacktrace_basic - stacktrace_noop: - - boost_stacktrace_noop - stacktrace_windbg: - - boost_stacktrace_windbg - stacktrace_windbg_cached: - - boost_stacktrace_windbg_cached - system: - - boost_system - test: [] - test_exec_monitor: - - boost_test_exec_monitor - thread: - - boost_thread - timer: - - boost_timer - type_erasure: - - boost_type_erasure - unit_test_framework: - - boost_unit_test_framework - wave: - - boost_wave - wserialization: - - boost_wserialization -requirements: - iostreams: - - bzip2 - - lzma - - zlib - - zstd - locale: - - iconv - - icu - python: - - python - regex: - - icu - stacktrace: - - backtrace -static_only: -- boost_exception -- boost_test_exec_monitor -version: 1.76.0 diff --git a/recipes/boost/all/dependencies/dependencies-1.77.0.yml b/recipes/boost/all/dependencies/dependencies-1.77.0.yml deleted file mode 100644 index 921d8f4f45b12..0000000000000 --- a/recipes/boost/all/dependencies/dependencies-1.77.0.yml +++ /dev/null @@ -1,277 +0,0 @@ -configure_options: -- atomic -- chrono -- container -- context -- contract -- coroutine -- date_time -- exception -- fiber -- filesystem -- graph -- graph_parallel -- iostreams -- json -- locale -- log -- math -- mpi -- nowide -- program_options -- python -- random -- regex -- serialization -- stacktrace -- system -- test -- thread -- timer -- type_erasure -- wave -dependencies: - atomic: [] - chrono: - - system - container: [] - context: [] - contract: - - exception - - thread - coroutine: - - context - - exception - - system - - thread - date_time: [] - exception: [] - fiber: - - context - - filesystem - fiber_numa: - - fiber - filesystem: - - atomic - - system - graph: - - math - - random - - regex - - serialization - graph_parallel: - - filesystem - - graph - - mpi - - random - - serialization - iostreams: - - random - - regex - json: - - container - - exception - - system - locale: - - thread - log: - - atomic - - container - - date_time - - exception - - filesystem - - random - - regex - - system - - thread - log_setup: - - log - math: [] - math_c99: - - math - math_c99f: - - math - math_c99l: - - math - math_tr1: - - math - math_tr1f: - - math - math_tr1l: - - math - mpi: - - graph - - serialization - mpi_python: - - mpi - - python - nowide: - - filesystem - numpy: - - python - prg_exec_monitor: - - test - program_options: [] - python: [] - random: - - system - regex: [] - serialization: [] - stacktrace: [] - stacktrace_addr2line: - - stacktrace - stacktrace_backtrace: - - stacktrace - stacktrace_basic: - - stacktrace - stacktrace_noop: - - stacktrace - stacktrace_windbg: - - stacktrace - stacktrace_windbg_cached: - - stacktrace - system: [] - test: - - exception - test_exec_monitor: - - test - thread: - - atomic - - chrono - - container - - date_time - - exception - - system - timer: - - chrono - - system - type_erasure: - - thread - unit_test_framework: - - prg_exec_monitor - - test - - test_exec_monitor - wave: - - filesystem - - serialization - wserialization: - - serialization -libs: - atomic: - - boost_atomic - chrono: - - boost_chrono - container: - - boost_container - context: - - boost_context - contract: - - boost_contract - coroutine: - - boost_coroutine - date_time: - - boost_date_time - exception: - - boost_exception - fiber: - - boost_fiber - fiber_numa: - - boost_fiber_numa - filesystem: - - boost_filesystem - graph: - - boost_graph - graph_parallel: - - boost_graph_parallel - iostreams: - - boost_iostreams - json: - - boost_json - locale: - - boost_locale - log: - - boost_log - log_setup: - - boost_log_setup - math: [] - math_c99: - - boost_math_c99 - math_c99f: - - boost_math_c99f - math_c99l: - - boost_math_c99l - math_tr1: - - boost_math_tr1 - math_tr1f: - - boost_math_tr1f - math_tr1l: - - boost_math_tr1l - mpi: - - boost_mpi - mpi_python: - - boost_mpi_python - nowide: - - boost_nowide - numpy: - - boost_numpy{py_major}{py_minor} - prg_exec_monitor: - - boost_prg_exec_monitor - program_options: - - boost_program_options - python: - - boost_python{py_major}{py_minor} - random: - - boost_random - regex: - - boost_regex - serialization: - - boost_serialization - stacktrace: [] - stacktrace_addr2line: - - boost_stacktrace_addr2line - stacktrace_backtrace: - - boost_stacktrace_backtrace - stacktrace_basic: - - boost_stacktrace_basic - stacktrace_noop: - - boost_stacktrace_noop - stacktrace_windbg: - - boost_stacktrace_windbg - stacktrace_windbg_cached: - - boost_stacktrace_windbg_cached - system: - - boost_system - test: [] - test_exec_monitor: - - boost_test_exec_monitor - thread: - - boost_thread - timer: - - boost_timer - type_erasure: - - boost_type_erasure - unit_test_framework: - - boost_unit_test_framework - wave: - - boost_wave - wserialization: - - boost_wserialization -requirements: - iostreams: - - bzip2 - - lzma - - zlib - - zstd - locale: - - iconv - - icu - python: - - python - regex: - - icu - stacktrace: - - backtrace -static_only: -- boost_exception -- boost_test_exec_monitor -version: 1.77.0 diff --git a/recipes/boost/all/dependencies/dependencies-1.86.0.yml b/recipes/boost/all/dependencies/dependencies-1.86.0.yml index e1e1e40afaac1..ae5b6de30e121 100644 --- a/recipes/boost/all/dependencies/dependencies-1.86.0.yml +++ b/recipes/boost/all/dependencies/dependencies-1.86.0.yml @@ -20,6 +20,7 @@ configure_options: - math - mpi - nowide +- process - program_options - python - random @@ -40,6 +41,7 @@ dependencies: - system cobalt: - container + - context - system container: [] context: [] @@ -115,6 +117,9 @@ dependencies: - python prg_exec_monitor: - test + process: + - filesystem + - system program_options: [] python: [] random: @@ -128,14 +133,14 @@ dependencies: - stacktrace stacktrace_basic: - stacktrace + stacktrace_from_exception: + - stacktrace stacktrace_noop: - stacktrace stacktrace_windbg: - stacktrace stacktrace_windbg_cached: - stacktrace - stacktrace_from_exception: - - stacktrace system: [] test: - exception @@ -226,6 +231,8 @@ libs: - boost_numpy{py_major}{py_minor} prg_exec_monitor: - boost_prg_exec_monitor + process: + - boost_process program_options: - boost_program_options python: diff --git a/recipes/boost/all/patches/0001-revert-cease-dependence-on-range.patch b/recipes/boost/all/patches/0001-revert-cease-dependence-on-range.patch deleted file mode 100644 index fd069197a95a0..0000000000000 --- a/recipes/boost/all/patches/0001-revert-cease-dependence-on-range.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 188eac4acf37313fcec27d7b266c6517b99ed23d Mon Sep 17 00:00:00 2001 -From: Oliver Kowalke -Date: Sun, 1 Dec 2019 20:40:28 +0100 -Subject: [PATCH] Revert "Cease dependence on Range" - -This reverts commit 0c556bb59241e682bbcd3f572815149c5a9b17db. - -see #44 (One test fails to compile after boostorg/coroutine submodule updated) ---- - boost/coroutine/asymmetric_coroutine.hpp | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -diff --git a/boost/coroutine/asymmetric_coroutine.hpp b/boost/coroutine/asymmetric_coroutine.hpp -index f2ae16f..78b1842 100644 ---- a/boost/coroutine/asymmetric_coroutine.hpp -+++ b/boost/coroutine/asymmetric_coroutine.hpp -@@ -14,6 +14,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -2390,19 +2391,12 @@ end( push_coroutine< R > & c) - - } - --// forward declaration of Boost.Range traits to break dependency on it --template --struct range_mutable_iterator; -- --template --struct range_const_iterator; -- - template< typename Arg > --struct range_mutable_iterator< coroutines::push_coroutine< Arg >, void > -+struct range_mutable_iterator< coroutines::push_coroutine< Arg > > - { typedef typename coroutines::push_coroutine< Arg >::iterator type; }; - - template< typename R > --struct range_mutable_iterator< coroutines::pull_coroutine< R >, void > -+struct range_mutable_iterator< coroutines::pull_coroutine< R > > - { typedef typename coroutines::pull_coroutine< R >::iterator type; }; - - } --- -2.21.0 - diff --git a/recipes/boost/all/patches/1.69.0-contract-no-system.patch b/recipes/boost/all/patches/1.69.0-contract-no-system.patch deleted file mode 100644 index d98fe7b2f7e3e..0000000000000 --- a/recipes/boost/all/patches/1.69.0-contract-no-system.patch +++ /dev/null @@ -1,11 +0,0 @@ -This library links to boost_system, even though that library is header-only. ---- libs/contract/build/Jamfile.v2 -+++ libs/contract/build/Jamfile.v2 -@@ -18,5 +18,5 @@ - ; - - # If lib as header-only, none of following will be used. --lib boost_contract : contract.cpp : shared /boost//system ; --lib boost_contract : contract.cpp : static /boost//system ; -+lib boost_contract : contract.cpp : shared ; -+lib boost_contract : contract.cpp : static ; diff --git a/recipes/boost/all/patches/1.69.0-random-no-system.patch b/recipes/boost/all/patches/1.69.0-random-no-system.patch deleted file mode 100644 index ad03e39931654..0000000000000 --- a/recipes/boost/all/patches/1.69.0-random-no-system.patch +++ /dev/null @@ -1,11 +0,0 @@ -This library links to boost_system, even though that library is header-only. ---- libs/random/build/Jamfile.v2 -+++ libs/random/build/Jamfile.v2 -@@ -13,6 +13,6 @@ - : usage-requirements shared:BOOST_RANDOM_DYN_LINK - ; - --lib boost_random : [ glob *.cpp ] /boost//system ; -+lib boost_random : [ glob *.cpp ] ; - - boost-install boost_random ; diff --git a/recipes/boost/all/patches/1.69.0-type_erasure-no-system.patch b/recipes/boost/all/patches/1.69.0-type_erasure-no-system.patch deleted file mode 100644 index c3b7cde662175..0000000000000 --- a/recipes/boost/all/patches/1.69.0-type_erasure-no-system.patch +++ /dev/null @@ -1,9 +0,0 @@ -This library links to boost_system, even though that library is header-only. ---- libs/type_erasure/build/Jamfile.v2 -+++ libs/type_erasure/build/Jamfile.v2 -@@ -12,4 +12,4 @@ - : usage-requirements shared:BOOST_TYPE_ERASURE_DYN_LINK - ; - --lib boost_type_erasure : dynamic_binding.cpp /boost//thread /boost//system ; -+lib boost_type_erasure : dynamic_binding.cpp /boost//thread ; diff --git a/recipes/boost/all/patches/1.75.0-boost_build-with-newer-b2.patch b/recipes/boost/all/patches/1.75.0-boost_build-with-newer-b2.patch deleted file mode 100644 index 4c22c748fe894..0000000000000 --- a/recipes/boost/all/patches/1.75.0-boost_build-with-newer-b2.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- tools/build/src/build/configure.jam.orig 2020-12-03 00:02:49.000000000 -0500 -+++ tools/build/src/build/configure.jam 2022-01-28 20:32:41.260634800 -0500 -@@ -454,7 +454,7 @@ - return [ find-builds-raw $(p) : $(ps) : $(what) : - $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) : - $(10) : $(11) : $(12) : $(13) : $(14) : $(15) : -- $(16) : $(17) : $(18) : $(19) ] ; -+ $(16) : $(17) : $(18) ] ; - } - - -@@ -518,7 +518,7 @@ - { - local project = [ project.current ] ; - self.message = $(message) ; -- for i in 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 -+ for i in 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 - { - local name = [ CALC $(i) - 1 ] ; - self.targets.$(name) = $($(i)[1]) ; -@@ -537,7 +537,7 @@ - } - rule all-properties ( ) - { -- local i = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ; -+ local i = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ; - return $(self.props.$(i)) ; - } - rule check ( properties * ) -@@ -559,9 +559,7 @@ - : $(self.targets.14) $(self.what.14) - : $(self.targets.15) $(self.what.15) - : $(self.targets.16) $(self.what.16) -- : $(self.targets.17) $(self.what.17) -- : $(self.targets.18) $(self.what.18) -- : $(self.targets.19) $(self.what.19) ] ; -+ : $(self.targets.17) $(self.what.17) ] ; - if $(self.props.$(i)) - { - return [ property.evaluate-conditionals-in-context $(self.props.$(i)) : $(properties) ] ; ---- tools/build/src/util/indirect.jam.orig 2020-12-03 00:02:49.000000000 -0500 -+++ tools/build/src/util/indirect.jam 2022-01-28 20:32:41.249509200 -0500 -@@ -102,7 +102,7 @@ - { - return [ modules.call-in [ get-module $(r) ] : [ get-rule $(r) ] $(args) : - $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) : $(10) : $(11) : -- $(12) : $(13) : $(14) : $(15) : $(16) : $(17) : $(18) : $(19) ] ; -+ $(12) : $(13) : $(14) : $(15) : $(16) : $(17) : $(18) ] ; - } - - diff --git a/recipes/boost/all/patches/1.76.0-0001-fix-include-inside-boost-namespace.patch b/recipes/boost/all/patches/1.76.0-0001-fix-include-inside-boost-namespace.patch deleted file mode 100644 index c06566b5a75fb..0000000000000 --- a/recipes/boost/all/patches/1.76.0-0001-fix-include-inside-boost-namespace.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 1ec5c98d80de97f9e962c5627e1a0e6096099894 Mon Sep 17 00:00:00 2001 -From: Daniel Scharrer -Date: Wed, 28 Jul 2021 19:56:31 +0200 -Subject: [PATCH] Fix #include inside boost namespace - -The existing code fails to build if was not already included. ---- - boost/math/tools/mp.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/boost/math/tools/mp.hpp b/boost/math/tools/mp.hpp -index 35565646f..dc8440988 100644 ---- a/boost/math/tools/mp.hpp -+++ b/boost/math/tools/mp.hpp -@@ -13,6 +13,7 @@ - - #include - #include -+#include - - namespace boost { namespace math { namespace tools { namespace meta_programming { - -@@ -338,7 +339,6 @@ using mp_remove_if_q = mp_remove_if; - // Index sequence - // Use C++14 index sequence if available - #if defined(__cpp_lib_integer_sequence) && (__cpp_lib_integer_sequence >= 201304) --#include - template - using index_sequence = std::index_sequence; - --- -2.39.1 - diff --git a/recipes/boost/all/patches/1.77.0-boost_build-with-newer-b2.patch b/recipes/boost/all/patches/1.77.0-boost_build-with-newer-b2.patch deleted file mode 100644 index bdc7476f27137..0000000000000 --- a/recipes/boost/all/patches/1.77.0-boost_build-with-newer-b2.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- tools/build/src/build/configure.jam.orig 2021-08-05 05:42:46.000000000 -0400 -+++ tools/build/src/build/configure.jam 2022-01-28 19:55:37.960877600 -0500 -@@ -467,7 +467,7 @@ - return [ find-builds-raw $(p) : $(ps) : $(what) : - $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) : - $(10) : $(11) : $(12) : $(13) : $(14) : $(15) : -- $(16) : $(17) : $(18) : $(19) ] ; -+ $(16) : $(17) : $(18) ] ; - } - - -@@ -531,7 +531,7 @@ - { - local project = [ project.current ] ; - self.message = $(message) ; -- for i in 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 -+ for i in 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 - { - local name = [ CALC $(i) - 1 ] ; - self.targets.$(name) = $($(i)[1]) ; -@@ -550,7 +550,7 @@ - } - rule all-properties ( ) - { -- local i = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ; -+ local i = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ; - return $(self.props.$(i)) ; - } - rule check ( properties * ) -@@ -572,9 +572,7 @@ - : $(self.targets.14) $(self.what.14) - : $(self.targets.15) $(self.what.15) - : $(self.targets.16) $(self.what.16) -- : $(self.targets.17) $(self.what.17) -- : $(self.targets.18) $(self.what.18) -- : $(self.targets.19) $(self.what.19) ] ; -+ : $(self.targets.17) $(self.what.17) ] ; - if $(self.props.$(i)) - { - return [ property.evaluate-conditionals-in-context $(self.props.$(i)) : $(properties) ] ; ---- tools/build/src/util/indirect.jam.orig 2021-08-05 05:42:46.000000000 -0400 -+++ tools/build/src/util/indirect.jam 2021-12-02 01:48:03.000000000 -0500 -@@ -102,7 +102,7 @@ - { - return [ modules.call-in [ get-module $(r) ] : [ get-rule $(r) ] $(args) : - $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) : $(10) : $(11) : -- $(12) : $(13) : $(14) : $(15) : $(16) : $(17) : $(18) : $(19) ] ; -+ $(12) : $(13) : $(14) : $(15) : $(16) : $(17) : $(18) ] ; - } - - .parts_regex = "^([^@]*)@" "([^%]*)%" "([^%]+)$" ; diff --git a/recipes/boost/all/patches/bcp_namespace_issues_1_71.patch b/recipes/boost/all/patches/bcp_namespace_issues_1_71.patch deleted file mode 100644 index 94e748ef55f4b..0000000000000 --- a/recipes/boost/all/patches/bcp_namespace_issues_1_71.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d0586e88122f41cd5ac9666db70c37d6f0fc7480 Mon Sep 17 00:00:00 2001 -From: Peter Dimov -Date: Sun, 26 May 2019 18:49:12 +0300 -Subject: [PATCH] Fix `bcp --namespace` issues - ---- - Jamroot | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/Jamroot b/Jamroot -index e0d7c90f51d..4e913c2b3f3 100644 ---- a/Jamroot -+++ b/Jamroot -@@ -140,7 +140,8 @@ import "class" : new ; - import property-set ; - import threadapi-feature ; - import option ; --import tools/boost_install/boost-install ; -+# Backslash because of `bcp --namespace` -+import tools/boost\_install/boost-install ; - - path-constant BOOST_ROOT : . ; - constant BOOST_VERSION : 1.71.0 ; -@@ -311,8 +312,8 @@ rule boost-install ( libraries * ) - # stage and install targets via boost-install, above. - rule boost-lib ( name : sources * : requirements * : default-build * : usage-requirements * ) - { -+ autolink = shared:BOOST_$(name:U)_DYN_LINK=1 ; - name = boost_$(name) ; -- autolink = shared:$(name:U)_DYN_LINK=1 ; - lib $(name) - : $(sources) - : $(requirements) $(autolink) diff --git a/recipes/boost/all/patches/bcp_namespace_issues_1_72.patch b/recipes/boost/all/patches/bcp_namespace_issues_1_72.patch deleted file mode 100644 index 5ffe1ec157b19..0000000000000 --- a/recipes/boost/all/patches/bcp_namespace_issues_1_72.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d0586e88122f41cd5ac9666db70c37d6f0fc7480 Mon Sep 17 00:00:00 2001 -From: Peter Dimov -Date: Sun, 26 May 2019 18:49:12 +0300 -Subject: [PATCH] Fix `bcp --namespace` issues - ---- - Jamroot | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/Jamroot b/Jamroot -index e0d7c90f51d..4e913c2b3f3 100644 ---- a/Jamroot -+++ b/Jamroot -@@ -140,7 +140,8 @@ import "class" : new ; - import property-set ; - import threadapi-feature ; - import option ; --import tools/boost_install/boost-install ; -+# Backslash because of `bcp --namespace` -+import tools/boost\_install/boost-install ; - - path-constant BOOST_ROOT : . ; - constant BOOST_VERSION : 1.72.0 ; -@@ -311,8 +312,8 @@ rule boost-install ( libraries * ) - # stage and install targets via boost-install, above. - rule boost-lib ( name : sources * : requirements * : default-build * : usage-requirements * ) - { -+ autolink = shared:BOOST_$(name:U)_DYN_LINK=1 ; - name = boost_$(name) ; -- autolink = shared:$(name:U)_DYN_LINK=1 ; - lib $(name) - : $(sources) - : $(requirements) $(autolink) diff --git a/recipes/boost/all/patches/boost_build_qcc_fix_debug_build_parameter.patch b/recipes/boost/all/patches/boost_build_qcc_fix_debug_build_parameter.patch deleted file mode 100644 index 5e6c660ee96c2..0000000000000 --- a/recipes/boost/all/patches/boost_build_qcc_fix_debug_build_parameter.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/tools/build/src/tools/qcc.jam b/tools/build/src/tools/qcc.jam -index 155b1ac3..64274e65 100644 ---- a/tools/build/src/tools/qcc.jam -+++ b/tools/build/src/tools/qcc.jam -@@ -48,7 +48,7 @@ generators.register-c-compiler qcc.compile.asm : ASM : OBJ : qcc ; - - - # Declare flags for compilation. --toolset.flags qcc.compile OPTIONS on : -gstabs+ ; -+toolset.flags qcc.compile OPTIONS on : -g ; - - # Declare flags and action for compilation. - toolset.flags qcc.compile OPTIONS off : -O0 ; -@@ -164,7 +164,7 @@ generators.override qcc.searched-lib-generator : searched-lib-generator ; - - # Declare flags for linking. - # First, the common flags. --toolset.flags qcc.link OPTIONS on : -gstabs+ ; -+toolset.flags qcc.link OPTIONS on : -g ; - toolset.flags qcc.link OPTIONS on : -p ; - toolset.flags qcc.link OPTIONS ; - toolset.flags qcc.link LINKPATH ; diff --git a/recipes/boost/all/patches/boost_build_qcc_fix_debug_build_parameter_since_1_74.patch b/recipes/boost/all/patches/boost_build_qcc_fix_debug_build_parameter_since_1_74.patch deleted file mode 100644 index 29b744e9667d3..0000000000000 --- a/recipes/boost/all/patches/boost_build_qcc_fix_debug_build_parameter_since_1_74.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/tools/build/src/tools/qcc.jam b/tools/build/src/tools/qcc.jam -index 740e907..b0653f1 100644 ---- a/tools/build/src/tools/qcc.jam -+++ b/tools/build/src/tools/qcc.jam -@@ -86,7 +86,7 @@ local rule check-target-platform - } - - # Declare flags for compilation. --toolset.flags qcc.compile OPTIONS on : -gstabs+ ; -+toolset.flags qcc.compile OPTIONS on : -g ; - - # Declare flags and action for compilation. - toolset.flags qcc.compile OPTIONS off : -O0 ; -@@ -216,7 +216,7 @@ generators.override qcc.searched-lib-generator : searched-lib-generator ; - - # Declare flags for linking. - # First, the common flags. --toolset.flags qcc.link OPTIONS on : -gstabs+ ; -+toolset.flags qcc.link OPTIONS on : -g ; - toolset.flags qcc.link OPTIONS on : -p ; - toolset.flags qcc.link OPTIONS ; - toolset.flags qcc.link LINKPATH ; diff --git a/recipes/boost/all/patches/boost_core_qnx_cxx_provide___cxa_get_globals.patch b/recipes/boost/all/patches/boost_core_qnx_cxx_provide___cxa_get_globals.patch deleted file mode 100644 index dffef671e7992..0000000000000 --- a/recipes/boost/all/patches/boost_core_qnx_cxx_provide___cxa_get_globals.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/boost/core/uncaught_exceptions.hpp b/boost/core/uncaught_exceptions.hpp -index c39120b..436717f 100644 ---- a/boost/core/uncaught_exceptions.hpp -+++ b/boost/core/uncaught_exceptions.hpp -@@ -56,10 +56,15 @@ - // On Linux with clang and libc++ and on OS X, there is a version of cxxabi.h from libc++abi that doesn't declare __cxa_get_globals, but provides __cxa_uncaught_exceptions. - // The function only appeared in version _LIBCPPABI_VERSION >= 1002 of the library. Unfortunately, there are linking errors about undefined reference to __cxa_uncaught_exceptions - // on Ubuntu Trusty and OS X, so we avoid using it and forward-declare __cxa_get_globals instead. -+// On QNX SDP 7.0 (QCC 5.4.0), there are multiple cxxabi.h, one from glibcxx from gcc and another from libc++abi from LLVM. Which one is included will be determined by the qcc -+// command line arguments (-V and/or -Y; http://www.qnx.com/developers/docs/7.0.0/#com.qnx.doc.neutrino.utilities/topic/q/qcc.html). The LLVM libc++abi is missing the declaration -+// of __cxa_get_globals but it is also patched by QNX developers to not define _LIBCPPABI_VERSION. Older QNX SDP versions, up to and including 6.6, don't provide LLVM and libc++abi. -+// See https://github.com/boostorg/core/issues/59. - #if !defined(__FreeBSD__) && \ - ( \ - (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) < 407) || \ - defined(__OpenBSD__) || \ -+ (defined(__QNXNTO__) && !defined(__GLIBCXX__) && !defined(__GLIBCPP__)) || \ - defined(_LIBCPPABI_VERSION) \ - ) - namespace __cxxabiv1 { diff --git a/recipes/boost/all/patches/boost_log_filesystem_no_deprecated_1_72.patch b/recipes/boost/all/patches/boost_log_filesystem_no_deprecated_1_72.patch deleted file mode 100644 index bb010943f2bde..0000000000000 --- a/recipes/boost/all/patches/boost_log_filesystem_no_deprecated_1_72.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/libs/log/src/text_file_backend.cpp b/libs/log/src/text_file_backend.cpp -index 50cef3b..d5fd02e 100644 ---- a/libs/log/src/text_file_backend.cpp -+++ b/libs/log/src/text_file_backend.cpp -@@ -39,6 +39,8 @@ - #include - #include - #include -+#include -+#include - #include - #include - #include diff --git a/recipes/boost/all/patches/boost_mpi_check.patch b/recipes/boost/all/patches/boost_mpi_check.patch deleted file mode 100644 index af7e45f610510..0000000000000 --- a/recipes/boost/all/patches/boost_mpi_check.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -ru a/tools/build/src/tools/mpi.jam b/tools/build/src/tools/mpi.jam ---- a/tools/build/src/tools/mpi.jam 2019-12-10 01:20:16.000000000 +0100 -+++ b/tools/build/src/tools/mpi.jam 2020-09-02 13:17:22.942349254 +0200 -@@ -66,6 +66,8 @@ - import type ; - import path ; - -+import errors ; -+ - # Make this module a project - project.initialize $(__name__) ; - project mpi ; -@@ -539,6 +541,11 @@ - # Set up the "mpi" alias - alias mpi : : : : $(options) ; - } -+ -+ if ! $(.configured) -+ { -+ errors.user-error "MPI not configured" ; -+ } - } - - # States whether MPI has bee configured diff --git a/recipes/boost/all/patches/python_base_prefix.patch b/recipes/boost/all/patches/python_base_prefix.patch deleted file mode 100644 index 47371cba773df..0000000000000 --- a/recipes/boost/all/patches/python_base_prefix.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -ru a/tools/build/src/tools/python.jam b/tools/build/src/tools/python.jam ---- a/tools/build/src/tools/python.jam -+++ b/tools/build/src/tools/python.jam -@@ -746,7 +746,7 @@ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? : - { - # Values to be extracted from python's sys module. These will be set by - # the probe rule, above, using Jam's dynamic scoping. -- local sys-elements = version platform prefix exec_prefix executable ; -+ local sys-elements = version platform base_prefix base_exec_prefix executable ; - local sys.$(sys-elements) ; - - # Compute the string Python's sys.platform needs to match. If not -@@ -786,10 +786,10 @@ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? : - { - debug-message ...requested configuration matched! ; - -- exec-prefix = $(sys.exec_prefix) ; -+ exec-prefix = $(sys.base_exec_prefix) ; - - compute-default-paths $(target-os) : $(sys.version) : -- $(sys.prefix) : $(sys.exec_prefix) ; -+ $(sys.base_prefix) : $(sys.base_exec_prefix) ; - - version = $(sys.version) ; - interpreter-cmd ?= $(cmd) ; diff --git a/recipes/boost/all/patches/python_base_prefix_since_1_74.patch b/recipes/boost/all/patches/python_base_prefix_since_1_74.patch deleted file mode 100644 index 2267fe4762dc8..0000000000000 --- a/recipes/boost/all/patches/python_base_prefix_since_1_74.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/tools/build/src/tools/python.jam b/tools/build/src/tools/python.jam -index cf8c379..3e3f095 100644 ---- a/tools/build/src/tools/python.jam -+++ b/tools/build/src/tools/python.jam -@@ -749,7 +749,7 @@ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? : - { - # Values to be extracted from python's sys module. These will be set by - # the probe rule, above, using Jam's dynamic scoping. -- local sys-elements = version platform prefix exec_prefix executable ; -+ local sys-elements = version platform base_prefix base_exec_prefix executable ; - local sys.$(sys-elements) ; - - # Compute the string Python's sys.platform needs to match. If not -@@ -789,10 +789,10 @@ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? : - { - debug-message ...requested configuration matched! ; - -- exec-prefix = $(sys.exec_prefix) ; -+ exec-prefix = $(sys.base_exec_prefix) ; - - compute-default-paths $(target-os) : $(sys.version) : -- $(sys.prefix) : $(sys.exec_prefix) ; -+ $(sys.base_prefix) : $(sys.base_exec_prefix) ; - - version = $(sys.version) ; - interpreter-cmd ?= $(cmd) ; diff --git a/recipes/boost/all/patches/solaris_pthread_data.patch b/recipes/boost/all/patches/solaris_pthread_data.patch deleted file mode 100644 index ea5e4d7048d4e..0000000000000 --- a/recipes/boost/all/patches/solaris_pthread_data.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/boost/thread/pthread/thread_data.hpp b/include/boost/thread/pthread/thread_data.hpp -index aefbeb4..bc9b136 100644 ---- a/boost/thread/pthread/thread_data.hpp -+++ b/boost/thread/pthread/thread_data.hpp -@@ -57,7 +57,7 @@ namespace boost - #else - std::size_t page_size = ::sysconf( _SC_PAGESIZE); - #endif --#if PTHREAD_STACK_MIN > 0 -+#ifdef PTHREAD_STACK_MIN - if (size +#include +// clang-format: on + +#include +#include + +#include +#include + +#if defined(BOOST_NAMESPACE) +namespace boost = BOOST_NAMESPACE; +#endif + +namespace proc = boost::process::v2; +namespace asio = boost::asio; + +int main() +{ + asio::io_context ctx; + asio::readable_pipe p{ctx}; + + const auto exe = proc::environment::find_executable("cmake"); + + proc::process c{ctx, exe, {"--version"}, proc::process_stdio{nullptr, p}}; + + std::string line; + boost::system::error_code ec; + + auto sz = asio::read(p, asio::dynamic_buffer(line), ec); + + std::cout << "CMake version: '" << line << "'" << std::endl; + + c.wait(); +} diff --git a/recipes/boost/all/test_v1_package/CMakeLists.txt b/recipes/boost/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index c23ed5cfe6d98..0000000000000 --- a/recipes/boost/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_v1_package) - -enable_testing() - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/boost/all/test_v1_package/conanfile.py b/recipes/boost/all/test_v1_package/conanfile.py deleted file mode 100644 index 4bdbddf498bcc..0000000000000 --- a/recipes/boost/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,52 +0,0 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanException -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def _boost_option(self, name, default): - try: - return getattr(self.options["boost"], name, default) - except (AttributeError, ConanException): - return default - - def build(self): - # FIXME: tools.vcvars added for clang-cl. Remove once conan supports clang-cl properly. (https://github.com/conan-io/conan-center-index/pull/1453) - with tools.vcvars(self.settings) if (self.settings.os == "Windows" and self.settings.compiler == "clang") else tools.no_op(): - cmake = CMake(self) - cmake.definitions["HEADER_ONLY"] = self.options["boost"].header_only - if not self.options["boost"].header_only: - cmake.definitions["Boost_USE_STATIC_LIBS"] = not self.options["boost"].shared - cmake.definitions["WITH_PYTHON"] = not self.options["boost"].without_python - if not self.options["boost"].without_python: - pyversion = tools.Version(self.options["boost"].python_version) - cmake.definitions["PYTHON_VERSION_TO_SEARCH"] = pyversion - cmake.definitions["Python_EXECUTABLE"] = self.options["boost"].python_executable - cmake.definitions["WITH_RANDOM"] = not self.options["boost"].without_random - cmake.definitions["WITH_REGEX"] = not self.options["boost"].without_regex - cmake.definitions["WITH_TEST"] = not self.options["boost"].without_test - cmake.definitions["WITH_COROUTINE"] = not self.options["boost"].without_coroutine - cmake.definitions["WITH_CHRONO"] = not self.options["boost"].without_chrono - cmake.definitions["WITH_FIBER"] = not self.options["boost"].without_fiber - cmake.definitions["WITH_LOCALE"] = not self.options["boost"].without_locale - cmake.definitions["WITH_NOWIDE"] = not self._boost_option("without_nowide", True) - cmake.definitions["WITH_JSON"] = not self._boost_option("without_json", True) - cmake.definitions["WITH_STACKTRACE"] = not self.options["boost"].without_stacktrace - cmake.definitions["WITH_STACKTRACE_ADDR2LINE"] = self.deps_user_info["boost"].stacktrace_addr2line_available - cmake.definitions["WITH_STACKTRACE_BACKTRACE"] = self._boost_option("with_stacktrace_backtrace", False) - cmake.definitions["WITH_URL"] = not self._boost_option("without_url", True) - if self.options["boost"].namespace != 'boost' and not self.options["boost"].namespace_alias: - cmake.definitions['BOOST_NAMESPACE'] = self.options["boost"].namespace - cmake.configure() - # Disable parallel builds because c3i (=conan-center's test/build infrastructure) seems to choke here - cmake.parallel = False - cmake.build() - - def test(self): - if tools.cross_building(self): - return - self.run(f"ctest --output-on-failure -C {self.settings.build_type}", run_environment=True) - diff --git a/recipes/boost/config.yml b/recipes/boost/config.yml index 2cac249885115..2e1c34508d9b9 100644 --- a/recipes/boost/config.yml +++ b/recipes/boost/config.yml @@ -17,17 +17,3 @@ versions: folder: all "1.78.0": folder: all - "1.77.0": - folder: all - "1.76.0": - folder: all - "1.75.0": - folder: all - "1.74.0": - folder: all - "1.73.0": - folder: all - "1.72.0": - folder: all - "1.71.0": - folder: all diff --git a/recipes/boostdep/all/test_v1_package/conanfile.py b/recipes/boostdep/all/test_v1_package/conanfile.py deleted file mode 100644 index 190cc18502e11..0000000000000 --- a/recipes/boostdep/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, tools -import os - - -class DefaultNameConan(ConanFile): - settings = "os", "compiler", "arch", "build_type" - - def build(self): - pass - - def test(self): - if tools.cross_building(self.settings): - return - tools.mkdir("libs") - tools.save("Jamroot", "") - with tools.environment_append({"BOOST_ROOT": self.build_folder}): - self.run("boostdep --list-modules", run_environment=True) diff --git a/recipes/botan/all/conandata.yml b/recipes/botan/all/conandata.yml index 311b92ac7d1b5..e82beb6c7b70e 100644 --- a/recipes/botan/all/conandata.yml +++ b/recipes/botan/all/conandata.yml @@ -17,6 +17,9 @@ sources: "2.19.4": url: "https://github.com/randombit/botan/archive/2.19.4.tar.gz" sha256: "5754a6b5ddc3c74b0cb8671531feea69d03a4f3b5bdafa5f75e4c73a1242e5b1" + "2.19.5": + url: "https://github.com/randombit/botan/archive/2.19.5.tar.gz" + sha256: "8d4a3826787f9febbdc225172ad2d39d7d3960346c5721fe46cb27d480d7e1de" "3.0.0": url: "https://github.com/randombit/botan/archive/3.0.0.tar.gz" sha256: "8bafe2e965fa9ccf92ef5741165d735c9fbbe6376c373bbf5702495ad2dfb814" @@ -38,6 +41,12 @@ sources: "3.5.0": url: "https://github.com/randombit/botan/archive/3.5.0.tar.gz" sha256: "7d91d3349e6029e1a6929a50ab587f9fd4e29a9af3f3d698553451365564001f" + "3.6.0": + url: "https://github.com/randombit/botan/archive/3.6.0.tar.gz" + sha256: "950199a891fab62dca78780b36e12f89031c37350b2a16a2c35f2e423c041bad" + "3.6.1": + url: "https://github.com/randombit/botan/archive/3.6.1.tar.gz" + sha256: "a6c4e8dcb6c7f4b9b67e2c8b43069d65b548970ca17847e3b1e031d3ffdd874a" patches: "2.18.2": - patch_file: "patches/fix-amalgamation-build.patch" diff --git a/recipes/botan/config.yml b/recipes/botan/config.yml index 0d0ff4ded0853..2b65b22fb483e 100644 --- a/recipes/botan/config.yml +++ b/recipes/botan/config.yml @@ -11,6 +11,8 @@ versions: folder: all "2.19.4": folder: all + "2.19.5": + folder: all "3.0.0": folder: all "3.1.0": @@ -25,3 +27,7 @@ versions: folder: all "3.5.0": folder: all + "3.6.0": + folder: all + "3.6.1": + folder: all diff --git a/recipes/box2d/all/conandata.yml b/recipes/box2d/all/conandata.yml index 8a363f08c6689..28c5a38b19b94 100644 --- a/recipes/box2d/all/conandata.yml +++ b/recipes/box2d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.0": + url: "https://github.com/erincatto/box2d/archive/refs/tags/v3.0.0.tar.gz" + sha256: "64ad759006cd2377c99367f51fb36942b57f0e9ad690ed41548dd620e6f6c8b1" "2.4.2": url: "https://github.com/erincatto/box2d/archive/refs/tags/v2.4.2.tar.gz" sha256: "85b9b104d256c985e6e244b4227d447897fac429071cc114e5cc819dae848852" @@ -9,6 +12,13 @@ sources: url: "https://github.com/erincatto/Box2D/archive/v2.4.0.zip" sha256: "6aebbc54c93e367c97e382a57ba12546731dcde51526964c2ab97dec2050f8b9" patches: + "3.0.0": + - patch_file: "patches/3.0.0-0001-fix-cmake.patch" + patch_description: "fix installer" + patch_type: "conan" + - patch_file: "patches/3.0.0-0002-use-cci.patch" + patch_description: "use cci package" + patch_type: "conan" "2.4.0": - patch_file: "patches/0001-install-and-allow-shared.patch" patch_description: "add install, allow shared build" diff --git a/recipes/box2d/all/conanfile.py b/recipes/box2d/all/conanfile.py index cdd4fd6ee5dc9..085cd30b96269 100644 --- a/recipes/box2d/all/conanfile.py +++ b/recipes/box2d/all/conanfile.py @@ -1,7 +1,9 @@ import os from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, rm, rmdir, copy -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.microsoft import is_msvc from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -25,6 +27,16 @@ class Box2dConan(ConanFile): "fPIC": True } + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "10", + "clang": "7", + "gcc": "8", + "msvc": "193", + "Visual Studio": "17", + } + def export_sources(self): export_conandata_patches(self) @@ -35,19 +47,49 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + if Version(self.version) >= "3.0.0": + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + if Version(self.version) >= "3.0.0": + self.requires("simde/0.8.2") + + def validate(self): + if Version(self.version) < "3.0.0": + return + + 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 C17, which your compiler does not support." + ) + + def build_requirements(self): + if Version(self.version) >= "3.0.0": + self.tool_requires("cmake/[>=3.22 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" - tc.variables["BOX2D_BUILD_TESTBED"] = False - tc.variables["BOX2D_BUILD_UNIT_TESTS"] = False + tc.cache_variables["CMAKE_COMPILE_WARNING_AS_ERROR"] = False + if Version(self.version) < "3.0.0": + tc.variables["BOX2D_BUILD_TESTBED"] = False + tc.variables["BOX2D_BUILD_UNIT_TESTS"] = False + else: + tc.variables["BOX2D_SAMPLES"] = False + tc.variables["BOX2D_VALIDATE"] = False + tc.variables["BOX2D_UNIT_TESTS"] = False tc.generate() + if Version(self.version) >= "3.0.0": + deps = CMakeDeps(self) + deps.generate() def build(self): apply_conandata_patches(self) @@ -67,7 +109,9 @@ def package_info(self): self.cpp_info.names["cmake_find_package"] = "box2d" self.cpp_info.names["cmake_find_package_multi"] = "box2d" self.cpp_info.libs = ["box2d"] - if Version(self.version) >= "2.4.1" and self.options.shared: + if Version(self.version) >= "3.0.0" and is_msvc(self) and self.options.shared: + self.cpp_info.defines.append("BOX2D_DLL") + elif Version(self.version) >= "2.4.1" and self.options.shared: self.cpp_info.defines.append("B2_SHARED") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") diff --git a/recipes/box2d/all/patches/3.0.0-0001-fix-cmake.patch b/recipes/box2d/all/patches/3.0.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..156dff0943ae2 --- /dev/null +++ b/recipes/box2d/all/patches/3.0.0-0001-fix-cmake.patch @@ -0,0 +1,17 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5078d14..7ec17bc 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -180,4 +180,11 @@ endif() + source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" PREFIX "src" FILES ${BOX2D_SOURCE_FILES}) + source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}/../include" PREFIX "include" FILES ${BOX2D_API_FILES}) + +-install(TARGETS box2d) ++include(GNUInstallDirs) ++ ++install(TARGETS box2d ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) ++install(FILES ${BOX2D_API_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/box2d) diff --git a/recipes/box2d/all/patches/3.0.0-0002-use-cci.patch b/recipes/box2d/all/patches/3.0.0-0002-use-cci.patch new file mode 100644 index 0000000000000..b9d850f931bb8 --- /dev/null +++ b/recipes/box2d/all/patches/3.0.0-0002-use-cci.patch @@ -0,0 +1,76 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8c1390e..d6590d7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -53,7 +53,7 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) + set(CMAKE_VERBOSE_MAKEFILE ON) + + # The Box2D library uses simde https://github.com/simd-everywhere/simde +-add_subdirectory(extern/simde) ++# add_subdirectory(extern/simde) + add_subdirectory(src) + + # This hides samples, test, and doxygen from apps that use box2d via FetchContent +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5078d14..7ec17bc 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -78,7 +78,7 @@ add_library(box2d ${BOX2D_SOURCE_FILES} ${BOX2D_API_FILES}) + # turned this off to make Box2D easier to use without cmake + # include(GenerateExportHeader) + # generate_export_header(box2d) +- ++find_package(simde REQUIRED CONFIG) + target_include_directories(box2d + PUBLIC + $ +@@ -89,7 +89,7 @@ target_include_directories(box2d + ) + + # SIMDE is used to support SIMD math on multiple platforms +-target_link_libraries(box2d PRIVATE simde) ++target_link_libraries(box2d PRIVATE simde::simde) + + # Box2D uses C17 + set_target_properties(box2d PROPERTIES +diff --git a/src/contact_solver.c b/src/contact_solver.c +index b190501..c61e250 100644 +--- a/src/contact_solver.c ++++ b/src/contact_solver.c +@@ -9,8 +9,8 @@ + #include "core.h" + #include "solver_set.h" + #include "world.h" +-#include "x86/avx2.h" +-#include "x86/fma.h" ++#include "simde/x86/avx2.h" ++#include "simde/x86/fma.h" + + // Soft contact constraints with sub-stepping support + // http://mmacklin.com/smallsteps.pdf +diff --git a/src/contact_solver.h b/src/contact_solver.h +index e265e93..dcdc1fb 100644 +--- a/src/contact_solver.h ++++ b/src/contact_solver.h +@@ -4,7 +4,7 @@ + #pragma once + + #include "solver.h" +-#include "x86/avx.h" ++#include "simde/x86/avx.h" + + typedef struct b2ContactSim b2ContactSim; + +diff --git a/src/solver.c b/src/solver.c +index d83a471..a115417 100644 +--- a/src/solver.c ++++ b/src/solver.c +@@ -17,7 +17,7 @@ + #include "world.h" + + // for mm_pause +-#include "x86/sse2.h" ++#include "simde/x86/sse2.h" + + #include + #include diff --git a/recipes/box2d/all/test_package/CMakeLists.txt b/recipes/box2d/all/test_package/CMakeLists.txt index 985bafbcaa4c7..4648d77c658ec 100644 --- a/recipes/box2d/all/test_package/CMakeLists.txt +++ b/recipes/box2d/all/test_package/CMakeLists.txt @@ -1,8 +1,13 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.21) +project(test_package LANGUAGES C CXX) find_package(box2d REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) +if(box2d_VERSION VERSION_LESS "3.0.0") + add_executable(${PROJECT_NAME} test_package.cpp) + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +else() + add_executable(${PROJECT_NAME} test_package3.c) + target_compile_features(${PROJECT_NAME} PRIVATE c_std_17) +endif() target_link_libraries(${PROJECT_NAME} PRIVATE box2d::box2d) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/box2d/all/test_package/conanfile.py b/recipes/box2d/all/test_package/conanfile.py index d1ce1a2cbc477..3526395bd33d5 100644 --- a/recipes/box2d/all/test_package/conanfile.py +++ b/recipes/box2d/all/test_package/conanfile.py @@ -2,7 +2,7 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout - +from conan.tools.scm import Version class Box2DTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" @@ -15,6 +15,9 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def build_requirements(self): + self.tool_requires("cmake/[>=3.21 <4]") + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/box2d/all/test_package/test_package3.c b/recipes/box2d/all/test_package/test_package3.c new file mode 100644 index 0000000000000..abad79d1a39be --- /dev/null +++ b/recipes/box2d/all/test_package/test_package3.c @@ -0,0 +1,13 @@ +#include "box2d/box2d.h" + +int main() { + b2WorldDef worldDef = b2DefaultWorldDef(); + + worldDef.gravity = (b2Vec2){0.0f, -10.0f}; + b2WorldId worldId = b2CreateWorld(&worldDef); + + b2BodyDef groundBodyDef = b2DefaultBodyDef(); + groundBodyDef.position = (b2Vec2){0.0f, -10.0f}; + + return 0; +} diff --git a/recipes/box2d/config.yml b/recipes/box2d/config.yml index d0f0027e07e5c..476a7f5aa4a7c 100644 --- a/recipes/box2d/config.yml +++ b/recipes/box2d/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.0": + folder: "all" "2.4.2": folder: "all" "2.4.1": diff --git a/recipes/breakpad/all/test_v1_package/CMakeLists.txt b/recipes/breakpad/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/breakpad/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/breakpad/all/test_v1_package/conanfile.py b/recipes/breakpad/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/breakpad/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/brigand/all/test_v1_package/CMakeLists.txt b/recipes/brigand/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index c08f269548f6a..0000000000000 --- a/recipes/brigand/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(brigand REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE brigand::brigand) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/brigand/all/test_v1_package/conanfile.py b/recipes/brigand/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/brigand/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/brotli/all/test_v1_package/CMakeLists.txt b/recipes/brotli/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index c67747eec972a..0000000000000 --- a/recipes/brotli/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(Brotli REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE Brotli::Brotli) diff --git a/recipes/brotli/all/test_v1_package/conanfile.py b/recipes/brotli/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/brotli/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/brynet/all/test_v1_package/CMakeLists.txt b/recipes/brynet/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/brynet/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/brynet/all/test_v1_package/conanfile.py b/recipes/brynet/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/brynet/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt b/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py b/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py deleted file mode 100644 index 2fc6ad2a6a2ba..0000000000000 --- a/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import CMake, ConanFile, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run("{0}".format(bin_path), run_environment=True) diff --git a/recipes/btyacc/all/test_v1_package/CMakeLists.txt b/recipes/btyacc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index c23ed5cfe6d98..0000000000000 --- a/recipes/btyacc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_v1_package) - -enable_testing() - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/btyacc/all/test_v1_package/conanfile.py b/recipes/btyacc/all/test_v1_package/conanfile.py deleted file mode 100644 index 1b50aeffd40ff..0000000000000 --- a/recipes/btyacc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - if not tools.cross_building(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(f"ctest --output-on-failure -C {self.settings.build_type}", run_environment=True) diff --git a/recipes/bullet3/all/test_v1_package/CMakeLists.txt b/recipes/bullet3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/bullet3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/bullet3/all/test_v1_package/conanfile.py b/recipes/bullet3/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/bullet3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/butteraugli/all/test_v1_package/CMakeLists.txt b/recipes/butteraugli/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/butteraugli/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/butteraugli/all/test_v1_package/conanfile.py b/recipes/butteraugli/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/butteraugli/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bx/all/conanfile.py b/recipes/bx/all/conanfile.py index c1e1bfa91952f..cc80401d96abd 100644 --- a/recipes/bx/all/conanfile.py +++ b/recipes/bx/all/conanfile.py @@ -105,7 +105,7 @@ def build(self): if is_msvc(self): # Conan to Genie translation maps vs_ver_to_genie = {"17": "2022", "16": "2019", "15": "2017", - "193": "2022", "192": "2019", "191": "2017"} + "194": "2022", "193": "2022", "192": "2019", "191": "2017"} # Use genie directly, then msbuild on specific projects based on requirements genie_VS = f"vs{vs_ver_to_genie[str(self.settings.compiler.version)]}" diff --git a/recipes/bx/all/test_v1_package/CMakeLists.txt b/recipes/bx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 3a070c42e7447..0000000000000 --- a/recipes/bx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(bx REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} test_package.cpp) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF) -target_link_libraries(${PROJECT_NAME} bx::bx) diff --git a/recipes/bx/all/test_v1_package/conanfile.py b/recipes/bx/all/test_v1_package/conanfile.py deleted file mode 100644 index d2959af78862a..0000000000000 --- a/recipes/bx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class BxTestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bx/all/test_v1_package/test_package.cpp b/recipes/bx/all/test_v1_package/test_package.cpp deleted file mode 100644 index e62d29351461a..0000000000000 --- a/recipes/bx/all/test_v1_package/test_package.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include - -int main() { - float tLerp = bx::lerp(0.0f, 10.0f, 0.5f); - BX_TRACE("Lerped 0.0f to 10.0f at 0.5f, result %f", tLerp); - BX_ASSERT(bx::isEqual(tLerp, 5.0f, 0.1f), "isEqual failed"); - return 0; -} diff --git a/recipes/byte-lite/all/conanfile.py b/recipes/byte-lite/all/conanfile.py index 67d695dbd0333..b53cb06ab6fdb 100644 --- a/recipes/byte-lite/all/conanfile.py +++ b/recipes/byte-lite/all/conanfile.py @@ -14,18 +14,18 @@ class ByteLiteConan(ConanFile): C++98, C++11 and later") topics = ("cpp11", "cpp14", "cpp17", "byte", "byte-implementations") license = "BSL-1.0" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -38,19 +38,4 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "byte-lite") self.cpp_info.set_property("cmake_target_name", "nonstd::byte-lite") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.filenames["cmake_find_package"] = "byte-lite" - self.cpp_info.filenames["cmake_find_package_multi"] = "byte-lite" - self.cpp_info.names["cmake_find_package"] = "nonstd" - self.cpp_info.names["cmake_find_package_multi"] = "nonstd" - self.cpp_info.components["bytelite"].names["cmake_find_package"] = "byte-lite" - self.cpp_info.components["bytelite"].names["cmake_find_package_multi"] = "byte-lite" - self.cpp_info.components["bytelite"].set_property("cmake_target_name", "nonstd::byte-lite") - self.cpp_info.components["bytelite"].bindirs = [] - self.cpp_info.components["bytelite"].frameworkdirs = [] - self.cpp_info.components["bytelite"].libdirs = [] - self.cpp_info.components["bytelite"].resdirs = [] diff --git a/recipes/byte-lite/all/test_package/test_package.cpp b/recipes/byte-lite/all/test_package/test_package.cpp index bf423f8963b2a..62a18e7db80fc 100644 --- a/recipes/byte-lite/all/test_package/test_package.cpp +++ b/recipes/byte-lite/all/test_package/test_package.cpp @@ -1,14 +1,8 @@ #include "nonstd/byte.hpp" -#include - -using namespace nonstd; +#include int main() { - byte b1 = to_byte( 0x5a ); // to_byte() is non-standard, needed for pre-C++17 - byte b2 = to_byte( 0xa5 ); - - byte r1 = b1 ^ b2; if( 0xff != to_integer( r1 ) ) throw std::exception(); // not (yet) standard, needs C++11 - byte r2 = b1 ^ b2; if( 0xff != to_integer( r2 ) ) throw std::exception(); + std::cout << "Byte lite version: " << byte_lite_VERSION << ", Test package successful\n"; } diff --git a/recipes/byte-lite/all/test_v1_package/CMakeLists.txt b/recipes/byte-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 65ad56138429f..0000000000000 --- a/recipes/byte-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(byte-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::byte-lite) diff --git a/recipes/byte-lite/all/test_v1_package/conanfile.py b/recipes/byte-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/byte-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bzip2/all/test_v1_package/CMakeLists.txt b/recipes/bzip2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/bzip2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/bzip2/all/test_v1_package/conanfile.py b/recipes/bzip2/all/test_v1_package/conanfile.py deleted file mode 100644 index 19e6a0c06e3d8..0000000000000 --- a/recipes/bzip2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/bzip3/all/test_v1_package/CMakeLists.txt b/recipes/bzip3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/bzip3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/bzip3/all/test_v1_package/conanfile.py b/recipes/bzip3/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/bzip3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml index a67dccf1e1ee5..09ee1b4f0a111 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.34.3": + url: "https://github.com/c-ares/c-ares/releases/download/v1.34.3/c-ares-1.34.3.tar.gz" + sha256: "26e1f7771da23e42a18fdf1e58912a396629e53a2ac71b130af93bbcfb90adbe" + "1.34.1": + url: "https://github.com/c-ares/c-ares/releases/download/v1.34.1/c-ares-1.34.1.tar.gz" + sha256: "7e846f1742ab5998aced36d170408557de5292b92ec404fb0f7422f946d60103" "1.33.1": url: "https://github.com/c-ares/c-ares/releases/download/v1.33.1/c-ares-1.33.1.tar.gz" sha256: "06869824094745872fa26efd4c48e622b9bd82a89ef0ce693dc682a23604f415" @@ -17,26 +23,10 @@ sources: "1.31.0": url: "https://github.com/c-ares/c-ares/releases/download/v1.31.0/c-ares-1.31.0.tar.gz" sha256: "0167a33dba96ca8de29f3f598b1e6cabe531799269fd63d0153aa0e6f5efeabd" - "1.30.0": - url: "https://github.com/c-ares/c-ares/releases/download/v1.30.0/c-ares-1.30.0.tar.gz" - sha256: "4fea312112021bcef081203b1ea020109842feb58cd8a36a3d3f7e0d8bc1138c" - "1.28.1": - url: "https://github.com/c-ares/c-ares/releases/download/cares-1_28_1/c-ares-1.28.1.tar.gz" - sha256: "675a69fc54ddbf42e6830bc671eeb6cd89eeca43828eb413243fd2c0a760809d" - "1.27.0": - url: "https://github.com/c-ares/c-ares/releases/download/cares-1_27_0/c-ares-1.27.0.tar.gz" - sha256: "0a72be66959955c43e2af2fbd03418e82a2bd5464604ec9a62147e37aceb420b" - "1.26.0": - url: "https://github.com/c-ares/c-ares/releases/download/cares-1_26_0/c-ares-1.26.0.tar.gz" - sha256: "bed58c4f02b009080ebda6c2467ba469722ac6aebbf4497dc44a83d8c6194e50" # keep 1.25.0 for libnghttp2, trantor, libcoro "1.25.0": url: "https://github.com/c-ares/c-ares/releases/download/cares-1_25_0/c-ares-1.25.0.tar.gz" sha256: "71832b93a48f5ff579c505f4869120c14e57b783275367207f1a98314aa724e5" - # keep 1.19.1 for grpc - "1.19.1": - url: "https://github.com/c-ares/c-ares/releases/download/cares-1_19_1/c-ares-1.19.1.tar.gz" - sha256: "321700399b72ed0e037d0074c629e7741f6b2ec2dda92956abe3e9671d3e268e" patches: "1.33.0": - patch_file: "patches/1.33.0-0001-fix-tcp-fastopen.patch" diff --git a/recipes/c-ares/all/test_v1_package/CMakeLists.txt b/recipes/c-ares/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/c-ares/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/c-ares/all/test_v1_package/conanfile.py b/recipes/c-ares/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/c-ares/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index 16fb0dfe22209..18797eb3802c4 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,8 @@ versions: + "1.34.3": + folder: all + "1.34.1": + folder: all "1.33.1": folder: all "1.33.0": @@ -11,15 +15,5 @@ versions: folder: all "1.31.0": folder: all - "1.30.0": - folder: all - "1.28.1": - folder: all - "1.27.0": - folder: all - "1.26.0": - folder: all "1.25.0": folder: all - "1.19.1": - folder: all diff --git a/recipes/c-blosc/all/test_v1_package/CMakeLists.txt b/recipes/c-blosc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de..0000000000000 --- a/recipes/c-blosc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/c-blosc/all/test_v1_package/conanfile.py b/recipes/c-blosc/all/test_v1_package/conanfile.py deleted file mode 100644 index 72910d4a2a0b5..0000000000000 --- a/recipes/c-blosc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conan import ConanFile, tools -from conans import CMake -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.build.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/c-blosc2/all/conanfile.py b/recipes/c-blosc2/all/conanfile.py index f3c1a5b0b470f..658605c2a4d22 100644 --- a/recipes/c-blosc2/all/conanfile.py +++ b/recipes/c-blosc2/all/conanfile.py @@ -68,7 +68,7 @@ def requirements(self): if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_zlib in ["zlib-ng", "zlib-ng-compat"]: - self.requires("zlib-ng/2.1.6") + self.requires("zlib-ng/2.2.0") elif self.options.with_zlib == "zlib": self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: diff --git a/recipes/c-blosc2/all/test_v1_package/CMakeLists.txt b/recipes/c-blosc2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2a9b48732268c..0000000000000 --- a/recipes/c-blosc2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.1) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/c-blosc2/all/test_v1_package/conanfile.py b/recipes/c-blosc2/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/c-blosc2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/c-client/all/test_v1_package/CMakeLists.txt b/recipes/c-client/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/c-client/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/c-client/all/test_v1_package/conanfile.py b/recipes/c-client/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/c-client/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/c-dbg-macro/all/test_v1_package/CMakeLists.txt b/recipes/c-dbg-macro/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 4c9e7ffdd2a28..0000000000000 --- a/recipes/c-dbg-macro/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_executable(test_package ../test_package/test_package.c) diff --git a/recipes/c-dbg-macro/all/test_v1_package/conanfile.py b/recipes/c-dbg-macro/all/test_v1_package/conanfile.py deleted file mode 100644 index c795b378cca50..0000000000000 --- a/recipes/c-dbg-macro/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/c4core/all/test_v1_package/CMakeLists.txt b/recipes/c4core/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index bc541ea90b512..0000000000000 --- a/recipes/c4core/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/c4core/all/test_v1_package/conanfile.py b/recipes/c4core/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/c4core/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/caches/all/conandata.yml b/recipes/caches/all/conandata.yml new file mode 100644 index 0000000000000..75c0527673146 --- /dev/null +++ b/recipes/caches/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.4.0": + url: "https://github.com/JoelLefkowitz/caches/archive/refs/tags/v0.4.0.tar.gz" + sha256: "51108728e9ec649de752db921d9aca64d56ecd1aba762d4e47e1a6c0c9d0c859" diff --git a/recipes/caches/all/conanfile.py b/recipes/caches/all/conanfile.py new file mode 100644 index 0000000000000..89d1a08b7b07a --- /dev/null +++ b/recipes/caches/all/conanfile.py @@ -0,0 +1,55 @@ +import os + +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=2.0.0" + + +class CachesConan(ConanFile): + name = "caches" + description = "Extensible cache templates." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/JoelLefkowitz/caches" + topics = ( + "cache", + "fifo", + "lifo", + "lru", + "header-only", + ) + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + pass + + def package(self): + copy( + self, + "LICENSE.md", + self.source_folder, + os.path.join(self.package_folder, "licenses"), + ) + copy( + self, + "*.[ht]pp", + os.path.join(self.source_folder, "src"), + os.path.join(self.package_folder, "include", "caches"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/caches/all/test_package/CMakeLists.txt b/recipes/caches/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f754067c1c1d0 --- /dev/null +++ b/recipes/caches/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(caches REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE caches::caches) diff --git a/recipes/caches/all/test_package/conanfile.py b/recipes/caches/all/test_package/conanfile.py new file mode 100644 index 0000000000000..25a3258042e56 --- /dev/null +++ b/recipes/caches/all/test_package/conanfile.py @@ -0,0 +1,34 @@ +import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake + + +class TestPackageConan(ConanFile): + settings = ( + "os", + "arch", + "compiler", + "build_type", + ) + + generators = ( + "CMakeDeps", + "CMakeToolchain", + ) + + def layout(self): + cmake_layout(self) + + def build_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") diff --git a/recipes/caches/all/test_package/test_package.cpp b/recipes/caches/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..e65be0ddea235 --- /dev/null +++ b/recipes/caches/all/test_package/test_package.cpp @@ -0,0 +1,16 @@ +#include +#include +#include +#include +#include + +struct Resource { + size_t id; +}; + +int main() { + caches::LIFOCache(); + caches::FIFOCache(); + caches::LRUCache(); + caches::StoreCache(); +} diff --git a/recipes/caches/config.yml b/recipes/caches/config.yml new file mode 100644 index 0000000000000..af29e78bd9b25 --- /dev/null +++ b/recipes/caches/config.yml @@ -0,0 +1,3 @@ +versions: + "0.4.0": + folder: all diff --git a/recipes/caf/all/conandata.yml b/recipes/caf/all/conandata.yml index ae0696f7a640b..bc37447b0b44e 100644 --- a/recipes/caf/all/conandata.yml +++ b/recipes/caf/all/conandata.yml @@ -1,46 +1,19 @@ sources: + "1.0.2": + url: "https://github.com/actor-framework/actor-framework/archive/1.0.2.tar.gz" + sha256: "ef4dd00ca7c59cd61dc336b6a8efbd6150ca85c404d213ecb61f6bcee4094ffc" "1.0.0": url: "https://github.com/actor-framework/actor-framework/archive/1.0.0.tar.gz" sha256: "602018239d23a1805d35ebda704fd5c969a0693fc513fcf7459063b628459e5b" "0.19.4": url: "https://github.com/actor-framework/actor-framework/archive/0.19.4.tar.gz" sha256: "114d43e3a7a2305ca1d2106cd0daeff471564f62b90db1e453ba9eb5c47c02f6" - "0.19.3": - url: "https://github.com/actor-framework/actor-framework/archive/0.19.3.tar.gz" - sha256: "97ca81bda2e8451505dbaf2aafddc99ffcee7af3db51ae9cbc5c11a3c46c921c" - "0.19.2": - url: "https://github.com/actor-framework/actor-framework/archive/0.19.2.tar.gz" - sha256: "aa3fcc494424e0e20b177125458a6a6ed39c751a3d3d5193054e88bdf8a146d2" "0.18.6": url: "https://github.com/actor-framework/actor-framework/archive/0.18.6.tar.gz" sha256: "c2ead63a0322d992fea8813a7f7d15b4d16cbb8bbe026722f2616a79109b91cc" - "0.18.5": - url: "https://github.com/actor-framework/actor-framework/archive/0.18.5.tar.gz" - sha256: "4c96f896f000218bb65890b4d7175451834add73750d5f33b0c7fe82b7d5a679" - "0.18.2": - url: "https://github.com/actor-framework/actor-framework/archive/0.18.2.tar.gz" - sha256: "03837dbef73a13c3e4cac76c009d018f48d1d97b182277230f204984c9542ccc" - "0.18.0": - url: "https://github.com/actor-framework/actor-framework/archive/0.18.0.tar.gz" - sha256: "df765fa78861e67d44e2587c0ac0c1c662d8c93fe5ffc8757f552fc7ac15941f" patches: "0.18.6": - patch_file: "patches/0001-fix-gcc-13-include.patch" patch_description: "add missing include to support gcc 13" patch_type: "bugfix" patch_source: "https://github.com/actor-framework/actor-framework/commit/c2ee99c" - "0.18.5": - - patch_file: "patches/0001-fix-gcc-13-include.patch" - patch_description: "add missing include to support gcc 13" - patch_type: "bugfix" - patch_source: "https://github.com/actor-framework/actor-framework/commit/c2ee99c" - "0.18.2": - - patch_file: "patches/0001-fix-gcc-13-include.patch" - patch_description: "add missing include to support gcc 13" - patch_type: "bugfix" - patch_source: "https://github.com/actor-framework/actor-framework/commit/c2ee99c" - "0.18.0": - - patch_file: "patches/0001-fix-gcc-13-include.patch" - patch_description: "add missing include to support gcc 13" - patch_type: "bugfix" - patch_source: "https://github.com/actor-framework/actor-framework/commit/c2ee99c" diff --git a/recipes/caf/all/conanfile.py b/recipes/caf/all/conanfile.py index a477d38bc4ce6..a3b2de97d78cc 100644 --- a/recipes/caf/all/conanfile.py +++ b/recipes/caf/all/conanfile.py @@ -1,12 +1,13 @@ +import os + from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import check_min_cppstd, valid_min_cppstd +from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir from conan.tools.scm import Version -import os -required_conan_version = ">=1.54.0" +required_conan_version = ">=2.0" class CAFConan(ConanFile): @@ -31,21 +32,6 @@ class CAFConan(ConanFile): "with_openssl": True, } - @property - def _min_cppstd(self): - return "17" - - @property - def _minimum_compilers_version(self): - return { - "Visual Studio": "16", - "msvc": "192", - "gcc": "7" if Version(self.version) < "1.0.0" else "8", - "clang": "6", # Should be 5 but clang 5 has a bug that breaks compiling CAF - # see https://github.com/actor-framework/actor-framework/issues/1226 - "apple-clang": "10", - } - def export_sources(self): export_conandata_patches(self) @@ -65,15 +51,11 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._min_cppstd) - - minimum_version = self._minimum_compilers_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." - ) + check_min_cppstd(self, "17") + if self.settings.compiler == "clang" and Version(self.settings.compiler.version) < "6": + raise ConanInvalidConfiguration("Link errors with clang 5. " + "See https://github.com/actor-framework/actor-framework/issues/1226") if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) > "10.0" and \ self.settings.arch == "x86": raise ConanInvalidConfiguration("clang >= 11.0 does not support x86") @@ -87,15 +69,14 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - if not valid_min_cppstd(self, self._min_cppstd): - tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd - else: - tc.variables["CAF_CXX_VERSION"] = str(self.settings.compiler.cppstd).replace("gnu", "") + cppstd = str(self.settings.compiler.cppstd).replace("gnu", "") + if Version(self.version) >= "1.0.0": + tc.variables["CAF_CXX_VERSION"] = cppstd tc.variables["CAF_ENABLE_OPENSSL_MODULE"] = self.options.with_openssl tc.variables["CAF_ENABLE_EXAMPLES"] = False tc.variables["CAF_ENABLE_TOOLS"] = False tc.variables["CAF_ENABLE_TESTING"] = False - tc.variables["CAF_LOG_LEVEL"] = self.options.log_level.value.upper() + tc.variables["CAF_LOG_LEVEL"] = str(self.options.log_level).upper() tc.generate() deps = CMakeDeps(self) deps.generate() @@ -132,14 +113,3 @@ def package_info(self): self.cpp_info.components["caf_openssl"].set_property("cmake_target_name", "CAF::openssl") self.cpp_info.components["caf_openssl"].libs = ["caf_openssl"] self.cpp_info.components["caf_openssl"].requires = ["caf_io", "openssl::openssl"] - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "CAF" - self.cpp_info.names["cmake_find_package_multi"] = "CAF" - self.cpp_info.components["caf_core"].names["cmake_find_package"] = "core" - self.cpp_info.components["caf_core"].names["cmake_find_package_multi"] = "core" - self.cpp_info.components["caf_io"].names["cmake_find_package"] = "io" - self.cpp_info.components["caf_io"].names["cmake_find_package_multi"] = "io" - if self.options.with_openssl: - self.cpp_info.components["caf_openssl"].names["cmake_find_package"] = "openssl" - self.cpp_info.components["caf_openssl"].names["cmake_find_package_multi"] = "openssl" diff --git a/recipes/caf/all/test_v1_package/CMakeLists.txt b/recipes/caf/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/caf/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/caf/all/test_v1_package/conanfile.py b/recipes/caf/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/caf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/caf/config.yml b/recipes/caf/config.yml index a133d776e2a27..c4e014dc65945 100644 --- a/recipes/caf/config.yml +++ b/recipes/caf/config.yml @@ -1,17 +1,9 @@ versions: + "1.0.2": + folder: all "1.0.0": folder: all "0.19.4": folder: all - "0.19.3": - folder: all - "0.19.2": - folder: all "0.18.6": folder: all - "0.18.5": - folder: all - "0.18.2": - folder: all - "0.18.0": - folder: all diff --git a/recipes/cairo/all/test_v1_package/CMakeLists.txt b/recipes/cairo/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/cairo/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cairo/all/test_v1_package/conanfile.py b/recipes/cairo/all/test_v1_package/conanfile.py deleted file mode 100644 index 24f9e474d6cd2..0000000000000 --- a/recipes/cairo/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - diff --git a/recipes/cairomm/all/test_v1_package/CMakeLists.txt b/recipes/cairomm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/cairomm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cairomm/all/test_v1_package/conanfile.py b/recipes/cairomm/all/test_v1_package/conanfile.py deleted file mode 100644 index a691174f8ed16..0000000000000 --- a/recipes/cairomm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - diff --git a/recipes/cajun-jsonapi/all/test_v1_package/CMakeLists.txt b/recipes/cajun-jsonapi/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7ea0378c83fe1..0000000000000 --- a/recipes/cajun-jsonapi/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cajun-jsonapi/all/test_v1_package/conanfile.py b/recipes/cajun-jsonapi/all/test_v1_package/conanfile.py deleted file mode 100644 index e065617c053bc..0000000000000 --- a/recipes/cajun-jsonapi/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools, RunEnvironment -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/calceph/all/conandata.yml b/recipes/calceph/all/conandata.yml index f4d850c349cf0..ccee59129b991 100644 --- a/recipes/calceph/all/conandata.yml +++ b/recipes/calceph/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.5": + url: "https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/calceph-3.5.5.tar.gz" + sha256: "f7acf529a9267793126d7fdbdf79d4d26ae33274c99d09a9fc9d6191a3c72aca" "3.5.1": url: "https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/calceph-3.5.1.tar.gz" sha256: "33cc0be1b8ffb647aff9d3ac1cf025e460451e00144050d3bbc4f13bceb11c1d" diff --git a/recipes/calceph/all/conanfile.py b/recipes/calceph/all/conanfile.py index fda6184d24ab9..cd9be15961cb0 100644 --- a/recipes/calceph/all/conanfile.py +++ b/recipes/calceph/all/conanfile.py @@ -1,5 +1,4 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name from conan.tools.env import VirtualBuildEnv from conan.tools.files import chdir, copy, get, replace_in_file, rm, rmdir @@ -15,11 +14,12 @@ class CalcephConan(ConanFile): name = "calceph" description = "C Library designed to access the binary planetary ephemeris " \ "files, such INPOPxx, JPL DExxx and SPICE ephemeris files." - license = ["CECILL-C", "CECILL-B", "CECILL-2.1"] + license = ("CECILL-C", "CECILL-B", "CECILL-2.1") topics = ("ephemeris", "astronomy", "space", "planet") homepage = "https://www.imcce.fr/inpop/calceph" url = "https://github.com/conan-io/conan-center-index" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -43,7 +43,10 @@ def config_options(self): del self.options.threadsafe def configure(self): - if self.options.shared: + if self.settings.os == "Windows": + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") @@ -51,10 +54,6 @@ def configure(self): def layout(self): basic_layout(self, src_folder="src") - def validate(self): - if is_msvc(self) and self.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} doesn't support shared builds with Visual Studio yet") - def build_requirements(self): if self._settings_build.os == "Windows" and not is_msvc(self): self.win_bash = True diff --git a/recipes/calceph/all/test_v1_package/CMakeLists.txt b/recipes/calceph/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/calceph/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/calceph/all/test_v1_package/conanfile.py b/recipes/calceph/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/calceph/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/calceph/config.yml b/recipes/calceph/config.yml index 8843656f63225..6a2ba2d0468ee 100644 --- a/recipes/calceph/config.yml +++ b/recipes/calceph/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.5": + folder: all "3.5.1": folder: all "3.5.0": diff --git a/recipes/canary/all/test_v1_package/CMakeLists.txt b/recipes/canary/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 81f2b230ac92c..0000000000000 --- a/recipes/canary/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package CXX) - -find_package(canary REQUIRED) - -add_executable(test_package test_package.cpp) -target_link_libraries(test_package PUBLIC canary::canary) -target_compile_features(test_package PRIVATE cxx_std_11) diff --git a/recipes/canary/all/test_v1_package/conanfile.py b/recipes/canary/all/test_v1_package/conanfile.py deleted file mode 100644 index f8bae5c00ce0a..0000000000000 --- a/recipes/canary/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import CMake, ConanFile, tools - - -class TestPackage(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join(".", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/canary/all/test_v1_package/test_package.cpp b/recipes/canary/all/test_v1_package/test_package.cpp deleted file mode 100644 index ccec8d0783be7..0000000000000 --- a/recipes/canary/all/test_v1_package/test_package.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include - -int main() -{ - try { - auto index = canary::get_interface_index("vcan0"); - std::cout << "vcan0 interface index: " << index << "\n"; - } - catch (std::exception& exc) { - std::cout << "unable to find vcan0: " << exc.what() << "\n"; - } - - return 0; -} diff --git a/recipes/canvas_ity/all/test_v1_package/CMakeLists.txt b/recipes/canvas_ity/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/canvas_ity/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/canvas_ity/all/test_v1_package/conanfile.py b/recipes/canvas_ity/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/canvas_ity/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cargs/all/test_v1_package/CMakeLists.txt b/recipes/cargs/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/cargs/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cargs/all/test_v1_package/conanfile.py b/recipes/cargs/all/test_v1_package/conanfile.py deleted file mode 100644 index 6c9d5dba712c7..0000000000000 --- a/recipes/cargs/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cassandra-cpp-driver/all/test_v1_package/CMakeLists.txt b/recipes/cassandra-cpp-driver/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/cassandra-cpp-driver/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cassandra-cpp-driver/all/test_v1_package/conanfile.py b/recipes/cassandra-cpp-driver/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/cassandra-cpp-driver/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/catch2/2.x.x/test_v1_package/CMakeLists.txt b/recipes/catch2/2.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index c23ed5cfe6d98..0000000000000 --- a/recipes/catch2/2.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_v1_package) - -enable_testing() - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/catch2/2.x.x/test_v1_package/conanfile.py b/recipes/catch2/2.x.x/test_v1_package/conanfile.py deleted file mode 100644 index 2ee47800e04e6..0000000000000 --- a/recipes/catch2/2.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["WITH_MAIN"] = self.options["catch2"].with_main - cmake.definitions["WITH_BENCHMARK"] = self.options["catch2"].with_main and self.options["catch2"].with_benchmark - cmake.definitions["WITH_PREFIX"] = self.options["catch2"].with_prefix - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(f"ctest --output-on-failure -C {self.settings.build_type} -j {tools.cpu_count()}", run_environment=True) diff --git a/recipes/catch2/3.x.x/test_v1_package/CMakeLists.txt b/recipes/catch2/3.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/catch2/3.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/catch2/3.x.x/test_v1_package/conanfile.py b/recipes/catch2/3.x.x/test_v1_package/conanfile.py deleted file mode 100644 index b62a348e1044b..0000000000000 --- a/recipes/catch2/3.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["WITH_PREFIX"] = self.options["catch2"].with_prefix - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "standalone"), run_environment=True) - self.run(os.path.join("bin", "benchmark"), run_environment=True) diff --git a/recipes/ccache/all/conandata.yml b/recipes/ccache/all/conandata.yml index ff430e4765316..9dd38ae4846da 100644 --- a/recipes/ccache/all/conandata.yml +++ b/recipes/ccache/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.10.2": + url: "https://github.com/ccache/ccache/releases/download/v4.10.2/ccache-4.10.2.tar.gz" + sha256: "108100960bb7e64573ea925af2ee7611701241abb36ce0aae3354528403a7d87" "4.10": url: "https://github.com/ccache/ccache/releases/download/v4.10/ccache-4.10.tar.gz" sha256: "16972ba62c8499045edc3ae7d7b8a0b419a961567f5ff0f01bf5a44194204775" diff --git a/recipes/ccache/all/test_v1_package/conanfile.py b/recipes/ccache/all/test_v1_package/conanfile.py deleted file mode 100644 index e357214905abd..0000000000000 --- a/recipes/ccache/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,9 +0,0 @@ -from conans import ConanFile, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not tools.cross_building(self): - self.run("ccache --version", run_environment=True) diff --git a/recipes/ccache/config.yml b/recipes/ccache/config.yml index 5a505084d4b8c..44eb509af69d9 100644 --- a/recipes/ccache/config.yml +++ b/recipes/ccache/config.yml @@ -1,4 +1,6 @@ versions: + "4.10.2": + folder: all "4.10": folder: all "4.9.1": diff --git a/recipes/cccl/all/test_v1_package/conanfile.py b/recipes/cccl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38669b537fb21..0000000000000 --- a/recipes/cccl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,35 +0,0 @@ -from conans import ConanFile, tools -from conan.tools.microsoft import is_msvc -import os - - -class CcclTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - - def build(self): - environment = {} - if is_msvc(self): - environment.update(tools.vcvars_dict(self.settings)) - #for k in environment.keys(): - #self.output.highlight(k) - #self.output.highlight(environment[k]) - with tools.environment_append(environment): - cxxTest = tools.get_env("CXX") - #cxxB = self.buildenv_info.vars["CXX"] - self.output.highlight(f"tools.get_env(\"CXX\") = {cxxTest}") - #self.output.highlight(f"self.buildenv_info.vars[\"CXX\"] = {cxxB}") - cxx = "sh cccl " - self.run("{cxx} {src} -o example".format( - cxx=cxx, src=os.path.join(self.source_folder, "example.cpp")), win_bash=self.settings.os is "Windows", run_environment=True) - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join(self.build_folder, "example")) diff --git a/recipes/cccl/all/test_v1_package/example.cpp b/recipes/cccl/all/test_v1_package/example.cpp deleted file mode 100644 index ef5068e37c8cc..0000000000000 --- a/recipes/cccl/all/test_v1_package/example.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include - -int main() { - std::cout << "Hello world\n"; - return 0; -} diff --git a/recipes/ccfits/all/test_v1_package/CMakeLists.txt b/recipes/ccfits/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/ccfits/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/ccfits/all/test_v1_package/conanfile.py b/recipes/ccfits/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/ccfits/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cctag/all/test_v1_package/CMakeLists.txt b/recipes/cctag/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cctag/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cctag/all/test_v1_package/conanfile.py b/recipes/cctag/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cctag/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cctz/all/test_v1_package/CMakeLists.txt b/recipes/cctz/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cctz/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cctz/all/test_v1_package/conanfile.py b/recipes/cctz/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cctz/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cd3-boost-unit-definitions/all/test_v1_package/CMakeLists.txt b/recipes/cd3-boost-unit-definitions/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b5b37b01b534c..0000000000000 --- a/recipes/cd3-boost-unit-definitions/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) - diff --git a/recipes/cd3-boost-unit-definitions/all/test_v1_package/conanfile.py b/recipes/cd3-boost-unit-definitions/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/cd3-boost-unit-definitions/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/celero/all/test_v1_package/CMakeLists.txt b/recipes/celero/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/celero/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/celero/all/test_v1_package/conanfile.py b/recipes/celero/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/celero/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cereal/all/test_v1_package/CMakeLists.txt b/recipes/cereal/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 3bc0d9666049d..0000000000000 --- a/recipes/cereal/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(cereal REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE cereal::cereal) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/cereal/all/test_v1_package/conanfile.py b/recipes/cereal/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cereal/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/certify/all/conanfile.py b/recipes/certify/all/conanfile.py index 89408b2501d3b..e89aca37b04b6 100644 --- a/recipes/certify/all/conanfile.py +++ b/recipes/certify/all/conanfile.py @@ -38,7 +38,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.83.0") + self.requires("boost/[>=1.83.0 <2]") self.requires("openssl/[>=1.1 <4]") def package_id(self): @@ -84,8 +84,15 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "certify") self.cpp_info.set_property("cmake_target_name", "certify::core") - - self.cpp_info.components["_certify"].requires = ["boost::boost", "openssl::openssl"] + component_requirements = [ + "boost::headers", + "boost::filesystem", + "boost::date_time", + "openssl::openssl" + ] + + self.cpp_info.requires = component_requirements + self.cpp_info.components["_certify"].requires = component_requirements self.cpp_info.components["_certify"].names["cmake_find_package"] = "core" self.cpp_info.components["_certify"].names["cmake_find_package_multi"] = "core" diff --git a/recipes/cfgfile/all/test_v1_package/CMakeLists.txt b/recipes/cfgfile/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8af52c8273805..0000000000000 --- a/recipes/cfgfile/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cfgfile/all/test_v1_package/conanfile.py b/recipes/cfgfile/all/test_v1_package/conanfile.py deleted file mode 100644 index 54b7d470785a9..0000000000000 --- a/recipes/cfgfile/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,23 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - if not tools.cross_building(self, skip_x64_x86=True): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def build_requirements(self): - if hasattr(self, "settings_build"): - self.build_requires(str(self.requires["cfgfile"])) - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - cfg_path = os.path.join(self.source_folder, os.pardir, "test_package", "test.cfg") - self.run("{} \"{}\"".format(bin_path, cfg_path), run_environment=True) diff --git a/recipes/cfitsio/all/conandata.yml b/recipes/cfitsio/all/conandata.yml index 63cc622faf8bc..136d6931652c7 100644 --- a/recipes/cfitsio/all/conandata.yml +++ b/recipes/cfitsio/all/conandata.yml @@ -1,25 +1,25 @@ sources: "4.4.0": url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.4.0.tar.gz" - sha256: "c42bd609151c0b0d7c4f3578d425ae7aaa9afa4828cab35c0accea588e290c29" + sha256: "95900cf95ae760839e7cb9678a7b2fad0858d6ac12234f934bd1cb6bfc246ba9" "4.3.1": url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.3.1.tar.gz" - sha256: "2332b965d327a15c103a7d31d6d1afaf775d00e9785dd25332ae76b9725351e4" + sha256: "47a7c8ee05687be1e1d8eeeb94fb88f060fbf3cd8a4df52ccb88d5eb0f5062be" "4.3.0": url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.3.0.tar.gz" - sha256: "734ab0198714fe43eab94a67d6987085bde5573e6babde4d05799a8d04ebb04c" + sha256: "fdadc01d09cf9f54253802c5ec87eb10de51ce4130411415ae88c30940621b8b" "4.2.0": url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.2.0.tar.gz" - sha256: "ef9881973ecb9fe55732a4c1bb5ca96e63b624728f6319556939e0fe25f495e8" + sha256: "eba53d1b3f6e345632bb09a7b752ec7ced3d63ec5153a848380f3880c5d61889" "4.1.0": url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.1.0.tar.gz" - sha256: "748994dd1c819b88567e3539ea1f0ec2dd39fc0ed2884c033afa3da66efb5f4e" + sha256: "b367c695d2831958e7166921c3b356d5dfa51b1ecee505b97416ba39d1b6c17a" "4.0.0": url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.0.0.tar.gz" - sha256: "88735b69bb017ee92823b9e7ee14efeae2e57fb6c00503ed3aa2820e850a7b5e" + sha256: "b2a8efba0b9f86d3e1bd619f662a476ec18112b4f27cc441cc680a4e3777425e" "3.490": url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-3.49.tar.gz" - sha256: "8cc4beddd0ff389fb81bde9c181e0e3c419c15ec8a66df201ff4619a93715558" + sha256: "5b65a20d5c53494ec8f638267fca4a629836b7ac8dd0ef0266834eab270ed4b3" patches: "4.4.0": - patch_file: "patches/windows-use-strtok_s.patch" diff --git a/recipes/cfitsio/all/test_v1_package/CMakeLists.txt b/recipes/cfitsio/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cfitsio/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cfitsio/all/test_v1_package/conanfile.py b/recipes/cfitsio/all/test_v1_package/conanfile.py deleted file mode 100644 index 6fb307c712d29..0000000000000 --- a/recipes/cfitsio/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - fits_name = os.path.join(self.source_folder, os.pardir, "test_package", "file011.fits") - self.run(f"{bin_path} \"{fits_name}\"", run_environment=True) diff --git a/recipes/cgal/all/conandata.yml b/recipes/cgal/all/conandata.yml index c9c061bf70265..df69f91fa95f3 100644 --- a/recipes/cgal/all/conandata.yml +++ b/recipes/cgal/all/conandata.yml @@ -14,12 +14,24 @@ sources: "5.5.3": sha256: 0a04f662693256328b05babfabb5e3a5b7db2f5a58d52e3c520df9d0828ddd73 url: https://github.com/CGAL/cgal/releases/download/v5.5.3/CGAL-5.5.3.tar.xz + "5.5.5": + sha256: c74aab989e0fefc98f1e76f96831f6a75a92ade4ea0de7501947dc42e3ec987c + url: https://github.com/CGAL/cgal/releases/download/v5.5.5/CGAL-5.5.5.tar.xz "5.6": sha256: dcab9b08a50a06a7cc2cc69a8a12200f8d8f391b9b8013ae476965c10b45161f url: https://github.com/CGAL/cgal/releases/download/v5.6/CGAL-5.6.tar.xz "5.6.1": sha256: cdb15e7ee31e0663589d3107a79988a37b7b1719df3d24f2058545d1bcdd5837 url: https://github.com/CGAL/cgal/releases/download/v5.6.1/CGAL-5.6.1.tar.xz + "5.6.2": + sha256: 458f60df8e8f1f2fdad93c8f24e1aa8f4b095cc61a14fac81b90680d7306a42e + url: https://github.com/CGAL/cgal/releases/download/v5.6.2/CGAL-5.6.2.tar.xz + "6.0": + sha256: ed53a1498569a22341b482e579c6a3caf9ecbfb6e013f5a90ce780138073b520 + url: https://github.com/CGAL/cgal/releases/download/v6.0/CGAL-6.0-library.tar.xz + "6.0.1": + sha256: c752737f91d1af71fa96038f0e37945ce82a5f1fffb6200172cfcdd77755a356 + url: https://github.com/CGAL/cgal/releases/download/v6.0.1/CGAL-6.0.1-library.tar.xz patches: "5.3.2": - patch_file: "patches/0001-fix-for-conan.patch" @@ -46,3 +58,8 @@ patches: patch_type: bugfix patch_source: https://github.com/CGAL/cgal/pull/7502 patch_description: Fix Eigen3 support in CGAL + "5.5.5": + - patch_file: "patches/0001-fix-for-conan.patch" + patch_type: bugfix + patch_source: https://github.com/CGAL/cgal/pull/7502 + patch_description: Fix Eigen3 support in CGAL diff --git a/recipes/cgal/all/conanfile.py b/recipes/cgal/all/conanfile.py index 59ac6cec34475..68460d558b139 100644 --- a/recipes/cgal/all/conanfile.py +++ b/recipes/cgal/all/conanfile.py @@ -22,17 +22,21 @@ class CgalConan(ConanFile): generators = "CMakeDeps" short_paths = True + @property + def _requires_cpp17(self): + return Version(self.version) >= "6.0" + @property def _min_cppstd(self): - return "14" + return "17" if self._requires_cpp17 else "14" @property def _minimum_compilers_version(self): return { "Visual Studio": "15", "msvc": "191", - "gcc": "5", - "clang": "5", + "gcc": "7" if self._requires_cpp17 else "5", + "clang": "7" if self._requires_cpp17 else "5", "apple-clang": "5.1", } @@ -92,82 +96,90 @@ def package(self): def _create_cmake_module_variables(self, module_file): ''' - CGAL requires C++14, and specific compilers flags to enable the possibility to set FPU rounding modes. + CGAL requires C++14 or C++17, and specific compilers flags to enable the possibility to set FPU rounding modes. This CMake module, from the upstream CGAL pull-request https://github.com/CGAL/cgal/pull/7512, takes care of all the known compilers CGAL has ever supported. ''' - content = textwrap.dedent('''\ -function(CGAL_setup_CGAL_flags target) - # CGAL now requires C++14. `decltype(auto)` is used as a marker of - # C++14. - target_compile_features(${target} INTERFACE cxx_decltype_auto) - - if(MSVC) - target_compile_options(${target} INTERFACE - "-D_SCL_SECURE_NO_DEPRECATE;-D_SCL_SECURE_NO_WARNINGS") - if(CMAKE_VERSION VERSION_LESS 3.11) - target_compile_options(${target} INTERFACE - /fp:strict - /fp:except- - /wd4503 # Suppress warnings C4503 about "decorated name length exceeded" - /bigobj # Use /bigobj by default - ) - else() - # The MSVC generator supports `$` since CMake 3.11. - target_compile_options(${target} INTERFACE - $<$:/fp:strict> - $<$:/fp:except-> - $<$:/wd4503> # Suppress warnings C4503 about "decorated name length exceeded" - $<$:/bigobj> # Use /bigobj by default - ) - endif() - elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang") - if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0.3) - message(STATUS "Apple Clang version ${CMAKE_CXX_COMPILER_VERSION} compiler detected") - message(STATUS "Boost MP is turned off for all Apple Clang versions below 11.0.3!") - target_compile_options(${target} INTERFACE "-DCGAL_DO_NOT_USE_BOOST_MP") - endif() - elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") - message( STATUS "Using Intel Compiler. Adding -fp-model strict" ) - if(WIN32) - target_compile_options(${target} INTERFACE "/fp:strict") - else() - target_compile_options(${target} INTERFACE "-fp-model" "strict") - endif() - elseif(CMAKE_CXX_COMPILER_ID MATCHES "SunPro") - message( STATUS "Using SunPro compiler, using STLPort 4." ) - target_compile_options(${target} INTERFACE - "-features=extensions;-library=stlport4;-D_GNU_SOURCE") - target_link_libraries(${target} INTERFACE "-library=stlport4") - elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") - if ( RUNNING_CGAL_AUTO_TEST OR CGAL_TEST_SUITE ) - target_compile_options(${target} INTERFACE "-Wall") - endif() - if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3) - message( STATUS "Using gcc version 4 or later. Adding -frounding-math" ) - if(CMAKE_VERSION VERSION_LESS 3.3) - target_compile_options(${target} INTERFACE "-frounding-math") - else() - target_compile_options(${target} INTERFACE "$<$:-frounding-math>") - endif() - endif() - if ( "${GCC_VERSION}" MATCHES "^4.2" ) - message( STATUS "Using gcc version 4.2. Adding -fno-strict-aliasing" ) - target_compile_options(${target} INTERFACE "-fno-strict-aliasing" ) - endif() - if ( "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "alpha" ) - message( STATUS "Using gcc on alpha. Adding -mieee -mfp-rounding-mode=d" ) - target_compile_options(${target} INTERFACE "-mieee" "-mfp-rounding-mode=d" ) - endif() - endif() -endfunction() - -CGAL_setup_CGAL_flags(CGAL::CGAL) - -# CGAL use may rely on the presence of those two variables -set(CGAL_USE_GMP TRUE CACHE INTERNAL "CGAL library is configured to use GMP") -set(CGAL_USE_MPFR TRUE CACHE INTERNAL "CGAL library is configured to use MPFR") -''') + content = "" + if Version(self.version) < "6.0": + content = textwrap.dedent('''\ + function(CGAL_setup_CGAL_flags target) + # CGAL now requires C++14. `decltype(auto)` is used as a marker of + # C++14. + target_compile_features(${target} INTERFACE cxx_decltype_auto) + + if(MSVC) + target_compile_options(${target} INTERFACE + "-D_SCL_SECURE_NO_DEPRECATE;-D_SCL_SECURE_NO_WARNINGS") + if(CMAKE_VERSION VERSION_LESS 3.11) + target_compile_options(${target} INTERFACE + /fp:strict + /fp:except- + /wd4503 # Suppress warnings C4503 about "decorated name length exceeded" + /bigobj # Use /bigobj by default + ) + else() + # The MSVC generator supports `$` since CMake 3.11. + target_compile_options(${target} INTERFACE + $<$:/fp:strict> + $<$:/fp:except-> + $<$:/wd4503> # Suppress warnings C4503 about "decorated name length exceeded" + $<$:/bigobj> # Use /bigobj by default + ) + endif() + elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang") + if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0.3) + message(STATUS "Apple Clang version ${CMAKE_CXX_COMPILER_VERSION} compiler detected") + message(STATUS "Boost MP is turned off for all Apple Clang versions below 11.0.3!") + target_compile_options(${target} INTERFACE "-DCGAL_DO_NOT_USE_BOOST_MP") + endif() + elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") + message( STATUS "Using Intel Compiler. Adding -fp-model strict" ) + if(WIN32) + target_compile_options(${target} INTERFACE "/fp:strict") + else() + target_compile_options(${target} INTERFACE "-fp-model" "strict") + endif() + elseif(CMAKE_CXX_COMPILER_ID MATCHES "SunPro") + message( STATUS "Using SunPro compiler, using STLPort 4." ) + target_compile_options(${target} INTERFACE + "-features=extensions;-library=stlport4;-D_GNU_SOURCE") + target_link_libraries(${target} INTERFACE "-library=stlport4") + elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + if ( RUNNING_CGAL_AUTO_TEST OR CGAL_TEST_SUITE ) + target_compile_options(${target} INTERFACE "-Wall") + endif() + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3) + message( STATUS "Using gcc version 4 or later. Adding -frounding-math" ) + if(CMAKE_VERSION VERSION_LESS 3.3) + target_compile_options(${target} INTERFACE "-frounding-math") + else() + target_compile_options(${target} INTERFACE "$<$:-frounding-math>") + endif() + endif() + if ( "${GCC_VERSION}" MATCHES "^4.2" ) + message( STATUS "Using gcc version 4.2. Adding -fno-strict-aliasing" ) + target_compile_options(${target} INTERFACE "-fno-strict-aliasing" ) + endif() + if ( "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "alpha" ) + message( STATUS "Using gcc on alpha. Adding -mieee -mfp-rounding-mode=d" ) + target_compile_options(${target} INTERFACE "-mieee" "-mfp-rounding-mode=d" ) + endif() + endif() + endfunction() + ''') + + else: + content = textwrap.dedent('''\ + include(${CMAKE_CURRENT_LIST_DIR}/CGAL_SetupCGALDependencies.cmake) + ''') + content += textwrap.dedent('''\ + CGAL_setup_CGAL_flags(CGAL::CGAL) + + # CGAL use may rely on the presence of those two variables + set(CGAL_USE_GMP TRUE CACHE INTERNAL "CGAL library is configured to use GMP") + set(CGAL_USE_MPFR TRUE CACHE INTERNAL "CGAL library is configured to use MPFR") + ''') save(self, module_file, content) @property diff --git a/recipes/cgal/config.yml b/recipes/cgal/config.yml index 65c6d1c183e2c..3222dda4bec5c 100644 --- a/recipes/cgal/config.yml +++ b/recipes/cgal/config.yml @@ -9,7 +9,15 @@ versions: folder: all "5.5.3": folder: all + "5.5.5": + folder: all "5.6": folder: all "5.6.1": folder: all + "5.6.2": + folder: all + "6.0": + folder: all + "6.0.1": + folder: all diff --git a/recipes/cgif/all/test_v1_package/CMakeLists.txt b/recipes/cgif/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cgif/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cgif/all/test_v1_package/conanfile.py b/recipes/cgif/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cgif/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cglm/all/test_v1_package/CMakeLists.txt b/recipes/cglm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9735bda16bdf4..0000000000000 --- a/recipes/cglm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cglm/all/test_v1_package/conanfile.py b/recipes/cglm/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/cglm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cgltf/all/test_v1_package/CMakeLists.txt b/recipes/cgltf/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/cgltf/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cgltf/all/test_v1_package/conanfile.py b/recipes/cgltf/all/test_v1_package/conanfile.py deleted file mode 100644 index 84ee68733e516..0000000000000 --- a/recipes/cgltf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/charls/all/test_v1_package/CMakeLists.txt b/recipes/charls/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/charls/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/charls/all/test_v1_package/conanfile.py b/recipes/charls/all/test_v1_package/conanfile.py deleted file mode 100644 index 4e87a21d76c99..0000000000000 --- a/recipes/charls/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_c_path = os.path.join("bin", "test_package_c") - self.run(bin_c_path, run_environment=True) - bin_cpp_path = os.path.join("bin", "test_package_cpp") - self.run(bin_cpp_path, run_environment=True) diff --git a/recipes/chef-fun/all/test_v1_package/CMakeLists.txt b/recipes/chef-fun/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index a8d0c7626a3cb..0000000000000 --- a/recipes/chef-fun/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) # if the project uses c++ - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/chef-fun/all/test_v1_package/conanfile.py b/recipes/chef-fun/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/chef-fun/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/chipmunk2d/all/test_v1_package/CMakeLists.txt b/recipes/chipmunk2d/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/chipmunk2d/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/chipmunk2d/all/test_v1_package/conanfile.py b/recipes/chipmunk2d/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/chipmunk2d/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/circularbuffer/all/test_v1_package/CMakeLists.txt b/recipes/circularbuffer/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/circularbuffer/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/circularbuffer/all/test_v1_package/conanfile.py b/recipes/circularbuffer/all/test_v1_package/conanfile.py deleted file mode 100644 index 90eb89e3f2f46..0000000000000 --- a/recipes/circularbuffer/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cista/all/test_v1_package/CMakeLists.txt b/recipes/cista/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/cista/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cista/all/test_v1_package/conanfile.py b/recipes/cista/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cista/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cityhash/all/test_v1_package/CMakeLists.txt b/recipes/cityhash/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cityhash/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cityhash/all/test_v1_package/conanfile.py b/recipes/cityhash/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cityhash/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/civetweb/all/test_v1_package/CMakeLists.txt b/recipes/civetweb/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/civetweb/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/civetweb/all/test_v1_package/conanfile.py b/recipes/civetweb/all/test_v1_package/conanfile.py deleted file mode 100644 index 6f09f10193d23..0000000000000 --- a/recipes/civetweb/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, tools, CMake - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cjson/all/test_v1_package/CMakeLists.txt b/recipes/cjson/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cjson/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cjson/all/test_v1_package/conanfile.py b/recipes/cjson/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cjson/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/clara/all/test_v1_package/CMakeLists.txt b/recipes/clara/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/clara/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/clara/all/test_v1_package/conanfile.py b/recipes/clara/all/test_v1_package/conanfile.py deleted file mode 100644 index 2489ddc6e36c1..0000000000000 --- a/recipes/clara/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run("{} --width 640".format(bin_path), run_environment=True) - self.run("{} --help".format(bin_path), run_environment=True) diff --git a/recipes/clhep/all/test_v1_package/CMakeLists.txt b/recipes/clhep/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/clhep/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/clhep/all/test_v1_package/conanfile.py b/recipes/clhep/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/clhep/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cli/all/conandata.yml b/recipes/cli/all/conandata.yml index 10682c56d384f..ab550920bd481 100644 --- a/recipes/cli/all/conandata.yml +++ b/recipes/cli/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/daniele77/cli/archive/refs/tags/v2.2.0.tar.gz" + sha256: "67c6329471cd5a98b9ab29da0012f94f61497f0b60591bb0ab714d4c09c4f2b0" "2.1.0": url: "https://github.com/daniele77/cli/archive/refs/tags/v2.1.0.tar.gz" sha256: "dfc9fc7c72a6cdfdf852d89f151699b57460ff49775a8ff27d2a69477649acf9" diff --git a/recipes/cli/all/test_package/CMakeLists.txt b/recipes/cli/all/test_package/CMakeLists.txt index 532e9ff7fa4f7..db3334ac223dd 100644 --- a/recipes/cli/all/test_package/CMakeLists.txt +++ b/recipes/cli/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.15) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(cli CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} cli::cli) +target_link_libraries(${PROJECT_NAME} PRIVATE cli::cli) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/cli/all/test_package/conanfile.py b/recipes/cli/all/test_package/conanfile.py index d55c28d73bebf..c5ef71ffe76fe 100644 --- a/recipes/cli/all/test_package/conanfile.py +++ b/recipes/cli/all/test_package/conanfile.py @@ -7,6 +7,7 @@ class cliTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "CMakeDeps" + test_type = "explicit" def requirements(self): self.requires(self.tested_reference_str) diff --git a/recipes/cli/config.yml b/recipes/cli/config.yml index dfff490f9a9b6..57df2fc911f74 100644 --- a/recipes/cli/config.yml +++ b/recipes/cli/config.yml @@ -1,3 +1,5 @@ versions: + "2.2.0": + folder: all "2.1.0": folder: all diff --git a/recipes/cli11/all/conanfile.py b/recipes/cli11/all/conanfile.py index e28dd119e7d21..227ff9075e44e 100644 --- a/recipes/cli11/all/conanfile.py +++ b/recipes/cli11/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.files import get, copy, rmdir from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version import os required_conan_version = ">=1.52.0" @@ -12,20 +13,39 @@ class CLI11Conan(ConanFile): license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/CLIUtils/CLI11" - topics = "cli-parser", "cpp11", "no-dependencies", "cli", "header-only" + topics = "cli-parser", "cpp11", "no-dependencies", "cli" package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + options = { + "header_only": [True, False] + } + default_options = { + "header_only": True + } + @property def _min_cppstd(self): return "11" + @property + def _supports_compilation(self): + return Version(self.version) >= "2.3" + + def configure(self): + if not self._supports_compilation: + # TODO: Back to config_options after Conan 1 freeze + del self.options.header_only + elif not self.options.header_only: + self.package_type = "static-library" + def layout(self): cmake_layout(self, src_folder="src") def package_id(self): - self.info.clear() + if not self._supports_compilation or self.info.options.header_only: + self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -36,6 +56,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + if self._supports_compilation: + tc.variables["CLI11_PRECOMPILED"] = not self.options.header_only tc.variables["CLI11_BUILD_EXAMPLES"] = False tc.variables["CLI11_BUILD_TESTS"] = False tc.variables["CLI11_BUILD_DOCS"] = False @@ -59,6 +81,11 @@ def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] + if self._supports_compilation and not self.options.get_safe("header_only"): + self.cpp_info.libdirs = ["lib"] + self.cpp_info.libs = ["CLI11"] + self.cpp_info.defines = ["CLI11_COMPILE"] + self.cpp_info.set_property("cmake_file_name", "CLI11") self.cpp_info.set_property("cmake_target_name", "CLI11::CLI11") self.cpp_info.set_property("pkg_config_name", "CLI11") diff --git a/recipes/cli11/all/test_package/CMakeLists.txt b/recipes/cli11/all/test_package/CMakeLists.txt index 340e598340044..a5cc1000feeb3 100644 --- a/recipes/cli11/all/test_package/CMakeLists.txt +++ b/recipes/cli11/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(CLI11 REQUIRED CONFIG) diff --git a/recipes/cli11/all/test_v1_package/CMakeLists.txt b/recipes/cli11/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 145dcc03e0f3d..0000000000000 --- a/recipes/cli11/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cli11/all/test_v1_package/conanfile.py b/recipes/cli11/all/test_v1_package/conanfile.py deleted file mode 100644 index b30e638816fc5..0000000000000 --- a/recipes/cli11/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package_multi", "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin","test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/clickhouse-cpp/all/conanfile.py b/recipes/clickhouse-cpp/all/conanfile.py index 4f321b7e267a7..a11bdcb964b24 100644 --- a/recipes/clickhouse-cpp/all/conanfile.py +++ b/recipes/clickhouse-cpp/all/conanfile.py @@ -61,7 +61,7 @@ def layout(self): def requirements(self): self.requires("lz4/1.9.4") self.requires("abseil/20230125.3", transitive_headers=True) - self.requires("cityhash/cci.20130801") + self.requires("cityhash/1.0.1") if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") diff --git a/recipes/clickhouse-cpp/all/test_v1_package/CMakeLists.txt b/recipes/clickhouse-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/clickhouse-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/clickhouse-cpp/all/test_v1_package/conanfile.py b/recipes/clickhouse-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/clickhouse-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/clipp/all/test_v1_package/CMakeLists.txt b/recipes/clipp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/clipp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/clipp/all/test_v1_package/conanfile.py b/recipes/clipp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/clipp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/clipper/all/test_v1_package/CMakeLists.txt b/recipes/clipper/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 5a89ce2e8d32a..0000000000000 --- a/recipes/clipper/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(polyclipping REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE polyclipping::polyclipping) -target_compile_definitions(${PROJECT_NAME} PRIVATE CLIPPER_MAJOR_VERSION=${CLIPPER_MAJOR_VERSION}) diff --git a/recipes/clipper/all/test_v1_package/conanfile.py b/recipes/clipper/all/test_v1_package/conanfile.py deleted file mode 100644 index d963e4448d15a..0000000000000 --- a/recipes/clipper/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["CLIPPER_MAJOR_VERSION"] = tools.Version(self.deps_cpp_info["clipper"].version).major - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/clove-unit/all/conandata.yml b/recipes/clove-unit/all/conandata.yml index 1377a0bac8c05..132c2a02e4558 100644 --- a/recipes/clove-unit/all/conandata.yml +++ b/recipes/clove-unit/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.6": + url: "https://github.com/fdefelici/clove-unit/archive/v2.4.6.tar.gz" + sha256: "ecdbd6c4b11bc1eb6e0e5022104f053cb5d1f1ef95e04499a6e29e21289e5063" "2.4.5": url: "https://github.com/fdefelici/clove-unit/archive/v2.4.5.tar.gz" sha256: "e4db72612adf00d7c7c9512cb9990768f5f3e62a72039929b78ba17d5a6f4308" diff --git a/recipes/clove-unit/all/test_v1_package/CMakeLists.txt b/recipes/clove-unit/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 5e4401df6124d..0000000000000 --- a/recipes/clove-unit/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) - diff --git a/recipes/clove-unit/all/test_v1_package/conanfile.py b/recipes/clove-unit/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e264aad8e8ec..0000000000000 --- a/recipes/clove-unit/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/clove-unit/config.yml b/recipes/clove-unit/config.yml index fd769a0869f29..e49f2ea78422d 100644 --- a/recipes/clove-unit/config.yml +++ b/recipes/clove-unit/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.6": + folder: "all" "2.4.5": folder: "all" "2.4.4": diff --git a/recipes/cmake/binary/conandata.yml b/recipes/cmake/binary/conandata.yml index 7959b73239b48..76d561731c707 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,42 @@ sources: + "3.31.0": + Linux: + armv8: + url: "https://cmake.org/files/v3.31/cmake-3.31.0-linux-aarch64.tar.gz" + sha256: "e0f74862734c2d14ef8ac5a71941691531db0bbebee0a9c20a8e96e8a97390f9" + x86_64: + url: "https://cmake.org/files/v3.31/cmake-3.31.0-linux-x86_64.tar.gz" + sha256: "0fcb338b4515044f9ac77543550ac92c314c58f6f95aafcac5cd36aa75db6924" + Macos: + universal: + url: "https://cmake.org/files/v3.31/cmake-3.31.0-macos10.10-universal.tar.gz" + sha256: "58863bf65412e0fcaacd7dae2fcf0b5f33d78e46d0b84b547c946c59f4d19960" + Windows: + armv8: + url: "https://cmake.org/files/v3.31/cmake-3.31.0-windows-arm64.zip" + sha256: "3bae17886ad47909aadd89e41932a109a8b6a708faef6f28de2d4554c7c08276" + x86_64: + url: "https://cmake.org/files/v3.31/cmake-3.31.0-windows-x86_64.zip" + sha256: "f4b499f71cf44115a1d711d4867da3c6bd2f3f4d7121c213ace979757640385c" + "3.30.5": + Linux: + armv8: + url: "https://cmake.org/files/v3.30/cmake-3.30.5-linux-aarch64.tar.gz" + sha256: "da7dead2c92c1747b40d506d7f7d68590f5bab175316d2e7af73e48a2e417e48" + x86_64: + url: "https://cmake.org/files/v3.30/cmake-3.30.5-linux-x86_64.tar.gz" + sha256: "f747d9b23e1a252a8beafb4ed2bc2ddf78cff7f04a8e4de19f4ff88e9b51dc9d" + Macos: + universal: + url: "https://cmake.org/files/v3.30/cmake-3.30.5-macos10.10-universal.tar.gz" + sha256: "db21c9d92e544b3a47820627fe89bde8191e6bfb49b9e43d726cec5a5ef96ca7" + Windows: + armv8: + url: "https://cmake.org/files/v3.30/cmake-3.30.5-windows-arm64.zip" + sha256: "b5fa431bd569b591717a9a0f77c0ab56b072ef8603f924401227c178ac7072d9" + x86_64: + url: "https://cmake.org/files/v3.30/cmake-3.30.5-windows-x86_64.zip" + sha256: "5ab6e1faf20256ee4f04886597e8b6c3b1bd1297b58a68a58511af013710004b" "3.30.1": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index 1f33473eb51a7..2917de8e86dad 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,4 +1,8 @@ versions: + "3.31.0": + folder: "binary" + "3.30.5": + folder: "binary" "3.30.1": folder: "binary" "3.30.0": diff --git a/recipes/cminpack/all/test_v1_package/CMakeLists.txt b/recipes/cminpack/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cminpack/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cminpack/all/test_v1_package/conanfile.py b/recipes/cminpack/all/test_v1_package/conanfile.py deleted file mode 100644 index 0cdc195d14862..0000000000000 --- a/recipes/cminpack/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -import os - -from conan.tools.build import cross_building -from conans import ConanFile, CMake - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "cminpack_test_double") - self.run(bin_path, run_environment=True) - bin_path = os.path.join("bin", "cminpack_test_float") - self.run(bin_path, run_environment=True) diff --git a/recipes/cmocka/all/test_v1_package/CMakeLists.txt b/recipes/cmocka/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cmocka/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cmocka/all/test_v1_package/conanfile.py b/recipes/cmocka/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cmocka/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cmp/all/test_v1_package/CMakeLists.txt b/recipes/cmp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cmp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cmp/all/test_v1_package/conanfile.py b/recipes/cmp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cmp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cn-cbor/all/test_v1_package/CMakeLists.txt b/recipes/cn-cbor/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/cn-cbor/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cn-cbor/all/test_v1_package/conanfile.py b/recipes/cn-cbor/all/test_v1_package/conanfile.py deleted file mode 100644 index 9de3689208f00..0000000000000 --- a/recipes/cn-cbor/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - bin_path = self.run(bin_path, run_environment=True) diff --git a/recipes/cnats/all/conandata.yml b/recipes/cnats/all/conandata.yml index ebda96545ffb0..618c0a55a3965 100644 --- a/recipes/cnats/all/conandata.yml +++ b/recipes/cnats/all/conandata.yml @@ -5,3 +5,9 @@ sources: "3.8.2": url: "https://github.com/nats-io/nats.c/archive/refs/tags/v3.8.2.tar.gz" sha256: "083ee03cf5a413629d56272e88ad3229720c5006c286e8180c9e5b745c10f37d" + "3.8.3": + url: "https://github.com/nats-io/nats.c/archive/refs/tags/v3.8.3.tar.gz" + sha256: "fe7e9ce7636446cc3fe0f47f6a235c4783299e00d5e5c4a1f8689d20707871db" + "3.9.1": + url: "https://github.com/nats-io/nats.c/archive/refs/tags/v3.9.1.tar.gz" + sha256: "56836bb30a2da93eaa6df0dfa27e796e6be0933b5b3d4d83b5c76d3b80304290" diff --git a/recipes/cnats/config.yml b/recipes/cnats/config.yml index 5defa697a5927..a45c78cde476d 100644 --- a/recipes/cnats/config.yml +++ b/recipes/cnats/config.yml @@ -3,3 +3,7 @@ versions: folder: all "3.8.2": folder: all + "3.8.3": + folder: all + "3.9.1": + folder: all diff --git a/recipes/cnpy/all/test_v1_package/CMakeLists.txt b/recipes/cnpy/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cnpy/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cnpy/all/test_v1_package/conanfile.py b/recipes/cnpy/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cnpy/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cocoyaxi/all/test_v1_package/CMakeLists.txt b/recipes/cocoyaxi/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 882cedffb12e9..0000000000000 --- a/recipes/cocoyaxi/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(cocoyaxi REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE cocoyaxi::co) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/cocoyaxi/all/test_v1_package/conanfile.py b/recipes/cocoyaxi/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cocoyaxi/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/commata/all/conandata.yml b/recipes/commata/all/conandata.yml index 859d53c719d79..157169467da5a 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.1": + url: "https://github.com/furfurylic/commata/archive/refs/tags/v1.0.1.tar.gz" + sha256: "b6e91ede0ec8b7c69ced1e243eba204717e05fcd9ae26163a54425ca800124ef" "1.0.0": url: "https://github.com/furfurylic/commata/archive/refs/tags/v1.0.0.tar.gz" sha256: "ecf0a88f6a4616d10770522b4ef4838e4100511759eb640270f6b932e4b7df69" diff --git a/recipes/commata/all/test_v1_package/CMakeLists.txt b/recipes/commata/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/commata/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/commata/all/test_v1_package/conanfile.py b/recipes/commata/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/commata/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/commata/config.yml b/recipes/commata/config.yml index 992edc2e1338d..0cc9df6999a12 100644 --- a/recipes/commata/config.yml +++ b/recipes/commata/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.1": + folder: all "1.0.0": folder: all "0.2.9": diff --git a/recipes/concurrencpp/all/test_v1_package/CMakeLists.txt b/recipes/concurrencpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/concurrencpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/concurrencpp/all/test_v1_package/conanfile.py b/recipes/concurrencpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/concurrencpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/concurrentqueue/all/test_v1_package/CMakeLists.txt b/recipes/concurrentqueue/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2f4b988bcfd06..0000000000000 --- a/recipes/concurrentqueue/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(concurrentqueue REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE concurrentqueue::concurrentqueue) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/concurrentqueue/all/test_v1_package/conanfile.py b/recipes/concurrentqueue/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/concurrentqueue/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cose-c/all/test_v1_package/CMakeLists.txt b/recipes/cose-c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/cose-c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cose-c/all/test_v1_package/conanfile.py b/recipes/cose-c/all/test_v1_package/conanfile.py deleted file mode 100644 index 6dffe66394a26..0000000000000 --- a/recipes/cose-c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - bin_path = self.run(bin_path, run_environment=True) diff --git a/recipes/cotila/all/test_v1_package/CMakeLists.txt b/recipes/cotila/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/cotila/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cotila/all/test_v1_package/conanfile.py b/recipes/cotila/all/test_v1_package/conanfile.py deleted file mode 100644 index e1ab7e3d234d6..0000000000000 --- a/recipes/cotila/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class CotilaTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml index 0670cdc087177..c5eb35c8bdfe6 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "0.18.2": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.18.2.tar.gz" + sha256: "7dc9be587e7432b75a892832df33d6819460b5462ccd59fc462ba012fef5bf72" + "0.18.1": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.18.1.tar.gz" + sha256: "405abd8170f2a446fc8612ac635d0db5947c0d2e156e32603403a4496255ff00" "0.18.0": url: "https://github.com/yhirose/cpp-httplib/archive/v0.18.0.tar.gz" sha256: "6ed5894bbbc4a34a0f4c5e962672d0003d2ea099bbadacc66f6dee2b213ff394" @@ -24,15 +30,3 @@ sources: "0.14.1": url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.1.tar.gz" sha256: "2d4fb5544da643e5d0a82585555d8b7502b4137eb321a4abbb075e21d2f00e96" - "0.13.3": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.13.3.tar.gz" - sha256: "2a4503f9f2015f6878baef54cd94b01849cc3ed19dfe95f2c9775655bea8b73f" - "0.12.6": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.12.6.tar.gz" - sha256: "24bc594a9efcc08a5a6f3928e848d046d411a88b07bcd6f7f3851227a1f0133e" - "0.11.4": - url: "https://github.com/yhirose/cpp-httplib/archive/v0.11.4.tar.gz" - sha256: "28f76b875a332fb80972c3212980c963f0a7d2e11a8fe94a8ed0d847b9a2256f" - "0.10.9": - url: "https://github.com/yhirose/cpp-httplib/archive/refs/tags/v0.10.9.tar.gz" - sha256: "95ac0740ef760829a079c01a44164fd74af3fdc0748a40fc6beefd0276fd2345" diff --git a/recipes/cpp-httplib/all/conanfile.py b/recipes/cpp-httplib/all/conanfile.py index 4e28d01766a72..acf164da9f9fc 100644 --- a/recipes/cpp-httplib/all/conanfile.py +++ b/recipes/cpp-httplib/all/conanfile.py @@ -2,9 +2,10 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os -required_conan_version = ">=1.50.0" +required_conan_version = ">=2.1" class CpphttplibConan(ConanFile): @@ -20,17 +21,27 @@ class CpphttplibConan(ConanFile): "with_openssl": [True, False], "with_zlib": [True, False], "with_brotli": [True, False], + "use_macos_keychain_certs": [True, False], } default_options = { "with_openssl": False, "with_zlib": False, "with_brotli": False, + "use_macos_keychain_certs": True, } no_copy_source = True + def config_options(self): + if self.settings.os != "Macos": + del self.options.use_macos_keychain_certs + def requirements(self): if self.options.with_openssl: - self.requires("openssl/[>=1.1 <4]") + if Version(self.version) < "0.15": + self.requires("openssl/[>=1.1 <4]") + else: + # New version of httplib.h requires OpenSSL 3 + self.requires("openssl/[>=3 <4]") if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_brotli: @@ -40,8 +51,7 @@ def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def layout(self): basic_layout(self, src_folder="src") @@ -69,7 +79,6 @@ def package_info(self): self.cpp_info.system_libs = ["pthread"] elif self.settings.os == "Windows": self.cpp_info.system_libs = ["crypt32", "cryptui", "ws2_32"] - - # TODO: to remove in conan v2 once legacy generators removed - self.cpp_info.names["cmake_find_package"] = "httplib" - self.cpp_info.names["cmake_find_package_multi"] = "httplib" + elif self.settings.os == "Macos" and self.options.with_openssl and self.options.get_safe("use_macos_keychain_certs"): + self.cpp_info.frameworks = ["CoreFoundation", "Security"] + self.cpp_info.defines.append("CPPHTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN") diff --git a/recipes/cpp-httplib/all/test_v1_package/CMakeLists.txt b/recipes/cpp-httplib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/cpp-httplib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cpp-httplib/all/test_v1_package/conanfile.py b/recipes/cpp-httplib/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cpp-httplib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index c86ca5c2b8cb2..62a26096a9a50 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,8 @@ versions: + "0.18.2": + folder: all + "0.18.1": + folder: all "0.18.0": folder: all "0.17.3": @@ -15,11 +19,3 @@ versions: folder: all "0.14.1": folder: all - "0.13.3": - folder: all - "0.12.6": - folder: all - "0.11.4": - folder: all - "0.10.9": - folder: all diff --git a/recipes/cpp-ipc/all/test_v1_package/CMakeLists.txt b/recipes/cpp-ipc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/cpp-ipc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cpp-ipc/all/test_v1_package/conanfile.py b/recipes/cpp-ipc/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/cpp-ipc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpp-jwt/all/test_v1_package/CMakeLists.txt b/recipes/cpp-jwt/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cpp-jwt/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cpp-jwt/all/test_v1_package/conanfile.py b/recipes/cpp-jwt/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cpp-jwt/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpp-optparse/all/test_v1_package/CMakeLists.txt b/recipes/cpp-optparse/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cpp-optparse/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cpp-optparse/all/test_v1_package/conanfile.py b/recipes/cpp-optparse/all/test_v1_package/conanfile.py deleted file mode 100644 index 9f45afc4e29a1..0000000000000 --- a/recipes/cpp-optparse/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(f"{bin_path} --help", run_environment=True) diff --git a/recipes/cpp-peglib/0.x.x/test_v1_package/CMakeLists.txt b/recipes/cpp-peglib/0.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index fad4cae2ba206..0000000000000 --- a/recipes/cpp-peglib/0.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(cpp-peglib CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE cpp-peglib::cpp-peglib) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/cpp-peglib/0.x.x/test_v1_package/conanfile.py b/recipes/cpp-peglib/0.x.x/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cpp-peglib/0.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpp-peglib/1.x.x/conandata.yml b/recipes/cpp-peglib/1.x.x/conandata.yml index 8c4317d3da7ef..dcadbbf685932 100644 --- a/recipes/cpp-peglib/1.x.x/conandata.yml +++ b/recipes/cpp-peglib/1.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.1": + url: "https://github.com/yhirose/cpp-peglib/archive/v1.9.1.tar.gz" + sha256: "f57aa0f14372cbb772af29e3a4549a8033ea07eb25c39949cba6178e0e2ba9cc" "1.9.0": url: "https://github.com/yhirose/cpp-peglib/archive/v1.9.0.tar.gz" sha256: "6f4f0956ea2f44fd1c5882f8adc5782451ba9d227c467d214196390ddedb024c" diff --git a/recipes/cpp-peglib/1.x.x/test_v1_package/CMakeLists.txt b/recipes/cpp-peglib/1.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cpp-peglib/1.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cpp-peglib/1.x.x/test_v1_package/conanfile.py b/recipes/cpp-peglib/1.x.x/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cpp-peglib/1.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpp-peglib/config.yml b/recipes/cpp-peglib/config.yml index a8b6a2fd0565c..2235c38ce3f5b 100644 --- a/recipes/cpp-peglib/config.yml +++ b/recipes/cpp-peglib/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.1": + folder: "1.x.x" "1.9.0": folder: "1.x.x" "1.8.8": diff --git a/recipes/cpp-sort/all/test_v1_package/CMakeLists.txt b/recipes/cpp-sort/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2a9b48732268c..0000000000000 --- a/recipes/cpp-sort/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.1) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cpp-sort/all/test_v1_package/conanfile.py b/recipes/cpp-sort/all/test_v1_package/conanfile.py deleted file mode 100644 index b6f0560ab0e48..0000000000000 --- a/recipes/cpp-sort/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class CppsortTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpp_project_framework/all/test_v1_package/CMakeLists.txt b/recipes/cpp_project_framework/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/cpp_project_framework/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cpp_project_framework/all/test_v1_package/conanfile.py b/recipes/cpp_project_framework/all/test_v1_package/conanfile.py deleted file mode 100644 index 0761aa549fc91..0000000000000 --- a/recipes/cpp_project_framework/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake -import os - - -class CppProjectFrameworkTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - requires = "gtest/1.13.0" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cppbenchmark/all/test_v1_package/CMakeLists.txt b/recipes/cppbenchmark/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/cppbenchmark/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cppbenchmark/all/test_v1_package/conanfile.py b/recipes/cppbenchmark/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/cppbenchmark/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cppcheck/all/conandata.yml b/recipes/cppcheck/all/conandata.yml index 8d322ee34302a..bcd181448f979 100644 --- a/recipes/cppcheck/all/conandata.yml +++ b/recipes/cppcheck/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.16.0": + url: "https://github.com/danmar/cppcheck/archive/2.16.0.tar.gz" + sha256: "f1a97c8cef5ee9d0abb57e9244549d4fe18d4ecac80cf82e250d1fc5f38b1501" "2.15.0": url: "https://github.com/danmar/cppcheck/archive/2.15.0.tar.gz" sha256: "98bcc40ac8062635b492fb096d7815376a176ae26749d6c708083f4637f7c0bb" diff --git a/recipes/cppcheck/all/conanfile.py b/recipes/cppcheck/all/conanfile.py index 50b0c8fbb19de..5565cc030be41 100644 --- a/recipes/cppcheck/all/conanfile.py +++ b/recipes/cppcheck/all/conanfile.py @@ -9,26 +9,34 @@ class CppcheckConan(ConanFile): name = "cppcheck" + description = "Cppcheck is an analysis tool for C/C++ code." + license = "GPL-3.0-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/danmar/cppcheck" topics = ("code quality", "static analyzer", "linter") - description = "Cppcheck is an analysis tool for C/C++ code." - license = "GPL-3.0-or-later" package_type = "application" settings = "os", "arch", "compiler", "build_type" - options = {"have_rules": [True, False]} - default_options = {"have_rules": True} - - def layout(self): - cmake_layout(self, src_folder="src") + options = { + "have_rules": [True, False], + } + default_options = { + "have_rules": True, + } def export_sources(self): export_conandata_patches(self) + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): if self.options.get_safe("have_rules"): self.requires("pcre/8.45") + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -57,10 +65,6 @@ def package(self): cmake = CMake(self) cmake.install() - def package_id(self): - del self.info.settings.compiler - del self.info.settings.build_type - def package_info(self): self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] diff --git a/recipes/cppcheck/all/test_v1_package/conanfile.py b/recipes/cppcheck/all/test_v1_package/conanfile.py deleted file mode 100644 index 0102e14ac0191..0000000000000 --- a/recipes/cppcheck/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conan import ConanFile -from conan.tools.build import can_run -import sys - - -class TestPackageConan(ConanFile): - settings = "os", "arch" - generators = "VirtualRunEnv" - - def test(self): - if can_run(self): - self.run("cppcheck --enable=warning,style,performance --std=c++11 .", - cwd=self.source_folder, run_environment=True) - if self.settings.os == "Windows": - self.run(f"{sys.executable} %CPPCHECK_HTMLREPORT% -h", run_environment=True) - else: - self.run("cppcheck-htmlreport -h", run_environment=True) diff --git a/recipes/cppcheck/all/test_v1_package/file_to_check.cpp b/recipes/cppcheck/all/test_v1_package/file_to_check.cpp deleted file mode 100644 index 33c14ce1d76c0..0000000000000 --- a/recipes/cppcheck/all/test_v1_package/file_to_check.cpp +++ /dev/null @@ -1,3 +0,0 @@ -int main() { - return 0; -} diff --git a/recipes/cppcheck/config.yml b/recipes/cppcheck/config.yml index 494b8f5cd4792..245176dc92cfa 100644 --- a/recipes/cppcheck/config.yml +++ b/recipes/cppcheck/config.yml @@ -1,4 +1,6 @@ versions: + "2.16.0": + folder: all "2.15.0": folder: all "2.14.2": diff --git a/recipes/cppcodec/all/test_v1_package/CMakeLists.txt b/recipes/cppcodec/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 4e3738c68e0b9..0000000000000 --- a/recipes/cppcodec/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(cppcodec REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE cppcodec::cppcodec) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/cppcodec/all/test_v1_package/conanfile.py b/recipes/cppcodec/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cppcodec/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cppfront/all/conandata.yml b/recipes/cppfront/all/conandata.yml index 4a9575e4249b6..41ca7a255f0d2 100644 --- a/recipes/cppfront/all/conandata.yml +++ b/recipes/cppfront/all/conandata.yml @@ -1,13 +1,4 @@ sources: - "cci.20231017": - url: "https://github.com/hsutter/cppfront/archive/789cd382ed4c2fb1a9e306e73b6876228d22207d.tar.gz" - sha256: "a004c27bbc732f7a60735cee45aa89f066b79266ccc2c881f4723afee2ad1d8d" - "cci.20230103": - url: "https://github.com/hsutter/cppfront/archive/808db2bd6ae92f869166827dfda66cfa42dde0ab.zip" - sha256: "479252c99d66db477c4cd98a6e1707a8929a70afdf000c75589841d944c539f4" - "cci.20221024": - url: "https://github.com/hsutter/cppfront/archive/b1754dbd53a496a9104b43ecde6064c9980246bd.zip" - sha256: "8668bddbd7fc06d4975c867521c005f898eca8f83f018e7c28b54dbcf9aa3ab9" - "cci.20220924": - url: "https://github.com/hsutter/cppfront/archive/98f6dd46957e100f813245241f183c8aedbcb36f.zip" - sha256: "db51c1ac634d45c6047c7eec5c29993ff215443edadf334370f53d09a11cc5b1" + "0.8.0": + url: "https://github.com/hsutter/cppfront/archive/refs/tags/v0.8.0.tar.gz" + sha256: "7fb573599960bc0a46a71ed103ff97adbf938d4a0df754dc952a44fdcacfc571" diff --git a/recipes/cppfront/all/conanfile.py b/recipes/cppfront/all/conanfile.py index 7f4f580a8ec02..63d0fe03c6f48 100644 --- a/recipes/cppfront/all/conanfile.py +++ b/recipes/cppfront/all/conanfile.py @@ -11,10 +11,11 @@ class CppfrontConan(ConanFile): name = "cppfront" description = "Cppfront is a experimental compiler from a potential C++ 'syntax 2' (Cpp2) to today's 'syntax 1' (Cpp1)" - topics = ("cpp2", "compiler") + license = "CC-BY-NC-ND-4.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/hsutter/cppfront" - license = "CC-BY-NC-ND-4.0" + topics = ("cpp2", "compiler") + package_type = "application" settings = "os", "arch", "compiler", "build_type" @property @@ -25,10 +26,12 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "gcc": "11", - "Visual Studio": "16.9", - "msvc": "192.9", + # cppfront requires constexpr source_location + "Visual Studio": "17", + "msvc": "193", "clang": "12", - "apple-clang": "13", + # cppfront requires which is available on apple-clang 14.3 or later.. + "apple-clang": "14.3", } def export_sources(self): diff --git a/recipes/cppfront/all/test_package/conanfile.py b/recipes/cppfront/all/test_package/conanfile.py index 5c77415f9d7dc..c71fdc5de19bd 100644 --- a/recipes/cppfront/all/test_package/conanfile.py +++ b/recipes/cppfront/all/test_package/conanfile.py @@ -6,19 +6,18 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "VirtualBuildEnv" - test_type = "explicit" + generators = "VirtualRunEnv" def layout(self): basic_layout(self) - def build_requirements(self): - self.tool_requires(self.tested_reference_str) + def requirements(self): + self.requires(self.tested_reference_str) def build(self): copy(self, "pure2-hello.cpp2", src=self.recipe_folder, dst=self.build_folder) - self.run("cppfront {}".format(os.path.join(self.build_folder, "pure2-hello.cpp2"))) + self.run("cppfront {}".format(os.path.join(self.build_folder, "pure2-hello.cpp2")), env="conanrun") def test(self): - self.run("cppfront -h") + self.run("cppfront -h", env="conanrun") assert os.path.isfile(os.path.join(self.build_folder, "pure2-hello.cpp")) diff --git a/recipes/cppfront/all/test_v1_package/conanfile.py b/recipes/cppfront/all/test_v1_package/conanfile.py deleted file mode 100644 index 13f05370739e6..0000000000000 --- a/recipes/cppfront/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile -import os -import shutil - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - test_type = "explicit" - - def build_requirements(self): - self.build_requires(self.tested_reference_str) - - def build(self): - shutil.copy2(src=os.path.join(self.source_folder, os.pardir, "test_package", "pure2-hello.cpp2"), - dst=os.path.join(self.build_folder, "pure2-hello.cpp2")) - self.run("cppfront {}".format(os.path.join(self.build_folder, "pure2-hello.cpp2"))) - - def test(self): - self.run("cppfront -h") - assert os.path.isfile(os.path.join(self.build_folder, "pure2-hello.cpp")) diff --git a/recipes/cppfront/config.yml b/recipes/cppfront/config.yml index 5474e123fd52d..675f954f2770e 100644 --- a/recipes/cppfront/config.yml +++ b/recipes/cppfront/config.yml @@ -1,9 +1,3 @@ versions: - "cci.20231017": - folder: all - "cci.20230103": - folder: all - "cci.20221024": - folder: all - "cci.20220924": + "0.8.0": folder: all diff --git a/recipes/cppkafka/all/test_v1_package/CMakeLists.txt b/recipes/cppkafka/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cppkafka/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cppkafka/all/test_v1_package/conanfile.py b/recipes/cppkafka/all/test_v1_package/conanfile.py deleted file mode 100644 index a500b98343c74..0000000000000 --- a/recipes/cppkafka/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpprestsdk/all/test_v1_package/CMakeLists.txt b/recipes/cpprestsdk/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cpprestsdk/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cpprestsdk/all/test_v1_package/conanfile.py b/recipes/cpprestsdk/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cpprestsdk/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpptoml/all/test_v1_package/CMakeLists.txt b/recipes/cpptoml/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cpptoml/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cpptoml/all/test_v1_package/conanfile.py b/recipes/cpptoml/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cpptoml/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml index dcee072fe65ad..f3fa51c73411b 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "0.7.3": + url: "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.7.3.tar.gz" + sha256: "8b83200860db148a7fd0b2594e7affc6a55809da256e132d6f0d5b202b2e26dd" + "0.7.2": + url: "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.7.2.tar.gz" + sha256: "62835abfd91a840e4d212c850695b576523fe6f9036bc5c3e52183b6eb9905c5" "0.7.1": url: "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.7.1.tar.gz" sha256: "63df54339feb0c68542232229777df057e1848fc8294528613971bbf42889e83" diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index 7a9e17408d253..b57a666544e5f 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,4 +1,8 @@ versions: + "0.7.3": + folder: all + "0.7.2": + folder: all "0.7.1": folder: all "0.7.0": diff --git a/recipes/cppunit/all/test_v1_package/CMakeLists.txt b/recipes/cppunit/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cppunit/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cppunit/all/test_v1_package/conanfile.py b/recipes/cppunit/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cppunit/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpputest/all/test_v1_package/CMakeLists.txt b/recipes/cpputest/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cpputest/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cpputest/all/test_v1_package/conanfile.py b/recipes/cpputest/all/test_v1_package/conanfile.py deleted file mode 100644 index 32e223569cdb0..0000000000000 --- a/recipes/cpputest/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["WITH_EXTENSIONS"] = self.options["cpputest"].with_extensions - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cppzmq/all/test_v1_package/CMakeLists.txt b/recipes/cppzmq/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/cppzmq/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cppzmq/all/test_v1_package/conanfile.py b/recipes/cppzmq/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cppzmq/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpr/all/conandata.yml b/recipes/cpr/all/conandata.yml index 02059bab669a9..6e7f92a1328a9 100644 --- a/recipes/cpr/all/conandata.yml +++ b/recipes/cpr/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.11.1": + url: "https://github.com/libcpr/cpr/archive/refs/tags/1.11.1.tar.gz" + sha256: "e84b8ef348f41072609f53aab05bdaab24bf5916c62d99651dfbeaf282a8e0a2" + "1.11.0": + url: "https://github.com/libcpr/cpr/archive/refs/tags/1.11.0.tar.gz" + sha256: "fdafa3e3a87448b5ddbd9c7a16e7276a78f28bbe84a3fc6edcfef85eca977784" "1.10.5": url: "https://github.com/libcpr/cpr/archive/refs/tags/1.10.5.tar.gz" sha256: "c8590568996cea918d7cf7ec6845d954b9b95ab2c4980b365f582a665dea08d8" @@ -15,6 +21,14 @@ sources: url: "https://github.com/libcpr/cpr/archive/refs/tags/1.7.2.tar.gz" sha256: "aa38a414fe2ffc49af13a08b6ab34df825fdd2e7a1213d032d835a779e14176f" patches: + "1.11.1": + - patch_file: "patches/008-1.11.0-remove-warning-flags.patch" + patch_description: "disable warning flags and warning as error" + patch_type: "portability" + "1.11.0": + - patch_file: "patches/008-1.11.0-remove-warning-flags.patch" + patch_description: "disable warning flags and warning as error" + patch_type: "portability" "1.10.5": - patch_file: "patches/008-1.10.0-remove-warning-flags.patch" patch_description: "disable warning flags and warning as error" diff --git a/recipes/cpr/all/conanfile.py b/recipes/cpr/all/conanfile.py index ac8b198e03c5f..a7893dee17926 100644 --- a/recipes/cpr/all/conanfile.py +++ b/recipes/cpr/all/conanfile.py @@ -167,3 +167,8 @@ def package_info(self): self.cpp_info.libs = ["cpr"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") + + if Version(self.version) >= "1.11.0" and \ + ((self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "9") or \ + (self.settings.compiler == "clang" and self.settings.compiler.get_safe("libcxx") in ["libstdc++", "libstdc++11"])): + self.cpp_info.system_libs = ["stdc++fs"] diff --git a/recipes/cpr/all/patches/008-1.11.0-remove-warning-flags.patch b/recipes/cpr/all/patches/008-1.11.0-remove-warning-flags.patch new file mode 100644 index 0000000000000..4a2124c047e5a --- /dev/null +++ b/recipes/cpr/all/patches/008-1.11.0-remove-warning-flags.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 70d3296..eb020b4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -379,14 +379,14 @@ if(CPR_BUILD_TESTS) + restore_variable(DESTINATION CMAKE_CXX_CLANG_TIDY BACKUP CMAKE_CXX_CLANG_TIDY_BKP) + endif() + +-if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") +-else() +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -Werror") +- if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") +- # Disable C++98 compatibility support in clang: https://github.com/libcpr/cpr/issues/927 +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-nonportable-system-include-path -Wno-exit-time-destructors -Wno-undef -Wno-global-constructors -Wno-switch-enum -Wno-old-style-cast -Wno-covered-switch-default -Wno-undefined-func-template") +- endif() +-endif() ++# if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") ++# else() ++# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -Werror") ++# if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") ++# # Disable C++98 compatibility support in clang: https://github.com/libcpr/cpr/issues/927 ++# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-nonportable-system-include-path -Wno-exit-time-destructors -Wno-undef -Wno-global-constructors -Wno-switch-enum -Wno-old-style-cast -Wno-covered-switch-default -Wno-undefined-func-template") ++# endif() ++# endif() + + add_subdirectory(cpr) + add_subdirectory(include) diff --git a/recipes/cpr/all/test_v1_package/CMakeLists.txt b/recipes/cpr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cpr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cpr/all/test_v1_package/conanfile.py b/recipes/cpr/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cpr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpr/config.yml b/recipes/cpr/config.yml index 48b580f3173d9..04d83d0f95dac 100644 --- a/recipes/cpr/config.yml +++ b/recipes/cpr/config.yml @@ -1,4 +1,8 @@ versions: + "1.11.1": + folder: all + "1.11.0": + folder: all "1.10.5": folder: all "1.10.4": diff --git a/recipes/cprocessing/all/test_v1_package/CMakeLists.txt b/recipes/cprocessing/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/cprocessing/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cprocessing/all/test_v1_package/conanfile.py b/recipes/cprocessing/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cprocessing/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpu_features/all/test_v1_package/CMakeLists.txt b/recipes/cpu_features/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cpu_features/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cpu_features/all/test_v1_package/conanfile.py b/recipes/cpu_features/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cpu_features/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpuinfo/all/test_v1_package/CMakeLists.txt b/recipes/cpuinfo/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cpuinfo/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cpuinfo/all/test_v1_package/conanfile.py b/recipes/cpuinfo/all/test_v1_package/conanfile.py deleted file mode 100644 index ea57bb8b3a514..0000000000000 --- a/recipes/cpuinfo/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["CPUINFO_VERSION"] = self.deps_cpp_info["cpuinfo"].version.split('.')[1] - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cpython/all/conandata.yml b/recipes/cpython/all/conandata.yml index d49b900576339..3959aff0dc825 100644 --- a/recipes/cpython/all/conandata.yml +++ b/recipes/cpython/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.12.7": + url: "https://www.python.org/ftp/python/3.12.7/Python-3.12.7.tgz" + sha256: "73ac8fe780227bf371add8373c3079f42a0dc62deff8d612cd15a618082ab623" "3.12.2": url: "https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz" sha256: "a7c4f6a9dc423d8c328003254ab0c9338b83037bd787d680826a5bf84308116e" @@ -15,6 +18,19 @@ sources: url: "https://www.python.org/ftp/python/3.8.19/Python-3.8.19.tgz" sha256: "c7fa55a36e5c7a19ec37d8f90f60a2197548908c9ac8b31e7c0dbffdd470eeac" patches: + "3.12.7": + - patch_file: "patches/3.9/3.9.7-0002-_msi-vcxproj.patch" + patch_description: "Fix ARM/ARM64 mismatch in project file" + patch_type: "bugfix" + - patch_file: "patches/3.12/3.12.1-0001-_ctypes-ffi.patch" + patch_description: "Support shared libffi" + patch_type: "portability" + - patch_file: "patches/3.x-0001-relocatable-python-config.patch" + patch_description: "Allow package to be relocatable" + patch_type: "conan" + - patch_file: "patches/3.12/3.12.1-0002-remove-module-deps.patch" + patch_description: "Remove section of solution file forcing projects to be built that might not be used for this recipe" + patch_type: "conan" "3.12.2": - patch_file: "patches/3.9/3.9.7-0002-_msi-vcxproj.patch" patch_description: "Fix ARM/ARM64 mismatch in project file" diff --git a/recipes/cpython/config.yml b/recipes/cpython/config.yml index 87dabe8bf898b..a2b9627fa470b 100644 --- a/recipes/cpython/config.yml +++ b/recipes/cpython/config.yml @@ -1,4 +1,6 @@ versions: + "3.12.7": + folder: "all" "3.12.2": folder: "all" "3.11.9": diff --git a/recipes/cqrlib/all/test_v1_package/CMakeLists.txt b/recipes/cqrlib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b455e3e89e446..0000000000000 --- a/recipes/cqrlib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(cqrlib REQUIRED CONFIG) - -add_executable(${PROJECT_NAME}_c ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME}_c PRIVATE cqrlib::cqrlib) - -add_executable(${PROJECT_NAME}_cpp ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME}_cpp PRIVATE cqrlib::cqrlib) diff --git a/recipes/cqrlib/all/test_v1_package/conanfile.py b/recipes/cqrlib/all/test_v1_package/conanfile.py deleted file mode 100644 index 302285c48aded..0000000000000 --- a/recipes/cqrlib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path_c = os.path.join("bin", "test_package_c") - self.run(bin_path_c, run_environment=True) - bin_path_cpp = os.path.join("bin", "test_package_cpp") - self.run(bin_path_cpp, run_environment=True) diff --git a/recipes/crc32c/all/test_v1_package/CMakeLists.txt b/recipes/crc32c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/crc32c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/crc32c/all/test_v1_package/conanfile.py b/recipes/crc32c/all/test_v1_package/conanfile.py deleted file mode 100644 index 968e0fcd39136..0000000000000 --- a/recipes/crc32c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join(".", "bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/crc_cpp/all/test_v1_package/CMakeLists.txt b/recipes/crc_cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/crc_cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/crc_cpp/all/test_v1_package/conanfile.py b/recipes/crc_cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/crc_cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/create-dmg/all/test_v1_package/conanfile.py b/recipes/create-dmg/all/test_v1_package/conanfile.py deleted file mode 100644 index 3d9d911ea4f98..0000000000000 --- a/recipes/create-dmg/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,10 +0,0 @@ -from conans import ConanFile -from conan.tools.build import can_run - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if can_run(self): - self.run("create-dmg --version", run_environment=True) diff --git a/recipes/crossdb/all/conandata.yml b/recipes/crossdb/all/conandata.yml new file mode 100644 index 0000000000000..37ed5c22fe039 --- /dev/null +++ b/recipes/crossdb/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "0.11.0": + url: "https://github.com/crossdb-org/crossdb/archive/refs/tags/0.11.0.tar.gz" + sha256: "ca72397cfe14317b3774988fe1747bfd3daa8b6dfa8e151fa84d2e58987ab5c2" + "0.10.0": + url: "https://github.com/crossdb-org/crossdb/archive/refs/tags/0.10.0.tar.gz" + sha256: "8b4ed2063f508bc3353d6346a7d9bf78bb04fe05ddfe6e86f1f33cc44f71b2d4" + "0.9.0": + url: "https://github.com/crossdb-org/crossdb/archive/refs/tags/0.9.0.tar.gz" + sha256: "04defc43f0b5102cc6a341ba9e328302416982c04cc4c59bc16aef19cc1b020c" diff --git a/recipes/crossdb/all/conanfile.py b/recipes/crossdb/all/conanfile.py new file mode 100644 index 0000000000000..4af53a29f2db7 --- /dev/null +++ b/recipes/crossdb/all/conanfile.py @@ -0,0 +1,55 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get +from conan.tools.microsoft import is_msvc +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + +class CrossDBConan(ConanFile): + name = "crossdb" + description = "Ultra High-performance Lightweight Embedded and Server OLTP RDBMS" + license = "MPL-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/crossdb-org/crossdb" + topics = ("database", "oltp", "embedded") + package_type = "shared-library" + settings = "os", "arch", "compiler", "build_type" + + def configure(self): + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if is_msvc(self): + raise ConanInvalidConfiguration(f"${self.ref} does not support MSVC") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.libs = ["crossdb"] + + if Version(self.version) >= "0.10.0" and self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") diff --git a/recipes/crossdb/all/test_package/CMakeLists.txt b/recipes/crossdb/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f725ff69c516e --- /dev/null +++ b/recipes/crossdb/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(crossdb REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE crossdb::crossdb) diff --git a/recipes/crossdb/all/test_package/conanfile.py b/recipes/crossdb/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/crossdb/all/test_package/conanfile.py @@ -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 requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/crossdb/all/test_package/test_package.c b/recipes/crossdb/all/test_package/test_package.c new file mode 100644 index 0000000000000..37adfa21e3091 --- /dev/null +++ b/recipes/crossdb/all/test_package/test_package.c @@ -0,0 +1,9 @@ +#include +#include + +#include + +int main () { + printf("Cross DB Version: %s\n", xdb_version()); + return EXIT_SUCCESS; +} diff --git a/recipes/crossdb/config.yml b/recipes/crossdb/config.yml new file mode 100644 index 0000000000000..f474fc5aafc7f --- /dev/null +++ b/recipes/crossdb/config.yml @@ -0,0 +1,7 @@ +versions: + "0.11.0": + folder: all + "0.10.0": + folder: all + "0.9.0": + folder: all diff --git a/recipes/crowcpp-crow/all/conanfile.py b/recipes/crowcpp-crow/all/conanfile.py index f86149ab6d350..5e2434c0c17d3 100644 --- a/recipes/crowcpp-crow/all/conanfile.py +++ b/recipes/crowcpp-crow/all/conanfile.py @@ -117,6 +117,8 @@ def package_info(self): if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.system_libs = ["pthread"] + if self.settings.os == "Windows": + self.cpp_info.system_libs = ["wsock32", "ws2_32"] self.cpp_info.set_property("cmake_file_name", "Crow") self.cpp_info.set_property("cmake_target_name", "Crow::Crow") diff --git a/recipes/crunch/all/test_v1_package/CMakeLists.txt b/recipes/crunch/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/crunch/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/crunch/all/test_v1_package/conanfile.py b/recipes/crunch/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/crunch/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cryptopp-pem/all/test_v1_package/CMakeLists.txt b/recipes/cryptopp-pem/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/cryptopp-pem/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cryptopp-pem/all/test_v1_package/conanfile.py b/recipes/cryptopp-pem/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cryptopp-pem/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cryptopp/all/conandata.yml b/recipes/cryptopp/all/conandata.yml index 14741e08f860f..86f5bef002754 100644 --- a/recipes/cryptopp/all/conandata.yml +++ b/recipes/cryptopp/all/conandata.yml @@ -34,20 +34,6 @@ sources: cmake: url: "https://github.com/noloader/cryptopp-cmake/archive/CRYPTOPP_8_5_0.tar.gz" sha256: "10685209405e676993873fcf638ade5f8f99d7949afa6b2045289ce9cc6d90ac" - "8.4.0": - source: - url: "https://github.com/weidai11/cryptopp/archive/CRYPTOPP_8_4_0.tar.gz" - sha256: "6687dfc1e33b084aeab48c35a8550b239ee5f73a099a3b6a0918d70b8a89e654" - cmake: - url: "https://github.com/noloader/cryptopp-cmake/archive/CRYPTOPP_8_4_0.tar.gz" - sha256: "b850070141f6724fce640e4e2cfde433ec5b2d99d4386d29ba9255167bc4b4f0" - "8.2.0": - source: - url: "https://github.com/weidai11/cryptopp/archive/CRYPTOPP_8_2_0.tar.gz" - sha256: "e3bcd48a62739ad179ad8064b523346abb53767bcbefc01fe37303412292343e" - cmake: - url: "https://github.com/noloader/cryptopp-cmake/archive/CRYPTOPP_8_2_0.tar.gz" - sha256: "f41f6a32b1177c094c3ef97423916713c902d0ac26cbee30ec70b1e8ab0e6fba" patches: "8.9.0": - patch_file: "patches/8.9.0-0001-cve-2023-50980.patch" @@ -64,13 +50,4 @@ patches: "8.5.0": - patch_file: "patches/8.4.0-0001-relocatable-macos.patch" patch_description: "Relocatable shared lib on macOS" - patch_type: "conan" - "8.4.0": - - patch_file: "patches/8.4.0-0001-relocatable-macos.patch" - patch_description: "Relocatable shared lib on macOS" - patch_type: "conan" - "8.2.0": - - patch_file: "patches/8.2.0-0001-fix-cmake.patch" - - patch_file: "patches/8.2.0-0002-relocatable-macos.patch" - patch_description: "Relocatable shared lib on macOS" - patch_type: "conan" + patch_type: "conan" \ No newline at end of file diff --git a/recipes/cryptopp/all/conanfile.py b/recipes/cryptopp/all/conanfile.py index d61c97a23b4e4..039ed175e5ca4 100644 --- a/recipes/cryptopp/all/conanfile.py +++ b/recipes/cryptopp/all/conanfile.py @@ -1,5 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import ( apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, @@ -26,10 +28,12 @@ class CryptoPPConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "use_openmp": [True, False], } default_options = { "shared": False, "fPIC": True, + "use_openmp": False, } def export_sources(self): @@ -46,6 +50,11 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def validate_build(self): + if is_apple_os(self) and cross_building(self) and Version(self.version) <= "8.6.0": + # See https://github.com/abdes/cryptopp-cmake/pull/38 + raise ConanInvalidConfiguration("cryptopp 8.6.0 and lower do not support cross-building on Apple platforms") + def validate(self): if self.options.shared and Version(self.version) >= "8.7.0": raise ConanInvalidConfiguration("cryptopp 8.7.0 and higher do not support shared builds") @@ -97,6 +106,7 @@ def generate(self): tc.cache_variables["CRYPTOPP_USE_INTERMEDIATE_OBJECTS_TARGET"] = False if self.settings.os == "Android": tc.cache_variables["CRYPTOPP_NATIVE_ARCH"] = True + tc.cache_variables["CRYPTOPP_USE_OPENMP"] = self.options.use_openmp tc.cache_variables["CMAKE_DISABLE_FIND_PACKAGE_Git"] = True tc.generate() @@ -179,6 +189,12 @@ def package_info(self): elif self.settings.os == "Windows": self.cpp_info.components["libcryptopp"].system_libs = ["bcrypt", "ws2_32"] + if not self.options.shared and self.options.use_openmp: + if self.settings.compiler in ("gcc", "clang"): + openmp_flag = ["-fopenmp"] + self.cpp_info.components["libcryptopp"].sharedlinkflags = openmp_flag + self.cpp_info.components["libcryptopp"].exelinkflags = openmp_flag + # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed self.cpp_info.names["pkg_config"] = "libcryptopp" self.cpp_info.components["libcryptopp"].names["cmake_find_package"] = legacy_cmake_target diff --git a/recipes/cryptopp/all/test_package/test_package.cpp b/recipes/cryptopp/all/test_package/test_package.cpp index 2460e01097c84..da386a7df8d69 100644 --- a/recipes/cryptopp/all/test_package/test_package.cpp +++ b/recipes/cryptopp/all/test_package/test_package.cpp @@ -1,13 +1,8 @@ -#include "cryptopp/cryptlib.h" -#include "cryptopp/osrng.h" // AutoSeededRandomPool - -#include +#include +#include int main() { - printf("CryptoPP version: %d\n", CRYPTOPP_VERSION); - - CryptoPP::AutoSeededRandomPool rng; - printf("This is a random number from CryptoPP: %d\n", rng.GenerateByte()); - + std::cout << "CryptoPP LibraryVersion() = " << CryptoPP::LibraryVersion() << std::endl; + std::cout << "CryptoPP HeaderVersion() = " << CryptoPP::HeaderVersion() << std::endl; return 0; } diff --git a/recipes/cryptopp/all/test_v1_package/CMakeLists.txt b/recipes/cryptopp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cryptopp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cryptopp/all/test_v1_package/conanfile.py b/recipes/cryptopp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cryptopp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cryptopp/config.yml b/recipes/cryptopp/config.yml index f7be670f19b31..d6ae70c1dd554 100644 --- a/recipes/cryptopp/config.yml +++ b/recipes/cryptopp/config.yml @@ -9,7 +9,3 @@ versions: folder: "all" "8.5.0": folder: "all" - "8.4.0": - folder: "all" - "8.2.0": - folder: "all" diff --git a/recipes/cs_libguarded/all/test_v1_package/CMakeLists.txt b/recipes/cs_libguarded/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/cs_libguarded/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cs_libguarded/all/test_v1_package/conanfile.py b/recipes/cs_libguarded/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/cs_libguarded/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/csm/all/test_v1_package/CMakeLists.txt b/recipes/csm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/csm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/csm/all/test_v1_package/conanfile.py b/recipes/csm/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/csm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/csvmonkey/all/test_v1_package/CMakeLists.txt b/recipes/csvmonkey/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/csvmonkey/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/csvmonkey/all/test_v1_package/conanfile.py b/recipes/csvmonkey/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/csvmonkey/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ctpg/all/test_v1_package/CMakeLists.txt b/recipes/ctpg/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/ctpg/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ctpg/all/test_v1_package/conanfile.py b/recipes/ctpg/all/test_v1_package/conanfile.py deleted file mode 100644 index 90eb89e3f2f46..0000000000000 --- a/recipes/ctpg/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ctre/all/test_v1_package/CMakeLists.txt b/recipes/ctre/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index bdcd221de0a2c..0000000000000 --- a/recipes/ctre/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ctre/all/test_v1_package/conanfile.py b/recipes/ctre/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f44a943c8f6..0000000000000 --- a/recipes/ctre/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class CtreTestConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ctrl-c/all/CMakeLists.txt b/recipes/ctrl-c/all/CMakeLists.txt new file mode 100644 index 0000000000000..405a4c3952405 --- /dev/null +++ b/recipes/ctrl-c/all/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.15) +project(ctrl-c LANGUAGES CXX) + +add_library(ctrl-c ${CTRL_C_SRC_DIR}/src/ctrl-c.cpp) +set_target_properties(ctrl-c PROPERTIES + PUBLIC_HEADER ${CTRL_C_SRC_DIR}/src/ctrl-c.h +) +target_compile_features(ctrl-c PUBLIC cxx_std_11) + +include(GNUInstallDirs) +install( + TARGETS ctrl-c + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +) diff --git a/recipes/ctrl-c/all/conandata.yml b/recipes/ctrl-c/all/conandata.yml new file mode 100644 index 0000000000000..e988e2cde6c0a --- /dev/null +++ b/recipes/ctrl-c/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.0": + url: "https://github.com/evgenykislov/ctrl-c/archive/refs/tags/v1.0.0.tar.gz" + sha256: "9f63ff2e02ac62a19e30208af746d5a2655ecf040773b6c7d1e27e85be45ee1a" diff --git a/recipes/ctrl-c/all/conanfile.py b/recipes/ctrl-c/all/conanfile.py new file mode 100644 index 0000000000000..6ef4188f79f42 --- /dev/null +++ b/recipes/ctrl-c/all/conanfile.py @@ -0,0 +1,75 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get +from conan.tools.microsoft import is_msvc +import os + + +required_conan_version = ">=1.53.0" + + +class CtrlCConan(ConanFile): + name = "ctrl-c" + description = "Crossplatform code to handle Ctrl+C signal" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/evgenykislov/ctrl-c/" + topics = ("crossplatform", "signal", "sigint") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + exports_sources = ["CMakeLists.txt"] + + @property + def _min_cppstd(self): + return 11 + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if is_msvc(self): + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CTRL_C_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["ctrl-c"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/ctrl-c/all/test_package/CMakeLists.txt b/recipes/ctrl-c/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..6e5e89641e866 --- /dev/null +++ b/recipes/ctrl-c/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(ctrl-c REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE ctrl-c::ctrl-c) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/ctrl-c/all/test_package/conanfile.py b/recipes/ctrl-c/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/ctrl-c/all/test_package/conanfile.py @@ -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 requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/ctrl-c/all/test_package/test_package.cpp b/recipes/ctrl-c/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..a36109950fc83 --- /dev/null +++ b/recipes/ctrl-c/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include "ctrl-c.h" + +int main(void) { + auto id = CtrlCLibrary::SetCtrlCHandler([](CtrlCLibrary::CtrlSignal signal){ return true;}); + CtrlCLibrary::ResetCtrlCHandler(id); + + return 0; +} diff --git a/recipes/ctrl-c/config.yml b/recipes/ctrl-c/config.yml new file mode 100644 index 0000000000000..40341aa3db6cd --- /dev/null +++ b/recipes/ctrl-c/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.0": + folder: all diff --git a/recipes/cubicinterpolation/all/test_v1_package/CMakeLists.txt b/recipes/cubicinterpolation/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7ea0378c83fe1..0000000000000 --- a/recipes/cubicinterpolation/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cubicinterpolation/all/test_v1_package/conanfile.py b/recipes/cubicinterpolation/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cubicinterpolation/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/curlpp/all/conandata.yml b/recipes/curlpp/all/conandata.yml new file mode 100644 index 0000000000000..81a27c2d764c6 --- /dev/null +++ b/recipes/curlpp/all/conandata.yml @@ -0,0 +1,15 @@ +sources: + "0.8.1.cci.20240530": + url: "https://github.com/jpbarrette/curlpp/archive/8840ec806a75a6def9ed07845a620f6d170e5821.tar.gz" + sha256: "1260326d966ec75a50feccb5411268f9aeca667d97f8132973bdb0783ecceb3c" +patches: + "0.8.1.cci.20240530": + - patch_file: "patches/0001-disable-static-on-shared.patch" + patch_description: "disable building static library on shared=True" + patch_type: "conan" + - patch_file: "patches/0002-disable-cpp11.patch" + patch_description: "disable specifying C++11" + patch_type: "conan" + - patch_file: "patches/0003-replace-project-declaration.patch" + patch_description: "switch positions between project() and cmake_minimum_required()" + patch_type: "conan" diff --git a/recipes/curlpp/all/conanfile.py b/recipes/curlpp/all/conanfile.py new file mode 100644 index 0000000000000..706675da9ba61 --- /dev/null +++ b/recipes/curlpp/all/conanfile.py @@ -0,0 +1,90 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, rm +from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=1.53.0" + +class CurlppConan(ConanFile): + name = "curlpp" + description = "C++ wrapper around libcURL" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/jpbarrette/curlpp" + topics = ("curl", "libcurl") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + # As it's a wrapper, it includes curl symbols in its public headers + self.requires("libcurl/8.9.1", transitive_headers=True, transitive_libs=True) + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + else: + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "6": + raise ConanInvalidConfiguration("${self.ref} requires C++11. Please set 'compiler.cppstd=11'.") + if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "14": + raise ConanInvalidConfiguration("${self.ref} requires C++11. Please set 'compiler.cppstd=11'.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CURLPP_BUILD_SHARED_LIBS"] = self.options.shared + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", os.path.join(self.source_folder, "doc"), os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rm(self, "curlpp-config", os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.libs = ["libcurlpp" if is_msvc(self) and not self.options.shared else "curlpp"] + + self.cpp_info.set_property("cmake_file_name", "curlpp") + self.cpp_info.set_property("cmake_target_name", "curlpp::curlpp") diff --git a/recipes/curlpp/all/patches/0001-disable-static-on-shared.patch b/recipes/curlpp/all/patches/0001-disable-static-on-shared.patch new file mode 100644 index 0000000000000..4660e359d71c2 --- /dev/null +++ b/recipes/curlpp/all/patches/0001-disable-static-on-shared.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4f550b5..ca97e64 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -108,7 +108,7 @@ if(CURLPP_BUILD_SHARED_LIBS) + target_include_directories(${PROJECT_NAME} PUBLIC $) + target_link_libraries(${PROJECT_NAME} PUBLIC CURL::libcurl ${CONAN_LIBS}) + set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION 1 VERSION 1.0.0) +-endif() ++else() + + add_library(${PROJECT_NAME}_static STATIC ${HeaderFileList} ${SourceFileList}) + add_library(${PROJECT_NAME}::${PROJECT_NAME}_static ALIAS ${PROJECT_NAME}_static) +@@ -126,16 +126,16 @@ SET_TARGET_PROPERTIES(${PROJECT_NAME}_static PROPERTIES OUTPUT_NAME ${PROJECT_NA + # so we add a "lib" prefix (which is default on other platforms anyway): + SET_TARGET_PROPERTIES(${PROJECT_NAME}_static PROPERTIES PREFIX "lib") +-target_link_libraries(${PROJECT_NAME}_static ${CURL_LIBRARIES} ${CONAN_LIBS}) +- ++target_link_libraries(${PROJECT_NAME}_static CURL::libcurl ${CONAN_LIBS}) ++endif() + # install headers + install(FILES "${PROJECT_SOURCE_DIR}/cmake/curlppConfig.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/curlpp") + install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + if(CURLPP_BUILD_SHARED_LIBS) + install(TARGETS curlpp EXPORT curlppTargets INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +-endif() ++else() + install(TARGETS curlpp_static EXPORT curlppTargets INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +- ++endif() + install( + EXPORT curlppTargets + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/curlpp" diff --git a/recipes/curlpp/all/patches/0002-disable-cpp11.patch b/recipes/curlpp/all/patches/0002-disable-cpp11.patch new file mode 100644 index 0000000000000..972db13b339f7 --- /dev/null +++ b/recipes/curlpp/all/patches/0002-disable-cpp11.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ca97e64..bdb257e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,7 +22,7 @@ if(WIN32) + cmake_minimum_required(VERSION 3.4) + + # c++ 11 support from cmake 3.4 or newer +- set(CMAKE_CXX_STANDARD 11) # C++11... ++ # set(CMAKE_CXX_STANDARD 11) # C++11... + set(CMAKE_CXX_STANDARD_REQUIRED ON) #...is required... + set(CMAKE_CXX_EXTENSIONS OFF) #...without compiler extensions like gnu++11 + +@@ -43,10 +43,10 @@ if(WIN32) + # + # for non-windows platform we try to keep cmake 2.8 support + # since entreprise distribution tends to have 2.8 version. +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") ++ # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + else() + # c++ 11 support from cmake 3.1 or newer +- set(CMAKE_CXX_STANDARD 11) # C++11... ++ # set(CMAKE_CXX_STANDARD 11) # C++11... + set(CMAKE_CXX_STANDARD_REQUIRED ON) #...is required... + set(CMAKE_CXX_EXTENSIONS OFF) #...without compiler extensions like gnu++11 + endif() diff --git a/recipes/curlpp/all/patches/0003-replace-project-declaration.patch b/recipes/curlpp/all/patches/0003-replace-project-declaration.patch new file mode 100644 index 0000000000000..d5aa092f726ef --- /dev/null +++ b/recipes/curlpp/all/patches/0003-replace-project-declaration.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bfba06b..7f4c6fd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,3 @@ +-project(curlpp) +- +- + # In response to CMake 3.0 generating warnings regarding policy CMP0042, + # the OSX RPATH settings have been updated per recommendations found + # in the CMake Wiki: +@@ -52,6 +49,7 @@ if(WIN32) + endif() + endif() + ++project(curlpp) + + # Conan.io integration + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/conanbuildinfo.cmake) diff --git a/recipes/curlpp/all/test_package/CMakeLists.txt b/recipes/curlpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..b5fa1057f20ec --- /dev/null +++ b/recipes/curlpp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(curlpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE curlpp::curlpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/curlpp/all/test_package/conanfile.py b/recipes/curlpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/curlpp/all/test_package/conanfile.py @@ -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 requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/curlpp/all/test_package/test_package.cpp b/recipes/curlpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..a1ad47c5108eb --- /dev/null +++ b/recipes/curlpp/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ + +#include +#include +#include + +using namespace curlpp::options; + +int main(int, char **) { + curlpp::Easy myRequest; + myRequest.setOpt("http://example.com"); +} diff --git a/recipes/curlpp/config.yml b/recipes/curlpp/config.yml new file mode 100644 index 0000000000000..1925bfdc53ee3 --- /dev/null +++ b/recipes/curlpp/config.yml @@ -0,0 +1,3 @@ +versions: + "0.8.1.cci.20240530": + folder: all diff --git a/recipes/cutlass/all/conandata.yml b/recipes/cutlass/all/conandata.yml index f561ee26f3a67..523f2fccdef91 100644 --- a/recipes/cutlass/all/conandata.yml +++ b/recipes/cutlass/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.1": + url: "https://github.com/NVIDIA/cutlass/archive/refs/tags/v3.5.1.tar.gz" + sha256: "20b7247cda2d257cbf8ba59ba3ca40a9211c4da61a9c9913e32b33a2c5883a36" "3.5.0": url: "https://github.com/NVIDIA/cutlass/archive/refs/tags/v3.5.0.tar.gz" sha256: "ef6af8526e3ad04f9827f35ee57eec555d09447f70a0ad0cf684a2e426ccbcb6" diff --git a/recipes/cutlass/all/conanfile.py b/recipes/cutlass/all/conanfile.py index 9422f11539b20..b134b6034bae1 100644 --- a/recipes/cutlass/all/conanfile.py +++ b/recipes/cutlass/all/conanfile.py @@ -16,11 +16,12 @@ class CutlassConan(ConanFile): description = "CUTLASS: CUDA Templates for Linear Algebra Subroutines" license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/project/package" + homepage = "https://github.com/NVIDIA/cutlass" topics = ("linear-algebra", "gpu", "cuda", "deep-learning", "nvidia", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" + short_paths = True # TODO: add header_only=False option @property diff --git a/recipes/cutlass/config.yml b/recipes/cutlass/config.yml index 4ab92d6cac50e..d6d6471b30fef 100644 --- a/recipes/cutlass/config.yml +++ b/recipes/cutlass/config.yml @@ -1,3 +1,5 @@ versions: + "3.5.1": + folder: all "3.5.0": folder: all diff --git a/recipes/cwalk/all/test_v1_package/CMakeLists.txt b/recipes/cwalk/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cwalk/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cwalk/all/test_v1_package/conanfile.py b/recipes/cwalk/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/cwalk/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/cxxopts/all/test_v1_package/CMakeLists.txt b/recipes/cxxopts/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cxxopts/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cxxopts/all/test_v1_package/conanfile.py b/recipes/cxxopts/all/test_v1_package/conanfile.py deleted file mode 100644 index c68398ab15a88..0000000000000 --- a/recipes/cxxopts/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,27 +0,0 @@ -from conans import ConanFile, CMake, tools -from io import StringIO -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - output = StringIO() - bin_path = os.path.join("bin", "test_package") - option_string = "-f 41 --bar baria --baz" - if self.options["cxxopts"].unicode: - option_string += " -q quxis" - self.run(f"{bin_path} {option_string}", run_environment=True, output=output) - output_lines = set(output.getvalue().splitlines()) - expected_lines = {"foo:41", "bar:baria", "baz:1"} - if self.options["cxxopts"].unicode: - expected_lines.add("qux:quxis") - assert(expected_lines.issubset(output_lines)) diff --git a/recipes/cyclonedds/all/test_v1_package/CMakeLists.txt b/recipes/cyclonedds/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/cyclonedds/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/cyclonedds/all/test_v1_package/conanfile.py b/recipes/cyclonedds/all/test_v1_package/conanfile.py deleted file mode 100644 index 1a9e66f7126fc..0000000000000 --- a/recipes/cyclonedds/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake -from conan.tools import build - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = ["cmake", "cmake_find_package_multi"] - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not build.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/czmq/all/test_v1_package/CMakeLists.txt b/recipes/czmq/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/czmq/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/czmq/all/test_v1_package/conanfile.py b/recipes/czmq/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/czmq/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dacap-clip/all/test_v1_package/CMakeLists.txt b/recipes/dacap-clip/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 784c43a27c83a..0000000000000 --- a/recipes/dacap-clip/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package CXX) - -include("${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -find_package(clip REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} clip::clip) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/dacap-clip/all/test_v1_package/conanfile.py b/recipes/dacap-clip/all/test_v1_package/conanfile.py deleted file mode 100644 index e9bf8aa5f82dd..0000000000000 --- a/recipes/dacap-clip/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -import os - -from conans import ConanFile, CMake -from conan.tools.build import cross_building - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dataframe/all/conandata.yml b/recipes/dataframe/all/conandata.yml index 76e42aa109c01..5505b9c55bd20 100644 --- a/recipes/dataframe/all/conandata.yml +++ b/recipes/dataframe/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.0": + url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/3.3.0.tar.gz" + sha256: "57a722592a29ee8fca902983411c78e7f4179c402a8b0b905f96916c9694672a" "3.2.0": url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/3.2.0.tar.gz" sha256: "44c513ef7956976738c2ca37384a220c5383e95fc363ad933541c6f3eef9d294" @@ -20,21 +23,6 @@ sources: "2.0.0": url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/2.0.0.tar.gz" sha256: "df46ab60153f75ef0a1ab269e6b107ec34fdc467993c3984029d7deb5e0fab6c" - "1.22.0": - url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/1.22.0.tar.gz" - sha256: "4b244241cd56893fccb22f7c874588f0d86b444912382ed6e9a4cf95e55ffda2" - "1.21.0": - url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/1.21.0.tar.gz" - sha256: "a6b07eaaf628225a34e4402c1a6e311430e8431455669ac03691d92f44081172" - "1.20.0": - url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/1.20.0.tar.gz" - sha256: "5c241c71823c6975251f49316e03724f06cd3a288892f5a76dd504fe08700b6d" - "1.19.0": - url: "https://github.com/hosseinmoein/DataFrame/archive/1.19.0.tar.gz" - sha256: "81382e9c68df7c52f69f645b1830fcd3634eedc07fa3d2024ee6c57cf2cdb7ff" - "1.18.0": - url: "https://github.com/hosseinmoein/DataFrame/archive/1.18.0.tar.gz" - sha256: "8cdb8b246263fbd8fcef07b6300f6aefb58b3a54cd67e5cbe5383bc948305844" patches: "2.0.0": - patch_file: "patches/2.0.0-0001-use-abs.patch" diff --git a/recipes/dataframe/all/conanfile.py b/recipes/dataframe/all/conanfile.py index f523ba86724db..6d7b9ebefe575 100644 --- a/recipes/dataframe/all/conanfile.py +++ b/recipes/dataframe/all/conanfile.py @@ -98,9 +98,6 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if is_msvc(self) and self.options.shared and Version(self.version) < "1.20.0": - raise ConanInvalidConfiguration(f"{self.ref} doesn't support shared lib with Visual Studio") - if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) @@ -122,33 +119,13 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - if Version(self.version) >= "1.20.0": - tc.variables["HMDF_TESTING"] = False - tc.variables["HMDF_EXAMPLES"] = False - tc.variables["HMDF_BENCHMARKS"] = False - elif Version(self.version) >= "1.14.0": - tc.variables["ENABLE_TESTING"] = False + tc.variables["HMDF_TESTING"] = False + tc.variables["HMDF_EXAMPLES"] = False + tc.variables["HMDF_BENCHMARKS"] = False tc.generate() - def _patch_sources(self): - apply_conandata_patches(self) - # Don't pollute RPATH - if Version(self.version) < "1.20.0": - replace_in_file( - self, - os.path.join(self.source_folder, "CMakeLists.txt"), - textwrap.dedent("""\ - include(AddInstallRPATHSupport) - add_install_rpath_support(BIN_DIRS "${CMAKE_INSTALL_FULL_LIBDIR}" - LIB_DIRS "${CMAKE_INSTALL_FULL_BINDIR}" - INSTALL_NAME_DIR "${CMAKE_INSTALL_FULL_LIBDIR}" - USE_LINK_PATH) - """), - "", - ) - def build(self): - self._patch_sources() + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -176,10 +153,7 @@ def package_info(self): self.cpp_info.system_libs.extend(["pthread", "rt", "m"]) if is_msvc(self): self.cpp_info.defines.append("_USE_MATH_DEFINES") - if Version(self.version) < "1.20.0" and not self.options.shared: - # weird but required in those versions of dataframe - self.cpp_info.defines.append("LIBRARY_EXPORTS") - if Version(self.version) >= "1.20.0" and self.options.shared: + if self.options.shared: self.cpp_info.defines.append("HMDF_SHARED") # TODO: to remove in conan v2 once cmake_find_package_* generators removed diff --git a/recipes/dataframe/all/test_package/CMakeLists.txt b/recipes/dataframe/all/test_package/CMakeLists.txt index f0af8e717acbf..74034b149b7c0 100644 --- a/recipes/dataframe/all/test_package/CMakeLists.txt +++ b/recipes/dataframe/all/test_package/CMakeLists.txt @@ -5,11 +5,10 @@ find_package(DataFrame REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE DataFrame::DataFrame) -if (DataFrame_VERSION VERSION_GREATER_EQUAL "2.1.0") +if(DataFrame_VERSION VERSION_GREATER_EQUAL "2.3.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_23) +elseif(DataFrame_VERSION VERSION_GREATER_EQUAL "2.1.0") target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) else() target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) endif() -if (DataFrame_VERSION VERSION_GREATER_EQUAL "2.3.0") - target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_23) -endif() diff --git a/recipes/dataframe/all/test_v1_package/CMakeLists.txt b/recipes/dataframe/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/dataframe/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/dataframe/all/test_v1_package/conanfile.py b/recipes/dataframe/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/dataframe/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dataframe/config.yml b/recipes/dataframe/config.yml index b500f2488a199..7ac485fbb17f1 100644 --- a/recipes/dataframe/config.yml +++ b/recipes/dataframe/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.0": + folder: all "3.2.0": folder: all "3.1.0": @@ -7,19 +9,11 @@ versions: folder: all "2.3.0": folder: all + # last version for C++20 "2.2.0": folder: all "2.1.0": folder: all + # last version for C++17 "2.0.0": folder: all - "1.22.0": - folder: all - "1.21.0": - folder: all - "1.20.0": - folder: all - "1.19.0": - folder: all - "1.18.0": - folder: all diff --git a/recipes/date/all/conandata.yml b/recipes/date/all/conandata.yml index bed2d768a8963..94e4bf0b1e51f 100644 --- a/recipes/date/all/conandata.yml +++ b/recipes/date/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "3.0.3": + url: "https://github.com/HowardHinnant/date/archive/refs/tags/v3.0.3.tar.gz" + sha256: "30de45a34a2605cca33a993a9ea54e8f140f23b1caf1acf3c2fd436c42c7d942" + "3.0.2": + url: "https://github.com/HowardHinnant/date/archive/refs/tags/v3.0.2.tar.gz" + sha256: "0449667ea85c5b411c28d08a53f1e420c73416caa5b693c249dac9763eb97b7c" "3.0.1": url: "https://github.com/HowardHinnant/date/archive/refs/tags/v3.0.1.tar.gz" sha256: "7a390f200f0ccd207e8cff6757e04817c1a0aec3e327b006b7eb451c57ee3538" diff --git a/recipes/date/all/conanfile.py b/recipes/date/all/conanfile.py index 50c70b315563a..8db1625fd6096 100644 --- a/recipes/date/all/conanfile.py +++ b/recipes/date/all/conanfile.py @@ -73,9 +73,10 @@ def generate(self): tc.variables["USE_SYSTEM_TZ_DB"] = self.options.use_system_tz_db tc.variables["USE_TZ_DB_IN_DOT"] = self.options.use_tz_db_in_dot tc.variables["BUILD_TZ_LIB"] = not self.options.header_only - # workaround for clang 5 not having string_view - if Version(self.version) >= "3.0.0" and self.settings.compiler == "clang" \ - and Version(self.settings.compiler.version) <= "5.0": + # workaround for gcc 7 and clang 5 not having string_view + if Version(self.version) >= "3.0.0" and \ + ((self.settings.compiler == "gcc" and Version(self.settings.compiler.version) <= "7.0") or \ + (self.settings.compiler == "clang" and Version(self.settings.compiler.version) <= "5.0")): tc.cache_variables["DISABLE_STRING_VIEW"] = True tc.generate() diff --git a/recipes/date/all/test_package/CMakeLists.txt b/recipes/date/all/test_package/CMakeLists.txt index 276e986aaf0a2..7a4b3fe1c9b08 100644 --- a/recipes/date/all/test_package/CMakeLists.txt +++ b/recipes/date/all/test_package/CMakeLists.txt @@ -1,7 +1,7 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -find_package(date REQUIRED CONFIG) +find_package(date REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE date::date) diff --git a/recipes/date/all/test_package/test_package.cpp b/recipes/date/all/test_package/test_package.cpp index 8dcac9f656989..4ccf632e8e904 100644 --- a/recipes/date/all/test_package/test_package.cpp +++ b/recipes/date/all/test_package/test_package.cpp @@ -1,60 +1,16 @@ #include "date/date.h" #include "date/tz.h" - -#include -#include #include -#include - -class ZoneOffset { -public: - explicit ZoneOffset(std::chrono::minutes offset) - : _offset(offset) {} - - template - auto to_local(date::sys_time tp) const - -> date::local_time::type> { - using namespace date; - using namespace std::chrono; - using LT = local_time::type>; - return LT{(tp + _offset).time_since_epoch()}; - } - - template - auto to_sys(date::local_time tp) const - -> date::sys_time::type> { - using namespace date; - using namespace std::chrono; - using ST = sys_time::type>; - return ST{(tp - _offset).time_since_epoch()}; - } - -private: - std::chrono::minutes _offset; -}; int main() { - using namespace std::chrono; - using namespace date; - - auto date1 = 2015_y/March/22; - std::cout << date1 << '\n'; - auto date2 = March/22/2015; - std::cout << date2 << '\n'; - auto date3 = 22_d/March/2015; - std::cout << date3 << '\n'; - - ZoneOffset p3_45{hours{3} + minutes{45}}; - zoned_time zt{&p3_45, floor(system_clock::now())}; - std::cout << zt.get_sys_time() << " (sys time)\n"; - std::cout << zt.get_local_time() << " (local time)\n"; + const date::year_month_day conan_two(date::year(2023), date::month(2), date::day(22)); + std::cout << "Conan was released on: " << conan_two << std::endl; #ifndef DATE_HEADER_ONLY try { - auto tz = date::current_zone()->name(); - std::cout << "timezone: " << tz << std::endl; - } catch (const std::exception & e) { - std::cout << "exception caught " << e.what() << std::endl; + const date::time_zone* tz = date::current_zone(); + } + catch (const std::exception & e) { } #endif diff --git a/recipes/date/all/test_v1_package/CMakeLists.txt b/recipes/date/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/date/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/date/all/test_v1_package/conanfile.py b/recipes/date/all/test_v1_package/conanfile.py deleted file mode 100644 index 09dc5f4a353ed..0000000000000 --- a/recipes/date/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["DATE_HEADER_ONLY"] = self.options["date:header_only"] - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/date/config.yml b/recipes/date/config.yml index f4831f05aaf9e..7fe264ed2099a 100644 --- a/recipes/date/config.yml +++ b/recipes/date/config.yml @@ -1,4 +1,8 @@ versions: + "3.0.3": + folder: all + "3.0.2": + folder: all "3.0.1": folder: all "3.0.0": diff --git a/recipes/dav1d/all/test_v1_package/CMakeLists.txt b/recipes/dav1d/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/dav1d/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/dav1d/all/test_v1_package/conanfile.py b/recipes/dav1d/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/dav1d/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/daw_header_libraries/all/conandata.yml b/recipes/daw_header_libraries/all/conandata.yml index d625fa7c5a1cb..7e7d062b09499 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "2.118.0": + url: "https://github.com/beached/header_libraries/archive/v2.118.0.tar.gz" + sha256: "2a3e093c2f69db979e7672d33b97f7f24cda23ff753fafe90a3aaf25ac965a70" + "2.114.0": + url: "https://github.com/beached/header_libraries/archive/v2.114.0.tar.gz" + sha256: "c36229424bd68ee8936ad688127303aee69ecd5400a905df75138ed95cbfef53" "2.110.0": url: "https://github.com/beached/header_libraries/archive/v2.110.0.tar.gz" sha256: "6515bb7a130656adff9f1f17d6be69dbd7c40dbcebbe418e9d0cf15bbc71bffc" diff --git a/recipes/daw_header_libraries/all/test_v1_package/CMakeLists.txt b/recipes/daw_header_libraries/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index bc541ea90b512..0000000000000 --- a/recipes/daw_header_libraries/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/daw_header_libraries/all/test_v1_package/conanfile.py b/recipes/daw_header_libraries/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/daw_header_libraries/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index 5a75a14b1e758..155232f2792e6 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,8 @@ versions: + "2.118.0": + folder: all + "2.114.0": + folder: all "2.110.0": folder: all "2.107.0": diff --git a/recipes/daw_json_link/all/conandata.yml b/recipes/daw_json_link/all/conandata.yml index 35b1b14775dc9..4226c99f417b1 100644 --- a/recipes/daw_json_link/all/conandata.yml +++ b/recipes/daw_json_link/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "3.29.2": + url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.29.2.tar.gz" + sha256: "a0450a2d724d83a600d48d503eb11094039a7a4b607fa59b1d7ce83483b1f8b4" + "3.28.3": + url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.28.3.tar.gz" + sha256: "c9973e8da74c4a6eb84fbd1f86f8048a697068af7dec6aee602e08e9f4df39db" "3.24.1": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.24.1.tar.gz" sha256: "439b4678377950f165e3d49d472c0676f0ef2fae3c5e6e7febddd5633f6e4f39" @@ -26,8 +32,11 @@ sources: "3.15.0": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.15.0.tar.gz" sha256: "6f72c69944e33f56823d941b09c8d17ece44b224e802ae0a3416c32f2bdbec40" +# When updating this, ensure that the versions are consistent across the rest of the daw libraries daw_headers_mapping: - "3.24.1": "2.106.0" + "3.29.2": "2.110.0" + "3.28.3": "2.110.0" + "3.24.1": "2.110.0" "3.23.2": "2.101.0" "3.23.0": "2.97.0" "3.20.1": "2.97.0" @@ -37,6 +46,8 @@ daw_headers_mapping: "3.16.0": "2.97.0" "3.15.0": "2.97.0" daw_utf_mapping: + "3.29.2": "2.2.5" + "3.28.3": "2.2.5" "3.24.1": "2.2.5" "3.23.2": "2.2.4" "3.23.0": "2.2.3" diff --git a/recipes/daw_json_link/all/test_v1_package/CMakeLists.txt b/recipes/daw_json_link/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b4b25bff2f0cd..0000000000000 --- a/recipes/daw_json_link/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/daw_json_link/all/test_v1_package/conanfile.py b/recipes/daw_json_link/all/test_v1_package/conanfile.py deleted file mode 100644 index 103e285f2d1a0..0000000000000 --- a/recipes/daw_json_link/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class DawJsonLinkTestConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/daw_json_link/config.yml b/recipes/daw_json_link/config.yml index f518e618fe0e7..d7ebeba1581e3 100644 --- a/recipes/daw_json_link/config.yml +++ b/recipes/daw_json_link/config.yml @@ -1,4 +1,8 @@ versions: + "3.29.2": + folder: "all" + "3.28.3": + folder: "all" "3.24.1": folder: "all" "3.23.2": diff --git a/recipes/daw_utf_range/all/test_v1_package/CMakeLists.txt b/recipes/daw_utf_range/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/daw_utf_range/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/daw_utf_range/all/test_v1_package/conanfile.py b/recipes/daw_utf_range/all/test_v1_package/conanfile.py deleted file mode 100644 index e4d8733790192..0000000000000 --- a/recipes/daw_utf_range/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class DawUtfRangeTestConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dbcppp/all/test_v1_package/CMakeLists.txt b/recipes/dbcppp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/dbcppp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/dbcppp/all/test_v1_package/conanfile.py b/recipes/dbcppp/all/test_v1_package/conanfile.py deleted file mode 100644 index e4d8733790192..0000000000000 --- a/recipes/dbcppp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class DawUtfRangeTestConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dbg-macro/all/test_v1_package/CMakeLists.txt b/recipes/dbg-macro/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/dbg-macro/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/dbg-macro/all/test_v1_package/conanfile.py b/recipes/dbg-macro/all/test_v1_package/conanfile.py deleted file mode 100644 index e9e25c6e641af..0000000000000 --- a/recipes/dbg-macro/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - tools.mkdir("logs/") - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dbus/all/conanfile.py b/recipes/dbus/all/conanfile.py index 0d7c729968e28..b8c7c6cfea6f9 100644 --- a/recipes/dbus/all/conanfile.py +++ b/recipes/dbus/all/conanfile.py @@ -82,7 +82,7 @@ def requirements(self): if self.options.get_safe("with_systemd"): self.requires("libsystemd/253.6") if self.options.get_safe("with_selinux"): - self.requires("libselinux/3.5") + self.requires("libselinux/3.6") if self.options.get_safe("with_x11"): # X11 is only linked into an executable and should not be propagated as a library dependency. # It should still be provided in a VirtualRunEnv context, though, diff --git a/recipes/dbus/all/test_v1_package/CMakeLists.txt b/recipes/dbus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/dbus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/dbus/all/test_v1_package/conanfile.py b/recipes/dbus/all/test_v1_package/conanfile.py deleted file mode 100644 index 3a412edafcc0d..0000000000000 --- a/recipes/dbus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run("dbus-monitor --help", run_environment=True) - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dcmtk/all/conandata.yml b/recipes/dcmtk/all/conandata.yml index 7c6f0a7a01b93..db05530c82900 100644 --- a/recipes/dcmtk/all/conandata.yml +++ b/recipes/dcmtk/all/conandata.yml @@ -13,14 +13,26 @@ patches: - patch_file: "patches/3.6.8-0002-cmake-check-openssl-symbol.patch" patch_description: "CMake: fix OpenSSL compatibility checks" patch_type: conan + - patch_file: "patches/3.6.8-0003-fix-two-segmentation-faults.patch" + patch_description: "Fix CVE-2024-34508 and CVE-2024-34509 (SEGFAULT from malformed C-Store request)" + patch_type: vulnerability + patch_source: "https://github.com/DCMTK/dcmtk/commit/c78e434c0c5f9d932874f0b17a8b4ce305ca01f5" + - patch_file: "patches/3.6.8-0004-disable-oficonv-passthrough.patch" + patch_description: "Fix data corruption in UTF8-to-UTF8 conversion" + patch_type: bugfix + patch_source: "https://github.com/DCMTK/dcmtk/commit/8ccfd5a07024e50b160da0231524da535c745b79" "3.6.7": - patch_file: "patches/3.6.7-0001-cmake-robust-deps-handling.patch" patch_description: "CMake: robust discovery with find_package() and use imported targets" - patch_type: "conan" + patch_type: conan - patch_file: "patches/3.6.7-0002-cmake-check-openssl-symbol.patch" patch_description: "CMake: fix OpenSSL compatibility checks" - patch_type: "conan" + patch_type: conan - patch_file: "patches/3.6.7-0003-ambiguous-overload-operator-equal.patch" patch_description: "C++20: Fix ambiguous overload for operator== between DB_SerializedTagKey and DcmTagKey" - patch_type: "portability" + patch_type: portability patch_source: "https://github.com/DCMTK/dcmtk/pull/88" + - patch_file: "patches/3.6.7-0004-fix-two-segmentation-faults.patch" + patch_description: "Fix CVE-2024-34508 and CVE-2024-34509 (SEGFAULT from malformed C-Store request)" + patch_type: vulnerability + patch_source: "https://github.com/DCMTK/dcmtk/commit/c78e434c0c5f9d932874f0b17a8b4ce305ca01f5" diff --git a/recipes/dcmtk/all/conanfile.py b/recipes/dcmtk/all/conanfile.py index 1342755427911..c8c4804f39f44 100644 --- a/recipes/dcmtk/all/conanfile.py +++ b/recipes/dcmtk/all/conanfile.py @@ -5,11 +5,11 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import cross_building, check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rename, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version -required_conan_version = ">=1.54.0" +required_conan_version = ">=2.0" class DCMTKConan(ConanFile): @@ -64,6 +64,7 @@ class DCMTKConan(ConanFile): def export_sources(self): export_conandata_patches(self) + copy(self, "*.h", os.path.join(self.recipe_folder, "crossbuild"), os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -97,13 +98,13 @@ def requirements(self): elif self.options.charset_conversion == "icu": self.requires("icu/73.2") if self.options.with_libxml2: - self.requires("libxml2/2.11.4") + self.requires("libxml2/[2.12.5 <3]") if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_openssl: self.requires("openssl/[>=1 <4]") if self.options.with_libpng: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self.options.with_libtiff: self.requires("libtiff/4.6.0") if self.options.get_safe("with_tcpwrappers"): @@ -114,12 +115,16 @@ def package_id(self): del self.info.options.builtin_dictionary del self.info.options.external_dictionary + def validate_build(self): + if cross_building(self): + if self.settings.os == "Macos" and self.settings.arch != "x86_64": + raise ConanInvalidConfiguration("MacOS crossbuilding is only supported to target x86_64") + else: + # Note: other cross-building scenarios have not been tested and may also need to be marked as invalid + self.output.warning("Crossbuilding has not been tested and may not work. Please report to Conan Center Index if you find any issues.") + def validate(self): - if self.settings.compiler.cppstd: - check_min_cppstd(self, 11) - if hasattr(self, "settings_build") and cross_building(self) and self.settings.os == "Macos": - # FIXME: Probable issue with flags, build includes header 'mmintrin.h' - raise ConanInvalidConfiguration("Cross building on Macos is not supported (yet)") + check_min_cppstd(self, 11) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -152,12 +157,38 @@ def generate(self): tc.variables["DCMTK_ENABLE_CXX11"] = True tc.variables["DCMTK_ENABLE_MANPAGE"] = False tc.cache_variables["DCMTK_DEFAULT_DICT"] = self.options.default_dict + if self.options.charset_conversion and Version(self.version) >= "3.6.8": + charset_conversion = { "libiconv": "libiconv", "icu": "ICU" } + tc.cache_variables["DCMTK_ENABLE_CHARSET_CONVERSION"] = charset_conversion[str(self.options.charset_conversion)] tc.variables["DCMTK_USE_DCMDICTPATH"] = self.options.use_dcmdictpath if self.settings.os == "Windows": tc.variables["DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS"] = False if is_msvc(self): tc.variables["DCMTK_ICONV_FLAGS_ANALYZED"] = True tc.variables["DCMTK_COMPILE_WIN32_MULTITHREADED_DLL"] = not is_msvc_static_runtime(self) + + if Version(self.version) >= "3.6.7" and cross_building(self): + # See https://support.dcmtk.org/redmine/projects/dcmtk/wiki/Cross_Compiling + tc.cache_variables["DCMTK_NO_TRY_RUN"] = True + if self.options.charset_conversion == "libiconv": + tc.cache_variables["DCMTK_ICONV_FLAGS_ANALYZED"] = True + tc.cache_variables["DCMTK_FIXED_ICONV_CONVERSION_FLAGS"] = "AbortTranscodingOnIllegalSequence" + if self.options.enable_stl: + # The recipe has C++11 as the minimum, and these should be available + # under that assumption + variables = ['HAVE_STL_VECTOR_TEST_RESULT', 'HAVE_STL_ALGORITHM_TEST_RESULT', + 'HAVE_STL_LIMITS_TEST_RESULT', 'HAVE_STL_LIST_TEST_RESULT', 'HAVE_STL_MAP_TEST_RESULT', + 'HAVE_STL_MEMORY_TEST_RESULT', 'HAVE_STL_STACK_TEST_RESULT', + 'HAVE_STL_STRING_TEST_RESULT', 'HAVE_STL_TYPE_TRAITS_TEST_RESULT', + 'HAVE_STL_TUPLE_TEST_RESULT', 'HAVE_STL_SYSTEM_ERROR_TEST_RESULT'] + for var in variables: + tc.cache_variables[var] = True + if self.settings.os == "Macos" and self.settings.arch == "x86_64": + dst_dir = os.path.join(self.build_folder, "config", "include", "dcmtk", "config") + arith_h = "arith_h_Macos_x86_64.h" + copy(self, arith_h, self.source_folder, dst_dir) + rename(self, os.path.join(dst_dir, arith_h), os.path.join(dst_dir, "arith.h")) + tc.generate() deps = CMakeDeps(self) @@ -343,10 +374,6 @@ def package_info(self): self.cpp_info.components[target_lib].includedirs.append(os.path.join("include", "dcmtk")) self.cpp_info.components[target_lib].requires = requires - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.components[target_lib].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components[target_lib].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if is_msvc(self): # Required for the __cplusplus check at # https://github.com/DCMTK/dcmtk/blob/DCMTK-3.6.8/config/include/dcmtk/config/osconfig.h.in#L1489 @@ -371,11 +398,3 @@ def package_info(self): self.runenv_info.define_path("DCMDICTPATH", dcmdictpath) if self.options.with_applications: self.buildenv_info.define_path("DCMDICTPATH", dcmdictpath) - - # TODO: to remove in conan v2 - self.cpp_info.names["cmake_find_package"] = "DCMTK" - self.cpp_info.names["cmake_find_package_multi"] = "DCMTK" - if self.options.default_dict == "external": - self.env_info.DCMDICTPATH = dcmdictpath - if self.options.with_applications: - self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/dcmtk/all/crossbuild/arith_h_Macos_x86_64.h b/recipes/dcmtk/all/crossbuild/arith_h_Macos_x86_64.h new file mode 100644 index 0000000000000..e52386cfbaf82 --- /dev/null +++ b/recipes/dcmtk/all/crossbuild/arith_h_Macos_x86_64.h @@ -0,0 +1,58 @@ +#ifndef CONFIG_ARITH_H +#define CONFIG_ARITH_H + +#define DCMTK_SIGNED_CHAR_DIGITS10 2 +#define DCMTK_UNSIGNED_CHAR_DIGITS10 2 +#define DCMTK_SIGNED_SHORT_DIGITS10 4 +#define DCMTK_UNSIGNED_SHORT_DIGITS10 4 +#define DCMTK_SIGNED_INT_DIGITS10 9 +#define DCMTK_UNSIGNED_INT_DIGITS10 9 +#define DCMTK_SIGNED_LONG_DIGITS10 18 +#define DCMTK_UNSIGNED_LONG_DIGITS10 19 +#define DCMTK_FLOAT_MAX_DIGITS10 9 +#define DCMTK_DOUBLE_MAX_DIGITS10 17 +#define DCMTK_CHAR_TRAPS OFTrue +#define DCMTK_CHAR_MODULO OFTrue +#define DCMTK_SIGNED_CHAR_TRAPS OFTrue +#define DCMTK_SIGNED_CHAR_MODULO OFTrue +#define DCMTK_UNSIGNED_CHAR_TRAPS OFTrue +#define DCMTK_UNSIGNED_CHAR_MODULO OFTrue +#define DCMTK_SIGNED_SHORT_TRAPS OFTrue +#define DCMTK_SIGNED_SHORT_MODULO OFTrue +#define DCMTK_UNSIGNED_SHORT_TRAPS OFTrue +#define DCMTK_UNSIGNED_SHORT_MODULO OFTrue +#define DCMTK_SIGNED_INT_TRAPS OFTrue +#define DCMTK_SIGNED_INT_MODULO OFTrue +#define DCMTK_UNSIGNED_INT_TRAPS OFTrue +#define DCMTK_UNSIGNED_INT_MODULO OFTrue +#define DCMTK_SIGNED_LONG_TRAPS OFTrue +#define DCMTK_SIGNED_LONG_MODULO OFTrue +#define DCMTK_UNSIGNED_LONG_TRAPS OFTrue +#define DCMTK_UNSIGNED_LONG_MODULO OFTrue +#define DCMTK_FLOAT_TRAPS OFFalse +#define DCMTK_DOUBLE_TRAPS OFFalse +#define DCMTK_FLOAT_HAS_INFINITY OFTrue +#define DCMTK_FLOAT_INFINITY *OFreinterpret_cast( const float*, "\000\000\200\177" ) +#define DCMTK_DOUBLE_HAS_INFINITY OFTrue +#define DCMTK_DOUBLE_INFINITY *OFreinterpret_cast( const double*, "\000\000\000\000\000\000\360\177" ) +#define DCMTK_FLOAT_HAS_QUIET_NAN OFTrue +#define DCMTK_FLOAT_QUIET_NAN *OFreinterpret_cast( const float*, "\000\000\300\177" ) +#define DCMTK_DOUBLE_HAS_QUIET_NAN OFTrue +#define DCMTK_DOUBLE_QUIET_NAN *OFreinterpret_cast( const double*, "\000\000\000\000\000\000\370\177" ) +#define DCMTK_FLOAT_HAS_SIGNALING_NAN OFFalse +#define DCMTK_FLOAT_SIGNALING_NAN *OFreinterpret_cast( const float*, "\001\000\200\177" ) +#define DCMTK_DOUBLE_HAS_SIGNALING_NAN OFFalse +#define DCMTK_DOUBLE_SIGNALING_NAN *OFreinterpret_cast( const double*, "\001\000\000\000\000\000\360\177" ) +#define DCMTK_FLOAT_IS_IEC559 OFFalse +#define DCMTK_DOUBLE_IS_IEC559 OFFalse +#define DCMTK_FLOAT_HAS_DENORM OFdenorm_present +#define DCMTK_FLOAT_DENORM_MIN *OFreinterpret_cast( const float*, "\001\000\000\000" ) +#define DCMTK_DOUBLE_HAS_DENORM OFdenorm_present +#define DCMTK_DOUBLE_DENORM_MIN *OFreinterpret_cast( const double*, "\001\000\000\000\000\000\000\000" ) +#define DCMTK_FLOAT_TINYNESS_BEFORE OFTrue +#define DCMTK_DOUBLE_TINYNESS_BEFORE OFTrue +#define DCMTK_FLOAT_HAS_DENORM_LOSS OFTrue +#define DCMTK_DOUBLE_HAS_DENORM_LOSS OFTrue +#define DCMTK_ROUND_STYLE 1 + +#endif // CONFIG_ARITH_H diff --git a/recipes/dcmtk/all/patches/3.6.7-0004-fix-two-segmentation-faults.patch b/recipes/dcmtk/all/patches/3.6.7-0004-fix-two-segmentation-faults.patch new file mode 100644 index 0000000000000..225b610e167f4 --- /dev/null +++ b/recipes/dcmtk/all/patches/3.6.7-0004-fix-two-segmentation-faults.patch @@ -0,0 +1,60 @@ +--- a/dcmdata/libsrc/dcelem.cc ++++ b/dcmdata/libsrc/dcelem.cc +@@ -717,6 +717,13 @@ OFCondition DcmElement::loadValue(DcmInputStream *inStream) + if (isStreamNew) + delete readStream; + } ++ else ++ { ++ errorFlag = EC_InvalidStream; // incomplete dataset read from stream ++ DCMDATA_ERROR("DcmElement: " << getTagName() << " " << getTag() ++ << " larger (" << getLengthField() << ") than remaining bytes (" ++ << getTransferredBytes() << ") in file, premature end of stream"); ++ } + } + /* return result value */ + return errorFlag; +diff --git a/dcmnet/libsrc/dimcmd.cc b/dcmnet/libsrc/dimcmd.cc +index 6dca39546..ffd225f4b 100644 +--- a/dcmnet/libsrc/dimcmd.cc ++++ b/dcmnet/libsrc/dimcmd.cc +@@ -205,22 +205,25 @@ getString(DcmDataset *obj, DcmTagKey t, char *s, int maxlen, OFBool *spacePadded + return parseErrorWithMsg("dimcmd:getString: string too small", t); + } else { + ec = elem->getString(aString); +- strncpy(s, aString, maxlen); +- if (spacePadded) ++ if (ec.good()) + { +- /* before we remove leading and tailing spaces we want to know +- * whether the string is actually space padded. Required to communicate +- * with dumb peers which send space padded UIDs and fail if they +- * receive correct UIDs back. +- * +- * This test can only detect space padded strings if +- * dcmEnableAutomaticInputDataCorrection is false; otherwise the padding +- * has already been removed by dcmdata at this stage. +- */ +- size_t s_len = strlen(s); +- if ((s_len > 0)&&(s[s_len-1] == ' ')) *spacePadded = OFTrue; else *spacePadded = OFFalse; ++ strncpy(s, aString, maxlen); ++ if (spacePadded) ++ { ++ /* before we remove leading and tailing spaces we want to know ++ * whether the string is actually space padded. Required to communicate ++ * with dumb peers which send space padded UIDs and fail if they ++ * receive correct UIDs back. ++ * ++ * This test can only detect space padded strings if ++ * dcmEnableAutomaticInputDataCorrection is false; otherwise the padding ++ * has already been removed by dcmdata at this stage. ++ */ ++ size_t s_len = strlen(s); ++ if ((s_len > 0)&&(s[s_len-1] == ' ')) *spacePadded = OFTrue; else *spacePadded = OFFalse; ++ } ++ DU_stripLeadingAndTrailingSpaces(s); + } +- DU_stripLeadingAndTrailingSpaces(s); + } + } + return (ec.good())? ec : DIMSE_PARSEFAILED; \ No newline at end of file diff --git a/recipes/dcmtk/all/patches/3.6.8-0003-fix-two-segmentation-faults.patch b/recipes/dcmtk/all/patches/3.6.8-0003-fix-two-segmentation-faults.patch new file mode 100644 index 0000000000000..225b610e167f4 --- /dev/null +++ b/recipes/dcmtk/all/patches/3.6.8-0003-fix-two-segmentation-faults.patch @@ -0,0 +1,60 @@ +--- a/dcmdata/libsrc/dcelem.cc ++++ b/dcmdata/libsrc/dcelem.cc +@@ -717,6 +717,13 @@ OFCondition DcmElement::loadValue(DcmInputStream *inStream) + if (isStreamNew) + delete readStream; + } ++ else ++ { ++ errorFlag = EC_InvalidStream; // incomplete dataset read from stream ++ DCMDATA_ERROR("DcmElement: " << getTagName() << " " << getTag() ++ << " larger (" << getLengthField() << ") than remaining bytes (" ++ << getTransferredBytes() << ") in file, premature end of stream"); ++ } + } + /* return result value */ + return errorFlag; +diff --git a/dcmnet/libsrc/dimcmd.cc b/dcmnet/libsrc/dimcmd.cc +index 6dca39546..ffd225f4b 100644 +--- a/dcmnet/libsrc/dimcmd.cc ++++ b/dcmnet/libsrc/dimcmd.cc +@@ -205,22 +205,25 @@ getString(DcmDataset *obj, DcmTagKey t, char *s, int maxlen, OFBool *spacePadded + return parseErrorWithMsg("dimcmd:getString: string too small", t); + } else { + ec = elem->getString(aString); +- strncpy(s, aString, maxlen); +- if (spacePadded) ++ if (ec.good()) + { +- /* before we remove leading and tailing spaces we want to know +- * whether the string is actually space padded. Required to communicate +- * with dumb peers which send space padded UIDs and fail if they +- * receive correct UIDs back. +- * +- * This test can only detect space padded strings if +- * dcmEnableAutomaticInputDataCorrection is false; otherwise the padding +- * has already been removed by dcmdata at this stage. +- */ +- size_t s_len = strlen(s); +- if ((s_len > 0)&&(s[s_len-1] == ' ')) *spacePadded = OFTrue; else *spacePadded = OFFalse; ++ strncpy(s, aString, maxlen); ++ if (spacePadded) ++ { ++ /* before we remove leading and tailing spaces we want to know ++ * whether the string is actually space padded. Required to communicate ++ * with dumb peers which send space padded UIDs and fail if they ++ * receive correct UIDs back. ++ * ++ * This test can only detect space padded strings if ++ * dcmEnableAutomaticInputDataCorrection is false; otherwise the padding ++ * has already been removed by dcmdata at this stage. ++ */ ++ size_t s_len = strlen(s); ++ if ((s_len > 0)&&(s[s_len-1] == ' ')) *spacePadded = OFTrue; else *spacePadded = OFFalse; ++ } ++ DU_stripLeadingAndTrailingSpaces(s); + } +- DU_stripLeadingAndTrailingSpaces(s); + } + } + return (ec.good())? ec : DIMSE_PARSEFAILED; \ No newline at end of file diff --git a/recipes/dcmtk/all/patches/3.6.8-0004-disable-oficonv-passthrough.patch b/recipes/dcmtk/all/patches/3.6.8-0004-disable-oficonv-passthrough.patch new file mode 100644 index 0000000000000..535c23f69d8b9 --- /dev/null +++ b/recipes/dcmtk/all/patches/3.6.8-0004-disable-oficonv-passthrough.patch @@ -0,0 +1,35 @@ +--- a/config/docs/macros.txt ++++ b/config/docs/macros.txt +@@ -70,6 +70,20 @@ DCMTK_ENABLE_ACR_NEMA_DATASET_PRESENT_COMPATIBILITY + if backwards compatibility with ACR-NEMA is desired. If this is + important, compile with this macro enabled. + ++DCMTK_ENABLE_ICONV_PASSTHROUGH ++ Affected: oficonv ++ Type of modification: Activates feature ++ Explanation: If compiled with this macro, the oficonv libary will ++ simply copy input to output during a character set conversion if ++ input and output encoding are the same. This is more efficient, but ++ means that in invalid byte sequences in the source will remain ++ undetected and copied to the target, whereas the default behaviour ++ would detect this and stop the conversion. It is also incompatible ++ with the behaviour of the GNU iconv library. ++ In DCMTK 3.6.8, this feature was always enabled. ++ PATCH(conan-center-index): disabled by default in 3.6.8 as well to ++ avoid regression https://support.dcmtk.org/redmine/issues/1143 ++ + DCMTK_ENABLE_STRICT_HUFFMAN_TABLE_CHECK + Affected: dcmjpeg + Type of modification: Activates feature +--- a/oficonv/libsrc/citrus_iconv.c ++++ b/oficonv/libsrc/citrus_iconv.c +@@ -139,8 +139,7 @@ open_shared(struct _citrus_iconv_shared * * rci, + size_t len_convname; + int ret; + +-#define INCOMPATIBLE_WITH_GNU_ICONV +-#ifdef INCOMPATIBLE_WITH_GNU_ICONV ++#ifdef DCMTK_ENABLE_ICONV_PASSTHROUGH + /* + * Use a pass-through when the (src,dest) encodings are the same. + */ \ No newline at end of file diff --git a/recipes/dcmtk/all/test_package/CMakeLists.txt b/recipes/dcmtk/all/test_package/CMakeLists.txt index 4e506092ed288..0e71714e4b9f5 100644 --- a/recipes/dcmtk/all/test_package/CMakeLists.txt +++ b/recipes/dcmtk/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(DCMTK REQUIRED CONFIG) diff --git a/recipes/dcmtk/all/test_v1_package/CMakeLists.txt b/recipes/dcmtk/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/dcmtk/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/dcmtk/all/test_v1_package/conanfile.py b/recipes/dcmtk/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/dcmtk/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dd-opentracing-cpp/all/test_v1_package/CMakeLists.txt b/recipes/dd-opentracing-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/dd-opentracing-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/dd-opentracing-cpp/all/test_v1_package/conanfile.py b/recipes/dd-opentracing-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/dd-opentracing-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/decimal_for_cpp/all/test_v1_package/CMakeLists.txt b/recipes/decimal_for_cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/decimal_for_cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/decimal_for_cpp/all/test_v1_package/conanfile.py b/recipes/decimal_for_cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/decimal_for_cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/deco/all/test_v1_package/CMakeLists.txt b/recipes/deco/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/deco/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/deco/all/test_v1_package/conanfile.py b/recipes/deco/all/test_v1_package/conanfile.py deleted file mode 100644 index f64055b093b4d..0000000000000 --- a/recipes/deco/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class DecoTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/depot_tools/all/test_v1_package/conanfile.py b/recipes/depot_tools/all/test_v1_package/conanfile.py deleted file mode 100644 index 38bf21d14dbee..0000000000000 --- a/recipes/depot_tools/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,7 +0,0 @@ -from conans import ConanFile - - -class TestPackageConan(ConanFile): - def test(self): - # cit: Chrome Infrastructure CLI - self.run("cit --help", run_environment=True) diff --git a/recipes/detours/all/test_v1_package/CMakeLists.txt b/recipes/detours/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/detours/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/detours/all/test_v1_package/conanfile.py b/recipes/detours/all/test_v1_package/conanfile.py deleted file mode 100644 index 43240d491944c..0000000000000 --- a/recipes/detours/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake, tools -import io -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.verbose = 1 - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - bin_path = os.path.join("bin", "test_package") - buffer = io.StringIO() - self.run(f"{bin_path} \"{os.path.join(self.build_folder, 'bin')}\"", run_environment=True, output=buffer) - print(buffer.getvalue()) - assert "I found your message! It was 'A secret text'! I am 1337! :^)" in buffer.getvalue() diff --git a/recipes/devil/all/conandata.yml b/recipes/devil/all/conandata.yml new file mode 100644 index 0000000000000..74ea90398189d --- /dev/null +++ b/recipes/devil/all/conandata.yml @@ -0,0 +1,23 @@ +sources: + # Newer versions at the top + "1.8.0": + url: + - "https://github.com/DentonW/DevIL/archive/refs/tags/v1.8.0.tar.gz" + sha256: "52129f247b26fcb5554643c9e6bbee75c4b9717735fdbf3c6ebff08cee38ad37" +patches: + "1.8.0": + - patch_file: "patches/1.8.0-jp2_fix.patch" + patch_description: "Make devil build with supported versions of jasper" + patch_type: "conan" + - patch_file: "patches/1.8.0-jpeg_fix.patch" + patch_description: "Make devil build with newer versions of libjpeg" + patch_type: "conan" + - patch_file: "patches/1.8.0-remove_register_keyword.patch" + patch_description: "Remove invalid register keyword" + patch_type: "conan" + - patch_file: "patches/1.8.0-avoid-methoddef-dllimport-error.patch" + patch_description: "remove uses of METHODDEF from libjpeg as they are unneeded and cause errors in MSVC" + patch_type: "conan" + - patch_file: "patches/1.8.0-install-ilut-config-h.patch" + patch_description: "ensure ilut_config.h is installed" + patch_type: "conan" diff --git a/recipes/devil/all/conanfile.py b/recipes/devil/all/conanfile.py new file mode 100644 index 0000000000000..cf4639c2ca38c --- /dev/null +++ b/recipes/devil/all/conanfile.py @@ -0,0 +1,150 @@ +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +import os + + +required_conan_version = ">=2.1" + + +class DevilConan(ConanFile): + name = "devil" + description = "Developer's Image Library (DevIL) is a programmer's library to develop applications with very " \ + "powerful image loading capabilities, yet is easy for a developer to learn and use." + license = "LGPL-2.1-only" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://openil.sourceforge.net/" + topics = ("devil", "image") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_png": [True, False], + "with_jpeg": [True, False], + "with_tiff": [True, False], + "with_jasper": [True, False], + "with_squish": [True, False], + "with_lcms": [True, False] + } + default_options = { + "shared": False, + "fPIC": True, + "with_png": True, + "with_jpeg": True, + "with_tiff": True, + "with_jasper": True, + "with_squish": True, + "with_lcms": True + } + + implements = ["auto_shared_fpic"] + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.with_png: + self.requires("libpng/[>=1.6 <2]") + if self.options.with_jpeg: + self.requires("libjpeg/9e") + if self.options.with_tiff: + self.requires("libtiff/4.7.0") + if self.options.with_jasper: + self.requires("jasper/4.2.4") + if self.options.with_squish: + self.requires("libsquish/1.15") + if self.options.with_lcms: + self.requires("lcms/2.16") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + self._patch_sources() + + def generate(self): + tc = CMakeToolchain(self) + + # The CMakeLists will try to call find_package regardless of options + # ensure that even if they are picked up by the system, they are not used + tc.variables["IL_NO_PNG"] = not self.options.with_png + tc.variables["IL_NO_JPG"] = not self.options.with_jpeg + tc.variables["IL_NO_TIF"] = not self.options.with_tiff + tc.variables["IL_NO_JP2"] = not self.options.with_jasper + tc.variables["IL_NO_LCMS"] = not self.options.with_lcms + tc.variables["IL_USE_DXTC_SQUISH"] = self.options.with_squish + + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + # Let Conan handle the shared/static build + replace_in_file(self, os.path.join(self.source_folder, "DevIL", "src-ILU", "CMakeLists.txt"), + "add_library(ILU SHARED ", + "add_library(ILU ") + + replace_in_file(self, os.path.join(self.source_folder, "DevIL", "src-ILUT", "CMakeLists.txt"), + "add_library(ILUT SHARED ", + "add_library(ILUT ") + + def build(self): + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, "DevIL")) + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "DevIL") + self.cpp_info.set_property("cmake_target_name", "DevIL::DevIL") + + if self.settings.os == "Windows": + self.cpp_info.components["IL"].libs = ["DevIL"] + else: + self.cpp_info.components["IL"].libs = ["IL"] + self.cpp_info.components["IL"].set_property("cmake_target_name", "DevIL::IL") + il_requires = [] + if self.options.with_png: + il_requires.append("libpng::libpng") + if self.options.with_jpeg: + il_requires.append("libjpeg::libjpeg") + if self.options.with_tiff: + il_requires.append("libtiff::libtiff") + if self.options.with_jasper: + il_requires.append("jasper::jasper") + if self.options.with_squish: + il_requires.append("libsquish::libsquish") + if self.options.with_lcms: + il_requires.append("lcms::lcms") + self.cpp_info.components["IL"].requires = il_requires + + self.cpp_info.components["ILU"].libs = ["ILU"] + self.cpp_info.components["ILU"].set_property("cmake_target_name", "DevIL::ILU") + if self.options.with_tiff: + self.cpp_info.components["ILU"].requires = [ + "libtiff::libtiff" + ] + self.cpp_info.components["ILUT"].libs = ["ILUT"] + self.cpp_info.components["ILUT"].set_property("cmake_target_name", "DevIL::ILUT") + + if not self.options.shared: + self.cpp_info.components["IL"].defines = ["IL_STATIC_LIB"] + self.cpp_info.components["ILU"].defines = ["IL_STATIC_LIB"] + self.cpp_info.components["ILUT"].defines = ["IL_STATIC_LIB"] diff --git a/recipes/devil/all/patches/1.8.0-avoid-methoddef-dllimport-error.patch b/recipes/devil/all/patches/1.8.0-avoid-methoddef-dllimport-error.patch new file mode 100644 index 0000000000000..0e6174af77c19 --- /dev/null +++ b/recipes/devil/all/patches/1.8.0-avoid-methoddef-dllimport-error.patch @@ -0,0 +1,82 @@ +--- a/DevIL/src-IL/src/il_jpeg.cpp ++++ b/DevIL/src-IL/src/il_jpeg.cpp +@@ -219,7 +219,7 @@ typedef iread_mgr * iread_ptr; + #define INPUT_BUF_SIZE 4096 // choose an efficiently iread'able size + + +-METHODDEF(void) ++static void + init_source (j_decompress_ptr cinfo) + { + iread_ptr src = (iread_ptr) cinfo->src; +@@ -227,7 +227,7 @@ init_source (j_decompress_ptr cinfo) + } + + +-METHODDEF(boolean) ++static boolean + fill_input_buffer (j_decompress_ptr cinfo) + { + iread_ptr src = (iread_ptr) cinfo->src; +@@ -259,7 +259,7 @@ fill_input_buffer (j_decompress_ptr cinfo) + } + + +-METHODDEF(void) ++static void + skip_input_data (j_decompress_ptr cinfo, long num_bytes) + { + iread_ptr src = (iread_ptr) cinfo->src; +@@ -275,14 +275,14 @@ skip_input_data (j_decompress_ptr cinfo, long num_bytes) + } + + +-METHODDEF(void) ++static void + term_source (j_decompress_ptr cinfo) + { + // no work necessary here + } + + +-GLOBAL(void) ++void + devil_jpeg_read_init (j_decompress_ptr cinfo) + { + iread_ptr src; +@@ -371,7 +371,7 @@ typedef iwrite_mgr *iwrite_ptr; + #define OUTPUT_BUF_SIZE 4096 + + +-METHODDEF(void) ++static void + init_destination(j_compress_ptr cinfo) + { + iwrite_ptr dest = (iwrite_ptr)cinfo->dest; +@@ -384,7 +384,7 @@ init_destination(j_compress_ptr cinfo) + return; + } + +-METHODDEF(boolean) ++static boolean + empty_output_buffer (j_compress_ptr cinfo) + { + iwrite_ptr dest = (iwrite_ptr)cinfo->dest; +@@ -394,7 +394,7 @@ empty_output_buffer (j_compress_ptr cinfo) + return static_cast< boolean >( IL_TRUE ); + } + +-METHODDEF(void) ++static void + term_destination (j_compress_ptr cinfo) + { + iwrite_ptr dest = (iwrite_ptr)cinfo->dest; +@@ -403,7 +403,7 @@ term_destination (j_compress_ptr cinfo) + } + + +-GLOBAL(void) ++void + devil_jpeg_write_init(j_compress_ptr cinfo) + { + iwrite_ptr dest; diff --git a/recipes/devil/all/patches/1.8.0-install-ilut-config-h.patch b/recipes/devil/all/patches/1.8.0-install-ilut-config-h.patch new file mode 100644 index 0000000000000..9e714b4088a27 --- /dev/null +++ b/recipes/devil/all/patches/1.8.0-install-ilut-config-h.patch @@ -0,0 +1,11 @@ +--- a/DevIL/src-ILUT/CMakeLists.txt ++++ b/DevIL/src-ILUT/CMakeLists.txt +@@ -76,7 +76,7 @@ install (TARGETS ILUT + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin + ) +-install (FILES ../include/IL/ilut.h DESTINATION include/IL) ++install (FILES ../include/IL/ilut.h ../include/IL/ilut_config.h DESTINATION include/IL) + + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/ILUT.pc diff --git a/recipes/devil/all/patches/1.8.0-jp2_fix.patch b/recipes/devil/all/patches/1.8.0-jp2_fix.patch new file mode 100644 index 0000000000000..5fecfe09c7eee --- /dev/null +++ b/recipes/devil/all/patches/1.8.0-jp2_fix.patch @@ -0,0 +1,18 @@ +--- a/DevIL/src-IL/src/il_jp2.cpp ++++ b/DevIL/src-IL/src/il_jp2.cpp +@@ -314,13 +314,13 @@ ILboolean iLoadJp2Internal(jas_stream_t *Stream, ILimage *Image) + + + +-static int iJp2_file_read(jas_stream_obj_t *obj, char *buf, int cnt) ++static ssize_t iJp2_file_read(jas_stream_obj_t *obj, char *buf, size_t cnt) + { + obj; + return iread(buf, 1, cnt); + } + +-static int iJp2_file_write(jas_stream_obj_t *obj, char *buf, int cnt) ++static ssize_t iJp2_file_write(jas_stream_obj_t *obj, const char *buf, size_t cnt) + { + obj; + return iwrite(buf, 1, cnt); diff --git a/recipes/devil/all/patches/1.8.0-jpeg_fix.patch b/recipes/devil/all/patches/1.8.0-jpeg_fix.patch new file mode 100644 index 0000000000000..d70cc922bd579 --- /dev/null +++ b/recipes/devil/all/patches/1.8.0-jpeg_fix.patch @@ -0,0 +1,73 @@ +--- a/DevIL/src-IL/src/il_jpeg.cpp ++++ b/DevIL/src-IL/src/il_jpeg.cpp +@@ -245,7 +245,7 @@ fill_input_buffer (j_decompress_ptr cinfo) + src->buffer[0] = (JOCTET) 0xFF; + src->buffer[1] = (JOCTET) JPEG_EOI; + nbytes = 2; +- return IL_FALSE; ++ return static_cast< boolean >( IL_FALSE ); + } + if (nbytes < INPUT_BUF_SIZE) { + ilGetError(); // Gets rid of the IL_FILE_READ_ERROR. +@@ -253,9 +253,9 @@ fill_input_buffer (j_decompress_ptr cinfo) + + src->pub.next_input_byte = src->buffer; + src->pub.bytes_in_buffer = nbytes; +- src->start_of_file = IL_FALSE; ++ src->start_of_file = static_cast< boolean >( IL_FALSE ); + +- return IL_TRUE; ++ return static_cast< boolean >( IL_TRUE ); + } + + +@@ -334,13 +334,13 @@ ILboolean iLoadJpegInternal() + + if ((result = setjmp(JpegJumpBuffer) == 0) != IL_FALSE) { + jpeg_create_decompress(&JpegInfo); +- JpegInfo.do_block_smoothing = IL_TRUE; +- JpegInfo.do_fancy_upsampling = IL_TRUE; ++ JpegInfo.do_block_smoothing = static_cast< boolean >( IL_TRUE ); ++ JpegInfo.do_fancy_upsampling = static_cast< boolean >( IL_TRUE ); + + //jpeg_stdio_src(&JpegInfo, iGetFile()); + + devil_jpeg_read_init(&JpegInfo); +- jpeg_read_header(&JpegInfo, IL_TRUE); ++ jpeg_read_header(&JpegInfo, static_cast< boolean >( IL_TRUE )); + + result = ilLoadFromJpegStruct(&JpegInfo); + +@@ -391,7 +391,7 @@ empty_output_buffer (j_compress_ptr cinfo) + iwrite(dest->buffer, 1, OUTPUT_BUF_SIZE); + dest->pub.next_output_byte = dest->buffer; + dest->pub.free_in_buffer = OUTPUT_BUF_SIZE; +- return IL_TRUE; ++ return static_cast< boolean >( IL_TRUE ); + } + + METHODDEF(void) +@@ -554,12 +554,12 @@ ILboolean iSaveJpegInternal() + //#endif//IL_USE_JPEGLIB_UNMODIFIED + + // Set the quality output +- jpeg_set_quality(&JpegInfo, iGetInt(IL_JPG_QUALITY), IL_TRUE); ++ jpeg_set_quality(&JpegInfo, iGetInt(IL_JPG_QUALITY), static_cast(IL_TRUE)); + // Sets progressive saving here + if (ilGetBoolean(IL_JPG_PROGRESSIVE)) + jpeg_simple_progression(&JpegInfo); + +- jpeg_start_compress(&JpegInfo, IL_TRUE); ++ jpeg_start_compress(&JpegInfo, static_cast(IL_TRUE)); + + //row_stride = image_width * 3; // JSAMPLEs per row in image_buffer + +@@ -970,7 +970,7 @@ ILboolean ilSaveFromJpegStruct(void *_JpegInfo) + JpegInfo->image_height = TempImage->Height; + JpegInfo->input_components = TempImage->Bpp; // # of color components per pixel + +- jpeg_start_compress(JpegInfo, IL_TRUE); ++ jpeg_start_compress(JpegInfo, static_cast(IL_TRUE)); + + //row_stride = image_width * 3; // JSAMPLEs per row in image_buffer + diff --git a/recipes/devil/all/patches/1.8.0-remove_register_keyword.patch b/recipes/devil/all/patches/1.8.0-remove_register_keyword.patch new file mode 100644 index 0000000000000..861cfa9c82256 --- /dev/null +++ b/recipes/devil/all/patches/1.8.0-remove_register_keyword.patch @@ -0,0 +1,15 @@ +--- a/DevIL/src-IL/src/il_manip.cpp ++++ b/DevIL/src-IL/src/il_manip.cpp +@@ -37,9 +37,9 @@ ILushort ILAPIENTRY ilFloatToHalf(ILuint i) { + // of float and half (127 versus 15). + // + +- register int s = (i >> 16) & 0x00008000; +- register int e = ((i >> 23) & 0x000000ff) - (127 - 15); +- register int m = i & 0x007fffff; ++ int s = (i >> 16) & 0x00008000; ++ int e = ((i >> 23) & 0x000000ff) - (127 - 15); ++ int m = i & 0x007fffff; + + // + // Now reassemble s, e and m into a half: diff --git a/recipes/devil/all/test_package/CMakeLists.txt b/recipes/devil/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d17240799670c --- /dev/null +++ b/recipes/devil/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_devil LANGUAGES CXX) + +find_package(DevIL REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +# don't link to ${CONAN_LIBS} or CONAN_PKG::package +target_link_libraries(${PROJECT_NAME} PRIVATE DevIL::IL DevIL::ILU DevIL::ILUT DevIL::DevIL) diff --git a/recipes/devil/all/test_package/conanfile.py b/recipes/devil/all/test_package/conanfile.py new file mode 100644 index 0000000000000..7b984260fd10f --- /dev/null +++ b/recipes/devil/all/test_package/conanfile.py @@ -0,0 +1,27 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +# It will become the standard on Conan 2.x +class TestDevilConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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_devil") + self.run(bin_path, env="conanrun") diff --git a/recipes/devil/all/test_package/test_package.cpp b/recipes/devil/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..995955b900e72 --- /dev/null +++ b/recipes/devil/all/test_package/test_package.cpp @@ -0,0 +1,14 @@ +#include +#include +#include +#include + + +int main() { + ilInit(); + iluGetImageInfo(0); + + ilShutDown(); + + return EXIT_SUCCESS; +} diff --git a/recipes/devil/config.yml b/recipes/devil/config.yml new file mode 100644 index 0000000000000..4d72270a88048 --- /dev/null +++ b/recipes/devil/config.yml @@ -0,0 +1,3 @@ +versions: + "1.8.0": + folder: all diff --git a/recipes/di/all/test_v1_package/CMakeLists.txt b/recipes/di/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/di/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/di/all/test_v1_package/conanfile.py b/recipes/di/all/test_v1_package/conanfile.py deleted file mode 100644 index da134b42a75e3..0000000000000 --- a/recipes/di/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class DiConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "example"), run_environment=True) diff --git a/recipes/dice-template-library/all/test_v1_package/CMakeLists.txt b/recipes/dice-template-library/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/dice-template-library/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/dice-template-library/all/test_v1_package/conanfile.py b/recipes/dice-template-library/all/test_v1_package/conanfile.py deleted file mode 100644 index fd66d89b7cd91..0000000000000 --- a/recipes/dice-template-library/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi", "cmake_find_package_multi", - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dime/all/test_v1_package/CMakeLists.txt b/recipes/dime/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/dime/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/dime/all/test_v1_package/conanfile.py b/recipes/dime/all/test_v1_package/conanfile.py deleted file mode 100644 index c1e0ae2f456f0..0000000000000 --- a/recipes/dime/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - dxf_path = os.path.join(self.source_folder, os.pardir, "test_package", "testFile_Bug01.dxf") - self.run(f"{bin_path} {dxf_path}", run_environment=True) diff --git a/recipes/directshowbaseclasses/all/test_v1_package/CMakeLists.txt b/recipes/directshowbaseclasses/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/directshowbaseclasses/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/directshowbaseclasses/all/test_v1_package/conanfile.py b/recipes/directshowbaseclasses/all/test_v1_package/conanfile.py deleted file mode 100644 index a9a22676d134f..0000000000000 --- a/recipes/directshowbaseclasses/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dirent/all/test_v1_package/CMakeLists.txt b/recipes/dirent/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/dirent/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/dirent/all/test_v1_package/conanfile.py b/recipes/dirent/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/dirent/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/discount/all/test_v1_package/CMakeLists.txt b/recipes/discount/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/discount/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/discount/all/test_v1_package/conanfile.py b/recipes/discount/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/discount/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/djinni-generator/all/test_v1_package/conanfile.py b/recipes/djinni-generator/all/test_v1_package/conanfile.py deleted file mode 100644 index 456428a9a8670..0000000000000 --- a/recipes/djinni-generator/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ - -from io import StringIO -from conans import ConanFile, tools - -class TestPackageConan(ConanFile): - settings = "os", "arch" - - def build(self): - pass # please no warning that we build nothing - - def test(self): - if not tools.cross_building(self.settings): - output = StringIO() - self.run("djinni --help", output=output, run_environment=True) - output.seek(0, 0) - found_usage = False - for line in output: - if "Usage: djinni [options]" in line: - found_usage = True - break - assert(found_usage) diff --git a/recipes/djinni-support-lib/1.x.x/test_v1_package/CMakeLists.txt b/recipes/djinni-support-lib/1.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/djinni-support-lib/1.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/djinni-support-lib/1.x.x/test_v1_package/conanfile.py b/recipes/djinni-support-lib/1.x.x/test_v1_package/conanfile.py deleted file mode 100644 index c534d392ac09f..0000000000000 --- a/recipes/djinni-support-lib/1.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake - - def build(self): - cmake = self._configure_cmake() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/djinni-support-lib/all/test_v1_package/CMakeLists.txt b/recipes/djinni-support-lib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/djinni-support-lib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/djinni-support-lib/all/test_v1_package/conanfile.py b/recipes/djinni-support-lib/all/test_v1_package/conanfile.py deleted file mode 100644 index c534d392ac09f..0000000000000 --- a/recipes/djinni-support-lib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake - - def build(self): - cmake = self._configure_cmake() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dlpack/all/test_v1_package/CMakeLists.txt b/recipes/dlpack/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/dlpack/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/dlpack/all/test_v1_package/conanfile.py b/recipes/dlpack/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/dlpack/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/docopt.cpp/all/test_v1_package/CMakeLists.txt b/recipes/docopt.cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/docopt.cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/docopt.cpp/all/test_v1_package/conanfile.py b/recipes/docopt.cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 85a33f9580148..0000000000000 --- a/recipes/docopt.cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(f"{bin_path} --help", run_environment=True) diff --git a/recipes/doctest/2.x.x/test_v1_package/CMakeLists.txt b/recipes/doctest/2.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/doctest/2.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/doctest/2.x.x/test_v1_package/conanfile.py b/recipes/doctest/2.x.x/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/doctest/2.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/double-conversion/all/test_v1_package/CMakeLists.txt b/recipes/double-conversion/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/double-conversion/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/double-conversion/all/test_v1_package/conanfile.py b/recipes/double-conversion/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/double-conversion/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/doxygen/all/conandata.yml b/recipes/doxygen/all/conandata.yml index 32fdd824d1e93..bc35d6a0c794e 100644 --- a/recipes/doxygen/all/conandata.yml +++ b/recipes/doxygen/all/conandata.yml @@ -1,63 +1,13 @@ sources: + "1.12.0": + url: "https://github.com/doxygen/doxygen/releases/download/Release_1_12_0/doxygen-1.12.0.src.tar.gz" + sha256: "a3a3dba2018ef409d83d81a2fc42a0d19bdbe087252ef342bf214b51b8b01634" "1.9.4": url: "https://sourceforge.net/projects/doxygen/files/doxygen-1.9.4.src.tar.gz" sha256: "a15e9cd8c0d02b7888bc8356eac200222ecff1defd32f3fe05257d81227b1f37" - "1.9.2": - url: "https://sourceforge.net/projects/doxygen/files/doxygen-1.9.2.src.tar.gz" - sha256: "060f254bcef48673cc7ccf542736b7455b67c110b30fdaa33512a5b09bbecee5" - "1.9.1": - url: "https://sourceforge.net/projects/doxygen/files/doxygen-1.9.1.src.tar.gz" - sha256: "67aeae1be4e1565519898f46f1f7092f1973cce8a767e93101ee0111717091d1" - "1.8.20": - url: "https://sourceforge.net/projects/doxygen/files/doxygen-1.8.20.src.tar.gz" - sha256: "e0db6979286fd7ccd3a99af9f97397f2bae50532e4ecb312aa18862f8401ddec" - "1.8.18": - url: "https://sourceforge.net/projects/doxygen/files/doxygen-1.8.18.src.tar.gz" - sha256: "18173d9edc46d2d116c1f92a95d683ec76b6b4b45b817ac4f245bb1073d00656" - "1.8.17": - url: "https://sourceforge.net/projects/doxygen/files/doxygen-1.8.17.src.tar.gz" - sha256: "2cba988af2d495541cbbe5541b3bee0ee11144dcb23a81eada19f5501fd8b599" patches: "1.9.4": - patch_file: "patches/1.9.4-0001-enable-modern-compilers.patch" patch_description: "Enable modern compilers" patch_type: "portability" patch_source: "https://github.com/doxygen/doxygen/commit/5198966c8d5fec89116d025c74934ac03ea511fa" - - patch_file: "patches/1.9.4-0002-fix-iconv-linkage.patch" - patch_description: "Replace IConv CMake variables by Conan CMake targets" - patch_type: "conan" - "1.9.2": - - patch_file: "patches/1.9.2-0001-imported-target.patch" - patch_description: "Fix includes" - patch_type: "portability" - - patch_file: "patches/1.9.2-0002-fix-iconv-linkage.patch" - patch_description: "Replace IConv CMake variables by Conan CMake targets" - patch_type: "conan" - "1.9.1": - - patch_file: "patches/1.9.1-0001-imported-target.patch" - patch_description: "Fix includes" - patch_type: "portability" - - patch_file: "patches/1.9.1-0002-fix-iconv-linkage.patch" - patch_description: "Replace IConv CMake variables by Conan CMake targets" - patch_type: "conan" - "1.8.20": - - patch_file: "patches/1.8-0001-xapian.patch" - patch_description: "Fix xapian find_package command" - patch_type: "portability" - - patch_file: "patches/1.8.20-0002-fix-iconv-linkage.patch" - patch_description: "Replace IConv CMake variables by Conan CMake targets" - patch_type: "conan" - "1.8.18": - - patch_file: "patches/1.8-0001-xapian.patch" - patch_description: "Fix xapian find_package command" - patch_type: "portability" - - patch_file: "patches/1.8.18-0002-fix-iconv-linkage.patch" - patch_description: "Replace IConv CMake variables by Conan CMake targets" - patch_type: "conan" - "1.8.17": - - patch_file: "patches/1.8-0001-xapian.patch" - patch_description: "Fix xapian find_package command" - patch_type: "portability" - - patch_file: "patches/1.8.17-0002-fix-iconv-linkage.patch" - patch_description: "Replace IConv CMake variables by Conan CMake targets" - patch_type: "conan" diff --git a/recipes/doxygen/all/conanfile.py b/recipes/doxygen/all/conanfile.py index e3bd611aea91d..f86de9d6011bb 100644 --- a/recipes/doxygen/all/conanfile.py +++ b/recipes/doxygen/all/conanfile.py @@ -1,12 +1,13 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get -from conan.tools.microsoft import check_min_vs, is_msvc_static_runtime +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file +from conan.tools.microsoft import is_msvc_static_runtime from conan.tools.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=2.4" class DoxygenConan(ConanFile): @@ -26,25 +27,9 @@ class DoxygenConan(ConanFile): default_options = { "enable_parse": True, "enable_search": True, - "enable_app": False, + "enable_app": False } - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - @property - def _minimum_compiler_version(self): - if Version(self.version) <= "1.9.1": - return { - "gcc": "5", - } - return { - "gcc": "7", # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66297 - "Visual Studio": "15", - "msvc": "191", - } - def export_sources(self): export_conandata_patches(self) @@ -56,28 +41,34 @@ def requirements(self): self.requires("xapian-core/1.4.19") self.requires("zlib/[>=1.2.11 <2]") if self.options.enable_app or self.options.enable_parse: - # INFO: Doxygen uses upper case CMake variables to link/include IConv, so we are using patches for targets. self.requires("libiconv/1.17") - def compatibility(self): - return [{"settings": [("build_type", "Release")]}] - def validate(self): - minimum_compiler_version = self._minimum_compiler_version.get(str(self.settings.compiler)) - if minimum_compiler_version and Version(self.settings.compiler.version) < minimum_compiler_version: - raise ConanInvalidConfiguration(f"Compiler version too old. At least {minimum_compiler_version} is required.") - if Version(self.version) == "1.8.18": - check_min_vs(self, "191") + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": + raise ConanInvalidConfiguration("Doxygen requires GCC >=5") + + if self.settings.compiler == "msvc" and Version(self.settings.compiler.version) < "191": + raise ConanInvalidConfiguration("Doxygen requires Visual Studio 2017 or newer") + + check_min_cppstd(self, "17") def build_requirements(self): - if self._settings_build.os == "Windows": + if self.settings_build.os == "Windows": self.tool_requires("winflexbison/2.5.24") else: self.tool_requires("flex/2.6.4") self.tool_requires("bison/3.8.2") + self.tool_requires("cmake/[>=3.19 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + apply_conandata_patches(self) + + #Do not build manpages + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + replace_in_file(self, cmakelists, "add_subdirectory(doc)", "") + replace_in_file(self, cmakelists, "set(CMAKE_CXX_STANDARD", "##set(CMAKE_CXX_STANDARD") def generate(self): tc = CMakeToolchain(self) @@ -89,10 +80,10 @@ def generate(self): tc.generate() deps = CMakeDeps(self) + deps.set_property("libiconv", "cmake_additional_variables_prefixes", ["ICONV"]) deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -106,8 +97,3 @@ def package_info(self): self.cpp_info.set_property("cmake_find_mode", "none") self.cpp_info.libdirs = [] self.cpp_info.includedirs = [] - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs = ["pthread", "m"] - - # TODO: to remove in conan v2 - self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/doxygen/all/patches/1.8-0001-xapian.patch b/recipes/doxygen/all/patches/1.8-0001-xapian.patch deleted file mode 100644 index c892c87957f88..0000000000000 --- a/recipes/doxygen/all/patches/1.8-0001-xapian.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/addon/doxysearch/CMakeLists.txt 2020-08-24 13:12:55.000000000 +0200 -+++ b/addon/doxysearch/CMakeLists.txt 2022-12-16 20:41:07.040801300 +0100 -@@ -1,8 +1,8 @@ --find_package(Xapian REQUIRED) -+find_package(xapian REQUIRED) - find_package(ZLIB REQUIRED) - - if (WIN32) -- set(WIN_EXTRA_LIBS "uuid.lib rpcrt4.lib ws2_32.lib") -+ set(WIN_EXTRA_LIBS uuid.lib rpcrt4.lib ws2_32.lib) - endif() - - include_directories( diff --git a/recipes/doxygen/all/patches/1.8.17-0002-fix-iconv-linkage.patch b/recipes/doxygen/all/patches/1.8.17-0002-fix-iconv-linkage.patch deleted file mode 100644 index 39ee763500256..0000000000000 --- a/recipes/doxygen/all/patches/1.8.17-0002-fix-iconv-linkage.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cd0fcaaca..67e0808ae 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -109,6 +109,7 @@ if (sqlite3) - endif() - - find_package(Iconv REQUIRED) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - include_directories(${ICONV_INCLUDE_DIR}) - - -diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt -index ae52cabc3..73e1e3d29 100644 ---- a/addon/doxyapp/CMakeLists.txt -+++ b/addon/doxyapp/CMakeLists.txt -@@ -1,4 +1,5 @@ - find_package(Iconv) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - - include_directories( - ${CMAKE_SOURCE_DIR}/src -@@ -26,7 +27,7 @@ mscgen - doxygen_version - doxycfg - vhdlparser --${ICONV_LIBRARIES} -+Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${SQLITE3_LIBRARIES} - ${EXTRA_LIBS} -diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt -index 2387f1b3c..cbf451037 100644 ---- a/addon/doxyparse/CMakeLists.txt -+++ b/addon/doxyparse/CMakeLists.txt -@@ -1,4 +1,5 @@ - find_package(Iconv) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - - include_directories( - ${CMAKE_SOURCE_DIR}/src -@@ -26,7 +27,7 @@ mscgen - doxygen_version - doxycfg - vhdlparser --${ICONV_LIBRARIES} -+Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${SQLITE3_LIBRARIES} - ${EXTRA_LIBS} -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 23460d004..8f2c51012 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -325,7 +325,7 @@ target_link_libraries(doxygen - doxygen_version - vhdlparser - ${SQLITE3_LIBRARIES} -- ${ICONV_LIBRARIES} -+ Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${EXTRA_LIBS} - ${CLANG_LIBS} --- - diff --git a/recipes/doxygen/all/patches/1.8.18-0002-fix-iconv-linkage.patch b/recipes/doxygen/all/patches/1.8.18-0002-fix-iconv-linkage.patch deleted file mode 100644 index 9bd67ebc094cd..0000000000000 --- a/recipes/doxygen/all/patches/1.8.18-0002-fix-iconv-linkage.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 20c87dc6f..cd8527618 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -110,6 +110,7 @@ if (sqlite3) - endif() - - find_package(Iconv REQUIRED) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - include_directories(${ICONV_INCLUDE_DIR}) - - -diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt -index ae52cabc3..73e1e3d29 100644 ---- a/addon/doxyapp/CMakeLists.txt -+++ b/addon/doxyapp/CMakeLists.txt -@@ -1,4 +1,5 @@ - find_package(Iconv) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - - include_directories( - ${CMAKE_SOURCE_DIR}/src -@@ -26,7 +27,7 @@ mscgen - doxygen_version - doxycfg - vhdlparser --${ICONV_LIBRARIES} -+Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${SQLITE3_LIBRARIES} - ${EXTRA_LIBS} -diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt -index 2387f1b3c..cbf451037 100644 ---- a/addon/doxyparse/CMakeLists.txt -+++ b/addon/doxyparse/CMakeLists.txt -@@ -1,4 +1,5 @@ - find_package(Iconv) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - - include_directories( - ${CMAKE_SOURCE_DIR}/src -@@ -26,7 +27,7 @@ mscgen - doxygen_version - doxycfg - vhdlparser --${ICONV_LIBRARIES} -+Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${SQLITE3_LIBRARIES} - ${EXTRA_LIBS} -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index b7d4af271..6f9a032c0 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -321,7 +321,7 @@ target_link_libraries(doxygen - doxygen_version - vhdlparser - ${SQLITE3_LIBRARIES} -- ${ICONV_LIBRARIES} -+ Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${EXTRA_LIBS} - ${CLANG_LIBS} --- - diff --git a/recipes/doxygen/all/patches/1.8.20-0002-fix-iconv-linkage.patch b/recipes/doxygen/all/patches/1.8.20-0002-fix-iconv-linkage.patch deleted file mode 100644 index c32eb98953039..0000000000000 --- a/recipes/doxygen/all/patches/1.8.20-0002-fix-iconv-linkage.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 35e6a0c2d..71f609898 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -117,6 +117,7 @@ if (sqlite3) - endif() - - find_package(Iconv REQUIRED) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - include_directories(${ICONV_INCLUDE_DIR}) - - -diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt -index a6a776a31..ba29331c0 100644 ---- a/addon/doxyapp/CMakeLists.txt -+++ b/addon/doxyapp/CMakeLists.txt -@@ -1,4 +1,5 @@ - find_package(Iconv) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - - include_directories( - ${CMAKE_SOURCE_DIR}/src -@@ -31,7 +32,7 @@ mscgen - doxygen_version - doxycfg - vhdlparser --${ICONV_LIBRARIES} -+Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${SQLITE3_LIBRARIES} - ${EXTRA_LIBS} -diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt -index 8df99ab6b..034a93a4f 100644 ---- a/addon/doxyparse/CMakeLists.txt -+++ b/addon/doxyparse/CMakeLists.txt -@@ -1,4 +1,5 @@ - find_package(Iconv) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - - include_directories( - ${CMAKE_SOURCE_DIR}/src -@@ -31,7 +32,7 @@ mscgen - doxygen_version - doxycfg - vhdlparser --${ICONV_LIBRARIES} -+Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${SQLITE3_LIBRARIES} - ${EXTRA_LIBS} -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index cb289116e..2dab461e2 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -356,7 +356,7 @@ target_link_libraries(doxygen PRIVATE - doxygen_version - vhdlparser - ${SQLITE3_LIBRARIES} -- ${ICONV_LIBRARIES} -+ Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${EXTRA_LIBS} - ${CLANG_LIBS} --- - diff --git a/recipes/doxygen/all/patches/1.9.1-0001-imported-target.patch b/recipes/doxygen/all/patches/1.9.1-0001-imported-target.patch deleted file mode 100644 index 170bfd9753ce3..0000000000000 --- a/recipes/doxygen/all/patches/1.9.1-0001-imported-target.patch +++ /dev/null @@ -1,70 +0,0 @@ -diff --git a/libmscgen/mscgen_bool.h b/libmscgen/mscgen_bool.h -index e982d80..d16ef98 100644 ---- libmscgen/mscgen_bool.h -+++ libmscgen/mscgen_bool.h -@@ -23,6 +23,14 @@ - #ifndef MSCGEN_BOOL_H - #define MSCGEN_BOOL_H - -+/* Some system headers define TRUE and FALSE so undefine them first */ -+#ifdef TRUE -+#undef TRUE -+#endif -+#ifdef FALSE -+#undef FALSE -+#endif -+ - typedef enum - { - FALSE = 0, -diff --git a/qtools/qglobal.h b/qtools/qglobal.h -index 0deef5d..86846f8 100644 ---- qtools/qglobal.h -+++ qtools/qglobal.h -@@ -357,6 +356,7 @@ typedef const char *pcchar; - typedef __int64 int64; - typedef unsigned __int64 uint64; - #else -+#include - #if !defined(_OS_AIX_) || !defined(_H_INTTYPES) - typedef long long int64; - #endif -diff --git a/src/doxygen.cpp b/src/doxygen.cpp -index 3fdde9bc..1b32e273 100644 ---- src/doxygen.cpp -+++ src/doxygen.cpp -@@ -12,6 +12,7 @@ - * input used in their production; they are not affected by this license. - * - */ -+#include - - #include - -@@ -32,7 +33,6 @@ - #include - #include - #include --#include - - #include "version.h" - #include "doxygen.h" -diff --git a/src/util.cpp b/src/util.cpp -index 7fcd5ed..399e7a2 100644 ---- src/util.cpp -+++ src/util.cpp -@@ -13,13 +13,13 @@ - * input used in their production; they are not affected by this license. - * - */ -+#include - - #include - #include - #include - #include - #include --#include - #include - - #include diff --git a/recipes/doxygen/all/patches/1.9.1-0002-fix-iconv-linkage.patch b/recipes/doxygen/all/patches/1.9.1-0002-fix-iconv-linkage.patch deleted file mode 100644 index 6a3bb24247325..0000000000000 --- a/recipes/doxygen/all/patches/1.9.1-0002-fix-iconv-linkage.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 06b9696f2..a70245b54 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -118,6 +118,7 @@ if (sqlite3) - endif() - - find_package(Iconv REQUIRED) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - include_directories(${ICONV_INCLUDE_DIR}) - - -diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt -index 707fdedbf..8d51b76f7 100644 ---- a/addon/doxyapp/CMakeLists.txt -+++ b/addon/doxyapp/CMakeLists.txt -@@ -1,4 +1,5 @@ - find_package(Iconv) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - - include_directories( - ${PROJECT_SOURCE_DIR}/src -@@ -43,7 +44,7 @@ mscgen - doxygen_version - doxycfg - vhdlparser --${ICONV_LIBRARIES} -+Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${SQLITE3_LIBRARIES} - ${EXTRA_LIBS} -diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt -index fe2f2c2ff..131354e95 100644 ---- a/addon/doxyparse/CMakeLists.txt -+++ b/addon/doxyparse/CMakeLists.txt -@@ -1,4 +1,5 @@ - find_package(Iconv) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - - include_directories( - ${PROJECT_SOURCE_DIR}/src -@@ -31,7 +32,7 @@ mscgen - doxygen_version - doxycfg - vhdlparser --${ICONV_LIBRARIES} -+Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${SQLITE3_LIBRARIES} - ${EXTRA_LIBS} -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 5004a9578..c63399bc1 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -351,7 +351,7 @@ target_link_libraries(doxygen PRIVATE - doxygen_version - vhdlparser - ${SQLITE3_LIBRARIES} -- ${ICONV_LIBRARIES} -+ Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${EXTRA_LIBS} - ${CLANG_LIBS} --- - diff --git a/recipes/doxygen/all/patches/1.9.2-0001-imported-target.patch b/recipes/doxygen/all/patches/1.9.2-0001-imported-target.patch deleted file mode 100644 index aa88aa13aa307..0000000000000 --- a/recipes/doxygen/all/patches/1.9.2-0001-imported-target.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- libmscgen/mscgen_bool.h -+++ libmscgen/mscgen_bool.h -@@ -23,6 +23,14 @@ - #ifndef MSCGEN_BOOL_H - #define MSCGEN_BOOL_H - -+/* Some system headers define TRUE and FALSE so undefine them first */ -+#ifdef TRUE -+#undef TRUE -+#endif -+#ifdef FALSE -+#undef FALSE -+#endif -+ - typedef enum - { - FALSE = 0, diff --git a/recipes/doxygen/all/patches/1.9.2-0002-fix-iconv-linkage.patch b/recipes/doxygen/all/patches/1.9.2-0002-fix-iconv-linkage.patch deleted file mode 100644 index 699ac1e93addc..0000000000000 --- a/recipes/doxygen/all/patches/1.9.2-0002-fix-iconv-linkage.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 251e18b77..4df454b39 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -118,6 +118,7 @@ if (sqlite3) - endif() - - find_package(Iconv REQUIRED) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - include_directories(${ICONV_INCLUDE_DIR}) - - -diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt -index a6fde4285..e19fc3d22 100644 ---- a/addon/doxyapp/CMakeLists.txt -+++ b/addon/doxyapp/CMakeLists.txt -@@ -1,4 +1,5 @@ - find_package(Iconv) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - - include_directories( - ${PROJECT_SOURCE_DIR}/src -@@ -42,7 +43,7 @@ mscgen - doxygen_version - doxycfg - vhdlparser --${ICONV_LIBRARIES} -+Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${SQLITE3_LIBRARIES} - ${EXTRA_LIBS} -diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt -index f439c29d9..e56b9a1de 100644 ---- a/addon/doxyparse/CMakeLists.txt -+++ b/addon/doxyparse/CMakeLists.txt -@@ -1,4 +1,5 @@ - find_package(Iconv) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - - include_directories( - ${PROJECT_SOURCE_DIR}/src -@@ -30,7 +31,7 @@ mscgen - doxygen_version - doxycfg - vhdlparser --${ICONV_LIBRARIES} -+Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${SQLITE3_LIBRARIES} - ${EXTRA_LIBS} -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 18406488d..5c7144582 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -360,7 +360,7 @@ target_link_libraries(doxygen PRIVATE - doxygen_version - vhdlparser - ${SQLITE3_LIBRARIES} -- ${ICONV_LIBRARIES} -+ Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${EXTRA_LIBS} - ${CLANG_LIBS} --- - diff --git a/recipes/doxygen/all/patches/1.9.4-0002-fix-iconv-linkage.patch b/recipes/doxygen/all/patches/1.9.4-0002-fix-iconv-linkage.patch deleted file mode 100644 index c8e1489aa5a64..0000000000000 --- a/recipes/doxygen/all/patches/1.9.4-0002-fix-iconv-linkage.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d9765964e..05784dd8f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -147,6 +147,7 @@ if (sqlite3) - endif() - - find_package(Iconv REQUIRED) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - include_directories(${ICONV_INCLUDE_DIR}) - - -diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt -index bcc4393d4..95d06cee2 100644 ---- a/addon/doxyapp/CMakeLists.txt -+++ b/addon/doxyapp/CMakeLists.txt -@@ -1,4 +1,5 @@ - find_package(Iconv) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - - include_directories( - ${PROJECT_SOURCE_DIR}/src -@@ -44,7 +45,7 @@ mscgen - doxygen_version - doxycfg - vhdlparser --${ICONV_LIBRARIES} -+Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${SQLITE3_LIBRARIES} - ${EXTRA_LIBS} -diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt -index 774756640..eb64c8895 100644 ---- a/addon/doxyparse/CMakeLists.txt -+++ b/addon/doxyparse/CMakeLists.txt -@@ -1,4 +1,5 @@ - find_package(Iconv) -+get_target_property(ICONV_INCLUDE_DIR Iconv::Iconv INTERFACE_INCLUDE_DIRECTORIES) - - include_directories( - ${PROJECT_SOURCE_DIR}/src -@@ -33,7 +34,7 @@ mscgen - doxygen_version - doxycfg - vhdlparser --${ICONV_LIBRARIES} -+Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${SQLITE3_LIBRARIES} - ${EXTRA_LIBS} -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 9f7e65364..8d332a30a 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -359,7 +359,7 @@ target_link_libraries(doxygen PRIVATE - doxygen_version - vhdlparser - ${SQLITE3_LIBRARIES} -- ${ICONV_LIBRARIES} -+ Iconv::Iconv - ${CMAKE_THREAD_LIBS_INIT} - ${EXTRA_LIBS} - ${CLANG_LIBS} --- - diff --git a/recipes/doxygen/all/test_package/conanfile.py b/recipes/doxygen/all/test_package/conanfile.py index 17e0d51d2d0e2..aeb3db4ed040f 100644 --- a/recipes/doxygen/all/test_package/conanfile.py +++ b/recipes/doxygen/all/test_package/conanfile.py @@ -4,13 +4,11 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "VirtualBuildEnv" - test_type = "explicit" - def build_requirements(self): - self.tool_requires(self.tested_reference_str) + def requirements(self): + self.requires(self.tested_reference_str) def test(self): if can_run(self): self.output.info("Doxygen Version:") - self.run("doxygen --version") + self.run("doxygen --version", env="conanrun") diff --git a/recipes/doxygen/config.yml b/recipes/doxygen/config.yml index 2157880ecf476..9354306101ae8 100644 --- a/recipes/doxygen/config.yml +++ b/recipes/doxygen/config.yml @@ -1,13 +1,5 @@ versions: - "1.9.4": - folder: "all" - "1.9.2": - folder: "all" - "1.9.1": - folder: "all" - "1.8.20": - folder: "all" - "1.8.18": - folder: "all" - "1.8.17": + "1.12.0": folder: "all" + "1.9.4": + folder: "all" \ No newline at end of file diff --git a/recipes/dpp/all/conandata.yml b/recipes/dpp/all/conandata.yml new file mode 100644 index 0000000000000..72137f59232db --- /dev/null +++ b/recipes/dpp/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "10.0.35": + url: + - "https://github.com/brainboxdotcc/DPP/archive/refs/tags/v10.0.35.zip" + sha256: "ebe82b0c3c7678d31bc26ad7ab9aedfd66057a559c541750ede5d19a0ed0c245" + "10.0.34": + url: + - "https://github.com/brainboxdotcc/DPP/archive/refs/tags/v10.0.34.zip" + sha256: "944dcaa19638ff88feceae2f543662675eb8aceb59458ad369edc28819e05054" diff --git a/recipes/dpp/all/conanfile.py b/recipes/dpp/all/conanfile.py new file mode 100644 index 0000000000000..b33af815685ca --- /dev/null +++ b/recipes/dpp/all/conanfile.py @@ -0,0 +1,81 @@ +import os +from conan import ConanFile +from conan.tools.build import check_min_cppstd, cross_building +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps +from conan.tools.files import get, copy, rmdir +from conan.tools.scm import Version + +required_conan_version = ">=2" + +class DPPConan(ConanFile): + name = "dpp" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/brainboxdotcc/DPP" + description = "D++ is a lightweight and efficient library for Discord" + topics = ("discord") + package_type = "shared-library" + settings = "os", "compiler", "build_type", "arch" + + def validate(self): + check_min_cppstd(self, "17") + + def requirements(self): + self.requires("nlohmann_json/3.11.2", transitive_libs=True, transitive_headers=True) + self.requires("openssl/[>=1.1 <4]") + self.requires("zlib/[>=1.2.11 <2]") + self.requires("opus/1.4") + + def layout(self): + cmake_layout(self, src_folder="src") + + + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + tc = CMakeToolchain(self) + tc.cache_variables["DPP_NO_VCPKG"] = True + tc.cache_variables["DPP_USE_EXTERNAL_JSON"] = True + tc.cache_variables["CONAN_EXPORTED"] = True + tc.cache_variables["BUILD_VOICE_SUPPORT"] = True + tc.cache_variables["DPP_BUILD_TEST"] = False + tc.cache_variables["BUILD_SHARED_LIBS"] = True + if Version(self.version) <= "10.0.34": + # Workaround for Neon not compiling in old versions + tc.cache_variables["AVX_TYPE"] = "AVX0" + if self.settings.os == "Macos" and cross_building(self) and self.settings.arch == "x86_64": + tc.cache_variables["AVX1_EXITCODE"] = "0" + tc.cache_variables["AVX2_EXITCODE"] = "0" + tc.cache_variables["AVX512_EXITCODE"] = "-1" + tc.cache_variables["AVX1024_EXITCODE"] = "-1" + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.libs = ["dpp"] + self.cpp_info.set_property("cmake_file_name", "dpp") + self.cpp_info.set_property("cmake_target_name", "dpp::dpp") + # On windows only, the headers and libs go into dpp-10.0 subdirectories. + if self.settings.os == "Windows": + self.cpp_info.includedirs = ["include/dpp-10.0"] + self.cpp_info.libdirs = ["lib/dpp-10.0"] + elif self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread"] + self.cpp_info.defines = ["DPP_USE_EXTERNAL_JSON"] diff --git a/recipes/dpp/all/test_package/CMakeLists.txt b/recipes/dpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..6aad9088d01aa --- /dev/null +++ b/recipes/dpp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) +find_package(dpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE dpp::dpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/dpp/all/test_package/conanfile.py b/recipes/dpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/dpp/all/test_package/conanfile.py @@ -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 requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/dpp/all/test_package/test_package.cpp b/recipes/dpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..90606cfd59042 --- /dev/null +++ b/recipes/dpp/all/test_package/test_package.cpp @@ -0,0 +1,5 @@ +#include + +int main() { + dpp::cluster test_cluster(""); +} diff --git a/recipes/dpp/config.yml b/recipes/dpp/config.yml new file mode 100644 index 0000000000000..7b7ac472d8862 --- /dev/null +++ b/recipes/dpp/config.yml @@ -0,0 +1,5 @@ +versions: + "10.0.35": + folder: all + "10.0.34": + folder: all diff --git a/recipes/draco/all/test_v1_package/CMakeLists.txt b/recipes/draco/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/draco/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/draco/all/test_v1_package/conanfile.py b/recipes/draco/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/draco/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dragonbox/all/test_v1_package/CMakeLists.txt b/recipes/dragonbox/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/dragonbox/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/dragonbox/all/test_v1_package/conanfile.py b/recipes/dragonbox/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/dragonbox/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/drflac/all/test_v1_package/CMakeLists.txt b/recipes/drflac/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/drflac/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/drflac/all/test_v1_package/conanfile.py b/recipes/drflac/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/drflac/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/drmp3/all/test_v1_package/CMakeLists.txt b/recipes/drmp3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/drmp3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/drmp3/all/test_v1_package/conanfile.py b/recipes/drmp3/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/drmp3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml index fecd2ed6377de..78bae5ec69798 100644 --- a/recipes/drogon/all/conandata.yml +++ b/recipes/drogon/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.8": + url: "https://github.com/drogonframework/drogon/archive/v1.9.8.tar.gz" + sha256: "62332a4882cc7db1c7cf04391b65c91ddf6fcbb49af129fc37eb0130809e0449" "1.9.7": url: "https://github.com/drogonframework/drogon/archive/v1.9.7.tar.gz" sha256: "e54c5d604769a496b951e5af52a0f85e60eba584fae426d204eb5b2f02cfbf59" @@ -27,6 +30,13 @@ sources: url: "https://github.com/drogonframework/drogon/archive/v1.8.7.tar.gz" sha256: "d2d80d35becd69bf80d74bf09b69425193f1b7be3926bd44f3ac7b951e54465d" patches: + "1.9.8": + - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" + patch_description: "remove shared libs option" + patch_type: "conan" + - patch_file: "patches/1.9.7-0002-find-cci-packages.patch" + patch_description: "Fix jsoncpp cmake target name" + patch_type: "conan" "1.9.7": - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" patch_description: "remove shared libs option" diff --git a/recipes/drogon/config.yml b/recipes/drogon/config.yml index b6e81018df502..09b2c8efe8045 100644 --- a/recipes/drogon/config.yml +++ b/recipes/drogon/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.8": + folder: "all" "1.9.7": folder: "all" "1.9.6": diff --git a/recipes/drwav/all/test_v1_package/CMakeLists.txt b/recipes/drwav/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/drwav/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/drwav/all/test_v1_package/conanfile.py b/recipes/drwav/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/drwav/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/dtl/all/test_v1_package/CMakeLists.txt b/recipes/dtl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/dtl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/dtl/all/test_v1_package/conanfile.py b/recipes/dtl/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/dtl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/duckdb/all/conandata.yml b/recipes/duckdb/all/conandata.yml index cf9fce4151d56..459430601e0ca 100644 --- a/recipes/duckdb/all/conandata.yml +++ b/recipes/duckdb/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "1.1.3": + url: "https://github.com/duckdb/duckdb/archive/refs/tags/v1.1.2.tar.gz" + sha256: "a3319a64c390ed0454c869b2e4fc0af2413cd49f55cd0f1400aaed9069cdbc4c" + "1.1.2": + url: "https://github.com/duckdb/duckdb/archive/refs/tags/v1.1.2.tar.gz" + sha256: "a3319a64c390ed0454c869b2e4fc0af2413cd49f55cd0f1400aaed9069cdbc4c" + "1.1.1": + url: "https://github.com/duckdb/duckdb/archive/refs/tags/v1.1.1.tar.gz" + sha256: "a764cef80287ccfd8555884d8facbe962154e7c747043c0842cd07873b4d6752" "1.1.0": url: "https://github.com/duckdb/duckdb/archive/refs/tags/v1.1.0.tar.gz" sha256: "d9be2c6d3a5ebe2b3d33044fb2cb535bb0bd972a27ae38c4de5e1b4caa4bf68d" @@ -17,25 +26,28 @@ sources: "0.9.0": url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.9.0.tar.gz" sha256: "3dbf3326a831bf0797591572440e81a3d6d668f8e33a25ce04efae19afc3a23d" - "0.8.1": - url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.8.1.tar.gz" - sha256: "a0674f7e320dc7ebcf51990d7fc1c0e7f7b2c335c08f5953702b5285e6c30694" - "0.8.0": - url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.8.0.tar.gz" - sha256: "df3b8e0b72bce38914f0fb1cd02235d8b616df9209beb14beb06bfbcaaf2e97f" - "0.7.1": - url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.7.1.tar.gz" - sha256: "67f840f861e5ffbe137d65a8543642d016f900b89dd035492d562ad11acf0e1e" - "0.6.1": - url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.6.1.tar.gz" - sha256: "ea9bba89ae3e461f3fc9f83911b2f3b6c386c23463bcf7b1ed6bb4cc13e822a4" - "0.6.0": - url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.6.0.tar.gz" - sha256: "700b09114f8b99892a9d19ba21ca962ae65d1ea8085622418a2fa50ff915b244" - "0.5.1": - url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.5.1.tar.gz" - sha256: "3dab7ba0d0f8d024d3c73fd3d4fb8834203c31d7b0ddb1e8539ee266e11b0e9b" patches: + "1.1.3": + - patch_file: "patches/1.1.1-0001-fix-cmake.patch" + patch_description: "install static of shared library, add installation for odbc extention" + patch_type: "portability" + - patch_file: "patches/1.1.1-0002-msvc-bicobj.patch" + patch_description: "add /bigobj flag" + patch_type: "portability" + "1.1.2": + - patch_file: "patches/1.1.1-0001-fix-cmake.patch" + patch_description: "install static of shared library, add installation for odbc extention" + patch_type: "portability" + - patch_file: "patches/1.1.1-0002-msvc-bicobj.patch" + patch_description: "add /bigobj flag" + patch_type: "portability" + "1.1.1": + - patch_file: "patches/1.1.1-0001-fix-cmake.patch" + patch_description: "install static of shared library, add installation for odbc extention" + patch_type: "portability" + - patch_file: "patches/1.1.1-0002-msvc-bicobj.patch" + patch_description: "add /bigobj flag" + patch_type: "portability" "1.1.0": - patch_file: "patches/1.1.0-0001-fix-cmake.patch" patch_description: "install static of shared library, add installation for odbc extention" @@ -72,35 +84,3 @@ patches: - patch_file: "patches/0.9.0-0001-fix-cmake.patch" patch_description: "install static of shared library, add installation for odbc extention" patch_type: "portability" - "0.8.1": - - patch_file: "patches/0.8.1-0001-fix-cmake.patch" - patch_description: "install static of shared library, add installation for odbc extention" - patch_type: "portability" - "0.8.0": - - patch_file: "patches/0.8.0-0001-fix-cmake.patch" - patch_description: "install static of shared library, add installation for odbc extention" - patch_type: "portability" - "0.7.1": - - patch_file: "patches/0.7.0-0001-fix-cmake.patch" - patch_description: "install static of shared library, add installation for odbc extention" - patch_type: "portability" - "0.6.1": - - patch_file: "patches/0.6.0-0001-fix-cmake.patch" - patch_description: "install static of shared library, add installation for odbc extention" - patch_type: "portability" - - patch_file: "patches/0.6.0-0002-include-stdlib.patch" - patch_description: "include stdlib for abort function" - patch_type: "portability" - patch_source: "https://github.com/duckdb/duckdb/commit/50b0bd07a6c22d17c4453632fce3b3d3c872663e" - "0.6.0": - - patch_file: "patches/0.6.0-0001-fix-cmake.patch" - patch_description: "install static of shared library, add installation for odbc extention" - patch_type: "portability" - - patch_file: "patches/0.6.0-0002-include-stdlib.patch" - patch_description: "include stdlib for abort function" - patch_type: "portability" - patch_source: "https://github.com/duckdb/duckdb/commit/50b0bd07a6c22d17c4453632fce3b3d3c872663e" - "0.5.1": - - patch_file: "patches/0.5.1-0001-fix-cmake.patch" - patch_description: "install static of shared library, add installation for odbc extention" - patch_type: "portability" diff --git a/recipes/duckdb/all/conanfile.py b/recipes/duckdb/all/conanfile.py index 7f21bb189c4b0..cce9c23deb6ff 100644 --- a/recipes/duckdb/all/conanfile.py +++ b/recipes/duckdb/all/conanfile.py @@ -25,7 +25,6 @@ class DuckdbConan(ConanFile): "fPIC": [True, False], "with_autocomplete": [True, False], "with_icu": [True, False], - "with_parquet": [True, False], "with_tpch": [True, False], "with_tpcds": [True, False], "with_fts": [True, False], @@ -46,7 +45,6 @@ class DuckdbConan(ConanFile): "fPIC": True, "with_autocomplete": False, "with_icu": False, - "with_parquet": False, "with_tpch": False, "with_tpcds": False, "with_fts": False, @@ -74,8 +72,6 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if Version(self.version) >= "0.9.0": - del self.options.with_parquet if Version(self.version) >= "1.1.0": del self.options.with_odbc @@ -111,46 +107,33 @@ def generate(self): tc.variables["DUCKDB_PATCH_VERSION"] = Version(self.version).patch tc.variables["DUCKDB_DEV_ITERATION"] = 0 tc.variables["OVERRIDE_GIT_DESCRIBE"] = f"v{self.version}" - if "with_parquet" in self.options: - tc.variables["BUILD_PARQUET_EXTENSION"] = self.options.with_parquet - if Version(self.version) >= "0.9.0": - build_extensions = "" - if self.options.with_icu: - build_extensions += ";icu" - if self.options.with_autocomplete: - build_extensions += ";autocomplete" - if self.options.with_tpch: - build_extensions += ";tpch" - if self.options.with_tpcds: - build_extensions += ";tpcds" - if self.options.with_fts: - build_extensions += ";fts" - if self.options.with_visualizer: - build_extensions += ";visualizer" - if self.options.with_httpfs: - build_extensions += ";httpfs" - if self.options.with_json: - build_extensions += ";json" - if self.options.with_excel: - build_extensions += ";excel" - if self.options.with_inet: - build_extensions += ";inet" - if self.options.with_sqlsmith: - build_extensions += ";sqlsmith" - tc.variables["BUILD_EXTENSIONS"] = build_extensions - else: - tc.variables["BUILD_ICU_EXTENSION"] = self.options.with_icu - tc.variables["BUILD_TPCH_EXTENSION"] = self.options.with_tpch - tc.variables["BUILD_TPCDS_EXTENSION"] = self.options.with_tpcds - tc.variables["BUILD_FTS_EXTENSION"] = self.options.with_fts - tc.variables["BUILD_HTTPFS_EXTENSION"] = self.options.with_httpfs - tc.variables["BUILD_VISUALIZER_EXTENSION"] = self.options.with_visualizer - tc.variables["BUILD_JSON_EXTENSION"] = self.options.with_json - tc.variables["BUILD_EXCEL_EXTENSION"] = self.options.with_excel - tc.variables["BUILD_SQLSMITH_EXTENSION"] = self.options.with_sqlsmith - - if "self.options" in self.options: + build_extensions = "" + if self.options.with_icu: + build_extensions += ";icu" + if self.options.with_autocomplete: + build_extensions += ";autocomplete" + if self.options.with_tpch: + build_extensions += ";tpch" + if self.options.with_tpcds: + build_extensions += ";tpcds" + if self.options.with_fts: + build_extensions += ";fts" + if self.options.with_visualizer: + build_extensions += ";visualizer" + if self.options.with_httpfs: + build_extensions += ";httpfs" + if self.options.with_json: + build_extensions += ";json" + if self.options.with_excel: + build_extensions += ";excel" + if self.options.with_inet: + build_extensions += ";inet" + if self.options.with_sqlsmith: + build_extensions += ";sqlsmith" + tc.variables["BUILD_EXTENSIONS"] = build_extensions + + if "with_odbc" in self.options: tc.variables["BUILD_ODBC_DRIVER"] = self.options.with_odbc tc.variables["FORCE_QUERY_LOG"] = self.options.with_query_log tc.variables["BUILD_SHELL"] = self.options.with_shell @@ -214,8 +197,7 @@ def package_info(self): "duckdb_fastpforlib", "duckdb_mbedtls", ] - if Version(self.version) >= "0.6.0": - self.cpp_info.libs.append("duckdb_fsst") + self.cpp_info.libs.append("duckdb_fsst") if Version(self.version) >= "0.10.0": self.cpp_info.libs.append("duckdb_skiplistlib") if Version(self.version) >= "0.10.3": @@ -237,7 +219,7 @@ def package_info(self): self.cpp_info.libs.append("visualizer_extension") if self.options.with_httpfs: self.cpp_info.libs.append("httpfs_extension") - if (Version(self.version) >= "0.6.0" and self.settings.os == "Linux" and + if (self.settings.os == "Linux" and (Version(self.version) < "0.10.1" or self.settings.arch == "x86_64")): self.cpp_info.libs.append("jemalloc_extension") if self.options.with_json: diff --git a/recipes/duckdb/all/patches/0.5.1-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.5.1-0001-fix-cmake.patch deleted file mode 100644 index 4c586f0038760..0000000000000 --- a/recipes/duckdb/all/patches/0.5.1-0001-fix-cmake.patch +++ /dev/null @@ -1,82 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cc43104..5b034d2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -196,6 +196,8 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS") - set(SUN TRUE) - endif() - -+if(0) # conan patch -+ - execute_process( - COMMAND git log -1 --format=%h - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -@@ -236,6 +238,10 @@ else() - set(DUCKDB_VERSION "v${DUCKDB_MAJOR_VERSION}.${DUCKDB_MINOR_VERSION}.${DUCKDB_PATCH_VERSION}-dev${DUCKDB_DEV_ITERATION}") - endif() - -+else() # conan patch -+set(DUCKDB_VERSION "v${DUCKDB_MAJOR_VERSION}.${DUCKDB_MINOR_VERSION}.${DUCKDB_PATCH_VERSION}-dev${DUCKDB_DEV_ITERATION}") -+endif() # conan patch -+ - option(AMALGAMATION_BUILD - "Build from the amalgamation files, rather than from the normal sources." - FALSE) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 7e07a47..8027d90 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -166,9 +166,18 @@ if(BUILD_PYTHON - endif() - endif() - --install( -- TARGETS duckdb duckdb_static -- EXPORT "${DUCKDB_EXPORT_SET}" -- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -- RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+if(BUILD_SHARED_LIBS) -+ install( -+ TARGETS duckdb -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+else() -+ install( -+ TARGETS duckdb_static -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+endif() -diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt -index 9d116b9..b46e5bd 100644 ---- a/tools/odbc/CMakeLists.txt -+++ b/tools/odbc/CMakeLists.txt -@@ -53,3 +53,11 @@ add_library( - set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") - - target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) -+ -+install( -+ TARGETS duckdb_odbc -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -+) -diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt -index cef9622..ca7e1f1 100644 ---- a/tools/sqlite3_api_wrapper/CMakeLists.txt -+++ b/tools/sqlite3_api_wrapper/CMakeLists.txt -@@ -14,7 +14,7 @@ add_library(sqlite3_api_wrapper_static STATIC sqlite3_api_wrapper.cpp - target_link_libraries(sqlite3_api_wrapper_static duckdb_static duckdb_utf8proc) - link_threads(sqlite3_api_wrapper_static) - --if(NOT WIN32) -+if(BUILD_SHARED_LIBS AND NOT WIN32) - add_library(sqlite3_api_wrapper SHARED sqlite3_api_wrapper.cpp - ${ALL_OBJECT_FILES}) - target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) diff --git a/recipes/duckdb/all/patches/0.6.0-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.6.0-0001-fix-cmake.patch deleted file mode 100644 index d43649a21a753..0000000000000 --- a/recipes/duckdb/all/patches/0.6.0-0001-fix-cmake.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index b1bb843..4a4949c 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -167,9 +167,18 @@ if(BUILD_PYTHON - endif() - endif() - --install( -- TARGETS duckdb duckdb_static -- EXPORT "${DUCKDB_EXPORT_SET}" -- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -- RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+if(BUILD_SHARED_LIBS) -+ install( -+ TARGETS duckdb -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+else() -+ install( -+ TARGETS duckdb_static -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+endif() -diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt -index 9d116b9..b46e5bd 100644 ---- a/tools/odbc/CMakeLists.txt -+++ b/tools/odbc/CMakeLists.txt -@@ -53,3 +53,11 @@ add_library( - set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") - - target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) -+ -+install( -+ TARGETS duckdb_odbc -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -+) -diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt -index e785d4f..922746f 100644 ---- a/tools/sqlite3_api_wrapper/CMakeLists.txt -+++ b/tools/sqlite3_api_wrapper/CMakeLists.txt -@@ -17,7 +17,7 @@ add_library(sqlite3_api_wrapper_static STATIC ${SQLITE_API_WRAPPER_FILES}) - target_link_libraries(sqlite3_api_wrapper_static duckdb_static duckdb_utf8proc) - link_threads(sqlite3_api_wrapper_static) - --if(NOT WIN32) -+if(BUILD_SHARED_LIBS AND NOT WIN32) - add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) - target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) - link_threads(sqlite3_api_wrapper) diff --git a/recipes/duckdb/all/patches/0.6.0-0002-include-stdlib.patch b/recipes/duckdb/all/patches/0.6.0-0002-include-stdlib.patch deleted file mode 100644 index e9e04e59a49cc..0000000000000 --- a/recipes/duckdb/all/patches/0.6.0-0002-include-stdlib.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/extension/jemalloc/jemalloc/include/jemalloc/internal/jemalloc_preamble.h b/extension/jemalloc/jemalloc/include/jemalloc/internal/jemalloc_preamble.h -index 47455cb..cfd73bc 100644 ---- a/extension/jemalloc/jemalloc/include/jemalloc/internal/jemalloc_preamble.h -+++ b/extension/jemalloc/jemalloc/include/jemalloc/internal/jemalloc_preamble.h -@@ -4,6 +4,7 @@ - #include - #include - #include -+#include - - #include "jemalloc/internal/jemalloc_internal_defs.h" - #include "jemalloc/internal/jemalloc_internal_decls.h" diff --git a/recipes/duckdb/all/patches/0.7.0-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.7.0-0001-fix-cmake.patch deleted file mode 100644 index 0ba6b7e472f9a..0000000000000 --- a/recipes/duckdb/all/patches/0.7.0-0001-fix-cmake.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 99cd46c..3f3d039 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -182,9 +182,18 @@ if(BUILD_PYTHON - endif() - endif() - --install( -- TARGETS duckdb duckdb_static -- EXPORT "${DUCKDB_EXPORT_SET}" -- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -- RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+if(BUILD_SHARED_LIBS) -+ install( -+ TARGETS duckdb -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+else() -+ install( -+ TARGETS duckdb_static -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+endif() -diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt -index 8f13cfe..6755894 100644 ---- a/tools/odbc/CMakeLists.txt -+++ b/tools/odbc/CMakeLists.txt -@@ -53,6 +53,14 @@ add_library( - set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") - target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) - -+install( -+ TARGETS duckdb_odbc -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -+) -+ - if(NOT WIN32 AND NOT CLANG_TIDY) - add_subdirectory(test) - endif() -diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt -index e785d4f..922746f 100644 ---- a/tools/sqlite3_api_wrapper/CMakeLists.txt -+++ b/tools/sqlite3_api_wrapper/CMakeLists.txt -@@ -17,7 +17,7 @@ add_library(sqlite3_api_wrapper_static STATIC ${SQLITE_API_WRAPPER_FILES}) - target_link_libraries(sqlite3_api_wrapper_static duckdb_static duckdb_utf8proc) - link_threads(sqlite3_api_wrapper_static) - --if(NOT WIN32) -+if(BUILD_SHARED_LIBS AND NOT WIN32) - add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) - target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) - link_threads(sqlite3_api_wrapper) diff --git a/recipes/duckdb/all/patches/0.8.0-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.8.0-0001-fix-cmake.patch deleted file mode 100644 index 6daffba956a1a..0000000000000 --- a/recipes/duckdb/all/patches/0.8.0-0001-fix-cmake.patch +++ /dev/null @@ -1,86 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 0200c15..4a59ae6 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -75,23 +75,27 @@ else() - duckdb_fastpforlib - duckdb_mbedtls) - -+ if(BUILD_SHARED_LIBS) - add_library(duckdb SHARED ${ALL_OBJECT_FILES}) - target_link_libraries(duckdb ${DUCKDB_LINK_LIBS}) - link_threads(duckdb) - link_extension_libraries(duckdb) -- -+ else() - add_library(duckdb_static STATIC ${ALL_OBJECT_FILES}) - target_link_libraries(duckdb_static ${DUCKDB_LINK_LIBS}) - link_threads(duckdb_static) - link_extension_libraries(duckdb_static) -+ endif() - -+ if(BUILD_SHARED_LIBS) - target_include_directories( - duckdb PUBLIC $ - $) -- -+ else() - target_include_directories( - duckdb_static PUBLIC $ - $) -+ endif() - - install( - DIRECTORY "${PROJECT_SOURCE_DIR}/src/include/duckdb" -@@ -104,9 +108,18 @@ else() - - endif() - -+if(BUILD_SHARED_LIBS) - install( -- TARGETS duckdb duckdb_static -+ TARGETS duckdb - EXPORT "${DUCKDB_EXPORT_SET}" - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" - ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" - RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+else() -+install( -+ TARGETS duckdb_static -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+endif() -diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt -index 8f13cfe..6755894 100644 ---- a/tools/odbc/CMakeLists.txt -+++ b/tools/odbc/CMakeLists.txt -@@ -53,6 +53,14 @@ add_library( - set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") - target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) - -+install( -+ TARGETS duckdb_odbc -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -+) -+ - if(NOT WIN32 AND NOT CLANG_TIDY) - add_subdirectory(test) - endif() -diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt -index d46c676..93a1875 100644 ---- a/tools/sqlite3_api_wrapper/CMakeLists.txt -+++ b/tools/sqlite3_api_wrapper/CMakeLists.txt -@@ -19,7 +19,7 @@ if(NOT AMALGAMATION_BUILD) - endif() - link_threads(sqlite3_api_wrapper_static) - --if(NOT WIN32) -+if(BUILD_SHARED_LIBS AND NOT WIN32) - add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) - target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) - link_threads(sqlite3_api_wrapper) diff --git a/recipes/duckdb/all/patches/0.8.1-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.8.1-0001-fix-cmake.patch deleted file mode 100644 index 5cd9417ef53c9..0000000000000 --- a/recipes/duckdb/all/patches/0.8.1-0001-fix-cmake.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 0200c15..008c20e 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -75,24 +75,26 @@ else() - duckdb_fastpforlib - duckdb_mbedtls) - -+ if(BUILD_SHARED_LIBS) - add_library(duckdb SHARED ${ALL_OBJECT_FILES}) - target_link_libraries(duckdb ${DUCKDB_LINK_LIBS}) - link_threads(duckdb) - link_extension_libraries(duckdb) -- -+ else() - add_library(duckdb_static STATIC ${ALL_OBJECT_FILES}) - target_link_libraries(duckdb_static ${DUCKDB_LINK_LIBS}) - link_threads(duckdb_static) - link_extension_libraries(duckdb_static) -- -+ endif() -+ if(BUILD_SHARED_LIBS) - target_include_directories( - duckdb PUBLIC $ - $) -- -+ else() - target_include_directories( - duckdb_static PUBLIC $ - $) -- -+ endif() - install( - DIRECTORY "${PROJECT_SOURCE_DIR}/src/include/duckdb" - DESTINATION "${INSTALL_INCLUDE_DIR}" -@@ -104,9 +106,18 @@ else() - - endif() - -+if(BUILD_SHARED_LIBS) - install( -- TARGETS duckdb duckdb_static -+ TARGETS duckdb - EXPORT "${DUCKDB_EXPORT_SET}" - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" - ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" - RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+else() -+install( -+ TARGETS duckdb_static -+ EXPORT "${DUCKDB_EXPORT_SET}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" -+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") -+endif() -diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt -index 8f13cfe..6755894 100644 ---- a/tools/odbc/CMakeLists.txt -+++ b/tools/odbc/CMakeLists.txt -@@ -53,6 +53,14 @@ add_library( - set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") - target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) - -+install( -+ TARGETS duckdb_odbc -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -+) -+ - if(NOT WIN32 AND NOT CLANG_TIDY) - add_subdirectory(test) - endif() -diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt -index 84ac539..f5597a4 100644 ---- a/tools/sqlite3_api_wrapper/CMakeLists.txt -+++ b/tools/sqlite3_api_wrapper/CMakeLists.txt -@@ -26,7 +26,7 @@ if(NOT AMALGAMATION_BUILD) - endif() - link_threads(sqlite3_api_wrapper_static) - --if(NOT WIN32) -+if(BUILD_SHARED_LIBS AND NOT WIN32) - add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) - target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) - link_threads(sqlite3_api_wrapper) diff --git a/recipes/duckdb/all/patches/1.1.1-0001-fix-cmake.patch b/recipes/duckdb/all/patches/1.1.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..426c745da3cdf --- /dev/null +++ b/recipes/duckdb/all/patches/1.1.1-0001-fix-cmake.patch @@ -0,0 +1,110 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5c2503e..f7ab0e8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -892,12 +892,12 @@ function(build_loadable_extension_directory NAME ABI_TYPE OUTPUT_DIRECTORY EXTEN + set(FOOTER_VERSION_VALUE ${CAPI_VERSION}) + endif() + +- add_custom_command( +- TARGET ${TARGET_NAME} +- POST_BUILD +- COMMAND +- ${CMAKE_COMMAND} -DABI_TYPE=${ABI_TYPE} -DEXTENSION=$${EXTENSION_POSTFIX} -DPLATFORM_FILE=${DuckDB_BINARY_DIR}/duckdb_platform_out -DVERSION_FIELD="${FOOTER_VERSION_VALUE}" -DEXTENSION_VERSION="${EXTENSION_VERSION}" -DNULL_FILE=${DUCKDB_MODULE_BASE_DIR}/scripts/null.txt -P ${DUCKDB_MODULE_BASE_DIR}/scripts/append_metadata.cmake +- ) ++ # add_custom_command( ++ # TARGET ${TARGET_NAME} ++ # POST_BUILD ++ # COMMAND ++ # ${CMAKE_COMMAND} -DABI_TYPE=${ABI_TYPE} -DEXTENSION=$${EXTENSION_POSTFIX} -DPLATFORM_FILE=${DuckDB_BINARY_DIR}/duckdb_platform_out -DVERSION_FIELD="${FOOTER_VERSION_VALUE}" -DEXTENSION_VERSION="${EXTENSION_VERSION}" -DNULL_FILE=${DUCKDB_MODULE_BASE_DIR}/scripts/null.txt -P ${DUCKDB_MODULE_BASE_DIR}/scripts/append_metadata.cmake ++ # ) + add_dependencies(${TARGET_NAME} duckdb_platform) + if (NOT EXTENSION_CONFIG_BUILD AND NOT ${EXTENSION_TESTS_ONLY} AND NOT CLANG_TIDY) + add_dependencies(duckdb_local_extension_repo ${TARGET_NAME}) +@@ -927,7 +927,7 @@ function(build_static_extension NAME PARAMETERS) + set(FILES "${ARGV}") + list(REMOVE_AT FILES 0) + add_library(${NAME}_extension STATIC ${FILES}) +- target_link_libraries(${NAME}_extension duckdb_static) ++ # target_link_libraries(${NAME}_extension duckdb_static) + endfunction() + + # Internal extension register function +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3e757a4..957f0e4 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -109,7 +109,7 @@ else() + duckdb_skiplistlib + duckdb_mbedtls + duckdb_yyjson) +- ++ if(BUILD_SHARED_LIBS) + add_library(duckdb SHARED ${ALL_OBJECT_FILES}) + + if(WIN32 AND NOT MINGW) +@@ -135,16 +135,16 @@ else() + target_link_libraries(duckdb ${DUCKDB_LINK_LIBS}) + link_threads(duckdb) + link_extension_libraries(duckdb) +- ++ endif() + add_library(duckdb_static STATIC ${ALL_OBJECT_FILES}) + target_link_libraries(duckdb_static ${DUCKDB_LINK_LIBS}) + link_threads(duckdb_static) + link_extension_libraries(duckdb_static) +- ++ if(BUILD_SHARED_LIBS) + target_include_directories( + duckdb PUBLIC $ + $) +- ++ endif() + target_include_directories( + duckdb_static PUBLIC $ + $) +@@ -160,10 +160,18 @@ else() + DESTINATION "${INSTALL_INCLUDE_DIR}") + + endif() +- ++if(BUILD_SHARED_LIBS) + install( +- TARGETS duckdb duckdb_static ++ TARGETS duckdb + EXPORT "${DUCKDB_EXPORT_SET}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" + ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" + RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++else() ++install( ++ TARGETS duckdb_static ++ EXPORT "${DUCKDB_EXPORT_SET}" ++ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" ++ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++endif() +diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt +index e29c33e..9e387f9 100644 +--- a/tools/sqlite3_api_wrapper/CMakeLists.txt ++++ b/tools/sqlite3_api_wrapper/CMakeLists.txt +@@ -26,12 +26,12 @@ if(NOT AMALGAMATION_BUILD) + endif() + link_threads(sqlite3_api_wrapper_static) + +-if(NOT WIN32 AND NOT ZOS) ++if(BUILD_SHARED_LIBS AND NOT WIN32 AND NOT ZOS) + add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) + target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) + link_threads(sqlite3_api_wrapper) + endif() +- ++if(0) + include_directories(../../third_party/catch) + + include_directories(test/include) +@@ -43,3 +43,4 @@ if(WIN32 OR ZOS) + else() + target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper) + endif() ++endif() diff --git a/recipes/duckdb/all/patches/1.1.1-0002-msvc-bicobj.patch b/recipes/duckdb/all/patches/1.1.1-0002-msvc-bicobj.patch new file mode 100644 index 0000000000000..b8385d1df35d3 --- /dev/null +++ b/recipes/duckdb/all/patches/1.1.1-0002-msvc-bicobj.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f7ab0e8..a00353d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -570,7 +570,7 @@ if(NOT MSVC) + endif() + else() + set(CMAKE_CXX_WINDOWS_FLAGS +- "/wd4244 /wd4267 /wd4200 /wd26451 /wd26495 /D_CRT_SECURE_NO_WARNINGS /utf-8") ++ "/wd4244 /wd4267 /wd4200 /wd26451 /wd26495 /D_CRT_SECURE_NO_WARNINGS /utf-8 /bigobj") + if(TREAT_WARNINGS_AS_ERRORS) + set(CMAKE_CXX_WINDOWS_FLAGS "${CMAKE_CXX_WINDOWS_FLAGS} /WX") + endif() diff --git a/recipes/duckdb/all/test_v1_package/CMakeLists.txt b/recipes/duckdb/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/duckdb/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/duckdb/all/test_v1_package/conanfile.py b/recipes/duckdb/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/duckdb/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/duckdb/config.yml b/recipes/duckdb/config.yml index f79e88a559bee..e49709a230ba5 100644 --- a/recipes/duckdb/config.yml +++ b/recipes/duckdb/config.yml @@ -1,4 +1,10 @@ versions: + "1.1.3": + folder: "all" + "1.1.2": + folder: "all" + "1.1.1": + folder: "all" "1.1.0": folder: "all" "1.0.0": @@ -11,15 +17,3 @@ versions: folder: "all" "0.9.0": folder: "all" - "0.8.1": - folder: "all" - "0.8.0": - folder: "all" - "0.7.1": - folder: "all" - "0.6.1": - folder: "all" - "0.6.0": - folder: "all" - "0.5.1": - folder: "all" diff --git a/recipes/duktape/all/test_v1_package/CMakeLists.txt b/recipes/duktape/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/duktape/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/duktape/all/test_v1_package/conanfile.py b/recipes/duktape/all/test_v1_package/conanfile.py deleted file mode 100644 index d47b5097e761e..0000000000000 --- a/recipes/duktape/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import CMake, ConanFile, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/earcut/all/test_v1_package/CMakeLists.txt b/recipes/earcut/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index cf60ef4f067f3..0000000000000 --- a/recipes/earcut/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/earcut/all/test_v1_package/conanfile.py b/recipes/earcut/all/test_v1_package/conanfile.py deleted file mode 100644 index a8c92dea63335..0000000000000 --- a/recipes/earcut/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/easy_profiler/all/test_v1_package/CMakeLists.txt b/recipes/easy_profiler/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/easy_profiler/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/easy_profiler/all/test_v1_package/conanfile.py b/recipes/easy_profiler/all/test_v1_package/conanfile.py deleted file mode 100644 index 8037a9296cc42..0000000000000 --- a/recipes/easy_profiler/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/easyexif/all/test_v1_package/CMakeLists.txt b/recipes/easyexif/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index a84ec58a29d01..0000000000000 --- a/recipes/easyexif/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(easyexif REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/example.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE easyexif::easyexif) diff --git a/recipes/easyexif/all/test_v1_package/conanfile.py b/recipes/easyexif/all/test_v1_package/conanfile.py deleted file mode 100644 index a691174f8ed16..0000000000000 --- a/recipes/easyexif/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - diff --git a/recipes/easyhttpcpp/all/test_v1_package/CMakeLists.txt b/recipes/easyhttpcpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/easyhttpcpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/easyhttpcpp/all/test_v1_package/conanfile.py b/recipes/easyhttpcpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 5da5f0f382b3f..0000000000000 --- a/recipes/easyhttpcpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(f"{bin_path} http://localhost:80", run_environment=True) diff --git a/recipes/easyloggingpp/all/test_v1_package/CMakeLists.txt b/recipes/easyloggingpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/easyloggingpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/easyloggingpp/all/test_v1_package/conanfile.py b/recipes/easyloggingpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/easyloggingpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/easylzma/all/test_v1_package/CMakeLists.txt b/recipes/easylzma/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/easylzma/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/easylzma/all/test_v1_package/conanfile.py b/recipes/easylzma/all/test_v1_package/conanfile.py deleted file mode 100644 index 6c9d5dba712c7..0000000000000 --- a/recipes/easylzma/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ecos/all/test_v1_package/CMakeLists.txt b/recipes/ecos/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 465202cc7e581..0000000000000 --- a/recipes/ecos/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(ecos REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE ecos::ecos) diff --git a/recipes/ecos/all/test_v1_package/conanfile.py b/recipes/ecos/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/ecos/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/edlib/all/test_v1_package/CMakeLists.txt b/recipes/edlib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/edlib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/edlib/all/test_v1_package/conanfile.py b/recipes/edlib/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/edlib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/edyn/all/test_v1_package/CMakeLists.txt b/recipes/edyn/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/edyn/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/edyn/all/test_v1_package/conanfile.py b/recipes/edyn/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/edyn/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/effcee/all/test_v1_package/CMakeLists.txt b/recipes/effcee/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/effcee/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/effcee/all/test_v1_package/conanfile.py b/recipes/effcee/all/test_v1_package/conanfile.py deleted file mode 100644 index 12dd810a6ab3b..0000000000000 --- a/recipes/effcee/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/efsw/all/conandata.yml b/recipes/efsw/all/conandata.yml new file mode 100644 index 0000000000000..7dd750f85dbbc --- /dev/null +++ b/recipes/efsw/all/conandata.yml @@ -0,0 +1,8 @@ +sources: + # Newer versions at the top + "1.4.1": + url: "https://github.com/SpartanJ/efsw/archive/refs/tags/1.4.1.tar.gz" + sha256: "f0ddee587928737c6a3dc92eb88266a804c77279cbdf29d47e5e6f6ad6c7fd9a" + "1.4.0": + url: "https://github.com/SpartanJ/efsw/archive/refs/tags/1.4.0.tar.gz" + sha256: "9eed5fc8471767faa44134f5379d4de02825e3756007dafa482fd1656e42bc4a" diff --git a/recipes/efsw/all/conanfile.py b/recipes/efsw/all/conanfile.py new file mode 100644 index 0000000000000..05d9db6ba0105 --- /dev/null +++ b/recipes/efsw/all/conanfile.py @@ -0,0 +1,75 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rm, rmdir, replace_in_file +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +import os + + +required_conan_version = ">=2.1" + + +class EfswConan(ConanFile): + name = "efsw" + description = "efsw is a C++ cross-platform file system watcher and notifier." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/SpartanJ/efsw" + topics = ("file system", "watch", "cross-platform") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + implements = ["auto_shared_fpic"] + + def validate(self): + check_min_cppstd(self, 11) + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + if is_msvc(self): + tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) + tc.variables["BUILD_TEST_APP"] = False + tc.variables["BUILD_STATIC_LIBS"] = False + tc.generate() + + def _patch_sources(self): + # INFO: Honor fPIC option. The upstream sets fPIC to ON always + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "set(CMAKE_POSITION_INDEPENDENT_CODE ON)", "") + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.libs = ["efsw"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "pthread"] + if self.settings.os == "Macos": + self.cpp_info.frameworks = ["Cocoa", "CoreFoundation", "CoreServices"] diff --git a/recipes/efsw/all/test_package/CMakeLists.txt b/recipes/efsw/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..060bcf241df10 --- /dev/null +++ b/recipes/efsw/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) # if the project uses c++ + +find_package(efsw REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE efsw::efsw) diff --git a/recipes/efsw/all/test_package/conanfile.py b/recipes/efsw/all/test_package/conanfile.py new file mode 100644 index 0000000000000..cef342207237c --- /dev/null +++ b/recipes/efsw/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +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" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/efsw/all/test_package/test_package.cpp b/recipes/efsw/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..05eff3352085a --- /dev/null +++ b/recipes/efsw/all/test_package/test_package.cpp @@ -0,0 +1,13 @@ +#include +#include // EXIT_SUCCESS +#include "efsw/efsw.hpp" + +int main() { + efsw::FileWatcher* fileWatcher = new efsw::FileWatcher(); + + std::cout << "Follows symlinks?: " << fileWatcher->followSymlinks() << std::endl; + + delete fileWatcher; + + return EXIT_SUCCESS; +} diff --git a/recipes/efsw/config.yml b/recipes/efsw/config.yml new file mode 100644 index 0000000000000..4b2c882b0c67a --- /dev/null +++ b/recipes/efsw/config.yml @@ -0,0 +1,5 @@ +versions: + "1.4.1": + folder: all + "1.4.0": + folder: all diff --git a/recipes/egl-headers/all/test_v1_package/CMakeLists.txt b/recipes/egl-headers/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de..0000000000000 --- a/recipes/egl-headers/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/egl-headers/all/test_v1_package/conanfile.py b/recipes/egl-headers/all/test_v1_package/conanfile.py deleted file mode 100644 index 90f7a062ba0d0..0000000000000 --- a/recipes/egl-headers/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/egl/system/test_v1_package/CMakeLists.txt b/recipes/egl/system/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7a8ae2ad50945..0000000000000 --- a/recipes/egl/system/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_v1_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/egl/system/test_v1_package/conanfile.py b/recipes/egl/system/test_v1_package/conanfile.py deleted file mode 100644 index 1d0bdd3779793..0000000000000 --- a/recipes/egl/system/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/eigen/all/test_v1_package/CMakeLists.txt b/recipes/eigen/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/eigen/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/eigen/all/test_v1_package/conanfile.py b/recipes/eigen/all/test_v1_package/conanfile.py deleted file mode 100644 index 41edcae379d5b..0000000000000 --- a/recipes/eigen/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conan.tools.build import cross_building -from conans import ConanFile, CMake - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/elfio/all/test_v1_package/CMakeLists.txt b/recipes/elfio/all/test_v1_package/CMakeLists.txt deleted file mode 100755 index 0d20897301b68..0000000000000 --- a/recipes/elfio/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/elfio/all/test_v1_package/conanfile.py b/recipes/elfio/all/test_v1_package/conanfile.py deleted file mode 100755 index 38f4483872d47..0000000000000 --- a/recipes/elfio/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/embree/all/conandata.yml b/recipes/embree/all/conandata.yml new file mode 100644 index 0000000000000..871010273df4a --- /dev/null +++ b/recipes/embree/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "4.3.3": + url: "https://github.com/embree/embree/archive/refs/tags/v4.3.3.tar.gz" + sha256: "8a3bc3c3e21aa209d9861a28f8ba93b2f82ed0dc93341dddac09f1f03c36ef2d" diff --git a/recipes/embree/all/conanfile.py b/recipes/embree/all/conanfile.py new file mode 100644 index 0000000000000..5dc630dc38bea --- /dev/null +++ b/recipes/embree/all/conanfile.py @@ -0,0 +1,126 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.apple import is_apple_os +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version +import os + +required_conan_version = ">=2.0.9" + +class EmbreeConan(ConanFile): + name = "embree" + description = "Intel's collection of high-performance ray tracing kernels." + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://embree.github.io/" + topics = ("embree", "raytracing", "rendering") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False] + } + + default_options = { + "shared": False, + "fPIC": True + } + implements = ["auto_shared_fpic"] + + @property + def _has_sse_avx(self): + return self.settings.arch in ["x86", "x86_64"] + + @property + def _has_neon(self): + return "arm" in self.settings.arch + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.settings.os != "Emscripten": + self.requires("onetbb/2021.12.0") + + def validate(self): + check_min_cppstd(self, 14) + # See https://github.com/RenderKit/embree/blob/master/CMakeLists.txt#L538 + if ( + self.settings.compiler == "apple-clang" + and not self.options.shared + and Version(self.settings.compiler.version) >= "9.0" + ): + raise ConanInvalidConfiguration(f"{self.ref} static with apple-clang >=9 and multiple ISA (simd) is not supported") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["EMBREE_STATIC_LIB"] = not self.options.shared + tc.variables["BUILD_TESTING"] = False + tc.variables["EMBREE_INSTALL_DEPENDENCIES"] = False + tc.variables["EMBREE_TUTORIALS"] = False + tc.variables["EMBREE_BACKFACE_CULLING"] = False + tc.variables["EMBREE_IGNORE_INVALID_RAYS"] = False + tc.variables["EMBREE_ISPC_SUPPORT"] = False + tc.variables["EMBREE_TASKING_SYSTEM"] = "INTERNAL" if is_apple_os(self) or self.settings.os == "Emscripten" else "TBB" + tc.variables["EMBREE_MAX_ISA"] = "NONE" + tc.variables["EMBREE_ISA_NEON"] = self._has_neon + tc.variables["EMBREE_ISA_NEON2X"] = self._has_neon + tc.variables["EMBREE_ISA_SSE2"] = self._has_sse_avx + tc.variables["EMBREE_ISA_SSE42"] = self._has_sse_avx + # For Emscripten disable TBB and all ISAs. It will compile only for SSE + if self.settings.os == "Emscripten": + tc.variables["EMBREE_ISA_AVX"] = self._has_sse_avx + tc.variables["EMBREE_ISA_AVX2"] = self._has_sse_avx + tc.variables["EMBREE_ISA_AVX512"] = self._has_sse_avx and not is_msvc(self) + if is_msvc(self): + tc.variables["USE_STATIC_RUNTIME"] = is_msvc_static_runtime(self) + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy( + self, + "LICENSE.txt", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + ) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.command", os.path.join(self.package_folder)) + rm(self, "*.cmake", os.path.join(self.package_folder)) + rm(self, "embree-vars.sh", os.path.join(self.package_folder)) + rm(self, "embree-vars.csh", os.path.join(self.package_folder)) + + # Remove MS runtime files + for dll_pattern_to_remove in ["concrt*.dll", "msvcp*.dll", "vcruntime*.dll"]: + rm(self, pattern=dll_pattern_to_remove, folder=os.path.join(self.package_folder, "bin"), recursive=True) + + def package_info(self): + self.cpp_info.libs = ["embree4"] + if not self.options.shared: + self.cpp_info.libs.extend(["sys", "math", "simd", "lexers", "tasking"]) + if self._has_sse_avx: + self.cpp_info.libs.extend(["embree_sse42", "embree_avx", "embree_avx2"]) + if not is_msvc(self): + self.cpp_info.libs.append("embree_avx512") + if self._has_neon: + self.cpp_info.libs.extend(["embree_avx2"]) + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["dl", "m", "pthread"]) diff --git a/recipes/embree/all/test_package/CMakeLists.txt b/recipes/embree/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..24a76f24afbfa --- /dev/null +++ b/recipes/embree/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(embree REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE embree::embree) diff --git a/recipes/embree/all/test_package/conanfile.py b/recipes/embree/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/embree/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/embree/all/test_package/test_package.cpp b/recipes/embree/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..53ec64e813a94 --- /dev/null +++ b/recipes/embree/all/test_package/test_package.cpp @@ -0,0 +1,16 @@ +#include + +#include +#include + +int main() { + RTCDevice device = rtcNewDevice(NULL); + RTCScene scene = rtcNewScene(device); + RTCGeometry geom = rtcNewGeometry(device, RTC_GEOMETRY_TYPE_TRIANGLE); + + rtcReleaseGeometry(geom); + rtcReleaseScene(scene); + rtcReleaseDevice(device); + + return 0; +} \ No newline at end of file diff --git a/recipes/embree/config.yml b/recipes/embree/config.yml new file mode 100644 index 0000000000000..4582d013631e7 --- /dev/null +++ b/recipes/embree/config.yml @@ -0,0 +1,3 @@ +versions: + "4.3.3": + folder: all diff --git a/recipes/embree3/all/test_v1_package/CMakeLists.txt b/recipes/embree3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/embree3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/embree3/all/test_v1_package/conanfile.py b/recipes/embree3/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/embree3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/emio/all/conandata.yml b/recipes/emio/all/conandata.yml index a9c48f24eeb27..c3bda87372ad5 100644 --- a/recipes/emio/all/conandata.yml +++ b/recipes/emio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.0": + url: "https://github.com/Viatorus/emio/archive/0.8.0.tar.gz" + sha256: "86436eeb16cac7c7c74a7c1af9fe7bbbc1aa18d3d96e7bba9791c15ebe9ebdc7" "0.7.0": url: "https://github.com/viatorus/emio/archive/0.7.0.tar.gz" sha256: "1ef5304964eee109c13477f2d84822ee474612475049a377b59e33a5fe05d7eb" diff --git a/recipes/emio/config.yml b/recipes/emio/config.yml index b957140535721..19b0eb079cdeb 100644 --- a/recipes/emio/config.yml +++ b/recipes/emio/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.0": + folder: all "0.7.0": folder: all "0.6.1": diff --git a/recipes/emsdk/all/conandata.yml b/recipes/emsdk/all/conandata.yml index 09c67e41502df..47e33494770ac 100644 --- a/recipes/emsdk/all/conandata.yml +++ b/recipes/emsdk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.72": + url: "https://github.com/emscripten-core/emsdk/archive/3.1.72.tar.gz" + sha256: "62886722da99173789f1efc31b754c83c8ea09575035ce7fdfe5a7389bb3cec3" "3.1.50": url: "https://github.com/emscripten-core/emsdk/archive/3.1.50.tar.gz" sha256: "7491a881eb5ee15fe81bbabcfff1fd571e45ccdb24a81890af429f9970cbd1f3" @@ -20,6 +23,9 @@ sources: "3.1.44": url: "https://github.com/emscripten-core/emsdk/archive/3.1.44.tar.gz" sha256: "cb8cded78f6953283429d724556e89211e51ac4d871fcf38e0b32405ee248e91" + "3.1.38": + url: "https://github.com/emscripten-core/emsdk/archive/3.1.38.tar.gz" + sha256: "45ffb273503e48aae28c04549026b9cbdd750a5d36e3da3e22bc9977d2bfd61f" "3.1.31": url: "https://github.com/emscripten-core/emsdk/archive/3.1.31.tar.gz" sha256: "1d38b7375e12e85197165a4c51d76d90e1d9db8c2c593b64cfaec4338af54750" diff --git a/recipes/emsdk/config.yml b/recipes/emsdk/config.yml index 3fd73e6da5530..f1fc9459f58c7 100644 --- a/recipes/emsdk/config.yml +++ b/recipes/emsdk/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.72": + folder: all "3.1.50": folder: all "3.1.49": @@ -13,6 +15,8 @@ versions: folder: all "3.1.44": folder: all + "3.1.38": + folder: all "3.1.31": folder: all "3.1.30": diff --git a/recipes/enchant/all/test_v1_package/CMakeLists.txt b/recipes/enchant/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/enchant/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/enchant/all/test_v1_package/conanfile.py b/recipes/enchant/all/test_v1_package/conanfile.py deleted file mode 100644 index a8c92dea63335..0000000000000 --- a/recipes/enchant/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/enet/all/test_v1_package/CMakeLists.txt b/recipes/enet/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/enet/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/enet/all/test_v1_package/conanfile.py b/recipes/enet/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/enet/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/enhex-generic_serialization/all/test_v1_package/CMakeLists.txt b/recipes/enhex-generic_serialization/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/enhex-generic_serialization/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/enhex-generic_serialization/all/test_v1_package/conanfile.py b/recipes/enhex-generic_serialization/all/test_v1_package/conanfile.py deleted file mode 100644 index 6ab1666628a5d..0000000000000 --- a/recipes/enhex-generic_serialization/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class EnhexGenericserializationTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/enhex-strong_type/all/test_v1_package/CMakeLists.txt b/recipes/enhex-strong_type/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/enhex-strong_type/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/enhex-strong_type/all/test_v1_package/conanfile.py b/recipes/enhex-strong_type/all/test_v1_package/conanfile.py deleted file mode 100644 index c48d1d23bfccd..0000000000000 --- a/recipes/enhex-strong_type/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class EnhexStrongTypeTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/enjincppsdk/all/test_v1_package/CMakeLists.txt b/recipes/enjincppsdk/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/enjincppsdk/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/enjincppsdk/all/test_v1_package/conanfile.py b/recipes/enjincppsdk/all/test_v1_package/conanfile.py deleted file mode 100644 index 4a5eb7410ea85..0000000000000 --- a/recipes/enjincppsdk/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -required_conan_version = ">=1.43.0" - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/enkits/all/test_v1_package/CMakeLists.txt b/recipes/enkits/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/enkits/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/enkits/all/test_v1_package/conanfile.py b/recipes/enkits/all/test_v1_package/conanfile.py deleted file mode 100644 index 910ae60d10438..0000000000000 --- a/recipes/enkits/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/entityx/all/test_v1_package/CMakeLists.txt b/recipes/entityx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/entityx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/entityx/all/test_v1_package/conanfile.py b/recipes/entityx/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/entityx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/entt/3.x.x/conandata.yml b/recipes/entt/3.x.x/conandata.yml index a45ca1a3e9ade..bc82c187f9e2a 100644 --- a/recipes/entt/3.x.x/conandata.yml +++ b/recipes/entt/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.14.0": + url: "https://github.com/skypjack/entt/archive/refs/tags/v3.14.0.tar.gz" + sha256: "e31f6e95a30e2977a50449ef9a607a9ff40febe6f9da2a8144a183f8606f7719" "3.13.2": url: "https://github.com/skypjack/entt/archive/refs/tags/v3.13.2.tar.gz" sha256: "cb556aa543d01177b62de41321759e02d96078948dda72705b3d7fe68af88489" diff --git a/recipes/entt/3.x.x/test_v1_package/CMakeLists.txt b/recipes/entt/3.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/entt/3.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/entt/3.x.x/test_v1_package/conanfile.py b/recipes/entt/3.x.x/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/entt/3.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/entt/config.yml b/recipes/entt/config.yml index c49da489cfd20..b6987050a29e9 100644 --- a/recipes/entt/config.yml +++ b/recipes/entt/config.yml @@ -1,4 +1,6 @@ versions: + "3.14.0": + folder: 3.x.x "3.13.2": folder: 3.x.x "3.12.2": diff --git a/recipes/enum-flags/all/test_v1_package/CMakeLists.txt b/recipes/enum-flags/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/enum-flags/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/enum-flags/all/test_v1_package/conanfile.py b/recipes/enum-flags/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/enum-flags/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/erkir/all/test_v1_package/CMakeLists.txt b/recipes/erkir/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/erkir/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/erkir/all/test_v1_package/conanfile.py b/recipes/erkir/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/erkir/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/etc2comp/all/test_v1_package/CMakeLists.txt b/recipes/etc2comp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/etc2comp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/etc2comp/all/test_v1_package/conanfile.py b/recipes/etc2comp/all/test_v1_package/conanfile.py deleted file mode 100644 index 6c9d5dba712c7..0000000000000 --- a/recipes/etc2comp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/eternal/all/test_v1_package/CMakeLists.txt b/recipes/eternal/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/eternal/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/eternal/all/test_v1_package/conanfile.py b/recipes/eternal/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/eternal/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/eudev/all/conanfile.py b/recipes/eudev/all/conanfile.py index c419d6928cfbe..597e9d9b84092 100644 --- a/recipes/eudev/all/conanfile.py +++ b/recipes/eudev/all/conanfile.py @@ -56,7 +56,7 @@ def layout(self): def requirements(self): self.requires("acl/2.3.1") self.requires("libcap/2.69") - self.requires("libxslt/1.1.39") + self.requires("libxslt/1.1.42") self.requires("linux-headers-generic/6.5.9") if self.options.with_kmod: diff --git a/recipes/eventpp/all/test_v1_package/CMakeLists.txt b/recipes/eventpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9652e22fc19d5..0000000000000 --- a/recipes/eventpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.12) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/eventpp/all/test_v1_package/conanfile.py b/recipes/eventpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/eventpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/exiv2/all/conandata.yml b/recipes/exiv2/all/conandata.yml index 0b36cf903900d..49ba0667271df 100644 --- a/recipes/exiv2/all/conandata.yml +++ b/recipes/exiv2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.28.3": + url: "https://github.com/Exiv2/exiv2/archive/refs/tags/v0.28.3.tar.gz" + sha256: "1315e17d454bf4da3cc0edb857b1d2c143670f3485b537d0f946d9ed31d87b70" "0.28.2": url: "https://github.com/Exiv2/exiv2/archive/refs/tags/v0.28.2.tar.gz" sha256: "543bead934135f20f438e0b6d8858c55c5fcb7ff80f5d1d55489965f1aad58b9" diff --git a/recipes/exiv2/all/conanfile.py b/recipes/exiv2/all/conanfile.py index 749096cccd372..93bf130b53027 100644 --- a/recipes/exiv2/all/conanfile.py +++ b/recipes/exiv2/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration -from conan.tools.build import check_min_cppstd +from conan.tools.build import check_min_cppstd, check_max_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps from conan.tools.files import get, copy, rmdir, save, export_conandata_patches, apply_conandata_patches, replace_in_file from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, check_min_vs @@ -17,9 +17,9 @@ class Exiv2Conan(ConanFile): description = "Exiv2 is a C++ library and a command-line utility " \ "to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata." license = "GPL-2.0" - topics = ("image", "exif", "xmp") - homepage = "https://www.exiv2.org" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.exiv2.org" + topics = ("image", "exif", "xmp") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -88,8 +88,7 @@ def validate(self): if Version(self.version) >= "0.28.0": min_cppstd = 17 - if self.settings.compiler.cppstd: - check_min_cppstd(self, min_cppstd) + check_min_cppstd(self, min_cppstd) check_min_vs(self, 191) compilers_minimum_version = { @@ -97,16 +96,12 @@ def validate(self): "clang": "5", "apple-clang": "10", } - if not is_msvc(self): - minimum_version = compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.info.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{min_cppstd}, which your compiler does not fully support." - ) - elif conan_version.major == 2: - # FIXME: linter complains, but function is there - # https://docs.conan.io/2.0/reference/tools/build.html?highlight=check_min_cppstd#conan-tools-build-check-max-cppstd - check_max_cppstd = getattr(sys.modules['conan.tools.build'], 'check_max_cppstd') + minimum_version = compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.info.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{min_cppstd}, which your compiler does not fully support." + ) + else: # https://github.com/Exiv2/exiv2/tree/v0.27.7#217-building-with-c11-and-other-compilers check_max_cppstd(self, 14) @@ -167,30 +162,6 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "share")) - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - targets = {"exiv2lib": "exiv2::exiv2lib"} - if self.options.with_xmp == "bundled": - targets.update({"exiv2-xmp": "exiv2::exiv2-xmp"}) - self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._module_file_rel_path), - targets - ) - - def _create_cmake_module_alias_targets(self, module_file, targets): - content = "" - for alias, aliased in targets.items(): - content += textwrap.dedent(f"""\ - if(TARGET {aliased} AND NOT TARGET {alias}) - add_library({alias} INTERFACE IMPORTED) - set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) - endif() - """) - save(self, module_file, content) - - @property - def _module_file_rel_path(self): - return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") - def package_info(self): self.cpp_info.set_property("cmake_file_name", "exiv2") self.cpp_info.set_property("pkg_config_name", "exiv2") @@ -223,10 +194,3 @@ def package_info(self): self.cpp_info.components["exiv2lib"].requires.append("exiv2-xmp") else: self.cpp_info.components["exiv2lib"].requires.append("expat::expat") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.components["exiv2lib"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["exiv2lib"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if self.options.with_xmp == "bundled" and Version(self.version) < "0.28.0": - self.cpp_info.components["exiv2-xmp"].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components["exiv2-xmp"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/exiv2/all/test_package/CMakeLists.txt b/recipes/exiv2/all/test_package/CMakeLists.txt index 69bbd22508c9b..47e4eda57e2b4 100644 --- a/recipes/exiv2/all/test_package/CMakeLists.txt +++ b/recipes/exiv2/all/test_package/CMakeLists.txt @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(exiv2 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} exiv2lib) +target_link_libraries(${PROJECT_NAME} PRIVATE exiv2lib) if(${exiv2_VERSION} VERSION_GREATER_EQUAL "0.28.0") target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/exiv2/all/test_v1_package/CMakeLists.txt b/recipes/exiv2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/exiv2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/exiv2/all/test_v1_package/conanfile.py b/recipes/exiv2/all/test_v1_package/conanfile.py deleted file mode 100644 index b6a26067f365d..0000000000000 --- a/recipes/exiv2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/exiv2/config.yml b/recipes/exiv2/config.yml index f9244e625c48f..572fad2a57e09 100644 --- a/recipes/exiv2/config.yml +++ b/recipes/exiv2/config.yml @@ -1,4 +1,6 @@ versions: + "0.28.3": + folder: all "0.28.2": folder: all "0.28.1": diff --git a/recipes/expat/all/conandata.yml b/recipes/expat/all/conandata.yml index 70a835971e10a..70605fb111359 100644 --- a/recipes/expat/all/conandata.yml +++ b/recipes/expat/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.6.4": + url: "https://github.com/libexpat/libexpat/releases/download/R_2_6_4/expat-2.6.4.tar.xz" + sha256: "a695629dae047055b37d50a0ff4776d1d45d0a4c842cf4ccee158441f55ff7ee" "2.6.3": url: "https://github.com/libexpat/libexpat/releases/download/R_2_6_3/expat-2.6.3.tar.xz" sha256: "274db254a6979bde5aad404763a704956940e465843f2a9bd9ed7af22e2c0efc" diff --git a/recipes/expat/config.yml b/recipes/expat/config.yml index 14651d18d6467..3fbe2e2e68e1d 100644 --- a/recipes/expat/config.yml +++ b/recipes/expat/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.4": + folder: all "2.6.3": folder: all "2.6.2": diff --git a/recipes/expected-lite/all/test_v1_package/CMakeLists.txt b/recipes/expected-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index d57a2501c92f1..0000000000000 --- a/recipes/expected-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(expected-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::expected-lite) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/expected-lite/all/test_v1_package/conanfile.py b/recipes/expected-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/expected-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/exprtk/all/conandata.yml b/recipes/exprtk/all/conandata.yml index 8720b949093ed..f5d45981f8145 100755 --- a/recipes/exprtk/all/conandata.yml +++ b/recipes/exprtk/all/conandata.yml @@ -1,4 +1,8 @@ sources: + "0.0.3": + url: "https://github.com/ArashPartow/exprtk/archive/0.0.3.tar.gz" + sha256: "f9dec6975e86c702033d6a65ba9a0368eba31a61b89d74f2b5d24457c02c8439" + "0.0.2": url: "https://github.com/ArashPartow/exprtk/archive/0.0.2.tar.gz" sha256: "7e8de4a0bfc9855c1316d8b8bc422061aef9a307c2f42d2e66298980463195c1" diff --git a/recipes/exprtk/all/conanfile.py b/recipes/exprtk/all/conanfile.py index 4df0e1b342c15..d791fd83adf69 100755 --- a/recipes/exprtk/all/conanfile.py +++ b/recipes/exprtk/all/conanfile.py @@ -2,9 +2,10 @@ from conan.tools.build import check_min_cppstd from conan.tools.layout import basic_layout from conan.tools.files import get, copy, load, save +from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0" class ExprTkConan(ConanFile): @@ -18,10 +19,6 @@ class ExprTkConan(ConanFile): settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _min_cppstd(self): - return 11 - def layout(self): basic_layout(self, src_folder="src") @@ -29,19 +26,22 @@ def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler.cppstd: - check_min_cppstd(self, self._min_cppstd) + check_min_cppstd(self, 11) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def _extract_license(self): - exprtk_header_file = "exprtk.hpp" - file = os.path.join(self.source_folder, exprtk_header_file) - file_content = load(self, file) - license_end = "/MIT *" - license_contents = file_content[2:file_content.find(license_end) + len(license_end)] - save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_contents) + if Version(self.version) >= "0.0.3": + license_file = "license.txt" + copy(self, license_file, src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + else: + exprtk_header_file = "exprtk.hpp" + file = os.path.join(self.source_folder, exprtk_header_file) + file_content = load(self, file) + license_end = "/MIT *" + license_contents = file_content[2:file_content.find(license_end) + len(license_end)] + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_contents) def package(self): self._extract_license() diff --git a/recipes/exprtk/all/test_package/test_package.cpp b/recipes/exprtk/all/test_package/test_package.cpp index 8ae4a2288e7ce..f668e5bbe9c03 100755 --- a/recipes/exprtk/all/test_package/test_package.cpp +++ b/recipes/exprtk/all/test_package/test_package.cpp @@ -1,78 +1,9 @@ -/* - ************************************************************** - * C++ Mathematical Expression Toolkit Library * - * * - * Exprtk Test Package * - * Author: Arash Partow (1999-2022) * - * URL: https://www.partow.net/programming/exprtk/index.html * - * * - * Copyright notice: * - * Free use of the Mathematical Expression Toolkit Library is * - * permitted under the guidelines and in accordance with the * - * most current version of the MIT License. * - * http://www.opensource.org/licenses/MIT * - * * - ************************************************************** -*/ - - -#include -#include - #include - - -template -void test_function() -{ - typedef exprtk::symbol_table symbol_table_t; - typedef exprtk::expression expression_t; - typedef exprtk::parser parser_t; - typedef exprtk::parser_error::type error_t; - - symbol_table_t symbol_table; - expression_t expression; - parser_t parser; - - T x = 1; - T y = 2; - - const std::string expression_string = "x * y + 3"; - - symbol_table.add_variable("x",x); - symbol_table.add_variable("y",y); - - expression.register_symbol_table(symbol_table); - - if (!parser.compile(expression_string,expression)) - { - printf("Error: %s\tExpression: %s\n", - parser.error().c_str(), - expression_string.c_str()); - - for (std::size_t i = 0; i < parser.error_count(); ++i) - { - const error_t error = parser.get_error(i); - - printf("Error: %02d Position: %02d " - "Type: [%s] " - "Message: %s " - "Expression: %s\n", - static_cast(i), - static_cast(error.token.position), - exprtk::parser_error::to_str(error.mode).c_str(), - error.diagnostic.c_str(), - expression_string.c_str()); - } - - return; - } - - expression.value(); -} +#include int main() { - test_function(); + std::cout << exprtk::information::library << std::endl; + std::cout << "Test package successful\n"; return 0; } diff --git a/recipes/exprtk/all/test_v1_package/CMakeLists.txt b/recipes/exprtk/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/exprtk/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/exprtk/all/test_v1_package/conanfile.py b/recipes/exprtk/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/exprtk/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/exprtk/config.yml b/recipes/exprtk/config.yml index 9873c37c1518d..33fef0a6d37b3 100755 --- a/recipes/exprtk/config.yml +++ b/recipes/exprtk/config.yml @@ -1,4 +1,6 @@ versions: + "0.0.3": + folder: "all" "0.0.2": folder: "all" "0.0.1": diff --git a/recipes/ezc3d/all/test_v1_package/CMakeLists.txt b/recipes/ezc3d/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/ezc3d/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/ezc3d/all/test_v1_package/conanfile.py b/recipes/ezc3d/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/ezc3d/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/faac/all/test_v1_package/CMakeLists.txt b/recipes/faac/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/faac/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/faac/all/test_v1_package/conanfile.py b/recipes/faac/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/faac/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fakeit/all/conandata.yml b/recipes/fakeit/all/conandata.yml index 9b66729378da9..e412e4270b67e 100644 --- a/recipes/fakeit/all/conandata.yml +++ b/recipes/fakeit/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.1": + url: "https://github.com/eranpeer/FakeIt/archive/2.4.1.tar.gz" + sha256: "f5234a36d42363cb7ccd2cf99c8a754c832d9092035d984ad40aafa5371d0e95" "2.4.0": url: "https://github.com/eranpeer/FakeIt/archive/2.4.0.tar.gz" sha256: "eb79459ad6a97a5c985e3301b0d44538bdce2ba26115afe040f3874688edefb5" diff --git a/recipes/fakeit/all/test_v1_package/CMakeLists.txt b/recipes/fakeit/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/fakeit/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/fakeit/all/test_v1_package/conanfile.py b/recipes/fakeit/all/test_v1_package/conanfile.py deleted file mode 100644 index a1bf8d95c2742..0000000000000 --- a/recipes/fakeit/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class FakeItTestV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fakeit/config.yml b/recipes/fakeit/config.yml index 2d2179fc9b476..0755f94e23640 100644 --- a/recipes/fakeit/config.yml +++ b/recipes/fakeit/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.1": + folder: all "2.4.0": folder: all "2.3.2": diff --git a/recipes/farmhash/all/test_v1_package/CMakeLists.txt b/recipes/farmhash/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/farmhash/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/farmhash/all/test_v1_package/conanfile.py b/recipes/farmhash/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/farmhash/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fast-cdr/all/conandata.yml b/recipes/fast-cdr/all/conandata.yml index 0e16ebb10baa2..a1647a8bd5d43 100644 --- a/recipes/fast-cdr/all/conandata.yml +++ b/recipes/fast-cdr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.5": + url: "https://github.com/eProsima/Fast-CDR/archive/v2.2.5.tar.gz" + sha256: "b01fd34135e9be5183bb69f31fa5b74c53ba6eca30a5b21de0120d21ece22a51" "2.2.3": url: "https://github.com/eProsima/Fast-CDR/archive/v2.2.3.tar.gz" sha256: "2501ef0930727d3b3ac1819672a6df8631a58fbcf7f005947046c2de46e8da69" diff --git a/recipes/fast-cdr/all/test_v1_package/CMakeLists.txt b/recipes/fast-cdr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/fast-cdr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/fast-cdr/all/test_v1_package/conanfile.py b/recipes/fast-cdr/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/fast-cdr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fast-cdr/config.yml b/recipes/fast-cdr/config.yml index f92947a12e733..5e80a3438b5ca 100644 --- a/recipes/fast-cdr/config.yml +++ b/recipes/fast-cdr/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.5": + folder: all "2.2.3": folder: all "2.2.0": diff --git a/recipes/fast-cpp-csv-parser/all/test_v1_package/CMakeLists.txt b/recipes/fast-cpp-csv-parser/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/fast-cpp-csv-parser/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/fast-cpp-csv-parser/all/test_v1_package/conanfile.py b/recipes/fast-cpp-csv-parser/all/test_v1_package/conanfile.py deleted file mode 100644 index 47d6b79839192..0000000000000 --- a/recipes/fast-cpp-csv-parser/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - csv_name = os.path.join(self.source_folder, os.pardir, "test_package", "test_package.csv") - self.run(f"{bin_path} {csv_name}", run_environment=True) diff --git a/recipes/fast_double_parser/all/test_v1_package/CMakeLists.txt b/recipes/fast_double_parser/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/fast_double_parser/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/fast_double_parser/all/test_v1_package/conanfile.py b/recipes/fast_double_parser/all/test_v1_package/conanfile.py deleted file mode 100644 index 90eb89e3f2f46..0000000000000 --- a/recipes/fast_double_parser/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fast_float/all/conandata.yml b/recipes/fast_float/all/conandata.yml index a71f0d864046f..88c8750ff7686 100644 --- a/recipes/fast_float/all/conandata.yml +++ b/recipes/fast_float/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.0.0": + url: "https://github.com/fastfloat/fast_float/archive/v7.0.0.tar.gz" + sha256: "d2a08e722f461fe699ba61392cd29e6b23be013d0f56e50c7786d0954bffcb17" "6.1.5": url: "https://github.com/fastfloat/fast_float/archive/v6.1.5.tar.gz" sha256: "597126ff5edc3ee59d502c210ded229401a30dafecb96a513135e9719fcad55f" diff --git a/recipes/fast_float/all/conanfile.py b/recipes/fast_float/all/conanfile.py index e53918364ffe6..70247daa50c98 100644 --- a/recipes/fast_float/all/conanfile.py +++ b/recipes/fast_float/all/conanfile.py @@ -50,3 +50,5 @@ def package_info(self): self.cpp_info.components["fastfloat"].names["cmake_find_package"] = "fast_float" self.cpp_info.components["fastfloat"].names["cmake_find_package_multi"] = "fast_float" self.cpp_info.components["fastfloat"].set_property("cmake_target_name", "FastFloat::fast_float") + self.cpp_info.components["fastfloat"].bindirs = [] + self.cpp_info.components["fastfloat"].libdirs = [] diff --git a/recipes/fast_float/all/test_v1_package/CMakeLists.txt b/recipes/fast_float/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/fast_float/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/fast_float/all/test_v1_package/conanfile.py b/recipes/fast_float/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/fast_float/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fast_float/config.yml b/recipes/fast_float/config.yml index 58f7867f85a24..4cba1be1f431a 100644 --- a/recipes/fast_float/config.yml +++ b/recipes/fast_float/config.yml @@ -1,4 +1,6 @@ versions: + "7.0.0": + folder: all "6.1.5": folder: all "6.1.4": diff --git a/recipes/fastpfor/all/conandata.yml b/recipes/fastpfor/all/conandata.yml index e16837fea8797..28f460ca23316 100644 --- a/recipes/fastpfor/all/conandata.yml +++ b/recipes/fastpfor/all/conandata.yml @@ -1,17 +1,9 @@ sources: - "cci.20221225": - url: "https://github.com/lemire/FastPFor/archive/3e7358f8656b4456f4ea1762075553f2984fefcf.tar.gz" - sha256: "cc50b03421db3aa21be2243f5996ea6d027a6563e0863b77cfc46dd08bcfcaf5" - "cci.20220205": - url: "https://github.com/lemire/FastPFor/archive/773283d4a11fa2440a1b3b28fd77f775e86d7898.tar.gz" - sha256: "d4419512420f3bcc65862c5c367021f201b5ba3e8cb0dad895cdf444e0867b30" - + "0.2.0": + url: "https://github.com/lemire/FastPFor/archive/refs/tags/v0.2.0.tar.gz" + sha256: "d9f0eacf9c3c61866cda23bae35107ca9c5d35fa7b7a96ca9ccc85803d7e753d" patches: - "cci.20221225": - - patch_file: "patches/cci.20221225-0001-fix-cmake.patch" - patch_description: "enable shared build, disable unittest/utility" - patch_type: "conan" - "cci.20220205": - - patch_file: "patches/cci.20220205-0001-fix-cmake.patch" + "0.2.0": + - patch_file: "patches/0.2.0-0001-fix-cmake.patch" patch_description: "enable shared build, disable unittest/utility" patch_type: "conan" diff --git a/recipes/fastpfor/all/conanfile.py b/recipes/fastpfor/all/conanfile.py index 3ea949a5a46d9..3e02d3498b338 100644 --- a/recipes/fastpfor/all/conanfile.py +++ b/recipes/fastpfor/all/conanfile.py @@ -2,10 +2,13 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.apple import is_apple_os +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" + class FastPFORConan(ConanFile): name = "fastpfor" description = "Fast integer compression" @@ -13,13 +16,12 @@ class FastPFORConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/lemire/FastPFor" topics = ("compression", "sorted-lists", "simd", "x86", "x86-64") + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" options = { - "shared": [True, False], "fPIC": [True, False], } default_options = { - "shared": False, "fPIC": True, } @@ -30,30 +32,37 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - def layout(self): cmake_layout(self, src_folder="src") - def validate(self): - if self.settings.arch != "x86_64": - raise ConanInvalidConfiguration(f"{self.settings.arch} architecture is not supported") + @property + def _has_simde(self): + return "arm" in str(self.settings.arch) + + def requirements(self): + if self._has_simde: + self.requires("simde/0.8.0", transitive_headers=True) - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, "11") + def validate(self): + check_min_cppstd(self, 11) + if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "15.0": + raise ConanInvalidConfiguration("${self.ref} doesn't support ${self.settings.compiler} < 15.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + apply_conandata_patches(self) def generate(self): tc = CMakeToolchain(self) - tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.variables["WITH_TEST"] = False + if self._has_simde: + tc.cache_variables["SUPPORT_NEON"] = True + tc.preprocessor_definitions["SIMDE_ENABLE_NATIVE_ALIASES"] = 1 + tc.generate() + tc = CMakeDeps(self) tc.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -75,8 +84,5 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "FastPFOR" - self.cpp_info.filenames["cmake_find_package_multi"] = "FastPFOR" - self.cpp_info.names["cmake_find_package"] = "FastPFOR" - self.cpp_info.names["cmake_find_package_multi"] = "FastPFOR" + if self._has_simde: + self.cpp_info.defines = ["SIMDE_ENABLE_NATIVE_ALIASES"] diff --git a/recipes/fastpfor/all/patches/0.2.0-0001-fix-cmake.patch b/recipes/fastpfor/all/patches/0.2.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..8ba1054fb355a --- /dev/null +++ b/recipes/fastpfor/all/patches/0.2.0-0001-fix-cmake.patch @@ -0,0 +1,85 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f06b25f..1f6bd0f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,7 +4,7 @@ + # Copyright (c) 2012 Louis Dionne + # + cmake_minimum_required(VERSION 3.0) +-set (CMAKE_CXX_STANDARD 11) # for constexpr specifier and other goodies ++# set (CMAKE_CXX_STANDARD 11) # for constexpr specifier and other goodies + + if (NOT CMAKE_BUILD_TYPE) + message(STATUS "No build type selected, default to Release") +@@ -62,7 +62,7 @@ if( SUPPORT_SSE42 ) + MESSAGE( STATUS "SSE 4.2 support detected" ) + else() + if (SUPPORT_NEON) +- include("${CMAKE_MODULE_PATH}/simde.cmake") ++ find_package(simde REQUIRED CONFIG) + MESSAGE(STATUS "USING SIMDE FOR SIMD OPERATIONS") + else () + MESSAGE(STATUS "SIMDE and SSE 4.2 support not detected") +@@ -103,6 +103,10 @@ elseif(WIN32) + if(NOT MSVC12) + message(STATUS "On Windows, only MSVC version 12 is supported!") + endif() ++ set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /arch:AVX") ++ set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /arch:AVX") ++ set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /arch:AVX") ++ set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /arch:AVX") + else () + message(FATAL_ERROR "Please, use GCC, Clang, or the Intel compiler!") + endif() +@@ -129,19 +133,19 @@ add_library(FastPFOR STATIC + src/streamvbyte.c) + set_target_properties(FastPFOR PROPERTIES POSITION_INDEPENDENT_CODE TRUE) + +- ++if(0) + # other executables + add_executable(gapstats src/gapstats.cpp) + add_executable(partitionbylength src/partitionbylength.cpp) + add_executable(csv2maropu src/csv2maropu.cpp) +- ++endif() + if (SUPPORT_NEON) +- target_link_libraries(FastPFOR PUBLIC simde) +- target_link_libraries(gapstats PUBLIC simde) +- target_link_libraries(partitionbylength PUBLIC simde) +- target_link_libraries(csv2maropu PUBLIC simde) ++ target_link_libraries(FastPFOR PUBLIC simde::simde) ++ # target_link_libraries(gapstats PUBLIC simde::simde) ++ # target_link_libraries(partitionbylength PUBLIC simde::simde) ++ # target_link_libraries(csv2maropu PUBLIC simde::simde) + endif() +- ++if(0) + add_executable(entropy src/entropy.cpp) + target_link_libraries(entropy FastPFOR) + +@@ -149,7 +153,7 @@ if( SUPPORT_SSE42 ) + add_executable(benchbitpacking src/benchbitpacking.cpp) + target_link_libraries(benchbitpacking FastPFOR) + endif() +- ++endif() + find_package(snappy) + if(NOT ${snappy_FOUND}) + message(STATUS "Snappy was not found. codecssnappy and " +@@ -158,6 +162,7 @@ else() + message(STATUS "Snappy was found. Building additional targets " + "codecssnappy and inmemorybenchmarksnappy.") + include_directories(${snappy_INCLUDE_DIRS}) ++ if(0) + add_executable(codecssnappy src/codecs.cpp) + set_target_properties(codecssnappy PROPERTIES DEFINE_SYMBOL USESNAPPY) + target_link_libraries(codecssnappy FastPFOR ${snappy_LIBRARIES}) +@@ -165,6 +170,7 @@ else() + add_executable(inmemorybenchmarksnappy src/inmemorybenchmark.cpp) + set_target_properties(inmemorybenchmarksnappy PROPERTIES DEFINE_SYMBOL USESNAPPY) + target_link_libraries(inmemorybenchmarksnappy FastPFOR ${snappy_LIBRARIES}) ++ endif() + endif() + + option(WITH_TEST "Build with Google Test" ON) diff --git a/recipes/fastpfor/all/patches/cci.20220205-0001-fix-cmake.patch b/recipes/fastpfor/all/patches/cci.20220205-0001-fix-cmake.patch deleted file mode 100644 index 831aaf49de782..0000000000000 --- a/recipes/fastpfor/all/patches/cci.20220205-0001-fix-cmake.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5520747..dfccbc1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -94,6 +94,10 @@ elseif(WIN32) - if(NOT MSVC12) - message(STATUS "On Windows, only MSVC version 12 is supported!") - endif() -+ set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /arch:AVX") -+ set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /arch:AVX") -+ set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /arch:AVX") -+ set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /arch:AVX") - else () - message(FATAL_ERROR "Please, use GCC, Clang, or the Intel compiler!") - endif() -@@ -108,7 +112,7 @@ MESSAGE( STATUS "CMAKE_C_FLAGS_RELEASE: " ${CMAKE_C_FLAGS_RELEASE} ) - - # library target - include_directories(headers) --add_library(FastPFOR STATIC -+add_library(FastPFOR - src/bitpacking.cpp - src/bitpackingaligned.cpp - src/bitpackingunaligned.cpp -@@ -117,9 +121,8 @@ add_library(FastPFOR STATIC - src/simdbitpacking.cpp - src/varintdecode.c - src/streamvbyte.c) --set_target_properties(FastPFOR PROPERTIES POSITION_INDEPENDENT_CODE TRUE) -- - -+if(0) - # other executables - add_executable(gapstats src/gapstats.cpp) - add_executable(partitionbylength src/partitionbylength.cpp) -@@ -132,6 +135,7 @@ if( SUPPORT_SSE42 ) - add_executable(benchbitpacking src/benchbitpacking.cpp) - target_link_libraries(benchbitpacking FastPFOR) - endif() -+endif(0) - - find_package(snappy) - if(NOT ${snappy_FOUND}) -@@ -141,6 +145,8 @@ else() - message(STATUS "Snappy was found. Building additional targets " - "codecssnappy and inmemorybenchmarksnappy.") - include_directories(${snappy_INCLUDE_DIRS}) -+ -+ if(0) - add_executable(codecssnappy src/codecs.cpp) - set_target_properties(codecssnappy PROPERTIES DEFINE_SYMBOL USESNAPPY) - target_link_libraries(codecssnappy FastPFOR ${snappy_LIBRARIES}) -@@ -148,8 +154,10 @@ else() - add_executable(inmemorybenchmarksnappy src/inmemorybenchmark.cpp) - set_target_properties(inmemorybenchmarksnappy PROPERTIES DEFINE_SYMBOL USESNAPPY) - target_link_libraries(inmemorybenchmarksnappy FastPFOR ${snappy_LIBRARIES}) -+ endif(0) - endif() - -+if(0) - # Download and unpack googletest at configure time - configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt) - execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . -@@ -207,7 +215,7 @@ target_link_libraries(FastPFOR_unittest gtest FastPFOR) - enable_testing() - add_test("unit" unit) - add_test("FastPFOR_unittest" FastPFOR_unittest) -- -+endif(0) - - include(GNUInstallDirs) - install(TARGETS FastPFOR diff --git a/recipes/fastpfor/all/patches/cci.20221225-0001-fix-cmake.patch b/recipes/fastpfor/all/patches/cci.20221225-0001-fix-cmake.patch deleted file mode 100644 index 9ac6f1894f7c7..0000000000000 --- a/recipes/fastpfor/all/patches/cci.20221225-0001-fix-cmake.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 118fc00..d57a46e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -94,6 +94,10 @@ elseif(WIN32) - if(NOT MSVC12) - message(STATUS "On Windows, only MSVC version 12 is supported!") - endif() -+ set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /arch:AVX") -+ set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /arch:AVX") -+ set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /arch:AVX") -+ set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /arch:AVX") - else () - message(FATAL_ERROR "Please, use GCC, Clang, or the Intel compiler!") - endif() -@@ -108,7 +112,7 @@ MESSAGE( STATUS "CMAKE_C_FLAGS_RELEASE: " ${CMAKE_C_FLAGS_RELEASE} ) - - # library target - include_directories(headers) --add_library(FastPFOR STATIC -+add_library(FastPFOR - src/bitpacking.cpp - src/bitpackingaligned.cpp - src/bitpackingunaligned.cpp -@@ -118,9 +122,9 @@ add_library(FastPFOR STATIC - src/simdbitpacking.cpp - src/varintdecode.c - src/streamvbyte.c) --set_target_properties(FastPFOR PROPERTIES POSITION_INDEPENDENT_CODE TRUE) - - -+if(0) - # other executables - add_executable(gapstats src/gapstats.cpp) - add_executable(partitionbylength src/partitionbylength.cpp) -@@ -133,6 +137,7 @@ if( SUPPORT_SSE42 ) - add_executable(benchbitpacking src/benchbitpacking.cpp) - target_link_libraries(benchbitpacking FastPFOR) - endif() -+endif() - - find_package(snappy) - if(NOT ${snappy_FOUND}) -@@ -142,6 +147,7 @@ else() - message(STATUS "Snappy was found. Building additional targets " - "codecssnappy and inmemorybenchmarksnappy.") - include_directories(${snappy_INCLUDE_DIRS}) -+ if(0) - add_executable(codecssnappy src/codecs.cpp) - set_target_properties(codecssnappy PROPERTIES DEFINE_SYMBOL USESNAPPY) - target_link_libraries(codecssnappy FastPFOR ${snappy_LIBRARIES}) -@@ -149,8 +155,10 @@ else() - add_executable(inmemorybenchmarksnappy src/inmemorybenchmark.cpp) - set_target_properties(inmemorybenchmarksnappy PROPERTIES DEFINE_SYMBOL USESNAPPY) - target_link_libraries(inmemorybenchmarksnappy FastPFOR ${snappy_LIBRARIES}) -+ endif() - endif() - -+if(0) - # Download and unpack googletest at configure time - configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt) - execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . -@@ -208,7 +216,7 @@ target_link_libraries(FastPFOR_unittest gtest FastPFOR) - enable_testing() - add_test("unit" unit) - add_test("FastPFOR_unittest" FastPFOR_unittest) -- -+endif() - - include(GNUInstallDirs) - install(TARGETS FastPFOR diff --git a/recipes/fastpfor/all/test_v1_package/CMakeLists.txt b/recipes/fastpfor/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/fastpfor/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/fastpfor/all/test_v1_package/conanfile.py b/recipes/fastpfor/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/fastpfor/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fastpfor/config.yml b/recipes/fastpfor/config.yml index 216ef81b387a5..b370fcee5fe7c 100644 --- a/recipes/fastpfor/config.yml +++ b/recipes/fastpfor/config.yml @@ -1,5 +1,3 @@ versions: - "cci.20221225": - folder: all - "cci.20220205": + "0.2.0": folder: all diff --git a/recipes/fastprng/all/test_v1_package/CMakeLists.txt b/recipes/fastprng/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7ea0378c83fe1..0000000000000 --- a/recipes/fastprng/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/fastprng/all/test_v1_package/conanfile.py b/recipes/fastprng/all/test_v1_package/conanfile.py deleted file mode 100644 index aaf25befb2087..0000000000000 --- a/recipes/fastprng/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fcl/all/conanfile.py b/recipes/fcl/all/conanfile.py index 7e41afda3be3f..2fd6a5fe45165 100644 --- a/recipes/fcl/all/conanfile.py +++ b/recipes/fcl/all/conanfile.py @@ -47,10 +47,13 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("eigen/3.4.0") - self.requires("libccd/2.1") + # Used in fcl/common/types.h public header + self.requires("eigen/3.4.0", transitive_headers=True) + # Used in fcl/narrowphase/detail/convexity_based_algorithm/support.h + self.requires("libccd/2.1", transitive_headers=True) if self.options.with_octomap: - self.requires("octomap/1.9.7") + # Used in fcl/geometry/octree/octree.h + self.requires("octomap/1.9.7", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -63,25 +66,25 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["FCL_ENABLE_PROFILING"] = False - tc.variables["FCL_TREAT_WARNINGS_AS_ERRORS"] = False - tc.variables["FCL_HIDE_ALL_SYMBOLS"] = False - tc.variables["FCL_STATIC_LIBRARY"] = not self.options.shared - tc.variables["FCL_USE_X64_SSE"] = False # Let consumer decide to add relevant compile options, fcl doesn't have simd intrinsics - tc.variables["FCL_USE_HOST_NATIVE_ARCH"] = False - tc.variables["FCL_USE_SSE"] = False - tc.variables["FCL_COVERALLS"] = False - tc.variables["FCL_COVERALLS_UPLOAD"] = False - tc.variables["FCL_WITH_OCTOMAP"] = self.options.with_octomap + tc.cache_variables["FCL_ENABLE_PROFILING"] = False + tc.cache_variables["FCL_TREAT_WARNINGS_AS_ERRORS"] = False + tc.cache_variables["FCL_HIDE_ALL_SYMBOLS"] = False + tc.cache_variables["FCL_STATIC_LIBRARY"] = not self.options.shared + tc.cache_variables["FCL_USE_X64_SSE"] = False # Let consumer decide to add relevant compile options, fcl doesn't have simd intrinsics + tc.cache_variables["FCL_USE_HOST_NATIVE_ARCH"] = False + tc.cache_variables["FCL_USE_SSE"] = False + tc.cache_variables["FCL_COVERALLS"] = False + tc.cache_variables["FCL_COVERALLS_UPLOAD"] = False + tc.cache_variables["FCL_WITH_OCTOMAP"] = self.options.with_octomap if self.options.with_octomap: - octomap_version_str = self.dependencies["octomap"].ref.version - tc.variables["OCTOMAP_VERSION"] = octomap_version_str + octomap_version_str = str(self.dependencies["octomap"].ref.version) + tc.cache_variables["OCTOMAP_VERSION"] = octomap_version_str octomap_version = Version(octomap_version_str) - tc.variables["OCTOMAP_MAJOR_VERSION"] = octomap_version.major - tc.variables["OCTOMAP_MINOR_VERSION"] = octomap_version.minor - tc.variables["OCTOMAP_PATCH_VERSION"] = octomap_version.patch - tc.variables["BUILD_TESTING"] = False - tc.variables["FCL_NO_DEFAULT_RPATH"] = False + tc.cache_variables["OCTOMAP_MAJOR_VERSION"] = str(octomap_version.major) + tc.cache_variables["OCTOMAP_MINOR_VERSION"] = str(octomap_version.minor) + tc.cache_variables["OCTOMAP_PATCH_VERSION"] = str(octomap_version.patch) + tc.cache_variables["BUILD_TESTING"] = False + tc.cache_variables["FCL_NO_DEFAULT_RPATH"] = False tc.generate() cd = CMakeDeps(self) diff --git a/recipes/fcl/all/test_package/test_package.cpp b/recipes/fcl/all/test_package/test_package.cpp index 0f0651d6aa60c..7142e516a4b32 100644 --- a/recipes/fcl/all/test_package/test_package.cpp +++ b/recipes/fcl/all/test_package/test_package.cpp @@ -1,78 +1,15 @@ -/* -From test_broadphase_dynamic_AABB_tree.cpp test in FCL test directory -*/ - -#include "fcl/common/types.h" -#include "fcl/geometry/shape/sphere.h" -#include "fcl/broadphase/broadphase_dynamic_AABB_tree.h" +#include #include -#include +#include int main() { - auto sphere0 = std::make_shared(0.1); - auto sphere1 = std::make_shared(0.2); - fcl::CollisionObjectd object0(sphere0); - fcl::CollisionObjectd object1(sphere1); - const fcl::Vector3d position0(0.1, 0.2, 0.3); - const fcl::Vector3d position1(0.11, 0.21, 0.31); - - // We will use `objects` to check the order of the two collision objects in - // our callback function. - // - // We use std::vector that contains *pointers* to CollisionObjectd, - // instead of std::vector that contains CollisionObjectd's. - // Previously we used std::vector, and it failed the - // Eigen alignment assertion on Win32. We also tried, without success, the - // custom allocator: - // std::vector>, - // but some platforms failed to build. - std::vector objects = {&object0, &object1}; - std::vector positions = {&position0, &position1}; - - fcl::DynamicAABBTreeCollisionManager dynamic_tree; - for (int i = 0; i < static_cast(objects.size()); ++i) { - objects[i]->setTranslation(*positions[i]); - objects[i]->computeAABB(); - dynamic_tree.registerObject(objects[i]); - } - - // Pack the data for callback function. - struct CallBackData { - bool expect_object0_then_object1; - std::vector* objects; - } data; - data.expect_object0_then_object1 = false; - data.objects = &objects; - - // This callback function tests the order of the two collision objects from - // the dynamic tree against the `data`. We assume that the first two - // parameters are always objects[0] and objects[1] in two possible orders, - // so we can safely ignore the second parameter. We do not use the last - // double& parameter, which specifies the distance beyond which the - // pair of objects will be skipped. - auto distance_callback = [](fcl::CollisionObjectd* a, fcl::CollisionObjectd*, - void* callback_data, double&) -> bool { - // Unpack the data. - auto data = static_cast(callback_data); - const std::vector& objects = *(data->objects); - const bool object0_first = a == objects[0]; - // EXPECT_EQ(data->expect_object0_then_object1, object0_first); - // TODO(DamrongGuoy): Remove the statement below when we solve the - // repeatability problem as mentioned in: - // https://github.com/flexible-collision-library/fcl/issues/368 - // Expect to switch the order next time. - data->expect_object0_then_object1 = !data->expect_object0_then_object1; - // Return true to stop the tree traversal. - return true; - }; - // We repeat update() and distance() many times. Each time, in the - // callback function, we check the order of the two objects. - for (int count = 0; count < 8; ++count) { - dynamic_tree.update(); - dynamic_tree.distance(&data, distance_callback); - } - - return 0; + using namespace fcl; + std::shared_ptr> box_geometry_1(new Box()); + std::shared_ptr> box_geometry_2(new Box()); + CollisionObject box_object_1(box_geometry_1); + CollisionObject box_object_2(box_geometry_2); + DistanceRequest request; + DistanceResult result; + std::cout << "Distance: " << distance(&box_object_1, &box_object_2, request, result) << std::endl; } diff --git a/recipes/fcl/all/test_v1_package/CMakeLists.txt b/recipes/fcl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/fcl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/fcl/all/test_v1_package/conanfile.py b/recipes/fcl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/fcl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fernandovelcic-hexdump/all/test_v1_package/CMakeLists.txt b/recipes/fernandovelcic-hexdump/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/fernandovelcic-hexdump/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/fernandovelcic-hexdump/all/test_v1_package/conanfile.py b/recipes/fernandovelcic-hexdump/all/test_v1_package/conanfile.py deleted file mode 100644 index 84ee68733e516..0000000000000 --- a/recipes/fernandovelcic-hexdump/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fft/all/test_v1_package/CMakeLists.txt b/recipes/fft/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/fft/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/fft/all/test_v1_package/conanfile.py b/recipes/fft/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/fft/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fftw/all/test_v1_package/CMakeLists.txt b/recipes/fftw/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/fftw/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/fftw/all/test_v1_package/conanfile.py b/recipes/fftw/all/test_v1_package/conanfile.py deleted file mode 100644 index bc42b2f516ea2..0000000000000 --- a/recipes/fftw/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["ENABLE_DOUBLE_PRECISION"] = self.options["fftw"].precision_double - cmake.definitions["ENABLE_SINGLE_PRECISION"] = self.options["fftw"].precision_single - cmake.definitions["ENABLE_LONG_DOUBLE_PRECISION"] = self.options["fftw"].precision_longdouble - cmake.definitions["ENABLE_QUAD_PRECISION"] = self.options["fftw"].precision_quad - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fire-hpp/all/conandata.yml b/recipes/fire-hpp/all/conandata.yml index 0ac5acb1e3d98..e30c0635694c3 100644 --- a/recipes/fire-hpp/all/conandata.yml +++ b/recipes/fire-hpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0": + url: "https://github.com/kongaskristjan/fire-hpp/archive/v1.0.tar.gz" + sha256: "73086d72a785a57bac8833d4f92799e8e769fef1d2ca46399cfbdb82a5c22f84" "0.2": - sha256: 50ac76005e5d45590355a51e5e1b62aba65c56f2003335acce0370da13d77b28 - url: https://github.com/kongaskristjan/fire-hpp/archive/v0.2.tar.gz + url: "https://github.com/kongaskristjan/fire-hpp/archive/v0.2.tar.gz" + sha256: "50ac76005e5d45590355a51e5e1b62aba65c56f2003335acce0370da13d77b28" diff --git a/recipes/fire-hpp/all/test_package/CMakeLists.txt b/recipes/fire-hpp/all/test_package/CMakeLists.txt index 8068292a31341..fe3a31529853d 100644 --- a/recipes/fire-hpp/all/test_package/CMakeLists.txt +++ b/recipes/fire-hpp/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.15) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(fire-hpp REQUIRED CONFIG) diff --git a/recipes/fire-hpp/config.yml b/recipes/fire-hpp/config.yml index 7e65100e62b2c..14d66964f38cc 100644 --- a/recipes/fire-hpp/config.yml +++ b/recipes/fire-hpp/config.yml @@ -1,3 +1,5 @@ versions: + "1.0": + folder: all "0.2": folder: all diff --git a/recipes/flac/all/conanfile.py b/recipes/flac/all/conanfile.py index 2e622f2d8d125..12371889671ec 100644 --- a/recipes/flac/all/conanfile.py +++ b/recipes/flac/all/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir, replace_in_file @@ -55,6 +56,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_EXAMPLES"] = False tc.variables["BUILD_DOCS"] = False + tc.variables["BUILD_PROGRAMS"] = not is_apple_os(self) or self.settings.os == "Macos" tc.variables["BUILD_TESTING"] = False tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() diff --git a/recipes/flac/all/test_v1_package/CMakeLists.txt b/recipes/flac/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 3da5fc64af2ab..0000000000000 --- a/recipes/flac/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(flac REQUIRED FLAC++ CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE FLAC::FLAC++) diff --git a/recipes/flac/all/test_v1_package/conanfile.py b/recipes/flac/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/flac/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/flann/all/test_v1_package/CMakeLists.txt b/recipes/flann/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/flann/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/flann/all/test_v1_package/conanfile.py b/recipes/flann/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/flann/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/flatbuffers/all/conandata.yml b/recipes/flatbuffers/all/conandata.yml index f334b7432aac3..a652904b42613 100644 --- a/recipes/flatbuffers/all/conandata.yml +++ b/recipes/flatbuffers/all/conandata.yml @@ -14,9 +14,6 @@ sources: "23.1.21": url: "https://github.com/google/flatbuffers/archive/v23.1.21.tar.gz" sha256: "d84cb25686514348e615163b458ae0767001b24b42325f426fd56406fd384238" - "23.1.4": - url: "https://github.com/google/flatbuffers/archive/v23.1.4.tar.gz" - sha256: "801871ff3747838c0dd9730fc44ca9cc453ff42f9c8a0a2f1b33776d2ca5e4b9" "22.12.06": url: "https://github.com/google/flatbuffers/archive/v22.12.06.tar.gz" sha256: "209823306f2cbedab6ff70997e0d236fcfd1864ca9ad082cbfdb196e7386daed" @@ -29,15 +26,9 @@ sources: "22.9.29": url: "https://github.com/google/flatbuffers/archive/refs/tags/v22.9.29.tar.gz" sha256: "372df01795c670f6538055a7932fc7eb3e81b3653be4a216c081e9c3c26b1b6d" - "22.9.24": - url: "https://github.com/google/flatbuffers/archive/refs/tags/v22.9.24.tar.gz" - sha256: "40e0788873012def4d66a2fdbac15fbe012784473c01a703ccb5be33383556bf" "2.0.8": url: "https://github.com/google/flatbuffers/archive/refs/tags/v2.0.8.tar.gz" sha256: "f97965a727d26386afaefff950badef2db3ab6af9afe23ed6d94bfb65f95f37e" - "2.0.6": - url: "https://github.com/google/flatbuffers/archive/refs/tags/v2.0.6.tar.gz" - sha256: "e2dc24985a85b278dd06313481a9ca051d048f9474e0f199e372fea3ea4248c9" "2.0.5": url: "https://github.com/google/flatbuffers/archive/refs/tags/v2.0.5.tar.gz" sha256: "b01e97c988c429e164c5c7df9e87c80007ca87f593c0d73733ba536ddcbc8f98" @@ -45,10 +36,6 @@ sources: url: "https://github.com/google/flatbuffers/archive/v1.12.0.tar.gz" sha256: "62f2223fb9181d1d6338451375628975775f7522185266cd5296571ac152bc45" patches: - "2.0.6": - - patch_file: "patches/0004-no-flatc-execution-build-time.patch" - patch_description: "No flatc execution during build time" - patch_type: "conan" "2.0.5": - patch_file: "patches/0002-apple-no-universal-build.patch" patch_description: "Don't use universal2 architecture" @@ -56,3 +43,8 @@ patches: - patch_file: "patches/0003-no-flatc-execution-build-time.patch" patch_description: "No flatc execution during build time" patch_type: "conan" + "1.12.0": + - patch_file: "patches/0005-arm-cxx-compiler-build.patch" + patch_description: "IAR ARM C++ Compiler build bugfix" + patch_type: "backport" + patch_source: "https://github.com/google/flatbuffers/commit/82fac326c5981a85233b8ae7e0d7ec8fda432963" diff --git a/recipes/flatbuffers/all/conanfile.py b/recipes/flatbuffers/all/conanfile.py index 06610b4d9bfd6..4f6cbc9b40b2b 100644 --- a/recipes/flatbuffers/all/conanfile.py +++ b/recipes/flatbuffers/all/conanfile.py @@ -6,7 +6,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.1" class FlatbuffersConan(ConanFile): @@ -18,6 +18,7 @@ class FlatbuffersConan(ConanFile): description = "Memory Efficient Serialization Library" settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -56,17 +57,17 @@ def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def build_requirements(self): # since 23.3.3 version, flatbuffers cmake scripts were refactored to use cmake 3.8 version # see https://github.com/google/flatbuffers/pull/7801 - if Version(self.version) >= "2.0.7" and Version(self.version) < "23.3.3": + if Version(self.version) >= "2.0.8" and Version(self.version) < "23.3.3": self.tool_requires("cmake/[>=3.16 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + self._patch_sources() def generate(self): tc = CMakeToolchain(self) @@ -92,9 +93,6 @@ def generate(self): # Fix iOS/tvOS/watchOS if is_apple_os(self): tc.variables["CMAKE_MACOSX_BUNDLE"] = False - # Inject at least C++11 standard (would be more elegant to rely on cxx_std_11 compile feature upstream) - if not valid_min_cppstd(self, 11): - tc.variables["CMAKE_CXX_STANDARD"] = 11 tc.generate() def _patch_sources(self): @@ -112,7 +110,6 @@ def _patch_sources(self): "RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}") def build(self): - self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() @@ -157,16 +154,5 @@ def package_info(self): ] self.cpp_info.set_property("cmake_build_modules", build_modules) - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.filenames["cmake_find_package"] = "flatbuffers" - self.cpp_info.filenames["cmake_find_package_multi"] = "flatbuffers" - self.cpp_info.names["cmake_find_package"] = "flatbuffers" - self.cpp_info.names["cmake_find_package_multi"] = "flatbuffers" - self.cpp_info.components["libflatbuffers"].names["cmake_find_package"] = cmake_target - self.cpp_info.components["libflatbuffers"].names["cmake_find_package_multi"] = cmake_target - self.cpp_info.components["libflatbuffers"].build_modules["cmake_find_package"] = build_modules - self.cpp_info.components["libflatbuffers"].build_modules["cmake_find_package_multi"] = build_modules - self.cpp_info.components["libflatbuffers"].set_property("cmake_file_name", f"flatbuffers::{cmake_target}") - self.cpp_info.components["libflatbuffers"].set_property("pkg_config_name", "flatbuffers") if self._has_flatc(): self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/flatbuffers/all/patches/0005-arm-cxx-compiler-build.patch b/recipes/flatbuffers/all/patches/0005-arm-cxx-compiler-build.patch new file mode 100644 index 0000000000000..7ea43002f8643 --- /dev/null +++ b/recipes/flatbuffers/all/patches/0005-arm-cxx-compiler-build.patch @@ -0,0 +1,16 @@ +diff --git a/include/flatbuffers/flatbuffers.h b/include/flatbuffers/flatbuffers.h +index c4dc5bcd..0f3a7dfd 100644 +--- a/include/flatbuffers/flatbuffers.h ++++ b/include/flatbuffers/flatbuffers.h +@@ -1871,10 +1871,7 @@ class FlatBufferBuilder { + vector_downward &buf_; + + private: +- TableKeyComparator &operator=(const TableKeyComparator &other) { +- buf_ = other.buf_; +- return *this; +- } ++ FLATBUFFERS_DELETE_FUNC(TableKeyComparator &operator=(const TableKeyComparator &other)) + }; + /// @endcond + diff --git a/recipes/flatbuffers/all/test_v1_package/CMakeLists.txt b/recipes/flatbuffers/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/flatbuffers/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/flatbuffers/all/test_v1_package/conanfile.py b/recipes/flatbuffers/all/test_v1_package/conanfile.py deleted file mode 100644 index 949b7060f8e9c..0000000000000 --- a/recipes/flatbuffers/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) - - def build(self): - cmake = CMake(self) - cmake.definitions["FLATBUFFERS_HEADER_ONLY"] = self.options["flatbuffers"].header_only - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) - self.run(os.path.join("bin", "sample_binary"), run_environment=True) diff --git a/recipes/flatbuffers/config.yml b/recipes/flatbuffers/config.yml index 5bc4e9c3e21fd..4faf33c80023f 100644 --- a/recipes/flatbuffers/config.yml +++ b/recipes/flatbuffers/config.yml @@ -9,8 +9,6 @@ versions: folder: all "23.1.21": folder: all - "23.1.4": - folder: all "22.12.06": folder: all "22.11.23": @@ -19,12 +17,8 @@ versions: folder: all "22.9.29": folder: all - "22.9.24": - folder: all "2.0.8": folder: all - "2.0.6": - folder: all "2.0.5": folder: all "1.12.0": diff --git a/recipes/flatbush/all/test_v1_package/CMakeLists.txt b/recipes/flatbush/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/flatbush/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/flatbush/all/test_v1_package/conanfile.py b/recipes/flatbush/all/test_v1_package/conanfile.py deleted file mode 100644 index 5b0ef1df32f11..0000000000000 --- a/recipes/flatbush/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -from conans.tools import Version -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/flatcc/all/test_v1_package/CMakeLists.txt b/recipes/flatcc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/flatcc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/flatcc/all/test_v1_package/conanfile.py b/recipes/flatcc/all/test_v1_package/conanfile.py deleted file mode 100644 index 397faab87a163..0000000000000 --- a/recipes/flatcc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,40 +0,0 @@ -import os.path - -from conans import ConanFile, CMake, tools, RunEnvironment -from conans.errors import ConanException - - -class FlatccTestConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - @property - def _skip_shared_macos(self): - # Because of MacOS System Integraty Protection it is currently not possible to run the flatcc - # executable from cmake if it is linked shared. As a temporary work-around run flatcc here in - # the build function. - return self.options["flatcc"].shared and tools.os_info.is_macos - - def build(self): - if tools.cross_building(self): - return - - if self._skip_shared_macos: - return - - env_build = RunEnvironment(self) - with tools.environment_append(env_build.vars): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if self._skip_shared_macos: - return - if tools.cross_building(self): - bin_path = os.path.join(self.deps_cpp_info["flatcc"].rootpath, "bin", "flatcc") - if not os.path.isfile(bin_path) or not os.access(bin_path, os.X_OK): - raise ConanException("flatcc doesn't exist.") - else: - bin_path = os.path.join(self.build_folder, "bin", "monster") - self.run(bin_path, cwd=self.source_folder, run_environment=True) diff --git a/recipes/flex/all/test_v1_package/CMakeLists.txt b/recipes/flex/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b93b03cb34ebf..0000000000000 --- a/recipes/flex/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(FLEX REQUIRED) -flex_target(flex_scanner basic_nr.l ${PROJECT_BINARY_DIR}/basic_nr.cpp) - -add_executable(${PROJECT_NAME} basic_nr.cpp) -target_include_directories(${PROJECT_NAME} PRIVATE ${FLEX_INCLUDE_DIRS}) -target_link_libraries(${PROJECT_NAME} PRIVATE ${FLEX_LIBRARIES}) diff --git a/recipes/flex/all/test_v1_package/basic_nr.l b/recipes/flex/all/test_v1_package/basic_nr.l deleted file mode 100644 index 71fa5d65f82c6..0000000000000 --- a/recipes/flex/all/test_v1_package/basic_nr.l +++ /dev/null @@ -1,89 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -%option C++ noyywrap - -%{ -int mylineno = 0; -%} - -string \"[^\n"]+\" - -ws [ \t]+ - -alpha [A-Za-z] -dig [0-9] -name ({alpha}|{dig}|\$)({alpha}|{dig}|\_|\.|\-|\/|\$)* -num1 [-+]?{dig}+\.?([eE][-+]?{dig}+)? -num2 [-+]?{dig}*\.{dig}+([eE][-+]?{dig}+)? -number {num1}|{num2} - -%% - -{ws} /* skip blanks and tabs */ - -"/*" { - int c; - - while((c = yyinput()) != 0) - { - if(c == '\n') - ++mylineno; - - else if(c == '*') - { - if((c = yyinput()) == '/') - break; - else - unput(c); - } - } - } - -{number} std::cout << "number " << YYText() << '\n'; - -\n mylineno++; - -{name} std::cout << "name " << YYText() << '\n'; - -{string} std::cout << "string " << YYText() << '\n'; - -%% - -extern "C" { - int yylex() {return 0;} -} - -#include - -int main( int argc, const char *argv[]) { - if (argc < 2) { - fprintf(stderr, "Need an argument\n"); - return 1; - } - std::ifstream ifs(argv[1]); - FlexLexer *lexer = new yyFlexLexer(ifs, std::cout); - while(lexer->yylex() != 0) - ; - return 0; -} diff --git a/recipes/flex/all/test_v1_package/basic_nr.txt b/recipes/flex/all/test_v1_package/basic_nr.txt deleted file mode 100644 index 3dca798730b64..0000000000000 --- a/recipes/flex/all/test_v1_package/basic_nr.txt +++ /dev/null @@ -1,6 +0,0 @@ -/* this is a multi line comment -still in the comment -and done */ -foo = "bar" -num = 43 -setting = false diff --git a/recipes/flex/all/test_v1_package/conanfile.py b/recipes/flex/all/test_v1_package/conanfile.py deleted file mode 100644 index 4d0b7ff593f64..0000000000000 --- a/recipes/flex/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,47 +0,0 @@ -import os -import re -from io import StringIO - -from conans import ConanFile, tools, CMake - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) - - def build_requirements(self): - self.tool_requires(self.tested_reference_str) - - def _assert_expected_version(self): - - def tested_reference_version(): - tokens = re.split('[@#]', self.tested_reference_str) - return tokens[0].split("/", 1)[1] - - output = StringIO() - self.run(f"flex --version", output, run_environment=False) - output_str = str(output.getvalue()) - self.output.info("Installed version: {}".format(output_str)) - expected_version = tested_reference_version() - self.output.info("Expected version: {}".format(expected_version)) - assert_flex_version = "flex {}".format(expected_version) - assert(assert_flex_version in output_str) - - def build(self): - # Let's check flex version installed - self._assert_expected_version() - # FIXME: CMake legacy is not working as expected when cross-compiling - if not tools.cross_building(self, skip_x64_x86=True): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - bin_path = os.path.join("bin", "test_package") - txt_file = os.path.join(self.source_folder, "basic_nr.txt") - self.run(f"{bin_path} {txt_file}", run_environment=True) diff --git a/recipes/flint/all/test_v1_package/CMakeLists.txt b/recipes/flint/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/flint/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/flint/all/test_v1_package/conanfile.py b/recipes/flint/all/test_v1_package/conanfile.py deleted file mode 100644 index b6a26067f365d..0000000000000 --- a/recipes/flint/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/flux/all/conandata.yml b/recipes/flux/all/conandata.yml index da78f9215ab45..0e08f22b473ce 100644 --- a/recipes/flux/all/conandata.yml +++ b/recipes/flux/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.4.0": + url: "https://github.com/tcbrindle/flux/archive/refs/tags/v0.4.0.zip" + sha256: "d17c656934688e085197eb6bd576a2e468d2b513c4f3be60121b8863c0830e13" "cci.20240115": url: "https://codeload.github.com/tcbrindle/flux/zip/e942a678ed3b46c7f7ffeebe47eed5c5bec005b2" sha256: "3832fb160417d14cfb3636c8edab04b2d0cd6c230b4d474a18bb1389fa1c3b8f" diff --git a/recipes/flux/config.yml b/recipes/flux/config.yml index 4edf0b751a05e..e1fec433b2cec 100644 --- a/recipes/flux/config.yml +++ b/recipes/flux/config.yml @@ -1,3 +1,5 @@ versions: + "0.4.0": + folder: all "cci.20240115": folder: all diff --git a/recipes/fmt/all/test_v1_package/CMakeLists.txt b/recipes/fmt/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/fmt/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/fmt/all/test_v1_package/conanfile.py b/recipes/fmt/all/test_v1_package/conanfile.py deleted file mode 100644 index f99cfc80791d2..0000000000000 --- a/recipes/fmt/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["FMT_HEADER_ONLY"] = self.options["fmt"].header_only - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) - self.run(os.path.join("bin", "test_ranges"), run_environment=True) diff --git a/recipes/fmtlog/all/test_v1_package/CMakeLists.txt b/recipes/fmtlog/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 885bdb9ba0ee8..0000000000000 --- a/recipes/fmtlog/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(fmtlog REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE fmtlog::fmtlog) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/fmtlog/all/test_v1_package/conanfile.py b/recipes/fmtlog/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/fmtlog/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fontconfig/all/conanfile.py b/recipes/fontconfig/all/conanfile.py index 7e8180d100b57..dd6e6f661f713 100644 --- a/recipes/fontconfig/all/conanfile.py +++ b/recipes/fontconfig/all/conanfile.py @@ -50,8 +50,6 @@ def layout(self): def requirements(self): self.requires("freetype/2.13.2") self.requires("expat/[>=2.6.2 <3]") - if self.settings.os == "Linux": - self.requires("util-linux-libuuid/2.39.2") def build_requirements(self): self.tool_requires("gperf/3.1") diff --git a/recipes/foonathan-lexy/all/test_v1_package/CMakeLists.txt b/recipes/foonathan-lexy/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/foonathan-lexy/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/foonathan-lexy/all/test_v1_package/conanfile.py b/recipes/foonathan-lexy/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/foonathan-lexy/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/foonathan-memory/all/test_v1_package/CMakeLists.txt b/recipes/foonathan-memory/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/foonathan-memory/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/foonathan-memory/all/test_v1_package/conanfile.py b/recipes/foonathan-memory/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/foonathan-memory/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/forestdb/all/test_v1_package/CMakeLists.txt b/recipes/forestdb/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/forestdb/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/forestdb/all/test_v1_package/conanfile.py b/recipes/forestdb/all/test_v1_package/conanfile.py deleted file mode 100644 index 751b9d5bc7b9c..0000000000000 --- a/recipes/forestdb/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools, RunEnvironment -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/foxglove-websocket/all/conandata.yml b/recipes/foxglove-websocket/all/conandata.yml index 82e61d0221936..1a4d0efe6e5f6 100644 --- a/recipes/foxglove-websocket/all/conandata.yml +++ b/recipes/foxglove-websocket/all/conandata.yml @@ -1,4 +1,7 @@ sources: + 1.3.1: + url: https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/cpp/v1.3.1.tar.gz + sha256: 48bae8599603da893e559b952e7fec1392aeb55cc6d59288feac6e6428e61bef 1.3.0: url: https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/cpp/v1.3.0.tar.gz sha256: 5c1d4cda60a89bf635ef0150e8cd2f4da569f92beb8ac8555795ed7fd47f2a21 diff --git a/recipes/foxglove-websocket/all/test_v1_package/CMakeLists.txt b/recipes/foxglove-websocket/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/foxglove-websocket/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/foxglove-websocket/all/test_v1_package/conanfile.py b/recipes/foxglove-websocket/all/test_v1_package/conanfile.py deleted file mode 100644 index a4da47d572258..0000000000000 --- a/recipes/foxglove-websocket/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = ("os", "arch", "compiler", "build_type") - generators = ("cmake", "cmake_find_package_multi") - test_type = "explicit" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def requirements(self): - self.requires(self.tested_reference_str) - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/foxglove-websocket/config.yml b/recipes/foxglove-websocket/config.yml index 6431a1556fee0..5aacc0f786340 100644 --- a/recipes/foxglove-websocket/config.yml +++ b/recipes/foxglove-websocket/config.yml @@ -1,4 +1,6 @@ versions: + 1.3.1: + folder: all 1.3.0: folder: all 1.2.0: diff --git a/recipes/foxi/all/test_v1_package/CMakeLists.txt b/recipes/foxi/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index a1ab465c8f39c..0000000000000 --- a/recipes/foxi/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(foxi REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE foxi::foxi) diff --git a/recipes/foxi/all/test_v1_package/conanfile.py b/recipes/foxi/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/foxi/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fp16/all/test_v1_package/CMakeLists.txt b/recipes/fp16/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index d609dc2f83e68..0000000000000 --- a/recipes/fp16/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(fp16 REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE fp16::fp16) -target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) diff --git a/recipes/fp16/all/test_v1_package/conanfile.py b/recipes/fp16/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/fp16/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fpgen/all/test_v1_package/CMakeLists.txt b/recipes/fpgen/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/fpgen/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/fpgen/all/test_v1_package/conanfile.py b/recipes/fpgen/all/test_v1_package/conanfile.py deleted file mode 100644 index 3f4a9f50f389e..0000000000000 --- a/recipes/fpgen/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/freeimage/all/conandata.yml b/recipes/freeimage/all/conandata.yml index ab58bf12a8d2b..a988135b5daba 100644 --- a/recipes/freeimage/all/conandata.yml +++ b/recipes/freeimage/all/conandata.yml @@ -1,6 +1,6 @@ sources: "3.18.0": - url: "http://downloads.sourceforge.net/project/freeimage/Source Distribution/3.18.0/FreeImage3180.zip" + url: "http://downloads.sourceforge.net/project/freeimage/Source%20Distribution/3.18.0/FreeImage3180.zip" sha256: "f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd" patches: "3.18.0": diff --git a/recipes/freeimage/all/conanfile.py b/recipes/freeimage/all/conanfile.py index 7b598ff9ef76d..9a83848609751 100644 --- a/recipes/freeimage/all/conanfile.py +++ b/recipes/freeimage/all/conanfile.py @@ -71,13 +71,13 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/3.0.2") elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") if self.options.with_jpeg2000: - self.requires("openjpeg/2.5.0") + self.requires("openjpeg/2.5.2") if self.options.with_png: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self.options.with_webp: self.requires("libwebp/1.3.2") if self.options.with_tiff or self.options.with_openexr: diff --git a/recipes/freeimage/all/test_v1_package/CMakeLists.txt b/recipes/freeimage/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/freeimage/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/freeimage/all/test_v1_package/conanfile.py b/recipes/freeimage/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/freeimage/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/freetype/config.yml b/recipes/freetype/config.yml index 6b0e065841f8b..d5b191e4495ca 100644 --- a/recipes/freetype/config.yml +++ b/recipes/freetype/config.yml @@ -1,4 +1,6 @@ versions: + "2.13.3": + folder: meson "2.13.2": folder: meson "2.13.0": diff --git a/recipes/freetype/meson/conandata.yml b/recipes/freetype/meson/conandata.yml index 21126b5af9cd8..361e211d1b780 100644 --- a/recipes/freetype/meson/conandata.yml +++ b/recipes/freetype/meson/conandata.yml @@ -1,4 +1,9 @@ sources: + "2.13.3": + url: + - "https://download.savannah.gnu.org/releases/freetype/freetype-2.13.3.tar.xz" + - "https://sourceforge.net/projects/freetype/files/freetype2/2.13.3/freetype-2.13.3.tar.xz" + sha256: "0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289" "2.13.2": url: - "https://download.savannah.gnu.org/releases/freetype/freetype-2.13.2.tar.xz" @@ -10,13 +15,26 @@ sources: - "https://sourceforge.net/projects/freetype/files/freetype2/2.13.0/freetype-2.13.0.tar.xz" sha256: "5ee23abd047636c24b2d43c6625dcafc66661d1aca64dec9e0d05df29592624c" patches: + "2.13.3": + - patch_file: "patches/2.13.3-0002-meson-Fix-static-windows.patch" + patch_description: "meson: define DLL_EXPORT for shared library only" + patch_source: "https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/341" + patch_type: "portability" "2.13.2": - patch_file: "patches/2.13.0-0001-meson-Use-the-standard-dependency-mechanism-to-find-.patch" patch_description: "meson: Use the standard dependency mechanism to find bzip2" patch_source: "https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/318" patch_type: "portability" + - patch_file: "patches/2.13.0-0002-meson-Fix-static-windows.patch" + patch_description: "meson: define DLL_EXPORT for shared library only" + patch_source: "https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/341" + patch_type: "portability" "2.13.0": - patch_file: "patches/2.13.0-0001-meson-Use-the-standard-dependency-mechanism-to-find-.patch" patch_description: "meson: Use the standard dependency mechanism to find bzip2" patch_source: "https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/318" patch_type: "portability" + - patch_file: "patches/2.13.0-0002-meson-Fix-static-windows.patch" + patch_description: "meson: define DLL_EXPORT for shared library only" + patch_source: "https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/341" + patch_type: "portability" diff --git a/recipes/freetype/meson/conanfile.py b/recipes/freetype/meson/conanfile.py index 470342ce2982c..c48b965407536 100644 --- a/recipes/freetype/meson/conanfile.py +++ b/recipes/freetype/meson/conanfile.py @@ -177,6 +177,7 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) self._create_cmake_module_variables( os.path.join(self.package_folder, self._module_vars_rel_path) ) diff --git a/recipes/freetype/meson/patches/2.13.0-0002-meson-Fix-static-windows.patch b/recipes/freetype/meson/patches/2.13.0-0002-meson-Fix-static-windows.patch new file mode 100644 index 0000000000000..7faf662f6ebdf --- /dev/null +++ b/recipes/freetype/meson/patches/2.13.0-0002-meson-Fix-static-windows.patch @@ -0,0 +1,12 @@ +--- a/meson.build ++++ b/meson.build +@@ -368,7 +368,8 @@ ftoption_h = custom_target('ftoption.h', + ft2_sources += ftoption_h + ft2_defines += ['-DFT_CONFIG_OPTIONS_H='] + +-if host_machine.system() == 'windows' ++if host_machine.system() == 'windows' and \ ++ get_option('default_library') == 'shared' + ft2_defines += ['-DDLL_EXPORT=1'] + endif + diff --git a/recipes/freetype/meson/patches/2.13.3-0002-meson-Fix-static-windows.patch b/recipes/freetype/meson/patches/2.13.3-0002-meson-Fix-static-windows.patch new file mode 100644 index 0000000000000..e001a8bdca37c --- /dev/null +++ b/recipes/freetype/meson/patches/2.13.3-0002-meson-Fix-static-windows.patch @@ -0,0 +1,12 @@ +--- a/meson.build ++++ b/meson.build +@@ -373,7 +373,8 @@ ftoption_h = custom_target('ftoption.h', + ft2_sources += ftoption_h + ft2_defines += ['-DFT_CONFIG_OPTIONS_H='] + +-if host_machine.system() == 'windows' ++if host_machine.system() == 'windows' and \ ++ get_option('default_library') == 'shared' + ft2_defines += ['-DDLL_EXPORT=1'] + endif + diff --git a/recipes/freexl/all/test_v1_package/CMakeLists.txt b/recipes/freexl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/freexl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/freexl/all/test_v1_package/conanfile.py b/recipes/freexl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/freexl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fribidi/all/test_v1_package/CMakeLists.txt b/recipes/fribidi/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/fribidi/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/fribidi/all/test_v1_package/conanfile.py b/recipes/fribidi/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/fribidi/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/frozen/all/test_v1_package/CMakeLists.txt b/recipes/frozen/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/frozen/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/frozen/all/test_v1_package/conanfile.py b/recipes/frozen/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/frozen/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/frugally-deep/all/test_v1_package/CMakeLists.txt b/recipes/frugally-deep/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/frugally-deep/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/frugally-deep/all/test_v1_package/conanfile.py b/recipes/frugally-deep/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/frugally-deep/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/frugen/all/conandata.yml b/recipes/frugen/all/conandata.yml new file mode 100644 index 0000000000000..cc18fdc792d99 --- /dev/null +++ b/recipes/frugen/all/conandata.yml @@ -0,0 +1,15 @@ +sources: + "2.0": + url: "https://codeberg.org/IPMITool/frugen/archive/v2.0.tar.gz" + sha256: "cb5c59cf3593b162b9faedf1e5ae3b1f7e32fb732a61ada6baf7de69632bff77" +patches: + "2.0": + - patch_file: "patches/0001-cmake-use-find_package-to-locate-json-c-library.patch" + patch_description: "Upstream prefer to use pkg_check_modules instead of find_package to keep capatibility with old versions" + patch_type: "conan" + - patch_file: "patches/0002-libfru-fix-build-on-MacOS.patch" + patch_description: "Fixes build on MacOS" + patch_type: "portability" + - patch_file: "patches/0003-let-conan-choose-optimization-flags.patch" + patch_description: "Let Conan choose optimization flags" + patch_type: "conan" diff --git a/recipes/frugen/all/conanfile.py b/recipes/frugen/all/conanfile.py new file mode 100644 index 0000000000000..17b6eeec90bab --- /dev/null +++ b/recipes/frugen/all/conanfile.py @@ -0,0 +1,83 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get, rmdir, apply_conandata_patches, export_conandata_patches +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=2.1" + +class FrugenConan(ConanFile): + name = "frugen" + description = "IPMI FRU Information generator / editor tool and library" + license = ("Apache-2.0", "GPL-2.0-or-later") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://codeberg.org/IPMITool/frugen" + topics = ("hardware", "ipmi", "fru") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_json": [True, False] + } + default_options = { + "shared": False, + "fPIC": True, + "with_json": True + } + implements = ["auto_shared_fpic"] + + def validate(self): + if is_msvc(self): + raise ConanInvalidConfiguration("MSVC not supported by the library") + + def export_sources(self): + export_conandata_patches(self) + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.with_json: + self.requires("json-c/0.18") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + apply_conandata_patches(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_SHARED_LIB"] = self.options.shared + tc.cache_variables["ENABLE_JSON"] = self.options.with_json + if self.settings.os != "Macos": + tc.cache_variables["BINARY_STATIC"] = not self.options.shared + tc.cache_variables["BINARY_32BIT"] = False + tc.cache_variables["DEBUG_OUTPUT"] = False + # Dont let CMake find doxygen and try to build documentation + tc.cache_variables["CMAKE_DISABLE_FIND_PACKAGE_Doxygen"] = True + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + if self.options.shared: + self.cpp_info.components["fru-shared"].libs = ["fru"] + else: + self.cpp_info.components["fru-static"].libs = ["fru"] diff --git a/recipes/frugen/all/patches/0001-cmake-use-find_package-to-locate-json-c-library.patch b/recipes/frugen/all/patches/0001-cmake-use-find_package-to-locate-json-c-library.patch new file mode 100644 index 0000000000000..a2f037fa6302d --- /dev/null +++ b/recipes/frugen/all/patches/0001-cmake-use-find_package-to-locate-json-c-library.patch @@ -0,0 +1,38 @@ +From 00ff4c451deaa70da84fbac8d810d94ef7d59ab9 Mon Sep 17 00:00:00 2001 +From: "Andrei K." +Date: Sun, 17 Nov 2024 11:32:43 +0400 +Subject: [PATCH] cmake: use find_package to locate json-c library + +Signed-off-by: Andrei K. +--- + CMakeLists.txt | 13 +++---------- + 1 file changed, 3 insertions(+), 10 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 086b827..763c0b3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -115,17 +115,10 @@ else(BINARY_STATIC OR NOT BUILD_SHARED_LIB) + endif(BINARY_STATIC OR NOT BUILD_SHARED_LIB) + + if(ENABLE_JSON) +- find_package(PkgConfig) +- pkg_check_modules(json-c REQUIRED json-c) +- ++ find_package(json-c CONFIG REQUIRED) ++ message (STATUS "Using JSON Library found at " ${json-c_DIR}) + add_definitions(-D__HAS_JSON__) +- if(JSON_STATIC OR BINARY_STATIC) +- target_link_libraries(frugen ${json-c_STATIC_LIBRARIES}) +- else() +- target_link_libraries(frugen ${json-c_LIBRARIES}) +- endif() +- +- target_include_directories(frugen PRIVATE ${json-c_INCLUDE_DIRS}) ++ target_link_libraries(frugen json-c::json-c) + else(ENABLE_JSON) + message (WARNING "JSON library support *disabled*!") + endif(ENABLE_JSON) +-- +2.45.2 + diff --git a/recipes/frugen/all/patches/0002-libfru-fix-build-on-MacOS.patch b/recipes/frugen/all/patches/0002-libfru-fix-build-on-MacOS.patch new file mode 100644 index 0000000000000..39e84842b9ae0 --- /dev/null +++ b/recipes/frugen/all/patches/0002-libfru-fix-build-on-MacOS.patch @@ -0,0 +1,87 @@ +From b31cf1c79730d5f288cd10361a05eb6b01d0698e Mon Sep 17 00:00:00 2001 +From: "Andrei K." +Date: Sun, 17 Nov 2024 17:29:35 +0400 +Subject: [PATCH] libfru: fix build on MacOS + +* remove explicit include of : it should be included in +* redefine endiangs manipulation functions +* rename uuid_t structure since there is same named type defined on + MacOS +* add type casting for print off_t variable - there is no portable way + to pass off_t to printf + +Signed-off-by: Andrei K. +--- + fru.c | 21 +++++++++++++++++---- + frugen.c | 2 +- + 2 files changed, 18 insertions(+), 5 deletions(-) + +diff --git a/fru.c b/fru.c +index 01aaef9..c0f79d9 100644 +--- a/fru.c ++++ b/fru.c +@@ -26,7 +26,20 @@ + #include "fru-errno.h" + + #define _BSD_SOURCE +-#include ++ ++#if defined(__APPLE__) ++#include ++ ++#define htobe16(x) OSSwapHostToBigInt16(x) ++#define htole16(x) OSSwapHostToLittleInt16(x) ++#define be16toh(x) OSSwapBigToHostInt16(x) ++#define le16toh(x) OSSwapLittleToHostInt16(x) ++ ++#define htobe32(x) OSSwapHostToBigInt32(x) ++#define htole32(x) OSSwapHostToLittleInt32(x) ++#define be32toh(x) OSSwapBigToHostInt32(x) ++#define le32toh(x) OSSwapLittleToHostInt32(x) ++#endif + + #ifdef __STANDALONE__ + #include +@@ -1354,7 +1367,7 @@ typedef union __attribute__((packed)) { + uint8_t clock_seq_low; + uint8_t node[6]; + }; +-} uuid_t; ++} fru_uuid_t; + #pragma pack(pop) + + static bool is_mr_rec_valid(fru_mr_rec_t *rec, size_t limit, fru_flags_t flags) +@@ -1476,7 +1489,7 @@ int fru_mr_mgmt_str2rec(fru_mr_rec_t **rec, + int fru_mr_uuid2rec(fru_mr_rec_t **rec, const char *str) + { + size_t len; +- uuid_t uuid; ++ fru_uuid_t uuid; + + if (!str) return -EFAULT; + +@@ -1531,7 +1544,7 @@ int fru_mr_uuid2rec(fru_mr_rec_t **rec, const char *str) + int fru_mr_rec2uuid(char **str, fru_mr_mgmt_rec_t *mgmt, fru_flags_t flags) + { + size_t i; +- uuid_t uuid; ++ fru_uuid_t uuid; + + if (!mgmt || !str) { + return -EFAULT; +diff --git a/frugen.c b/frugen.c +index b0aa76f..36a0c78 100644 +--- a/frugen.c ++++ b/frugen.c +@@ -314,7 +314,7 @@ void load_from_binary_file(const char *fname, + fatal("Cannot allocate buffer"); + } + +- debug(2, "Reading the template file of size %lu...", statbuf.st_size); ++ debug(2, "Reading the template file of size %ld...", (long) statbuf.st_size); + if (read(fd, buffer, statbuf.st_size) != statbuf.st_size) { + fatal("Cannot read file"); + } +-- +2.45.2 + diff --git a/recipes/frugen/all/patches/0003-let-conan-choose-optimization-flags.patch b/recipes/frugen/all/patches/0003-let-conan-choose-optimization-flags.patch new file mode 100644 index 0000000000000..192ce4029c7b6 --- /dev/null +++ b/recipes/frugen/all/patches/0003-let-conan-choose-optimization-flags.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 763c0b3..0ce32df 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,8 +39,8 @@ option(ENABLE_JSON "enable JSON support" ON) + option(JSON_STATIC "link json-c library statically" OFF) + option(DEBUG_OUTPUT "show extra debug output" OFF) + +-set(CMAKE_C_FLAGS_RELEASE "-Os -Wall -Werror -Wfatal-errors") +-set(CMAKE_C_FLAGS_DEBUG "-g3 -O0 -Wall -Werror -Wfatal-errors") ++# set(CMAKE_C_FLAGS_RELEASE "-Os -Wall -Werror -Wfatal-errors") ++# set(CMAKE_C_FLAGS_DEBUG "-g3 -O0 -Wall -Werror -Wfatal-errors") + if(MSVC) + # warning level 4 + add_compile_options(/W4) diff --git a/recipes/frugen/all/test_package/CMakeLists.txt b/recipes/frugen/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..0398769665301 --- /dev/null +++ b/recipes/frugen/all/test_package/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(frugen REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) + +if(BUILD_SHARED_LIB) + target_link_libraries(${PROJECT_NAME} PRIVATE frugen::fru-shared) +else() + target_link_libraries(${PROJECT_NAME} PRIVATE frugen::fru-static) +endif() diff --git a/recipes/frugen/all/test_package/conanfile.py b/recipes/frugen/all/test_package/conanfile.py new file mode 100644 index 0000000000000..48f478322d8cc --- /dev/null +++ b/recipes/frugen/all/test_package/conanfile.py @@ -0,0 +1,30 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_SHARED_LIB"] = self.dependencies['frugen'].options.shared + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + 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") diff --git a/recipes/frugen/all/test_package/test_package.c b/recipes/frugen/all/test_package/test_package.c new file mode 100644 index 0000000000000..b239825897989 --- /dev/null +++ b/recipes/frugen/all/test_package/test_package.c @@ -0,0 +1,12 @@ +#include +#include "fru.h" + +int main(void) { + uint8_t buffer[64] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF}; + if (!find_fru_header(buffer, sizeof(buffer), FRU_NOFLAGS)) { + printf("Failed to find FRU information block"); + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} diff --git a/recipes/frugen/config.yml b/recipes/frugen/config.yml new file mode 100644 index 0000000000000..eab700ad534a3 --- /dev/null +++ b/recipes/frugen/config.yml @@ -0,0 +1,3 @@ +versions: + "2.0": + folder: all diff --git a/recipes/fruit/all/test_v1_package/CMakeLists.txt b/recipes/fruit/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7ea0378c83fe1..0000000000000 --- a/recipes/fruit/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/fruit/all/test_v1_package/conanfile.py b/recipes/fruit/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/fruit/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fswatch/all/conandata.yml b/recipes/fswatch/all/conandata.yml new file mode 100644 index 0000000000000..a068dc0bee813 --- /dev/null +++ b/recipes/fswatch/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.17.1.cci.20220902": + url: "https://github.com/emcrisostomo/fswatch/archive/ba411e0d0fabcd5cbf0881f1380482e2f5ab9f47.zip" + sha256: "278476f0f2178bf59dac494c07d6a9b9d181eac8d14f37d17eaf8c6d04a3b4d9" diff --git a/recipes/fswatch/all/conanfile.py b/recipes/fswatch/all/conanfile.py new file mode 100644 index 0000000000000..bede6a08e2e05 --- /dev/null +++ b/recipes/fswatch/all/conanfile.py @@ -0,0 +1,94 @@ +import os +from conan import ConanFile +from conan.tools.build import check_min_cppstd, cross_building +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get, copy, replace_in_file, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.apple import is_apple_os +from conan.errors import ConanInvalidConfiguration + + +required_conan_version = ">=2.0.9" + + +class WatcherConan(ConanFile): + name = "fswatch" + description = "A cross-platform file change monitor with multiple backends" + license = "GPL-3.0-or-later" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/emcrisostomo/fswatch" + topics = ("watch", "filesystem", "event", "monitor") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True + } + implements = ["auto_shared_fpic"] + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate_build(self): + if is_apple_os(self) and cross_building(self): + # INFO: Cmake error: "VERSION_GREATER_EQUAL" "9.0" Unknown arguments specified + raise ConanInvalidConfiguration(f"{self.ref} does not support cross-building on {self.settings.os}") + + def validate(self): + check_min_cppstd(self, 11) + if is_msvc(self): + # INFO: fswatch requires pthread always and fails CMake when using MSVC + raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC due pthread requirement.") + + def requirements(self): + self.requires("libgettext/0.22") + + def build_requirements(self): + self.tool_requires("gettext/0.22.5") + + def _apply_patches(self): + # Remove hardcoded CXX standard + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set(CMAKE_CXX_STANDARD 11)", + "") + + # Dont compile tests + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "add_subdirectory(test/src)", + "") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + self._apply_patches() + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "COPYING*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) + + def package_info(self): + self.cpp_info.libs = ["fswatch"] + self.cpp_info.set_property("cmake_file_name", "fswatch") + self.cpp_info.set_property("cmake_target_name", "fswatch::fswatch") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "pthread"] + elif self.settings.os == "Macos": + self.cpp_info.frameworks = ["CoreFoundation", "CoreServices"] diff --git a/recipes/fswatch/all/test_package/CMakeLists.txt b/recipes/fswatch/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..a4b5491d33cc7 --- /dev/null +++ b/recipes/fswatch/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(fswatch REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE fswatch::fswatch) diff --git a/recipes/fswatch/all/test_package/conanfile.py b/recipes/fswatch/all/test_package/conanfile.py new file mode 100644 index 0000000000000..cb428fdb55ba5 --- /dev/null +++ b/recipes/fswatch/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan import ConanFile +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.build import can_run + +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/fswatch/all/test_package/test_package.cpp b/recipes/fswatch/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..13d2528437ace --- /dev/null +++ b/recipes/fswatch/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ +#include + +#include + +int main() { + const auto directory_children = fsw::get_directory_children("."); + + return EXIT_SUCCESS; +} diff --git a/recipes/fswatch/config.yml b/recipes/fswatch/config.yml new file mode 100644 index 0000000000000..21934360d84a7 --- /dev/null +++ b/recipes/fswatch/config.yml @@ -0,0 +1,3 @@ +versions: + "1.17.1.cci.20220902": + folder: all diff --git a/recipes/ftjam/all/test_v1_package/conanfile.py b/recipes/ftjam/all/test_v1_package/conanfile.py deleted file mode 100644 index 2c48aab90b45b..0000000000000 --- a/recipes/ftjam/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,32 +0,0 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -import os -import shutil - - -class TestPackage(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def build_requirements(self): - if hasattr(self, "settings_build"): - self.build_requires(str(self.requires["ftjam"])) - - def build(self): - source_folder = os.path.join(self.source_folder, "..", "test_package") - for f in ("header.h", "main.c", "source.c", "Jamfile"): - shutil.copy(os.path.join(source_folder, f), - os.path.join(self.build_folder, f)) - if not tools.cross_building(self): - assert os.path.isfile(tools.get_env("JAM")) - - vars = AutoToolsBuildEnvironment(self).vars - vars["CCFLAGS"] = vars["CFLAGS"] - vars["C++FLAGS"] = vars["CXXFLAGS"] - vars["LINKFLAGS"] = vars["LDFLAGS"] - vars["LINKLIBS"] = vars["LIBS"] - with tools.environment_append(vars): - self.run("{} -d7".format(tools.get_env("JAM")), run_environment=True) - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join(".", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ftxui/all/test_v1_package/CMakeLists.txt b/recipes/ftxui/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/ftxui/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ftxui/all/test_v1_package/conanfile.py b/recipes/ftxui/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/ftxui/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/function2/all/test_v1_package/CMakeLists.txt b/recipes/function2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/function2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/function2/all/test_v1_package/conanfile.py b/recipes/function2/all/test_v1_package/conanfile.py deleted file mode 100644 index 8037a9296cc42..0000000000000 --- a/recipes/function2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/functionalplus/all/test_v1_package/CMakeLists.txt b/recipes/functionalplus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index d0b01f5d3cd02..0000000000000 --- a/recipes/functionalplus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(FunctionalPlus REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE FunctionalPlus::fplus) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/functionalplus/all/test_v1_package/conanfile.py b/recipes/functionalplus/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/functionalplus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/fusepp/all/test_v1_package/CMakeLists.txt b/recipes/fusepp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/fusepp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/fusepp/all/test_v1_package/conanfile.py b/recipes/fusepp/all/test_v1_package/conanfile.py deleted file mode 100644 index 46d9d6bbaf311..0000000000000 --- a/recipes/fusepp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run("%s --version" % bin_path, run_environment=True) diff --git a/recipes/fxdiv/all/test_v1_package/CMakeLists.txt b/recipes/fxdiv/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/fxdiv/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/fxdiv/all/test_v1_package/conanfile.py b/recipes/fxdiv/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/fxdiv/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/g3log/all/test_v1_package/CMakeLists.txt b/recipes/g3log/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/g3log/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/g3log/all/test_v1_package/conanfile.py b/recipes/g3log/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/g3log/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gainput/all/test_v1_package/CMakeLists.txt b/recipes/gainput/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7e3274020b8ef..0000000000000 --- a/recipes/gainput/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(gainput REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE gainput::gainput) diff --git a/recipes/gainput/all/test_v1_package/conanfile.py b/recipes/gainput/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/gainput/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gamenetworkingsockets/all/test_v1_package/CMakeLists.txt b/recipes/gamenetworkingsockets/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/gamenetworkingsockets/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/gamenetworkingsockets/all/test_v1_package/conanfile.py b/recipes/gamenetworkingsockets/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/gamenetworkingsockets/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/games101-cgl/all/conandata.yml b/recipes/games101-cgl/all/conandata.yml new file mode 100644 index 0000000000000..73b714f87c14e --- /dev/null +++ b/recipes/games101-cgl/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.1.0": + url: "https://github.com/endingly/games101-cgl/archive/refs/tags/v0.1.0.zip" + sha256: dc17b76ed4f2d9222c17a75ab22e07f156f077d0a243f35539b4439cc0cb9ae9 diff --git a/recipes/games101-cgl/all/conanfile.py b/recipes/games101-cgl/all/conanfile.py new file mode 100644 index 0000000000000..370dac2201804 --- /dev/null +++ b/recipes/games101-cgl/all/conanfile.py @@ -0,0 +1,91 @@ +from conan import ConanFile +from conan.tools.files import get, copy, rmdir, rm +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os + +required_conan_version = ">=1.55.0" + +class Games101CglConan(ConanFile): + name = "games101-cgl" + description = "The package is for Games101's homework8 subproject" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/endingly/games101-cgl" + topics = ("games101", "graphics") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 11 + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("freetype/2.13.2") + self.requires("glew/2.2.0", transitive_headers=True) + self.requires("glfw/3.4", transitive_headers=True) + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + def build_requirements(self): + self.tool_requires("cmake/[>=3.25 <4.0.0]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + toolchain = CMakeToolchain(self) + toolchain.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + suffix = "d" if self.settings.build_type == "Debug" else "" + self.cpp_info.libs = ["CGL" + suffix] + + self.cpp_info.set_property("cmake_file_name", "games101-cgl") + self.cpp_info.set_property("cmake_target_name", "games101-cgl::games101-cgl") + + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.filenames["cmake_find_package"] = "games101-cgl" + self.cpp_info.filenames["cmake_find_package_multi"] = "games101-cgl" + self.cpp_info.names["cmake_find_package"] = "games101-cgl" + self.cpp_info.names["cmake_find_package_multi"] = "games101-cgl" diff --git a/recipes/games101-cgl/all/test_package/CMakeLists.txt b/recipes/games101-cgl/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..fbd0be167add6 --- /dev/null +++ b/recipes/games101-cgl/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(games101-cgl REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE games101-cgl::games101-cgl) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/games101-cgl/all/test_package/conanfile.py b/recipes/games101-cgl/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fbb7f543162 --- /dev/null +++ b/recipes/games101-cgl/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +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 requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/games101-cgl/all/test_package/test_package.cpp b/recipes/games101-cgl/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..94b4226d74ca7 --- /dev/null +++ b/recipes/games101-cgl/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include + +#include + +int main() { + CGL::Vector2D vector{5, 4}; + std::cout << vector << '\n'; +} diff --git a/recipes/games101-cgl/config.yml b/recipes/games101-cgl/config.yml new file mode 100644 index 0000000000000..6c11a439d0bc2 --- /dev/null +++ b/recipes/games101-cgl/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.0": + folder: all diff --git a/recipes/gamma/all/test_v1_package/CMakeLists.txt b/recipes/gamma/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/gamma/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gamma/all/test_v1_package/conanfile.py b/recipes/gamma/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/gamma/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gcem/all/test_v1_package/CMakeLists.txt b/recipes/gcem/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/gcem/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gcem/all/test_v1_package/conanfile.py b/recipes/gcem/all/test_v1_package/conanfile.py deleted file mode 100644 index 071ca3ed857af..0000000000000 --- a/recipes/gcem/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type", - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin","test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gdbm/all/test_v1_package/CMakeLists.txt b/recipes/gdbm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0624ca060d101..0000000000000 --- a/recipes/gdbm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_v1_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/gdbm/all/test_v1_package/conanfile.py b/recipes/gdbm/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/gdbm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gdcm/all/conanfile.py b/recipes/gdcm/all/conanfile.py index 2ee447050567d..dd9ef9798d769 100644 --- a/recipes/gdcm/all/conanfile.py +++ b/recipes/gdcm/all/conanfile.py @@ -60,7 +60,7 @@ def requirements(self): self.requires("expat/[>=2.6.2 <3]") self.requires("openjpeg/2.5.2") if self.options.with_zlibng: - self.requires("zlib-ng/2.1.6") + self.requires("zlib-ng/2.2.0") else: self.requires("zlib/[>=1.2.11 <2]") if self.settings.os != "Windows": diff --git a/recipes/gdcm/all/test_v1_package/CMakeLists.txt b/recipes/gdcm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/gdcm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gdcm/all/test_v1_package/conanfile.py b/recipes/gdcm/all/test_v1_package/conanfile.py deleted file mode 100644 index 097d728c9571f..0000000000000 --- a/recipes/gdcm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -from conan.tools.files import mkdir -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gemmlowp/all/test_v1_package/CMakeLists.txt b/recipes/gemmlowp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/gemmlowp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gemmlowp/all/test_v1_package/conanfile.py b/recipes/gemmlowp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/gemmlowp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/genie/all/conandata.yml b/recipes/genie/all/conandata.yml index 1b0883fe01d12..dcbfe49e2dc2e 100644 --- a/recipes/genie/all/conandata.yml +++ b/recipes/genie/all/conandata.yml @@ -11,3 +11,6 @@ sources: "1170": url: "https://github.com/bkaradzic/GENie/archive/22cc907a4351db46c55f73e6aa901f1b2f0c52ad.zip" sha256: "C7691E50F8FB6F2346D0D3CEED14A26F9DE7AEE658CE30B61770F8BE87C1FE00" + "1181": + url: "https://github.com/bkaradzic/GENie/archive/dde7e5ba4286c90117ba8261c810a904cc305326.zip" + sha256: "8C445842E6B2C3B364BEAE527B241F640DBB08A311D9B077E80642B76A38D0DD" \ No newline at end of file diff --git a/recipes/genie/all/test_v1_package/conanfile.py b/recipes/genie/all/test_v1_package/conanfile.py deleted file mode 100644 index 00bbdee2789b3..0000000000000 --- a/recipes/genie/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,11 +0,0 @@ -from conans import ConanFile, tools -import os - - -class TestPackageConan(ConanFile): - - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not tools.cross_building(self): - self.run("genie ninja", run_environment=True, cwd=os.path.join(self.source_folder, "..", "test_package")) diff --git a/recipes/genie/config.yml b/recipes/genie/config.yml index f8c262eda3d07..47e75e6eafb62 100644 --- a/recipes/genie/config.yml +++ b/recipes/genie/config.yml @@ -7,3 +7,5 @@ versions: folder: "all" "1170": folder: "all" + "1181": + folder: "all" \ No newline at end of file diff --git a/recipes/geographiclib/all/test_v1_package/CMakeLists.txt b/recipes/geographiclib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/geographiclib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/geographiclib/all/test_v1_package/conanfile.py b/recipes/geographiclib/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/geographiclib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/geos/all/test_v1_package/CMakeLists.txt b/recipes/geos/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/geos/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/geos/all/test_v1_package/conanfile.py b/recipes/geos/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/geos/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/geotrans/all/test_v1_package/CMakeLists.txt b/recipes/geotrans/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/geotrans/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/geotrans/all/test_v1_package/conanfile.py b/recipes/geotrans/all/test_v1_package/conanfile.py deleted file mode 100644 index 2f992fa32bae6..0000000000000 --- a/recipes/geotrans/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,29 +0,0 @@ -from conans import ConanFile, CMake, tools -from contextlib import contextmanager -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - @contextmanager - def _workaround_2profiles(self): - if hasattr(self, "settings_build"): - with tools.environment_append( - {"MSPCCS_DATA": os.path.join(self.deps_cpp_info["geotrans"].rootpath, "res")} - ): - yield - else: - yield - - def test(self): - if not tools.cross_building(self): - with self._workaround_2profiles(): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/getdns/all/test_v1_package/CMakeLists.txt b/recipes/getdns/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/getdns/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/getdns/all/test_v1_package/conanfile.py b/recipes/getdns/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/getdns/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/getopt-for-visual-studio/all/test_v1_package/CMakeLists.txt b/recipes/getopt-for-visual-studio/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/getopt-for-visual-studio/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/getopt-for-visual-studio/all/test_v1_package/conanfile.py b/recipes/getopt-for-visual-studio/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/getopt-for-visual-studio/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gf-complete/all/test_v1_package/CMakeLists.txt b/recipes/gf-complete/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/gf-complete/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/gf-complete/all/test_v1_package/conanfile.py b/recipes/gf-complete/all/test_v1_package/conanfile.py deleted file mode 100644 index 6d77c5add47fe..0000000000000 --- a/recipes/gf-complete/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gflags/all/test_v1_package/CMakeLists.txt b/recipes/gflags/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/gflags/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gflags/all/test_v1_package/conanfile.py b/recipes/gflags/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/gflags/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ghc-filesystem/all/test_v1_package/CMakeLists.txt b/recipes/ghc-filesystem/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/ghc-filesystem/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ghc-filesystem/all/test_v1_package/conanfile.py b/recipes/ghc-filesystem/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/ghc-filesystem/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/giflib/5.1.x/test_v1_package/CMakeLists.txt b/recipes/giflib/5.1.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/giflib/5.1.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/giflib/5.1.x/test_v1_package/conanfile.py b/recipes/giflib/5.1.x/test_v1_package/conanfile.py deleted file mode 100644 index 2b12681e5d894..0000000000000 --- a/recipes/giflib/5.1.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,29 +0,0 @@ -from conan.tools.apple import is_apple_os -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build_requirements(self): - if is_apple_os(self) and self.settings.arch == "armv8": - # Workaround for CMake bug with error message: - # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being - # set. This could be because you are using a Mac OS X version less than 10.5 - # or because CMake's platform configuration is corrupt. - # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. - self.build_requires("cmake/3.22.0") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - img_name = os.path.join(self.source_folder, "testimg.gif") - bin_path = os.path.join("bin", "test_package") - command = "{} {}".format(bin_path, img_name) - self.run(command, run_environment=True) diff --git a/recipes/giflib/5.2.x/CMakeLists.txt b/recipes/giflib/5.2.x/CMakeLists.txt index 2d4e86b610d29..e676b16d18f06 100644 --- a/recipes/giflib/5.2.x/CMakeLists.txt +++ b/recipes/giflib/5.2.x/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(gif LANGUAGES C) include(GNUInstallDirs) diff --git a/recipes/giflib/5.2.x/conandata.yml b/recipes/giflib/5.2.x/conandata.yml index ea8a0bcf52687..5833d90506e97 100644 --- a/recipes/giflib/5.2.x/conandata.yml +++ b/recipes/giflib/5.2.x/conandata.yml @@ -18,4 +18,8 @@ patches: patch_description: "Use strtok_s instead of strtok_r with MSVC" patch_type: "portability" - patch_file: "patches/0001-msvc-unistd.patch" + patch_description: "import unistd in non windows os" + patch_type: "portability" - patch_file: "patches/5.2.1-0002-msvc-export.patch" + patch_description: "export symbols with MSVC" + patch_type: "portability" diff --git a/recipes/giflib/5.2.x/conanfile.py b/recipes/giflib/5.2.x/conanfile.py index 439c512e9402a..4a1ab9027e884 100644 --- a/recipes/giflib/5.2.x/conanfile.py +++ b/recipes/giflib/5.2.x/conanfile.py @@ -4,7 +4,7 @@ from conan.tools.microsoft import is_msvc import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0.9" class GiflibConan(ConanFile): @@ -79,8 +79,3 @@ def package_info(self): self.cpp_info.libs = ["gif"] if is_msvc(self): self.cpp_info.defines.append("USE_GIF_DLL" if self.options.shared else "USE_GIF_LIB") - - # TODO: to remove in conan v2 - self.cpp_info.names["cmake_find_package"] = "GIF" - self.cpp_info.names["cmake_find_package_multi"] = "GIF" - self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/giflib/5.2.x/test_v1_package/CMakeLists.txt b/recipes/giflib/5.2.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/giflib/5.2.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/giflib/5.2.x/test_v1_package/conanfile.py b/recipes/giflib/5.2.x/test_v1_package/conanfile.py deleted file mode 100644 index 1b567782d0d2e..0000000000000 --- a/recipes/giflib/5.2.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(f"{bin_path} testimg.gif", run_environment=True) - assert os.path.isfile("testimg.gif") - if self.options["giflib"].utils: - self.run("gif2rgb -o testimg.rgb testimg.gif", run_environment=True) - assert os.path.isfile("testimg.rgb.R") diff --git a/recipes/gklib/all/test_v1_package/CMakeLists.txt b/recipes/gklib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9735bda16bdf4..0000000000000 --- a/recipes/gklib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/gklib/all/test_v1_package/conanfile.py b/recipes/gklib/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/gklib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 1363469395437..976be9b27337a 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,17 @@ sources: + "4.0.1": + url: "https://github.com/stephenberry/glaze/archive/v4.0.1.tar.gz" + sha256: "0026aca33201ee6d3a820fb5926f36ba8c838bfd3120e2e179b0eee62b5bd231" + "3.6.2": + url: "https://github.com/stephenberry/glaze/archive/v3.6.2.tar.gz" + sha256: "74b14656b7a47c0a03d0a857adf5059e8c2351a7a84623593be0dd16b293216c" + "3.6.1": + url: "https://github.com/stephenberry/glaze/archive/v3.6.1.tar.gz" + sha256: "70324ad952adee32d6bbf95a0983f0c1623ce61bd237aa28c8337af2d8bb9ed5" + # keep 3.4.3 for breaking change: API(naming) change + "3.4.3": + url: "https://github.com/stephenberry/glaze/archive/v3.4.3.tar.gz" + sha256: "2af1ecc9fbdcb8182d5633979a12b950f6728dd0d76f02affa1e11b1a3369314" "3.4.1": url: "https://github.com/stephenberry/glaze/archive/v3.4.1.tar.gz" sha256: "73a38c4d7731714581061a918b33ad57cf38404abc68d9a58dbe57d56fe26a79" @@ -21,29 +34,7 @@ sources: "2.9.5": url: "https://github.com/stephenberry/glaze/archive/v2.9.5.tar.gz" sha256: "67fda0fb0cc701451c261bb1e0c94d63bafaaba13390527521e02a034eff085e" - "2.9.2": - url: "https://github.com/stephenberry/glaze/archive/v2.9.2.tar.gz" - sha256: "8dec57645517cd89631d965ad13888e49ccdb3c037a6bb099fcabadfb093d4fe" - "2.9.0": - url: "https://github.com/stephenberry/glaze/archive/v2.9.0.tar.gz" - sha256: "d07d9cab3d86ee80bf64246c14520d3495027f70444071124ee856dbdf37b6e0" # keep 2.8.4 for breaking change: pure reflection support for C style arrays "2.8.4": url: "https://github.com/stephenberry/glaze/archive/v2.8.4.tar.gz" sha256: "6ca8e63783f0a1dbe69f50c0bc289134301ecf930ada83489b9715cdd2a49252" - # keep 2.7.0 for breaking change: write error handling - "2.7.0": - url: "https://github.com/stephenberry/glaze/archive/v2.7.0.tar.gz" - sha256: "8e3ee2ba725137cd4f61bc9ceb74e2225dc22b970da1c5a43d2a6833115adbfc" - # keep 2.6.9 for breaking change: JSONC style comment - "2.6.9": - url: "https://github.com/stephenberry/glaze/archive/v2.6.9.tar.gz" - sha256: "e16c221c12b56f5a7f1cb2f33a884e752e219215826d8bc1edf96c78ee2458ec" - # keep 2.6.2 for gcc11 - "2.6.2": - url: "https://github.com/stephenberry/glaze/archive/v2.6.2.tar.gz" - sha256: "8498de2b5e80b4eeab07108ea8ed460d4bbfef56f533ff08ca9e119501185dc4" - # Keep 2.1.6 for now as 2.1.7 had some breaking changes - "2.1.6": - url: "https://github.com/stephenberry/glaze/archive/v2.1.6.tar.gz" - sha256: "5ae31b1a48a5b54b84e115a12195341bfbe39f03f92bb3bcad074f984380f72d" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index ab2848babbb5d..e353497cda64e 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -50,12 +50,6 @@ def package_id(self): self.info.clear() def validate(self): - # remove this block when all versions of under 2.6.3 will be removed. - if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "11.3": - raise ConanInvalidConfiguration( - f"{self.ref} doesn't support 11.0<=gcc<11.3 due to gcc bug. Please use gcc>=11.3 and set compiler.version.(ex. compiler.version=11.3)", - ) - if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 59f4a4de596e9..3055b2585ba67 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,12 @@ versions: + "4.0.1": + folder: all + "3.6.2": + folder: all + "3.6.1": + folder: all + "3.4.3": + folder: all "3.4.1": folder: all "3.3.4": @@ -13,17 +21,5 @@ versions: folder: all "2.9.5": folder: all - "2.9.2": - folder: all - "2.9.0": - folder: all "2.8.4": folder: all - "2.7.0": - folder: all - "2.6.9": - folder: all - "2.6.2": - folder: all - "2.1.6": - folder: all diff --git a/recipes/glbinding/all/test_v1_package/CMakeLists.txt b/recipes/glbinding/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/glbinding/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/glbinding/all/test_v1_package/conanfile.py b/recipes/glbinding/all/test_v1_package/conanfile.py deleted file mode 100644 index 67eb137fb4f2d..0000000000000 --- a/recipes/glbinding/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def requirements(self): - self.requires("glfw/3.3.8") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/glew/all/conanfile.py b/recipes/glew/all/conanfile.py index 6df17e18c3783..990bfc4644ddd 100644 --- a/recipes/glew/all/conanfile.py +++ b/recipes/glew/all/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir @@ -20,6 +21,7 @@ class GlewConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "with_egl": [True, False], + "with_glu": ["mesa-glu", "system"] } default_options = { "shared": False, @@ -30,11 +32,21 @@ class GlewConan(ConanFile): def export_sources(self): export_conandata_patches(self) + def validate(self): + if self.options.with_glu == "mesa-glu" and (is_apple_os(self) or self.settings.os == "Windows"): + raise ConanInvalidConfiguration("mesa-glu only suppported on Linux.") + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC del self.options.with_egl + if self.options.with_glu == None: + if is_apple_os(self) or self.settings.os == "Windows": + self.options.with_glu = "system" + else: + self.options.with_glu = "mesa-glu" + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -47,10 +59,10 @@ def layout(self): def requirements(self): self.requires("opengl/system") # GL/glew.h includes glu.h. - if is_apple_os(self) or self.settings.os == "Windows": - self.requires("glu/system", transitive_headers=True) - else: + if self.options.with_glu == "mesa-glu": self.requires("mesa-glu/9.0.3", transitive_headers=True) + else: + self.requires("glu/system", transitive_headers=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -79,7 +91,6 @@ def package_info(self): glewlib_target_name = "glew" if self.options.shared else "glew_s" self.cpp_info.set_property("cmake_find_mode", "both") self.cpp_info.set_property("cmake_module_file_name", "GLEW") - self.cpp_info.set_property("cmake_file_name", "glew") self.cpp_info.set_property("cmake_target_name", "GLEW::GLEW") self.cpp_info.set_property("pkg_config_name", "glew") self.cpp_info.components["glewlib"].set_property("cmake_module_target_name", "GLEW::GLEW") @@ -96,15 +107,8 @@ def package_info(self): if self.settings.os == "Windows" and not self.options.shared: self.cpp_info.components["glewlib"].defines.append("GLEW_STATIC") self.cpp_info.components["glewlib"].requires = ["opengl::opengl"] - if is_apple_os(self) or self.settings.os == "Windows": - self.cpp_info.components["glewlib"].requires.append("glu::glu") - else: - self.cpp_info.components["glewlib"].requires.append("mesa-glu::mesa-glu") - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "GLEW" - self.cpp_info.filenames["cmake_find_package_multi"] = "glew" - self.cpp_info.names["cmake_find_package"] = "GLEW" - self.cpp_info.names["cmake_find_package_multi"] = "GLEW" - self.cpp_info.components["glewlib"].names["cmake_find_package"] = "GLEW" - self.cpp_info.components["glewlib"].names["cmake_find_package_multi"] = glewlib_target_name + if self.options.with_glu == "mesa-glu": + self.cpp_info.components["glewlib"].requires.append("mesa-glu::mesa-glu") + else: + self.cpp_info.components["glewlib"].requires.append("glu::glu") diff --git a/recipes/glew/all/test_v1_package/CMakeLists.txt b/recipes/glew/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index abaffb362cf82..0000000000000 --- a/recipes/glew/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(GLEW REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE GLEW::GLEW) diff --git a/recipes/glew/all/test_v1_package/conanfile.py b/recipes/glew/all/test_v1_package/conanfile.py deleted file mode 100644 index 19e6a0c06e3d8..0000000000000 --- a/recipes/glew/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/glfw/all/conandata.yml b/recipes/glfw/all/conandata.yml index 91c03ba3c213e..55bea05ef59a0 100644 --- a/recipes/glfw/all/conandata.yml +++ b/recipes/glfw/all/conandata.yml @@ -8,21 +8,6 @@ sources: "3.3.7": url: "https://github.com/glfw/glfw/releases/download/3.3.7/glfw-3.3.7.zip" sha256: "4ef0c544a8ace9a6cd0e0aef8250090f89fea1bf96e9fc1d9d6f76386c290c9c" - "3.3.6": - url: "https://github.com/glfw/glfw/releases/download/3.3.6/glfw-3.3.6.zip" - sha256: "45537305d44c0a9f3612d4ec4a48414547cf854bff3ed613078f7ec648a12781" - "3.3.5": - url: "https://github.com/glfw/glfw/releases/download/3.3.5/glfw-3.3.5.zip" - sha256: "98a8639cfcd4f9ed2748cfa531c217e0364b64884b43e3336c62c58802eaa34f" - "3.3.4": - url: "https://github.com/glfw/glfw/releases/download/3.3.4/glfw-3.3.4.zip" - sha256: "bbd2c42c660b725e9755eb417e40b373f0d4c03138c9b2e210d02cd308bd99cd" - "3.3.3": - url: "https://github.com/glfw/glfw/releases/download/3.3.3/glfw-3.3.3.zip" - sha256: "723087ad45b40cd333be7d1a2cd5e09a28facb7f3acdb69f3e5613bd20543977" - "3.3.2": - url: "https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.zip" - sha256: "08a33a512f29d7dbf78eab39bd7858576adcc95228c9efe8e4bc5f0f3261efc7" patches: "3.3.8": - patch_file: "patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" @@ -39,31 +24,4 @@ patches: patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" patch_type: "official" patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" - "3.3.5": - - patch_file: "patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" - patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" - patch_type: "official" - patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" - "3.3.4": - - patch_file: "patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" - patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" - patch_type: "official" - patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" - "3.3.3": - - patch_file: "patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" - patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" - patch_type: "official" - patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" - "3.3.2": - - patch_file: "patches/3.3.2-0001-fix-objc-cmake3.19+.patch" - patch_description: "Fix ObjC handling while using recent CMake versions" - patch_type: "portability" - patch_source: "https://github.com/glfw/glfw/commit/3327050ca66ad34426a82c217c2d60ced61526b7" - - patch_file: "patches/3.3.2-0002-macos-relocatable.patch" - patch_description: "Relocatable shared lib on macOS" - patch_type: "portability" - patch_source: "https://github.com/glfw/glfw/commit/5a15d8a7842fbc4b5260eac2335a6691bca9be4b" - - patch_file: "patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch" - patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" - patch_type: "official" - patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" + \ No newline at end of file diff --git a/recipes/glfw/all/conanfile.py b/recipes/glfw/all/conanfile.py index b557f33a747f0..feaae050b7850 100644 --- a/recipes/glfw/all/conanfile.py +++ b/recipes/glfw/all/conanfile.py @@ -9,7 +9,7 @@ import os import textwrap -required_conan_version = ">=1.60.0 <2 || >=2.0.5" +required_conan_version = ">=2.0.5" class GlfwConan(ConanFile): @@ -52,6 +52,8 @@ def config_options(self): self.options.rm_safe("with_wayland") if self.settings.os not in ["Linux", "FreeBSD"] or Version(self.version) <= "3.3.8": self.options.rm_safe("with_x11") + if Version(self.version) >= "3.4": + self.options.rm_safe("vulkan_static") def configure(self): if self.options.shared: @@ -61,13 +63,17 @@ def configure(self): if self.options.get_safe("with_wayland"): self.options["xkbcommon"].with_wayland = True + self.options["wayland"].shared = True + self.options["xkbcommon"].shared = True def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("opengl/system") - if self.options.vulkan_static: + # libs=False because glfw does not link to opengl, it + # loads it via dlopen or equivalent + self.requires("opengl/system", libs=False, transitive_headers=True) + if self.options.get_safe("vulkan_static"): self.requires("vulkan-loader/1.3.268.0") if self.settings.os in ["Linux", "FreeBSD"]: if self.options.get_safe("with_x11", True): @@ -77,8 +83,14 @@ def requirements(self): self.requires("xkbcommon/1.6.0") def validate(self): - if self.options.get_safe("with_wayland") and not self.dependencies["xkbcommon"].options.with_wayland: - raise ConanInvalidConfiguration(f"{self.ref} requires the with_wayland option in xkbcommon to be enabled when the with_wayland option is enabled") + if self.options.get_safe("with_wayland"): + xkbcommon_options = self.dependencies["xkbcommon"].options + if not xkbcommon_options.with_wayland: + raise ConanInvalidConfiguration(f"{self.ref} requires the with_wayland option in xkbcommon to be enabled when the with_wayland option is enabled") + if not xkbcommon_options.shared: + raise ConanInvalidConfiguration(f"{self.ref} always loads xkbcommon dependencies dynamically and does not support static linkage") + if not self.dependencies["wayland"].options.shared: + raise ConanInvalidConfiguration(f"{self.ref} always loads wayland dependencies dynamically and does not support static linkage") def build_requirements(self): if self.options.get_safe("with_wayland"): @@ -86,7 +98,7 @@ def build_requirements(self): if self._has_build_profile: self.tool_requires("wayland/") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.1.0") + self.tool_requires("pkgconf/[>=2.2 <3]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -108,7 +120,8 @@ def generate(self): tc.cache_variables["GLFW_BUILD_WAYLAND"] = self.options.get_safe("with_wayland", False) else: tc.cache_variables["GLFW_USE_WAYLAND"] = self.options.get_safe("with_wayland", False) - tc.variables["GLFW_VULKAN_STATIC"] = self.options.vulkan_static + if Version(self.version) < "3.4": + tc.cache_variables["GLFW_VULKAN_STATIC"] = self.options.get_safe("vulkan_static", False) if is_msvc(self): tc.cache_variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) tc.generate() @@ -140,13 +153,13 @@ def _patch_sources(self): apply_conandata_patches(self) # don't force PIC replace_in_file(self, os.path.join(self.source_folder, "src", "CMakeLists.txt"), - "POSITION_INDEPENDENT_CODE ON", "") + "POSITION_INDEPENDENT_CODE ON", "") # don't force static link to libgcc if MinGW replace_in_file(self, os.path.join(self.source_folder, "src", "CMakeLists.txt"), - "target_link_libraries(glfw PRIVATE \"-static-libgcc\")", "") + "target_link_libraries(glfw PRIVATE \"-static-libgcc\")", "") # Allow to link vulkan-loader into shared glfw - if self.options.vulkan_static: + if self.options.get_safe("vulkan_static"): cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") replace_in_file( self, @@ -214,12 +227,38 @@ def package_info(self): "AppKit", "Cocoa", "CoreFoundation", "CoreGraphics", "CoreServices", "Foundation", "IOKit", ]) + self.cpp_info.requires = ["opengl::opengl"] + if self.options.get_safe("vulkan_static"): + self.cpp_info.requires.append("vulkan-loader::vulkan-loader") + if self.settings.os in ["Linux", "FreeBSD"]: + if self.options.get_safe("with_x11", True): + # https://github.com/glfw/glfw/blob/3.4/src/CMakeLists.txt#L181-L218 + # https://github.com/glfw/glfw/blob/3.3.2/CMakeLists.txt#L196-L233 + self.cpp_info.requires.extend([ + "xorg::x11", # Also includes Xkb and Xshape + "xorg::xrandr", + "xorg::xinerama", + "xorg::xcursor", + "xorg::xi", + ]) + if self.options.get_safe("with_wayland"): + # https://github.com/glfw/glfw/blob/3.4/src/CMakeLists.txt#L163-L167 + self.cpp_info.requires.extend([ + "wayland::wayland-client", + "wayland::wayland-cursor", + "wayland::wayland-egl", + "xkbcommon::xkbcommon" + ]) - # backward support of cmake_find_package, cmake_find_package_multi & pkg_config generators - self.cpp_info.filenames["cmake_find_package"] = "glfw3" - self.cpp_info.filenames["cmake_find_package_multi"] = "glfw3" - self.cpp_info.names["cmake_find_package"] = "glfw" - self.cpp_info.names["cmake_find_package_multi"] = "glfw" - self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - self.cpp_info.names["pkg_config"] = "glfw3" + # Starting with version 3.4, glfw loads the platform libraries at runtime + # and hence does not need to link with them. + self.cpp_info.requires = [] + if Version(self.version) < "3.4": + self.cpp_info.requires.append("opengl::opengl") + if self.options.get_safe("vulkan_static"): + self.cpp_info.requires.append("vulkan-loader::vulkan-loader") + if self.settings.os in ["Linux", "FreeBSD"]: + if self.options.get_safe("with_x11", True): + self.cpp_info.requires.append("xorg::x11") + if self.options.get_safe("with_wayland"): + self.cpp_info.requires.extend(["wayland::wayland", "xkbcommon::xkbcommon"]) diff --git a/recipes/glfw/all/patches/3.3.2-0001-fix-objc-cmake3.19+.patch b/recipes/glfw/all/patches/3.3.2-0001-fix-objc-cmake3.19+.patch deleted file mode 100644 index 54c1246a85ae3..0000000000000 --- a/recipes/glfw/all/patches/3.3.2-0001-fix-objc-cmake3.19+.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -72,7 +72,7 @@ if (_GLFW_X11 OR _GLFW_WAYLAND) - endif() - endif() - --if (APPLE) -+if ("${CMAKE_VERSION}" VERSION_LESS "3.16" AND APPLE) - # For some reason CMake didn't know about .m until version 3.16 - set_source_files_properties(cocoa_init.m cocoa_joystick.m cocoa_monitor.m - cocoa_window.m nsgl_context.m PROPERTIES diff --git a/recipes/glfw/all/patches/3.3.2-0002-macos-relocatable.patch b/recipes/glfw/all/patches/3.3.2-0002-macos-relocatable.patch deleted file mode 100644 index 82f93cbaed918..0000000000000 --- a/recipes/glfw/all/patches/3.3.2-0002-macos-relocatable.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -160,8 +160,6 @@ if (BUILD_SHARED_LIBS) - # Add -fno-common to work around a bug in Apple's GCC - target_compile_options(glfw PRIVATE "-fno-common") - -- set_target_properties(glfw PROPERTIES -- INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}") - endif() - - if (UNIX) diff --git a/recipes/glfw/all/patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch b/recipes/glfw/all/patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch deleted file mode 100644 index c2db9f04c4980..0000000000000 --- a/recipes/glfw/all/patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 8622c81fe5271d10650e4007e96bc5342ac87ec1 Mon Sep 17 00:00:00 2001 -From: Jordan Williams -Date: Fri, 3 Nov 2023 08:51:04 -0500 -Subject: [PATCH] Wayland: Remove extra-cmake-modules dependency - -Fixes #1774. ---- - CMakeLists.txt | 11 ++++---- - src/CMakeLists.txt | 67 +++++++++++++++++++++++++++++----------------- - 2 files changed, 48 insertions(+), 30 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e9888624..33d1a0c1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -237,12 +237,13 @@ endif() - # Use Wayland for window creation - #-------------------------------------------------------------------- - if (_GLFW_WAYLAND) -- find_package(ECM REQUIRED NO_MODULE) -- list(APPEND CMAKE_MODULE_PATH "${ECM_MODULE_PATH}") - -- find_package(Wayland REQUIRED Client Cursor Egl) -- find_package(WaylandScanner REQUIRED) -- find_package(WaylandProtocols 1.15 REQUIRED) -+ include(FindPkgConfig) -+ pkg_check_modules(Wayland REQUIRED -+ wayland-client>=0.2.7 -+ wayland-cursor>=0.2.7 -+ wayland-egl>=0.2.7 -+ xkbcommon) - - list(APPEND glfw_PKG_DEPS "wayland-egl") - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index e3463639..76c25251 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -30,31 +30,6 @@ elseif (_GLFW_WAYLAND) - set(glfw_SOURCES ${common_SOURCES} wl_init.c wl_monitor.c wl_window.c - posix_time.c posix_thread.c xkb_unicode.c - egl_context.c osmesa_context.c) -- -- ecm_add_wayland_client_protocol(glfw_SOURCES -- PROTOCOL -- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/xdg-shell/xdg-shell.xml" -- BASENAME xdg-shell) -- ecm_add_wayland_client_protocol(glfw_SOURCES -- PROTOCOL -- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml" -- BASENAME xdg-decoration) -- ecm_add_wayland_client_protocol(glfw_SOURCES -- PROTOCOL -- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/viewporter/viewporter.xml" -- BASENAME viewporter) -- ecm_add_wayland_client_protocol(glfw_SOURCES -- PROTOCOL -- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml" -- BASENAME relative-pointer-unstable-v1) -- ecm_add_wayland_client_protocol(glfw_SOURCES -- PROTOCOL -- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml" -- BASENAME pointer-constraints-unstable-v1) -- ecm_add_wayland_client_protocol(glfw_SOURCES -- PROTOCOL -- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml" -- BASENAME idle-inhibit-unstable-v1) - elseif (_GLFW_OSMESA) - set(glfw_HEADERS ${common_HEADERS} null_platform.h null_joystick.h - posix_time.h posix_thread.h osmesa_context.h) -@@ -62,6 +37,48 @@ elseif (_GLFW_OSMESA) - null_joystick.c posix_time.c posix_thread.c osmesa_context.c) - endif() - -+if (_GLFW_WAYLAND) -+ find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) -+ pkg_check_modules(WAYLAND_PROTOCOLS REQUIRED wayland-protocols>=1.15) -+ pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir) -+ -+ macro(wayland_generate protocol_file output_file) -+ add_custom_command(OUTPUT ${output_file}.h -+ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header -+ < ${protocol_file} > ${output_file}.h -+ DEPENDS ${protocol_file}) -+ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.h) -+ -+ add_custom_command(OUTPUT ${output_file}.c -+ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} private-code -+ < ${protocol_file} > ${output_file}.c -+ DEPENDS ${protocol_file}) -+ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.c) -+ endmacro() -+ -+ set(GLFW_WAYLAND_PROTOCOL_SOURCES) -+ wayland_generate( -+ ${WAYLAND_PROTOCOLS_BASE}/stable/xdg-shell/xdg-shell.xml -+ ${GLFW_BINARY_DIR}/src/wayland-xdg-shell-client-protocol) -+ wayland_generate( -+ ${WAYLAND_PROTOCOLS_BASE}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml -+ ${GLFW_BINARY_DIR}/src/wayland-xdg-decoration-client-protocol) -+ wayland_generate( -+ ${WAYLAND_PROTOCOLS_BASE}/stable/viewporter/viewporter.xml -+ ${GLFW_BINARY_DIR}/src/wayland-viewporter-client-protocol) -+ wayland_generate( -+ ${WAYLAND_PROTOCOLS_BASE}/unstable/relative-pointer/relative-pointer-unstable-v1.xml -+ ${GLFW_BINARY_DIR}/src/wayland-relative-pointer-unstable-v1-client-protocol) -+ wayland_generate( -+ ${WAYLAND_PROTOCOLS_BASE}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml -+ ${GLFW_BINARY_DIR}/src/wayland-pointer-constraints-unstable-v1-client-protocol) -+ wayland_generate( -+ ${WAYLAND_PROTOCOLS_BASE}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml -+ ${GLFW_BINARY_DIR}/src/wayland-idle-inhibit-unstable-v1-client-protocol) -+ -+ list(APPEND glfw_SOURCES ${GLFW_WAYLAND_PROTOCOL_SOURCES}) -+endif() -+ - if (_GLFW_X11 OR _GLFW_WAYLAND) - if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") - set(glfw_HEADERS ${glfw_HEADERS} linux_joystick.h) --- -2.41.0 - diff --git a/recipes/glfw/all/patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch b/recipes/glfw/all/patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch deleted file mode 100644 index 9ad41b0f7b967..0000000000000 --- a/recipes/glfw/all/patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 95e47a77801c9ab91ebfcb740d9ad6ce9861f2ab Mon Sep 17 00:00:00 2001 -From: Jordan Williams -Date: Fri, 3 Nov 2023 08:51:04 -0500 -Subject: [PATCH] Wayland: Remove extra-cmake-modules dependency - -Fixes #1774. ---- - CMakeLists.txt | 11 ++++---- - src/CMakeLists.txt | 67 +++++++++++++++++++++++++++++----------------- - 2 files changed, 48 insertions(+), 30 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f4f30293..097e5931 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -244,12 +244,13 @@ endif() - # Use Wayland for window creation - #-------------------------------------------------------------------- - if (_GLFW_WAYLAND) -- find_package(ECM REQUIRED NO_MODULE) -- list(APPEND CMAKE_MODULE_PATH "${ECM_MODULE_PATH}") - -- find_package(Wayland REQUIRED Client Cursor Egl) -- find_package(WaylandScanner REQUIRED) -- find_package(WaylandProtocols 1.15 REQUIRED) -+ include(FindPkgConfig) -+ pkg_check_modules(Wayland REQUIRED -+ wayland-client>=0.2.7 -+ wayland-cursor>=0.2.7 -+ wayland-egl>=0.2.7 -+ xkbcommon) - - list(APPEND glfw_PKG_DEPS "wayland-client") - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index a409459b..03aaacf6 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -30,31 +30,6 @@ elseif (_GLFW_WAYLAND) - set(glfw_SOURCES ${common_SOURCES} wl_init.c wl_monitor.c wl_window.c - posix_time.c posix_thread.c xkb_unicode.c - egl_context.c osmesa_context.c) -- -- ecm_add_wayland_client_protocol(glfw_SOURCES -- PROTOCOL -- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/xdg-shell/xdg-shell.xml" -- BASENAME xdg-shell) -- ecm_add_wayland_client_protocol(glfw_SOURCES -- PROTOCOL -- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml" -- BASENAME xdg-decoration) -- ecm_add_wayland_client_protocol(glfw_SOURCES -- PROTOCOL -- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/viewporter/viewporter.xml" -- BASENAME viewporter) -- ecm_add_wayland_client_protocol(glfw_SOURCES -- PROTOCOL -- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml" -- BASENAME relative-pointer-unstable-v1) -- ecm_add_wayland_client_protocol(glfw_SOURCES -- PROTOCOL -- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml" -- BASENAME pointer-constraints-unstable-v1) -- ecm_add_wayland_client_protocol(glfw_SOURCES -- PROTOCOL -- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml" -- BASENAME idle-inhibit-unstable-v1) - elseif (_GLFW_OSMESA) - set(glfw_HEADERS ${common_HEADERS} null_platform.h null_joystick.h - posix_time.h posix_thread.h osmesa_context.h) -@@ -62,6 +37,48 @@ elseif (_GLFW_OSMESA) - null_joystick.c posix_time.c posix_thread.c osmesa_context.c) - endif() - -+if (_GLFW_WAYLAND) -+ find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) -+ pkg_check_modules(WAYLAND_PROTOCOLS REQUIRED wayland-protocols>=1.15) -+ pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir) -+ -+ macro(wayland_generate protocol_file output_file) -+ add_custom_command(OUTPUT ${output_file}.h -+ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header -+ < ${protocol_file} > ${output_file}.h -+ DEPENDS ${protocol_file}) -+ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.h) -+ -+ add_custom_command(OUTPUT ${output_file}.c -+ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} private-code -+ < ${protocol_file} > ${output_file}.c -+ DEPENDS ${protocol_file}) -+ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.c) -+ endmacro() -+ -+ set(GLFW_WAYLAND_PROTOCOL_SOURCES) -+ wayland_generate( -+ ${WAYLAND_PROTOCOLS_BASE}/stable/xdg-shell/xdg-shell.xml -+ ${GLFW_BINARY_DIR}/src/wayland-xdg-shell-client-protocol) -+ wayland_generate( -+ ${WAYLAND_PROTOCOLS_BASE}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml -+ ${GLFW_BINARY_DIR}/src/wayland-xdg-decoration-client-protocol) -+ wayland_generate( -+ ${WAYLAND_PROTOCOLS_BASE}/stable/viewporter/viewporter.xml -+ ${GLFW_BINARY_DIR}/src/wayland-viewporter-client-protocol) -+ wayland_generate( -+ ${WAYLAND_PROTOCOLS_BASE}/unstable/relative-pointer/relative-pointer-unstable-v1.xml -+ ${GLFW_BINARY_DIR}/src/wayland-relative-pointer-unstable-v1-client-protocol) -+ wayland_generate( -+ ${WAYLAND_PROTOCOLS_BASE}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml -+ ${GLFW_BINARY_DIR}/src/wayland-pointer-constraints-unstable-v1-client-protocol) -+ wayland_generate( -+ ${WAYLAND_PROTOCOLS_BASE}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml -+ ${GLFW_BINARY_DIR}/src/wayland-idle-inhibit-unstable-v1-client-protocol) -+ -+ list(APPEND glfw_SOURCES ${GLFW_WAYLAND_PROTOCOL_SOURCES}) -+endif() -+ - if (_GLFW_X11 OR _GLFW_WAYLAND) - if (CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(glfw_HEADERS ${glfw_HEADERS} linux_joystick.h) --- -2.41.0 - diff --git a/recipes/glfw/all/test_package/CMakeLists.txt b/recipes/glfw/all/test_package/CMakeLists.txt index b6a8569c50ff8..d4fd9128472c1 100644 --- a/recipes/glfw/all/test_package/CMakeLists.txt +++ b/recipes/glfw/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(glfw3 REQUIRED CONFIG) diff --git a/recipes/glfw/all/test_v1_package/CMakeLists.txt b/recipes/glfw/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/glfw/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/glfw/all/test_v1_package/conanfile.py b/recipes/glfw/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/glfw/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/glfw/config.yml b/recipes/glfw/config.yml index 71269a07d6ef0..4de833422197f 100644 --- a/recipes/glfw/config.yml +++ b/recipes/glfw/config.yml @@ -5,13 +5,3 @@ versions: folder: all "3.3.7": folder: all - "3.3.6": - folder: all - "3.3.5": - folder: all - "3.3.4": - folder: all - "3.3.3": - folder: all - "3.3.2": - folder: all diff --git a/recipes/glib/all/conanfile.py b/recipes/glib/all/conanfile.py index 491dcc7587018..18816d5df363d 100644 --- a/recipes/glib/all/conanfile.py +++ b/recipes/glib/all/conanfile.py @@ -10,7 +10,7 @@ import shutil -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0" class GLibConan(ConanFile): @@ -73,7 +73,7 @@ def requirements(self): if self.options.get_safe("with_elf"): self.requires("libelf/0.8.13") if self.options.get_safe("with_mount"): - self.requires("libmount/2.39") + self.requires("libmount/2.39.2") if self.options.get_safe("with_selinux"): self.requires("libselinux/3.6") if self.settings.os != "Linux": @@ -86,7 +86,7 @@ def requirements(self): def build_requirements(self): self.tool_requires("meson/[>=1.2.3 <2]") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/[>=2.2 <3]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/glib/all/test_v1_package/CMakeLists.txt b/recipes/glib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/glib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/glib/all/test_v1_package/conanfile.py b/recipes/glib/all/test_v1_package/conanfile.py deleted file mode 100644 index 18cf513b30696..0000000000000 --- a/recipes/glib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - if self.settings.os != "Windows": - self.run("gdbus-codegen -h", env="conanrun") diff --git a/recipes/glibmm/all/test_v1_package/CMakeLists.txt b/recipes/glibmm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/glibmm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/glibmm/all/test_v1_package/conanfile.py b/recipes/glibmm/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/glibmm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/glm/all/test_v1_package/CMakeLists.txt b/recipes/glm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/glm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/glm/all/test_v1_package/conanfile.py b/recipes/glm/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/glm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/glshaderpp/all/test_v1_package/CMakeLists.txt b/recipes/glshaderpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/glshaderpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/glshaderpp/all/test_v1_package/conanfile.py b/recipes/glshaderpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 6e16e1852823f..0000000000000 --- a/recipes/glshaderpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def requirements(self): - self.requires("glew/2.2.0") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/glslang/all/test_v1_package/CMakeLists.txt b/recipes/glslang/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/glslang/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/glslang/all/test_v1_package/conanfile.py b/recipes/glslang/all/test_v1_package/conanfile.py deleted file mode 100644 index d939929a7a456..0000000000000 --- a/recipes/glslang/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - shader_name = os.path.join(self.source_folder, os.pardir, "test_package", "test_package.vert") - self.run(f"glslangValidator \"{shader_name}\"", run_environment=True) diff --git a/recipes/glu/all/conanfile.py b/recipes/glu/all/conanfile.py index 77dcc692f82dd..17787ed1bf0f7 100644 --- a/recipes/glu/all/conanfile.py +++ b/recipes/glu/all/conanfile.py @@ -29,6 +29,9 @@ def package_id(self): self.info.clear() def system_requirements(self): + if self.settings.os not in ["Linux", "FreeBSD", "SunOS"]: + return + dnf = package_manager.Dnf(self) dnf.install(["mesa-libGLU-devel"], update=True, check=True) @@ -47,6 +50,9 @@ def system_requirements(self): pkg = package_manager.Pkg(self) pkg.install(["libGLU"], update=True, check=True) + pkg_util = package_manager.PkgUtil(self) + pkg_util.install(["mesalibs"], update=True, check=True) + def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.includedirs = [] @@ -54,6 +60,6 @@ def package_info(self): if self.settings.os == "Windows": self.cpp_info.system_libs = ["glu32"] - elif self.settings.os in ["Linux", "FreeBSD"]: + elif self.settings.os in ["Linux", "FreeBSD", "SunOS"]: pkg_config = PkgConfig(self, 'glu') pkg_config.fill_cpp_info(self.cpp_info, is_system=self.settings.os != "FreeBSD") diff --git a/recipes/glu/all/test_v1_package/CMakeLists.txt b/recipes/glu/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/glu/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/glu/all/test_v1_package/conanfile.py b/recipes/glu/all/test_v1_package/conanfile.py deleted file mode 100644 index a500b98343c74..0000000000000 --- a/recipes/glu/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gm2calc/all/test_v1_package/CMakeLists.txt b/recipes/gm2calc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/gm2calc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/gm2calc/all/test_v1_package/conanfile.py b/recipes/gm2calc/all/test_v1_package/conanfile.py deleted file mode 100644 index 5ff327440fd86..0000000000000 --- a/recipes/gm2calc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class Gm2calcTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/gmp/all/test_package/CMakeLists.txt b/recipes/gmp/all/test_package/CMakeLists.txt index ba2fbfaf5b1f9..264e5af18d86e 100644 --- a/recipes/gmp/all/test_package/CMakeLists.txt +++ b/recipes/gmp/all/test_package/CMakeLists.txt @@ -1,24 +1,13 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) -enable_testing() - find_package(gmp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} PRIVATE gmp::libgmp) -add_test(NAME ${PROJECT_NAME}_test COMMAND ${PROJECT_NAME}) - -if(TEST_PIC) - set(CMAKE_POSITION_INDEPENDENT_CODE ON) - add_executable(${PROJECT_NAME}_pic test_package.c) - target_link_libraries(${PROJECT_NAME}_pic PRIVATE gmp::libgmp) - add_test(NAME ${PROJECT_NAME}_pic_test COMMAND ${PROJECT_NAME}_pic) -endif() if(ENABLE_CXX) enable_language(CXX) add_executable(${PROJECT_NAME}_cpp test_package.cpp) target_link_libraries(${PROJECT_NAME}_cpp PRIVATE gmp::gmpxx) - add_test(NAME ${PROJECT_NAME}_cpp_test COMMAND ${PROJECT_NAME}_cpp) endif() diff --git a/recipes/gmp/all/test_package/conanfile.py b/recipes/gmp/all/test_package/conanfile.py index 408e5ddb1389c..9f0e5d3db8fa5 100644 --- a/recipes/gmp/all/test_package/conanfile.py +++ b/recipes/gmp/all/test_package/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import chdir +import os class TestPackageConan(ConanFile): @@ -18,7 +18,6 @@ def requirements(self): def generate(self): tc = CMakeToolchain(self) tc.variables["ENABLE_CXX"] = self.dependencies["gmp"].options.enable_cxx - tc.variables["TEST_PIC"] = "fPIC" in self.dependencies["gmp"].options and self.dependencies["gmp"].options.fPIC tc.generate() def build(self): @@ -27,7 +26,8 @@ def build(self): cmake.build() def test(self): - if not can_run(self): - return - with chdir(self, self.folders.build_folder): - self.run(f"ctest --output-on-failure -C {self.settings.build_type}", env="conanrun") + if can_run(self): + bin_path = self.cpp.build.bindirs[0] + self.run(os.path.join(bin_path, "test_package"), env="conanrun") + if self.dependencies['gmp'].options.enable_cxx: + self.run(os.path.join(bin_path, "test_package_cpp"), env="conanrun") diff --git a/recipes/gmp/all/test_package/test_package.c b/recipes/gmp/all/test_package/test_package.c index 855fb40978336..14783504f48a1 100644 --- a/recipes/gmp/all/test_package/test_package.c +++ b/recipes/gmp/all/test_package/test_package.c @@ -1,25 +1,9 @@ #include -#include -#include - int main (void) { - mpz_t a,b,c; - mpz_init_set_str(a, "1234", 10); - mpz_init_set_str(b, "4321", 10); - mpz_init(c); - - mpz_add(c, a, b); - - char *a_str = mpz_get_str(NULL, 10, a); - char *b_str = mpz_get_str(NULL, 10, b); - char *c_str = mpz_get_str(NULL, 10, c); - - printf("%s + %s = %s\n", a_str, b_str, c_str); - - free(a_str); - free(b_str); - free(c_str); + mpz_t a; + mpz_init(a); + mpz_clear(a); - return EXIT_SUCCESS; + return 0; } diff --git a/recipes/gmp/all/test_v1_package/CMakeLists.txt b/recipes/gmp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 81f52f58013af..0000000000000 --- a/recipes/gmp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -if(ENABLE_CXX) - enable_language(CXX) -endif() - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -find_package(gmp REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE gmp::GMP) - -if(TEST_PIC) - add_library(${PROJECT_NAME}_shared SHARED ../test_package/test_package.c) - target_link_libraries(${PROJECT_NAME}_shared PRIVATE gmp::GMP) -endif() - -if(ENABLE_CXX) - add_executable(${PROJECT_NAME}_cpp ../test_package/test_package.cpp) - target_link_libraries(${PROJECT_NAME}_cpp PRIVATE gmp::GMPXX) -endif() diff --git a/recipes/gmp/all/test_v1_package/conanfile.py b/recipes/gmp/all/test_v1_package/conanfile.py deleted file mode 100644 index 716c611a38e8a..0000000000000 --- a/recipes/gmp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["ENABLE_CXX"] = self.options["gmp"].enable_cxx - cmake.definitions["TEST_PIC"] = "fPIC" in self.options["gmp"] and self.options["gmp"].fPIC - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - if self.options["gmp"].enable_cxx: - bin_path = os.path.join("bin", "test_package_cpp") - self.run(bin_path, run_environment=True) diff --git a/recipes/gn/all/conanfile.py b/recipes/gn/all/conanfile.py index 4d70a7b853851..500098d4d263f 100644 --- a/recipes/gn/all/conanfile.py +++ b/recipes/gn/all/conanfile.py @@ -58,7 +58,7 @@ def _minimum_compiler_version(self): "apple-clang": "15", "msvc": "192", "Visual Studio": "16", - } + }.get(str(self.settings.compiler)) def validate_build(self): if self.settings.compiler.cppstd: diff --git a/recipes/gnu-config/all/test_v1_package/conanfile.py b/recipes/gnu-config/all/test_v1_package/conanfile.py deleted file mode 100644 index f98dcb17dfac3..0000000000000 --- a/recipes/gnu-config/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, tools -from conans.errors import ConanException - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - - def test(self): - self.run("config.guess", run_environment=True, win_bash=tools.os_info.is_windows) - try: - triplet = tools.get_gnu_triplet(str(self.settings.os), str(self.settings.arch), str(self.settings.compiler)) - self.run(f"config.sub {triplet}", run_environment=True, win_bash=tools.os_info.is_windows) - except ConanException: - self.output.info("Current configuration is not supported by GNU config.\nIgnoring...") diff --git a/recipes/gnulib/all/test_v1_package/conanfile.py b/recipes/gnulib/all/test_v1_package/conanfile.py deleted file mode 100644 index 33375b9245e7b..0000000000000 --- a/recipes/gnulib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,61 +0,0 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment -import contextlib -import os -import shutil - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - exports_sources = "configure.ac", "Makefile.am", "test_package.c" - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - self.build_requires("automake/1.16.4") - - @contextlib.contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "AR": "{} lib".format(tools.unix_path(os.path.join(self.build_folder, "build-aux", "ar-lib"))), - "CC": "cl -nologo", - "CXX": "cl -nologo", - "LD": "link -nologo", - "NM": "dumpbin -symbols", - "OBJDUMP": ":", - "RANLIB": ":", - "STRIP": ":", - } - with tools.environment_append(env): - yield - else: - yield - - def build(self): - source_folder = os.path.join(self.source_folder, "..", "test_package") - for src in self.exports_sources: - shutil.copy(os.path.join(source_folder, src), dst=os.path.join(self.build_folder, src)) - with tools.chdir(self.build_folder): - for fn in ("COPYING", "NEWS", "INSTALL", "README", "AUTHORS", "ChangeLog"): - tools.save(fn, "\n") - with tools.run_environment(self): - self.run("gnulib-tool --list", win_bash=tools.os_info.is_windows, run_environment=True) - self.run("gnulib-tool --import getopt-posix", win_bash=tools.os_info.is_windows, run_environment=True) - # m4 built with Visual Studio does not support executing *nix utils (e.g. `test`) - with tools.environment_append({"M4":None}) if self.settings.os == "Windows" else tools.no_op(): - self.run("{} -fiv".format(os.environ["AUTORECONF"]), win_bash=tools.os_info.is_windows, run_environment=True) - - with self._build_context(): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - autotools.configure() - autotools.make() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join(".", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gnutls/all/conandata.yml b/recipes/gnutls/all/conandata.yml index bdde34580468c..92c4817c69f19 100644 --- a/recipes/gnutls/all/conandata.yml +++ b/recipes/gnutls/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "3.8.7": + url: + - "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.7.tar.xz" + - "http://www.ring.gr.jp/pub/net/gnupg/gnutls/v3.8/gnutls-3.8.7.tar.xz" + - "https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/gnutls/v3.8/gnutls-3.8.7.tar.xz" + sha256: "fe302f2b6ad5a564bcb3678eb61616413ed5277aaf8e7bf7cdb9a95a18d9f477" "3.8.2": url: - "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.2.tar.xz" @@ -12,8 +18,17 @@ sources: - "https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/gnutls/v3.7/gnutls-3.7.8.tar.xz" sha256: "c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114" patches: + "3.8.2": + - patch_file: "patches/3.8.2-0001-ossstaues-argument-fix.patch" + patch_description: "specify osstatus_error takes in an OSStatus as its first argument" + patch_type: "backport" + patch_source: "https://gitlab.com/gnutls/gnutls/-/commit/925b7072ac1a242b0968f889585e61993f9ca449.patch" "3.7.8": - - patch_description: "Fix Mac OS build when linking to libtasn1" + - patch_file: "patches/3.7.8-0001-fix-isdigit.patch" + patch_description: "Fix Mac OS build when linking to libtasn1" patch_type: "portability" patch_source: "https://github.com/xbmc/inputstream.ffmpegdirect/blob/Matrix/depends/common/gnutls/03-undo-libtasn1-cisdigit.patch" - patch_file: "patches/0001-fix-isdigit.patch" + - patch_file: "patches/3.7.8-0002-ossstaues-argument-fix.patch" + patch_description: "specify osstatus_error takes in an OSStatus as its first argument (reapplied from 3.8.2)" + patch_type: "backport" + patch_source: "https://gitlab.com/gnutls/gnutls/-/commit/925b7072ac1a242b0968f889585e61993f9ca449.patch" diff --git a/recipes/gnutls/all/patches/0001-fix-isdigit.patch b/recipes/gnutls/all/patches/3.7.8-0001-fix-isdigit.patch similarity index 100% rename from recipes/gnutls/all/patches/0001-fix-isdigit.patch rename to recipes/gnutls/all/patches/3.7.8-0001-fix-isdigit.patch diff --git a/recipes/gnutls/all/patches/3.7.8-0002-ossstaues-argument-fix.patch b/recipes/gnutls/all/patches/3.7.8-0002-ossstaues-argument-fix.patch new file mode 100644 index 0000000000000..e91a76a05b55a --- /dev/null +++ b/recipes/gnutls/all/patches/3.7.8-0002-ossstaues-argument-fix.patch @@ -0,0 +1,13 @@ +diff --git a/lib/system/certs.c b/lib/system/certs.c +index 611c645..b1eb414 100644 +--- a/lib/system/certs.c ++++ b/lib/system/certs.c +@@ -278,7 +278,7 @@ int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags, + } + #elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 + static +-int osstatus_error(status) ++int osstatus_error(OSStatus status) + { + CFStringRef err_str = SecCopyErrorMessageString(status, NULL); + _gnutls_debug_log("Error loading system root certificates: %s\n", diff --git a/recipes/gnutls/all/patches/3.8.2-0001-ossstaues-argument-fix.patch b/recipes/gnutls/all/patches/3.8.2-0001-ossstaues-argument-fix.patch new file mode 100644 index 0000000000000..efe2c3114f52e --- /dev/null +++ b/recipes/gnutls/all/patches/3.8.2-0001-ossstaues-argument-fix.patch @@ -0,0 +1,26 @@ +From 925b7072ac1a242b0968f889585e61993f9ca449 Mon Sep 17 00:00:00 2001 +From: Mark Harfouche +Date: Mon, 27 Nov 2023 12:20:23 +0000 +Subject: [PATCH] specify osstatus_error takes in an OSStatus as its first + argument + +Signed-off-by: Mark Harfouche +--- + lib/system/certs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/system/certs.c b/lib/system/certs.c +index 9619ed18c1..779d928609 100644 +--- a/lib/system/certs.c ++++ b/lib/system/certs.c +@@ -289,7 +289,7 @@ static int add_system_trust(gnutls_x509_trust_list_t list, + return r; + } + #elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 +-static int osstatus_error(status) ++static int osstatus_error(OSStatus status) + { + CFStringRef err_str = SecCopyErrorMessageString(status, NULL); + _gnutls_debug_log("Error loading system root certificates: %s\n", +-- +GitLab diff --git a/recipes/gnutls/all/test_v1_package/CMakeLists.txt b/recipes/gnutls/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de..0000000000000 --- a/recipes/gnutls/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/gnutls/all/test_v1_package/conanfile.py b/recipes/gnutls/all/test_v1_package/conanfile.py deleted file mode 100644 index e335244ee18cf..0000000000000 --- a/recipes/gnutls/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gnutls/config.yml b/recipes/gnutls/config.yml index 4a62e6bbb26e7..70ce87bedbde5 100644 --- a/recipes/gnutls/config.yml +++ b/recipes/gnutls/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.7": + folder: "all" "3.8.2": folder: "all" "3.7.8": diff --git a/recipes/gobject-introspection/all/test_v1_package/CMakeLists.txt b/recipes/gobject-introspection/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/gobject-introspection/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/gobject-introspection/all/test_v1_package/conanfile.py b/recipes/gobject-introspection/all/test_v1_package/conanfile.py deleted file mode 100644 index 52695b0ce44eb..0000000000000 --- a/recipes/gobject-introspection/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_basic") - self.run(bin_path, run_environment=True) diff --git a/recipes/godot-cpp/all/test_v1_package/CMakeLists.txt b/recipes/godot-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/godot-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/godot-cpp/all/test_v1_package/conanfile.py b/recipes/godot-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 75634e62bcb66..0000000000000 --- a/recipes/godot-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/godot_headers/all/test_v1_package/CMakeLists.txt b/recipes/godot_headers/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de..0000000000000 --- a/recipes/godot_headers/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/godot_headers/all/test_v1_package/conanfile.py b/recipes/godot_headers/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/godot_headers/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/google-cloud-cpp/2.x/test_v1_package/CMakeLists.txt b/recipes/google-cloud-cpp/2.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d63e750dab0a..0000000000000 --- a/recipes/google-cloud-cpp/2.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.10...3.24) -project(google-cloud-cpp-test LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/google-cloud-cpp/2.x/test_v1_package/conanfile.py b/recipes/google-cloud-cpp/2.x/test_v1_package/conanfile.py deleted file mode 100644 index 35fbd17e1bba5..0000000000000 --- a/recipes/google-cloud-cpp/2.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -import os - -from conans import ConanFile, CMake -from conan.tools.build import can_run - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not can_run(self): - return - for test in ["bigtable", "pubsub", "spanner", "speech", "storage"]: - cmd = os.path.join("bin", test) - self.run(cmd, run_environment=True) diff --git a/recipes/google-cloud-cpp/all/CMakeLists.txt b/recipes/google-cloud-cpp/all/CMakeLists.txt deleted file mode 100644 index a342eb16dcf1a..0000000000000 --- a/recipes/google-cloud-cpp/all/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -if(MSVC) - add_definitions("-D_SILENCE_CXX20_REL_OPS_DEPRECATION_WARNING") - add_definitions("-D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING") -endif() - -add_subdirectory("source_subfolder") diff --git a/recipes/google-cloud-cpp/all/conandata.yml b/recipes/google-cloud-cpp/all/conandata.yml index a410b93b2e064..ab3c9439c131a 100644 --- a/recipes/google-cloud-cpp/all/conandata.yml +++ b/recipes/google-cloud-cpp/all/conandata.yml @@ -1,23 +1,16 @@ sources: - "1.26.1": - url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v1.26.1.tar.gz" - sha256: "83108515fc59c72cdb87f178712256f4b0098e1ca5dc6f64c2c20dd2f1e1559d" - "1.27.0": - url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v1.27.0.tar.gz" - sha256: "84a7ac7b63db986bb737462e374c11fc6f35f6020ccaacec1d0e4d61ec929528" - "1.30.1": - url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v1.30.1.tar.gz" - sha256: "b651a58cb44bd715f0cb8e42c7ea58490b3e768a35ede01d798b983eef88e143" - "1.31.1": - url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v1.31.1.tar.gz" - sha256: "dc7cbf95b506a84b48cf71e0462985d262183edeaabdacaaee2109852394a609" "1.40.1": url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v1.40.1.tar.gz" sha256: "fb62f0e7dc964c5d3cd0d85977b85f3e0e7dce97e9029abf9c32ecc29db07043" -patches: - "1.26.1": - - patch_file: "patches/0001-googleapis-folder.patch" - base_path: "source_subfolder" + "1.31.1": + url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v1.31.1.tar.gz" + sha256: "dc7cbf95b506a84b48cf71e0462985d262183edeaabdacaaee2109852394a609" + "1.30.1": + url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v1.30.1.tar.gz" + sha256: "b651a58cb44bd715f0cb8e42c7ea58490b3e768a35ede01d798b983eef88e143" "1.27.0": - - patch_file: "patches/0001-googleapis-folder.patch" - base_path: "source_subfolder" + url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v1.27.0.tar.gz" + sha256: "84a7ac7b63db986bb737462e374c11fc6f35f6020ccaacec1d0e4d61ec929528" + "1.26.1": + url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v1.26.1.tar.gz" + sha256: "83108515fc59c72cdb87f178712256f4b0098e1ca5dc6f64c2c20dd2f1e1559d" diff --git a/recipes/google-cloud-cpp/all/conanfile.py b/recipes/google-cloud-cpp/all/conanfile.py index 30fac004d5e19..e54c3ef7dc95c 100644 --- a/recipes/google-cloud-cpp/all/conanfile.py +++ b/recipes/google-cloud-cpp/all/conanfile.py @@ -1,41 +1,45 @@ import os import textwrap -import functools -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd, cross_building +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.microsoft import check_min_vs, is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.33.0" class GoogleCloudCppConan(ConanFile): name = "google-cloud-cpp" description = "C++ Client Libraries for Google Cloud Services" license = "Apache-2.0" - topics = "google", "cloud", "google-cloud-storage", "google-cloud-platform", "google-cloud-pubsub", "google-cloud-spanner", "google-cloud-bigtable" + topics = ( + "google", "cloud", "google-cloud-storage", "google-cloud-platform", + "google-cloud-pubsub", "google-cloud-spanner", "google-cloud-bigtable" + ) homepage = "https://github.com/googleapis/google-cloud-cpp" url = "https://github.com/conan-io/conan-center-index" - generators = "cmake", "cmake_find_package_multi", "cmake_find_package" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { - "shared": [True, False], - "fPIC": [True, False] - } + "shared": [True, False], + "fPIC": [True, False], + } default_options = { - "shared": False, - "fPIC": True - } - + "shared": False, + "fPIC": True, + } short_paths = True - _cmake = None @property - def _source_subfolder(self): - return "source_subfolder" - - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + def _minimum_compiler_versions(self): + return { + "gcc": "5.4", + "clang": "6", + } def config_options(self): if self.settings.os == "Windows": @@ -43,71 +47,77 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("abseil/[>=20230125.3 <=20230802.1]", transitive_headers=True) + self.requires("crc32c/1.1.2") + self.requires("grpc/1.54.3") + self.requires("libcurl/[>=7.78.0 <9]") + self.requires("nlohmann_json/3.11.3") + self.requires("openssl/[>=1.1 <4]") + self.requires("protobuf/3.21.12") + # TODO: googleapis is hard to unvendorize, as it creates google-cloud-cpp:: targets + # and it's not trivial to replace them with the googleapis:: targets, + # there's not clean 1:1 mapping between them either way + # self.requires("googleapis/cci.20220531") + + def build_requirements(self): + self.tool_requires("grpc/") + self.tool_requires("protobuf/") + def validate(self): - if self.settings.os == 'Windows' and self.options.shared: + if self.settings.os == "Windows" and self.options.shared: raise ConanInvalidConfiguration("Fails to compile for Windows as a DLL") - if hasattr(self, "settings_build") and tools.cross_building(self): + if hasattr(self, "settings_build") and cross_building(self): raise ConanInvalidConfiguration("Recipe not prepared for cross-building (yet)") - if tools.Version(self.version) >= "1.30.0": - if self.settings.compiler == 'clang' and tools.Version(self.settings.compiler.version) < "6.0": - raise ConanInvalidConfiguration("Clang version must be at least 6.0.") + if self.settings.compiler.get_safe("cppstd"): + if self.settings.compiler == "msvc": + check_min_cppstd(self, 20) + check_min_cppstd(self, 11) - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 11) + check_min_vs(self, "192") - if self.settings.compiler == 'gcc' and tools.Version(self.settings.compiler.version) < "5.4": - raise ConanInvalidConfiguration("Building requires GCC >= 5.4") - if self.settings.compiler == 'clang' and tools.Version(self.settings.compiler.version) < "3.8": - raise ConanInvalidConfiguration("Building requires clang >= 3.8") - if self.settings.compiler == 'Visual Studio' and tools.Version(self.settings.compiler.version) < "16": - raise ConanInvalidConfiguration("Building requires VS >= 2019") + minimum_version = self._minimum_compiler_versions.get(str(self.settings.compiler)) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.name} requires {self.settings.compiler} >= {minimum_version}") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) - - def requirements(self): - self.requires('protobuf/3.20.0') - self.requires('grpc/1.45.2') - self.requires('nlohmann_json/3.10.5') - self.requires('crc32c/1.1.2') - self.requires('abseil/20211102.0') - self.requires('libcurl/7.80.0') - self.requires('openssl/1.1.1n') - # TODO: Add googleapis once it is available in CCI (now it is embedded) - - @functools.lru_cache(1) - def _configure_cmake(self): - # Do not build in parallel for certain configurations, it fails writting/reading files at the same time - parallel = not (self.settings.compiler == "Visual Studio" and self.settings.compiler.version == "16" and self.version in ["1.31.1", "1.30.1"]) - cmake = CMake(self, parallel=parallel) - cmake.definitions["BUILD_TESTING"] = 0 - - cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK"] = False - - cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_BIGTABLE"] = True - cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_BIGQUERY"] = True - cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_SPANNER"] = True - cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_STORAGE"] = True - cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_FIRESTORE"] = True - cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_PUBSUB"] = True - cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_IAM"] = True - cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_LOGGING"] = True - cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_GENERATOR"] = True - - cmake.configure() - return cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_TESTING"] = 0 + tc.cache_variables["GOOGLE_CLOUD_CPP_ENABLE_WERROR"] = False + tc.cache_variables["GOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK"] = False + tc.cache_variables["GOOGLE_CLOUD_CPP_ENABLE_CCACHE"] = False + tc.cache_variables["GOOGLE_CLOUD_CPP_ENABLE_BIGTABLE"] = True + tc.cache_variables["GOOGLE_CLOUD_CPP_ENABLE_BIGQUERY"] = True + tc.cache_variables["GOOGLE_CLOUD_CPP_ENABLE_SPANNER"] = True + tc.cache_variables["GOOGLE_CLOUD_CPP_ENABLE_STORAGE"] = True + tc.cache_variables["GOOGLE_CLOUD_CPP_ENABLE_FIRESTORE"] = True + tc.cache_variables["GOOGLE_CLOUD_CPP_ENABLE_PUBSUB"] = True + tc.cache_variables["GOOGLE_CLOUD_CPP_ENABLE_IAM"] = True + tc.cache_variables["GOOGLE_CLOUD_CPP_ENABLE_LOGGING"] = True + tc.cache_variables["GOOGLE_CLOUD_CPP_ENABLE_GENERATOR"] = False + + if is_msvc(self): + tc.preprocessor_definitions["_SILENCE_CXX20_REL_OPS_DEPRECATION_WARNING"] = 1 + tc.preprocessor_definitions["_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING"] = 1 + tc.generate() + + deps = CMakeDeps(self) + deps.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - if tools.Version(self.version) < "1.33.0": + if Version(self.version) < "1.33.0": # Do not override CMAKE_CXX_STANDARD if provided - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), textwrap.dedent("""\ set(CMAKE_CXX_STANDARD 11 @@ -117,258 +127,262 @@ def _patch_sources(self): set(CMAKE_CXX_STANDARD 11 CACHE STRING "Configure the C++ standard version for all targets.") endif() """)) + if self.version == "1.40.1": + replace_in_file(self, os.path.join(self.source_folder, "google", "cloud", "internal", "openssl_util.h"), + "#include ", "#include \n#include ") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, 'lib', "cmake")) - tools.rmdir(os.path.join(self.package_folder, 'lib', 'pkgconfig')) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): self.cpp_info.components["common"].requires = ["abseil::absl_any", "abseil::absl_flat_hash_map", "abseil::absl_memory", "abseil::absl_optional", "abseil::absl_time"] self.cpp_info.components["common"].libs = ["google_cloud_cpp_common"] - self.cpp_info.components["common"].names["pkg_config"] = "google_cloud_cpp_common" + self.cpp_info.components["common"].set_property("pkg_config_name", "google_cloud_cpp_common") self.cpp_info.components["experimental-bigquery"].requires = ["grpc_utils", "common", "cloud_bigquery_protos"] self.cpp_info.components["experimental-bigquery"].libs = ["google_cloud_cpp_bigquery"] - self.cpp_info.components["experimental-bigquery"].names["pkg_config"] = "google_cloud_cpp_bigquery" + self.cpp_info.components["experimental-bigquery"].set_property("pkg_config_name", "google_cloud_cpp_bigquery") self.cpp_info.components["bigtable"].requires = ["abseil::absl_memory", "bigtable_protos", "common", "grpc_utils", "grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["bigtable"].libs = ["google_cloud_cpp_bigtable"] - self.cpp_info.components["bigtable"].names["pkg_config"] = "google_cloud_cpp_bigtable" + self.cpp_info.components["bigtable"].set_property("pkg_config_name", "google_cloud_cpp_bigtable") - if tools.Version(self.version) < "1.40.1": # FIXME: Probably this library was removed before + if Version(self.version) < "1.40.1": # FIXME: Probably this library was removed before self.cpp_info.components["experimental-firestore"].requires = ["common"] self.cpp_info.components["experimental-firestore"].libs = ["google_cloud_cpp_firestore"] - self.cpp_info.components["experimental-firestore"].names["pkg_config"] = "google_cloud_cpp_firestore" - + self.cpp_info.components["experimental-firestore"].set_property("pkg_config_name", "google_cloud_cpp_firestore") + self.cpp_info.components["bigtable_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "api_resource_protos", "iam_v1_iam_policy_protos", "iam_v1_policy_protos", "longrunning_operations_protos", "rpc_status_protos", "api_auth_protos"] self.cpp_info.components["bigtable_protos"].libs = ["google_cloud_cpp_bigtable_protos"] - self.cpp_info.components["bigtable_protos"].names["pkg_config"] = "google_cloud_cpp_bigtable_protos" + self.cpp_info.components["bigtable_protos"].set_property("pkg_config_name", "google_cloud_cpp_bigtable_protos") self.cpp_info.components["cloud_bigquery_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "api_resource_protos", "iam_v1_iam_policy_protos", "iam_v1_policy_protos", "rpc_status_protos", "api_http_protos"] self.cpp_info.components["cloud_bigquery_protos"].libs = ["google_cloud_cpp_cloud_bigquery_protos"] - self.cpp_info.components["cloud_bigquery_protos"].names["pkg_config"] = "google_cloud_cpp_cloud_bigquery_protos" + self.cpp_info.components["cloud_bigquery_protos"].set_property("pkg_config_name", "google_cloud_cpp_cloud_bigquery_protos") self.cpp_info.components["cloud_speech_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "longrunning_operations_protos", "rpc_status_protos"] self.cpp_info.components["cloud_speech_protos"].libs = ["google_cloud_cpp_cloud_speech_protos"] - self.cpp_info.components["cloud_speech_protos"].names["pkg_config"] = "google_cloud_cpp_cloud_speech_protos" + self.cpp_info.components["cloud_speech_protos"].set_property("pkg_config_name", "google_cloud_cpp_cloud_speech_protos") self.cpp_info.components["cloud_texttospeech_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos"] self.cpp_info.components["cloud_texttospeech_protos"].libs = ["google_cloud_cpp_cloud_texttospeech_protos"] - self.cpp_info.components["cloud_texttospeech_protos"].names["pkg_config"] = "google_cloud_cpp_cloud_texttospeech_protos" + self.cpp_info.components["cloud_texttospeech_protos"].set_property("pkg_config_name", "google_cloud_cpp_cloud_texttospeech_protos") self.cpp_info.components["iam_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "api_resource_protos"] self.cpp_info.components["iam_protos"].libs = ["google_cloud_cpp_iam_protos"] - self.cpp_info.components["iam_protos"].names["pkg_config"] = "google_cloud_cpp_iam_protos" + self.cpp_info.components["iam_protos"].set_property("pkg_config_name", "google_cloud_cpp_iam_protos") self.cpp_info.components["pubsub_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "api_resource_protos"] self.cpp_info.components["pubsub_protos"].libs = ["google_cloud_cpp_pubsub_protos"] - self.cpp_info.components["pubsub_protos"].names["pkg_config"] = "google_cloud_cpp_pubsub_protos" + self.cpp_info.components["pubsub_protos"].set_property("pkg_config_name", "google_cloud_cpp_pubsub_protos") self.cpp_info.components["spanner_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "api_resource_protos", "iam_v1_iam_policy_protos", "iam_v1_policy_protos", "longrunning_operations_protos", "rpc_status_protos"] self.cpp_info.components["spanner_protos"].libs = ["google_cloud_cpp_spanner_protos"] - self.cpp_info.components["spanner_protos"].names["pkg_config"] = "google_cloud_cpp_spanner_protos" + self.cpp_info.components["spanner_protos"].set_property("pkg_config_name", "google_cloud_cpp_spanner_protos") self.cpp_info.components["storage_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "iam_v1_iam_policy_protos", "iam_v1_policy_protos"] self.cpp_info.components["storage_protos"].libs = ["google_cloud_cpp_storage_protos"] - self.cpp_info.components["storage_protos"].names["pkg_config"] = "google_cloud_cpp_storage_protos" + self.cpp_info.components["storage_protos"].set_property("pkg_config_name", "google_cloud_cpp_storage_protos") self.cpp_info.components["longrunning_operations_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "rpc_status_protos"] self.cpp_info.components["longrunning_operations_protos"].libs = ["google_cloud_cpp_longrunning_operations_protos"] - self.cpp_info.components["longrunning_operations_protos"].names["pkg_config"] = "google_cloud_cpp_longrunning_operations_protos" + self.cpp_info.components["longrunning_operations_protos"].set_property("pkg_config_name", "google_cloud_cpp_longrunning_operations_protos") self.cpp_info.components["api_http_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["api_http_protos"].libs = ["google_cloud_cpp_api_http_protos"] - self.cpp_info.components["api_http_protos"].names["pkg_config"] = "google_cloud_cpp_api_http_protos" + self.cpp_info.components["api_http_protos"].set_property("pkg_config_name", "google_cloud_cpp_api_http_protos") self.cpp_info.components["api_annotations_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_http_protos"] self.cpp_info.components["api_annotations_protos"].libs = ["google_cloud_cpp_api_annotations_protos"] - self.cpp_info.components["api_annotations_protos"].names["pkg_config"] = "google_cloud_cpp_api_annotations_protos" + self.cpp_info.components["api_annotations_protos"].set_property("pkg_config_name", "google_cloud_cpp_api_annotations_protos") self.cpp_info.components["api_auth_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos"] self.cpp_info.components["api_auth_protos"].libs = ["google_cloud_cpp_api_auth_protos"] - self.cpp_info.components["api_auth_protos"].names["pkg_config"] = "google_cloud_cpp_api_auth_protos" + self.cpp_info.components["api_auth_protos"].set_property("pkg_config_name", "google_cloud_cpp_api_auth_protos") self.cpp_info.components["api_client_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["api_client_protos"].libs = ["google_cloud_cpp_api_client_protos"] - self.cpp_info.components["api_client_protos"].names["pkg_config"] = "google_cloud_cpp_api_client_protos" + self.cpp_info.components["api_client_protos"].set_property("pkg_config_name", "google_cloud_cpp_api_client_protos") self.cpp_info.components["api_distribution_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["api_distribution_protos"].libs = ["google_cloud_cpp_api_distribution_protos"] - self.cpp_info.components["api_distribution_protos"].names["pkg_config"] = "google_cloud_cpp_api_distribution_protos" + self.cpp_info.components["api_distribution_protos"].set_property("pkg_config_name", "google_cloud_cpp_api_distribution_protos") self.cpp_info.components["api_field_behavior_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["api_field_behavior_protos"].libs = ["google_cloud_cpp_api_field_behavior_protos"] - self.cpp_info.components["api_field_behavior_protos"].names["pkg_config"] = "google_cloud_cpp_api_field_behavior_protos" + self.cpp_info.components["api_field_behavior_protos"].set_property("pkg_config_name", "google_cloud_cpp_api_field_behavior_protos") self.cpp_info.components["api_label_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["api_label_protos"].libs = ["google_cloud_cpp_api_label_protos"] - self.cpp_info.components["api_label_protos"].names["pkg_config"] = "google_cloud_cpp_api_label_protos" + self.cpp_info.components["api_label_protos"].set_property("pkg_config_name", "google_cloud_cpp_api_label_protos") self.cpp_info.components["api_launch_stage_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["api_launch_stage_protos"].libs = ["google_cloud_cpp_api_launch_stage_protos"] - self.cpp_info.components["api_launch_stage_protos"].names["pkg_config"] = "google_cloud_cpp_api_launch_stage_protos" + self.cpp_info.components["api_launch_stage_protos"].set_property("pkg_config_name", "google_cloud_cpp_api_launch_stage_protos") self.cpp_info.components["api_metric_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_launch_stage_protos", "api_label_protos"] self.cpp_info.components["api_metric_protos"].libs = ["google_cloud_cpp_api_metric_protos"] - self.cpp_info.components["api_metric_protos"].names["pkg_config"] = "google_cloud_cpp_api_metric_protos" + self.cpp_info.components["api_metric_protos"].set_property("pkg_config_name", "google_cloud_cpp_api_metric_protos") self.cpp_info.components["api_monitored_resource_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_launch_stage_protos", "api_label_protos"] self.cpp_info.components["api_monitored_resource_protos"].libs = ["google_cloud_cpp_api_monitored_resource_protos"] - self.cpp_info.components["api_monitored_resource_protos"].names["pkg_config"] = "google_cloud_cpp_api_monitored_resource_protos" + self.cpp_info.components["api_monitored_resource_protos"].set_property("pkg_config_name", "google_cloud_cpp_api_monitored_resource_protos") self.cpp_info.components["api_resource_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["api_resource_protos"].libs = ["google_cloud_cpp_api_resource_protos"] - self.cpp_info.components["api_resource_protos"].names["pkg_config"] = "google_cloud_cpp_api_resource_protos" + self.cpp_info.components["api_resource_protos"].set_property("pkg_config_name", "google_cloud_cpp_api_resource_protos") self.cpp_info.components["devtools_cloudtrace_v2_trace_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_field_behavior_protos", "api_resource_protos", "rpc_status_protos"] self.cpp_info.components["devtools_cloudtrace_v2_trace_protos"].libs = ["google_cloud_cpp_devtools_cloudtrace_v2_trace_protos"] - self.cpp_info.components["devtools_cloudtrace_v2_trace_protos"].names["pkg_config"] = "google_cloud_cpp_devtools_cloudtrace_v2_trace_protos" + self.cpp_info.components["devtools_cloudtrace_v2_trace_protos"].set_property("pkg_config_name", "google_cloud_cpp_devtools_cloudtrace_v2_trace_protos") self.cpp_info.components["devtools_cloudtrace_v2_tracing_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "devtools_cloudtrace_v2_trace_protos", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "rpc_status_protos"] self.cpp_info.components["devtools_cloudtrace_v2_tracing_protos"].libs = ["google_cloud_cpp_devtools_cloudtrace_v2_tracing_protos"] - self.cpp_info.components["devtools_cloudtrace_v2_tracing_protos"].names["pkg_config"] = "google_cloud_cpp_devtools_cloudtrace_v2_tracing_protos" + self.cpp_info.components["devtools_cloudtrace_v2_tracing_protos"].set_property("pkg_config_name", "google_cloud_cpp_devtools_cloudtrace_v2_tracing_protos") cmp_logging_type_type_protos = None - if tools.Version(self.version) < "1.40.1": # FIXME: Probably this library was removed before + if Version(self.version) < "1.40.1": # FIXME: Probably this library was removed before cmp_logging_type_type_protos = "logging_type_protos" self.cpp_info.components[cmp_logging_type_type_protos].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos"] self.cpp_info.components[cmp_logging_type_type_protos].libs = ["google_cloud_cpp_logging_type_protos"] - self.cpp_info.components[cmp_logging_type_type_protos].names["pkg_config"] = "google_cloud_cpp_logging_type_protos" + self.cpp_info.components[cmp_logging_type_type_protos].set_property("pkg_config_name", "google_cloud_cpp_logging_type_protos") else: cmp_logging_type_type_protos = "logging_type_type_protos" self.cpp_info.components[cmp_logging_type_type_protos].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos"] self.cpp_info.components[cmp_logging_type_type_protos].libs = ["google_cloud_cpp_logging_type_type_protos"] - self.cpp_info.components[cmp_logging_type_type_protos].names["pkg_config"] = "google_cloud_cpp_logging_type_type_protos" + self.cpp_info.components[cmp_logging_type_type_protos].set_property("pkg_config_name", "google_cloud_cpp_logging_type_type_protos") self.cpp_info.components["logging_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_distribution_protos", "api_field_behavior_protos", "api_metric_protos", "api_monitored_resource_protos", "api_resource_protos", cmp_logging_type_type_protos, "rpc_status_protos"] self.cpp_info.components["logging_protos"].libs = ["google_cloud_cpp_logging_protos"] - self.cpp_info.components["logging_protos"].names["pkg_config"] = "google_cloud_cpp_logging_protos" + self.cpp_info.components["logging_protos"].set_property("pkg_config_name", "google_cloud_cpp_logging_protos") self.cpp_info.components["monitoring_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_distribution_protos", "api_field_behavior_protos", "api_label_protos", "api_launch_stage_protos", "api_metric_protos", "api_monitored_resource_protos", "api_resource_protos", "rpc_status_protos", "type_calendar_period_protos"] self.cpp_info.components["monitoring_protos"].libs = ["google_cloud_cpp_monitoring_protos"] - self.cpp_info.components["monitoring_protos"].names["pkg_config"] = "google_cloud_cpp_monitoring_protos" + self.cpp_info.components["monitoring_protos"].set_property("pkg_config_name", "google_cloud_cpp_monitoring_protos") self.cpp_info.components["iam_v1_options_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos"] self.cpp_info.components["iam_v1_options_protos"].libs = ["google_cloud_cpp_iam_v1_options_protos"] - self.cpp_info.components["iam_v1_options_protos"].names["pkg_config"] = "google_cloud_cpp_iam_v1_options_protos" + self.cpp_info.components["iam_v1_options_protos"].set_property("pkg_config_name", "google_cloud_cpp_iam_v1_options_protos") self.cpp_info.components["iam_v1_policy_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "type_expr_protos"] self.cpp_info.components["iam_v1_policy_protos"].libs = ["google_cloud_cpp_iam_v1_policy_protos"] - self.cpp_info.components["iam_v1_policy_protos"].names["pkg_config"] = "google_cloud_cpp_iam_v1_policy_protos" + self.cpp_info.components["iam_v1_policy_protos"].set_property("pkg_config_name", "google_cloud_cpp_iam_v1_policy_protos") self.cpp_info.components["iam_v1_iam_policy_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "api_resource_protos", "iam_v1_options_protos", "iam_v1_policy_protos"] self.cpp_info.components["iam_v1_iam_policy_protos"].libs = ["google_cloud_cpp_iam_v1_iam_policy_protos"] - self.cpp_info.components["iam_v1_iam_policy_protos"].names["pkg_config"] = "google_cloud_cpp_iam_v1_iam_policy_protos" + self.cpp_info.components["iam_v1_iam_policy_protos"].set_property("pkg_config_name", "google_cloud_cpp_iam_v1_iam_policy_protos") self.cpp_info.components["rpc_error_details_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["rpc_error_details_protos"].libs = ["google_cloud_cpp_rpc_error_details_protos"] - self.cpp_info.components["rpc_error_details_protos"].names["pkg_config"] = "google_cloud_cpp_rpc_error_details_protos" + self.cpp_info.components["rpc_error_details_protos"].set_property("pkg_config_name", "google_cloud_cpp_rpc_error_details_protos") self.cpp_info.components["rpc_status_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "rpc_error_details_protos"] self.cpp_info.components["rpc_status_protos"].libs = ["google_cloud_cpp_rpc_status_protos"] - self.cpp_info.components["rpc_status_protos"].names["pkg_config"] = "google_cloud_cpp_rpc_status_protos" + self.cpp_info.components["rpc_status_protos"].set_property("pkg_config_name", "google_cloud_cpp_rpc_status_protos") self.cpp_info.components["type_calendar_period_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_calendar_period_protos"].libs = ["google_cloud_cpp_type_calendar_period_protos"] - self.cpp_info.components["type_calendar_period_protos"].names["pkg_config"] = "google_cloud_cpp_type_calendar_period_protos" + self.cpp_info.components["type_calendar_period_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_calendar_period_protos") self.cpp_info.components["type_color_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_color_protos"].libs = ["google_cloud_cpp_type_color_protos"] - self.cpp_info.components["type_color_protos"].names["pkg_config"] = "google_cloud_cpp_type_color_protos" + self.cpp_info.components["type_color_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_color_protos") self.cpp_info.components["type_date_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_date_protos"].libs = ["google_cloud_cpp_type_date_protos"] - self.cpp_info.components["type_date_protos"].names["pkg_config"] = "google_cloud_cpp_type_date_protos" + self.cpp_info.components["type_date_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_date_protos") self.cpp_info.components["type_datetime_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_datetime_protos"].libs = ["google_cloud_cpp_type_datetime_protos"] - self.cpp_info.components["type_datetime_protos"].names["pkg_config"] = "google_cloud_cpp_type_datetime_protos" + self.cpp_info.components["type_datetime_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_datetime_protos") self.cpp_info.components["type_dayofweek_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_dayofweek_protos"].libs = ["google_cloud_cpp_type_dayofweek_protos"] - self.cpp_info.components["type_dayofweek_protos"].names["pkg_config"] = "google_cloud_cpp_type_dayofweek_protos" + self.cpp_info.components["type_dayofweek_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_dayofweek_protos") self.cpp_info.components["type_expr_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_expr_protos"].libs = ["google_cloud_cpp_type_expr_protos"] - self.cpp_info.components["type_expr_protos"].names["pkg_config"] = "google_cloud_cpp_type_expr_protos" + self.cpp_info.components["type_expr_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_expr_protos") self.cpp_info.components["type_fraction_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_fraction_protos"].libs = ["google_cloud_cpp_type_fraction_protos"] - self.cpp_info.components["type_fraction_protos"].names["pkg_config"] = "google_cloud_cpp_type_fraction_protos" + self.cpp_info.components["type_fraction_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_fraction_protos") self.cpp_info.components["type_interval_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_interval_protos"].libs = ["google_cloud_cpp_type_interval_protos"] - self.cpp_info.components["type_interval_protos"].names["pkg_config"] = "google_cloud_cpp_type_interval_protos" + self.cpp_info.components["type_interval_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_interval_protos") self.cpp_info.components["type_latlng_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_latlng_protos"].libs = ["google_cloud_cpp_type_latlng_protos"] - self.cpp_info.components["type_latlng_protos"].names["pkg_config"] = "google_cloud_cpp_type_latlng_protos" + self.cpp_info.components["type_latlng_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_latlng_protos") self.cpp_info.components["type_localized_text_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_localized_text_protos"].libs = ["google_cloud_cpp_type_localized_text_protos"] - self.cpp_info.components["type_localized_text_protos"].names["pkg_config"] = "google_cloud_cpp_type_localized_text_protos" + self.cpp_info.components["type_localized_text_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_localized_text_protos") self.cpp_info.components["type_money_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_money_protos"].libs = ["google_cloud_cpp_type_money_protos"] - self.cpp_info.components["type_money_protos"].names["pkg_config"] = "google_cloud_cpp_type_money_protos" + self.cpp_info.components["type_money_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_money_protos") self.cpp_info.components["type_month_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_month_protos"].libs = ["google_cloud_cpp_type_month_protos"] - self.cpp_info.components["type_month_protos"].names["pkg_config"] = "google_cloud_cpp_type_month_protos" + self.cpp_info.components["type_month_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_month_protos") self.cpp_info.components["type_phone_number_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_phone_number_protos"].libs = ["google_cloud_cpp_type_phone_number_protos"] - self.cpp_info.components["type_phone_number_protos"].names["pkg_config"] = "google_cloud_cpp_type_phone_number_protos" + self.cpp_info.components["type_phone_number_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_phone_number_protos") self.cpp_info.components["type_postal_address_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_postal_address_protos"].libs = ["google_cloud_cpp_type_postal_address_protos"] - self.cpp_info.components["type_postal_address_protos"].names["pkg_config"] = "google_cloud_cpp_type_postal_address_protos" + self.cpp_info.components["type_postal_address_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_postal_address_protos") self.cpp_info.components["type_quaternion_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_quaternion_protos"].libs = ["google_cloud_cpp_type_quaternion_protos"] - self.cpp_info.components["type_quaternion_protos"].names["pkg_config"] = "google_cloud_cpp_type_quaternion_protos" + self.cpp_info.components["type_quaternion_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_quaternion_protos") self.cpp_info.components["type_timeofday_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf"] self.cpp_info.components["type_timeofday_protos"].libs = ["google_cloud_cpp_type_timeofday_protos"] - self.cpp_info.components["type_timeofday_protos"].names["pkg_config"] = "google_cloud_cpp_type_timeofday_protos" + self.cpp_info.components["type_timeofday_protos"].set_property("pkg_config_name", "google_cloud_cpp_type_timeofday_protos") self.cpp_info.components["cloud_dialogflow_v2_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "api_resource_protos", "longrunning_operations_protos", "rpc_status_protos", "type_latlng_protos"] self.cpp_info.components["cloud_dialogflow_v2_protos"].libs = ["google_cloud_cpp_cloud_dialogflow_v2_protos"] - self.cpp_info.components["cloud_dialogflow_v2_protos"].names["pkg_config"] = "google_cloud_cpp_cloud_dialogflow_v2_protos" + self.cpp_info.components["cloud_dialogflow_v2_protos"].set_property("pkg_config_name", "google_cloud_cpp_cloud_dialogflow_v2_protos") - if tools.Version(self.version) < "1.40.1": # FIXME: Probably this library was removed before + if Version(self.version) < "1.40.1": # FIXME: Probably this library was removed before self.cpp_info.components["cloud_dialogflow_v2beta1_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "api_resource_protos", "longrunning_operations_protos", "rpc_status_protos", "type_latlng_protos"] self.cpp_info.components["cloud_dialogflow_v2beta1_protos"].libs = ["google_cloud_cpp_cloud_dialogflow_v2beta1_protos"] - self.cpp_info.components["cloud_dialogflow_v2beta1_protos"].names["pkg_config"] = "google_cloud_cpp_cloud_dialogflow_v2beta1_protos" + self.cpp_info.components["cloud_dialogflow_v2beta1_protos"].set_property("pkg_config_name", "google_cloud_cpp_cloud_dialogflow_v2beta1_protos") self.cpp_info.components["grpc_utils"].requires = ["abseil::absl_function_ref", "abseil::absl_memory", "abseil::absl_time", "rpc_status_protos", "common", "grpc::grpc++", "grpc::grpc"] self.cpp_info.components["grpc_utils"].libs = ["google_cloud_cpp_grpc_utils"] - self.cpp_info.components["grpc_utils"].names["pkg_config"] = "google_cloud_cpp_grpc_utils" + self.cpp_info.components["grpc_utils"].set_property("pkg_config_name", "google_cloud_cpp_grpc_utils") self.cpp_info.components["experimental-iam"].requires = ["grpc_utils", "common", "iam_protos"] self.cpp_info.components["experimental-iam"].libs = ["google_cloud_cpp_iam"] - self.cpp_info.components["experimental-iam"].names["pkg_config"] = "google_cloud_cpp_iam" + self.cpp_info.components["experimental-iam"].set_property("pkg_config_name", "google_cloud_cpp_iam") self.cpp_info.components["experimental-logging"].requires = ["grpc_utils", "common", "logging_protos"] self.cpp_info.components["experimental-logging"].libs = ["google_cloud_cpp_logging"] - self.cpp_info.components["experimental-logging"].names["pkg_config"] = "google_cloud_cpp_logging" + self.cpp_info.components["experimental-logging"].set_property("pkg_config_name", "google_cloud_cpp_logging") self.cpp_info.components["pubsub"].requires = ["grpc_utils", "common", "pubsub_protos", "abseil::absl_flat_hash_map"] self.cpp_info.components["pubsub"].libs = ["google_cloud_cpp_pubsub"] - self.cpp_info.components["pubsub"].names["pkg_config"] = "google_cloud_cpp_pubsub" + self.cpp_info.components["pubsub"].set_property("pkg_config_name", "google_cloud_cpp_pubsub") self.cpp_info.components["spanner"].requires = ["abseil::absl_fixed_array", "abseil::absl_memory", "abseil::absl_numeric", "abseil::absl_strings", "abseil::absl_time", "grpc_utils", "common", "spanner_protos"] self.cpp_info.components["spanner"].libs = ["google_cloud_cpp_spanner"] - self.cpp_info.components["spanner"].names["pkg_config"] = "google_cloud_cpp_spanner" + self.cpp_info.components["spanner"].set_property("pkg_config_name", "google_cloud_cpp_spanner") self.cpp_info.components["storage"].requires = ["abseil::absl_memory", "abseil::absl_strings", "abseil::absl_str_format", "abseil::absl_time", "abseil::absl_variant", "common", "nlohmann_json::nlohmann_json", "crc32c::crc32c", "libcurl::libcurl", "openssl::ssl", "openssl::crypto"] self.cpp_info.components["storage"].libs = ["google_cloud_cpp_storage"] - self.cpp_info.components["storage"].names["pkg_config"] = "google_cloud_cpp_storage" + self.cpp_info.components["storage"].set_property("pkg_config_name", "google_cloud_cpp_storage") diff --git a/recipes/google-cloud-cpp/all/patches/0001-googleapis-folder.patch b/recipes/google-cloud-cpp/all/patches/0001-googleapis-folder.patch deleted file mode 100644 index 0fc76cae5ba7c..0000000000000 --- a/recipes/google-cloud-cpp/all/patches/0001-googleapis-folder.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/external/googleapis/CMakeLists.txt b/external/googleapis/CMakeLists.txt -index c3f1ef1..fb65356 100644 ---- a/external/googleapis/CMakeLists.txt -+++ b/external/googleapis/CMakeLists.txt -@@ -25,7 +25,7 @@ set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_SHA256 - "6762083f829f998c3971efa2ba858c21d4ac4ba77feb9650bad7d358e3add2a5") - - set(EXTERNAL_GOOGLEAPIS_SOURCE -- "${CMAKE_BINARY_DIR}/external/googleapis/src/googleapis_download") -+ "${PROJECT_BINARY_DIR}/external/googleapis/src/googleapis_download") - - set(EXTERNAL_GOOGLEAPIS_PROTO_FILES - "google/api/http.proto" -@@ -161,7 +161,7 @@ include(ExternalProject) - ExternalProject_Add( - googleapis_download - EXCLUDE_FROM_ALL ON -- PREFIX "${CMAKE_BINARY_DIR}/external/googleapis" -+ PREFIX "${PROJECT_BINARY_DIR}/external/googleapis" - URL ${GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL} - URL_HASH SHA256=${GOOGLE_CLOUD_CPP_GOOGLEAPIS_SHA256} - PATCH_COMMAND diff --git a/recipes/google-cloud-cpp/all/test_package/CMakeLists.txt b/recipes/google-cloud-cpp/all/test_package/CMakeLists.txt index a657ae7a34ce1..7ec50c6e07dfe 100644 --- a/recipes/google-cloud-cpp/all/test_package/CMakeLists.txt +++ b/recipes/google-cloud-cpp/all/test_package/CMakeLists.txt @@ -1,14 +1,8 @@ -cmake_minimum_required(VERSION 3.5) -project(google-cloud-cpp-storage-quickstart CXX C) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(google-cloud-cpp REQUIRED CONFIG) -set(CMAKE_CXX_STANDARD 11) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -find_package(google-cloud-cpp REQUIRED) - -# Once the packages are found, define the targets. -add_executable(storage storage.cpp) -target_link_libraries(storage google-cloud-cpp::storage) +add_executable(${PROJECT_NAME} storage.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE google-cloud-cpp::storage) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/google-cloud-cpp/all/test_package/conanfile.py b/recipes/google-cloud-cpp/all/test_package/conanfile.py index 39f0d1104e661..9adb575c7818b 100644 --- a/recipes/google-cloud-cpp/all/test_package/conanfile.py +++ b/recipes/google-cloud-cpp/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + 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) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "storage") - self.run("%s bucket_name" % bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(f"{bin_path} bucket_name", env="conanrun") diff --git a/recipes/google-cloud-cpp/config.yml b/recipes/google-cloud-cpp/config.yml index 5960fb5919b52..fc485bd919336 100644 --- a/recipes/google-cloud-cpp/config.yml +++ b/recipes/google-cloud-cpp/config.yml @@ -1,17 +1,13 @@ versions: - "1.26.1": - folder: "all" - "1.27.0": - folder: "all" - "1.30.1": - folder: "all" - "1.31.1": - folder: "all" - "1.40.1": - folder: "all" - "2.15.1": + "2.28.0": folder: "2.x" "2.19.0": folder: "2.x" - "2.28.0": + "2.15.1": folder: "2.x" + "1.40.1": + folder: "all" + "1.31.1": + folder: "all" + "1.30.1": + folder: "all" diff --git a/recipes/googleapis/all/test_v1_package/CMakeLists.txt b/recipes/googleapis/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/googleapis/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/googleapis/all/test_v1_package/conanfile.py b/recipes/googleapis/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/googleapis/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gperf/all/test_v1_package/conanfile.py b/recipes/gperf/all/test_v1_package/conanfile.py deleted file mode 100644 index 45466856213a3..0000000000000 --- a/recipes/gperf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,9 +0,0 @@ -from conans import ConanFile, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not tools.cross_building(self): - self.run("gperf --version", run_environment=True) diff --git a/recipes/gperftools/all/conandata.yml b/recipes/gperftools/all/conandata.yml index 16ebb90c2322f..fe3e23057591f 100644 --- a/recipes/gperftools/all/conandata.yml +++ b/recipes/gperftools/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.16": + url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.16/gperftools-2.16.tar.gz" + sha256: "f12624af5c5987f2cc830ee534f754c3c5961eec08004c26a8b80de015cf056f" "2.15": url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.15/gperftools-2.15.tar.gz" sha256: "c69fef855628c81ef56f12e3c58f2b7ce1f326c0a1fe783e5cae0b88cbbe9a80" diff --git a/recipes/gperftools/all/conanfile.py b/recipes/gperftools/all/conanfile.py index 7f78bb711b730..9b3639725e4ab 100644 --- a/recipes/gperftools/all/conanfile.py +++ b/recipes/gperftools/all/conanfile.py @@ -59,7 +59,19 @@ class GperftoolsConan(ConanFile): @property def _min_cppstd(self): - return 11 + return "11" if Version(self.version) < "2.16" else "17" + + @property + def _compilers_minimum_version(self): + return { + "17": { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + }, + }.get(self._min_cppstd, {}) def config_options(self): if self.settings.os == "Windows": @@ -93,6 +105,11 @@ def layout(self): def validate(self): if self.settings.compiler.get_safe("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." + ) if Version(self.version) >= "2.11.0" and self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "7": raise ConanInvalidConfiguration(f"{self.ref} does not support gcc < 7.") diff --git a/recipes/gperftools/config.yml b/recipes/gperftools/config.yml index 09354ab2fb826..11bc45e75f53f 100644 --- a/recipes/gperftools/config.yml +++ b/recipes/gperftools/config.yml @@ -1,4 +1,6 @@ versions: + "2.16": + folder: all "2.15": folder: all "2.14.0": diff --git a/recipes/graphthewy/all/test_v1_package/CMakeLists.txt b/recipes/graphthewy/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/graphthewy/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/graphthewy/all/test_v1_package/conanfile.py b/recipes/graphthewy/all/test_v1_package/conanfile.py deleted file mode 100644 index 3c2537c3ee226..0000000000000 --- a/recipes/graphthewy/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class GraphthewyTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/greg7mdp-gtl/all/test_v1_package/CMakeLists.txt b/recipes/greg7mdp-gtl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9652e22fc19d5..0000000000000 --- a/recipes/greg7mdp-gtl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.12) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/greg7mdp-gtl/all/test_v1_package/conanfile.py b/recipes/greg7mdp-gtl/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/greg7mdp-gtl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/grpc-proto/all/test_v1_package/CMakeLists.txt b/recipes/grpc-proto/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 02d1682084fb5..0000000000000 --- a/recipes/grpc-proto/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_v1_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/grpc-proto/all/test_v1_package/conanfile.py b/recipes/grpc-proto/all/test_v1_package/conanfile.py deleted file mode 100644 index 85f1fc3729bb9..0000000000000 --- a/recipes/grpc-proto/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def requirements(self): - self.requires(self.tested_reference_str) - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/grpc/all/conandata.yml b/recipes/grpc/all/conandata.yml index bf4e54a525f42..bffed171ed04e 100644 --- a/recipes/grpc/all/conandata.yml +++ b/recipes/grpc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.67.1": + url: "https://github.com/grpc/grpc/archive/v1.67.1.tar.gz" + sha256: "d74f8e99a433982a12d7899f6773e285c9824e1d9a173ea1d1fb26c9bd089299" "1.65.0": url: "https://github.com/grpc/grpc/archive/v1.65.0.tar.gz" sha256: "ebc3acfde70cfae3f4f04b8dbb72259540cb1dc427be362569fbc2607dabfe39" diff --git a/recipes/grpc/all/conanfile.py b/recipes/grpc/all/conanfile.py index 846221d92beaf..0369581dce144 100644 --- a/recipes/grpc/all/conanfile.py +++ b/recipes/grpc/all/conanfile.py @@ -37,6 +37,7 @@ class GrpcConan(ConanFile): "php_plugin": [True, False], "python_plugin": [True, False], "ruby_plugin": [True, False], + "otel_plugin": [True, False], "secure": [True, False], "with_libsystemd": [True, False] } @@ -52,6 +53,7 @@ class GrpcConan(ConanFile): "php_plugin": True, "python_plugin": True, "ruby_plugin": True, + "otel_plugin": False, "secure": False, "with_libsystemd": True } @@ -88,6 +90,8 @@ def config_options(self): del self.options.fPIC if not self._supports_libsystemd: del self.options.with_libsystemd + if Version(self.version) < "1.65.0": + del self.options.otel_plugin def configure(self): if self.options.shared: @@ -115,7 +119,12 @@ def requirements(self): self.requires("re2/20230301") self.requires("zlib/[>=1.2.11 <2]") if self.options.get_safe("with_libsystemd"): - self.requires("libsystemd/255") + if Version(self.version) >= "1.67.0": + self.requires("libsystemd/255.10") + else: + self.requires("libsystemd/255") + if self.options.get_safe("otel_plugin"): + self.requires("opentelemetry-cpp/1.14.2") def package_id(self): del self.info.options.secure @@ -178,6 +187,7 @@ def generate(self): tc.cache_variables["gRPC_SSL_PROVIDER"] = "package" tc.cache_variables["gRPC_PROTOBUF_PROVIDER"] = "package" tc.cache_variables["gRPC_ABSL_PROVIDER"] = "package" + tc.cache_variables["gRPC_OPENTELEMETRY_PROVIDER"] = "package" tc.cache_variables["gRPC_BUILD_GRPC_CPP_PLUGIN"] = self.options.cpp_plugin tc.cache_variables["gRPC_BUILD_GRPC_CSHARP_PLUGIN"] = self.options.csharp_plugin @@ -186,6 +196,7 @@ def generate(self): tc.cache_variables["gRPC_BUILD_GRPC_PHP_PLUGIN"] = self.options.php_plugin tc.cache_variables["gRPC_BUILD_GRPC_PYTHON_PLUGIN"] = self.options.python_plugin tc.cache_variables["gRPC_BUILD_GRPC_RUBY_PLUGIN"] = self.options.ruby_plugin + tc.cache_variables["gRPC_BUILD_GRPCPP_OTEL_PLUGIN"] = self.options.get_safe("otel_plugin", False) # Consumed targets (abseil) via interface target_compiler_feature can propagate newer standards if not valid_min_cppstd(self, self._cxxstd_required): @@ -197,7 +208,7 @@ def generate(self): if self._supports_libsystemd: tc.cache_variables["gRPC_USE_SYSTEMD"] = self.options.with_libsystemd - + if Version(self.version) >= "1.62.0": tc.cache_variables["gRPC_DOWNLOAD_ARCHIVES"] = False diff --git a/recipes/grpc/all/target_info/grpc_1.65.0.yml b/recipes/grpc/all/target_info/grpc_1.65.0.yml index 43591e8d36116..14d6c7bc379f9 100644 --- a/recipes/grpc/all/target_info/grpc_1.65.0.yml +++ b/recipes/grpc/all/target_info/grpc_1.65.0.yml @@ -172,3 +172,5 @@ grpc_plugins: executable: "grpc_python_plugin" - target: "gRPC::grpc_ruby_plugin" executable: "grpc_ruby_plugin" + - target: "gRPC::grpc_otel_plugin" + executable: "grpc_otel_plugin" diff --git a/recipes/grpc/all/target_info/grpc_1.67.1.yml b/recipes/grpc/all/target_info/grpc_1.67.1.yml new file mode 100644 index 0000000000000..9d25e03682db2 --- /dev/null +++ b/recipes/grpc/all/target_info/grpc_1.67.1.yml @@ -0,0 +1,187 @@ +grpc_version: 1.67.0 +grpc_targets: + - name: "address_sorting" + lib: "address_sorting" + - name: "gpr" + lib: "gpr" + requires: + - abseil::absl_base + - abseil::absl_core_headers + - abseil::absl_log_severity + - abseil::absl_flags + - abseil::absl_flags_marshalling + - abseil::absl_any_invocable + - abseil::absl_check + - abseil::absl_log_globals + - abseil::absl_log + - abseil::absl_memory + - abseil::absl_random_random + - abseil::absl_status + - abseil::absl_cord + - abseil::absl_str_format + - abseil::absl_strings + - abseil::absl_synchronization + - abseil::absl_time + - abseil::absl_optional + - abseil::absl_variant + - name: "_grpc" + lib: "grpc" + requires: + - upb_json_lib + - upb_textformat_lib + - re2::re2 + - zlib::zlib + - abseil::absl_algorithm_container + - abseil::absl_config + - abseil::absl_no_destructor + - abseil::absl_cleanup + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_bind_front + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_random_bit_gen_ref + - abseil::absl_random_distributions + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - c-ares::cares + - gpr + - openssl::ssl + - openssl::crypto + - address_sorting + frameworks: ['CoreFoundation'] + - name: "grpc_unsecure" + lib: "grpc_unsecure" + requires: + - upb_mini_descriptor_lib + - upb_wire_lib + - zlib::zlib + - abseil::absl_algorithm_container + - abseil::absl_config + - abseil::absl_no_destructor + - abseil::absl_cleanup + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_bind_front + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_random_bit_gen_ref + - abseil::absl_random_distributions + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - c-ares::cares + - gpr + - address_sorting + frameworks: ['CoreFoundation'] + - name: "upb_base_lib" + lib: "upb_base_lib" + - name: "upb_mini_descriptor_lib" + lib: "upb_mini_descriptor_lib" + requires: + - upb_base_lib + - upb_mem_lib + - name: "upb_wire_lib" + lib: "upb_wire_lib" + requires: + - utf8_range_lib + - upb_message_lib + - name: "upb_json_lib" + lib: "upb_json_lib" + requires: + - upb_mini_descriptor_lib + - upb_wire_lib + - name: "upb_mem_lib" + lib: "upb_mem_lib" + - name: "upb_message_lib" + lib: "upb_message_lib" + requires: + - upb_base_lib + - upb_mem_lib + - name: "upb_textformat_lib" + lib: "upb_textformat_lib" + requires: + - upb_mini_descriptor_lib + - upb_wire_lib + - name: "utf8_range_lib" + lib: "utf8_range_lib" + - name: "grpc++" + lib: "grpc++" + requires: + - abseil::absl_absl_check + - abseil::absl_absl_log + - _grpc + - protobuf::libprotobuf + - name: "grpc++_alts" + lib: "grpc++_alts" + requires: + - grpc++ + - name: "grpc++_error_details" + lib: "grpc++_error_details" + requires: + - grpc++ + - name: "grpc++_reflection" + lib: "grpc++_reflection" + requires: + - grpc++ + - name: "grpc++_unsecure" + lib: "grpc++_unsecure" + requires: + - abseil::absl_absl_check + - abseil::absl_absl_log + - grpc_unsecure + - protobuf::libprotobuf + - name: "grpc_authorization_provider" + lib: "grpc_authorization_provider" + requires: + - upb_mini_descriptor_lib + - upb_wire_lib + - upb_message_lib + - re2::re2 + - zlib::zlib + - abseil::absl_config + - abseil::absl_no_destructor + - abseil::absl_cleanup + - abseil::absl_flat_hash_map + - abseil::absl_flat_hash_set + - abseil::absl_inlined_vector + - abseil::absl_function_ref + - abseil::absl_hash + - abseil::absl_type_traits + - abseil::absl_statusor + - abseil::absl_span + - abseil::absl_utility + - c-ares::cares + - gpr + - address_sorting + - name: "grpc_plugin_support" + lib: "grpc_plugin_support" + requires: + - protobuf::libprotobuf + - protobuf::libprotoc + - name: "grpcpp_channelz" + lib: "grpcpp_channelz" + requires: + - grpc++ +grpc_plugins: + - target: "gRPC::grpc_cpp_plugin" + executable: "grpc_cpp_plugin" + - target: "gRPC::grpc_csharp_plugin" + executable: "grpc_csharp_plugin" + - target: "gRPC::grpc_node_plugin" + executable: "grpc_node_plugin" + - target: "gRPC::grpc_objective_c_plugin" + executable: "grpc_objective_c_plugin" + - target: "gRPC::grpc_php_plugin" + executable: "grpc_php_plugin" + - target: "gRPC::grpc_python_plugin" + executable: "grpc_python_plugin" + - target: "gRPC::grpc_ruby_plugin" + executable: "grpc_ruby_plugin" + - target: "gRPC::grpc_otel_plugin" + executable: "grpc_otel_plugin" diff --git a/recipes/grpc/config.yml b/recipes/grpc/config.yml index eac63c2367c27..cbfb6a6cea659 100644 --- a/recipes/grpc/config.yml +++ b/recipes/grpc/config.yml @@ -1,4 +1,6 @@ versions: + "1.67.1": + folder: "all" "1.65.0": folder: "all" "1.54.3": diff --git a/recipes/gsl-lite/all/conandata.yml b/recipes/gsl-lite/all/conandata.yml index 48441a1526519..219a6dbb026e5 100644 --- a/recipes/gsl-lite/all/conandata.yml +++ b/recipes/gsl-lite/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.42.0": + url: "https://github.com/gsl-lite/gsl-lite/archive/v0.42.0.tar.gz" + sha256: "54a1b6f9db72eab5d8dcaf06b36d32d4f5da3471d91dac71aba19fe15291a773" "0.41.0": url: "https://github.com/gsl-lite/gsl-lite/archive/v0.41.0.tar.gz" sha256: "4682d8a60260321b92555760be3b9caab60e2a71f95eddbdfb91e557ee93302a" diff --git a/recipes/gsl-lite/all/conanfile.py b/recipes/gsl-lite/all/conanfile.py index 498e3972927b9..7d9514bf2f40f 100644 --- a/recipes/gsl-lite/all/conanfile.py +++ b/recipes/gsl-lite/all/conanfile.py @@ -8,12 +8,12 @@ class GslLiteConan(ConanFile): name = "gsl-lite" + description = "A single-file header-only version of ISO C++ " \ + "Guideline Support Library (GSL) for C++98, C++11 and later" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/martinmoene/gsl-lite" - topics = ("GSL",) - description = "A single-file header-only version of ISO C++ " \ - "Guideline Support Library (GSL) for C++98, C++11 and later" + topics = ("GSL", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" # There are three configuration options for this GSL implementation's behavior diff --git a/recipes/gsl-lite/config.yml b/recipes/gsl-lite/config.yml index 587567b5e7b67..928876dabb2a2 100644 --- a/recipes/gsl-lite/config.yml +++ b/recipes/gsl-lite/config.yml @@ -1,4 +1,6 @@ versions: + "0.42.0": + folder: all "0.41.0": folder: all "0.40.0": diff --git a/recipes/gsl/all/test_v1_package/CMakeLists.txt b/recipes/gsl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/gsl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gsl/all/test_v1_package/conanfile.py b/recipes/gsl/all/test_v1_package/conanfile.py deleted file mode 100644 index 19e6a0c06e3d8..0000000000000 --- a/recipes/gsl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gsoap/all/test_v1_package/CMakeLists.txt b/recipes/gsoap/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/gsoap/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gsoap/all/test_v1_package/conanfile.py b/recipes/gsoap/all/test_v1_package/conanfile.py deleted file mode 100644 index 27d9e27609d72..0000000000000 --- a/recipes/gsoap/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,32 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) - - def build_requirements(self): - if hasattr(self, "settings_build"): - self.build_requires(self.tested_reference_str) - - def build(self): - with tools.no_op() if hasattr(self, "settings_build") else tools.run_environment(self): - calc_wsdl = os.path.join(self.source_folder, os.pardir, "test_package", "calc.wsdl") - self.output.info(f"Generating code from WSDL '{calc_wsdl}'") - self.run(f"wsdl2h -o calc.h {calc_wsdl}") - import_dir = os.path.join(self.deps_cpp_info["gsoap"].rootpath, "bin", "import") - self.run(f"soapcpp2 -j -CL -I{import_dir} calc.h") - - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gstreamer/all/test_v1_package/CMakeLists.txt b/recipes/gstreamer/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 73976ce47fac2..0000000000000 --- a/recipes/gstreamer/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(gstreamer REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE - gstreamer::gstreamer-1.0 gstreamer::gstreamer-base-1.0 gstreamer::gstreamer-controller-1.0 - gstreamer::gstreamer-net-1.0 gstreamer::gstreamer-check-1.0) -if (TARGET gstreamer::gstcoreelements) - target_link_libraries(${PROJECT_NAME} PRIVATE gstreamer::gstcoreelements) -endif () diff --git a/recipes/gstreamer/all/test_v1_package/conanfile.py b/recipes/gstreamer/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/gstreamer/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gtest/all/test_v1_package/CMakeLists.txt b/recipes/gtest/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/gtest/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gtest/all/test_v1_package/conanfile.py b/recipes/gtest/all/test_v1_package/conanfile.py deleted file mode 100644 index 1490f15fbb3c6..0000000000000 --- a/recipes/gtest/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -import os - -from conan.tools.build import cross_building -from conans import ConanFile, CMake - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.definitions['WITH_GMOCK'] = self.options['gtest'].build_gmock - cmake.definitions['WITH_MAIN'] = not self.options['gtest'].no_main - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/guetzli/all/test_v1_package/conanfile.py b/recipes/guetzli/all/test_v1_package/conanfile.py deleted file mode 100644 index c30ef97cb4cf1..0000000000000 --- a/recipes/guetzli/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,12 +0,0 @@ -import os - -from conans import ConanFile, tools - - -class GoogleguetzliTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - - def test(self): - bees_path = os.path.join(self.source_folder, os.pardir, "test_package", "bees.png") - if not tools.cross_building(self.settings): - self.run(f"guetzli --quality 84 {bees_path} bees.jpg", run_environment=True) diff --git a/recipes/gumbo-parser/all/test_v1_package/CMakeLists.txt b/recipes/gumbo-parser/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/gumbo-parser/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gumbo-parser/all/test_v1_package/conanfile.py b/recipes/gumbo-parser/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/gumbo-parser/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gurkenlaeufer/all/test_v1_package/CMakeLists.txt b/recipes/gurkenlaeufer/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/gurkenlaeufer/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/gurkenlaeufer/all/test_v1_package/conanfile.py b/recipes/gurkenlaeufer/all/test_v1_package/conanfile.py deleted file mode 100644 index 7d408490e37b7..0000000000000 --- a/recipes/gurkenlaeufer/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestGurkenlaeuferV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/gzip-hpp/all/test_v1_package/CMakeLists.txt b/recipes/gzip-hpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/gzip-hpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/gzip-hpp/all/test_v1_package/conanfile.py b/recipes/gzip-hpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/gzip-hpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/h3/all/test_v1_package/CMakeLists.txt b/recipes/h3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de..0000000000000 --- a/recipes/h3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/h3/all/test_v1_package/conanfile.py b/recipes/h3/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/h3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/h5pp/all/test_v1_package/CMakeLists.txt b/recipes/h5pp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7b0b3d3e25936..0000000000000 --- a/recipes/h5pp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_executable(${CMAKE_PROJECT_NAME} test_package.cpp) -target_compile_features(${CMAKE_PROJECT_NAME} PRIVATE cxx_std_17) - -find_package(h5pp REQUIRED CONFIG) -target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE h5pp::h5pp) diff --git a/recipes/h5pp/all/test_v1_package/conanfile.py b/recipes/h5pp/all/test_v1_package/conanfile.py deleted file mode 100644 index ca45a778caa64..0000000000000 --- a/recipes/h5pp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin","test_package"), run_environment=True) diff --git a/recipes/h5pp/all/test_v1_package/test_package.cpp b/recipes/h5pp/all/test_v1_package/test_package.cpp deleted file mode 100644 index 384a3eda62383..0000000000000 --- a/recipes/h5pp/all/test_v1_package/test_package.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include - -int main() { - using cplx = std::complex; - - static_assert(h5pp::type::sfinae::has_data>() and - "h5pp ompile time type-checker failed. Could not properly detect class member data. Check that you are using a supported compiler!"); - - std::string outputFilename = "test_package.h5"; - size_t logLevel = 1; - h5pp::File file(outputFilename, H5F_ACC_TRUNC | H5F_ACC_RDWR, logLevel); - - // Generate dummy data - std::vector vectorComplexWrite = {{-0.191154, 0.326211}, {0.964728, -0.712335}, {-0.0351791, -0.10264}, {0.177544, 0.99999}}; - - // Write dummy data to file - file.writeDataset(vectorComplexWrite, "vectorComplex"); - - - // Read dummy data from file - auto vectorComplexRead = file.readDataset>("vectorComplex"); - return 0; -} diff --git a/recipes/half/all/test_v1_package/CMakeLists.txt b/recipes/half/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/half/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/half/all/test_v1_package/conanfile.py b/recipes/half/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/half/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/happly/all/test_v1_package/CMakeLists.txt b/recipes/happly/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/happly/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/happly/all/test_v1_package/conanfile.py b/recipes/happly/all/test_v1_package/conanfile.py deleted file mode 100644 index 4b114846091e7..0000000000000 --- a/recipes/happly/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -import glob -import os - -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "test_package")) - # Let's check if the *.ply file has been created successfully - ply_format_file = glob.glob("*.ply")[0] - assert os.path.exists(ply_format_file) diff --git a/recipes/hash-library/all/test_v1_package/CMakeLists.txt b/recipes/hash-library/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/hash-library/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/hash-library/all/test_v1_package/conanfile.py b/recipes/hash-library/all/test_v1_package/conanfile.py deleted file mode 100644 index 4265550ef4aee..0000000000000 --- a/recipes/hash-library/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, tools, CMake - - -class HashLibraryTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hazelcast-cpp-client/all/test_v1_package/CMakeLists.txt b/recipes/hazelcast-cpp-client/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/hazelcast-cpp-client/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/hazelcast-cpp-client/all/test_v1_package/conanfile.py b/recipes/hazelcast-cpp-client/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/hazelcast-cpp-client/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hdf4/all/test_v1_package/CMakeLists.txt b/recipes/hdf4/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/hdf4/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/hdf4/all/test_v1_package/conanfile.py b/recipes/hdf4/all/test_v1_package/conanfile.py deleted file mode 100644 index 2d700055b1faf..0000000000000 --- a/recipes/hdf4/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,24 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build_requirements(self): - if self.settings.os == "Macos" and self.settings.arch == "armv8": - # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being - # set. This could be because you are using a Mac OS X version less than 10.5 - # or because CMake's platform configuration is corrupt. - self.build_requires("cmake/[>=3.20]") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hdf5/all/conandata.yml b/recipes/hdf5/all/conandata.yml index c66f044984654..b3a2eb941b898 100644 --- a/recipes/hdf5/all/conandata.yml +++ b/recipes/hdf5/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.14.5": + url: "https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5_1.14.5.tar.gz" + sha256: "c83996dc79080a34e7b5244a1d5ea076abfd642ec12d7c25388e2fdd81d26350" "1.14.4.3": url: "https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5_1.14.4.3.tar.gz" sha256: "690c1db7ba0fed4ffac61709236675ffd99d95d191e8920ee79c58d7e7ea3361" diff --git a/recipes/hdf5/all/conanfile.py b/recipes/hdf5/all/conanfile.py index 578e4cc1795c2..6ef1845be3cb4 100644 --- a/recipes/hdf5/all/conanfile.py +++ b/recipes/hdf5/all/conanfile.py @@ -28,6 +28,7 @@ class Hdf5Conan(ConanFile): "hl": [True, False], "threadsafe": [True, False], "with_zlib": [True, False], + "with_zlibng": [True, False], "szip_support": [None, "with_libaec", "with_szip"], "szip_encoding": [True, False], "parallel": [True, False], @@ -40,6 +41,7 @@ class Hdf5Conan(ConanFile): "hl": True, "threadsafe": False, "with_zlib": True, + "with_zlibng": False, "szip_support": None, "szip_encoding": False, "parallel": False, @@ -77,6 +79,8 @@ def layout(self): def requirements(self): if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") + if self.options.with_zlibng: + self.requires("zlib-ng/2.2.2") if self.options.szip_support == "with_libaec": self.requires("libaec/1.0.6") elif self.options.szip_support == "with_szip": @@ -94,6 +98,10 @@ def validate(self): self.options.szip_encoding and \ not self.dependencies["szip"].options.enable_encoding: raise ConanInvalidConfiguration("encoding must be enabled in szip dependency (szip:enable_encoding=True)") + if self.options.with_zlib and self.options.get_safe("with_zlibng"): + raise ConanInvalidConfiguration("with_zlib and with_zlibng cannot be enabled at the same time") + if self.options.get_safe("with_zlibng") and Version(self.version) < "1.14.5": + raise ConanInvalidConfiguration("with_zlibng=True is incompatible with versions prior to v1.14.5") if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -150,6 +158,7 @@ def generate(self): tc.variables["HDF5_ENABLE_Z_LIB_SUPPORT"] = self.options.with_zlib tc.variables["HDF5_ENABLE_SZIP_SUPPORT"] = bool(self.options.szip_support) tc.variables["HDF5_ENABLE_SZIP_ENCODING"] = self.options.get_safe("szip_encoding", False) + tc.variables["HDF5_USE_ZLIB_NG"] = self.options.get_safe("with_zlibng", False) tc.variables["HDF5_PACKAGE_EXTLIBS"] = False tc.variables["HDF5_ENABLE_THREADSAFE"] = self.options.get_safe("threadsafe", False) tc.variables["HDF5_ENABLE_DEBUG_APIS"] = False # Option? diff --git a/recipes/hdf5/all/test_v1_package/CMakeLists.txt b/recipes/hdf5/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 907e42aba8a37..0000000000000 --- a/recipes/hdf5/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/hdf5/all/test_v1_package/conanfile.py b/recipes/hdf5/all/test_v1_package/conanfile.py deleted file mode 100644 index 57bd58e9f46c2..0000000000000 --- a/recipes/hdf5/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -import os - -from conans import CMake, ConanFile, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.definitions.update({ - "HDF5_CXX": self.options["hdf5"].enable_cxx, - "HDF5_HL": self.options["hdf5"].hl, - }) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hdf5/config.yml b/recipes/hdf5/config.yml index d6e57d05527a1..ecd8ab4173bf5 100644 --- a/recipes/hdf5/config.yml +++ b/recipes/hdf5/config.yml @@ -1,4 +1,6 @@ versions: + "1.14.5": + folder: all "1.14.4.3": folder: all "1.14.3": diff --git a/recipes/hdrhistogram-c/all/test_v1_package/CMakeLists.txt b/recipes/hdrhistogram-c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/hdrhistogram-c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/hdrhistogram-c/all/test_v1_package/conanfile.py b/recipes/hdrhistogram-c/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/hdrhistogram-c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/heatshrink/all/test_v1_package/CMakeLists.txt b/recipes/heatshrink/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/heatshrink/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/heatshrink/all/test_v1_package/conanfile.py b/recipes/heatshrink/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/heatshrink/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hedley/all/test_v1_package/CMakeLists.txt b/recipes/hedley/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/hedley/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/hedley/all/test_v1_package/conanfile.py b/recipes/hedley/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/hedley/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hello-conan/all/CMakeLists.txt b/recipes/hello-conan/all/CMakeLists.txt new file mode 100644 index 0000000000000..4be7c999bbce3 --- /dev/null +++ b/recipes/hello-conan/all/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) + +project(hello-conan LANGUAGES CXX) + +add_library(hello-conan src/hello-conan.cpp) + +target_include_directories(hello-conan PUBLIC include) +set_target_properties(hello-conan PROPERTIES PUBLIC_HEADER "include/hello-conan.h") +install(TARGETS hello-conan) diff --git a/recipes/hello-conan/all/conanfile.py b/recipes/hello-conan/all/conanfile.py new file mode 100644 index 0000000000000..5ce78afb9e98a --- /dev/null +++ b/recipes/hello-conan/all/conanfile.py @@ -0,0 +1,53 @@ +from conan import ConanFile +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps +from conan.tools.files import save + +from pathlib import Path + +required_conan_version = ">=2.8.0" + +class hello_conanRecipe(ConanFile): + name = "hello-conan" + package_type = "library" + + # Optional metadata !_!!!! + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + description = "Dummy recipe for internal testing" + topics = ("conan-testing", "dummy") + + # Binary configuration + settings = "os", "compiler", "build_type", "arch" + options = {"shared": [True, False], "fPIC": [True, False]} + default_options = {"shared": False, "fPIC": True} + + # Sources are located in the same place as this recipe, copy them to the recipe + exports_sources = "CMakeLists.txt", "src/*", "include/*" + + implements = ["auto_shared_fpic"] + + def layout(self): + cmake_layout(self) + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + + # save a dummy .la file to trigger hook warning + la_file = Path(self.package_folder) / "lib" / "hello-conan-foobar.la" + save(self, la_file.as_posix(), "foobar") + + def package_info(self): + self.cpp_info.libs = ["hello-conan"] + diff --git a/recipes/hello-conan/all/include/hello-conan.h b/recipes/hello-conan/all/include/hello-conan.h new file mode 100644 index 0000000000000..a7ad36e5ace0c --- /dev/null +++ b/recipes/hello-conan/all/include/hello-conan.h @@ -0,0 +1,14 @@ +#pragma once + +#include +#include + + +#ifdef _WIN32 + #define HELLO_CONAN_EXPORT __declspec(dllexport) +#else + #define HELLO_CONAN_EXPORT +#endif + +HELLO_CONAN_EXPORT void hello_conan(); +HELLO_CONAN_EXPORT void hello_conan_print_vector(const std::vector &strings); diff --git a/recipes/hello-conan/all/src/hello-conan.cpp b/recipes/hello-conan/all/src/hello-conan.cpp new file mode 100644 index 0000000000000..e4ac284e8c482 --- /dev/null +++ b/recipes/hello-conan/all/src/hello-conan.cpp @@ -0,0 +1,120 @@ +#include +#include "hello-conan.h" + + + +void hello_conan(){ + + + #ifdef NDEBUG + std::cout << "hello-conan: Hello World Release!\n"; + #else + std::cout << "hello-conan: Hello World Debug!\n"; + #endif + + // ARCHITECTURES + #ifdef _M_X64 + std::cout << " hello-conan: _M_X64 defined\n"; + #endif + + #ifdef _M_IX86 + std::cout << " hello-conan: _M_IX86 defined\n"; + #endif + + #ifdef _M_ARM64 + std::cout << " hello-conan: _M_ARM64 defined\n"; + #endif + + #if __i386__ + std::cout << " hello-conan: __i386__ defined\n"; + #endif + + #if __x86_64__ + std::cout << " hello-conan: __x86_64__ defined\n"; + #endif + + #if __aarch64__ + std::cout << " hello-conan: __aarch64__ defined\n"; + #endif + + // Libstdc++ + #if defined _GLIBCXX_USE_CXX11_ABI + std::cout << " hello-conan: _GLIBCXX_USE_CXX11_ABI "<< _GLIBCXX_USE_CXX11_ABI << "\n"; + #endif + + // MSVC runtime + #if defined(_DEBUG) + #if defined(_MT) && defined(_DLL) + std::cout << " hello-conan: MSVC runtime: MultiThreadedDebugDLL\n"; + #elif defined(_MT) + std::cout << " hello-conan: MSVC runtime: MultiThreadedDebug\n"; + #endif + #else + #if defined(_MT) && defined(_DLL) + std::cout << " hello-conan: MSVC runtime: MultiThreadedDLL\n"; + #elif defined(_MT) + std::cout << " hello-conan: MSVC runtime: MultiThreaded\n"; + #endif + #endif + + // COMPILER VERSIONS + #if _MSC_VER + std::cout << " hello-conan: _MSC_VER" << _MSC_VER<< "\n"; + #endif + + #if _MSVC_LANG + std::cout << " hello-conan: _MSVC_LANG" << _MSVC_LANG<< "\n"; + #endif + + #if __cplusplus + std::cout << " hello-conan: __cplusplus" << __cplusplus<< "\n"; + #endif + + #if __INTEL_COMPILER + std::cout << " hello-conan: __INTEL_COMPILER" << __INTEL_COMPILER<< "\n"; + #endif + + #if __GNUC__ + std::cout << " hello-conan: __GNUC__" << __GNUC__<< "\n"; + #endif + + #if __GNUC_MINOR__ + std::cout << " hello-conan: __GNUC_MINOR__" << __GNUC_MINOR__<< "\n"; + #endif + + #if __clang_major__ + std::cout << " hello-conan: __clang_major__" << __clang_major__<< "\n"; + #endif + + #if __clang_minor__ + std::cout << " hello-conan: __clang_minor__" << __clang_minor__<< "\n"; + #endif + + #if __apple_build_version__ + std::cout << " hello-conan: __apple_build_version__" << __apple_build_version__<< "\n"; + #endif + + // SUBSYSTEMS + + #if __MSYS__ + std::cout << " hello-conan: __MSYS__" << __MSYS__<< "\n"; + #endif + + #if __MINGW32__ + std::cout << " hello-conan: __MINGW32__" << __MINGW32__<< "\n"; + #endif + + #if __MINGW64__ + std::cout << " hello-conan: __MINGW64__" << __MINGW64__<< "\n"; + #endif + + #if __CYGWIN__ + std::cout << " hello-conan: __CYGWIN__" << __CYGWIN__<< "\n"; + #endif +} + +void hello_conan_print_vector(const std::vector &strings) { + for(std::vector::const_iterator it = strings.begin(); it != strings.end(); ++it) { + std::cout << "hello_conan " << *it << std::endl; + } +} diff --git a/recipes/hello-conan/all/test_package/CMakeLists.txt b/recipes/hello-conan/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..5a6e6596a4333 --- /dev/null +++ b/recipes/hello-conan/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(PackageTest CXX) + +find_package(hello-conan CONFIG REQUIRED) + +add_executable(example src/example.cpp) +target_link_libraries(example hello-conan::hello-conan) diff --git a/recipes/hello-conan/all/test_package/conanfile.py b/recipes/hello-conan/all/test_package/conanfile.py new file mode 100644 index 0000000000000..953f2c57d31ae --- /dev/null +++ b/recipes/hello-conan/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + + +class hello_conanTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "CMakeToolchain" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def layout(self): + cmake_layout(self) + + def test(self): + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "example") + self.run(cmd, env="conanrun") diff --git a/recipes/hello-conan/all/test_package/src/example.cpp b/recipes/hello-conan/all/test_package/src/example.cpp new file mode 100644 index 0000000000000..92b072f19e866 --- /dev/null +++ b/recipes/hello-conan/all/test_package/src/example.cpp @@ -0,0 +1,12 @@ +#include "hello-conan.h" +#include +#include + +int main() { + hello_conan(); + + std::vector vec; + vec.push_back("test_package"); + + hello_conan_print_vector(vec); +} diff --git a/recipes/hello-conan/config.yml b/recipes/hello-conan/config.yml new file mode 100644 index 0000000000000..87dc2c7cd104e --- /dev/null +++ b/recipes/hello-conan/config.yml @@ -0,0 +1,3 @@ +versions: + "0.0.1.cci.20241029": + folder: all \ No newline at end of file diff --git a/recipes/hexl/all/test_v1_package/CMakeLists.txt b/recipes/hexl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/hexl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/hexl/all/test_v1_package/conanfile.py b/recipes/hexl/all/test_v1_package/conanfile.py deleted file mode 100644 index 0a70df7062409..0000000000000 --- a/recipes/hexl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools -from conan.tools.build import cross_building - - -class HexlTestConan(ConanFile): - settings = "os", "build_type", "arch", "compiler" - generators = "cmake", "cmake_find_package_multi" - - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/hffix/all/test_v1_package/CMakeLists.txt b/recipes/hffix/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/hffix/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/hffix/all/test_v1_package/conanfile.py b/recipes/hffix/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/hffix/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hictk/all/conandata.yml b/recipes/hictk/all/conandata.yml index 950caed4f27fb..2ad5e6a4a9214 100644 --- a/recipes/hictk/all/conandata.yml +++ b/recipes/hictk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.0": + url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v1.0.0.tar.gz" + sha256: "e337f52658a257eb6265e211dd3cef6b73db40bdc5b5a6433b47ce4faa6006fb" "0.0.12": url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.12.tar.gz" sha256: "03e8f7c0076ea6209fdfee1580658e871895f6a59b895407c4a25512b9558fb7" diff --git a/recipes/hictk/all/conanfile.py b/recipes/hictk/all/conanfile.py index 287868ebce18c..d125eb77e94dc 100644 --- a/recipes/hictk/all/conanfile.py +++ b/recipes/hictk/all/conanfile.py @@ -19,8 +19,14 @@ class HictkConan(ConanFile): topics = "hictk", "bioinformatics", "hic" package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - options = {"with_eigen": [True, False]} - default_options = {"with_eigen": True} + options = { + "with_arrow": [True, False], + "with_eigen": [True, False] + } + default_options = { + "with_arrow": False, + "with_eigen": True + } @property def _min_cppstd(self): @@ -39,26 +45,32 @@ def _compilers_minimum_version(self): def layout(self): cmake_layout(self, src_folder="src") + def config_options(self): + if Version(self.version) < "1.0.0": + del self.options.with_arrow + def requirements(self): - self.requires("bshoshany-thread-pool/4.1.0", transitive_headers=True) - self.requires("fast_float/6.1.1", transitive_headers=True) + if self.options.get_safe("with_arrow"): + self.requires("arrow/16.1.0") + self.requires("bshoshany-thread-pool/4.1.0") + self.requires("fast_float/6.1.1") if self.options.with_eigen: - self.requires("eigen/3.4.0", transitive_headers=True) - self.requires("fmt/10.2.1", transitive_headers=True) - self.requires("hdf5/1.14.3", transitive_headers=True) - self.requires("highfive/2.9.0", transitive_headers=True) - self.requires("libdeflate/1.19", transitive_headers=True) - self.requires("parallel-hashmap/1.3.11", transitive_headers=True) # Note: v1.3.11 is more recent than v1.37 - self.requires("span-lite/0.11.0", transitive_headers=True) - self.requires("spdlog/1.13.0", transitive_headers=True) - self.requires("zstd/1.5.6", transitive_headers=True) + self.requires("eigen/3.4.0") + self.requires("fmt/10.2.1") + self.requires("hdf5/1.14.3") + self.requires("highfive/2.9.0") + self.requires("libdeflate/1.20") + self.requires("parallel-hashmap/1.3.12") # Note: v1.3.12 is more recent than v1.37 + self.requires("span-lite/0.11.0") + self.requires("spdlog/1.14.1") + self.requires("zstd/[>=1.5 <1.6]") if Version(self.version) == "0.0.3": - self.requires("xxhash/0.8.2", transitive_headers=True) + self.requires("xxhash/0.8.2") if Version(self.version) > "0.0.7": - self.requires("readerwriterqueue/1.0.6", transitive_headers=True) - self.requires("concurrentqueue/1.0.4", transitive_headers=True) + self.requires("readerwriterqueue/1.0.6") + self.requires("concurrentqueue/1.0.4") def package_id(self): self.info.clear() @@ -67,14 +79,8 @@ def validate(self): if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, self._min_cppstd) - def loose_lt_semver(v1, v2): - lv1 = [int(v) for v in v1.split(".")] - lv2 = [int(v) for v in v2.split(".")] - min_length = min(len(lv1), len(lv2)) - return lv1[:min_length] < lv2[:min_length] - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) - if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): + 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." ) @@ -92,6 +98,7 @@ def generate(self): tc.variables["HICTK_BUILD_TOOLS"] = "OFF" tc.variables["HICTK_ENABLE_GIT_VERSION_TRACKING"] = "OFF" tc.variables["HICTK_ENABLE_TESTING"] = "OFF" + tc.variables["HICTK_WITH_ARROW"] = self.options.get_safe("with_arrow", False) tc.variables["HICTK_WITH_EIGEN"] = self.options.with_eigen tc.generate() @@ -122,5 +129,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "hictk") self.cpp_info.set_property("cmake_target_name", "hictk::libhictk") + if self.options.get_safe("with_arrow"): + self.cpp_info.defines.append("HICTK_WITH_ARROW") if self.options.with_eigen: self.cpp_info.defines.append("HICTK_WITH_EIGEN") diff --git a/recipes/hictk/config.yml b/recipes/hictk/config.yml index 2b16ffcd223a6..0ded733d49966 100644 --- a/recipes/hictk/config.yml +++ b/recipes/hictk/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.0": + folder: all "0.0.12": folder: all "0.0.10": diff --git a/recipes/highs/all/conandata.yml b/recipes/highs/all/conandata.yml index 006006dd92224..05842bd3d81e0 100644 --- a/recipes/highs/all/conandata.yml +++ b/recipes/highs/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.8.1": + url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.8.1.tar.gz" + sha256: "a0d09371fadb56489497996b28433be1ef91a705e3811fcb1f50a107c7d427d1" + "1.8.0": + url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.8.0.tar.gz" + sha256: "e184e63101cf19688a02102f58447acc7c021d77eef0d3475ceaceb61f035539" "1.7.2": url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.7.2.tar.gz" sha256: "5ff96c14ae19592d3568e9ae107624cbaf3409d328fb1a586359f0adf9b34bf7" diff --git a/recipes/highs/all/test_package/CMakeLists.txt b/recipes/highs/all/test_package/CMakeLists.txt index d953c847e1679..ef56bb8244acc 100644 --- a/recipes/highs/all/test_package/CMakeLists.txt +++ b/recipes/highs/all/test_package/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) -set(CMAKE_CXX_STANDARD 11) +project(test_package LANGUAGES CXX) find_package(highs REQUIRED CONFIG) add_executable(${PROJECT_NAME} main.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE highs::highs) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/highs/config.yml b/recipes/highs/config.yml index bf38309e9bf30..4ca9835fcd719 100644 --- a/recipes/highs/config.yml +++ b/recipes/highs/config.yml @@ -1,4 +1,8 @@ versions: + "1.8.1": + folder: all + "1.8.0": + folder: all "1.7.2": folder: all "1.7.0": diff --git a/recipes/highway/all/test_v1_package/CMakeLists.txt b/recipes/highway/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/highway/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/highway/all/test_v1_package/conanfile.py b/recipes/highway/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/highway/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hipony-enumerate/all/test_v1_package/CMakeLists.txt b/recipes/hipony-enumerate/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/hipony-enumerate/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/hipony-enumerate/all/test_v1_package/conanfile.py b/recipes/hipony-enumerate/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/hipony-enumerate/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hippomocks/all/test_v1_package/CMakeLists.txt b/recipes/hippomocks/all/test_v1_package/CMakeLists.txt deleted file mode 100755 index 91630d79f4abb..0000000000000 --- a/recipes/hippomocks/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/hippomocks/all/test_v1_package/conanfile.py b/recipes/hippomocks/all/test_v1_package/conanfile.py deleted file mode 100755 index 121b7b9615044..0000000000000 --- a/recipes/hippomocks/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools, RunEnvironment -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hiredis/all/test_v1_package/CMakeLists.txt b/recipes/hiredis/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index d1ea1807c4774..0000000000000 --- a/recipes/hiredis/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(hiredis REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE hiredis::hiredis) diff --git a/recipes/hiredis/all/test_v1_package/conanfile.py b/recipes/hiredis/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/hiredis/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hlslpp/all/test_v1_package/CMakeLists.txt b/recipes/hlslpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/hlslpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/hlslpp/all/test_v1_package/conanfile.py b/recipes/hlslpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/hlslpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/homog2d/all/test_v1_package/CMakeLists.txt b/recipes/homog2d/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/homog2d/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/homog2d/all/test_v1_package/conanfile.py b/recipes/homog2d/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/homog2d/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/http_parser/all/test_v1_package/CMakeLists.txt b/recipes/http_parser/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b0c36fbcd127a..0000000000000 --- a/recipes/http_parser/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(http_parser REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE http_parser::http_parser) diff --git a/recipes/http_parser/all/test_v1_package/conanfile.py b/recipes/http_parser/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/http_parser/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/huffman/all/test_v1_package/CMakeLists.txt b/recipes/huffman/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/huffman/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/huffman/all/test_v1_package/conanfile.py b/recipes/huffman/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/huffman/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hunspell/all/test_v1_package/CMakeLists.txt b/recipes/hunspell/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 5d38c542b67a4..0000000000000 --- a/recipes/hunspell/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/hunspell/all/test_v1_package/conanfile.py b/recipes/hunspell/all/test_v1_package/conanfile.py deleted file mode 100644 index a500b98343c74..0000000000000 --- a/recipes/hunspell/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/hyperscan/all/test_v1_package/CMakeLists.txt b/recipes/hyperscan/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/hyperscan/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/hyperscan/all/test_v1_package/conanfile.py b/recipes/hyperscan/all/test_v1_package/conanfile.py deleted file mode 100644 index cb26b3fe15590..0000000000000 --- a/recipes/hyperscan/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,23 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["BUILD_CHIMERA"] = self.options["hyperscan"].build_chimera - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "hs_example") - self.run(bin_path, run_environment=True) - - if self.options["hyperscan"].build_chimera: - bin_path = os.path.join("bin", "ch_example") - self.run(bin_path, run_environment=True) diff --git a/recipes/i2c-tools/all/test_v1_package/CMakeLists.txt b/recipes/i2c-tools/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/i2c-tools/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/i2c-tools/all/test_v1_package/conanfile.py b/recipes/i2c-tools/all/test_v1_package/conanfile.py deleted file mode 100644 index 2780f5433abb4..0000000000000 --- a/recipes/i2c-tools/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,15 +0,0 @@ -from conans import ConanFile, CMake - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - # For obvious reasons, don't run the test package (we don't want to write data to some device) - pass diff --git a/recipes/iceoryx/all/test_v1_package/CMakeLists.txt b/recipes/iceoryx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/iceoryx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/iceoryx/all/test_v1_package/conanfile.py b/recipes/iceoryx/all/test_v1_package/conanfile.py deleted file mode 100644 index 50e21d11f1ebd..0000000000000 --- a/recipes/iceoryx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -import os -from conans import ConanFile, CMake - -class IceoryxTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = ["cmake", "cmake_find_package_multi"] - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - # ToDo : add an executable which can be - # executed in container. - # currently seems shared memory in container is - # a bad idea (checked on 3 different linux devices - # always ok - but in container get - # "fatal SIGBUS signal appeared caused by memset") - path, dirs, files = next(os.walk("bin")) - print("All %d example files are present" % (len(files))) diff --git a/recipes/icu/all/conandata.yml b/recipes/icu/all/conandata.yml index 2419b336ab78d..32facbe5d4811 100644 --- a/recipes/icu/all/conandata.yml +++ b/recipes/icu/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "76.1": + url: "https://github.com/unicode-org/icu/releases/download/release-76-1/icu4c-76_1-src.tgz" + sha256: "dfacb46bfe4747410472ce3e1144bf28a102feeaa4e3875bac9b4c6cf30f4f3e" "75.1": url: "https://github.com/unicode-org/icu/releases/download/release-75-1/icu4c-75_1-src.tgz" sha256: "cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef" @@ -15,17 +18,32 @@ sources: url: "https://github.com/unicode-org/icu/releases/download/release-73-1/icu4c-73_1-src.tgz" sha256: "a457431de164b4aa7eca00ed134d00dfbf88a77c6986a10ae7774fc076bb8c45" patches: + "76.1": + - patch_file: "patches/0001-76.1-fix-mingw.patch" + patch_description: "support mingw" + patch_type: "portability" + "75.1": - patch_file: "patches/0001-69.1-fix-mingw.patch" + patch_description: "support mingw" + patch_type: "portability" "74.2": - patch_file: "patches/0001-69.1-fix-mingw.patch" + patch_description: "support mingw" + patch_type: "portability" - patch_file: "patches/0002-74.2-fix-emscripten.patch" patch_description: "Add config file for wasm-emscripten platform" patch_type: "portability" patch_source: "https://gerrit.libreoffice.org/c/core/+/111130/9/external/icu/icu4c-emscripten-cross.patch.1" "74.1": - patch_file: "patches/0001-69.1-fix-mingw.patch" + patch_description: "support mingw" + patch_type: "portability" "73.2": - patch_file: "patches/0001-69.1-fix-mingw.patch" + patch_description: "support mingw" + patch_type: "portability" "73.1": - patch_file: "patches/0001-69.1-fix-mingw.patch" + patch_description: "support mingw" + patch_type: "portability" diff --git a/recipes/icu/all/conanfile.py b/recipes/icu/all/conanfile.py index 2f4f7b8b725d0..75b503c2c0e07 100644 --- a/recipes/icu/all/conanfile.py +++ b/recipes/icu/all/conanfile.py @@ -134,6 +134,8 @@ def generate(self): if check_min_vs(self, "180", raise_invalid=False): tc.extra_cflags.append("-FS") tc.extra_cxxflags.append("-FS") + if Version(self.version) >= "75.1" and not self.settings.compiler.cppstd and is_msvc(self): + tc.extra_cxxflags.append(f"-std:c++{self._min_cppstd}") if not self.options.shared: tc.extra_defines.append("U_STATIC_IMPLEMENTATION") if is_apple_os(self): @@ -177,10 +179,7 @@ def generate(self): if is_msvc(self): env = Environment() env.define("CC", "cl -nologo") - if Version(self.version) < "75.1": - env.define("CXX", "cl -nologo") - else: - env.define("CXX", "cl -nologo -std:c++17") + env.define("CXX", "cl -nologo") if cross_building(self): env.define("icu_cv_host_frag", "mh-msys-msvc") env.vars(self).save_script("conanbuild_icu_msvc") diff --git a/recipes/icu/all/patches/0001-76.1-fix-mingw.patch b/recipes/icu/all/patches/0001-76.1-fix-mingw.patch new file mode 100644 index 0000000000000..f7169b0989fbc --- /dev/null +++ b/recipes/icu/all/patches/0001-76.1-fix-mingw.patch @@ -0,0 +1,47 @@ +diff --git a/source/config/mh-mingw64 b/source/config/mh-mingw64 +index fb64c56..ff8922c 100644 +--- a/source/config/mh-mingw64 ++++ b/source/config/mh-mingw64 +@@ -94,7 +94,7 @@ LIBPREFIX= + # This is also for backwards compatibility. + DATA_STUBNAME = dt + I18N_STUBNAME = in +-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) ++#LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) + + #SH### copied from Makefile.inc + #SH## for icu-config to test with +@@ -102,13 +102,13 @@ LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) + #SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}" + + #SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)" +-ICULIBS_DT="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)" +-ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)" +-ICULIBS_LX="-l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)" +-ICULIBS_IO="-l$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)" +-ICULIBS_UC="-l$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)" +-ICULIBS_CTESTFW="-l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)" +-ICULIBS_TOOLUTIL="-l$(ICUPREFIX)tu$(ICULIBSUFFIX)" ++#ICULIBS_DT="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)" ++#ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)" ++#ICULIBS_LX="-l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)" ++#ICULIBS_IO="-l$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)" ++#ICULIBS_UC="-l$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)" ++#ICULIBS_CTESTFW="-l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)" ++#ICULIBS_TOOLUTIL="-l$(ICUPREFIX)tu$(ICULIBSUFFIX)" + #SH# + #SH## ICULIBS is the set of libraries your application should link + #SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well. +diff --git a/source/data/Makefile.in b/source/data/Makefile.in +index 266ad7a..8e3be4f 100644 +--- a/source/data/Makefile.in ++++ b/source/data/Makefile.in +@@ -193,7 +193,7 @@ endif + ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES) + # For MinGW, do we want the DLL to go in the bin location? + ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES) +- $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(DESTDIR)$(bindir) ++ $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR) + else + $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR) + endif diff --git a/recipes/icu/all/test_v1_package/CMakeLists.txt b/recipes/icu/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/icu/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/icu/all/test_v1_package/conanfile.py b/recipes/icu/all/test_v1_package/conanfile.py deleted file mode 100644 index 9be729bcbe9ce..0000000000000 --- a/recipes/icu/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, tools, CMake -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/icu/config.yml b/recipes/icu/config.yml index a0d8cc252fedd..780ca5227a7a5 100644 --- a/recipes/icu/config.yml +++ b/recipes/icu/config.yml @@ -1,4 +1,6 @@ versions: + "76.1": + folder: all "75.1": folder: all "74.2": diff --git a/recipes/ignition-cmake/all/test_v1_package/CMakeLists.txt b/recipes/ignition-cmake/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/ignition-cmake/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ignition-cmake/all/test_v1_package/conanfile.py b/recipes/ignition-cmake/all/test_v1_package/conanfile.py deleted file mode 100644 index 8f851887ec419..0000000000000 --- a/recipes/ignition-cmake/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,23 +0,0 @@ -import os - -from conans import CMake, ConanFile, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) - - def build(self): - cmake = CMake(self) - cmake.definitions["IGN_CMAKE_VER"] = tools.Version(self.deps_cpp_info["ignition-cmake"].version).major - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join(self.build_folder, "bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ignition-math/all/conanfile.py b/recipes/ignition-math/all/conanfile.py index 3af2ddca7b420..4e3d073bc2587 100644 --- a/recipes/ignition-math/all/conanfile.py +++ b/recipes/ignition-math/all/conanfile.py @@ -67,7 +67,7 @@ def configure(self): def requirements(self): self.requires("eigen/3.3.9") - self.requires("doxygen/1.8.17") + self.requires("doxygen/[>=1.8 <2]") self.requires("swig/4.0.2") def build_requirements(self): diff --git a/recipes/ignition-utils/all/conanfile.py b/recipes/ignition-utils/all/conanfile.py index 0086df1bf32b9..40a49d79dc3da 100644 --- a/recipes/ignition-utils/all/conanfile.py +++ b/recipes/ignition-utils/all/conanfile.py @@ -75,7 +75,7 @@ def validate(self): ) def requirements(self): - self.requires("doxygen/1.9.2") + self.requires("doxygen/[>=1.8 <2]") if self.options.ign_utils_vendor_cli11: self.requires("cli11/2.1.2") diff --git a/recipes/iguana/all/conandata.yml b/recipes/iguana/all/conandata.yml index dc65f73b11bc3..3e9e419a87075 100644 --- a/recipes/iguana/all/conandata.yml +++ b/recipes/iguana/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.6": + url: "https://github.com/qicosmos/iguana/archive/refs/tags/1.0.6.tar.gz" + sha256: "cfacf1cce4ebe49b947ec823f93a23c2a7fd220f67f6847e9f449e7c469deb9e" "1.0.5": url: "https://github.com/qicosmos/iguana/archive/refs/tags/1.0.5.tar.gz" sha256: "b7a7385c49574a60f9f6bf887c1addbc08f557a0117bf18cf7eec532ac2536b1" diff --git a/recipes/iguana/all/test_package/CMakeLists.txt b/recipes/iguana/all/test_package/CMakeLists.txt index be16f17fdd6e3..b17ea62c13e23 100644 --- a/recipes/iguana/all/test_package/CMakeLists.txt +++ b/recipes/iguana/all/test_package/CMakeLists.txt @@ -3,6 +3,10 @@ project(test_package LANGUAGES CXX) find_package(iguana REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) +if(iguana_VERSION VERSION_GREATER_EQUAL "1.0.6") + add_executable(${PROJECT_NAME} test_package.cpp) +else() + add_executable(${PROJECT_NAME} test_package_1_0_5.cpp) +endif() target_link_libraries(${PROJECT_NAME} PRIVATE iguana::iguana) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/iguana/all/test_package/test_package.cpp b/recipes/iguana/all/test_package/test_package.cpp index f97e8fb335c14..4e191ae1388a2 100644 --- a/recipes/iguana/all/test_package/test_package.cpp +++ b/recipes/iguana/all/test_package/test_package.cpp @@ -1,3 +1,4 @@ +#include #include #include @@ -7,20 +8,26 @@ struct person { int64_t age; }; -REFLECTION(person, name, age); +#if __cplusplus < 202002L +YLT_REFL(person, name, age); +#endif } // namespace client struct MyStruct { uint64_t a; }; -REFLECTION(MyStruct, a); +#if __cplusplus < 202002L +YLT_REFL(MyStruct, a); +#endif struct student { int id; std::string name; int age; }; -REFLECTION(student, id, name, age); +#if __cplusplus < 202002L +YLT_REFL(student, id, name, age); +#endif void test() { MyStruct p = {5566777755311}; diff --git a/recipes/iguana/all/test_package/test_package_1_0_5.cpp b/recipes/iguana/all/test_package/test_package_1_0_5.cpp new file mode 100644 index 0000000000000..f97e8fb335c14 --- /dev/null +++ b/recipes/iguana/all/test_package/test_package_1_0_5.cpp @@ -0,0 +1,81 @@ +#include +#include + +namespace client { +struct person { + std::string name; + int64_t age; +}; + +REFLECTION(person, name, age); +} // namespace client + +struct MyStruct { + uint64_t a; +}; +REFLECTION(MyStruct, a); + +struct student { + int id; + std::string name; + int age; +}; +REFLECTION(student, id, name, age); + +void test() { + MyStruct p = {5566777755311}; + iguana::string_stream ss; + iguana::to_json(p, ss); + + MyStruct p2; + iguana::from_json(p2, ss); + std::cout << p2.a << std::endl; +} + +void test_v() { + client::person p1 = {"tom", 20}; + client::person p2 = {"jack", 19}; + client::person p3 = {"mike", 21}; + + std::vector v{p1, p2, p3}; + iguana::string_stream ss; + iguana::to_json(v, ss); + std::cout << ss << std::endl; + + std::vector v1; + iguana::from_json(v1, ss); +} + +void test_disorder() { + student s{1, "tom", 20}; + iguana::string_stream ss; + iguana::to_json(s, ss); + std::cout << ss << std::endl; + + student s1{}; + std::string str = "{\"name\":\"tom\",\"id\":1,\"age\":20}"; + iguana::from_json(s1, str.data(), str.length()); + std::string str1 = "{\"name\":\"tom\",\"age\":20,\"id\":1}"; + iguana::from_json(s1, str1.data(), str1.length()); + + std::string str2 = "{ \"id\":1,\"name\" : \"madoka\",\"age\" : 27 }"; + iguana::from_json(s1, str2.data(), str2.length()); +} + +int main(void) { + test_disorder(); + test_v(); + test(); + client::person p = {"zombie chow", -311}; + iguana::string_stream ss; + iguana::to_json(p, ss); + + std::cout << ss << std::endl; + client::person p2; + + iguana::from_json(p2, ss.data(), ss.length()); + + std::cout << p2.name << " - " << p2.age << std::endl; + + return 0; +} diff --git a/recipes/iguana/config.yml b/recipes/iguana/config.yml index 7ec6a422c89a7..c64afb84e8dad 100644 --- a/recipes/iguana/config.yml +++ b/recipes/iguana/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.6": + folder: all "1.0.5": folder: all "1.0.4": diff --git a/recipes/iir1/all/test_v1_package/CMakeLists.txt b/recipes/iir1/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/iir1/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/iir1/all/test_v1_package/conanfile.py b/recipes/iir1/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/iir1/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/im95able-rea/all/test_v1_package/CMakeLists.txt b/recipes/im95able-rea/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/im95able-rea/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/im95able-rea/all/test_v1_package/conanfile.py b/recipes/im95able-rea/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/im95able-rea/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/imagemagick/all/conanfile.py b/recipes/imagemagick/all/conanfile.py index 4e944b9046b3f..49e0388b61d25 100644 --- a/recipes/imagemagick/all/conanfile.py +++ b/recipes/imagemagick/all/conanfile.py @@ -108,7 +108,7 @@ def requirements(self): if self.options.with_lzma: self.requires("xz_utils/5.2.5") if self.options.with_lcms: - self.requires("lcms/2.11") + self.requires("lcms/2.16") if self.options.with_openexr: self.requires("openexr/2.5.7") if self.options.with_heic: diff --git a/recipes/imagl/all/test_v1_package/CMakeLists.txt b/recipes/imagl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/imagl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/imagl/all/test_v1_package/conanfile.py b/recipes/imagl/all/test_v1_package/conanfile.py deleted file mode 100644 index 923bd771c14e7..0000000000000 --- a/recipes/imagl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class ImaglTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/imake/all/test_v1_package/Imake.tmpl b/recipes/imake/all/test_v1_package/Imake.tmpl deleted file mode 100644 index 3b7cb31780b8f..0000000000000 --- a/recipes/imake/all/test_v1_package/Imake.tmpl +++ /dev/null @@ -1,2 +0,0 @@ -default: - @echo "IMAKE_TEMPLATE:" IMAKE_TEMPLATE diff --git a/recipes/imake/all/test_v1_package/Imakefile b/recipes/imake/all/test_v1_package/Imakefile deleted file mode 100644 index 8a9b031f63620..0000000000000 --- a/recipes/imake/all/test_v1_package/Imakefile +++ /dev/null @@ -1 +0,0 @@ -# Imakefile diff --git a/recipes/imake/all/test_v1_package/conanfile.py b/recipes/imake/all/test_v1_package/conanfile.py deleted file mode 100644 index 99bf0a8a9c2d8..0000000000000 --- a/recipes/imake/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,44 +0,0 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -import contextlib -import os -import shutil - -required_conan_version = ">=1.36.0" - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - exports_sources = "Imakefile", "Imake.tmpl" - - def build_requirements(self): - if not tools.get_env("CONAN_MAKE_PROGRAM"): - self.build_requires("make/4.2.1") - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - @contextlib.contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "CC": "cl -nologo", - } - with tools.environment_append(env): - yield - else: - yield - - def build(self): - for src in self.exports_sources: - shutil.copy(os.path.join(self.source_folder, src), os.path.join(self.build_folder, src)) - if not tools.cross_building(self): - with self._build_context(): - self.run("imake", run_environment=True) - - def test(self): - if not tools.cross_building(self): - autotools = AutoToolsBuildEnvironment(self) - autotools.make() diff --git a/recipes/imath/all/test_v1_package/CMakeLists.txt b/recipes/imath/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/imath/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/imath/all/test_v1_package/conanfile.py b/recipes/imath/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/imath/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 22bc07060967a..f613b3daeb214 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,22 @@ sources: + "1.91.5": + url: "https://github.com/ocornut/imgui/archive/v1.91.5.tar.gz" + sha256: "2aa2d169c569368439e5d5667e0796d09ca5cc6432965ce082e516937d7db254" + "1.91.5-docking": + url: "https://github.com/ocornut/imgui/archive/v1.91.5-docking.tar.gz" + sha256: "f66c5d1b28fed044bd8dffa3882b4d1b29b2dbd1167fabe3d9d2219081e81cd8" + "1.91.4": + url: "https://github.com/ocornut/imgui/archive/v1.91.4.tar.gz" + sha256: "a455c28d987c78ddf56aab98ce0ff0fda791a23a2ec88ade46dd106b837f0923" + "1.91.4-docking": + url: "https://github.com/ocornut/imgui/archive/v1.91.4-docking.tar.gz" + sha256: "7405bdaf304b77d6d03e6d17d1f31ca3586fa0c65a466fa1dd71b6ca6a222023" + "1.91.3": + url: "https://github.com/ocornut/imgui/archive/v1.91.3.tar.gz" + sha256: "29949d7b300c30565fbcd66398100235b63aa373acfee0b76853a7aeacd1be28" + "1.91.3-docking": + url: "https://github.com/ocornut/imgui/archive/v1.91.3-docking.tar.gz" + sha256: "d462ccd0ca10cb412f8946c09ebd4cd0f62ca5def544dec5b3ce293c59f089fb" "1.91.2": url: "https://github.com/ocornut/imgui/archive/v1.91.2.tar.gz" sha256: "a3c4fd857a0a48f6edad3e25de68fa1e96d2437f1665039714d1de9ad579b8d0" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index 518541f0d93c4..20b8472fac4aa 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,16 @@ versions: + "1.91.5": + folder: all + "1.91.5-docking": + folder: all + "1.91.4": + folder: all + "1.91.4-docking": + folder: all + "1.91.3": + folder: all + "1.91.3-docking": + folder: all "1.91.2": folder: all "1.91.2-docking": diff --git a/recipes/imguizmo/all/test_v1_package/CMakeLists.txt b/recipes/imguizmo/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/imguizmo/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/imguizmo/all/test_v1_package/conanfile.py b/recipes/imguizmo/all/test_v1_package/conanfile.py deleted file mode 100644 index 6c9d5dba712c7..0000000000000 --- a/recipes/imguizmo/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/immer/all/test_v1_package/CMakeLists.txt b/recipes/immer/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/immer/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/immer/all/test_v1_package/conanfile.py b/recipes/immer/all/test_v1_package/conanfile.py deleted file mode 100644 index 90eb89e3f2f46..0000000000000 --- a/recipes/immer/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/implot/all/test_v1_package/CMakeLists.txt b/recipes/implot/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8d8cf1572027f..0000000000000 --- a/recipes/implot/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/implot/all/test_v1_package/conanfile.py b/recipes/implot/all/test_v1_package/conanfile.py deleted file mode 100644 index 4ef0320775f21..0000000000000 --- a/recipes/implot/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,23 +0,0 @@ -import os - -from conans import ConanFile, CMake -from conans.tools import cross_building - - -class ImplotTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/imutils-cpp/all/test_v1_package/CMakeLists.txt b/recipes/imutils-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/imutils-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/imutils-cpp/all/test_v1_package/conanfile.py b/recipes/imutils-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 2490acfa82ff8..0000000000000 --- a/recipes/imutils-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/indicators/all/test_v1_package/CMakeLists.txt b/recipes/indicators/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/indicators/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/indicators/all/test_v1_package/conanfile.py b/recipes/indicators/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/indicators/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/indirect_value/all/test_v1_package/CMakeLists.txt b/recipes/indirect_value/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/indirect_value/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/indirect_value/all/test_v1_package/conanfile.py b/recipes/indirect_value/all/test_v1_package/conanfile.py deleted file mode 100644 index 9b63bd176646b..0000000000000 --- a/recipes/indirect_value/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/influxdb-cpp/all/test_v1_package/CMakeLists.txt b/recipes/influxdb-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/influxdb-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/influxdb-cpp/all/test_v1_package/conanfile.py b/recipes/influxdb-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 49bc2bd787325..0000000000000 --- a/recipes/influxdb-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class InfluxDBCppTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/inih/all/test_v1_package/CMakeLists.txt b/recipes/inih/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/inih/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/inih/all/test_v1_package/conanfile.py b/recipes/inih/all/test_v1_package/conanfile.py deleted file mode 100644 index 5e82a4d078b63..0000000000000 --- a/recipes/inih/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,26 +0,0 @@ -from conans import ConanFile, CMake, tools -import os -import textwrap - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - with open("test.ini", "w") as fn: - fn.write(textwrap.dedent("""\ - [protocol] - version = 1337 - [user] - name = conan-center-index - email = info@conan.io - """)) - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/inja/all/test_v1_package/CMakeLists.txt b/recipes/inja/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b4b25bff2f0cd..0000000000000 --- a/recipes/inja/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/inja/all/test_v1_package/conanfile.py b/recipes/inja/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/inja/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/intel-neon2sse/all/test_v1_package/CMakeLists.txt b/recipes/intel-neon2sse/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/intel-neon2sse/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/intel-neon2sse/all/test_v1_package/conanfile.py b/recipes/intel-neon2sse/all/test_v1_package/conanfile.py deleted file mode 100644 index 1bf1c7e26255d..0000000000000 --- a/recipes/intel-neon2sse/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/intx/all/test_v1_package/CMakeLists.txt b/recipes/intx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9652e22fc19d5..0000000000000 --- a/recipes/intx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.12) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/intx/all/test_v1_package/conanfile.py b/recipes/intx/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/intx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/inversify-cpp/all/test_v1_package/CMakeLists.txt b/recipes/inversify-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/inversify-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/inversify-cpp/all/test_v1_package/conanfile.py b/recipes/inversify-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/inversify-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/iqa/all/test_v1_package/CMakeLists.txt b/recipes/iqa/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/iqa/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/iqa/all/test_v1_package/conanfile.py b/recipes/iqa/all/test_v1_package/conanfile.py deleted file mode 100644 index 54e4743603cf3..0000000000000 --- a/recipes/iqa/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/irrxml/all/test_v1_package/CMakeLists.txt b/recipes/irrxml/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/irrxml/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/irrxml/all/test_v1_package/conanfile.py b/recipes/irrxml/all/test_v1_package/conanfile.py deleted file mode 100644 index 433191cd50991..0000000000000 --- a/recipes/irrxml/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - xml_path = os.path.join(self.source_folder, os.pardir, "test_package", "config.xml") - self.run(f"{bin_path} {xml_path}", run_environment=True) diff --git a/recipes/isa-l/all/test_v1_package/CMakeLists.txt b/recipes/isa-l/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/isa-l/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/isa-l/all/test_v1_package/conanfile.py b/recipes/isa-l/all/test_v1_package/conanfile.py deleted file mode 100644 index 9d2678d8486a0..0000000000000 --- a/recipes/isa-l/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -from conans import ConanFile, CMake, tools, RunEnvironment -from conan.tools.build import cross_building -import os -import subprocess -import re - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/isl/all/test_v1_package/CMakeLists.txt b/recipes/isl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 33e5f24630032..0000000000000 --- a/recipes/isl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/isl/all/test_v1_package/conanfile.py b/recipes/isl/all/test_v1_package/conanfile.py deleted file mode 100644 index bd7165a553cf4..0000000000000 --- a/recipes/isl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/iso8601lib/all/test_v1_package/CMakeLists.txt b/recipes/iso8601lib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/iso8601lib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/iso8601lib/all/test_v1_package/conanfile.py b/recipes/iso8601lib/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/iso8601lib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/itlib/all/conandata.yml b/recipes/itlib/all/conandata.yml index 0e171d0bc94a0..19923cd832b58 100644 --- a/recipes/itlib/all/conandata.yml +++ b/recipes/itlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.11.4": + url: "https://github.com/iboB/itlib/archive/v1.11.4.tar.gz" + sha256: "09b155afcb9766fe36d0156294f6656956189235612eb7711903ebc22079c37e" "1.11.3": url: "https://github.com/iboB/itlib/archive/v1.11.3.tar.gz" sha256: "38999b3c4c2425ac3700529457fb2683d6fa5853752747c3afb97b2e688255b8" @@ -17,21 +20,3 @@ sources: "1.9.2": url: "https://github.com/iboB/itlib/archive/v1.9.2.tar.gz" sha256: "70627c57edff91dfae219e101c0672560f65567272e889f461069c8ea506bef1" - "1.9.1": - url: "https://github.com/iboB/itlib/archive/v1.9.1.tar.gz" - sha256: "3d87b841d85dc30fac2a5157955d685c37fd32a5ecff2e9df330b147fdc3da39" - "1.9.0": - url: "https://github.com/iboB/itlib/archive/v1.9.0.tar.gz" - sha256: "62b8c01f208a39c22462cde285dd84c60a8141cfbbc94f5fc1d991685a724228" - "1.8.3": - url: "https://github.com/iboB/itlib/archive/v1.8.3.tar.gz" - sha256: "2323e2abf5827651097c563a19d8f82c7fd222a8740ff3421681da967b59277e" - "1.8.2": - url: "https://github.com/iboB/itlib/archive/v1.8.2.tar.gz" - sha256: "2b4d206ed0de31a4e6042fada0aa7cee54c95220d98666381f0402046e95304f" - "1.8.1": - url: "https://github.com/iboB/itlib/archive/v1.8.1.tar.gz" - sha256: "7a8619073d0bbd5a5cea0ee9bb1b3b749348cbab1d12e4e0c234215f26388aef" - "1.8.0": - url: "https://github.com/iboB/itlib/archive/v1.8.0.tar.gz" - sha256: "70b6493b0cc3a720ffd48e98e3f009e8d94003380800bf07e61f167e813a9add" diff --git a/recipes/itlib/all/conanfile.py b/recipes/itlib/all/conanfile.py index e92c4b5b3a2f4..b96a180998454 100644 --- a/recipes/itlib/all/conanfile.py +++ b/recipes/itlib/all/conanfile.py @@ -13,7 +13,7 @@ class ItlibConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/iboB/itlib" - topics = ("template", "flatmatp", "static-vector") + topics = ("template", "flatmatp", "static-vector", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True diff --git a/recipes/itlib/all/test_v1_package/CMakeLists.txt b/recipes/itlib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index bc541ea90b512..0000000000000 --- a/recipes/itlib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/itlib/all/test_v1_package/conanfile.py b/recipes/itlib/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/itlib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/itlib/config.yml b/recipes/itlib/config.yml index e096818e5b805..5e6bf450f30f7 100644 --- a/recipes/itlib/config.yml +++ b/recipes/itlib/config.yml @@ -1,4 +1,6 @@ versions: + "1.11.4": + folder: all "1.11.3": folder: all "1.11.2": @@ -11,15 +13,3 @@ versions: folder: all "1.9.2": folder: all - "1.9.1": - folder: all - "1.9.0": - folder: all - "1.8.3": - folder: all - "1.8.2": - folder: all - "1.8.1": - folder: all - "1.8.0": - folder: all diff --git a/recipes/ittapi/all/test_v1_package/CMakeLists.txt b/recipes/ittapi/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index bb7640b6417bb..0000000000000 --- a/recipes/ittapi/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(ittapi REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE ittapi::ittapi) diff --git a/recipes/ittapi/all/test_v1_package/conanfile.py b/recipes/ittapi/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/ittapi/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jansson/all/test_v1_package/CMakeLists.txt b/recipes/jansson/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/jansson/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/jansson/all/test_v1_package/conanfile.py b/recipes/jansson/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/jansson/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jasper/all/test_v1_package/CMakeLists.txt b/recipes/jasper/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2f6b1a2f7ec79..0000000000000 --- a/recipes/jasper/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/jasper/all/test_v1_package/conanfile.py b/recipes/jasper/all/test_v1_package/conanfile.py deleted file mode 100644 index 19e6a0c06e3d8..0000000000000 --- a/recipes/jasper/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jbig/all/test_v1_package/CMakeLists.txt b/recipes/jbig/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/jbig/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/jbig/all/test_v1_package/conanfile.py b/recipes/jbig/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/jbig/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jeaiii-itoa/all/test_v1_package/CMakeLists.txt b/recipes/jeaiii-itoa/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/jeaiii-itoa/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/jeaiii-itoa/all/test_v1_package/conanfile.py b/recipes/jeaiii-itoa/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/jeaiii-itoa/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jemalloc/all/conanfile.py b/recipes/jemalloc/all/conanfile.py index 7273a9fcaa3fb..6c77bdecc8679 100644 --- a/recipes/jemalloc/all/conanfile.py +++ b/recipes/jemalloc/all/conanfile.py @@ -18,7 +18,8 @@ class JemallocConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" license = "BSD-2-Clause" homepage = "https://jemalloc.net/" - topics = ("conan", "jemalloc", "malloc", "free") + topics = ("jemalloc", "malloc", "free") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -119,10 +120,7 @@ def validate(self): if self.options.enable_cxx and self.settings.compiler.get_safe("libcxx") == "libc++" and \ Version(self.settings.compiler.version) < "10": raise ConanInvalidConfiguration("Clang 9 or earlier with libc++ is not supported due to the missing mutex implementation.") - # 3. Verify the build type - if self.settings.build_type not in ("Release", "Debug", None): - raise ConanInvalidConfiguration("Only Release and Debug builds are supported.") - # 4: Apple Silicon specific checks + # 3: Apple Silicon specific checks if self.settings.os == "Macos" and self.settings.arch == "armv8": if Version(self.version) < "5.3.0": raise ConanInvalidConfiguration("Support for Apple Silicon is only available as of 5.3.0.") diff --git a/recipes/jemalloc/all/test_v1_package/CMakeLists.txt b/recipes/jemalloc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/jemalloc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/jemalloc/all/test_v1_package/conanfile.py b/recipes/jemalloc/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/jemalloc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jerryscript/all/test_v1_package/CMakeLists.txt b/recipes/jerryscript/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/jerryscript/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/jerryscript/all/test_v1_package/conanfile.py b/recipes/jerryscript/all/test_v1_package/conanfile.py deleted file mode 100644 index f575dfc3e9c8a..0000000000000 --- a/recipes/jerryscript/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jfalcou-eve/all/test_v1_package/CMakeLists.txt b/recipes/jfalcou-eve/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 999a4a03ed9c9..0000000000000 --- a/recipes/jfalcou-eve/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/jfalcou-eve/all/test_v1_package/conanfile.py b/recipes/jfalcou-eve/all/test_v1_package/conanfile.py deleted file mode 100644 index daab8195118f1..0000000000000 --- a/recipes/jfalcou-eve/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class JfalcouEveConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/jom/all/test_v1_package/conanfile.py b/recipes/jom/all/test_v1_package/conanfile.py deleted file mode 100644 index 524a49a286047..0000000000000 --- a/recipes/jom/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,13 +0,0 @@ -from conans import ConanFile -from conan.tools.build import can_run - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def build(self): - pass - - def test(self): - if can_run(self): - self.run("jom /VERSION", run_environment=True) diff --git a/recipes/jpcre2/all/test_v1_package/CMakeLists.txt b/recipes/jpcre2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/jpcre2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/jpcre2/all/test_v1_package/conanfile.py b/recipes/jpcre2/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/jpcre2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jpeg-compressor/all/test_v1_package/CMakeLists.txt b/recipes/jpeg-compressor/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/jpeg-compressor/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/jpeg-compressor/all/test_v1_package/conanfile.py b/recipes/jpeg-compressor/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/jpeg-compressor/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jsbsim/all/test_v1_package/CMakeLists.txt b/recipes/jsbsim/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/jsbsim/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/jsbsim/all/test_v1_package/conanfile.py b/recipes/jsbsim/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/jsbsim/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jsmn/all/test_v1_package/CMakeLists.txt b/recipes/jsmn/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/jsmn/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/jsmn/all/test_v1_package/conanfile.py b/recipes/jsmn/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/jsmn/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/json-c/all/test_v1_package/CMakeLists.txt b/recipes/json-c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/json-c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/json-c/all/test_v1_package/conanfile.py b/recipes/json-c/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/json-c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/json-schema-validator/all/test_v1_package/CMakeLists.txt b/recipes/json-schema-validator/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/json-schema-validator/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/json-schema-validator/all/test_v1_package/conanfile.py b/recipes/json-schema-validator/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/json-schema-validator/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/json_dto/all/test_v1_package/CMakeLists.txt b/recipes/json_dto/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/json_dto/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/json_dto/all/test_v1_package/conanfile.py b/recipes/json_dto/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/json_dto/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/json_struct/all/conandata.yml b/recipes/json_struct/all/conandata.yml new file mode 100644 index 0000000000000..31102ff6a0fa4 --- /dev/null +++ b/recipes/json_struct/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.2": + url: "https://github.com/jorgen/json_struct/archive/refs/tags/1.0.2.tar.gz" + sha256: "c424ae3e8dbe6846311cb878d2d400c98a297a28eb1556961a985b6ed7b16090" diff --git a/recipes/json_struct/all/conanfile.py b/recipes/json_struct/all/conanfile.py new file mode 100644 index 0000000000000..b269918faa003 --- /dev/null +++ b/recipes/json_struct/all/conanfile.py @@ -0,0 +1,42 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.52.0" + +class JsonStructConan(ConanFile): + name = "json_struct" + description = "json_struct is a single header only C++ library for parsing JSON directly to C++ structs and vice versa" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/jorgen/json_struct" + + topics = ("serialization", "deserialization", "reflection", "json") + + settings = "os", "compiler", "build_type", "arch" + package_type = "header-library" + no_copy_source = True + + def validate(self): + check_min_cppstd(self, 14) + + def layout(self): + basic_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package_id(self): + self.info.clear() + + # Copy all files to the package folder + def package(self): + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "*.h", + os.path.join(self.source_folder, "include"), + os.path.join(self.package_folder, "include"), + ) diff --git a/recipes/json_struct/all/test_package/CMakeLists.txt b/recipes/json_struct/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..2c8c0eb28ba17 --- /dev/null +++ b/recipes/json_struct/all/test_package/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.15) + +project(JsonStructTester + DESCRIPTION "Tester package for json_struct" + LANGUAGES C CXX) + +find_package(json_struct REQUIRED) + +add_executable(${PROJECT_NAME} main.cpp) + +target_link_libraries(${PROJECT_NAME} json_struct::json_struct) +target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_14) diff --git a/recipes/json_struct/all/test_package/conanfile.py b/recipes/json_struct/all/test_package/conanfile.py new file mode 100644 index 0000000000000..f0d4e6b76d579 --- /dev/null +++ b/recipes/json_struct/all/test_package/conanfile.py @@ -0,0 +1,28 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + + +class JsonStructTest(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "CMakeToolchain" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def layout(self): + cmake_layout(self) + + def test(self): + if can_run(self): + self.output.info("Checking compiled tester...") + cmd = os.path.join(self.cpp.build.bindir, "JsonStructTester") + self.run(cmd, env="conanrun") + diff --git a/recipes/json_struct/all/test_package/main.cpp b/recipes/json_struct/all/test_package/main.cpp new file mode 100644 index 0000000000000..a61797c693d60 --- /dev/null +++ b/recipes/json_struct/all/test_package/main.cpp @@ -0,0 +1,21 @@ +#include "json_struct/json_struct.h" +#include + +struct MyTestStruct +{ + std::string name; + unsigned age; + JS_OBJ(name, age); +}; + +int main() +{ + MyTestStruct person; + person.name="Jonh"; + person.age=23; + + std::string person_json = JS::serializeStruct(person); + std::cout << person_json << std::endl; + + return 0; +} diff --git a/recipes/json_struct/config.yml b/recipes/json_struct/config.yml new file mode 100644 index 0000000000000..8457ca9a4a8cd --- /dev/null +++ b/recipes/json_struct/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.2": + folder: all diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml index 488712d110383..fa96f6778d1c7 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.178.0": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.178.0.tar.gz" + sha256: "c531b4288bb08c9c2b36fba53f568bc800e93656830bcffc18a87a3af1f46290" "0.177.0": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.177.0.tar.gz" sha256: "a381d58489f143a3a515484f4ad6e32ae4d977033e1a455fecf8cdc4e2c9a49e" diff --git a/recipes/jsoncons/all/test_v1_package/CMakeLists.txt b/recipes/jsoncons/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index a5743e33125cd..0000000000000 --- a/recipes/jsoncons/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(jsoncons CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE jsoncons::jsoncons) -if(jsoncons_VERSION VERSION_LESS "0.172.0") - target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) -else() - target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) -endif() diff --git a/recipes/jsoncons/all/test_v1_package/conanfile.py b/recipes/jsoncons/all/test_v1_package/conanfile.py deleted file mode 100644 index 8037a9296cc42..0000000000000 --- a/recipes/jsoncons/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index 57cfc555c3f95..bfd0d8f2ead05 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,4 +1,6 @@ versions: + "0.178.0": + folder: "all" "0.177.0": folder: "all" "0.176.0": diff --git a/recipes/jsoncpp/all/conandata.yml b/recipes/jsoncpp/all/conandata.yml index b5b4f5372dd99..8973aaac6a3fe 100644 --- a/recipes/jsoncpp/all/conandata.yml +++ b/recipes/jsoncpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.6": + url: https://github.com/open-source-parsers/jsoncpp/archive/1.9.6.tar.gz + sha256: f93b6dd7ce796b13d02c108bc9f79812245a82e577581c4c9aabe57075c90ea2 "1.9.5": url: https://github.com/open-source-parsers/jsoncpp/archive/1.9.5.tar.gz sha256: f409856e5920c18d0c2fb85276e24ee607d2a09b5e7d5f0a371368903c275da2 diff --git a/recipes/jsoncpp/all/conanfile.py b/recipes/jsoncpp/all/conanfile.py index 1354ccb9d1943..dc347bac0be0d 100644 --- a/recipes/jsoncpp/all/conanfile.py +++ b/recipes/jsoncpp/all/conanfile.py @@ -11,12 +11,12 @@ class JsoncppConan(ConanFile): name = "jsoncpp" + description = "A C++ library for interacting with JSON." license = "MIT" - homepage = "https://github.com/open-source-parsers/jsoncpp" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/open-source-parsers/jsoncpp" topics = ("json", "parser", "config") - description = "A C++ library for interacting with JSON." - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], diff --git a/recipes/jsoncpp/all/test_v1_package/CMakeLists.txt b/recipes/jsoncpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/jsoncpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/jsoncpp/all/test_v1_package/conanfile.py b/recipes/jsoncpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/jsoncpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jsoncpp/config.yml b/recipes/jsoncpp/config.yml index e11b41080c02a..f4837dd548b8a 100644 --- a/recipes/jsoncpp/config.yml +++ b/recipes/jsoncpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.6": + folder: all "1.9.5": folder: all "1.9.4": diff --git a/recipes/jsonnet/all/test_v1_package/CMakeLists.txt b/recipes/jsonnet/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/jsonnet/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/jsonnet/all/test_v1_package/conanfile.py b/recipes/jsonnet/all/test_v1_package/conanfile.py deleted file mode 100644 index 25fbcb7a6d066..0000000000000 --- a/recipes/jsonnet/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - self.run(os.path.join("bin", "test_package_c"), run_environment=True) - self.run(os.path.join("bin", "test_package_cxx"), run_environment=True) diff --git a/recipes/jthread-lite/all/test_v1_package/CMakeLists.txt b/recipes/jthread-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/jthread-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/jthread-lite/all/test_v1_package/conanfile.py b/recipes/jthread-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/jthread-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jungle/all/test_v1_package/CMakeLists.txt b/recipes/jungle/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/jungle/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/jungle/all/test_v1_package/conanfile.py b/recipes/jungle/all/test_v1_package/conanfile.py deleted file mode 100644 index 9ebf26743f34b..0000000000000 --- a/recipes/jungle/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile -from conan.tools.build import cross_building -from conans import CMake -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jwasm/all/test_v1_package/conanfile.py b/recipes/jwasm/all/test_v1_package/conanfile.py deleted file mode 100644 index 2f48a81c3461c..0000000000000 --- a/recipes/jwasm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,24 +0,0 @@ -from conans import ConanFile -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - test_type = "explicit" - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - def build_requirements(self): - self.build_requires(self.tested_reference_str) - - def test(self): - self.run("jwasm -h", ignore_errors=True) - obj_file = os.path.join(self.build_folder, "Lin64_1.o") - asm_file = os.path.join(self.source_folder, os.pardir, "test_package", "Lin64_1.asm") # content from https://www.japheth.de/JWasm/Lin64_1.html - self.run(f"jwasm -elf64 -Fo={obj_file} {asm_file}") - if self._settings_build.os == "Linux" and self._settings_build.arch == "x86_64": - bin_file = os.path.join(self.build_folder, "Lin64_1") - self.run(f"ld {obj_file} -o {bin_file}") - self.run(bin_file, ignore_errors=True) diff --git a/recipes/jwt-cpp/all/test_v1_package/CMakeLists.txt b/recipes/jwt-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 84b1906ecf746..0000000000000 --- a/recipes/jwt-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/jwt-cpp/all/test_v1_package/conanfile.py b/recipes/jwt-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 3f782b39bbd4f..0000000000000 --- a/recipes/jwt-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def requirements(self): - self.requires("picojson/1.3.0") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/jxrlib/all/test_v1_package/CMakeLists.txt b/recipes/jxrlib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index eb386b8f18cc0..0000000000000 --- a/recipes/jxrlib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(JXR REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE JXR::JXR) diff --git a/recipes/jxrlib/all/test_v1_package/conanfile.py b/recipes/jxrlib/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/jxrlib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/kaitai_struct_cpp_stl_runtime/all/test_v1_package/CMakeLists.txt b/recipes/kaitai_struct_cpp_stl_runtime/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/kaitai_struct_cpp_stl_runtime/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/kaitai_struct_cpp_stl_runtime/all/test_v1_package/conanfile.py b/recipes/kaitai_struct_cpp_stl_runtime/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/kaitai_struct_cpp_stl_runtime/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/kangaru/all/conandata.yml b/recipes/kangaru/all/conandata.yml index 5c977f020a27d..996d16a86895e 100644 --- a/recipes/kangaru/all/conandata.yml +++ b/recipes/kangaru/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.2": + url: "https://github.com/gracicot/kangaru/archive/v4.3.2.tar.gz" + sha256: "ed2dec53087fe4c5fbfc7f7ffcb0e963b3e0a7f27699338c4bc5a116193113b8" "4.3.1": url: "https://github.com/gracicot/kangaru/archive/v4.3.1.tar.gz" sha256: "3896ea2a13cc1c220b4d83bf598e27e77004170b4a212af8f14264f8a6fb0e45" @@ -11,3 +14,6 @@ sources: patches: "4.2.4": - patch_file: "patches/fix-cmake.patch" + patch_description: "use CURRENT macros for portability" + patch_type: "portability" + patch_source: "https://github.com/gracicot/kangaru/commit/3908d927c43c1a9c99daaef6eca12d55dd0dcc79" diff --git a/recipes/kangaru/all/conanfile.py b/recipes/kangaru/all/conanfile.py index b9d9319294b90..3e901d2203121 100644 --- a/recipes/kangaru/all/conanfile.py +++ b/recipes/kangaru/all/conanfile.py @@ -12,9 +12,9 @@ class KangaruConan(ConanFile): name = "kangaru" description = "A dependency injection container for C++11, C++14 and later" license = "MIT" - topics = ("DI", "IoC", "inversion of control") - homepage = "https://github.com/gracicot/kangaru/wiki" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/gracicot/kangaru/wiki" + topics = ("DI", "IoC", "inversion of control", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" diff --git a/recipes/kangaru/all/test_v1_package/CMakeLists.txt b/recipes/kangaru/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/kangaru/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/kangaru/all/test_v1_package/conanfile.py b/recipes/kangaru/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/kangaru/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/kangaru/config.yml b/recipes/kangaru/config.yml index a57d047923a8a..572d8f5785b54 100644 --- a/recipes/kangaru/config.yml +++ b/recipes/kangaru/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.2": + folder: all "4.3.1": folder: all "4.3.0": diff --git a/recipes/kcov/all/test_v1_package/conanfile.py b/recipes/kcov/all/test_v1_package/conanfile.py deleted file mode 100644 index ea5ad0c50ed3e..0000000000000 --- a/recipes/kcov/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,9 +0,0 @@ -from conans import ConanFile, tools - - -class KcovTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - - def test(self): - if not tools.cross_building(self.settings): - self.run("kcov --version", run_environment=True) diff --git a/recipes/kcp/all/test_v1_package/CMakeLists.txt b/recipes/kcp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/kcp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/kcp/all/test_v1_package/conanfile.py b/recipes/kcp/all/test_v1_package/conanfile.py deleted file mode 100644 index f8eeed898d7bd..0000000000000 --- a/recipes/kcp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/kdbindings/all/conandata.yml b/recipes/kdbindings/all/conandata.yml index 37cdf4e77533d..ee5ec1ceee917 100644 --- a/recipes/kdbindings/all/conandata.yml +++ b/recipes/kdbindings/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/KDAB/KDBindings/archive/refs/tags/v1.1.0.tar.gz" + sha256: "0ee07cb3e2ec4f5688b4b2971c42e5a4f4a41c7bf4aa130e6b118bea4b6340ab" "1.0.5": url: "https://github.com/KDAB/KDBindings/archive/refs/tags/v1.0.5.tar.gz" sha256: "4d001419809a719f8c966e9bc73f457180325655deca0a11c07c47ee112447a3" diff --git a/recipes/kdbindings/all/conanfile.py b/recipes/kdbindings/all/conanfile.py index 6f71f9d6240bb..101357d6a2525 100644 --- a/recipes/kdbindings/all/conanfile.py +++ b/recipes/kdbindings/all/conanfile.py @@ -2,25 +2,24 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import get, copy +from conan.tools.layout import basic_layout from conan.tools.scm import Version import os class KDBindingsConan(ConanFile): name = "kdbindings" license = "MIT" - topics = ("c++17", "reactive", "kdab", "header-only") description = "Reactive programming & data binding in C++" - homepage = "https://github.com/KDAB/KDBindings" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/KDAB/KDBindings" + topics = ("c++17", "reactive", "kdab", "header-only") package_type = "header-library" - settings = "compiler" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True, destination=self.source_folder) + @property + def _min_cppstd(self): + return 17 @property def _compilers_minimum_version(self): @@ -32,17 +31,23 @@ def _compilers_minimum_version(self): "msvc": "191", } + def layout(self): + # src_folder must use the same source folder name than the project + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 17) - + 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++17, which your compiler does not support.") - def build(self): - pass - def package(self): copy(self, "*.h", os.path.join(self.source_folder, "src","kdbindings"), os.path.join(self.package_folder, "include", "kdbindings")) copy(self, "LICENSES/*", dst=os.path.join(self.package_folder,"licenses"), src=self.source_folder) diff --git a/recipes/kdbindings/config.yml b/recipes/kdbindings/config.yml index 36ff9efdcab85..39a3c40066d56 100644 --- a/recipes/kdbindings/config.yml +++ b/recipes/kdbindings/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.5": folder: all "1.0.3": diff --git a/recipes/kealib/all/test_v1_package/CMakeLists.txt b/recipes/kealib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/kealib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/kealib/all/test_v1_package/conanfile.py b/recipes/kealib/all/test_v1_package/conanfile.py deleted file mode 100644 index 84ee68733e516..0000000000000 --- a/recipes/kealib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/keystone/all/conandata.yml b/recipes/keystone/all/conandata.yml new file mode 100644 index 0000000000000..293bb6907aa2e --- /dev/null +++ b/recipes/keystone/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.9.2": + url: "https://github.com/keystone-engine/keystone/archive/refs/tags/0.9.2.tar.gz" + sha256: "c9b3a343ed3e05ee168d29daf89820aff9effb2c74c6803c2d9e21d55b5b7c24" diff --git a/recipes/keystone/all/conanfile.py b/recipes/keystone/all/conanfile.py new file mode 100644 index 0000000000000..a4075c2b51be6 --- /dev/null +++ b/recipes/keystone/all/conanfile.py @@ -0,0 +1,93 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.build import check_max_cppstd +import os + +required_conan_version = ">=2.0" + + +class KeystoneConan(ConanFile): + name = "keystone" + description = ( + "Keystone assembler framework: Core (Arm, Arm64, Hexagon, " + "Mips, PowerPC, Sparc, SystemZ & X86) + bindings." + ) + license = ( "GPL-2.0-only", "DocumentRef-EXCEPTIONS-CLIENT:LicenseRef-FOSS-License-Exception" ) + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.keystone-engine.org" + topics = ( + "security", + "arm", + "framework", + "mips", + "x86-64", + "reverse-engineering", + "assembler", + "x86", + "hexagon", + "arm64", + "sparc", + "powerpc", + "systemz" + ) + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + implements = ["auto_shared_fpic"] + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def validate(self): + # INFO: include/llvm/ADT/STLExtras.h:54:34: error: no template named 'binary_function' in namespace 'std' + # The std::binary_function was removed in C++17 + check_max_cppstd(self, 14) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_LIBS_ONLY"] = True + tc.cache_variables["KEYSTONE_BUILD_STATIC_RUNTIME"] = is_msvc_static_runtime(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy( + self, + "COPYING", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + ) + copy( + self, + "EXCEPTIONS-CLIENT", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + ) + copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + self.cpp_info.libs = ["keystone"] + if is_msvc(self) and self.options.shared: + self.cpp_info.bindirs = ["lib"] + if self.settings.os == "Windows": + self.cpp_info.system_libs = ["shell32", "ole32", "uuid"] diff --git a/recipes/keystone/all/test_package/CMakeLists.txt b/recipes/keystone/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..fa5c67fc76107 --- /dev/null +++ b/recipes/keystone/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(keystone REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE keystone::keystone) diff --git a/recipes/keystone/all/test_package/conanfile.py b/recipes/keystone/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/keystone/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/keystone/all/test_package/test_package.cpp b/recipes/keystone/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..979bb61f8423f --- /dev/null +++ b/recipes/keystone/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include +#include + +int main() +{ + unsigned int major = 0, minor = 0; + ks_version(&major, &minor); + std::cout << "Keystone version: " << major << "." << minor << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/keystone/config.yml b/recipes/keystone/config.yml new file mode 100644 index 0000000000000..6adb5bb604435 --- /dev/null +++ b/recipes/keystone/config.yml @@ -0,0 +1,3 @@ +versions: + "0.9.2": + folder: "all" diff --git a/recipes/khrplatform/all/test_v1_package/CMakeLists.txt b/recipes/khrplatform/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/khrplatform/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/khrplatform/all/test_v1_package/conanfile.py b/recipes/khrplatform/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/khrplatform/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/kissfft/all/test_v1_package/CMakeLists.txt b/recipes/kissfft/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/kissfft/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/kissfft/all/test_v1_package/conanfile.py b/recipes/kissfft/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/kissfft/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/kitten/all/test_v1_package/CMakeLists.txt b/recipes/kitten/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/kitten/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/kitten/all/test_v1_package/conanfile.py b/recipes/kitten/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/kitten/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/kmod/all/test_v1_package/CMakeLists.txt b/recipes/kmod/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/kmod/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/kmod/all/test_v1_package/conanfile.py b/recipes/kmod/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/kmod/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/kplot/all/CMakeLists.txt b/recipes/kplot/all/CMakeLists.txt index 632b160c48691..d9ac5598dcf53 100644 --- a/recipes/kplot/all/CMakeLists.txt +++ b/recipes/kplot/all/CMakeLists.txt @@ -1,49 +1,45 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(kplot LANGUAGES C) find_package(cairo REQUIRED CONFIG) set(kplot_src - ${KPLOT_SRC_DIR}/colours.c - ${KPLOT_SRC_DIR}/array.c - ${KPLOT_SRC_DIR}/border.c - ${KPLOT_SRC_DIR}/bucket.c - ${KPLOT_SRC_DIR}/buffer.c - ${KPLOT_SRC_DIR}/draw.c - ${KPLOT_SRC_DIR}/grid.c - ${KPLOT_SRC_DIR}/hist.c - ${KPLOT_SRC_DIR}/label.c - ${KPLOT_SRC_DIR}/kdata.c - ${KPLOT_SRC_DIR}/kplot.c - ${KPLOT_SRC_DIR}/margin.c - ${KPLOT_SRC_DIR}/mean.c - ${KPLOT_SRC_DIR}/plotctx.c - ${KPLOT_SRC_DIR}/reallocarray.c - ${KPLOT_SRC_DIR}/stddev.c - ${KPLOT_SRC_DIR}/tic.c - ${KPLOT_SRC_DIR}/vector.c + colours.c + array.c + border.c + bucket.c + buffer.c + draw.c + grid.c + hist.c + label.c + kdata.c + kplot.c + margin.c + mean.c + plotctx.c + reallocarray.c + stddev.c + tic.c + vector.c ) set(kplot_inc - ${KPLOT_SRC_DIR}/compat.h - ${KPLOT_SRC_DIR}/extern.h - ${KPLOT_SRC_DIR}/kplot.h + compat.h + extern.h + kplot.h ) -include_directories(KPLOT_SRC_DIR) - -try_run(HAVE_reallocarray COMPIE_reallocarray ${CMAKE_BINARY_DIR} ${KPLOT_SRC_DIR}/test-reallocarray.c) - -file(READ "${KPLOT_SRC_DIR}/compat.pre.h" COMPAT_CONTENTS) -file(WRITE "${KPLOT_SRC_DIR}/compat.h" "${COMPAT_CONTENTS}") -if (${COMPIE_reallocarray} AND NOT ${HAVE_reallocarray}) - file(APPEND "${KPLOT_SRC_DIR}/compat.h" "#define HAVE_REALLOCARRAY") +try_run(HAVE_reallocarray COMPIE_reallocarray ${CMAKE_BINARY_DIR} "${CMAKE_SOURCE_DIR}/test-reallocarray.c") +file(READ compat.pre.h COMPAT_CONTENTS) +file(WRITE compat.h "${COMPAT_CONTENTS}") +if (COMPIE_reallocarray AND NOT HAVE_reallocarray) + file(APPEND compat.h "#define HAVE_REALLOCARRAY") endif() -file(READ "${KPLOT_SRC_DIR}/compat.post.h" COMPAT_CONTENTS) -file(APPEND "${KPLOT_SRC_DIR}/compat.h" "${COMPAT_CONTENTS}") +file(READ compat.post.h COMPAT_CONTENTS) +file(APPEND compat.h "${COMPAT_CONTENTS}") add_library(kplot ${kplot_src}) - target_compile_features(kplot PRIVATE c_std_99) set_target_properties(kplot PROPERTIES PUBLIC_HEADER "${kplot_inc}" @@ -54,7 +50,6 @@ target_compile_features(kplot PRIVATE c_std_99) target_link_libraries(kplot PRIVATE cairo::cairo) include(GNUInstallDirs) - install( TARGETS kplot RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} diff --git a/recipes/kplot/all/conanfile.py b/recipes/kplot/all/conanfile.py index 47e24a0f5cdf8..e7de72e829781 100644 --- a/recipes/kplot/all/conanfile.py +++ b/recipes/kplot/all/conanfile.py @@ -12,9 +12,10 @@ class KplotConan(ConanFile): description = "open source Cairo plotting library" license = "ISC" url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/kristapsdz/kplot/" - topics = ("plot", "cairo", "chart") # no "conan" and project name in topics - settings = "os", "arch", "compiler", "build_type" # even for header only + homepage = "https://github.com/kristapsdz/kplot" + topics = ("plot", "cairo", "chart") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -25,7 +26,7 @@ class KplotConan(ConanFile): } def export_sources(self): - copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "CMakeLists.txt", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -34,7 +35,6 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - # for plain C projects only self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") @@ -46,26 +46,24 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} can not be built on Visual Studio and msvc.") def requirements(self): - self.requires("cairo/1.17.4") + self.requires("cairo/1.17.4", transitive_headers=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["KPLOT_SRC_DIR"] = self.source_folder.replace("\\", "/") tc.generate() - deps = CMakeDeps(self) deps.generate() def build(self): cmake = CMake(self) - cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.configure() cmake.build() def package(self): - copy(self, pattern="LICENSE.md", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "LICENSE.md", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() diff --git a/recipes/kplot/all/test_package/test_package.c b/recipes/kplot/all/test_package/test_package.c index 2bc672875372a..1823d8d11f41d 100644 --- a/recipes/kplot/all/test_package/test_package.c +++ b/recipes/kplot/all/test_package/test_package.c @@ -1,14 +1,11 @@ -#include +// Both are required by kplot.h +#include #include -#include "cairo.h" -#include "kplot.h" +#include int main() { struct kpair points1[50]; struct kdata* d1 = kdata_array_alloc(points1, 50); - kdata_destroy(d1); - - return 0; } diff --git a/recipes/kplot/all/test_v1_package/CMakeLists.txt b/recipes/kplot/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/kplot/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/kplot/all/test_v1_package/conanfile.py b/recipes/kplot/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/kplot/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ktx/all/test_v1_package/CMakeLists.txt b/recipes/ktx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/ktx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/ktx/all/test_v1_package/conanfile.py b/recipes/ktx/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/ktx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/kuba-zip/all/test_v1_package/CMakeLists.txt b/recipes/kuba-zip/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/kuba-zip/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/kuba-zip/all/test_v1_package/conanfile.py b/recipes/kuba-zip/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/kuba-zip/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/laszip/all/test_v1_package/CMakeLists.txt b/recipes/laszip/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/laszip/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/laszip/all/test_v1_package/conanfile.py b/recipes/laszip/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/laszip/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lcms/all/test_v1_package/CMakeLists.txt b/recipes/lcms/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/lcms/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/lcms/all/test_v1_package/conanfile.py b/recipes/lcms/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/lcms/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ldns/all/test_v1_package/CMakeLists.txt b/recipes/ldns/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 3c9553de48e54..0000000000000 --- a/recipes/ldns/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest C) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/ldns/all/test_v1_package/conanfile.py b/recipes/ldns/all/test_v1_package/conanfile.py deleted file mode 100644 index 17fb742bffdde..0000000000000 --- a/recipes/ldns/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake -from conans.tools import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "pkg_config" - - def build_requirements(self): - if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.build_requires("pkgconf/2.1.0") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - example = os.path.join("test_package", "example") - self.run(example, run_environment=True) diff --git a/recipes/lely-core/all/test_v1_package/CMakeLists.txt b/recipes/lely-core/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index ce0ee43ce03ba..0000000000000 --- a/recipes/lely-core/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.2) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory("${CMAKE_SOURCE_DIR}/../test_package" "${CMAKE_BINARY_DIR}/test_package") diff --git a/recipes/lely-core/all/test_v1_package/conanfile.py b/recipes/lely-core/all/test_v1_package/conanfile.py deleted file mode 100644 index 0245c9a8028a3..0000000000000 --- a/recipes/lely-core/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/lemon/all/test_v1_package/CMakeLists.txt b/recipes/lemon/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/lemon/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/lemon/all/test_v1_package/conanfile.py b/recipes/lemon/all/test_v1_package/conanfile.py deleted file mode 100644 index 02ecf312299d6..0000000000000 --- a/recipes/lemon/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake" - test_type = "explicit" - - def build_requirements(self): - self.build_requires(self.tested_reference_str) - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/leptonica/all/conandata.yml b/recipes/leptonica/all/conandata.yml index 7c713eeaa4311..0a2cd20eab0b4 100644 --- a/recipes/leptonica/all/conandata.yml +++ b/recipes/leptonica/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.85.0": + url: "https://github.com/DanBloomberg/leptonica/archive/1.85.0.tar.gz" + sha256: "c01376bce0379d4ea4bc2ec5d5cbddaa49e2f06f88242619ab8c059e21adf233" "1.83.1": url: "https://github.com/DanBloomberg/leptonica/archive/1.83.1.tar.gz" sha256: "4289d0a4224b614010072253531c0455a33a4d7c7a0017fe7825ed382290c0da" diff --git a/recipes/leptonica/all/conanfile.py b/recipes/leptonica/all/conanfile.py index a937905bbcab5..f19aa2e7c182f 100644 --- a/recipes/leptonica/all/conanfile.py +++ b/recipes/leptonica/all/conanfile.py @@ -96,7 +96,15 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_PROG"] = False tc.variables["SW_BUILD"] = False - if Version(self.version) >= "1.83.0": + if Version(self.version) >= "1.85.0": + tc.variables["ENABLE_ZLIB"] = self.options.with_zlib + tc.variables["ENABLE_PNG"] = self.options.with_png + tc.variables["ENABLE_GIF"] = self.options.with_gif + tc.variables["ENABLE_JPEG"] = self.options.with_jpeg + tc.variables["ENABLE_TIFF"] = self.options.with_tiff + tc.variables["ENABLE_WEBP"] = self.options.with_webp + tc.variables["ENABLE_OPENJPEG"] = self.options.with_openjpeg + elif Version(self.version) >= "1.83.0": tc.variables["LIBWEBP_SUPPORT"] = self.options.with_webp tc.variables["OPENJPEG_SUPPORT"] = self.options.with_openjpeg tc.generate() @@ -145,7 +153,8 @@ def _patch_sources(self): ## We have to be more aggressive with dependencies found with pkgconfig ## Injection of libdirs is ensured by conan_basic_setup() ## openjpeg - replace_in_file(self, cmakelists_src, "${JP2K_LIBRARIES}", "openjp2") + if Version(self.version) < "1.85.0": + replace_in_file(self, cmakelists_src, "${JP2K_LIBRARIES}", "openjp2") if Version(self.version) < "1.83.0": # pkgconfig is prefered to CMake. Disable pkgconfig so only CMake is used replace_in_file(self, cmakelists, "pkg_check_modules(JP2K libopenjp2>=2.0 QUIET)", "") @@ -154,7 +163,7 @@ def _patch_sources(self): if not self.options.with_openjpeg: replace_in_file(self, cmakelists_src, "if (JP2K_FOUND)", "if(0)") replace_in_file(self, cmake_configure, "if (JP2K_FOUND)", "if(0)") - else: + elif Version(self.version) < "1.85.0": replace_in_file(self, cmakelists, "set(JP2K_INCLUDE_DIRS ${OPENJPEG_INCLUDE_DIRS})", "set(JP2K_INCLUDE_DIRS ${OpenJPEG_INCLUDE_DIRS})") if not self.options.with_openjpeg: replace_in_file(self, cmake_configure, "if (JP2K_FOUND)", "if(0)") @@ -167,13 +176,14 @@ def _patch_sources(self): if not self.options.with_webp: replace_in_file(self, cmakelists_src, "if (WEBP_FOUND)", "if(0)") replace_in_file(self, cmake_configure, "if (WEBP_FOUND)", "if(0)") - if Version(self.version) >= "1.83.0" or self.options.with_webp: - replace_in_file(self, cmakelists_src, - "if (WEBP_FOUND)", - "if (WEBP_FOUND)\n" - "target_link_directories(leptonica PRIVATE ${WEBP_LIBRARY_DIRS} ${WEBPMUX_LIBRARY_DIRS})\n" - "target_compile_definitions(leptonica PRIVATE ${WEBP_CFLAGS_OTHER} ${WEBPMUX_CFLAGS_OTHER})") - replace_in_file(self, cmakelists_src, "${WEBP_LIBRARIES}", "${WEBP_LIBRARIES} ${WEBPMUX_LIBRARIES}") + if Version(self.version) < "1.85.0": + if Version(self.version) >= "1.83.0" and self.options.with_webp: + replace_in_file(self, cmakelists_src, + "if (WEBP_FOUND)", + "if (WEBP_FOUND)\n" + "target_link_directories(leptonica PRIVATE ${WEBP_LIBRARY_DIRS} ${WEBPMUX_LIBRARY_DIRS})\n" + "target_compile_definitions(leptonica PRIVATE ${WEBP_CFLAGS_OTHER} ${WEBPMUX_CFLAGS_OTHER})") + replace_in_file(self, cmakelists_src, "${WEBP_LIBRARIES}", "${WEBP_LIBRARIES} ${WEBPMUX_LIBRARIES}") # Remove detection of fmemopen() on macOS < 10.13 # CheckFunctionExists will find it in the link library. diff --git a/recipes/leptonica/all/test_v1_package/CMakeLists.txt b/recipes/leptonica/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/leptonica/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/leptonica/all/test_v1_package/conanfile.py b/recipes/leptonica/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/leptonica/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/leptonica/config.yml b/recipes/leptonica/config.yml index 38d6d07fba4c6..73dd82999a627 100644 --- a/recipes/leptonica/config.yml +++ b/recipes/leptonica/config.yml @@ -1,4 +1,6 @@ versions: + "1.85.0": + folder: all "1.83.1": folder: all "1.82.0": diff --git a/recipes/lerc/all/test_v1_package/CMakeLists.txt b/recipes/lerc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/lerc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/lerc/all/test_v1_package/conanfile.py b/recipes/lerc/all/test_v1_package/conanfile.py deleted file mode 100644 index b7e21a6312c34..0000000000000 --- a/recipes/lerc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conan.tools.microsoft import is_msvc -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package_cxx") - self.run(bin_path, run_environment=True) - if not is_msvc(self): - # lerc_computeCompressedSize() fails with a stack overflow on MSVC for some reason - bin_path = os.path.join("bin", "test_package_c") - self.run(bin_path, run_environment=True) diff --git a/recipes/level-zero/all/conandata.yml b/recipes/level-zero/all/conandata.yml new file mode 100644 index 0000000000000..239ec80fcfb55 --- /dev/null +++ b/recipes/level-zero/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "1.17.39": + url: "https://github.com/oneapi-src/level-zero/archive/refs/tags/v1.17.39.tar.gz" + sha256: "70473c7262eee80dbe7c17974684ba9d3e34efc15ecba919b85e3cea7b1e180e" +patches: + "1.17.39": + - patch_file: "patches/1.17.39/001-patch-remove-qspectre.patch" + patch_description: "Removed /Qspectre" + patch_type: "portability" \ No newline at end of file diff --git a/recipes/level-zero/all/conanfile.py b/recipes/level-zero/all/conanfile.py new file mode 100644 index 0000000000000..191466efdba72 --- /dev/null +++ b/recipes/level-zero/all/conanfile.py @@ -0,0 +1,74 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps +from conan.tools.files import get, apply_conandata_patches, copy, export_conandata_patches, rmdir, replace_in_file +from conan.tools.build import check_min_cppstd +import os + + +class LevelZeroConan(ConanFile): + name = "level-zero" + license = "MIT" + homepage = "https://github.com/oneapi-src/level-zero" + url = "https://github.com/conan-io/conan-center-index" + description = "OneAPI Level Zero Specification Headers and Loader" + topics = ("api-headers", "loader", "level-zero", "oneapi") + package_type = "shared-library" + + # Binary configuration + settings = "os", "arch", "compiler", "build_type" + + def requirements(self): + self.requires("spdlog/1.14.1") + + def source(self): + version_data = self.conan_data["sources"][self.version] + get(self, **version_data, strip_root=True) + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "source", "loader","ze_loader.cpp"), + "#ifdef __linux__", "#if defined(__linux__) || defined(__APPLE__)") + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + + toolchain = CMakeToolchain(self) + toolchain.generate() + + def validate(self): + if is_apple_os(self): + self.output.warning("Level Zero is not known to support Apple platforms") + if self.settings.os == "Windows" and self.settings.get_safe("subsystem") == "uwp": + raise ConanInvalidConfiguration(f"{self.ref} does not support UWP on Windows.") + + min_cpp_std = "14" + check_min_cppstd(self, min_cpp_std) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + self.cpp_info.components["ze-loader"].libs = ["ze_loader"] + self.cpp_info.components["ze-loader"].includedirs = ["include", "include/level_zero"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["ze-loader"].system_libs = ["pthread"] + elif self.settings.os == "Windows": + self.cpp_info.components["ze-loader"].system_libs = ["cfgmgr32"] + self.cpp_info.components["ze-loader"].set_property("pkg_config_name", "libze_loader") + self.cpp_info.components["level-zero"].requires = ["ze-loader"] + self.cpp_info.components["level-zero"].set_property("pkg_config_name", "level-zero") diff --git a/recipes/level-zero/all/patches/1.17.39/001-patch-remove-qspectre.patch b/recipes/level-zero/all/patches/1.17.39/001-patch-remove-qspectre.patch new file mode 100644 index 0000000000000..997ca7a844e96 --- /dev/null +++ b/recipes/level-zero/all/patches/1.17.39/001-patch-remove-qspectre.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ac2ab9f..5282757 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -132,12 +132,6 @@ if(MSVC) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DYNAMICBASE") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /guard:cf") + # enable Spectre Mitigation, not supported by clang-cl +- if((NOT CMAKE_CXX_COMPILER_ID STREQUAL Clang) AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL IntelLLVM)) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Qspectre") +- endif() +- if((NOT CMAKE_C_COMPILER_ID STREQUAL Clang) AND NOT (CMAKE_C_COMPILER_ID STREQUAL IntelLLVM)) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Qspectre") +- endif() + endif() + + #CXX compiler support diff --git a/recipes/level-zero/all/test_package/CMakeLists.txt b/recipes/level-zero/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..6b92e033f045a --- /dev/null +++ b/recipes/level-zero/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.2.0) +project(test_package LANGUAGES CXX) + +find_package(level-zero CONFIG REQUIRED) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE level-zero::level-zero) + +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) \ No newline at end of file diff --git a/recipes/level-zero/all/test_package/conanfile.py b/recipes/level-zero/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0ac491f64a94f --- /dev/null +++ b/recipes/level-zero/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/level-zero/all/test_package/test_package.cpp b/recipes/level-zero/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..50cc7683ea557 --- /dev/null +++ b/recipes/level-zero/all/test_package/test_package.cpp @@ -0,0 +1,6 @@ +#include "ze_api.h" + +int main() { + zeInit(0); + return 0; +} diff --git a/recipes/level-zero/config.yml b/recipes/level-zero/config.yml new file mode 100644 index 0000000000000..6cac94c96d3b8 --- /dev/null +++ b/recipes/level-zero/config.yml @@ -0,0 +1,3 @@ +versions: + "1.17.39": + folder: "all" diff --git a/recipes/leveldb/all/test_v1_package/CMakeLists.txt b/recipes/leveldb/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/leveldb/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/leveldb/all/test_v1_package/conanfile.py b/recipes/leveldb/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/leveldb/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lexbor/all/conandata.yml b/recipes/lexbor/all/conandata.yml index ea023ab0ff4cf..35cc55439d666 100644 --- a/recipes/lexbor/all/conandata.yml +++ b/recipes/lexbor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.0": + url: "https://github.com/lexbor/lexbor/archive/v2.4.0.zip" + sha256: "8cfaf8783f736ce784f5fbdf284a6db8c0943d6589d5a0c10257ba948ae2e7b1" "2.3.0": url: "https://github.com/lexbor/lexbor/archive/v2.3.0.zip" sha256: "5ebdaca76715d737ba5ce5cb782c743caabccdf918854c19c1d5a9a3dd5f19e9" diff --git a/recipes/lexbor/all/test_v1_package/CMakeLists.txt b/recipes/lexbor/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/lexbor/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/lexbor/all/test_v1_package/conanfile.py b/recipes/lexbor/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/lexbor/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lexbor/config.yml b/recipes/lexbor/config.yml index 1da7c205b6ff2..35c4f4ddfb50b 100644 --- a/recipes/lexbor/config.yml +++ b/recipes/lexbor/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.0": + folder: "all" "2.3.0": folder: "all" "2.2.0": diff --git a/recipes/libaec/all/test_v1_package/CMakeLists.txt b/recipes/libaec/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 454ad5fbc6eba..0000000000000 --- a/recipes/libaec/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1.3) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(libaec CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} libaec::libaec) diff --git a/recipes/libaec/all/test_v1_package/conanfile.py b/recipes/libaec/all/test_v1_package/conanfile.py deleted file mode 100644 index b07f7e5f677ac..0000000000000 --- a/recipes/libaec/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - if tools.Version(self.deps_cpp_info["libaec"].version) >= "1.0.6": - cmake.definitions["CMAKE_C_STANDARD"] = "11" - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libaio/all/test_v1_package/CMakeLists.txt b/recipes/libaio/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libaio/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libaio/all/test_v1_package/conanfile.py b/recipes/libaio/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/libaio/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libalsa/all/conandata.yml b/recipes/libalsa/all/conandata.yml index 3c307f42aa636..aa2c61fa39407 100644 --- a/recipes/libalsa/all/conandata.yml +++ b/recipes/libalsa/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.13": + url: "https://github.com/alsa-project/alsa-lib/archive/v1.2.13.tar.gz" + sha256: "e296a2e8fa165855e2c8f263ff6bc0b0ea21a3bece4404135f3a181d1a03e63a" "1.2.12": url: "https://github.com/alsa-project/alsa-lib/archive/v1.2.12.tar.gz" sha256: "f067dbba9376e5bbbb417b77751d2a9f2f277c54fb3a2b5c023cc2c7dfb4e3c1" diff --git a/recipes/libalsa/all/test_v1_package/CMakeLists.txt b/recipes/libalsa/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libalsa/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libalsa/all/test_v1_package/conanfile.py b/recipes/libalsa/all/test_v1_package/conanfile.py deleted file mode 100644 index 19e6a0c06e3d8..0000000000000 --- a/recipes/libalsa/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libalsa/config.yml b/recipes/libalsa/config.yml index a734abbf480ed..11dc7bc660309 100644 --- a/recipes/libalsa/config.yml +++ b/recipes/libalsa/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.13": + folder: all "1.2.12": folder: all "1.2.10": diff --git a/recipes/libaom-av1/all/test_v1_package/CMakeLists.txt b/recipes/libaom-av1/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libaom-av1/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libaom-av1/all/test_v1_package/conanfile.py b/recipes/libaom-av1/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libaom-av1/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libarchive/all/conandata.yml b/recipes/libarchive/all/conandata.yml index 452c9bd049c22..67adbd7936a29 100644 --- a/recipes/libarchive/all/conandata.yml +++ b/recipes/libarchive/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.6": + url: "https://github.com/libarchive/libarchive/releases/download/v3.7.6/libarchive-3.7.6.tar.xz" + sha256: "0a2efdcb185da2eb1e7cd8421434cb9a6119f72417a13335cca378d476fd3ba0" "3.7.4": url: "https://github.com/libarchive/libarchive/releases/download/v3.7.4/libarchive-3.7.4.tar.xz" sha256: "f887755c434a736a609cbd28d87ddbfbe9d6a3bb5b703c22c02f6af80a802735" @@ -8,14 +11,18 @@ sources: "3.7.2": url: "https://github.com/libarchive/libarchive/releases/download/v3.7.2/libarchive-3.7.2.tar.xz" sha256: "04357661e6717b6941682cde02ad741ae4819c67a260593dfb2431861b251acb" - "3.7.1": - url: "https://github.com/libarchive/libarchive/releases/download/v3.7.1/libarchive-3.7.1.tar.xz" - sha256: "b17403ce670ff18d8e06fea05a9ea9accf70678c88f1b9392a2e29b51127895f" patches: + "3.7.6": + - patch_file: "patches/0003-3.7.6-cmake.patch" + patch_description: "Make CMake build-system compatible with Conan" + patch_type: "conan" + - patch_file: "patches/0005-3.7.6-try-compile-cmakedeps.patch" + patch_description: "Patch try_compile check to work with imported CMake targets from Conan packages" + patch_type: "conan" + - patch_file: "patches/0006-3.7.6-fix-msvc-build.patch" + patch_description: "Fix MSVC build" + patch_type: "conan" "3.7.4": - - patch_file: "patches/0001-3.7.4-zlib-winapi.patch" - patch_description: "Remove broken ZLIB WINAPI check" - patch_type: "portability" - patch_file: "patches/0003-3.7.4-cmake.patch" patch_description: "Make CMake build-system compatible with Conan" patch_type: "conan" @@ -26,9 +33,6 @@ patches: patch_description: "Fix MSVC build" patch_type: "conan" "3.7.3": - - patch_file: "patches/0001-3.7.3-zlib-winapi.patch" - patch_description: "Remove broken ZLIB WINAPI check" - patch_type: "portability" - patch_file: "patches/0003-3.7.3-cmake.patch" patch_description: "Make CMake build-system compatible with Conan" patch_type: "conan" @@ -39,32 +43,12 @@ patches: patch_description: "Fix MSVC build" patch_type: "conan" "3.7.2": - - patch_file: "patches/0001-3.7.2-zlib-winapi.patch" - patch_description: "Remove broken ZLIB WINAPI check" - patch_type: "portability" - - patch_file: "patches/0003-3.7.1-cmake.patch" - patch_description: "Make CMake build-system compatible with Conan" - patch_type: "conan" - - patch_file: "patches/0005-3.7.1-try-compile-cmakedeps.patch" - patch_description: "Patch try_compile check to work with imported CMake targets from Conan packages" - patch_type: "conan" - - patch_file: "patches/0006-3.7.1-fix-msvc-build.patch" - patch_description: "Fix MSVC build" - patch_type: "conan" - "3.7.1": - - patch_file: "patches/0007-3.7.1-include-getopt.patch" - patch_description: "include getopt.h if HAVE_GETOPT_OPTRESET is defined" - patch_type: "portability" - patch_source: "https://github.com/libarchive/libarchive/pull/2007" - - patch_file: "patches/0001-3.7.1-zlib-winapi.patch" - patch_description: "Remove broken ZLIB WINAPI check" - patch_type: "portability" - - patch_file: "patches/0003-3.7.1-cmake.patch" + - patch_file: "patches/0003-3.7.2-cmake.patch" patch_description: "Make CMake build-system compatible with Conan" patch_type: "conan" - - patch_file: "patches/0005-3.7.1-try-compile-cmakedeps.patch" + - patch_file: "patches/0005-3.7.2-try-compile-cmakedeps.patch" patch_description: "Patch try_compile check to work with imported CMake targets from Conan packages" patch_type: "conan" - - patch_file: "patches/0006-3.7.1-fix-msvc-build.patch" + - patch_file: "patches/0006-3.7.2-fix-msvc-build.patch" patch_description: "Fix MSVC build" patch_type: "conan" diff --git a/recipes/libarchive/all/conanfile.py b/recipes/libarchive/all/conanfile.py index ee0e26469819f..ba7095f6abb17 100644 --- a/recipes/libarchive/all/conanfile.py +++ b/recipes/libarchive/all/conanfile.py @@ -12,10 +12,10 @@ class LibarchiveConan(ConanFile): name = "libarchive" description = "Multi-format archive and compression library" - topics = "archive", "compression", "tar", "data-compressor", "file-compression" + license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://libarchive.org" - license = "BSD-2-Clause" + topics = ("archive", "compression", "tar", "data-compressor", "file-compression") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/libarchive/all/patches/0001-3.7.1-zlib-winapi.patch b/recipes/libarchive/all/patches/0001-3.7.1-zlib-winapi.patch deleted file mode 100644 index beb5f743fa31f..0000000000000 --- a/recipes/libarchive/all/patches/0001-3.7.1-zlib-winapi.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6849ce40..57cf7f8f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -444,14 +444,14 @@ IF(ZLIB_FOUND) - INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) - LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) - IF(WIN32 AND NOT CYGWIN) -- # -- # Test if ZLIB_WINAPI macro is needed to use. -- # -- TRY_MACRO_FOR_LIBRARY( -- "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" -- RUNS -- "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" -- ZLIB_WINAPI) -+ -+ -+ -+ -+ -+ -+ -+ SET(ZLIB_WINAPI yes) - IF(ZLIB_WINAPI) - ADD_DEFINITIONS(-DZLIB_WINAPI) - ELSE(ZLIB_WINAPI) diff --git a/recipes/libarchive/all/patches/0001-3.7.2-zlib-winapi.patch b/recipes/libarchive/all/patches/0001-3.7.2-zlib-winapi.patch deleted file mode 100644 index 9c5a48b11c9e1..0000000000000 --- a/recipes/libarchive/all/patches/0001-3.7.2-zlib-winapi.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ff1b025..53ecd0e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -13,7 +13,6 @@ SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") - if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${libarchive_BINARY_DIR}/bin) - endif() --# - # Set the Build type for make based generators. - # You can choose following types: - # Debug : Debug build -@@ -445,14 +444,14 @@ IF(ZLIB_FOUND) - INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) - LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) - IF(WIN32 AND NOT CYGWIN) -- # -- # Test if ZLIB_WINAPI macro is needed to use. -- # -- TRY_MACRO_FOR_LIBRARY( -- "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" -- RUNS -- "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" -- ZLIB_WINAPI) -+ -+ -+ -+ -+ -+ -+ -+ SET(ZLIB_WINAPI yes) - IF(ZLIB_WINAPI) - ADD_DEFINITIONS(-DZLIB_WINAPI) - ELSE(ZLIB_WINAPI) diff --git a/recipes/libarchive/all/patches/0001-3.7.3-zlib-winapi.patch b/recipes/libarchive/all/patches/0001-3.7.3-zlib-winapi.patch deleted file mode 100644 index ca141ca403e55..0000000000000 --- a/recipes/libarchive/all/patches/0001-3.7.3-zlib-winapi.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c0fbd70..44ca23d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -454,12 +454,12 @@ IF(ZLIB_FOUND) - # - # Test if ZLIB_WINAPI macro is needed to use. - # -- TRY_MACRO_FOR_LIBRARY( -- "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" -- RUNS -- "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" -- ZLIB_WINAPI) -- IF(ZLIB_WINAPI) -+ # TRY_MACRO_FOR_LIBRARY( -+ # "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" -+ # RUNS -+ # "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" -+ # ZLIB_WINAPI) -+ IF(TRUE) - ADD_DEFINITIONS(-DZLIB_WINAPI) - ELSE(ZLIB_WINAPI) - # Test if a macro is needed for the library. diff --git a/recipes/libarchive/all/patches/0001-3.7.4-zlib-winapi.patch b/recipes/libarchive/all/patches/0001-3.7.4-zlib-winapi.patch deleted file mode 100644 index 11d72518d4c9d..0000000000000 --- a/recipes/libarchive/all/patches/0001-3.7.4-zlib-winapi.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ec97e4c..7e87e07 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -456,12 +456,12 @@ IF(ZLIB_FOUND) - # - # Test if ZLIB_WINAPI macro is needed to use. - # -- TRY_MACRO_FOR_LIBRARY( -- "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" -- RUNS -- "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" -- ZLIB_WINAPI) -- IF(ZLIB_WINAPI) -+ # TRY_MACRO_FOR_LIBRARY( -+ # "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" -+ # RUNS -+ # "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" -+ # ZLIB_WINAPI) -+ IF(TRUE) - ADD_DEFINITIONS(-DZLIB_WINAPI) - ELSE(ZLIB_WINAPI) - # Test if a macro is needed for the library. diff --git a/recipes/libarchive/all/patches/0003-3.7.1-cmake.patch b/recipes/libarchive/all/patches/0003-3.7.1-cmake.patch deleted file mode 100644 index 67a75a07b08b2..0000000000000 --- a/recipes/libarchive/all/patches/0003-3.7.1-cmake.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6849ce40..8d5b6018 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -9,7 +9,7 @@ endif() - # - PROJECT(libarchive C) - # --SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") -+LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") - if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${libarchive_BINARY_DIR}/bin) - endif() -@@ -442,7 +442,7 @@ IF(ZLIB_FOUND) - SET(HAVE_LIBZ 1) - SET(HAVE_ZLIB_H 1) - INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) -- LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) -+ LIST(APPEND ADDITIONAL_LIBS ZLIB::ZLIB) - IF(WIN32 AND NOT CYGWIN) - - -@@ -511,7 +511,7 @@ IF(LIBLZMA_FOUND) - SET(HAVE_LIBLZMA 1) - SET(HAVE_LZMA_H 1) - CMAKE_PUSH_CHECK_STATE() -- SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR}) -+ SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIRS}) - SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES}) - INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS}) - LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES}) -@@ -532,7 +532,7 @@ ELSE(LIBLZMA_FOUND) - # LZMA not found and will not be used. - SET(HAVE_LZMA_STREAM_ENCODER_MT 0) - ENDIF(LIBLZMA_FOUND) --MARK_AS_ADVANCED(CLEAR LIBLZMA_INCLUDE_DIR) -+MARK_AS_ADVANCED(CLEAR LIBLZMA_INCLUDE_DIRS) - MARK_AS_ADVANCED(CLEAR LIBLZMA_LIBRARY) - - # -@@ -603,7 +603,7 @@ IF(ENABLE_LZ4) - ENDIF (LZ4_INCLUDE_DIR) - - FIND_PATH(LZ4_INCLUDE_DIR lz4.h) -- FIND_LIBRARY(LZ4_LIBRARY NAMES lz4 liblz4) -+ FIND_LIBRARY(LZ4_LIBRARY NAMES lz4 liblz4 lz4_static liblz4_static) - INCLUDE(FindPackageHandleStandardArgs) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZ4 DEFAULT_MSG LZ4_LIBRARY LZ4_INCLUDE_DIR) - ELSE(ENABLE_LZ4) -@@ -827,7 +827,7 @@ ENDIF(ENABLE_NETTLE) - # Find OpenSSL - # (Except on Mac, where OpenSSL is deprecated.) - # --IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") -+IF(ENABLE_OPENSSL) - FIND_PACKAGE(OpenSSL) - IF(OPENSSL_FOUND) - SET(HAVE_LIBCRYPTO 1) -diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt -index f7fdfb68..9d2915ac 100644 ---- a/libarchive/CMakeLists.txt -+++ b/libarchive/CMakeLists.txt -@@ -251,6 +251,7 @@ IF(BUILD_SHARED_LIBS) - ENDIF(BUILD_SHARED_LIBS) - - # archive_static is a static library -+if(NOT BUILD_SHARED_LIBS) - ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS}) - TARGET_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS}) - SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS -@@ -259,6 +260,7 @@ SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS - IF(NOT WIN32 OR CYGWIN OR NOT BUILD_SHARED_LIBS) - SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive) - ENDIF(NOT WIN32 OR CYGWIN OR NOT BUILD_SHARED_LIBS) -+endif() - - IF(ENABLE_INSTALL) - # How to install the libraries -@@ -268,10 +270,12 @@ IF(ENABLE_INSTALL) - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) - ENDIF(BUILD_SHARED_LIBS) -+ if(NOT BUILD_SHARED_LIBS) - INSTALL(TARGETS archive_static - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) -+ endif() - INSTALL_MAN(${libarchive_MANS}) - INSTALL(FILES ${include_HEADERS} DESTINATION include) - ENDIF() diff --git a/recipes/libarchive/all/patches/0003-3.7.2-cmake.patch b/recipes/libarchive/all/patches/0003-3.7.2-cmake.patch new file mode 100644 index 0000000000000..ffd8ff242c656 --- /dev/null +++ b/recipes/libarchive/all/patches/0003-3.7.2-cmake.patch @@ -0,0 +1,83 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6849ce40..8d5b6018 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,7 +9,7 @@ endif() + # + PROJECT(libarchive C) + # +-SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") ++LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") + if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${libarchive_BINARY_DIR}/bin) + endif() + +@@ -511,7 +511,7 @@ IF(LIBLZMA_FOUND) + SET(HAVE_LIBLZMA 1) + SET(HAVE_LZMA_H 1) + CMAKE_PUSH_CHECK_STATE() +- SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR}) ++ SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIRS}) + SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES}) + INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS}) + LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES}) +@@ -532,7 +532,7 @@ ELSE(LIBLZMA_FOUND) + # LZMA not found and will not be used. + SET(HAVE_LZMA_STREAM_ENCODER_MT 0) + ENDIF(LIBLZMA_FOUND) +-MARK_AS_ADVANCED(CLEAR LIBLZMA_INCLUDE_DIR) ++MARK_AS_ADVANCED(CLEAR LIBLZMA_INCLUDE_DIRS) + MARK_AS_ADVANCED(CLEAR LIBLZMA_LIBRARY) + + # +@@ -603,7 +603,7 @@ IF(ENABLE_LZ4) + ENDIF (LZ4_INCLUDE_DIR) + + FIND_PATH(LZ4_INCLUDE_DIR lz4.h) +- FIND_LIBRARY(LZ4_LIBRARY NAMES lz4 liblz4) ++ FIND_LIBRARY(LZ4_LIBRARY NAMES lz4 liblz4 lz4_static liblz4_static) + INCLUDE(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZ4 DEFAULT_MSG LZ4_LIBRARY LZ4_INCLUDE_DIR) + ELSE(ENABLE_LZ4) +@@ -827,7 +827,7 @@ ENDIF(ENABLE_NETTLE) + # Find OpenSSL + # (Except on Mac, where OpenSSL is deprecated.) + # +-IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") ++IF(ENABLE_OPENSSL) + FIND_PACKAGE(OpenSSL) + IF(OPENSSL_FOUND) + SET(HAVE_LIBCRYPTO 1) +diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt +index f7fdfb68..9d2915ac 100644 +--- a/libarchive/CMakeLists.txt ++++ b/libarchive/CMakeLists.txt +@@ -251,6 +251,7 @@ IF(BUILD_SHARED_LIBS) + ENDIF(BUILD_SHARED_LIBS) + + # archive_static is a static library ++if(NOT BUILD_SHARED_LIBS) + ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS}) + TARGET_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS}) + SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS +@@ -259,6 +260,7 @@ SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS + IF(NOT WIN32 OR CYGWIN OR NOT BUILD_SHARED_LIBS) + SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive) + ENDIF(NOT WIN32 OR CYGWIN OR NOT BUILD_SHARED_LIBS) ++endif() + + IF(ENABLE_INSTALL) + # How to install the libraries +@@ -268,10 +270,12 @@ IF(ENABLE_INSTALL) + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + ENDIF(BUILD_SHARED_LIBS) ++ if(NOT BUILD_SHARED_LIBS) + INSTALL(TARGETS archive_static + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) ++ endif() + INSTALL_MAN(${libarchive_MANS}) + INSTALL(FILES ${include_HEADERS} DESTINATION include) + ENDIF() diff --git a/recipes/libarchive/all/patches/0003-3.7.6-cmake.patch b/recipes/libarchive/all/patches/0003-3.7.6-cmake.patch new file mode 100644 index 0000000000000..98e97aac6cf07 --- /dev/null +++ b/recipes/libarchive/all/patches/0003-3.7.6-cmake.patch @@ -0,0 +1,84 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 582258c..b59a7e2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,7 +16,7 @@ endif() + # + PROJECT(libarchive C) + # +-SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") ++LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") + if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${libarchive_BINARY_DIR}/bin) + endif() +@@ -469,7 +469,7 @@ ENDIF() + IF(ZLIB_FOUND) + SET(HAVE_LIBZ 1) + SET(HAVE_ZLIB_H 1) + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) +- LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) ++ LIST(APPEND ADDITIONAL_LIBS ZLIB::ZLIB) + IF(WIN32 AND NOT CYGWIN) + # +@@ -560,7 +560,7 @@ ELSE(LIBLZMA_FOUND) + # LZMA not found and will not be used. + SET(HAVE_LZMA_STREAM_ENCODER_MT 0) + ENDIF(LIBLZMA_FOUND) +-MARK_AS_ADVANCED(CLEAR LIBLZMA_INCLUDE_DIR) ++MARK_AS_ADVANCED(CLEAR LIBLZMA_INCLUDE_DIRS) + MARK_AS_ADVANCED(CLEAR LIBLZMA_LIBRARY) + + # +@@ -631,7 +631,7 @@ IF(ENABLE_LZ4) + ENDIF (LZ4_INCLUDE_DIR) + + FIND_PATH(LZ4_INCLUDE_DIR lz4.h) +- FIND_LIBRARY(LZ4_LIBRARY NAMES lz4 liblz4) ++ FIND_LIBRARY(LZ4_LIBRARY NAMES lz4 liblz4 lz4_static liblz4_static) + INCLUDE(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZ4 DEFAULT_MSG LZ4_LIBRARY LZ4_INCLUDE_DIR) + ELSE(ENABLE_LZ4) +@@ -854,7 +854,7 @@ ENDIF(ENABLE_NETTLE) + # Find OpenSSL + # (Except on Mac, where OpenSSL is deprecated.) + # +-IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") ++IF(ENABLE_OPENSSL) + FIND_PACKAGE(OpenSSL) + IF(OPENSSL_FOUND) + SET(HAVE_LIBCRYPTO 1) +diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt +index dd0b280..2a31de6 100644 +--- a/libarchive/CMakeLists.txt ++++ b/libarchive/CMakeLists.txt +@@ -255,6 +255,7 @@ IF(BUILD_SHARED_LIBS) + ENDIF(BUILD_SHARED_LIBS) + + # archive_static is a static library ++IF(NOT BUILD_SHARED_LIBS) + ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS}) + TARGET_INCLUDE_DIRECTORIES(archive_static PUBLIC .) + TARGET_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS}) +@@ -264,7 +265,7 @@ SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS + IF(NOT WIN32 OR CYGWIN OR NOT BUILD_SHARED_LIBS) + SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive) + ENDIF(NOT WIN32 OR CYGWIN OR NOT BUILD_SHARED_LIBS) +- ++ENDIF() + IF(ENABLE_INSTALL) + # How to install the libraries + IF(BUILD_SHARED_LIBS) +@@ -272,11 +273,12 @@ IF(ENABLE_INSTALL) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- ENDIF(BUILD_SHARED_LIBS) ++ ELSE() + INSTALL(TARGETS archive_static + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) ++ ENDIF() + INSTALL_MAN(${libarchive_MANS}) + INSTALL(FILES ${include_HEADERS} DESTINATION include) + ENDIF() diff --git a/recipes/libarchive/all/patches/0005-3.7.1-try-compile-cmakedeps.patch b/recipes/libarchive/all/patches/0005-3.7.1-try-compile-cmakedeps.patch deleted file mode 100644 index c71291d02944a..0000000000000 --- a/recipes/libarchive/all/patches/0005-3.7.1-try-compile-cmakedeps.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6849ce40..e7c9fbee 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -854,14 +854,14 @@ IF(NOT OPENSSL_FOUND) - ENDIF(LIBMD_FOUND) - ENDIF(NOT OPENSSL_FOUND) - --# - # How to prove that CRYPTO functions, which have several names on various - # platforms, just see if archive_digest.c can compile and link against - # required libraries. --# - MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) -+ include(CMakePushCheckState) - FOREACH(ALGORITHM ${ALGORITHMS}) - IF(NOT ARCHIVE_CRYPTO_${ALGORITHM}) -+ cmake_push_check_state() - STRING(TOLOWER "${ALGORITHM}" lower_algorithm) - STRING(TOUPPER "${ALGORITHM}" algorithm) - IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND NOT OPENSSL_FOUND) -@@ -881,8 +881,8 @@ MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) - IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) - SET(TRY_CRYPTO_REQUIRED_INCLUDES - "${TRY_CRYPTO_REQUIRED_INCLUDES};${OPENSSL_INCLUDE_DIR}") -- SET(TRY_CRYPTO_REQUIRED_LIBS -- "-DLINK_LIBRARIES:STRING=${OPENSSL_LIBRARIES}") -+ SET(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) -+ - ELSEIF("${IMPLEMENTATION}" MATCHES "^MBEDTLS$" AND MBEDTLS_FOUND) - SET(TRY_CRYPTO_REQUIRED_INCLUDES - "${TRY_CRYPTO_REQUIRED_INCLUDES};${MBEDTLS_INCLUDE_DIRS}") diff --git a/recipes/libarchive/all/patches/0005-3.7.2-try-compile-cmakedeps.patch b/recipes/libarchive/all/patches/0005-3.7.2-try-compile-cmakedeps.patch new file mode 100644 index 0000000000000..53603bc1f64f9 --- /dev/null +++ b/recipes/libarchive/all/patches/0005-3.7.2-try-compile-cmakedeps.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6849ce40..e7c9fbee 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -855,14 +855,14 @@ IF(NOT OPENSSL_FOUND) + ENDIF(LIBMD_FOUND) + ENDIF(NOT OPENSSL_FOUND) + +-# + # How to prove that CRYPTO functions, which have several names on various + # platforms, just see if archive_digest.c can compile and link against + # required libraries. +-# + MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) ++ include(CMakePushCheckState) + FOREACH(ALGORITHM ${ALGORITHMS}) + IF(NOT ARCHIVE_CRYPTO_${ALGORITHM}) ++ cmake_push_check_state() + STRING(TOLOWER "${ALGORITHM}" lower_algorithm) + STRING(TOUPPER "${ALGORITHM}" algorithm) + IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND NOT OPENSSL_FOUND) +@@ -882,8 +882,8 @@ MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) + IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) + SET(TRY_CRYPTO_REQUIRED_INCLUDES + "${TRY_CRYPTO_REQUIRED_INCLUDES};${OPENSSL_INCLUDE_DIR}") +- SET(TRY_CRYPTO_REQUIRED_LIBS +- "-DLINK_LIBRARIES:STRING=${OPENSSL_LIBRARIES}") ++ SET(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) ++ + ELSEIF("${IMPLEMENTATION}" MATCHES "^MBEDTLS$" AND MBEDTLS_FOUND) + SET(TRY_CRYPTO_REQUIRED_INCLUDES + "${TRY_CRYPTO_REQUIRED_INCLUDES};${MBEDTLS_INCLUDE_DIRS}") diff --git a/recipes/libarchive/all/patches/0005-3.7.6-try-compile-cmakedeps.patch b/recipes/libarchive/all/patches/0005-3.7.6-try-compile-cmakedeps.patch new file mode 100644 index 0000000000000..7485f8082d921 --- /dev/null +++ b/recipes/libarchive/all/patches/0005-3.7.6-try-compile-cmakedeps.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b59a7e2..dfa6af0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -887,8 +887,10 @@ ENDIF(NOT OPENSSL_FOUND) + # required libraries. + # + MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) ++ include(CMakePushCheckState) + FOREACH(ALGORITHM ${ALGORITHMS}) + IF(NOT ARCHIVE_CRYPTO_${ALGORITHM}) ++ cmake_push_check_state() + STRING(TOLOWER "${ALGORITHM}" lower_algorithm) + STRING(TOUPPER "${ALGORITHM}" algorithm) + IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND NOT OPENSSL_FOUND) +@@ -921,8 +923,7 @@ MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION) + SET(TRY_CRYPTO_REQUIRED_LIBS + "-DLINK_LIBRARIES:STRING=${NETTLE_LIBRARY}") + ELSEIF("${IMPLEMENTATION}" MATCHES "^LIBMD$" AND LIBMD_FOUND) +- SET(TRY_CRYPTO_REQUIRED_LIBS +- "-DLINK_LIBRARIES:STRING=${LIBMD_LIBRARY}") ++ SET(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) + ENDIF("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) + + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/build/cmake/config.h.in diff --git a/recipes/libarchive/all/patches/0006-3.7.1-fix-msvc-build.patch b/recipes/libarchive/all/patches/0006-3.7.1-fix-msvc-build.patch deleted file mode 100644 index 04ec53a2e20ba..0000000000000 --- a/recipes/libarchive/all/patches/0006-3.7.1-fix-msvc-build.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6849ce40..d5dac48b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1401,7 +1401,7 @@ CHECK_FUNCTION_EXISTS_GLIBC(localtime_r HAVE_LOCALTIME_R) - CHECK_FUNCTION_EXISTS_GLIBC(lstat HAVE_LSTAT) - CHECK_FUNCTION_EXISTS_GLIBC(lutimes HAVE_LUTIMES) - CHECK_FUNCTION_EXISTS_GLIBC(mbrtowc HAVE_MBRTOWC) --CHECK_FUNCTION_EXISTS_GLIBC(memmove HAVE_MEMMOVE) -+SET(HAVE_MEMMOVE 1) - CHECK_FUNCTION_EXISTS_GLIBC(mkdir HAVE_MKDIR) - CHECK_FUNCTION_EXISTS_GLIBC(mkfifo HAVE_MKFIFO) - CHECK_FUNCTION_EXISTS_GLIBC(mknod HAVE_MKNOD) -@@ -1434,11 +1434,11 @@ CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME) - CHECK_FUNCTION_EXISTS_GLIBC(utimes HAVE_UTIMES) - CHECK_FUNCTION_EXISTS_GLIBC(utimensat HAVE_UTIMENSAT) - CHECK_FUNCTION_EXISTS_GLIBC(vfork HAVE_VFORK) --CHECK_FUNCTION_EXISTS_GLIBC(wcrtomb HAVE_WCRTOMB) --CHECK_FUNCTION_EXISTS_GLIBC(wcscmp HAVE_WCSCMP) --CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY) --CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN) --CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB) -+SET(HAVE_WCRTOMB 1) -+SET(HAVE_WCSCMP 1) -+SET(HAVE_WCSCPY 1) -+SET(HAVE_WCSLEN 1) -+SET(HAVE_WCTOMB 1) - CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) - CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) - CHECK_SYMBOL_EXISTS(ctime_s "time.h" HAVE_CTIME_S) -@@ -1451,10 +1451,10 @@ CHECK_FUNCTION_EXISTS(cygwin_conv_path HAVE_CYGWIN_CONV_PATH) - CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO) - CHECK_FUNCTION_EXISTS(strerror_r HAVE_STRERROR_R) - CHECK_FUNCTION_EXISTS(strftime HAVE_STRFTIME) --CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF) --CHECK_FUNCTION_EXISTS(wmemcmp HAVE_WMEMCMP) --CHECK_FUNCTION_EXISTS(wmemcpy HAVE_WMEMCPY) --CHECK_FUNCTION_EXISTS(wmemmove HAVE_WMEMMOVE) -+SET(HAVE_VPRINTF 1) -+SET(HAVE_WMEMCMP 1) -+SET(HAVE_WMEMCPY 1) -+SET(HAVE_WMEMMOVE 1) - - CMAKE_POP_CHECK_STATE() # Restore the state of the variables - diff --git a/recipes/libarchive/all/patches/0006-3.7.2-fix-msvc-build.patch b/recipes/libarchive/all/patches/0006-3.7.2-fix-msvc-build.patch new file mode 100644 index 0000000000000..4a669d0956310 --- /dev/null +++ b/recipes/libarchive/all/patches/0006-3.7.2-fix-msvc-build.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6849ce40..d5dac48b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1402,7 +1402,7 @@ CHECK_FUNCTION_EXISTS_GLIBC(localtime_r HAVE_LOCALTIME_R) + CHECK_FUNCTION_EXISTS_GLIBC(lstat HAVE_LSTAT) + CHECK_FUNCTION_EXISTS_GLIBC(lutimes HAVE_LUTIMES) + CHECK_FUNCTION_EXISTS_GLIBC(mbrtowc HAVE_MBRTOWC) +-CHECK_FUNCTION_EXISTS_GLIBC(memmove HAVE_MEMMOVE) ++SET(HAVE_MEMMOVE 1) + CHECK_FUNCTION_EXISTS_GLIBC(mkdir HAVE_MKDIR) + CHECK_FUNCTION_EXISTS_GLIBC(mkfifo HAVE_MKFIFO) + CHECK_FUNCTION_EXISTS_GLIBC(mknod HAVE_MKNOD) +@@ -1435,11 +1435,11 @@ CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME) + CHECK_FUNCTION_EXISTS_GLIBC(utimes HAVE_UTIMES) + CHECK_FUNCTION_EXISTS_GLIBC(utimensat HAVE_UTIMENSAT) + CHECK_FUNCTION_EXISTS_GLIBC(vfork HAVE_VFORK) +-CHECK_FUNCTION_EXISTS_GLIBC(wcrtomb HAVE_WCRTOMB) +-CHECK_FUNCTION_EXISTS_GLIBC(wcscmp HAVE_WCSCMP) +-CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY) +-CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN) +-CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB) ++SET(HAVE_WCRTOMB 1) ++SET(HAVE_WCSCMP 1) ++SET(HAVE_WCSCPY 1) ++SET(HAVE_WCSLEN 1) ++SET(HAVE_WCTOMB 1) + CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) + CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) + CHECK_SYMBOL_EXISTS(ctime_s "time.h" HAVE_CTIME_S) +@@ -1452,10 +1452,10 @@ CHECK_FUNCTION_EXISTS(cygwin_conv_path HAVE_CYGWIN_CONV_PATH) + CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO) + CHECK_FUNCTION_EXISTS(strerror_r HAVE_STRERROR_R) + CHECK_FUNCTION_EXISTS(strftime HAVE_STRFTIME) +-CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF) +-CHECK_FUNCTION_EXISTS(wmemcmp HAVE_WMEMCMP) +-CHECK_FUNCTION_EXISTS(wmemcpy HAVE_WMEMCPY) +-CHECK_FUNCTION_EXISTS(wmemmove HAVE_WMEMMOVE) ++SET(HAVE_VPRINTF 1) ++SET(HAVE_WMEMCMP 1) ++SET(HAVE_WMEMCPY 1) ++SET(HAVE_WMEMMOVE 1) + + CMAKE_POP_CHECK_STATE() # Restore the state of the variables + diff --git a/recipes/libarchive/all/patches/0006-3.7.6-fix-msvc-build.patch b/recipes/libarchive/all/patches/0006-3.7.6-fix-msvc-build.patch new file mode 100644 index 0000000000000..9652721d7fe5e --- /dev/null +++ b/recipes/libarchive/all/patches/0006-3.7.6-fix-msvc-build.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dfa6af0..b2cac97 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1491,7 +1491,7 @@ CHECK_FUNCTION_EXISTS_GLIBC(localtime_r HAVE_LOCALTIME_R) + CHECK_FUNCTION_EXISTS_GLIBC(lstat HAVE_LSTAT) + CHECK_FUNCTION_EXISTS_GLIBC(lutimes HAVE_LUTIMES) + CHECK_FUNCTION_EXISTS_GLIBC(mbrtowc HAVE_MBRTOWC) +-CHECK_FUNCTION_EXISTS_GLIBC(memmove HAVE_MEMMOVE) ++SET(HAVE_MEMMOVE 1) + CHECK_FUNCTION_EXISTS_GLIBC(mkdir HAVE_MKDIR) + CHECK_FUNCTION_EXISTS_GLIBC(mkfifo HAVE_MKFIFO) + CHECK_FUNCTION_EXISTS_GLIBC(mknod HAVE_MKNOD) +@@ -1525,11 +1525,11 @@ CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME) + CHECK_FUNCTION_EXISTS_GLIBC(utimes HAVE_UTIMES) + CHECK_FUNCTION_EXISTS_GLIBC(utimensat HAVE_UTIMENSAT) + CHECK_FUNCTION_EXISTS_GLIBC(vfork HAVE_VFORK) +-CHECK_FUNCTION_EXISTS_GLIBC(wcrtomb HAVE_WCRTOMB) +-CHECK_FUNCTION_EXISTS_GLIBC(wcscmp HAVE_WCSCMP) +-CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY) +-CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN) +-CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB) ++SET(HAVE_WCRTOMB 1) ++SET(HAVE_WCSCMP 1) ++SET(HAVE_WCSCPY 1) ++SET(HAVE_WCSLEN 1) ++SET(HAVE_WCTOMB 1) + CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) + CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) + CHECK_SYMBOL_EXISTS(ctime_s "time.h" HAVE_CTIME_S) +@@ -1542,10 +1542,10 @@ CHECK_FUNCTION_EXISTS(cygwin_conv_path HAVE_CYGWIN_CONV_PATH) + CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO) + CHECK_FUNCTION_EXISTS(strerror_r HAVE_STRERROR_R) + CHECK_FUNCTION_EXISTS(strftime HAVE_STRFTIME) +-CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF) +-CHECK_FUNCTION_EXISTS(wmemcmp HAVE_WMEMCMP) +-CHECK_FUNCTION_EXISTS(wmemcpy HAVE_WMEMCPY) +-CHECK_FUNCTION_EXISTS(wmemmove HAVE_WMEMMOVE) ++SET(HAVE_VPRINTF 1) ++SET(HAVE_WMEMCMP 1) ++SET(HAVE_WMEMCPY 1) ++SET(HAVE_WMEMMOVE 1) + + CMAKE_POP_CHECK_STATE() # Restore the state of the variables + diff --git a/recipes/libarchive/all/patches/0007-3.7.1-include-getopt.patch b/recipes/libarchive/all/patches/0007-3.7.1-include-getopt.patch deleted file mode 100644 index 6db790a6cd811..0000000000000 --- a/recipes/libarchive/all/patches/0007-3.7.1-include-getopt.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- unzip/bsdunzip.c 2023-07-29 19:27:43.000000000 +0200 -+++ unzip/bsdunzip.c 2023-10-28 13:19:27.181106700 +0200 -@@ -78,6 +78,10 @@ - #include - #endif - #endif -+#ifdef HAVE_GETOPT_OPTRESET -+#include -+#endif -+ - - #include - #include diff --git a/recipes/libarchive/config.yml b/recipes/libarchive/config.yml index 444f54652ac92..df2cddd584f6d 100644 --- a/recipes/libarchive/config.yml +++ b/recipes/libarchive/config.yml @@ -1,9 +1,9 @@ versions: + "3.7.6": + folder: all "3.7.4": folder: all "3.7.3": folder: all "3.7.2": folder: all - "3.7.1": - folder: all diff --git a/recipes/libassert/config.yml b/recipes/libassert/config.yml index 6dd1f18fc901d..635e69403c99f 100644 --- a/recipes/libassert/config.yml +++ b/recipes/libassert/config.yml @@ -1,5 +1,8 @@ versions: - # Newer versions at the top + "2.1.2": + folder: v2 + "2.1.1": + folder: v2 "2.1.0": folder: v2 "2.0.2": diff --git a/recipes/libassert/v1/test_v1_package/CMakeLists.txt b/recipes/libassert/v1/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libassert/v1/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libassert/v1/test_v1_package/conanfile.py b/recipes/libassert/v1/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/libassert/v1/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libassert/v2/conandata.yml b/recipes/libassert/v2/conandata.yml index d82d9bdfc202f..b97af2f4b26ef 100644 --- a/recipes/libassert/v2/conandata.yml +++ b/recipes/libassert/v2/conandata.yml @@ -1,22 +1,22 @@ sources: - # Newer versions at the top + "2.1.2": + url: "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.1.2.tar.gz" + sha256: "a7220ca354270deca08a7a162b93523c738ba3c8037a4df1a46ababfdc664196" + "2.1.1": + url: "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.1.1.tar.gz" + sha256: "2bdf27523f964f41668d266cfdbd7f5f58988af963d976577195969ed44359d1" "2.1.0": - url: - - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.1.0.tar.gz" + url: "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.1.0.tar.gz" sha256: "e42405b49cde017c44c78aacac35c6e03564532838709031e73d10ab71f5363d" "2.0.2": - url: - - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.2.tar.gz" + url: "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.2.tar.gz" sha256: "4a0b52e6523bdde0116231a67583131ea1a84bb574076fad939fc13fc7490443" "2.0.1": - url: - - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.1.tar.gz" + url: "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.1.tar.gz" sha256: "405a44c14c5e40de5b81b01538ba12ef9d7c1f57e2c29f81b929e7e179847d4c" "2.0.0": - url: - - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.0.tar.gz" + url: "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v2.0.0.tar.gz" sha256: "d4b2da2179a94637b34d18813a814531a1eceb0ddc6dd6db6098050dd638f4a1" - patches: "2.1.0": - patch_file: "patches/2.1.0/0001-msvc-ice.patch" diff --git a/recipes/libassert/v2/conanfile.py b/recipes/libassert/v2/conanfile.py index 090d2f2ae8a10..7026af82c23fe 100644 --- a/recipes/libassert/v2/conanfile.py +++ b/recipes/libassert/v2/conanfile.py @@ -1,8 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.microsoft import check_min_vs, is_msvc_static_runtime, is_msvc -from conan.tools.apple import is_apple_os -from conan.tools.files import get, copy, rm, rmdir +from conan.tools.files import get, copy, rmdir from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout @@ -17,9 +16,8 @@ class LibassertConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jeremy-rifkin/libassert" - package_type = "library" - topics = ("assert", "library", "assertions", "stacktrace", "diagnostics", "defensive programming", "testing") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -53,7 +51,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("cpptrace/0.6.0", transitive_headers=True, transitive_libs=True) + if Version(self.version) >= "2.1.2": + self.requires("cpptrace/0.7.2", transitive_headers=True, transitive_libs=True) + else: + self.requires("cpptrace/0.7.1", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.cppstd: @@ -106,12 +107,7 @@ def package(self): keep_path=False ) - rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - rmdir(self, os.path.join(self.package_folder, "share")) - rm(self, "*.la", os.path.join(self.package_folder, "lib")) - rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) - rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) def package_info(self): self.cpp_info.libs = ["assert"] @@ -135,7 +131,7 @@ def package_info(self): self.cpp_info.components["assert"].libs = ["assert"] if not self.options.shared: self.cpp_info.components["assert"].defines.append("LIBASSERT_STATIC_DEFINE") - + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") self.cpp_info.requires = ["cpptrace::cpptrace"] diff --git a/recipes/libassert/v2/test_package/CMakeLists.txt b/recipes/libassert/v2/test_package/CMakeLists.txt index af9ab923ee8f6..c539de918f22b 100644 --- a/recipes/libassert/v2/test_package/CMakeLists.txt +++ b/recipes/libassert/v2/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.15) - -project(test_package CXX) - +project(test_package LANGUAGES CXX) add_executable(${PROJECT_NAME} test_package.cpp) find_package(libassert REQUIRED CONFIG) target_link_libraries(${PROJECT_NAME} PRIVATE libassert::assert) - target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/libassert/v2/test_v1_package/CMakeLists.txt b/recipes/libassert/v2/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libassert/v2/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libassert/v2/test_v1_package/conanfile.py b/recipes/libassert/v2/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/libassert/v2/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libatomic_ops/all/test_v1_package/CMakeLists.txt b/recipes/libatomic_ops/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index c7f2e8e2e3a34..0000000000000 --- a/recipes/libatomic_ops/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -find_package(Atomic_ops CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE Atomic_ops::atomic_ops Atomic_ops::atomic_ops_gpl) diff --git a/recipes/libatomic_ops/all/test_v1_package/conanfile.py b/recipes/libatomic_ops/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/libatomic_ops/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libattr/all/test_v1_package/CMakeLists.txt b/recipes/libattr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libattr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libattr/all/test_v1_package/conanfile.py b/recipes/libattr/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libattr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libavif/all/test_v1_package/CMakeLists.txt b/recipes/libavif/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libavif/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libavif/all/test_v1_package/conanfile.py b/recipes/libavif/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libavif/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libb2/all/test_v1_package/CMakeLists.txt b/recipes/libb2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libb2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libb2/all/test_v1_package/conanfile.py b/recipes/libb2/all/test_v1_package/conanfile.py deleted file mode 100644 index 24ecc57793dc6..0000000000000 --- a/recipes/libb2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class blake2TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/libbacktrace/all/test_v1_package/CMakeLists.txt b/recipes/libbacktrace/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libbacktrace/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libbacktrace/all/test_v1_package/conanfile.py b/recipes/libbacktrace/all/test_v1_package/conanfile.py deleted file mode 100644 index e0a85886fc12c..0000000000000 --- a/recipes/libbacktrace/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import CMake, ConanFile, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libbigwig/all/conanfile.py b/recipes/libbigwig/all/conanfile.py index 2795e50cf9841..be4c72a8890d2 100644 --- a/recipes/libbigwig/all/conanfile.py +++ b/recipes/libbigwig/all/conanfile.py @@ -47,7 +47,7 @@ def requirements(self): # https://github.com/dpryan79/libBigWig/blob/master/bigWigIO.h#L5 self.requires("libcurl/[>=7.78.0 <9]", transitive_headers=True) if self.options.with_zlibng: - self.requires("zlib-ng/2.1.6") + self.requires("zlib-ng/2.2.0") else: self.requires("zlib/[>=1.2.11 <2]") diff --git a/recipes/libbigwig/all/test_v1_package/CMakeLists.txt b/recipes/libbigwig/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 70375bb9b607e..0000000000000 --- a/recipes/libbigwig/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES C) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -find_package(BigWig REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE BigWig::BigWig) -target_compile_features(${PROJECT_NAME} PRIVATE c_std_11) diff --git a/recipes/libbigwig/all/test_v1_package/conanfile.py b/recipes/libbigwig/all/test_v1_package/conanfile.py deleted file mode 100644 index e8dacc213db5b..0000000000000 --- a/recipes/libbigwig/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -import os - -from conan.tools.build import cross_building -from conans import CMake, ConanFile - - -class TestPackageConan(ConanFile): - settings = "arch", "build_type", "compiler", "os" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libcap/all/test_v1_package/CMakeLists.txt b/recipes/libcap/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libcap/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libcap/all/test_v1_package/conanfile.py b/recipes/libcap/all/test_v1_package/conanfile.py deleted file mode 100644 index a24aa126c9102..0000000000000 --- a/recipes/libcap/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -import os - -from conans import ConanFile, tools -from conans import CMake - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "pkg_config" - - def build_requirements(self): - self.build_requires("pkgconf/2.0.3") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libcbor/all/test_v1_package/CMakeLists.txt b/recipes/libcbor/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libcbor/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libcbor/all/test_v1_package/conanfile.py b/recipes/libcbor/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libcbor/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libccd/all/test_v1_package/CMakeLists.txt b/recipes/libccd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libccd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libccd/all/test_v1_package/conanfile.py b/recipes/libccd/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libccd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libcds/all/test_v1_package/CMakeLists.txt b/recipes/libcds/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libcds/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libcds/all/test_v1_package/conanfile.py b/recipes/libcds/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libcds/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libcoap/all/test_v1_package/CMakeLists.txt b/recipes/libcoap/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libcoap/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libcoap/all/test_v1_package/conanfile.py b/recipes/libcoap/all/test_v1_package/conanfile.py deleted file mode 100644 index 0e1f34afd83e4..0000000000000 --- a/recipes/libcoap/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - version = self.deps_cpp_info["libcoap"].version - lib_version = 2 if version == "cci.20200424" else 3 - cmake.definitions["CMAKE_CXX_FLAGS"] = f"-DLIB_VERSION={lib_version}" - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libconfig/all/test_v1_package/CMakeLists.txt b/recipes/libconfig/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libconfig/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libconfig/all/test_v1_package/conanfile.py b/recipes/libconfig/all/test_v1_package/conanfile.py deleted file mode 100644 index 8ba7c272305b9..0000000000000 --- a/recipes/libconfig/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - bin_path_pp = os.path.join("bin", "test_package++") - self.run(bin_path_pp, run_environment=True) diff --git a/recipes/libconfuse/all/test_v1_package/CMakeLists.txt b/recipes/libconfuse/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libconfuse/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libconfuse/all/test_v1_package/conanfile.py b/recipes/libconfuse/all/test_v1_package/conanfile.py deleted file mode 100644 index 6f8d199faef5a..0000000000000 --- a/recipes/libconfuse/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,23 +0,0 @@ -from conans import ConanFile, CMake, tools -from io import StringIO -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - config_path = os.path.join(self.source_folder, os.pardir, "test_package", "hello.conf") - output = StringIO() - self.run(f"{bin_path} {config_path}", run_environment=True, output=output) - text = output.getvalue() - print(text) - assert "Neighbour" in text diff --git a/recipes/libcoro/all/test_v1_package/CMakeLists.txt b/recipes/libcoro/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libcoro/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libcoro/all/test_v1_package/conanfile.py b/recipes/libcoro/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libcoro/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libcorrect/all/test_v1_package/CMakeLists.txt b/recipes/libcorrect/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 37041d4cb4431..0000000000000 --- a/recipes/libcorrect/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(libcorrect REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE libcorrect::libcorrect) diff --git a/recipes/libcorrect/all/test_v1_package/conanfile.py b/recipes/libcorrect/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libcorrect/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libcpuid/all/test_v1_package/CMakeLists.txt b/recipes/libcpuid/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libcpuid/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libcpuid/all/test_v1_package/conanfile.py b/recipes/libcpuid/all/test_v1_package/conanfile.py deleted file mode 100644 index a2a865893b40b..0000000000000 --- a/recipes/libcpuid/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - - self.run("cpuid_tool --report", run_environment=True) diff --git a/recipes/libcuckoo/all/test_v1_package/CMakeLists.txt b/recipes/libcuckoo/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index a4368c23dc75f..0000000000000 --- a/recipes/libcuckoo/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -set(CMAKE_CXX_STANDARD 11) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(libcuckoo REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE libcuckoo::libcuckoo) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_${CMAKE_CXX_STANDARD}) diff --git a/recipes/libcuckoo/all/test_v1_package/conanfile.py b/recipes/libcuckoo/all/test_v1_package/conanfile.py deleted file mode 100644 index 8a5678ccbf761..0000000000000 --- a/recipes/libcuckoo/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,15 +0,0 @@ -import os - -from conans import CMake, ConanFile, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run("{0}".format(bin_path), run_environment=True) diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml index cee1789ae6825..1874298a4a4e7 100644 --- a/recipes/libcurl/all/conandata.yml +++ b/recipes/libcurl/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "8.10.1": + url: + - "https://curl.se/download/curl-8.10.1.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_10_1/curl-8.10.1.tar.xz" + sha256: "73a4b0e99596a09fa5924a4fb7e4b995a85fda0d18a2c02ab9cf134bebce04ee" "8.10.0": url: - "https://curl.se/download/curl-8.10.0.tar.xz" diff --git a/recipes/libcurl/config.yml b/recipes/libcurl/config.yml index 32555d9791ca0..eb9a8179a3b87 100644 --- a/recipes/libcurl/config.yml +++ b/recipes/libcurl/config.yml @@ -1,4 +1,6 @@ versions: + "8.10.1": + folder: all "8.10.0": folder: all "8.9.1": diff --git a/recipes/libdaemon/all/test_v1_package/CMakeLists.txt b/recipes/libdaemon/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libdaemon/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libdaemon/all/test_v1_package/conanfile.py b/recipes/libdaemon/all/test_v1_package/conanfile.py deleted file mode 100644 index 93fc246e84e20..0000000000000 --- a/recipes/libdaemon/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - self.run(f"{bin_path} -k", run_environment=True) diff --git a/recipes/libdb/all/test_v1_package/CMakeLists.txt b/recipes/libdb/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b9027a80ab6af..0000000000000 --- a/recipes/libdb/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_executable(${PROJECT_NAME} ../test_package/src/test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/libdb/all/test_v1_package/conanfile.py b/recipes/libdb/all/test_v1_package/conanfile.py deleted file mode 100644 index d919133e5c230..0000000000000 --- a/recipes/libdb/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/libdc1394/all/test_v1_package/CMakeLists.txt b/recipes/libdc1394/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libdc1394/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libdc1394/all/test_v1_package/conanfile.py b/recipes/libdc1394/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libdc1394/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libde265/all/test_v1_package/CMakeLists.txt b/recipes/libde265/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libde265/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libde265/all/test_v1_package/conanfile.py b/recipes/libde265/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libde265/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libdeflate/all/conandata.yml b/recipes/libdeflate/all/conandata.yml index 21a642dd647d6..3f2d733ec1559 100644 --- a/recipes/libdeflate/all/conandata.yml +++ b/recipes/libdeflate/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.22": + url: "https://github.com/ebiggers/libdeflate/archive/refs/tags/v1.22.tar.gz" + sha256: "7f343c7bf2ba46e774d8a632bf073235e1fd27723ef0a12a90f8947b7fe851d6" "1.21": url: "https://github.com/ebiggers/libdeflate/archive/refs/tags/v1.21.tar.gz" sha256: "50827d312c0413fbd41b0628590cd54d9ad7ebf88360cba7c0e70027942dbd01" diff --git a/recipes/libdeflate/all/test_v1_package/CMakeLists.txt b/recipes/libdeflate/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libdeflate/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libdeflate/all/test_v1_package/conanfile.py b/recipes/libdeflate/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libdeflate/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libdeflate/config.yml b/recipes/libdeflate/config.yml index 6cfddb7e0e6f2..e0c8d8a06e43c 100644 --- a/recipes/libdeflate/config.yml +++ b/recipes/libdeflate/config.yml @@ -1,4 +1,6 @@ versions: + "1.22": + folder: "all" "1.21": folder: "all" "1.20": diff --git a/recipes/libdeflate/pre_1.15/test_v1_package/CMakeLists.txt b/recipes/libdeflate/pre_1.15/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libdeflate/pre_1.15/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libdeflate/pre_1.15/test_v1_package/conanfile.py b/recipes/libdeflate/pre_1.15/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libdeflate/pre_1.15/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libdisasm/all/test_v1_package/CMakeLists.txt b/recipes/libdisasm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libdisasm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libdisasm/all/test_v1_package/conanfile.py b/recipes/libdisasm/all/test_v1_package/conanfile.py deleted file mode 100644 index 1381fb8880ef2..0000000000000 --- a/recipes/libdisasm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - - if self.settings.os != "Windows": - self.run("x86dis -h", run_environment=True) diff --git a/recipes/libdispatch/all/test_v1_package/CMakeLists.txt b/recipes/libdispatch/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libdispatch/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libdispatch/all/test_v1_package/conanfile.py b/recipes/libdispatch/all/test_v1_package/conanfile.py deleted file mode 100644 index b6f313836cc05..0000000000000 --- a/recipes/libdispatch/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package_multi", "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/libdisplay-info/all/conanfile.py b/recipes/libdisplay-info/all/conanfile.py index 4bb6e6e322b36..45fbfde532ed8 100644 --- a/recipes/libdisplay-info/all/conanfile.py +++ b/recipes/libdisplay-info/all/conanfile.py @@ -9,12 +9,12 @@ import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0.9" class LibdisplayInfoConan(ConanFile): name = "libdisplay-info" - description = "EDID and DisplayID library." + description = "EDID and DisplayID library" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://gitlab.freedesktop.org/emersion/libdisplay-info" @@ -29,14 +29,7 @@ class LibdisplayInfoConan(ConanFile): "shared": False, "fPIC": True, } - - @property - def _has_build_profile(self): - return getattr(self, "settings_build", None) - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC + implements = ["auto_shared_fpic"] def configure(self): if self.options.shared: @@ -47,35 +40,31 @@ def configure(self): def layout(self): basic_layout(self, src_folder="src") - def requirements(self): - if not self._has_build_profile: - self.requires("hwdata/0.374") - def validate(self): if not self.settings.os in ["FreeBSD", "Linux"]: raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}") def build_requirements(self): - if self._has_build_profile: - self.tool_requires("hwdata/0.374") - self.tool_requires("meson/1.2.3") + self.tool_requires("hwdata/0.376") + self.tool_requires("meson/[>=1.2.3 <2]") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/[>=2.2 <3]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() tc = MesonToolchain(self) if cross_building(self): + # https://mesonbuild.com/Builtin-options.html#specifying-options-per-machine tc.project_options["build.pkg_config_path"] = self.generators_folder tc.generate() + pkg_config_deps = PkgConfigDeps(self) - if self._has_build_profile: - pkg_config_deps.build_context_activated = ["hwdata"] + pkg_config_deps.build_context_activated = ["hwdata"] pkg_config_deps.generate() - virtual_build_env = VirtualBuildEnv(self) - virtual_build_env.generate() def _patch_sources(self): replace_in_file(self, os.path.join(self.source_folder, "meson.build"), "subdir('test')", "# subdir('test')") diff --git a/recipes/libdivide/all/test_v1_package/CMakeLists.txt b/recipes/libdivide/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libdivide/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libdivide/all/test_v1_package/conanfile.py b/recipes/libdivide/all/test_v1_package/conanfile.py deleted file mode 100644 index 0eee35d285cde..0000000000000 --- a/recipes/libdivide/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_c_path = os.path.join("bin", "test_package_c") - self.run(bin_c_path, run_environment=True) - bin_cpp_path = os.path.join("bin", "test_package_cpp") - self.run(bin_cpp_path, run_environment=True) diff --git a/recipes/libdivide/all/test_v1_package/test_package.c b/recipes/libdivide/all/test_v1_package/test_package.c deleted file mode 100644 index dc8a5151154fd..0000000000000 --- a/recipes/libdivide/all/test_v1_package/test_package.c +++ /dev/null @@ -1,12 +0,0 @@ -#include - -#include -#include -#include - -int main() { - struct libdivide_s64_t fast_d = libdivide_s64_gen(30); - int64_t a = 60; - printf("%" PRId64 "\n", libdivide_s64_do(a, &fast_d)); - return 0; -} diff --git a/recipes/libdmtx/all/test_v1_package/CMakeLists.txt b/recipes/libdmtx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de..0000000000000 --- a/recipes/libdmtx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libdmtx/all/test_v1_package/conanfile.py b/recipes/libdmtx/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/libdmtx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libdrawille/all/test_v1_package/CMakeLists.txt b/recipes/libdrawille/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libdrawille/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libdrawille/all/test_v1_package/conanfile.py b/recipes/libdrawille/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/libdrawille/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libdrm/all/test_v1_package/CMakeLists.txt b/recipes/libdrm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libdrm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libdrm/all/test_v1_package/conanfile.py b/recipes/libdrm/all/test_v1_package/conanfile.py deleted file mode 100644 index 994065a757445..0000000000000 --- a/recipes/libdrm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - diff --git a/recipes/libdwarf/all/conandata.yml b/recipes/libdwarf/all/conandata.yml index bdb4e53c187f7..22b2f14392454 100644 --- a/recipes/libdwarf/all/conandata.yml +++ b/recipes/libdwarf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.1": + url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.11.1.tar.gz" + sha256: "dfd24db87c354b3ba6fa72d29a481014f81768fea15ddcde96a8a938b1557c17" "0.11.0": url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.11.0.tar.gz" sha256: "5135af38dc202206538a3dcdc90675aa8b320e132156849c6855dea5ea0c0729" @@ -24,6 +27,10 @@ sources: url: "https://www.prevanders.net/libdwarf-0.5.0.tar.xz" sha256: "11fa822c60317fa00e1a01a2ac9e8388f6693e8662ab72d352c5f50c7e0112a9" patches: + "0.11.1": + - patch_file: "patches/0.11.1-0001-fixes.patch" + patch_description: "fix DW_API definition and cmake" + patch_type: "portability" "0.11.0": - patch_file: "patches/0.10.1-0001-fixes.patch" patch_description: "fix DW_API definition and cmake" diff --git a/recipes/libdwarf/all/conanfile.py b/recipes/libdwarf/all/conanfile.py index 8eab28c0da9ce..7deafab14a912 100644 --- a/recipes/libdwarf/all/conanfile.py +++ b/recipes/libdwarf/all/conanfile.py @@ -56,7 +56,7 @@ def requirements(self): self.requires("libelf/0.8.13") self.requires("zlib/[>=1.2.11 <2]") if Version(self.version) >= Version("0.9.0"): - self.requires("zstd/1.5.5") + self.requires("zstd/[~1.5]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/libdwarf/all/patches/0.11.1-0001-fixes.patch b/recipes/libdwarf/all/patches/0.11.1-0001-fixes.patch new file mode 100644 index 0000000000000..8d58846029a15 --- /dev/null +++ b/recipes/libdwarf/all/patches/0.11.1-0001-fixes.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f219f078..d8a78136 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -228,6 +228,12 @@ if (ENABLE_DECOMPRESSION) + set(HAVE_ZSTD_H TRUE) + set(BUILT_WITH_ZLIB_AND_ZSTD TRUE) + endif() ++ find_package(zstd CONFIG REQUIRED) ++ if(TARGET zstd::libzstd_shared) ++ set(ZSTD_LIB zstd::libzstd_shared) ++ else() ++ set(ZSTD_LIB zstd::libzstd_static) ++ endif() + message(STATUS "Found libzstd : ${zstd_FOUND}") + message(STATUS "Found zlib : ${ZLIB_FOUND}") + message(STATUS "Build with zlib and zstd: ${BUILT_WITH_ZLIB_AND_ZSTD}") +diff --git a/src/lib/libdwarf/CMakeLists.txt b/src/lib/libdwarf/CMakeLists.txt +index 02787555..862c97b8 100644 +--- a/src/lib/libdwarf/CMakeLists.txt ++++ b/src/lib/libdwarf/CMakeLists.txt +@@ -117,7 +117,7 @@ install(TARGETS dwarf + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + +-configure_file(libdwarf.pc.in libdwarf.pc @ONLY) ++# configure_file(libdwarf.pc.in libdwarf.pc @ONLY) + + # The install has to be here, not in + # another CMakeLists.txt to make install work properly +@@ -140,5 +140,5 @@ export( + NAMESPACE libdwarf:: + FILE "${PROJECT_BINARY_DIR}/libdwarf-targets.cmake" + ) +-install(FILES "${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") ++#install(FILES "${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + install(FILES "${PROJECT_SOURCE_DIR}/cmake/Findzstd.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libdwarf") +index 380d2ef7..8c62ee7e 100644 +--- a/src/lib/libdwarf/libdwarf.h ++++ b/src/lib/libdwarf/libdwarf.h +@@ -51,7 +51,7 @@ + #endif /* DW_API */ + + #ifndef LIBDWARF_STATIC +-# if defined(_WIN32) || defined(__CYGWIN__) ++# if defined(LIBDWARF_SHARED) && (defined(_WIN32) || defined(__CYGWIN__)) + # ifdef LIBDWARF_BUILD + # define DW_API __declspec(dllexport) + # else /* !LIBDWARF_BUILD */ +diff --git a/src/lib/libdwarf/libdwarf_private.h b/src/lib/libdwarf/libdwarf_private.h +index b37ae994..7fa89256 100644 +--- a/src/lib/libdwarf/libdwarf_private.h ++++ b/src/lib/libdwarf/libdwarf_private.h +@@ -26,11 +26,7 @@ + #ifdef _MSC_VER /* Macro to select VS compiler */ + #include + typedef SSIZE_T ssize_t; +-#ifdef _WIN64 +-typedef long long off_t; +-#else + typedef long off_t; +-#endif + #endif /* _MSC_VER */ + + #ifndef TRUE diff --git a/recipes/libdwarf/config.yml b/recipes/libdwarf/config.yml index fcb658d2d4a9c..2edb425881e27 100644 --- a/recipes/libdwarf/config.yml +++ b/recipes/libdwarf/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.1": + folder: all "0.11.0": folder: all "0.10.1": diff --git a/recipes/libdxfrw/all/test_v1_package/CMakeLists.txt b/recipes/libdxfrw/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libdxfrw/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libdxfrw/all/test_v1_package/conanfile.py b/recipes/libdxfrw/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/libdxfrw/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libe57format/all/test_v1_package/CMakeLists.txt b/recipes/libe57format/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2bf6344a5bafd..0000000000000 --- a/recipes/libe57format/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(e57format REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE E57Format) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/libe57format/all/test_v1_package/conanfile.py b/recipes/libe57format/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libe57format/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libelf/all/CMakeLists.txt b/recipes/libelf/all/CMakeLists.txt index 272a6d59618a2..f27f2188e4729 100644 --- a/recipes/libelf/all/CMakeLists.txt +++ b/recipes/libelf/all/CMakeLists.txt @@ -3,7 +3,7 @@ project(elf LANGUAGES C) if(EXISTS "${LIBELF_SRC_DIR}/lib/sys_elf.h.w32") file(RENAME "${LIBELF_SRC_DIR}/lib/sys_elf.h.w32" "${LIBELF_SRC_DIR}/lib/sys_elf.h") - file(RENAME "${LIBELF_SRC_DIR}/lib/config.h.w32" "${LIBELF_SRC_DIR}/config.h") + file(RENAME "${LIBELF_SRC_DIR}/lib/config.h.w32" "${LIBELF_SRC_DIR}/lib/config.h") endif() file(GLOB_RECURSE SOURCES "${LIBELF_SRC_DIR}/lib/*.c") @@ -15,7 +15,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE ) target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC "${LIBELF_SRC_DIR}/lib") -target_compile_definitions(${PROJECT_NAME} PUBLIC HAVE_MEMCMP=1 HAVE_MEMCPY=1 HAVE_MEMMOVE=1) +target_compile_definitions(${PROJECT_NAME} PUBLIC HAVE_MEMCMP=1 HAVE_MEMCPY=1 HAVE_MEMMOVE=1 HAVE_CONFIG_H=1) include(GNUInstallDirs) diff --git a/recipes/libelf/all/conanfile.py b/recipes/libelf/all/conanfile.py index c93a47a212b33..74c65a2903034 100644 --- a/recipes/libelf/all/conanfile.py +++ b/recipes/libelf/all/conanfile.py @@ -31,10 +31,6 @@ class LibelfConan(ConanFile): exports_sources = "CMakeLists.txt" - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -58,7 +54,7 @@ def build_requirements(self): if self.settings.os != "Windows": self.tool_requires("autoconf/2.71") self.tool_requires("gnu-config/cci.20210814") - if self._settings_build.os == "Windows": + if self.settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): self.tool_requires("msys2/cci.latest") diff --git a/recipes/libelf/all/test_v1_package/CMakeLists.txt b/recipes/libelf/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libelf/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libelf/all/test_v1_package/conanfile.py b/recipes/libelf/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libelf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libelfin/all/test_v1_package/CMakeLists.txt b/recipes/libelfin/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libelfin/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libelfin/all/test_v1_package/conanfile.py b/recipes/libelfin/all/test_v1_package/conanfile.py deleted file mode 100644 index fe9ecdf1845cc..0000000000000 --- a/recipes/libelfin/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if tools.cross_building(self.settings): - return - bin_path = os.path.join("bin", "test_package") - elf_path = os.path.join(self.source_folder, os.pardir, "test_package", "hello") - self.run(f"{bin_path} {elf_path}", run_environment=True) diff --git a/recipes/libenvpp/all/conandata.yml b/recipes/libenvpp/all/conandata.yml index 09cbdfc22a3d7..81f905ac642ae 100644 --- a/recipes/libenvpp/all/conandata.yml +++ b/recipes/libenvpp/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.5.0": + url: "https://github.com/ph3at/libenvpp/archive/refs/tags/v1.5.0.tar.gz" + sha256: "5318c43ea7e8197243c77c62f3a60564b0f8d9c46f547bbd01201ba104b76f6b" + "1.4.3": + url: "https://github.com/ph3at/libenvpp/archive/refs/tags/v1.4.3.tar.gz" + sha256: "affbd735b6f47615a54c9159baef9de206cc85badb5af4f662669f3789a13fa8" "1.4.1": url: "https://github.com/ph3at/libenvpp/archive/refs/tags/v1.4.1.tar.gz" sha256: "1bcd0a1eb4eef32a53cbb410ae38d708ea662e491cc5536cb9b15d54cc8b5707" @@ -9,15 +15,23 @@ sources: url: "https://github.com/ph3at/libenvpp/archive/refs/tags/v1.3.0.tar.gz" sha256: "9201ae39dc67118ee46b4e60fe2e5d22b046faceae4a4b4eec6ab62bc48875dd" patches: + "1.5.0": + - patch_file: "patches/1.5.0-0001-use-cci-fmt.patch" + patch_description: "use cci fmt package, remove static flag from add_library" + patch_type: "conan" + "1.4.3": + - patch_file: "patches/1.4.3-0001-use-cci-fmt.patch" + patch_description: "use cci fmt package, remove static flag from add_library" + patch_type: "conan" "1.4.1": - - patch_file: "patches/0001-use-cci-fmt.patch" + - patch_file: "patches/1.3.0-0001-use-cci-fmt.patch" patch_description: "use cci fmt package, remove static flag from add_library" patch_type: "conan" "1.4.0": - - patch_file: "patches/0001-use-cci-fmt.patch" + - patch_file: "patches/1.3.0-0001-use-cci-fmt.patch" patch_description: "use cci fmt package, remove static flag from add_library" patch_type: "conan" "1.3.0": - - patch_file: "patches/0001-use-cci-fmt.patch" + - patch_file: "patches/1.3.0-0001-use-cci-fmt.patch" patch_description: "use cci fmt package, remove static flag from add_library" patch_type: "conan" diff --git a/recipes/libenvpp/all/patches/0001-use-cci-fmt.patch b/recipes/libenvpp/all/patches/1.3.0-0001-use-cci-fmt.patch similarity index 100% rename from recipes/libenvpp/all/patches/0001-use-cci-fmt.patch rename to recipes/libenvpp/all/patches/1.3.0-0001-use-cci-fmt.patch diff --git a/recipes/libenvpp/all/patches/1.4.3-0001-use-cci-fmt.patch b/recipes/libenvpp/all/patches/1.4.3-0001-use-cci-fmt.patch new file mode 100644 index 0000000000000..1f86bff7a146b --- /dev/null +++ b/recipes/libenvpp/all/patches/1.4.3-0001-use-cci-fmt.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8aa4975..231e523 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -55,7 +55,7 @@ endfunction() + + # External dependencies. + include(FetchContent) +- ++if(0) + if(LIBENVPP_INSTALL) + set(FMT_INSTALL ON CACHE BOOL "" FORCE) + endif() +@@ -78,7 +78,8 @@ macro(fetch_content_from_submodule DEPNAME RELPATH) + endmacro() + + fetch_content_from_submodule(fmt external/fmt) +- ++endif() ++find_package(fmt REQUIRED CONFIG) + if(LIBENVPP_TESTS) + fetch_content_from_submodule(Catch2 external/Catch2) + list(APPEND CMAKE_MODULE_PATH ${catch2_SOURCE_DIR}/extras) +@@ -144,6 +145,7 @@ endif() + + # Installation target. + if(LIBENVPP_INSTALL) ++ include(CMakePackageConfigHelpers) + # Libenvpp installation. + set(LIBENVPP_PROJECT_CONFIG_OUT "${CMAKE_CURRENT_BINARY_DIR}/libenvpp-config.cmake") + set(LIBENVPP_VERSION_CONFIG_FILE "${CMAKE_CURRENT_BINARY_DIR}/libenvpp-config-version.cmake") diff --git a/recipes/libenvpp/all/patches/1.5.0-0001-use-cci-fmt.patch b/recipes/libenvpp/all/patches/1.5.0-0001-use-cci-fmt.patch new file mode 100644 index 0000000000000..6a1e7e6866da8 --- /dev/null +++ b/recipes/libenvpp/all/patches/1.5.0-0001-use-cci-fmt.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8729676..cc58853 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -55,7 +55,7 @@ endfunction() + + # External dependencies. + include(FetchContent) +- ++if(0) + if(LIBENVPP_INSTALL) + set(FMT_INSTALL ON CACHE BOOL "" FORCE) + endif() +@@ -78,7 +78,8 @@ macro(fetch_content_from_submodule DEPNAME RELPATH) + endmacro() + + fetch_content_from_submodule(fmt external/fmt) +- ++endif() ++find_package(fmt REQUIRED CONFIG) + if(LIBENVPP_TESTS) + fetch_content_from_submodule(Catch2 external/Catch2) + list(APPEND CMAKE_MODULE_PATH ${catch2_SOURCE_DIR}/extras) diff --git a/recipes/libenvpp/config.yml b/recipes/libenvpp/config.yml index 023cefafab4f3..b7325931475d1 100644 --- a/recipes/libenvpp/config.yml +++ b/recipes/libenvpp/config.yml @@ -1,4 +1,8 @@ versions: + "1.5.0": + folder: all + "1.4.3": + folder: all "1.4.1": folder: all "1.4.0": diff --git a/recipes/libepoxy/all/test_v1_package/CMakeLists.txt b/recipes/libepoxy/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libepoxy/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libepoxy/all/test_v1_package/conanfile.py b/recipes/libepoxy/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libepoxy/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libest/all/test_v1_package/CMakeLists.txt b/recipes/libest/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libest/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libest/all/test_v1_package/conanfile.py b/recipes/libest/all/test_v1_package/conanfile.py deleted file mode 100644 index 2978938836233..0000000000000 --- a/recipes/libest/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class CAresTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/libev/all/test_v1_package/CMakeLists.txt b/recipes/libev/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libev/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libev/all/test_v1_package/conanfile.py b/recipes/libev/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libev/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libevent/all/test_v1_package/CMakeLists.txt b/recipes/libevent/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libevent/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libevent/all/test_v1_package/conanfile.py b/recipes/libevent/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libevent/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libexif/all/test_v1_package/CMakeLists.txt b/recipes/libexif/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libexif/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libexif/all/test_v1_package/conanfile.py b/recipes/libexif/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libexif/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libfabric/all/test_v1_package/CMakeLists.txt b/recipes/libfabric/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libfabric/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libfabric/all/test_v1_package/conanfile.py b/recipes/libfabric/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/libfabric/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libfdk_aac/all/test_v1_package/CMakeLists.txt b/recipes/libfdk_aac/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libfdk_aac/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libfdk_aac/all/test_v1_package/conanfile.py b/recipes/libfdk_aac/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libfdk_aac/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libfreenect/all/test_v1_package/CMakeLists.txt b/recipes/libfreenect/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libfreenect/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libfreenect/all/test_v1_package/conanfile.py b/recipes/libfreenect/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libfreenect/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libfreenect2/all/test_v1_package/CMakeLists.txt b/recipes/libfreenect2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libfreenect2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libfreenect2/all/test_v1_package/conanfile.py b/recipes/libfreenect2/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/libfreenect2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libftdi/0.x/test_v1_package/CMakeLists.txt b/recipes/libftdi/0.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libftdi/0.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libftdi/0.x/test_v1_package/conanfile.py b/recipes/libftdi/0.x/test_v1_package/conanfile.py deleted file mode 100644 index a86b3a5dad12e..0000000000000 --- a/recipes/libftdi/0.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - config_path = os.path.join(self.source_folder, "hello.conf") - self.run("{} {}".format(bin_path, config_path), run_environment=True) diff --git a/recipes/libftdi/1.x/test_v1_package/CMakeLists.txt b/recipes/libftdi/1.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 65f19e16d7a62..0000000000000 --- a/recipes/libftdi/1.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) - diff --git a/recipes/libftdi/1.x/test_v1_package/conanfile.py b/recipes/libftdi/1.x/test_v1_package/conanfile.py deleted file mode 100644 index 90c431a11ee68..0000000000000 --- a/recipes/libftdi/1.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libftp/all/conandata.yml b/recipes/libftp/all/conandata.yml index b6a96e96b90f5..1df2b6440cd9a 100644 --- a/recipes/libftp/all/conandata.yml +++ b/recipes/libftp/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.4.0": + url: "https://github.com/deniskovalchuk/libftp/archive/refs/tags/v1.4.0.tar.gz" + sha256: "0d8c9f8ea36ef010c4b7be79e3c4ad46830d2f644bcecd608d83f69274a2aa9e" + "1.3.0": + url: "https://github.com/deniskovalchuk/libftp/archive/refs/tags/v1.3.0.tar.gz" + sha256: "e4861fccb5c67742db1aa8f1af98ac70888b54212b06a8366d84a040897ca749" "1.1.0": url: "https://github.com/deniskovalchuk/libftp/archive/refs/tags/v1.1.0.tar.gz" sha256: "8d9ff413436b17eef225c4b12539965cdea786d02bb2c688b153992d36f88f48" diff --git a/recipes/libftp/all/conanfile.py b/recipes/libftp/all/conanfile.py index 144e760e21d70..9ead6038cf850 100644 --- a/recipes/libftp/all/conanfile.py +++ b/recipes/libftp/all/conanfile.py @@ -1,13 +1,12 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.files import copy, get, rmdir from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0" class LibFTPConan(ConanFile): @@ -27,50 +26,25 @@ class LibFTPConan(ConanFile): "shared": False, "fPIC": 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 export_sources(self): - export_conandata_patches(self) - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC + implements = ["auto_shared_fpic"] def configure(self): - if self.options.shared: + if Version(self.version) < "1.4.0" and is_msvc(self): + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.84.0", transitive_headers=True) + self.requires("boost/1.86.0", transitive_headers=True) if Version(self.version) >= "0.5.0": self.requires("openssl/[>=1.1 <4]", transitive_headers=True, transitive_libs=True) def validate(self): - if is_msvc(self) and self.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} doesn't support shared builds with Visual Studio.") - 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." - ) + check_min_cppstd(self, 17) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -85,7 +59,6 @@ def generate(self): deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -94,6 +67,7 @@ def package(self): copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.libs = ["ftp"] diff --git a/recipes/libftp/config.yml b/recipes/libftp/config.yml index fe91f9493569b..fc2acdcc60347 100644 --- a/recipes/libftp/config.yml +++ b/recipes/libftp/config.yml @@ -1,4 +1,8 @@ versions: + "1.4.0": + folder: all + "1.3.0": + folder: all "1.1.0": folder: all "0.5.1": diff --git a/recipes/libfuse/2.x.x/test_v1_package/CMakeLists.txt b/recipes/libfuse/2.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/libfuse/2.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libfuse/2.x.x/test_v1_package/conanfile.py b/recipes/libfuse/2.x.x/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libfuse/2.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libfuse/all/test_v1_package/CMakeLists.txt b/recipes/libfuse/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/libfuse/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libfuse/all/test_v1_package/conanfile.py b/recipes/libfuse/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libfuse/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libgcrypt/all/test_v1_package/CMakeLists.txt b/recipes/libgcrypt/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libgcrypt/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libgcrypt/all/test_v1_package/conanfile.py b/recipes/libgcrypt/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libgcrypt/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libgd/all/test_v1_package/CMakeLists.txt b/recipes/libgd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libgd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libgd/all/test_v1_package/conanfile.py b/recipes/libgd/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/libgd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libgeotiff/all/test_v1_package/CMakeLists.txt b/recipes/libgeotiff/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libgeotiff/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libgeotiff/all/test_v1_package/conanfile.py b/recipes/libgeotiff/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libgeotiff/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libgit2/all/conandata.yml b/recipes/libgit2/all/conandata.yml index c112809f65932..966e9ed4a24c0 100644 --- a/recipes/libgit2/all/conandata.yml +++ b/recipes/libgit2/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "1.8.4": + url: "https://github.com/libgit2/libgit2/archive/v1.8.4.tar.gz" + sha256: "49d0fc50ab931816f6bfc1ac68f8d74b760450eebdb5374e803ee36550f26774" + "1.8.3": + url: "https://github.com/libgit2/libgit2/archive/v1.8.3.tar.gz" + sha256: "868810a5508d41dd7033d41bdc55312561f3f916d64f5b7be92bc1ff4dcae02a" + "1.8.2": + url: "https://github.com/libgit2/libgit2/archive/v1.8.2.tar.gz" + sha256: "184699f0d9773f96eeeb5cb245ba2304400f5b74671f313240410f594c566a28" "1.8.1": url: "https://github.com/libgit2/libgit2/archive/v1.8.1.tar.gz" sha256: "8c1eaf0cf07cba0e9021920bfba9502140220786ed5d8a8ec6c7ad9174522f8e" @@ -24,6 +33,18 @@ sources: url: "https://github.com/libgit2/libgit2/archive/v1.0.1.tar.gz" sha256: "1775427a6098f441ddbaa5bd4e9b8a043c7401e450ed761e69a415530fea81d2" patches: + "1.8.4": + - patch_file: "patches/1.8.1-0001-fix-cmake.patch" + patch_description: "use cci's packages" + patch_type: "conan" + "1.8.3": + - patch_file: "patches/1.8.1-0001-fix-cmake.patch" + patch_description: "use cci's packages" + patch_type: "conan" + "1.8.2": + - patch_file: "patches/1.8.1-0001-fix-cmake.patch" + patch_description: "use cci's packages" + patch_type: "conan" "1.8.1": - patch_file: "patches/1.8.1-0001-fix-cmake.patch" patch_description: "use cci's packages" diff --git a/recipes/libgit2/config.yml b/recipes/libgit2/config.yml index 17396f92e3be0..1a78cc1abe633 100644 --- a/recipes/libgit2/config.yml +++ b/recipes/libgit2/config.yml @@ -1,4 +1,10 @@ versions: + "1.8.4": + folder: "all" + "1.8.3": + folder: "all" + "1.8.2": + folder: "all" "1.8.1": folder: "all" "1.7.2": diff --git a/recipes/libgpg-error/all/test_v1_package/CMakeLists.txt b/recipes/libgpg-error/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libgpg-error/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libgpg-error/all/test_v1_package/conanfile.py b/recipes/libgpg-error/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libgpg-error/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libgphoto2/all/conandata.yml b/recipes/libgphoto2/all/conandata.yml index 8bad48c781d69..aa37e732ae2d3 100644 --- a/recipes/libgphoto2/all/conandata.yml +++ b/recipes/libgphoto2/all/conandata.yml @@ -6,7 +6,5 @@ sources: url: "https://github.com/gphoto/libgphoto2/releases/download/v2.5.27/libgphoto2-2.5.27.tar.xz" sha256: "a7253bd18c6ef65352150ac36a668f883a5ad2634eb6455b3ca9aa6ac98d0073" patches: - "2.5.31": - - patch_file: "patches/2.5.27-0001-macos_snprintf.patch" "2.5.27": - patch_file: "patches/2.5.27-0001-macos_snprintf.patch" diff --git a/recipes/libgphoto2/all/conanfile.py b/recipes/libgphoto2/all/conanfile.py index 42df92be12821..f6d84c552b0a4 100644 --- a/recipes/libgphoto2/all/conanfile.py +++ b/recipes/libgphoto2/all/conanfile.py @@ -57,7 +57,7 @@ def requirements(self): if self.options.with_libcurl: self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_libxml2: - self.requires("libxml2/2.12.3") + self.requires("libxml2/[>=2.12.5 <3]") if self.options.with_libexif: self.requires("libexif/0.6.24") if self.options.with_libjpeg: @@ -69,7 +69,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.1.0") + self.tool_requires("pkgconf/[>=2.2 <3]") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/libgphoto2/all/test_v1_package/CMakeLists.txt b/recipes/libgphoto2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libgphoto2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libgphoto2/all/test_v1_package/conanfile.py b/recipes/libgphoto2/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libgphoto2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libgta/all/test_v1_package/CMakeLists.txt b/recipes/libgta/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libgta/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libgta/all/test_v1_package/conanfile.py b/recipes/libgta/all/test_v1_package/conanfile.py deleted file mode 100644 index 84ee68733e516..0000000000000 --- a/recipes/libgta/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libhal/all/test_v1_package/CMakeLists.txt b/recipes/libhal/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 390a1bca7ce2f..0000000000000 --- a/recipes/libhal/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -cmake_minimum_required(VERSION 3.12) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(libhal REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_EXTENSIONS OFF) -target_link_libraries(${PROJECT_NAME} PRIVATE libhal::libhal) -if(libhal_VERSION VERSION_LESS "2.0.0") - target_compile_definitions(${PROJECT_NAME} PRIVATE LIBHAL_LESS_2) -endif() diff --git a/recipes/libhal/all/test_v1_package/conanfile.py b/recipes/libhal/all/test_v1_package/conanfile.py deleted file mode 100644 index 6adc2a597302e..0000000000000 --- a/recipes/libhal/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class LibhalTestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = ("cmake", "cmake_find_package_multi") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if cross_building(self): - bin_path = os.path.join(self.build_folder, "bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libharu/all/test_v1_package/CMakeLists.txt b/recipes/libharu/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libharu/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libharu/all/test_v1_package/conanfile.py b/recipes/libharu/all/test_v1_package/conanfile.py deleted file mode 100644 index 4651d31d881e8..0000000000000 --- a/recipes/libharu/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanException -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - if not os.path.isfile("test.pdf"): - raise ConanException("test did not create test.pdf") diff --git a/recipes/libheif/all/conandata.yml b/recipes/libheif/all/conandata.yml index bd315fb8684b3..5dc100f24cce6 100644 --- a/recipes/libheif/all/conandata.yml +++ b/recipes/libheif/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.19.5": + url: "https://github.com/strukturag/libheif/releases/download/v1.19.5/libheif-1.19.5.tar.gz" + sha256: "d3cf0a76076115a070f9bc87cf5259b333a1f05806500045338798486d0afbaf" + "1.19.0": + url: "https://github.com/strukturag/libheif/releases/download/v1.19.0/libheif-1.19.0.tar.gz" + sha256: "c0323638557994791c7bf939ee9752e8a0f3f5ce4f07328daefa0159e3530eb4" "1.18.2": url: "https://github.com/strukturag/libheif/releases/download/v1.18.2/libheif-1.18.2.tar.gz" sha256: "c4002a622bec9f519f29d84bfdc6024e33fd67953a5fb4dc2c2f11f67d5e45bf" diff --git a/recipes/libheif/all/conanfile.py b/recipes/libheif/all/conanfile.py index c13632c993b86..03ba06e99d6ae 100644 --- a/recipes/libheif/all/conanfile.py +++ b/recipes/libheif/all/conanfile.py @@ -1,12 +1,12 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd, stdcpp_library from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.scm import Version -from conan.tools.env import VirtualBuildEnv import os -required_conan_version = ">=1.54.0" +required_conan_version = ">=2.1" class LibheifConan(ConanFile): @@ -27,6 +27,8 @@ class LibheifConan(ConanFile): "with_dav1d": [True, False], "with_jpeg": [True, False], "with_openjpeg": [True, False], + "with_openjph": [True, False], + "with_openh264": [True, False], } default_options = { "shared": False, @@ -37,8 +39,14 @@ class LibheifConan(ConanFile): "with_dav1d": False, "with_jpeg": False, "with_openjpeg": False, + "with_openjph": False, + "with_openh264": False, } + @property + def _min_cppstd(self): + return "20" if Version(self.version) >= "1.19.0" else "11" + def export_sources(self): export_conandata_patches(self) @@ -48,6 +56,10 @@ def config_options(self): if Version(self.version) < "1.17.0": del self.options.with_jpeg del self.options.with_openjpeg + if Version(self.version) < "1.18.0": + del self.options.with_openjph + if Version(self.version) < "1.19.0": + del self.options.with_openh264 def configure(self): if self.options.shared: @@ -69,10 +81,13 @@ def requirements(self): self.requires("libjpeg/9f") if self.options.get_safe("with_openjpeg"): self.requires("openjpeg/2.5.2") + if self.options.get_safe("with_openjph"): + self.requires("openjph/0.16.0", transitive_headers=False) + if self.options.get_safe("with_openh264"): + self.requires("openh264/2.4.1") def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) def build_requirements(self): if Version(self.version) >= "1.18.0": @@ -80,6 +95,7 @@ def build_requirements(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + apply_conandata_patches(self) def generate(self): tc = CMakeToolchain(self) @@ -98,17 +114,21 @@ def generate(self): tc.variables["WITH_JPEG_ENCODER"] = self.options.get_safe("with_jpeg", False) tc.variables["WITH_OpenJPEG_DECODER"] = self.options.get_safe("with_openjpeg", False) tc.variables["WITH_OpenJPEG_ENCODER"] = self.options.get_safe("with_openjpeg", False) + tc.variables["WITH_OPENJPH_ENCODER"] = self.options.get_safe("with_openjph", False) + tc.variables["WITH_OPENH264_DECODER"] = self.options.get_safe("with_openh264", False) + # Disable finding possible Doxygen in system, so no docs are built + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_Doxygen"] = True + tc.cache_variables["CMAKE_COMPILE_WARNING_AS_ERROR"] = False tc.generate() deps = CMakeDeps(self) if Version(self.version) >= "1.18.0": deps.set_property("libde265", "cmake_file_name", "LIBDE265") + deps.set_property("openjph", "cmake_file_name", "OPENJPH") + if Version(self.version) >= "1.19.0": + deps.set_property("openh264", "cmake_file_name", "OpenH264") deps.generate() - if Version(self.version) >= "1.18.0": - venv = VirtualBuildEnv(self) - venv.generate(scope="build") def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -124,32 +144,32 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "libheif") self.cpp_info.set_property("cmake_target_name", "libheif::heif") self.cpp_info.set_property("pkg_config_name", "libheif") - # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed - self.cpp_info.components["heif"].libs = ["heif"] + self.cpp_info.libs = ["heif"] + if not self.options.shared: - self.cpp_info.components["heif"].defines = ["LIBHEIF_STATIC_BUILD"] + self.cpp_info.defines = ["LIBHEIF_STATIC_BUILD"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["heif"].system_libs.extend(["m", "pthread"]) + self.cpp_info.system_libs.extend(["m", "pthread"]) if Version(self.version) >= "1.18.0": - self.cpp_info.components["heif"].system_libs.append("dl") + self.cpp_info.system_libs.append("dl") if not self.options.shared: libcxx = stdcpp_library(self) if libcxx: - self.cpp_info.components["heif"].system_libs.append(libcxx) + self.cpp_info.system_libs.append(libcxx) - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.components["heif"].set_property("cmake_target_name", "libheif::heif") - self.cpp_info.components["heif"].set_property("pkg_config_name", "libheif") - self.cpp_info.components["heif"].requires = [] if self.options.with_libde265: - self.cpp_info.components["heif"].requires.append("libde265::libde265") + self.cpp_info.requires.append("libde265::libde265") if self.options.with_x265: - self.cpp_info.components["heif"].requires.append("libx265::libx265") + self.cpp_info.requires.append("libx265::libx265") if self.options.with_libaomav1: - self.cpp_info.components["heif"].requires.append("libaom-av1::libaom-av1") + self.cpp_info.requires.append("libaom-av1::libaom-av1") if self.options.with_dav1d: - self.cpp_info.components["heif"].requires.append("dav1d::dav1d") + self.cpp_info.requires.append("dav1d::dav1d") if self.options.get_safe("with_jpeg"): - self.cpp_info.components["heif"].requires.append("libjpeg::libjpeg") + self.cpp_info.requires.append("libjpeg::libjpeg") if self.options.get_safe("with_openjpeg"): - self.cpp_info.components["heif"].requires.append("openjpeg::openjpeg") + self.cpp_info.requires.append("openjpeg::openjpeg") + if self.options.get_safe("with_openjph"): + self.cpp_info.requires.append("openjph::openjph") + if self.options.get_safe("with_openh264"): + self.cpp_info.requires.append("openh264::openh264") diff --git a/recipes/libheif/all/test_package/CMakeLists.txt b/recipes/libheif/all/test_package/CMakeLists.txt index 13ebf8fab7134..f87ac8ae49013 100644 --- a/recipes/libheif/all/test_package/CMakeLists.txt +++ b/recipes/libheif/all/test_package/CMakeLists.txt @@ -5,4 +5,8 @@ find_package(libheif REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE libheif::heif) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if(libheif_VERSION VERSION_GREATER_EQUAL "1.19.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +endif() diff --git a/recipes/libheif/config.yml b/recipes/libheif/config.yml index 7943f16d5196d..dfd934f80e6b2 100644 --- a/recipes/libheif/config.yml +++ b/recipes/libheif/config.yml @@ -1,4 +1,8 @@ versions: + "1.19.5": + folder: all + "1.19.0": + folder: all "1.18.2": folder: all "1.18.1": diff --git a/recipes/libhydrogen/all/test_v1_package/CMakeLists.txt b/recipes/libhydrogen/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libhydrogen/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libhydrogen/all/test_v1_package/conanfile.py b/recipes/libhydrogen/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libhydrogen/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libiberty/all/test_v1_package/CMakeLists.txt b/recipes/libiberty/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libiberty/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libiberty/all/test_v1_package/conanfile.py b/recipes/libiberty/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libiberty/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libiconv/all/test_v1_package/CMakeLists.txt b/recipes/libiconv/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libiconv/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libiconv/all/test_v1_package/conanfile.py b/recipes/libiconv/all/test_v1_package/conanfile.py deleted file mode 100644 index a831367c532bc..0000000000000 --- a/recipes/libiconv/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/libid3tag/all/conanfile.py b/recipes/libid3tag/all/conanfile.py index 39074d29616bc..0ec68a73afc05 100644 --- a/recipes/libid3tag/all/conanfile.py +++ b/recipes/libid3tag/all/conanfile.py @@ -2,6 +2,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name, is_apple_os from conan.tools.build import cross_building from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout from conan.tools.env import VirtualBuildEnv @@ -54,14 +55,19 @@ def layout(self): def requirements(self): self.requires("zlib/[>=1.2.11 <2]") - def validate(self): - if cross_building(self) and self.settings.arch == "armv8" and self.options.shared: - # https://github.com/conan-io/conan-center-index/pull/18987#issuecomment-1668243831 - raise ConanInvalidConfiguration("shared library cross-building is not supported for armv8") + def validate_build(self): + if cross_building(self) and is_apple_os(self) and self.options.shared: + # Cannot cross-build due to a very old version of libtool that does not + # correctly propagate `-sysroot` or `-arch` when creating a shared library + raise ConanInvalidConfiguration("Shared library cross-building is not supported on Apple platforms") def build_requirements(self): if not is_msvc(self): self.tool_requires("gnu-config/cci.20210814") + if self.settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -112,6 +118,7 @@ def package(self): autotools = Autotools(self) autotools.install() rm(self, "*.la", self.package_folder, recursive=True) + fix_apple_shared_install_name(self) def package_info(self): if is_msvc(self): diff --git a/recipes/libid3tag/all/test_v1_package/CMakeLists.txt b/recipes/libid3tag/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libid3tag/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libid3tag/all/test_v1_package/conanfile.py b/recipes/libid3tag/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/libid3tag/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libidn/all/test_v1_package/CMakeLists.txt b/recipes/libidn/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libidn/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libidn/all/test_v1_package/conanfile.py b/recipes/libidn/all/test_v1_package/conanfile.py deleted file mode 100644 index 3eaa9f0102538..0000000000000 --- a/recipes/libidn/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run("idn --help", run_environment=True) - - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libidn2/all/test_v1_package/CMakeLists.txt b/recipes/libidn2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libidn2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libidn2/all/test_v1_package/conanfile.py b/recipes/libidn2/all/test_v1_package/conanfile.py deleted file mode 100644 index a5e01055d3933..0000000000000 --- a/recipes/libidn2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - self.run("idn2 --help", run_environment=True) - - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - diff --git a/recipes/libigl/all/test_v1_package/CMakeLists.txt b/recipes/libigl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libigl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libigl/all/test_v1_package/conanfile.py b/recipes/libigl/all/test_v1_package/conanfile.py deleted file mode 100644 index 321eb52ae4077..0000000000000 --- a/recipes/libigl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class LibiglTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) - diff --git a/recipes/libinterpolate/all/test_v1_package/CMakeLists.txt b/recipes/libinterpolate/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b5b37b01b534c..0000000000000 --- a/recipes/libinterpolate/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) - diff --git a/recipes/libinterpolate/all/test_v1_package/conanfile.py b/recipes/libinterpolate/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/libinterpolate/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libipt/all/test_v1_package/CMakeLists.txt b/recipes/libipt/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libipt/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libipt/all/test_v1_package/conanfile.py b/recipes/libipt/all/test_v1_package/conanfile.py deleted file mode 100644 index a8c92dea63335..0000000000000 --- a/recipes/libipt/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libjpeg/all/conanfile.py b/recipes/libjpeg/all/conanfile.py index a4eb4a8f376c9..e5205d93bc015 100644 --- a/recipes/libjpeg/all/conanfile.py +++ b/recipes/libjpeg/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, load, replace_in_file, rm, rmdir, save from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout -from conan.tools.microsoft import is_msvc, MSBuild, MSBuildToolchain +from conan.tools.microsoft import MSBuild, MSBuildToolchain import os import re @@ -32,8 +32,8 @@ class LibjpegConan(ConanFile): } @property - def _is_clang_cl(self): - return self.settings.os == "Windows" and self.settings.compiler == "clang" + def _is_cl_like(self): + return self.settings.compiler.get_safe("runtime") is not None @property def _settings_build(self): @@ -60,7 +60,7 @@ def layout(self): basic_layout(self, src_folder="src") def build_requirements(self): - if self._settings_build.os == "Windows" and not (is_msvc(self) or self. _is_clang_cl): + if self._settings_build.os == "Windows" and not self._is_cl_like: self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): self.tool_requires("msys2/cci.latest") @@ -69,7 +69,7 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): - if is_msvc(self): + if self._is_cl_like: tc = MSBuildToolchain(self) tc.cflags.append("-DLIBJPEG_BUILDING") if not self.options.shared: @@ -84,7 +84,7 @@ def generate(self): def build(self): apply_conandata_patches(self) - if is_msvc(self): + if self._is_cl_like: with chdir(self, self.source_folder): self.run("nmake /f makefile.vs setupcopy-v16") @@ -148,7 +148,7 @@ def build(self): def package(self): copy(self, "README", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - if is_msvc(self) or self._is_clang_cl: + if self._is_cl_like: for filename in ["jpeglib.h", "jerror.h", "jconfig.h", "jmorecfg.h"]: copy(self, filename, src=self.source_folder, dst=os.path.join(self.package_folder, "include"), keep_path=False) @@ -183,7 +183,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "JPEG") self.cpp_info.set_property("cmake_target_name", "JPEG::JPEG") self.cpp_info.set_property("pkg_config_name", "libjpeg") - prefix = "lib" if is_msvc(self) or self._is_clang_cl else "" + prefix = "lib" if self._is_cl_like else "" self.cpp_info.libs = [f"{prefix}jpeg"] self.cpp_info.resdirs = ["res"] if not self.options.shared: diff --git a/recipes/libjpeg/all/test_package/conanfile.py b/recipes/libjpeg/all/test_package/conanfile.py index 5eb32d655b0b8..4e22017cf1618 100644 --- a/recipes/libjpeg/all/test_package/conanfile.py +++ b/recipes/libjpeg/all/test_package/conanfile.py @@ -1,7 +1,6 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.cmake import CMake, cmake_layout import os diff --git a/recipes/libjuice/all/conandata.yml b/recipes/libjuice/all/conandata.yml new file mode 100644 index 0000000000000..709595aa5dc9d --- /dev/null +++ b/recipes/libjuice/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.5.7": + url: "https://github.com/paullouisageneau/libjuice/archive/refs/tags/v1.5.7.tar.gz" + sha256: "6385c574f3c33f766ed25cddf919625b0ae8ca0d76871f70301e5a0cf2c93dc8" diff --git a/recipes/libjuice/all/conanfile.py b/recipes/libjuice/all/conanfile.py new file mode 100644 index 0000000000000..e759ffe21c47f --- /dev/null +++ b/recipes/libjuice/all/conanfile.py @@ -0,0 +1,85 @@ +import os + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.apple import fix_apple_shared_install_name + +required_conan_version = ">=2.1" + +class libjuiceConan(ConanFile): + name = "libjuice" + description = "JUICE is a UDP Interactive Connectivity Establishment library." + license = "MPL-2.0" + topics = ("webrtc", "ice") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/paullouisageneau/libjuice" + settings = "os", "compiler", "build_type", "arch" + package_type = "library" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + implements = ["auto_shared_fpic"] + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + check_min_cppstd(self, 11) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["NO_TESTS"] = True + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + fix_apple_shared_install_name(self) + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + suffix = "" + if is_msvc(self) and self.settings.build_type == "Debug": + suffix = "d" + self.cpp_info.libs = ["juice" + suffix] + self.cpp_info.set_property("cmake_file_name", "LibJuice") + if self.options.shared: + self.cpp_info.set_property("cmake_target_name", "LibJuice::LibJuice") + else: + self.cpp_info.set_property("cmake_target_name", "LibJuice::LibJuiceStatic") + self.cpp_info.defines.append("JUICE_STATIC") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + self.cpp_info.system_libs.append("pthread") + self.cpp_info.system_libs.append("dl") + + if self.settings.os == "Windows": + self.cpp_info.system_libs.extend(["ws2_32", "bcrypt"]) + + if is_msvc(self): + self.cpp_info.cxxflags.append("/bigobj") diff --git a/recipes/libjuice/all/test_package/CMakeLists.txt b/recipes/libjuice/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..adc79b68b2a92 --- /dev/null +++ b/recipes/libjuice/all/test_package/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) # if the project uses c++ + +find_package(LibJuice REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) + +if (BUILD_SHARED_LIBS) + target_link_libraries(${PROJECT_NAME} PRIVATE LibJuice::LibJuice) +else() + target_link_libraries(${PROJECT_NAME} PRIVATE LibJuice::LibJuiceStatic) +endif() diff --git a/recipes/libjuice/all/test_package/conanfile.py b/recipes/libjuice/all/test_package/conanfile.py new file mode 100644 index 0000000000000..b4cab38c13121 --- /dev/null +++ b/recipes/libjuice/all/test_package/conanfile.py @@ -0,0 +1,32 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain +import os + + +# It will become the standard on Conan 2.x +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_SHARED_LIBS"] = self.dependencies[self.tested_reference_str].options.shared + tc.generate() + + 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") diff --git a/recipes/libjuice/all/test_package/test_package.cpp b/recipes/libjuice/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..68cc9df88eee3 --- /dev/null +++ b/recipes/libjuice/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include +#include + +int main(void) { + juice_config config; + juice_set_log_level(JUICE_LOG_LEVEL_WARN); + return EXIT_SUCCESS; +} diff --git a/recipes/libjuice/config.yml b/recipes/libjuice/config.yml new file mode 100644 index 0000000000000..63812c2d2c8db --- /dev/null +++ b/recipes/libjuice/config.yml @@ -0,0 +1,3 @@ +versions: + "1.5.7": + folder: all diff --git a/recipes/libkml/all/test_v1_package/CMakeLists.txt b/recipes/libkml/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libkml/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libkml/all/test_v1_package/conanfile.py b/recipes/libkml/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libkml/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/liblsl/all/test_v1_package/CMakeLists.txt b/recipes/liblsl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/liblsl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/liblsl/all/test_v1_package/conanfile.py b/recipes/liblsl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/liblsl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libltc/all/test_v1_package/CMakeLists.txt b/recipes/libltc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libltc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libltc/all/test_v1_package/conanfile.py b/recipes/libltc/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libltc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/liblzf/all/test_v1_package/CMakeLists.txt b/recipes/liblzf/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/liblzf/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/liblzf/all/test_v1_package/conanfile.py b/recipes/liblzf/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/liblzf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libmad/all/test_v1_package/CMakeLists.txt b/recipes/libmad/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libmad/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmad/all/test_v1_package/conanfile.py b/recipes/libmad/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libmad/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libmagic/all/conanfile.py b/recipes/libmagic/all/conanfile.py index 6d0843dc3f3f3..6faae6cdf6502 100644 --- a/recipes/libmagic/all/conanfile.py +++ b/recipes/libmagic/all/conanfile.py @@ -44,9 +44,9 @@ def layout(self): def requirements(self): self.requires("bzip2/1.0.8") - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/[>=5.4.5 <6]") self.requires("zlib/[>=1.2.11 <2]") - self.requires("zstd/1.5.5") + self.requires("zstd/[^1.5]") # TODO: Add lzlib recipe # self.requires("lzlib/1.13") diff --git a/recipes/libmaxminddb/all/test_v1_package/CMakeLists.txt b/recipes/libmaxminddb/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index f31d3904fb26f..0000000000000 --- a/recipes/libmaxminddb/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(maxminddb REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE maxminddb::maxminddb) diff --git a/recipes/libmaxminddb/all/test_v1_package/conanfile.py b/recipes/libmaxminddb/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libmaxminddb/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libmbus/all/test_v1_package/CMakeLists.txt b/recipes/libmbus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libmbus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libmbus/all/test_v1_package/conanfile.py b/recipes/libmbus/all/test_v1_package/conanfile.py deleted file mode 100644 index 9de3689208f00..0000000000000 --- a/recipes/libmbus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - bin_path = self.run(bin_path, run_environment=True) diff --git a/recipes/libmemcached/all/test_v1_package/CMakeLists.txt b/recipes/libmemcached/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8b0d38c4a2f57..0000000000000 --- a/recipes/libmemcached/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) -set(CMAKE_CXX_STANDARD 11) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) - diff --git a/recipes/libmemcached/all/test_v1_package/conanfile.py b/recipes/libmemcached/all/test_v1_package/conanfile.py deleted file mode 100644 index 395686390e2f2..0000000000000 --- a/recipes/libmemcached/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - diff --git a/recipes/libmetalink/all/test_v1_package/CMakeLists.txt b/recipes/libmetalink/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libmetalink/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmetalink/all/test_v1_package/conanfile.py b/recipes/libmetalink/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libmetalink/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libmicrohttpd/all/test_v1_package/CMakeLists.txt b/recipes/libmicrohttpd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libmicrohttpd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmicrohttpd/all/test_v1_package/conanfile.py b/recipes/libmicrohttpd/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libmicrohttpd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libmikmod/all/test_v1_package/CMakeLists.txt b/recipes/libmikmod/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libmikmod/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmikmod/all/test_v1_package/conanfile.py b/recipes/libmikmod/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libmikmod/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libmodbus/all/test_v1_package/CMakeLists.txt b/recipes/libmodbus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libmodbus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmodbus/all/test_v1_package/conanfile.py b/recipes/libmodbus/all/test_v1_package/conanfile.py deleted file mode 100644 index a691174f8ed16..0000000000000 --- a/recipes/libmodbus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - diff --git a/recipes/libmodplug/all/test_v1_package/CMakeLists.txt b/recipes/libmodplug/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libmodplug/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmodplug/all/test_v1_package/conanfile.py b/recipes/libmodplug/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libmodplug/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libmorton/all/test_v1_package/CMakeLists.txt b/recipes/libmorton/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libmorton/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmorton/all/test_v1_package/conanfile.py b/recipes/libmorton/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libmorton/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libmount/all/conandata.yml b/recipes/libmount/all/conandata.yml index d36ca36c23c13..876a74600fc50 100644 --- a/recipes/libmount/all/conandata.yml +++ b/recipes/libmount/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.40.2": + url: "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.40/util-linux-2.40.2.tar.xz" + sha256: "d78b37a66f5922d70edf3bdfb01a6b33d34ed3c3cafd6628203b2a2b67c8e8b3" "2.39.2": url: "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-2.39.2.tar.xz" sha256: "87abdfaa8e490f8be6dde976f7c80b9b5ff9f301e1b67e3899e1f05a59a1531f" @@ -11,6 +14,3 @@ sources: "2.36": url: "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.36/util-linux-2.36.tar.xz" sha256: "9e4b1c67eb13b9b67feb32ae1dc0d50e08ce9e5d82e1cccd0ee771ad2fa9e0b1" - "2.33.1": - url: "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.33/util-linux-2.33.1.tar.xz" - sha256: "c14bd9f3b6e1792b90db87696e87ec643f9d63efa0a424f092a5a6b2f2dbef21" diff --git a/recipes/libmount/all/test_v1_package/CMakeLists.txt b/recipes/libmount/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libmount/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmount/all/test_v1_package/conanfile.py b/recipes/libmount/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libmount/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libmount/config.yml b/recipes/libmount/config.yml index 867141253ca23..d10bf81ca7041 100644 --- a/recipes/libmount/config.yml +++ b/recipes/libmount/config.yml @@ -1,4 +1,6 @@ versions: + "2.40.2": + folder: all "2.39.2": folder: all "2.39": @@ -7,5 +9,3 @@ versions: folder: all "2.36": folder: all - "2.33.1": - folder: all diff --git a/recipes/libmp3lame/all/test_v1_package/CMakeLists.txt b/recipes/libmp3lame/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libmp3lame/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmp3lame/all/test_v1_package/conanfile.py b/recipes/libmp3lame/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libmp3lame/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libmpdclient/all/test_v1_package/CMakeLists.txt b/recipes/libmpdclient/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libmpdclient/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libmpdclient/all/test_v1_package/conanfile.py b/recipes/libmpdclient/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libmpdclient/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libnabo/all/test_v1_package/CMakeLists.txt b/recipes/libnabo/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libnabo/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libnabo/all/test_v1_package/conanfile.py b/recipes/libnabo/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libnabo/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libnet/all/test_v1_package/CMakeLists.txt b/recipes/libnet/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libnet/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libnet/all/test_v1_package/conanfile.py b/recipes/libnet/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libnet/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libnetfilter_conntrack/all/test_v1_package/CMakeLists.txt b/recipes/libnetfilter_conntrack/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libnetfilter_conntrack/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libnetfilter_conntrack/all/test_v1_package/conanfile.py b/recipes/libnetfilter_conntrack/all/test_v1_package/conanfile.py deleted file mode 100644 index ebd551d13e399..0000000000000 --- a/recipes/libnetfilter_conntrack/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - -class Libnetfilter_conntrackTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run("{} {}".format(bin_path, 0), run_environment=True) diff --git a/recipes/libnetfilter_queue/all/test_v1_package/CMakeLists.txt b/recipes/libnetfilter_queue/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libnetfilter_queue/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libnetfilter_queue/all/test_v1_package/conanfile.py b/recipes/libnetfilter_queue/all/test_v1_package/conanfile.py deleted file mode 100644 index 528904ad9f959..0000000000000 --- a/recipes/libnetfilter_queue/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class Libnetfilter_queueTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run("{} {}".format(bin_path, 0), run_environment=True) diff --git a/recipes/libnfnetlink/all/test_v1_package/CMakeLists.txt b/recipes/libnfnetlink/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libnfnetlink/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libnfnetlink/all/test_v1_package/conanfile.py b/recipes/libnfnetlink/all/test_v1_package/conanfile.py deleted file mode 100644 index c8689f282274d..0000000000000 --- a/recipes/libnfnetlink/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class LibnfnetlinkTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/libnfs/all/test_v1_package/CMakeLists.txt b/recipes/libnfs/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libnfs/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libnfs/all/test_v1_package/conanfile.py b/recipes/libnfs/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libnfs/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libnice/all/test_v1_package/CMakeLists.txt b/recipes/libnice/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libnice/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libnice/all/test_v1_package/conanfile.py b/recipes/libnice/all/test_v1_package/conanfile.py deleted file mode 100644 index ecf464197e0a5..0000000000000 --- a/recipes/libnice/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class LibniceTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/libnl/all/conanfile.py b/recipes/libnl/all/conanfile.py index a355e8b21201e..a6e8ec2b93bbb 100644 --- a/recipes/libnl/all/conanfile.py +++ b/recipes/libnl/all/conanfile.py @@ -3,6 +3,8 @@ from conan.tools.layout import basic_layout from conan.tools.gnu import AutotoolsToolchain, Autotools from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -15,6 +17,7 @@ class LibNlConan(ConanFile): homepage = "https://github.com/thom311/libnl" topics = ("netlink") settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "fPIC": [True, False], "shared": [True, False], @@ -45,6 +48,8 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() tc = AutotoolsToolchain(self) tc.generate() @@ -66,14 +71,30 @@ def package_info(self): self.cpp_info.components["nl"].libs = ["nl-3"] self.cpp_info.components["nl"].includedirs = [os.path.join('include', 'libnl3')] self.cpp_info.components["nl"].system_libs = ["pthread", "m"] + self.cpp_info.components["nl"].set_property("pkg_config_name", "libnl-3.0") + self.cpp_info.components["nl-route"].libs = ["nl-route-3"] self.cpp_info.components["nl-route"].requires = ["nl"] + self.cpp_info.components["nl-route"].set_property("pkg_config_name", "libnl-route-3.0") + self.cpp_info.components["nl-genl"].libs = ["nl-genl-3"] self.cpp_info.components["nl-genl"].requires = ["nl"] + self.cpp_info.components["nl-genl"].set_property("pkg_config_name", "libnl-genl-3.0") + self.cpp_info.components["nl-nf"].libs = ["nl-nf-3"] self.cpp_info.components["nl-nf"].requires = ["nl-route"] + self.cpp_info.components["nl-nf"].set_property("pkg_config_name", "libnl-nf-3.0") + self.cpp_info.components["nl-cli"].libs = ["nl-cli-3"] self.cpp_info.components["nl-cli"].requires = ["nl-nf", "nl-genl"] self.cpp_info.components["nl-cli"].system_libs = ["dl"] + self.cpp_info.components["nl-cli"].set_property("pkg_config_name", "libnl-cli-3.0") + self.cpp_info.components["nl-idiag"].libs = ["nl-idiag-3"] self.cpp_info.components["nl-idiag"].requires = ["nl"] + self.cpp_info.components["nl-idiag"].set_property("pkg_config_name", "libnl-idiag-3.0") + + if Version(self.version) >= "3.3.0": + self.cpp_info.components["nl-xfrm"].libs = ["nl-xfrm-3"] + self.cpp_info.components["nl-xfrm"].requires = ["nl"] + self.cpp_info.components["nl-xfrm"].set_property("pkg_config_name", "libnl-xfrm-3.0") diff --git a/recipes/libnl/all/test_package/CMakeLists.txt b/recipes/libnl/all/test_package/CMakeLists.txt index c5d1b19c7a8f9..f6ba7c21f8d96 100644 --- a/recipes/libnl/all/test_package/CMakeLists.txt +++ b/recipes/libnl/all/test_package/CMakeLists.txt @@ -1,7 +1,18 @@ cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) +include(FindPkgConfig) + find_package(libnl REQUIRED CONFIG) +find_package(PkgConfig REQUIRED) +pkg_check_modules(libnl-3.0 REQUIRED IMPORTED_TARGET libnl-3.0) +pkg_check_modules(libnl-route-3.0 REQUIRED IMPORTED_TARGET libnl-route-3.0) +pkg_check_modules(libnl-genl-3.0 REQUIRED IMPORTED_TARGET libnl-genl-3.0) +pkg_check_modules(libnl-nf-3.0 REQUIRED IMPORTED_TARGET libnl-nf-3.0) +pkg_check_modules(libnl-cli-3.0 REQUIRED IMPORTED_TARGET libnl-cli-3.0) +pkg_check_modules(libnl-idiag-3.0 REQUIRED IMPORTED_TARGET libnl-idiag-3.0) +pkg_check_modules(libnl-xfrm-3.0 QUIET IMPORTED_TARGET libnl-xfrm-3.0) + add_executable(${PROJECT_NAME} ${PROJECT_NAME}.c) -target_link_libraries(${PROJECT_NAME} PRIVATE libnl::nl libnl::nl-route libnl::nl-genl libnl::nl-nf libnl::nl-cli libnl::nl-idiag) +target_link_libraries(${PROJECT_NAME} PRIVATE libnl::nl libnl::nl-route libnl::nl-genl libnl::nl-nf libnl::nl-cli libnl::nl-idiag $<$:libnl::nl-xfrm>) diff --git a/recipes/libnl/all/test_package/conanfile.py b/recipes/libnl/all/test_package/conanfile.py index 9b544e8a245c0..813661a00f9e6 100644 --- a/recipes/libnl/all/test_package/conanfile.py +++ b/recipes/libnl/all/test_package/conanfile.py @@ -6,7 +6,7 @@ class NetlinkTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv", "PkgConfigDeps", "VirtualBuildEnv" test_type = "explicit" def layout(self): @@ -15,6 +15,10 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/[>=2.2 <3]") + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/libnoise/all/test_v1_package/CMakeLists.txt b/recipes/libnoise/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libnoise/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libnoise/all/test_v1_package/conanfile.py b/recipes/libnoise/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libnoise/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libnop/all/test_v1_package/CMakeLists.txt b/recipes/libnop/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libnop/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libnop/all/test_v1_package/conanfile.py b/recipes/libnop/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libnop/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libnova/all/test_v1_package/CMakeLists.txt b/recipes/libnova/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libnova/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libnova/all/test_v1_package/conanfile.py b/recipes/libnova/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libnova/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libnuma/all/conandata.yml b/recipes/libnuma/all/conandata.yml index 34ddb5ae1b18a..a2f4fdcdf22c7 100644 --- a/recipes/libnuma/all/conandata.yml +++ b/recipes/libnuma/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.19": + url: "https://github.com/numactl/numactl/releases/download/v2.0.19/numactl-2.0.19.tar.gz" + sha256: "f2672a0381cb59196e9c246bf8bcc43d5568bc457700a697f1a1df762b9af884" "2.0.16": url: "https://github.com/numactl/numactl/releases/download/v2.0.16/numactl-2.0.16.tar.gz" sha256: "1b242f893af977a1d31af6ce9d6b8dafdd2d8ec3dc9207f7c2dc0d3446e7c7c8" diff --git a/recipes/libnuma/all/test_v1_package/CMakeLists.txt b/recipes/libnuma/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libnuma/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libnuma/all/test_v1_package/conanfile.py b/recipes/libnuma/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libnuma/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libnuma/config.yml b/recipes/libnuma/config.yml index e2f73008d4e9a..96481d820a1e4 100644 --- a/recipes/libnuma/config.yml +++ b/recipes/libnuma/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.19": + folder: all "2.0.16": folder: all "2.0.14": diff --git a/recipes/liboping/all/test_v1_package/CMakeLists.txt b/recipes/liboping/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/liboping/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/liboping/all/test_v1_package/conanfile.py b/recipes/liboping/all/test_v1_package/conanfile.py deleted file mode 100644 index b7bbf79eba926..0000000000000 --- a/recipes/liboping/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "arch", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libpcap/all/conanfile.py b/recipes/libpcap/all/conanfile.py index 10fbd7a3b7b60..9023196f55440 100644 --- a/recipes/libpcap/all/conanfile.py +++ b/recipes/libpcap/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import chdir, copy, get, rm, rmdir -from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain, PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version @@ -28,21 +28,22 @@ class LibPcapConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "enable_dbus": [True, False], + "enable_libnl": [True, False], "enable_libusb": [True, False], + "enable_rdma": [True, False], "with_snf": [True, False], } default_options = { "shared": False, "fPIC": True, + "enable_dbus": False, + "enable_libnl": False, "enable_libusb": False, + "enable_rdma": False, "with_snf": False, } - # TODO: Add dbus-glib when available - # TODO: Add libnl-genl when available - # TODO: Add libbluetooth when available - # TODO: Add libibverbs when available - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) @@ -52,6 +53,8 @@ def config_options(self): del self.options.fPIC if self.settings.os != "Linux": del self.options.enable_libusb + del self.options.enable_libnl + del self.options.enable_rdma def configure(self): if self.options.shared: @@ -68,6 +71,13 @@ def layout(self): def requirements(self): if self.options.get_safe("enable_libusb"): self.requires("libusb/1.0.26") + if self.options.get_safe("enable_libnl"): + self.requires("libnl/3.8.0") + if self.options.get_safe("enable_rdma"): + self.requires("rdma-core/52.0") + if self.options.get_safe("enable_dbus"): + self.requires("dbus/1.15.8") + # TODO: Add libbluetooth when available def validate(self): if Version(self.version) < "1.10.0" and self.settings.os == "Macos" and self.options.shared: @@ -80,7 +90,7 @@ def validate(self): def build_requirements(self): if self._settings_build.os == "Windows": - self.tool_requires("winflexbison/2.5.24") + self.tool_requires("winflexbison/2.5.25") else: self.tool_requires("bison/3.8.2") self.tool_requires("flex/2.6.4") @@ -109,24 +119,26 @@ def generate(self): tc = AutotoolsToolchain(self) yes_no = lambda v: "yes" if v else "no" tc.configure_args.extend([ - f"--enable-usb={yes_no(self.options.get_safe('enable_libusb'))}", - "--disable-universal", - "--without-libnl", + "--disable-universal", # don't build universal binaries on macOS + "--enable-usb" if self.options.get_safe("enable_libusb") else "--disable-usb", + "--enable-dbus" if self.options.get_safe("enable_dbus") else "--disable-dbus", + "--enable-rdma" if self.options.get_safe("enable_rdma") else "--disable-rdma", + "--with-libnl" if self.options.get_safe("enable_libnl") else "--without-libnl", "--disable-bluetooth", - "--disable-packet-ring", - "--disable-dbus", - "--disable-rdma", f"--with-snf={yes_no(self.options.get_safe('with_snf'))}", ]) - + if Version(self.version) < "1.10": + tc.configure_args.append("--disable-packet-ring") if cross_building(self): - target_os = "linux" if self.settings.os == "Linux" else "null" + target_os = "linux" if self.settings.os in ["Linux", "Android"] else "null" tc.configure_args.append(f"--with-pcap={target_os}") elif "arm" in self.settings.arch and self.settings.os == "Linux": tc.configure_args.append("--host=arm-linux") tc.generate() AutotoolsDeps(self).generate() + deps = PkgConfigDeps(self) + deps.generate() def build(self): if self.settings.os == "Windows": @@ -175,5 +187,13 @@ def package_info(self): self.cpp_info.libs = [f"pcap{suffix}"] if self.settings.os == "Windows": self.cpp_info.system_libs = ["ws2_32"] + if self.options.get_safe("enable_libusb"): + self.cpp_info.requires.append("libusb::libusb") + if self.options.get_safe("enable_libnl"): + self.cpp_info.requires.append("libnl::nl-genl") + if self.options.get_safe("enable_rdma"): + self.cpp_info.requires.append("rdma-core::libibverbs") + if self.options.get_safe("enable_dbus"): + self.cpp_info.requires.append("dbus::dbus") if self.options.get_safe("with_snf"): self.cpp_info.system_libs.append("snf") diff --git a/recipes/libpciaccess/all/test_v1_package/CMakeLists.txt b/recipes/libpciaccess/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libpciaccess/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libpciaccess/all/test_v1_package/conanfile.py b/recipes/libpciaccess/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libpciaccess/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libpfm4/all/test_v1_package/CMakeLists.txt b/recipes/libpfm4/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 92ff6b140a2cc..0000000000000 --- a/recipes/libpfm4/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(libpfm4 REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE libpfm4::libpfm4) diff --git a/recipes/libpfm4/all/test_v1_package/conanfile.py b/recipes/libpfm4/all/test_v1_package/conanfile.py deleted file mode 100644 index 2490acfa82ff8..0000000000000 --- a/recipes/libpfm4/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libplist/all/conandata.yml b/recipes/libplist/all/conandata.yml new file mode 100644 index 0000000000000..848c190b77593 --- /dev/null +++ b/recipes/libplist/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.6.0": + url: "https://github.com/libimobiledevice/libplist/releases/download/2.6.0/libplist-2.6.0.tar.bz2" + sha256: "67be9ee3169366589c92dc7c22809b90f51911dd9de22520c39c9a64fb047c9c" diff --git a/recipes/libplist/all/conanfile.py b/recipes/libplist/all/conanfile.py new file mode 100644 index 0000000000000..2b02e49b20629 --- /dev/null +++ b/recipes/libplist/all/conanfile.py @@ -0,0 +1,95 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.env import VirtualRunEnv +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=2.1" + +class PackageConan(ConanFile): + name = "libplist" + description = "A small portable C library to handle Apple Property List files in binary, XML, JSON, or OpenStep format." + license = "LGPL-2.1" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/libimobiledevice/libplist" + topics = ("plist", "apple", "property list", "binary", "xml", "json", "openstep") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + implements = ["auto_shared_fpic"] + languages = ["C", "C++"] + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler == "msvc": + raise ConanInvalidConfiguration("libplist does not support MSVC - use MinGW instead") + + def build_requirements(self): + self.tool_requires("libtool/2.4.7") + if self.settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if not cross_building(self): + VirtualRunEnv(self).generate(scope="build") + tc = AutotoolsToolchain(self) + + tc.configure_args.extend([ + # No need for python bindings + "--without-cython", + ]) + tc.generate() + + def build(self): + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + copy(self, "COPYING.LESSER", self.source_folder, os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.components["plist"].libs = ["plist-2.0"] + self.cpp_info.components["plist"].set_property("pkg_config_name", "plist-2.0") + self.cpp_info.components["plist"].set_property("cmake_target_name", "libplist::libplist") + + self.cpp_info.components["plist++"].libs = ["plist++-2.0"] + self.cpp_info.components["plist++"].requires = ["plist"] + self.cpp_info.components["plist++"].set_property("pkg_config_name", "plist++-2.0") + self.cpp_info.components["plist++"].set_property("cmake_target_name", "libplist::libplist++") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["plist"].system_libs.extend(["m", "pthread"]) + self.cpp_info.components["plist++"].system_libs.extend(["m", "pthread"]) + + if not self.options.shared: + self.cpp_info.components["plist"].defines.append("LIBPLIST_STATIC") + self.cpp_info.components["plist++"].defines.append("LIBPLIST_STATIC") diff --git a/recipes/libplist/all/test_package/CMakeLists.txt b/recipes/libplist/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..3f75fcc0f5158 --- /dev/null +++ b/recipes/libplist/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C CXX) + +find_package(libplist REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE libplist::libplist) + +add_executable(${PROJECT_NAME}++ test_package.cpp) +target_link_libraries(${PROJECT_NAME}++ PRIVATE libplist::libplist++) diff --git a/recipes/libplist/all/test_package/conanfile.py b/recipes/libplist/all/test_package/conanfile.py new file mode 100644 index 0000000000000..d36f1e75d8481 --- /dev/null +++ b/recipes/libplist/all/test_package/conanfile.py @@ -0,0 +1,28 @@ +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" + + 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") + + bin_path_cxx = os.path.join(self.cpp.build.bindir, "test_package++") + self.run(bin_path_cxx, env="conanrun") diff --git a/recipes/libplist/all/test_package/test_package.c b/recipes/libplist/all/test_package/test_package.c new file mode 100644 index 0000000000000..0779b29e8d1c4 --- /dev/null +++ b/recipes/libplist/all/test_package/test_package.c @@ -0,0 +1,10 @@ +#include +#include +#include + + +int main(void) { + printf("plist version: %s\n", libplist_version()); + + return EXIT_SUCCESS; +} diff --git a/recipes/libplist/all/test_package/test_package.cpp b/recipes/libplist/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..234f532803d69 --- /dev/null +++ b/recipes/libplist/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include +#include +#include + + +int main(void) { + auto node = new PList::Boolean(true); + printf("node value: %d\n", node->GetValue()); + + return EXIT_SUCCESS; +} diff --git a/recipes/libplist/config.yml b/recipes/libplist/config.yml new file mode 100644 index 0000000000000..fd1c6521f3d05 --- /dev/null +++ b/recipes/libplist/config.yml @@ -0,0 +1,3 @@ +versions: + "2.6.0": + folder: all diff --git a/recipes/libpng/all/test_v1_package/CMakeLists.txt b/recipes/libpng/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libpng/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libpng/all/test_v1_package/conanfile.py b/recipes/libpng/all/test_v1_package/conanfile.py deleted file mode 100644 index 19e6a0c06e3d8..0000000000000 --- a/recipes/libpng/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libpointmatcher/all/test_v1_package/CMakeLists.txt b/recipes/libpointmatcher/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libpointmatcher/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libpointmatcher/all/test_v1_package/conanfile.py b/recipes/libpointmatcher/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libpointmatcher/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libpopcnt/all/conandata.yml b/recipes/libpopcnt/all/conandata.yml new file mode 100644 index 0000000000000..b0127ac4b8ec5 --- /dev/null +++ b/recipes/libpopcnt/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "3.1": + url: "https://github.com/kimwalisch/libpopcnt/archive/refs/tags/v3.1.tar.gz" + sha256: "b4ea061f4c2e5385dff0dd032ad5a16c60dc0dd050391283afb463c0d62c19bd" diff --git a/recipes/libpopcnt/all/conanfile.py b/recipes/libpopcnt/all/conanfile.py new file mode 100644 index 0000000000000..5f7a42a3c6d34 --- /dev/null +++ b/recipes/libpopcnt/all/conanfile.py @@ -0,0 +1,44 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get +import os + +required_conan_version = ">=1.52.0" + +class LibPopcntConan(ConanFile): + name = "libpopcnt" + description = "Fast C/C++ bit population count library" + license = "BSD-2-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/kimwalisch/libpopcnt" + topics = ("popcnt", "popcount", "neon", "avx2", "avx512", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/libpopcnt/all/test_package/CMakeLists.txt b/recipes/libpopcnt/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..999d497c63aec --- /dev/null +++ b/recipes/libpopcnt/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(libpopcnt REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE libpopcnt::libpopcnt) diff --git a/recipes/libpopcnt/all/test_package/conanfile.py b/recipes/libpopcnt/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/libpopcnt/all/test_package/conanfile.py @@ -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") diff --git a/recipes/libpopcnt/all/test_package/test_package.c b/recipes/libpopcnt/all/test_package/test_package.c new file mode 100644 index 0000000000000..6faee9c998607 --- /dev/null +++ b/recipes/libpopcnt/all/test_package/test_package.c @@ -0,0 +1,10 @@ +#include +#include +#include + +int main() { + const char data = 0xff; + uint64_t bits = popcnt(&data, sizeof(char)); + printf("popcnt(0xff) = %" PRIu64 " (expected 8) - Test package successful \n", bits); + return 0; +} diff --git a/recipes/libpopcnt/config.yml b/recipes/libpopcnt/config.yml new file mode 100644 index 0000000000000..992d10eb37c11 --- /dev/null +++ b/recipes/libpopcnt/config.yml @@ -0,0 +1,3 @@ +versions: + "3.1": + folder: all diff --git a/recipes/libpq/all/conandata.yml b/recipes/libpq/all/conandata.yml index bad003ca4bd76..0850907d22d64 100644 --- a/recipes/libpq/all/conandata.yml +++ b/recipes/libpq/all/conandata.yml @@ -11,26 +11,14 @@ sources: "14.9": url: "https://ftp.postgresql.org/pub/source/v14.9/postgresql-14.9.tar.bz2" sha256: "b1fe3ba9b1a7f3a9637dd1656dfdad2889016073fd4d35f13b50143cbbb6a8ef" - "13.12": - url: "https://ftp.postgresql.org/pub/source/v13.12/postgresql-13.12.tar.gz" - sha256: "3aef84ff557087bd01df4365a7a85e11678faa55ab6fb6c4283d57e41997a80c" - "12.16": - url: "https://ftp.postgresql.org/pub/source/v12.16/postgresql-12.16.tar.gz" - sha256: "5cca6efb649bce91d9b3637f935ce8714a86b87b3b1092010f50349a6edde0e9" - "11.21": - url: "https://ftp.postgresql.org/pub/source/v11.21/postgresql-11.21.tar.gz" - sha256: "e48b5d5dc68cd5549ef6258facaaf7941ae8bd1cde56709203846167aa20af04" - "10.23": - url: "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.gz" - sha256: "39886b7fbf375fdd79e94b676d8346a62c3c190ccf00b3f763002c8fc8fb71f0" - "9.6.24": - url: "https://ftp.postgresql.org/pub/source/v9.6.24/postgresql-9.6.24.tar.gz" - sha256: "52947ecc119846eace5164399d173576c0d4a47ec116ae58a46a8fd0c576c7c3" patches: "15.5": - patch_file: "patches/15/001-mingw-build-static-libraries.patch" patch_description: "port MinGW: Enable building static libraries in MinGW." patch_type: "portability" + - patch_file: "patches/15.5/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch" + patch_description: "Fix libpq w/ openssl >=3.2.x" + patch_type: "backport" "15.4": - patch_file: "patches/15/001-mingw-build-static-libraries.patch" patch_description: "port MinGW: Enable building static libraries in MinGW." @@ -46,26 +34,6 @@ patches: patch_description: "Fix libpq w/ openssl >=3.2.x" patch_type: "backport" "14.9": - - patch_file: "patches/13/002-mingw-build-static-libraries.patch" - patch_description: "port MinGW: Enable building static libraries in MinGW." - patch_type: "portability" - "13.12": - - patch_file: "patches/13/002-mingw-build-static-libraries.patch" - patch_description: "port MinGW: Enable building static libraries in MinGW." - patch_type: "portability" - "12.16": - - patch_file: "patches/12/002-mingw-build-static-libraries.patch" - patch_description: "port MinGW: Enable building static libraries in MinGW." - patch_type: "portability" - "11.21": - - patch_file: "patches/10/002-mingw-build-static-libraries.patch" - patch_description: "port MinGW: Enable building static libraries in MinGW." - patch_type: "portability" - "10.23": - - patch_file: "patches/10/002-mingw-build-static-libraries.patch" - patch_description: "port MinGW: Enable building static libraries in MinGW." - patch_type: "portability" - "9.6.24": - - patch_file: "patches/9.6/002-mingw-build-static-libraries.patch" + - patch_file: "patches/14/002-mingw-build-static-libraries.patch" patch_description: "port MinGW: Enable building static libraries in MinGW." patch_type: "portability" diff --git a/recipes/libpq/all/conanfile.py b/recipes/libpq/all/conanfile.py index 03fae8567c8cd..1573938ad29da 100644 --- a/recipes/libpq/all/conanfile.py +++ b/recipes/libpq/all/conanfile.py @@ -66,10 +66,7 @@ def layout(self): def requirements(self): if self.options.with_openssl: - if Version(self.version) < "13.5": - self.requires("openssl/1.1.1w") - else: - self.requires("openssl/[>=1.1 <4]") + self.requires("openssl/[>=1.1 <4]") def build_requirements(self): if is_msvc(self): @@ -183,20 +180,20 @@ def build(self): self.run("perl build.pl libpgport") else: autotools = Autotools(self) - with chdir(self, os.path.join(self.source_folder)): + with chdir(self, os.path.join(self.build_folder)): autotools.configure() - with chdir(self, os.path.join(self.source_folder, "src", "backend")): + with chdir(self, os.path.join(self.build_folder, "src", "backend")): autotools.make(target="generated-headers") - with chdir(self, os.path.join(self.source_folder, "src", "common")): + with chdir(self, os.path.join(self.build_folder, "src", "common")): autotools.make() - with chdir(self, os.path.join(self.source_folder, "src", "include")): + with chdir(self, os.path.join(self.build_folder, "src", "include")): autotools.make() - with chdir(self, os.path.join(self.source_folder, "src", "interfaces", "libpq")): + with chdir(self, os.path.join(self.build_folder, "src", "interfaces", "libpq")): autotools.make() if Version(self.version) >= 12: - with chdir(self, os.path.join(self.source_folder, "src", "port")): + with chdir(self, os.path.join(self.build_folder, "src", "port")): autotools.make() - with chdir(self, os.path.join(self.source_folder, "src", "bin", "pg_config")): + with chdir(self, os.path.join(self.build_folder, "src", "bin", "pg_config")): autotools.make() def _remove_unused_libraries_from_package(self): @@ -233,16 +230,16 @@ def package(self): copy(self, pattern="*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.source_folder, keep_path=False) else: autotools = Autotools(self) - with chdir(self, os.path.join(self.source_folder, "src", "common")): + with chdir(self, os.path.join(self.build_folder, "src", "common")): autotools.install() - with chdir(self, os.path.join(self.source_folder, "src", "include")): + with chdir(self, os.path.join(self.build_folder, "src", "include")): autotools.install() - with chdir(self, os.path.join(self.source_folder, "src", "interfaces", "libpq")): + with chdir(self, os.path.join(self.build_folder, "src", "interfaces", "libpq")): autotools.install() if Version(self.version) >= 12: - with chdir(self, os.path.join(self.source_folder, "src", "port")): + with chdir(self, os.path.join(self.build_folder, "src", "port")): autotools.install() - with chdir(self, os.path.join(self.source_folder, "src", "bin", "pg_config")): + with chdir(self, os.path.join(self.build_folder, "src", "bin", "pg_config")): autotools.install() copy(self, "*.h", src=os.path.join(self.source_folder, "src", "include", "catalog"), dst=os.path.join(self.package_folder, "include", "catalog")) @@ -251,7 +248,7 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "include", "postgresql", "server")) self._remove_unused_libraries_from_package() fix_apple_shared_install_name(self) - copy(self, "*.h", src=os.path.join(self.build_folder, "src", "backend", "catalog"), + copy(self, "*.h", src=os.path.join(self.source_folder, "src", "backend", "catalog"), dst=os.path.join(self.package_folder, "include", "catalog")) def package_info(self): @@ -271,18 +268,16 @@ def package_info(self): if is_msvc(self): self.cpp_info.components["pgport"].libs = ["libpgport"] self.cpp_info.components["pq"].requires.append("pgport") - if Version(self.version) >= "12": - self.cpp_info.components["pgcommon"].libs = ["libpgcommon"] - self.cpp_info.components["pq"].requires.append("pgcommon") + self.cpp_info.components["pgcommon"].libs = ["libpgcommon"] + self.cpp_info.components["pq"].requires.append("pgcommon") else: self.cpp_info.components["pgcommon"].libs = ["pgcommon"] self.cpp_info.components["pq"].requires.append("pgcommon") - if Version(self.version) >= "12": - self.cpp_info.components["pgcommon"].libs.append("pgcommon_shlib") - self.cpp_info.components["pgport"].libs = ["pgport", "pgport_shlib"] - if self.settings.os == "Windows": - self.cpp_info.components["pgport"].system_libs = ["ws2_32"] - self.cpp_info.components["pgcommon"].requires.append("pgport") + self.cpp_info.components["pgcommon"].libs.append("pgcommon_shlib") + self.cpp_info.components["pgport"].libs = ["pgport", "pgport_shlib"] + if self.settings.os == "Windows": + self.cpp_info.components["pgport"].system_libs = ["ws2_32"] + self.cpp_info.components["pgcommon"].requires.append("pgport") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["pq"].system_libs = ["pthread"] diff --git a/recipes/libpq/all/patches/10/002-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/10/002-mingw-build-static-libraries.patch deleted file mode 100644 index bfa322133c73c..0000000000000 --- a/recipes/libpq/all/patches/10/002-mingw-build-static-libraries.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/src/Makefile.shlib -+++ b/src/Makefile.shlib -@@ -371,7 +371,10 @@ else - # Win32 case - - # See notes in src/backend/parser/Makefile about the following two rules --$(stlib): $(shlib) -+$(stlib): $(OBJS) | $(SHLIB_PREREQS) -+ rm -f $@ -+ $(LINK.static) $@ $^ -+ $(RANLIB) $@ - touch $@ - - # XXX A backend that loads a module linked with libgcc_s_dw2-1.dll will exit -@@ -384,12 +387,12 @@ $(stlib): $(shlib) - # Else we just use --export-all-symbols. - ifeq (,$(SHLIB_EXPORTS)) - $(shlib): $(OBJS) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=lib$(NAME).dll.a - else - DLL_DEFFILE = lib$(NAME)dll.def - - $(shlib): $(OBJS) $(DLL_DEFFILE) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=lib$(NAME).dll.a - endif - - endif # PORTNAME == cygwin -@@ -484,6 +487,9 @@ endif # not aix - ifneq (,$(findstring $(PORTNAME),win32 cygwin)) - $(INSTALL_SHLIB) $< '$(DESTDIR)$(bindir)/$(shlib)' - endif -+ifneq (,$(findstring $(PORTNAME),win32)) -+ $(INSTALL_SHLIB) $< '$(DESTDIR)$(libdir)/lib$(NAME).dll.a' -+endif - else # no soname - $(INSTALL_SHLIB) $< '$(DESTDIR)$(pkglibdir)/$(shlib)' - endif diff --git a/recipes/libpq/all/patches/12/002-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/12/002-mingw-build-static-libraries.patch deleted file mode 100644 index ee5dfabdf330e..0000000000000 --- a/recipes/libpq/all/patches/12/002-mingw-build-static-libraries.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/src/Makefile.shlib -+++ b/src/Makefile.shlib -@@ -370,7 +370,10 @@ else - # Win32 case - - # See notes in src/backend/parser/Makefile about the following two rules --$(stlib): $(shlib) -+$(stlib): $(OBJS) | $(SHLIB_PREREQS) -+ rm -f $@ -+ $(LINK.static) $@ $^ -+ $(RANLIB) $@ - touch $@ - - # XXX A backend that loads a module linked with libgcc_s_dw2-1.dll will exit -@@ -383,12 +386,12 @@ $(stlib): $(shlib) - # Else we just use --export-all-symbols. - ifeq (,$(SHLIB_EXPORTS)) - $(shlib): $(OBJS) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=lib$(NAME).dll.a - else - DLL_DEFFILE = lib$(NAME)dll.def - - $(shlib): $(OBJS) $(DLL_DEFFILE) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=lib$(NAME).dll.a - endif - - endif # PORTNAME == cygwin -@@ -483,6 +486,9 @@ endif # not aix - ifneq (,$(findstring $(PORTNAME),win32 cygwin)) - $(INSTALL_SHLIB) $< '$(DESTDIR)$(bindir)/$(shlib)' - endif -+ifneq (,$(findstring $(PORTNAME),win32)) -+ $(INSTALL_SHLIB) $< '$(DESTDIR)$(libdir)/lib$(NAME).dll.a' -+endif - else # no soname - $(INSTALL_SHLIB) $< '$(DESTDIR)$(pkglibdir)/$(shlib)' - endif diff --git a/recipes/libpq/all/patches/13/002-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/14/002-mingw-build-static-libraries.patch similarity index 100% rename from recipes/libpq/all/patches/13/002-mingw-build-static-libraries.patch rename to recipes/libpq/all/patches/14/002-mingw-build-static-libraries.patch diff --git a/recipes/libpq/all/patches/15.5/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch b/recipes/libpq/all/patches/15.5/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch new file mode 100644 index 0000000000000..03514f3a2bc18 --- /dev/null +++ b/recipes/libpq/all/patches/15.5/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch @@ -0,0 +1,193 @@ +From 672103a67aaf0dae5be6c5adcc5ce19e5b6d7676 Mon Sep 17 00:00:00 2001 +From: Tristan Partin +Date: Mon, 27 Nov 2023 11:49:52 -0600 +Subject: [PATCH v1] Use BIO_{get,set}_app_data() instead of + BIO_{get,set}_data() + +Compiling Postgres against OpenSSL 3.2 exposed a regression: + +$ psql "postgresql://$DB?sslmode=require" +psql: error: connection to server at "redacted" (redacted), port 5432 failed: ERROR: Parameter 'user' is missing in startup packet. +double free or corruption (out) +Aborted (core dumped) + +Analyzing the backtrace, openssl was overwriting heap-allocated data in +our PGconn struct because it thought BIO::ptr was a struct bss_sock_st +*. OpenSSL then called a memset() on a member of that struct, and we +zeroed out data in our PGconn struct. + +BIO_get_data(3) says the following: + +> These functions are mainly useful when implementing a custom BIO. +> +> The BIO_set_data() function associates the custom data pointed to by ptr +> with the BIO a. This data can subsequently be retrieved via a call to +> BIO_get_data(). This can be used by custom BIOs for storing +> implementation specific information. + +If you take a look at my_BIO_s_socket(), we create a partially custom +BIO, but for the most part are defaulting to the methods defined by +BIO_s_socket(). We need to set application-specific data and not BIO +private data, so that the BIO implementation we rely on, can properly +assert that its private data is what it expects. + +Rebased against libpq15 + +Co-authored-by: Bo Andreson +--- + src/backend/libpq/be-secure-openssl.c | 11 +++-------- + src/include/pg_config.h.in | 3 --- + src/interfaces/libpq/fe-secure-openssl.c | 20 +++----------------- + src/tools/msvc/Solution.pm | 2 -- + 4 files changed, 6 insertions(+), 30 deletions(-) + +diff --git a/configure b/configure +index d83a402ea1..d55440cd6a 100755 +--- a/configure ++++ b/configure +@@ -13239,7 +13239,7 @@ done + # defines OPENSSL_VERSION_NUMBER to claim version 2.0.0, even though it + # doesn't have these OpenSSL 1.1.0 functions. So check for individual + # functions. +- for ac_func in OPENSSL_init_ssl BIO_get_data BIO_meth_new ASN1_STRING_get0_data HMAC_CTX_new HMAC_CTX_free ++ for ac_func in OPENSSL_init_ssl BIO_meth_new ASN1_STRING_get0_data HMAC_CTX_new HMAC_CTX_free + do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` + ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +diff --git a/configure.ac b/configure.ac +index 570daced81..2bc752ca1a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1347,7 +1347,7 @@ if test "$with_ssl" = openssl ; then + # defines OPENSSL_VERSION_NUMBER to claim version 2.0.0, even though it + # doesn't have these OpenSSL 1.1.0 functions. So check for individual + # functions. +- AC_CHECK_FUNCS([OPENSSL_init_ssl BIO_get_data BIO_meth_new ASN1_STRING_get0_data HMAC_CTX_new HMAC_CTX_free]) ++ AC_CHECK_FUNCS([OPENSSL_init_ssl BIO_meth_new ASN1_STRING_get0_data HMAC_CTX_new HMAC_CTX_free]) + # OpenSSL versions before 1.1.0 required setting callback functions, for + # thread-safety. In 1.1.0, it's no longer required, and CRYPTO_lock() + # function was removed. +diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c +index f5c5ed210e..aed8a75345 100644 +--- a/src/backend/libpq/be-secure-openssl.c ++++ b/src/backend/libpq/be-secure-openssl.c +@@ -839,11 +839,6 @@ be_tls_write(Port *port, void *ptr, size_t len, int *waitfor) + * to retry; do we need to adopt their logic for that? + */ + +-#ifndef HAVE_BIO_GET_DATA +-#define BIO_get_data(bio) (bio->ptr) +-#define BIO_set_data(bio, data) (bio->ptr = data) +-#endif +- + static BIO_METHOD *my_bio_methods = NULL; + + static int +@@ -853,7 +848,7 @@ my_sock_read(BIO *h, char *buf, int size) + + if (buf != NULL) + { +- res = secure_raw_read(((Port *) BIO_get_data(h)), buf, size); ++ res = secure_raw_read(((Port *) BIO_get_app_data(h)), buf, size); + BIO_clear_retry_flags(h); + if (res <= 0) + { +@@ -873,7 +868,7 @@ my_sock_write(BIO *h, const char *buf, int size) + { + int res = 0; + +- res = secure_raw_write(((Port *) BIO_get_data(h)), buf, size); ++ res = secure_raw_write(((Port *) BIO_get_app_data(h)), buf, size); + BIO_clear_retry_flags(h); + if (res <= 0) + { +@@ -949,7 +944,7 @@ my_SSL_set_fd(Port *port, int fd) + SSLerr(SSL_F_SSL_SET_FD, ERR_R_BUF_LIB); + goto err; + } +- BIO_set_data(bio, port); ++ BIO_set_app_data(bio, port); + + BIO_set_fd(bio, fd, BIO_NOCLOSE); + SSL_set_bio(port->ssl, bio, bio); +diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in +index d09e9f9a1c..768e3d719c 100644 +--- a/src/include/pg_config.h.in ++++ b/src/include/pg_config.h.in +@@ -77,9 +77,6 @@ + /* Define to 1 if you have the `backtrace_symbols' function. */ + #undef HAVE_BACKTRACE_SYMBOLS + +-/* Define to 1 if you have the `BIO_get_data' function. */ +-#undef HAVE_BIO_GET_DATA +- + /* Define to 1 if you have the `BIO_meth_new' function. */ + #undef HAVE_BIO_METH_NEW + +diff --git a/src/interfaces/libpq/fe-secure-openssl.c b/src/interfaces/libpq/fe-secure-openssl.c +index af59ff49f7..8d68d023e9 100644 +--- a/src/interfaces/libpq/fe-secure-openssl.c ++++ b/src/interfaces/libpq/fe-secure-openssl.c +@@ -1800,11 +1800,6 @@ PQsslAttribute(PGconn *conn, const char *attribute_name) + * to retry; do we need to adopt their logic for that? + */ + +-#ifndef HAVE_BIO_GET_DATA +-#define BIO_get_data(bio) (bio->ptr) +-#define BIO_set_data(bio, data) (bio->ptr = data) +-#endif +- + static BIO_METHOD *my_bio_methods; + + static int +@@ -1812,7 +1807,7 @@ my_sock_read(BIO *h, char *buf, int size) + { + int res; + +- res = pqsecure_raw_read((PGconn *) BIO_get_data(h), buf, size); ++ res = pqsecure_raw_read((PGconn *) BIO_get_app_data(h), buf, size); + BIO_clear_retry_flags(h); + if (res < 0) + { +@@ -1842,7 +1837,7 @@ my_sock_write(BIO *h, const char *buf, int size) + { + int res; + +- res = pqsecure_raw_write((PGconn *) BIO_get_data(h), buf, size); ++ res = pqsecure_raw_write((PGconn *) BIO_get_app_data(h), buf, size); + BIO_clear_retry_flags(h); + if (res < 0) + { +@@ -1933,7 +1928,7 @@ my_SSL_set_fd(PGconn *conn, int fd) + SSLerr(SSL_F_SSL_SET_FD, ERR_R_BUF_LIB); + goto err; + } +- BIO_set_data(bio, conn); ++ BIO_set_app_data(bio, conn); + + SSL_set_bio(conn->ssl, bio, bio); + BIO_set_fd(bio, fd, BIO_NOCLOSE); +diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm +index 790f03b05e..a53239fa28 100644 +--- a/src/tools/msvc/Solution.pm ++++ b/src/tools/msvc/Solution.pm +@@ -226,7 +226,6 @@ sub GenerateFiles + HAVE_ATOMICS => 1, + HAVE_ATOMIC_H => undef, + HAVE_BACKTRACE_SYMBOLS => undef, +- HAVE_BIO_GET_DATA => undef, + HAVE_BIO_METH_NEW => undef, + HAVE_CLOCK_GETTIME => undef, + HAVE_COMPUTED_GOTO => undef, +@@ -566,7 +565,6 @@ sub GenerateFiles + || ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0')) + { + $define{HAVE_ASN1_STRING_GET0_DATA} = 1; +- $define{HAVE_BIO_GET_DATA} = 1; + $define{HAVE_BIO_METH_NEW} = 1; + $define{HAVE_HMAC_CTX_FREE} = 1; + $define{HAVE_HMAC_CTX_NEW} = 1; +-- +Tristan Partin +Neon (https://neon.tech) + diff --git a/recipes/libpq/all/patches/9.6/002-mingw-build-static-libraries.patch b/recipes/libpq/all/patches/9.6/002-mingw-build-static-libraries.patch deleted file mode 100644 index c81e02bd78f53..0000000000000 --- a/recipes/libpq/all/patches/9.6/002-mingw-build-static-libraries.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/src/Makefile.shlib -+++ b/src/Makefile.shlib -@@ -384,7 +384,10 @@ else - # Win32 case - - # See notes in src/backend/parser/Makefile about the following two rules --$(stlib): $(shlib) -+$(stlib): $(OBJS) | $(SHLIB_PREREQS) -+ rm -f $@ -+ $(LINK.static) $@ $^ -+ $(RANLIB) $@ - touch $@ - - # XXX A backend that loads a module linked with libgcc_s_dw2-1.dll will exit -@@ -397,12 +400,12 @@ $(stlib): $(shlib) - # Else we just use --export-all-symbols. - ifeq (,$(SHLIB_EXPORTS)) - $(shlib): $(OBJS) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--export-all-symbols -Wl,--out-implib=lib$(NAME).dll.a - else - DLL_DEFFILE = lib$(NAME)dll.def - - $(shlib): $(OBJS) $(DLL_DEFFILE) | $(SHLIB_PREREQS) -- $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=$(stlib) -+ $(CC) $(CFLAGS) -shared -static-libgcc -o $@ $(OBJS) $(DLL_DEFFILE) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) -Wl,--out-implib=lib$(NAME).dll.a - endif - - endif # PORTNAME == cygwin -@@ -505,6 +508,9 @@ endif # not aix - ifneq (,$(findstring $(PORTNAME),win32 cygwin)) - $(INSTALL_SHLIB) $< '$(DESTDIR)$(bindir)/$(shlib)' - endif -+ifneq (,$(findstring $(PORTNAME),win32)) -+ $(INSTALL_SHLIB) $< '$(DESTDIR)$(libdir)/lib$(NAME).dll.a' -+endif - else # no soname - $(INSTALL_SHLIB) $< '$(DESTDIR)$(pkglibdir)/$(shlib)' - endif diff --git a/recipes/libpq/config.yml b/recipes/libpq/config.yml index d16e671201aae..19b1302f9490d 100644 --- a/recipes/libpq/config.yml +++ b/recipes/libpq/config.yml @@ -7,13 +7,3 @@ versions: folder: all "14.9": folder: all - "13.12": - folder: all - "12.16": - folder: all - "11.21": - folder: all - "10.23": - folder: all - "9.6.24": - folder: all diff --git a/recipes/libpqxx/all/test_v1_package/CMakeLists.txt b/recipes/libpqxx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libpqxx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libpqxx/all/test_v1_package/conanfile.py b/recipes/libpqxx/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/libpqxx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libproperties/all/test_v1_package/CMakeLists.txt b/recipes/libproperties/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libproperties/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libproperties/all/test_v1_package/conanfile.py b/recipes/libproperties/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a71089bfc92a..0000000000000 --- a/recipes/libproperties/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class LibpropertiesTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libpsl/all/conandata.yml b/recipes/libpsl/all/conandata.yml index 0f43ba25d532c..e5c0466a70cd9 100644 --- a/recipes/libpsl/all/conandata.yml +++ b/recipes/libpsl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.21.5": + url: "https://github.com/rockdaboot/libpsl/releases/download/0.21.5/libpsl-0.21.5.tar.gz" + sha256: "1dcc9ceae8b128f3c0b3f654decd0e1e891afc6ff81098f227ef260449dae208" "0.21.1": url: "https://github.com/rockdaboot/libpsl/releases/download/0.21.1/libpsl-0.21.1.tar.gz" sha256: "ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c" diff --git a/recipes/libpsl/all/conanfile.py b/recipes/libpsl/all/conanfile.py index 0de3f9766ed38..cb6be159c755e 100644 --- a/recipes/libpsl/all/conanfile.py +++ b/recipes/libpsl/all/conanfile.py @@ -1,13 +1,14 @@ +import os + from conan import ConanFile from conan.tools.apple import fix_apple_shared_install_name -from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain -import os +from conan.tools.scm import Version -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0" class LibPslConan(ConanFile): @@ -48,18 +49,18 @@ def layout(self): def requirements(self): if self.options.with_idna == "icu": - self.requires("icu/73.2") + self.requires("icu/74.1") elif self.options.with_idna == "libidn": self.requires("libidn/1.36") elif self.options.with_idna == "libidn2": self.requires("libidn2/2.3.0") if self.options.with_idna in ("libidn", "libidn2"): - self.requires("libunistring/0.9.10") + self.requires("libunistring/1.1") def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/[>=1.2.3 <2]") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/[>=2.2.0 <3]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -72,11 +73,15 @@ def _idna_option(self): }.get(str(self.options.with_idna), str(self.options.with_idna)) def generate(self): - env = VirtualBuildEnv(self) - env.generate() tc = MesonToolchain(self) tc.project_options["runtime"] = self._idna_option - tc.project_options["builtin"] = self._idna_option + if Version(self.version) >= "0.21.5": + tc.project_options["builtin"] = "true" if self.options.with_idna else "false" + tc.project_options["tests"] = "false" # disable tests and fuzzes + else: + tc.project_options["builtin"] = self._idna_option + if not self.options.shared: + tc.preprocessor_definitions["PSL_STATIC"] = "1" tc.generate() deps = PkgConfigDeps(self) deps.generate() @@ -94,6 +99,7 @@ def package(self): meson.install() rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) fix_apple_shared_install_name(self) fix_msvc_libname(self) diff --git a/recipes/libpsl/all/test_v1_package/CMakeLists.txt b/recipes/libpsl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libpsl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libpsl/all/test_v1_package/conanfile.py b/recipes/libpsl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libpsl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libpsl/config.yml b/recipes/libpsl/config.yml index 079bf2c67f869..00068fd9ad17d 100644 --- a/recipes/libpsl/config.yml +++ b/recipes/libpsl/config.yml @@ -1,3 +1,5 @@ versions: + "0.21.5": + folder: "all" "0.21.1": folder: "all" diff --git a/recipes/libq/all/conandata.yml b/recipes/libq/all/conandata.yml new file mode 100644 index 0000000000000..10ff9b4c84e7a --- /dev/null +++ b/recipes/libq/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "0.0.0.cci.20180504": + url: "https://github.com/grantila/q/archive/0117848bb3e6f0b130b546bc5851caf5f95f8b7e.zip" + sha256: "f5e51c1abbbec8e6da2155740917d7f1f60628745363ebd4e2aadfd7ef2ff682" +patches: + "0.0.0.cci.20180504": + - patch_file: "patches/0001-cmake-remove-hardcoded-flags.patch" + patch_description: "Remove hardcoded flags from CMakeLists.txt" + patch_type: "conan" diff --git a/recipes/libq/all/conanfile.py b/recipes/libq/all/conanfile.py new file mode 100644 index 0000000000000..b6fe5082c71c6 --- /dev/null +++ b/recipes/libq/all/conanfile.py @@ -0,0 +1,90 @@ +import os + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rm, rmdir, export_conandata_patches, apply_conandata_patches +from conan.tools.microsoft import is_msvc +from conan.tools.apple import fix_apple_shared_install_name + +required_conan_version = ">=2.1" + +class libqConan(ConanFile): + name = "libq" + description = "A platform-independent promise library for C++, implementing asynchronous continuations." + license = "Apache-2.0" + topics = ("async", "promises") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/grantila/q" + settings = "os", "compiler", "build_type", "arch" + package_type = "library" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + implements = ["auto_shared_fpic"] + + def layout(self): + cmake_layout(self, src_folder="src") + + def export_sources(self): + export_conandata_patches(self) + + def configure(self): + if self.settings.os == "Windows": + self.package_type = "static-library" + del self.options.shared + if self.options.get_safe("shared"): + self.options.rm_safe("fPIC") + + def validate(self): + check_min_cppstd(self, 11) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + apply_conandata_patches(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["q_BUILD_TESTS"] = False + tc.variables["q_BUILD_APPS"] = False + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + fix_apple_shared_install_name(self) + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + suffix = "" + if is_msvc(self) and self.settings.build_type == "Debug": + suffix = "d" + self.cpp_info.libs = ["q" + suffix] + self.cpp_info.set_property("cmake_file_name", "libq") + self.cpp_info.set_property("cmake_target_name", "libq::libq") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + self.cpp_info.system_libs.append("pthread") + self.cpp_info.system_libs.append("dl") + + if is_msvc(self): + self.cpp_info.cxxflags.append("/bigobj") diff --git a/recipes/libq/all/patches/0001-cmake-remove-hardcoded-flags.patch b/recipes/libq/all/patches/0001-cmake-remove-hardcoded-flags.patch new file mode 100644 index 0000000000000..228613f851cb1 --- /dev/null +++ b/recipes/libq/all/patches/0001-cmake-remove-hardcoded-flags.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/compilersetup.cmake b/cmake/compilersetup.cmake +index e550442..8ee19f7 100644 +--- a/cmake/compilersetup.cmake ++++ b/cmake/compilersetup.cmake +@@ -15,7 +15,6 @@ set( CMAKE_CXX_EXTENSIONS OFF ) + if ( CMAKE_CXX_COMPILER_ID MATCHES "GNU" ) + + if ( CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9 ) +- set( CMAKE_CXX_FLAGS "-std=c++11 -Wall -pipe -pthread" ) + endif ( ) + + if ( NOT CMAKE_CXX_FLAGS ) +@@ -82,9 +81,6 @@ elseif ( CMAKE_CXX_COMPILER_ID MATCHES "MSVC" ) + set( CMAKE_DEBUG_POSTFIX "d" ) + add_definitions( "/bigobj" ) + +- set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd" ) +- set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT" ) +- + else ( ) + + q_warning( "untested compiler: ${CMAKE_CXX_COMPILER}" ) diff --git a/recipes/libq/all/test_package/CMakeLists.txt b/recipes/libq/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..72178581766a4 --- /dev/null +++ b/recipes/libq/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) # if the project uses c++ + +find_package(libq REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE libq::libq) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/libq/all/test_package/conanfile.py b/recipes/libq/all/test_package/conanfile.py new file mode 100644 index 0000000000000..02eb5ce439fb4 --- /dev/null +++ b/recipes/libq/all/test_package/conanfile.py @@ -0,0 +1,27 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +# It will become the standard on Conan 2.x +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/libq/all/test_package/test_package.cpp b/recipes/libq/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..52347690f10f3 --- /dev/null +++ b/recipes/libq/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include +#include +#include + + +int main(void) { + q::initialize(); + std::cout << "q initialized correctly" << std::endl; + q::uninitialize(); + return EXIT_SUCCESS; +} diff --git a/recipes/libq/config.yml b/recipes/libq/config.yml new file mode 100644 index 0000000000000..209de68dc5235 --- /dev/null +++ b/recipes/libq/config.yml @@ -0,0 +1,3 @@ +versions: + "0.0.0.cci.20180504": + folder: all diff --git a/recipes/libqasm/all/conandata.yml b/recipes/libqasm/all/conandata.yml index 11f0ecaaf3931..4c6694628c66f 100644 --- a/recipes/libqasm/all/conandata.yml +++ b/recipes/libqasm/all/conandata.yml @@ -1,10 +1,16 @@ sources: + "0.6.9": + url: "https://github.com/QuTech-Delft/libqasm/releases/download/0.6.9/libqasm-0.6.9.tar.gz" + sha256: "23c5d0e4e506e1974668408f8018034d1b1303e65c6d2d28639eae9499759c4d" + "0.6.8": + url: "https://github.com/QuTech-Delft/libqasm/releases/download/0.6.8/libqasm-0.6.8.tar.gz" + sha256: "b98ff44f0c569a0cc20b3728ba7d4711299aaac07d4dadfe52e638b366b91251" "0.6.7": - url: "https://github.com/QuTech-Delft/libqasm/archive/refs/tags/0.6.7.tar.gz" + url: "https://github.com/QuTech-Delft/libqasm/releases/download/0.6.7/libqasm-0.6.7.tar.gz" sha256: "3e85be4f433b178b89e32bc738bd4f69266cd1c4ad0ed12b5367381ac6e44eb2" "0.6.6": - url: "https://github.com/QuTech-Delft/libqasm/archive/refs/tags/0.6.6.tar.gz" + url: "https://github.com/QuTech-Delft/libqasm/releases/download/0.6.6/libqasm-0.6.6.tar.gz" sha256: "b3a2d1670f8865ce22bcc62c6a696ee7e0764a7b76901a4f082efa2287e0cbad" "0.6.5": - url: "https://github.com/QuTech-Delft/libqasm/archive/refs/tags/0.6.5.tar.gz" + url: "https://github.com/QuTech-Delft/libqasm/releases/download/0.6.5/libqasm-0.6.5.tar.gz" sha256: "0577622a512d1f64892949af02abe3d0b53195ad454045715a0ebf837ecde0d6" diff --git a/recipes/libqasm/all/test_package/src/test_package.cpp b/recipes/libqasm/all/test_package/src/test_package.cpp index d961b8daa4a16..07ad803c4364b 100644 --- a/recipes/libqasm/all/test_package/src/test_package.cpp +++ b/recipes/libqasm/all/test_package/src/test_package.cpp @@ -1,8 +1,11 @@ +#if __has_include("cqasm.hpp") #include "cqasm.hpp" +#else +#include "libqasm/cqasm.hpp" +#endif #include - int main() { auto analyzer = cqasm::v3x::default_analyzer(); auto result = analyzer.analyze_string("version 3.0; qubit[2] q; H q[0]; CNOT q[0], q[1]; measure q", ""); diff --git a/recipes/libqasm/config.yml b/recipes/libqasm/config.yml index 70cd514abf1d8..6279f9f461edf 100644 --- a/recipes/libqasm/config.yml +++ b/recipes/libqasm/config.yml @@ -1,4 +1,8 @@ versions: + "0.6.9": + folder: all + "0.6.8": + folder: all "0.6.7": folder: all "0.6.6": diff --git a/recipes/libqrencode/all/test_v1_package/CMakeLists.txt b/recipes/libqrencode/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libqrencode/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libqrencode/all/test_v1_package/conanfile.py b/recipes/libqrencode/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libqrencode/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libraw/all/conanfile.py b/recipes/libraw/all/conanfile.py index 27f826a27275a..d77cb1f6c1d38 100644 --- a/recipes/libraw/all/conanfile.py +++ b/recipes/libraw/all/conanfile.py @@ -62,7 +62,7 @@ def requirements(self): elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.3") if self.options.with_lcms: - self.requires("lcms/2.14") + self.requires("lcms/2.16") if self.options.with_jasper: self.requires("jasper/4.0.0") diff --git a/recipes/libraw/all/test_v1_package/CMakeLists.txt b/recipes/libraw/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libraw/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libraw/all/test_v1_package/conanfile.py b/recipes/libraw/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/libraw/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/librdkafka/all/conandata.yml b/recipes/librdkafka/all/conandata.yml index 8eee4feaf9f9f..f4429a7e57f9f 100644 --- a/recipes/librdkafka/all/conandata.yml +++ b/recipes/librdkafka/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "2.6.1": + url: "https://github.com/edenhill/librdkafka/archive/v2.6.1.tar.gz" + sha256: "0ddf205ad8d36af0bc72a2fec20639ea02e1d583e353163bf7f4683d949e901b" + "2.6.0": + url: "https://github.com/edenhill/librdkafka/archive/v2.6.0.tar.gz" + sha256: "abe0212ecd3e7ed3c4818a4f2baf7bf916e845e902bb15ae48834ca2d36ac745" "2.5.3": url: "https://github.com/edenhill/librdkafka/archive/v2.5.3.tar.gz" sha256: "eaa1213fdddf9c43e28834d9a832d9dd732377d35121e42f875966305f52b8ff" @@ -21,6 +27,20 @@ sources: url: "https://github.com/edenhill/librdkafka/archive/v1.9.2.tar.gz" sha256: "3fba157a9f80a0889c982acdd44608be8a46142270a389008b22d921be1198ad" patches: + "2.6.1": + - patch_file: patches/0001-Change-library-names-1-9-1.patch + patch_description: "find_package conan packages" + patch_type: "conan" + - patch_file: patches/0002-Change-library-targets-and-result-variables-2-5-0.patch + patch_description: "refer conan package names" + patch_type: "conan" + "2.6.0": + - patch_file: patches/0001-Change-library-names-1-9-1.patch + patch_description: "find_package conan packages" + patch_type: "conan" + - patch_file: patches/0002-Change-library-targets-and-result-variables-2-5-0.patch + patch_description: "refer conan package names" + patch_type: "conan" "2.5.3": - patch_file: patches/0001-Change-library-names-1-9-1.patch patch_description: "find_package conan packages" diff --git a/recipes/librdkafka/all/test_v1_package/CMakeLists.txt b/recipes/librdkafka/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/librdkafka/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/librdkafka/all/test_v1_package/conanfile.py b/recipes/librdkafka/all/test_v1_package/conanfile.py deleted file mode 100644 index 2be697c561678..0000000000000 --- a/recipes/librdkafka/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - bin_path = os.path.join("bin", "test_package_cpp") - self.run(bin_path, run_environment=True) diff --git a/recipes/librdkafka/config.yml b/recipes/librdkafka/config.yml index eeb9c91785a59..fdc866ea2efee 100644 --- a/recipes/librdkafka/config.yml +++ b/recipes/librdkafka/config.yml @@ -1,4 +1,8 @@ versions: + "2.6.1": + folder: all + "2.6.0": + folder: all "2.5.3": folder: all "2.5.0": diff --git a/recipes/librealsense/all/test_v1_package/CMakeLists.txt b/recipes/librealsense/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/librealsense/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/librealsense/all/test_v1_package/conanfile.py b/recipes/librealsense/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/librealsense/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libressl/all/test_v1_package/CMakeLists.txt b/recipes/libressl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libressl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libressl/all/test_v1_package/conanfile.py b/recipes/libressl/all/test_v1_package/conanfile.py deleted file mode 100644 index 19e6a0c06e3d8..0000000000000 --- a/recipes/libressl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/librhash/all/test_v1_package/CMakeLists.txt b/recipes/librhash/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/librhash/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/librhash/all/test_v1_package/conanfile.py b/recipes/librhash/all/test_v1_package/conanfile.py deleted file mode 100644 index 2c7657d70d5d9..0000000000000 --- a/recipes/librhash/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class SolaceTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/librttopo/all/test_v1_package/CMakeLists.txt b/recipes/librttopo/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/librttopo/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/librttopo/all/test_v1_package/conanfile.py b/recipes/librttopo/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/librttopo/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libsafec/all/test_v1_package/CMakeLists.txt b/recipes/libsafec/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libsafec/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libsafec/all/test_v1_package/conanfile.py b/recipes/libsafec/all/test_v1_package/conanfile.py deleted file mode 100644 index 043b77522562f..0000000000000 --- a/recipes/libsafec/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import CMake, ConanFile, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libsamplerate/all/test_v1_package/CMakeLists.txt b/recipes/libsamplerate/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libsamplerate/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libsamplerate/all/test_v1_package/conanfile.py b/recipes/libsamplerate/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libsamplerate/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libsass/all/test_v1_package/CMakeLists.txt b/recipes/libsass/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libsass/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libsass/all/test_v1_package/conanfile.py b/recipes/libsass/all/test_v1_package/conanfile.py deleted file mode 100644 index 814aa7bbb26c7..0000000000000 --- a/recipes/libsass/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class LibsassTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libschrift/all/conanfile.py b/recipes/libschrift/all/conanfile.py index 949296527320a..403894f67a231 100644 --- a/recipes/libschrift/all/conanfile.py +++ b/recipes/libschrift/all/conanfile.py @@ -12,8 +12,8 @@ class LibschriftConan(ConanFile): topics = ("truetype", "suckless", ) url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/tomolt/libschrift" - license = "ISC", - + license = ("ISC",) + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], diff --git a/recipes/libschrift/all/test_package/OpenSans-Bold.ttf b/recipes/libschrift/all/test_package/OpenSans-Bold.ttf deleted file mode 100644 index fd79d43bea029..0000000000000 Binary files a/recipes/libschrift/all/test_package/OpenSans-Bold.ttf and /dev/null differ diff --git a/recipes/libschrift/all/test_package/conanfile.py b/recipes/libschrift/all/test_package/conanfile.py index d4c18b77de306..0a6bc68712d90 100644 --- a/recipes/libschrift/all/test_package/conanfile.py +++ b/recipes/libschrift/all/test_package/conanfile.py @@ -23,5 +23,4 @@ def build(self): def test(self): if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - font_path = os.path.join(self.source_folder, "OpenSans-Bold.ttf") - self.run(f"{bin_path} {font_path}", env="conanrun") + self.run(bin_path, env="conanrun") diff --git a/recipes/libschrift/all/test_package/test_package.c b/recipes/libschrift/all/test_package/test_package.c index 154c09dca4013..3217d119826cb 100644 --- a/recipes/libschrift/all/test_package/test_package.c +++ b/recipes/libschrift/all/test_package/test_package.c @@ -1,7 +1,10 @@ +#include +#include + #include "schrift.h" -int main(int argc, char* argv[]) { - sft_loadfile(argv[1]); +int main(void) { + printf("Schrift version: %s\n", sft_version()); - return 0; + return EXIT_SUCCESS; } diff --git a/recipes/libschrift/all/test_v1_package/CMakeLists.txt b/recipes/libschrift/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index a36c74cedeb93..0000000000000 --- a/recipes/libschrift/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(libschrift REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE libschrift::libschrift) diff --git a/recipes/libschrift/all/test_v1_package/conanfile.py b/recipes/libschrift/all/test_v1_package/conanfile.py deleted file mode 100644 index da2d908b1d4a7..0000000000000 --- a/recipes/libschrift/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - font_path = os.path.join(self.source_folder, os.pardir, "test_package", "OpenSans-Bold.ttf") - self.run(f"{bin_path} {font_path}", run_environment=True) diff --git a/recipes/libsecret/all/test_v1_package/CMakeLists.txt b/recipes/libsecret/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libsecret/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libsecret/all/test_v1_package/conanfile.py b/recipes/libsecret/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libsecret/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libselinux/all/test_v1_package/CMakeLists.txt b/recipes/libselinux/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libselinux/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libselinux/all/test_v1_package/conanfile.py b/recipes/libselinux/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libselinux/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libserial/all/test_v1_package/CMakeLists.txt b/recipes/libserial/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libserial/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libserial/all/test_v1_package/conanfile.py b/recipes/libserial/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/libserial/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libsgp4/all/test_v1_package/CMakeLists.txt b/recipes/libsgp4/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libsgp4/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libsgp4/all/test_v1_package/conanfile.py b/recipes/libsgp4/all/test_v1_package/conanfile.py deleted file mode 100644 index 2b79c5abc2774..0000000000000 --- a/recipes/libsgp4/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - tle_name = os.path.join(self.source_folder, os.pardir, "test_package", "SGP4-VER.TLE") - self.run(f"{bin_path} {tle_name}", run_environment=True) diff --git a/recipes/libsixel/all/conanfile.py b/recipes/libsixel/all/conanfile.py index 941e12b139215..2dd78a289a478 100644 --- a/recipes/libsixel/all/conanfile.py +++ b/recipes/libsixel/all/conanfile.py @@ -66,7 +66,7 @@ def requirements(self): if self.options.with_jpeg: self.requires("libjpeg/9e") if self.options.with_png: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") def validate(self): if hasattr(self, "settings_build") and cross_building(self): @@ -75,9 +75,9 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} does not support Visual Studio") def build_requirements(self): - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/[>=1.2.3 <2]") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/[>=2.2 <3]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/libsixel/all/test_v1_package/CMakeLists.txt b/recipes/libsixel/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libsixel/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libsixel/all/test_v1_package/conanfile.py b/recipes/libsixel/all/test_v1_package/conanfile.py deleted file mode 100644 index e556cc050d509..0000000000000 --- a/recipes/libsixel/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libslz/all/test_v1_package/CMakeLists.txt b/recipes/libslz/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libslz/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libslz/all/test_v1_package/conanfile.py b/recipes/libslz/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libslz/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libsmacker/all/test_v1_package/CMakeLists.txt b/recipes/libsmacker/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libsmacker/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libsmacker/all/test_v1_package/conanfile.py b/recipes/libsmacker/all/test_v1_package/conanfile.py deleted file mode 100644 index 3c3f444e8cad9..0000000000000 --- a/recipes/libsmacker/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,15 +0,0 @@ -from conans import ConanFile, CMake - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - # No free .smk file to test. - pass diff --git a/recipes/libsndfile/all/conanfile.py b/recipes/libsndfile/all/conanfile.py index 6ce8582b64685..d59d2e8b609fe 100644 --- a/recipes/libsndfile/all/conanfile.py +++ b/recipes/libsndfile/all/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.microsoft import is_msvc, is_msvc_static_runtime @@ -28,6 +29,7 @@ class LibsndfileConan(ConanFile): "with_alsa": [True, False], "with_external_libs": [True, False], "with_mpeg": [True, False], + "with_sndio": [True, False], } default_options = { "shared": False, @@ -37,6 +39,7 @@ class LibsndfileConan(ConanFile): "with_alsa": False, "with_external_libs": True, "with_mpeg": True, + "with_sndio": False, } def export_sources(self): @@ -52,11 +55,20 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def validate(self): + if self.options.with_sndio: + if self.dependencies["libsndio"].options.get_safe("with_alsa") and not self.options.get_safe("with_alsa"): + raise ConanInvalidConfiguration(f"{self.ref} 'with_alsa' option should be True when the libsndio 'with_alsa' one is True") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): + if self.options.with_sndio: + self.requires("libsndio/1.9.0", options={"with_alsa": self.options.get_safe("with_alsa")}) if self.options.get_safe("with_alsa"): self.requires("libalsa/1.2.10") if self.options.with_external_libs: @@ -64,7 +76,7 @@ def requirements(self): self.requires("vorbis/1.3.7") self.requires("flac/1.4.2") self.requires("opus/1.4") - if self.options.get_safe("with_mpeg", False): + if self.options.get_safe("with_mpeg"): self.requires("mpg123/1.31.2") self.requires("libmp3lame/3.100") @@ -73,8 +85,7 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["CMAKE_DISABLE_FIND_PACKAGE_Sndio"] = True # FIXME: missing sndio cci recipe (check whether it is really required) - tc.variables["CMAKE_DISABLE_FIND_PACKAGE_Speex"] = True # FIXME: missing sndio cci recipe (check whether it is really required) + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_Speex"] = True # FIXME: missing speex cci recipe (check whether it is really required) tc.variables["CMAKE_DISABLE_FIND_PACKAGE_SQLite3"] = True # only used for regtest tc.variables["ENABLE_EXTERNAL_LIBS"] = self.options.with_external_libs if not self.options.with_external_libs: @@ -120,27 +131,21 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "SndFile") self.cpp_info.set_property("cmake_target_name", "SndFile::sndfile") self.cpp_info.set_property("pkg_config_name", "sndfile") - # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed - self.cpp_info.components["sndfile"].libs = ["sndfile"] + self.cpp_info.libs = ["sndfile"] + if self.options.with_sndio: + self.cpp_info.requires.append("libsndio::libsndio") if self.options.with_external_libs: - self.cpp_info.components["sndfile"].requires.extend([ + self.cpp_info.requires.extend([ "ogg::ogg", "vorbis::vorbismain", "vorbis::vorbisenc", "flac::flac", "opus::opus", ]) if self.options.get_safe("with_mpeg", False): - self.cpp_info.components["sndfile"].requires.append("mpg123::mpg123") - self.cpp_info.components["sndfile"].requires.append("libmp3lame::libmp3lame") + self.cpp_info.requires.append("mpg123::mpg123") + self.cpp_info.requires.append("libmp3lame::libmp3lame") if self.options.get_safe("with_alsa"): - self.cpp_info.components["sndfile"].requires.append("libalsa::libalsa") + self.cpp_info.requires.append("libalsa::libalsa") if not self.options.shared: if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["sndfile"].system_libs = ["m", "dl", "pthread", "rt"] + self.cpp_info.system_libs = ["m", "dl", "pthread", "rt"] elif self.settings.os == "Windows": - self.cpp_info.components["sndfile"].system_libs.append("winmm") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.names["cmake_find_package"] = "SndFile" - self.cpp_info.names["cmake_find_package_multi"] = "SndFile" - self.cpp_info.components["sndfile"].set_property("cmake_target_name", "SndFile::sndfile") - if self.options.programs: - self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) + self.cpp_info.system_libs.append("winmm") \ No newline at end of file diff --git a/recipes/libsndfile/all/test_package/CMakeLists.txt b/recipes/libsndfile/all/test_package/CMakeLists.txt index 3fb4ef12f8bc8..c6050edfee50e 100644 --- a/recipes/libsndfile/all/test_package/CMakeLists.txt +++ b/recipes/libsndfile/all/test_package/CMakeLists.txt @@ -1,7 +1,10 @@ cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +project(test_package LANGUAGES C CXX) find_package(SndFile REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE SndFile::sndfile) +add_executable(${PROJECT_NAME}_c test_package.c) +target_link_libraries(${PROJECT_NAME}_c PRIVATE SndFile::sndfile) + +add_executable(${PROJECT_NAME}_cxx test_package.cpp) +target_link_libraries(${PROJECT_NAME}_cxx PRIVATE SndFile::sndfile) diff --git a/recipes/libsndfile/all/test_package/conanfile.py b/recipes/libsndfile/all/test_package/conanfile.py index 0a6bc68712d90..cc3db8ee5d1af 100644 --- a/recipes/libsndfile/all/test_package/conanfile.py +++ b/recipes/libsndfile/all/test_package/conanfile.py @@ -22,5 +22,7 @@ def build(self): def test(self): if can_run(self): - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + bin_path = os.path.join(self.cpp.build.bindir, "test_package_c") + self.run(bin_path, env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "test_package_cxx") self.run(bin_path, env="conanrun") diff --git a/recipes/libsndfile/all/test_package/test_package.c b/recipes/libsndfile/all/test_package/test_package.c new file mode 100644 index 0000000000000..ef4f2a16fbf4e --- /dev/null +++ b/recipes/libsndfile/all/test_package/test_package.c @@ -0,0 +1,14 @@ +#include "sndfile.h" + +#include + +int main(int argc, char *argv[]) { + if (argc < 2) { + puts("Usage: example \n"); + return 0; + } + SF_INFO sfinfo; + SNDFILE *infile = sf_open (argv[1], SFM_READ, &sfinfo); + printf("Sample rate: %d\n", sfinfo.samplerate); + return 0; +} diff --git a/recipes/libsndfile/all/test_package/test_package.cpp b/recipes/libsndfile/all/test_package/test_package.cpp index 2f577c46055c5..c21e7e86b6c71 100644 --- a/recipes/libsndfile/all/test_package/test_package.cpp +++ b/recipes/libsndfile/all/test_package/test_package.cpp @@ -9,9 +9,9 @@ int main(int argc, char *argv[]) { if (argc < 2) { std::cout << "Usage: example \n"; - } else { - SndfileHandle handle(argv[1]); - std::cout << "Sample rate: " << handle.samplerate() << "\n"; + return 0; } + SndfileHandle handle(argv[1]); + std::cout << "Sample rate: " << handle.samplerate() << "\n"; return 0; } diff --git a/recipes/libsndfile/all/test_v1_package/CMakeLists.txt b/recipes/libsndfile/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libsndfile/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libsndfile/all/test_v1_package/conanfile.py b/recipes/libsndfile/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libsndfile/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libsndio/all/conanfile.py b/recipes/libsndio/all/conanfile.py index adf05fa3505c4..8275a8426bd82 100644 --- a/recipes/libsndio/all/conanfile.py +++ b/recipes/libsndio/all/conanfile.py @@ -24,7 +24,7 @@ class LibsndioConan(ConanFile): "with_alsa": [True, False] } default_options = { - "with_alsa": True, + "with_alsa": False, } def configure(self): @@ -91,7 +91,7 @@ def generate(self): # The original project source has a hand-written `configure` script that does not expose # many hooks for specifying additional build flags and library dependencies. Because the script is # not auto-generated with Autotools, the standard Conan workflow of using AutoolsDeps is not possible. - # The one hook the script does provide is a command line arg: `CC=*|CFLAGS=*|LDFLAGS=*|AR=*)`. + # The one hook the script does provide is a command line arg: `CC=*|CFLAGS=*|LDFLAGS=*|AR=*)`. # We use this to inject the various flags, paths, and libraries that the Conan dependency tree specifies. dep_cflags = [] dep_ldflags = [] @@ -122,23 +122,13 @@ def generate(self): def build(self): autotools = Autotools(self) - if Version(self.version) > "1.2.4": - autotools.configure() - autotools.make() - else: - with chdir(self, self.source_folder): - autotools.configure() - autotools.make() + autotools.configure() + autotools.make() def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - if Version(self.version) > "1.2.4": - autotools = Autotools(self) - autotools.install() - else: - with chdir(self, self.source_folder): - autotools = Autotools(self) - autotools.install() + autotools = Autotools(self) + autotools.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) rmdir(self, os.path.join(self.package_folder, "bin")) diff --git a/recipes/libsodium/all/conandata.yml b/recipes/libsodium/all/conandata.yml index c399471111c38..011a9515014e0 100644 --- a/recipes/libsodium/all/conandata.yml +++ b/recipes/libsodium/all/conandata.yml @@ -1,6 +1,9 @@ # To update the version on CCI, add a new cci.date entry from the stable branch: # https://github.com/jedisct1/libsodium/commits/stable sources: + "1.0.20": + url: "https://github.com/jedisct1/libsodium/archive/1.0.20-RELEASE.tar.gz" + sha256: "8e5aeca07a723a27bbecc3beef14b0068d37e7fc0e97f51b3f1c82d2a58005c1" "1.0.19": url: "https://github.com/jedisct1/libsodium/releases/download/1.0.19-RELEASE/libsodium-1.0.19.tar.gz" sha256: "018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea" diff --git a/recipes/libsodium/config.yml b/recipes/libsodium/config.yml index 4dfbbb5c3d410..124484cdfba0a 100644 --- a/recipes/libsodium/config.yml +++ b/recipes/libsodium/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.20": + folder: all "1.0.19": folder: all "1.0.18": diff --git a/recipes/libsolace/all/test_v1_package/CMakeLists.txt b/recipes/libsolace/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libsolace/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libsolace/all/test_v1_package/conanfile.py b/recipes/libsolace/all/test_v1_package/conanfile.py deleted file mode 100644 index 890f8e01b2489..0000000000000 --- a/recipes/libsolace/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class SolaceTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - # Current dir is "test_package/build/" and CMakeLists.txt is - # in "test_package" - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - with tools.chdir("bin"): - self.run(".%sexample" % os.sep, run_environment=True) diff --git a/recipes/libspatialindex/all/test_v1_package/CMakeLists.txt b/recipes/libspatialindex/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libspatialindex/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libspatialindex/all/test_v1_package/conanfile.py b/recipes/libspatialindex/all/test_v1_package/conanfile.py deleted file mode 100644 index 302285c48aded..0000000000000 --- a/recipes/libspatialindex/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path_c = os.path.join("bin", "test_package_c") - self.run(bin_path_c, run_environment=True) - bin_path_cpp = os.path.join("bin", "test_package_cpp") - self.run(bin_path_cpp, run_environment=True) diff --git a/recipes/libspng/all/test_v1_package/CMakeLists.txt b/recipes/libspng/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libspng/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libspng/all/test_v1_package/conanfile.py b/recipes/libspng/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libspng/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libsquish/all/test_v1_package/CMakeLists.txt b/recipes/libsquish/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libsquish/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libsquish/all/test_v1_package/conanfile.py b/recipes/libsquish/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libsquish/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libsrtp/all/test_v1_package/CMakeLists.txt b/recipes/libsrtp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libsrtp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libsrtp/all/test_v1_package/conanfile.py b/recipes/libsrtp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libsrtp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libssh2/all/conandata.yml b/recipes/libssh2/all/conandata.yml index 46c0ee9468864..c8e5373109020 100644 --- a/recipes/libssh2/all/conandata.yml +++ b/recipes/libssh2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.11.1": + sha256: 9954cb54c4f548198a7cbebad248bdc87dd64bd26185708a294b2b50771e3769 + url: https://github.com/libssh2/libssh2/releases/download/libssh2-1.11.1/libssh2-1.11.1.tar.xz "1.11.0": sha256: a488a22625296342ddae862de1d59633e6d446eff8417398e06674a49be3d7c2 url: https://github.com/libssh2/libssh2/releases/download/libssh2-1.11.0/libssh2-1.11.0.tar.xz diff --git a/recipes/libssh2/all/conanfile.py b/recipes/libssh2/all/conanfile.py index 3ccfe30d867cc..693bcb37db269 100644 --- a/recipes/libssh2/all/conanfile.py +++ b/recipes/libssh2/all/conanfile.py @@ -1,12 +1,12 @@ from conan import ConanFile from conan.tools.apple import fix_apple_shared_install_name from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, collect_libs +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, collect_libs, replace_in_file from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.7" class Libssh2Conan(ConanFile): @@ -43,6 +43,11 @@ def export_sources(self): def layout(self): cmake_layout(self, src_folder="src") + @property + def _mbedtls_cmake_package_name(self): + pkg_name = "mbedTLS" if Version(self.version) < "1.11.1" else "MbedTLS" + return pkg_name + def generate(self): tc = CMakeToolchain(self) tc.cache_variables["ENABLE_ZLIB_COMPRESSION"] = self.options.with_zlib @@ -66,6 +71,8 @@ def generate(self): tc.generate() deps = CMakeDeps(self) + deps.set_property("mbedtls", "cmake_file_name", self._mbedtls_cmake_package_name) + deps.set_property("mbedtls", "cmake_additional_variables_prefixes", ["MBEDTLS"]) deps.generate() def config_options(self): @@ -90,10 +97,16 @@ def requirements(self): else: self.requires("mbedtls/2.28.4") + def build_requirements(self): + self.tool_requires("cmake/[>=3.20 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) apply_conandata_patches(self) + cmakelists = os.path.join("src", "CMakeLists.txt") if Version(self.version) <= "1.10" else "CMakeLists.txt" + replace_in_file(self, os.path.join(self.source_folder, cmakelists), "MBEDTLS_FOUND", f"{self._mbedtls_cmake_package_name}_FOUND") + def build(self): cmake = CMake(self) cmake.configure() @@ -120,10 +133,6 @@ def package_info(self): self.cpp_info.components["_libssh2"].system_libs.extend(["pthread", "dl"]) # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.names["cmake_find_package"] = "Libssh2" - self.cpp_info.names["cmake_find_package_multi"] = "Libssh2" - self.cpp_info.components["_libssh2"].names["cmake_find_package"] = "libssh2" - self.cpp_info.components["_libssh2"].names["cmake_find_package_multi"] = "libssh2" self.cpp_info.components["_libssh2"].set_property("cmake_target_name", "Libssh2::libssh2") self.cpp_info.components["_libssh2"].set_property("pkg_config_name", "libssh2") if self.options.with_zlib: diff --git a/recipes/libssh2/config.yml b/recipes/libssh2/config.yml index 3cada2e5e398c..344cf19e3fd11 100644 --- a/recipes/libssh2/config.yml +++ b/recipes/libssh2/config.yml @@ -1,4 +1,6 @@ versions: + "1.11.1": + folder: all "1.11.0": folder: all "1.10.0": diff --git a/recipes/libstudxml/1.0.x/test_v1_package/CMakeLists.txt b/recipes/libstudxml/1.0.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libstudxml/1.0.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libstudxml/1.0.x/test_v1_package/conanfile.py b/recipes/libstudxml/1.0.x/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libstudxml/1.0.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libstudxml/1.1.x/test_v1_package/CMakeLists.txt b/recipes/libstudxml/1.1.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libstudxml/1.1.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libstudxml/1.1.x/test_v1_package/conanfile.py b/recipes/libstudxml/1.1.x/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libstudxml/1.1.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libsvm/all/test_v1_package/CMakeLists.txt b/recipes/libsvm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libsvm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libsvm/all/test_v1_package/conanfile.py b/recipes/libsvm/all/test_v1_package/conanfile.py deleted file mode 100644 index c1c8554eae243..0000000000000 --- a/recipes/libsvm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building - -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libsvtav1/all/conandata.yml b/recipes/libsvtav1/all/conandata.yml index cef6d3411b8ae..8c117ffecbdcd 100644 --- a/recipes/libsvtav1/all/conandata.yml +++ b/recipes/libsvtav1/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.1": + url: "https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v2.2.1/SVT-AV1-v2.2.1.tar.gz" + sha256: "d02b54685542de0236bce4be1b50912aba68aff997c43b350d84a518df0cf4e5" "2.1.2": url: "https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v2.1.2/SVT-AV1-v2.1.2.tar.gz" sha256: "65e90af18f31f8c8d2e9febf909a7d61f36172536abb25a7089f152210847cd9" diff --git a/recipes/libsvtav1/all/conanfile.py b/recipes/libsvtav1/all/conanfile.py index 4e96d05b0f57b..a9af58bd0bf79 100644 --- a/recipes/libsvtav1/all/conanfile.py +++ b/recipes/libsvtav1/all/conanfile.py @@ -23,6 +23,12 @@ class SVTAV1Conan(ConanFile): "build_encoder": [True, False], "build_decoder": [True, False], "minimal_build": [True, False], + "with_neon": [True, False], + "with_arm_crc32": [True, False], + "with_neon_dotprod": [True, False], + "with_neon_i8mm": [True, False], + "with_neon_sve": [True, False], + "with_neon_sve2": [True, False], } default_options = { "shared": False, @@ -30,6 +36,12 @@ class SVTAV1Conan(ConanFile): "build_encoder": True, "build_decoder": True, "minimal_build": False, + "with_neon": True, + "with_arm_crc32": True, + "with_neon_dotprod": True, + "with_neon_i8mm": True, + "with_neon_sve": True, + "with_neon_sve2": True, } def export_sources(self): @@ -43,6 +55,13 @@ def config_options(self): if Version(self.version) >= "2.1.1": # https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/c949fe4f14fe288a9b2b47aa3e61335422a83645/CHANGELOG.md#211---2024-06-25 del self.options.build_decoder + if Version(self.version) < "2.2.1" or self.settings.arch not in ("armv8", "armv8.3"): + del self.options.with_neon + del self.options.with_arm_crc32 + del self.options.with_neon_dotprod + del self.options.with_neon_i8mm + del self.options.with_neon_sve + del self.options.with_neon_sve2 def configure(self): if self.options.shared: @@ -79,6 +98,19 @@ def generate(self): if self.settings.arch in ("x86", "x86_64"): tc.variables["ENABLE_NASM"] = True tc.variables["MINIMAL_BUILD"] = self.options.get_safe("minimal_build", False) + if "with_neon" in self.options: + tc.variables["ENABLE_NEON"] = self.options.with_neon + if "with_arm_crc32" in self.options: + tc.variables["ENABLE_ARM_CRC32"] = self.options.with_arm_crc32 + if "with_neon_dotprod" in self.options: + tc.variables["ENABLE_NEON_DOTPROD"] = self.options.with_neon_dotprod + if "with_neon_i8mm" in self.options: + tc.variables["ENABLE_NEON_i8MM"] = self.options.with_neon_i8mm + if "with_sve" in self.options: + tc.variables["ENABLE_SVE"] = self.options.with_sve + if "with_sve2" in self.options: + tc.variables["ENABLE_SVE2"] = self.options.with_sve2 + tc.generate() deps = CMakeDeps(self) deps.generate() diff --git a/recipes/libsvtav1/all/test_v1_package/CMakeLists.txt b/recipes/libsvtav1/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libsvtav1/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libsvtav1/all/test_v1_package/conanfile.py b/recipes/libsvtav1/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/libsvtav1/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libsvtav1/config.yml b/recipes/libsvtav1/config.yml index 510ab3b3cd3f2..b7b7bfc2cde82 100644 --- a/recipes/libsvtav1/config.yml +++ b/recipes/libsvtav1/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.1": + folder: all "2.1.2": folder: all "2.1.0": diff --git a/recipes/libsystemd/all/test_v1_package/CMakeLists.txt b/recipes/libsystemd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libsystemd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libsystemd/all/test_v1_package/conanfile.py b/recipes/libsystemd/all/test_v1_package/conanfile.py deleted file mode 100644 index b3607270e232e..0000000000000 --- a/recipes/libsystemd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "pkg_config" - - def build_requirements(self): - self.build_requires("pkgconf/2.0.3") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libtar/all/test_v1_package/CMakeLists.txt b/recipes/libtar/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libtar/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libtar/all/test_v1_package/conanfile.py b/recipes/libtar/all/test_v1_package/conanfile.py deleted file mode 100644 index ace7da972a9e0..0000000000000 --- a/recipes/libtar/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,39 +0,0 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanException -import os -import tarfile - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - with tarfile.open("test.tar", "w", format=tarfile.GNU_FORMAT) as f: - import io - bio = io.BytesIO() - bio.write(b"secret text\n") - tarinfo = tarfile.TarInfo("hello_world") - tarinfo.size = bio.tell() - import time - tarinfo.mtime = time.time() - bio.seek(0) - f.addfile(tarinfo, bio) - - if not tools.cross_building(self): - if os.path.exists("hello_world"): - raise ConanException("file extracted by tar archive should not exist yet") - bin_path = os.path.join("bin", "test_package") - self.run(f"{bin_path} test.tar", run_environment=True) - if not os.path.exists("hello_world"): - raise ConanException("file not extracted") - extracted_text = tools.load("hello_world") - if extracted_text != "secret text\n": - raise ConanException(f"File not loaded correctly. Got \"{repr(extracted_text)}\"") - - self.run("libtar -t test.tar", run_environment=True) diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index d4918b7ef9fb6..52a5afb9847a5 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -67,7 +67,7 @@ def requirements(self): if self.options.libdeflate: self.requires("libdeflate/1.19") if self.options.lzma: - self.requires("xz_utils/5.4.5") + self.requires("xz_utils/[>=5.4.5 <6]") if self.options.jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.jpeg == "libjpeg-turbo": diff --git a/recipes/libtool/all/test_v1_package/autotools/Makefile.am b/recipes/libtool/all/test_v1_package/autotools/Makefile.am deleted file mode 100644 index aae3d3042e762..0000000000000 --- a/recipes/libtool/all/test_v1_package/autotools/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ -# @configure_input@ - -bin_PROGRAMS = test_package -lib_LTLIBRARIES = libtestlib.la - -test_package_SOURCES = test_package.c -test_package_LDADD = libtestlib.la - -libtestlib_la_SOURCES = lib.c -libtestlib_la_LDFLAGS = -no-undefined -export-symbols "$(srcdir)/libtestlib.sym" -include_HEADERS = lib.h - -# ACLOCAL_AMFLAGS = -I m4 diff --git a/recipes/libtool/all/test_v1_package/autotools/configure.ac b/recipes/libtool/all/test_v1_package/autotools/configure.ac deleted file mode 100644 index e56278b3ae822..0000000000000 --- a/recipes/libtool/all/test_v1_package/autotools/configure.ac +++ /dev/null @@ -1,41 +0,0 @@ -AC_PREREQ(2.69) -# Must init the autoconf setup -# The first parameter is project name -# second is version number -# third is bug report address -AC_INIT([test_package], [1.0]) - -# Safety checks in case user overwritten --srcdir -AC_CONFIG_SRCDIR([test_package.c]) - -# Store the auxiliary build tools (e.g., install-sh, config.sub, config.guess) -# in this dir (build-aux) -AC_CONFIG_AUX_DIR([build-aux]) -# AC_CONFIG_MACRO_DIRS([m4]) - -# Init automake, and specify this program use relaxed structures. -# i.e. this program doesn't follow the gnu coding standards, and doesn't have -# ChangeLog, COPYING, AUTHORS, INSTALL, README etc. files. -AM_INIT_AUTOMAKE([-Wall -Werror foreign]) - -# Check for CC and CXX compiler -AC_PROG_CC -AC_PROG_CXX - -# Check for archiver -AM_PROG_AR - -LT_PREREQ([2.4.6]) -LT_INIT([win32-dll]) - -AC_SEARCH_LIBS([sqrt], [m]) - -## We can add more checks in this section -# -## Tells automake to create a Makefile -## See https://www.gnu.org/software/automake/manual/html_node/Requirements.html -AC_CONFIG_FILES([Makefile]) - -## Generate the output -AC_CONFIG_HEADERS([config.h]) -AC_OUTPUT diff --git a/recipes/libtool/all/test_v1_package/autotools/lib.c b/recipes/libtool/all/test_v1_package/autotools/lib.c deleted file mode 100644 index a633facec2691..0000000000000 --- a/recipes/libtool/all/test_v1_package/autotools/lib.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "testlib_private.h" - -#include -#include - -double my_function(double val) { - fprintf(stderr, "inside my_function(%e)\n", val); - return sqrt(val); -} - -TESTLIB_API const int libtestlib_value = 42; diff --git a/recipes/libtool/all/test_v1_package/autotools/lib.h b/recipes/libtool/all/test_v1_package/autotools/lib.h deleted file mode 100644 index 170f9676735dc..0000000000000 --- a/recipes/libtool/all/test_v1_package/autotools/lib.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef TESTLIB_LIB_H -#define TESTLIB_LIB_H - -#if defined(_WIN32) -# define TESTLIB_IMPORT_SHARED __declspec(dllimport) -# define TESTLIB_EXPORT_SHARED __declspec(dllexport) -# define TESTLIB_IMPORT_STATIC -# define TESTLIB_EXPORT_STATIC -#else -# define TESTLIB_IMPORT_SHARED -# define TESTLIB_EXPORT_SHARED -# define TESTLIB_IMPORT_STATIC -# define TESTLIB_EXPORT_STATIC -#endif - -#if defined(LIBTEST_BUILDING) -# define TESTLIB_SHARED TESTLIB_EXPORT_SHARED -# define TESTLIB_STATIC TESTLIB_EXPORT_STATIC -#else -# define TESTLIB_SHARED TESTLIB_IMPORT_SHARED -# define TESTLIB_STATIC TESTLIB_IMPORT_STATIC -#endif - -#if defined(LIBHELLO_STATIC) -# define TESTLIB_API TESTLIB_STATIC -#else -# define TESTLIB_API TESTLIB_SHARED -#endif - -double my_function(double); - -extern TESTLIB_API const int libtestlib_value; - -#endif // TESTLIB_LIB_H diff --git a/recipes/libtool/all/test_v1_package/autotools/libtestlib.sym b/recipes/libtool/all/test_v1_package/autotools/libtestlib.sym deleted file mode 100644 index 8464fb190369d..0000000000000 --- a/recipes/libtool/all/test_v1_package/autotools/libtestlib.sym +++ /dev/null @@ -1,2 +0,0 @@ -my_function -libtestlib_value diff --git a/recipes/libtool/all/test_v1_package/autotools/test_package.c b/recipes/libtool/all/test_v1_package/autotools/test_package.c deleted file mode 100644 index 4fd8442a6895e..0000000000000 --- a/recipes/libtool/all/test_v1_package/autotools/test_package.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "lib.h" - -#include - -int main(int argc, char * argv[]) -{ - double res = my_function(1.44); - printf("Result is %e\n", res); - printf("The secret value is %d\n", libtestlib_value); - return 0; -} diff --git a/recipes/libtool/all/test_v1_package/autotools/testlib_private.h b/recipes/libtool/all/test_v1_package/autotools/testlib_private.h deleted file mode 100644 index 81831aee0dc1f..0000000000000 --- a/recipes/libtool/all/test_v1_package/autotools/testlib_private.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef TESTLIB_PRIVATE_H -#define TESTLIB_PRIVATE_H - -#define LIBTEST_BUILDING - -#include "lib.h" - -#endif // TESTLIB_PRIVATE_H diff --git a/recipes/libtool/all/test_v1_package/conanfile.py b/recipes/libtool/all/test_v1_package/conanfile.py deleted file mode 100644 index 4b29d6a395ef7..0000000000000 --- a/recipes/libtool/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,159 +0,0 @@ -from conans import AutoToolsBuildEnvironment, CMake, ConanFile, tools -from contextlib import contextmanager -import glob -import os -import shutil - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - test_type = "explicit" - short_paths = True - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - def requirements(self): - self.requires(self.tested_reference_str) # Needed as a requirement for CMake to see libraries - - def build_requirements(self): - if hasattr(self, "settings_build") and not tools.cross_building(self): - self.build_requires(self.tested_reference_str) - self.build_requires("automake/1.16.5") # Needed for aclocal called by autoreconf - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - - @contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self.settings): - with tools.environment_append({ - "CC": "cl -nologo", - "CXX": "cl -nologo", - }): - yield - else: - yield - - @property - def _package_folder(self): - return os.path.join(self.build_folder, "package") - - def _build_autotools(self): - """ Test autotools integration """ - # Copy autotools directory to build folder - shutil.copytree(os.path.join(self.source_folder, "autotools"), os.path.join(self.build_folder, "autotools")) - with tools.chdir("autotools"): - self.run("autoreconf --install --verbose -Wall", win_bash=tools.os_info.is_windows) - - tools.mkdir(self._package_folder) - conf_args = [ - "--prefix={}".format(tools.unix_path(self._package_folder)), - "--enable-shared", "--enable-static", - ] - - os.mkdir("bin_autotools") - with tools.chdir("bin_autotools"): - with self._build_context(): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - autotools.libs = [] - autotools.configure(args=conf_args, configure_dir=os.path.join(self.build_folder, "autotools")) - autotools.make(args=["V=1"]) - autotools.install() - - def _test_autotools(self): - assert os.path.isdir(os.path.join(self._package_folder, "bin")) - assert os.path.isfile(os.path.join(self._package_folder, "include", "lib.h")) - assert os.path.isdir(os.path.join(self._package_folder, "lib")) - - if not tools.cross_building(self): - self.run(os.path.join(self._package_folder, "bin", "test_package"), run_environment=True) - - def _build_ltdl(self): - """ Build library using ltdl library """ - with self._build_context(): - if self.settings.compiler == "Visual Studio": - cmake = CMake(self, generator="NMake Makefiles") - else: - cmake = CMake(self) - cmake.configure(source_folder="ltdl") - cmake.build() - - def _test_ltdl(self): - """ Test library using ltdl library""" - lib_suffix = { - "Linux": "so", - "FreeBSD": "so", - "Macos": "dylib", - "Windows": "dll", - }[str(self.settings.os)] - - if not tools.cross_building(self): - bin_path = tools.unix_path(os.path.join("bin", "test_package")) - libdir = "bin" if self.settings.os == "Windows" else "lib" - lib_path = tools.unix_path(os.path.join(libdir, "liba.{}".format(lib_suffix))) - self.run("{} {}".format(bin_path, lib_path), run_environment=True, win_bash=tools.os_info.is_windows) - - def _build_static_lib_in_shared(self): - """ Build shared library using libtool (while linking to a static library) """ - - # Copy static-in-shared directory to build folder - autotools_folder = os.path.join(self.build_folder, "sis") - shutil.copytree(os.path.join(self.source_folder, "sis"), autotools_folder) - - install_prefix = os.path.join(autotools_folder, "prefix") - - # Build static library using CMake - with self._build_context(): - if self.settings.compiler == "Visual Studio": - cmake = CMake(self, generator="NMake Makefiles") - else: - cmake = CMake(self) - cmake.definitions["CMAKE_INSTALL_PREFIX"] = install_prefix - cmake.configure(source_folder=autotools_folder, build_folder=os.path.join(autotools_folder, "cmake_build")) - cmake.build() - cmake.install() - - # Copy autotools directory to build folder - with tools.chdir(autotools_folder): - self.run("autoreconf -ifv -Wall", win_bash=tools.os_info.is_windows) - - with tools.chdir(autotools_folder): - conf_args = [ - "--enable-shared", - "--disable-static", - "--prefix={}".format(tools.unix_path(os.path.join(install_prefix))), - ] - with self._build_context(): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - autotools.libs = [] - autotools.link_flags.append("-L{}".format(tools.unix_path(os.path.join(install_prefix, "lib")))) - autotools.configure(args=conf_args, configure_dir=autotools_folder) - autotools.make(args=["V=1"]) - autotools.install() - - def _test_static_lib_in_shared(self): - """ Test existence of shared library """ - install_prefix = os.path.join(self.build_folder, "sis", "prefix") - - with tools.chdir(install_prefix): - if self.settings.os == "Windows": - assert len(list(glob.glob(os.path.join("bin", "*.dll")))) > 0 - elif tools.is_apple_os(self.settings.os): - assert len(list(glob.glob(os.path.join("lib", "*.dylib")))) > 0 - else: - assert len(list(glob.glob(os.path.join("lib", "*.so")))) > 0 - - def build(self): - self._build_ltdl() - if not tools.cross_building(self): - self._build_autotools() - self._build_static_lib_in_shared() - - def test(self): - self._test_ltdl() - if not tools.cross_building(self): - self._test_autotools() - self._test_static_lib_in_shared() diff --git a/recipes/libtool/all/test_v1_package/ltdl/CMakeLists.txt b/recipes/libtool/all/test_v1_package/ltdl/CMakeLists.txt deleted file mode 100644 index 7fc6140320af7..0000000000000 --- a/recipes/libtool/all/test_v1_package/ltdl/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -include(GenerateExportHeader) - -add_library(liba SHARED liba.c) -generate_export_header(liba) -target_include_directories(liba - PUBLIC $ -) -set_property(TARGET liba PROPERTY PREFIX "") - -add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -target_include_directories(test_package - PUBLIC "$" -) diff --git a/recipes/libtool/all/test_v1_package/ltdl/liba.c b/recipes/libtool/all/test_v1_package/ltdl/liba.c deleted file mode 100644 index 790903848f667..0000000000000 --- a/recipes/libtool/all/test_v1_package/ltdl/liba.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "liba_export.h" - -LIBA_EXPORT -int liba_function(int arg) { - return 2 * arg; -} diff --git a/recipes/libtool/all/test_v1_package/ltdl/test_package.c b/recipes/libtool/all/test_v1_package/ltdl/test_package.c deleted file mode 100644 index 51329f415f56f..0000000000000 --- a/recipes/libtool/all/test_v1_package/ltdl/test_package.c +++ /dev/null @@ -1,36 +0,0 @@ -#include "ltdl.h" - -#include -#include - -typedef int (*liba_func_t)(int); - -int main(int argc, char **argv) -{ - if (argc < 2) { - fprintf(stderr, "Need an argument\n"); - return EXIT_FAILURE; - } - const char* libname = argv[1]; - lt_dlinit(); - - fprintf(stderr, "lt_dlopenext(\"%s\")\n", libname); - lt_dlhandle ltdl_liba = lt_dlopenext(libname); - if (!ltdl_liba) { - fprintf(stderr, "lt_dlopenext failed.\n"); - return EXIT_FAILURE; - } - - liba_func_t liba_func = (liba_func_t) lt_dlsym(ltdl_liba, "liba_function"); - int res = liba_func(21); - printf("Result is %d\n", res); - if (res != 42) { - fprintf(stderr, "Result is incorrect\n"); - return EXIT_FAILURE; - } - - lt_dlclose(ltdl_liba); - - lt_dlexit(); - return EXIT_SUCCESS; -} diff --git a/recipes/libtool/all/test_v1_package/sis/CMakeLists.txt b/recipes/libtool/all/test_v1_package/sis/CMakeLists.txt deleted file mode 100644 index dff9ec13a4939..0000000000000 --- a/recipes/libtool/all/test_v1_package/sis/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(static_dependency C) - -set(CMAKE_POSITION_INDEPENDENT_CODE ON) -add_library(static_lib STATIC - static_lib.c -) -install(TARGETS static_lib - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib -) diff --git a/recipes/libtool/all/test_v1_package/sis/Makefile.am b/recipes/libtool/all/test_v1_package/sis/Makefile.am deleted file mode 100644 index 824106cabe1d8..0000000000000 --- a/recipes/libtool/all/test_v1_package/sis/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -# @configure_input@ - -lib_LTLIBRARIES = libshared.la - -libshared_la_SOURCES = shared_lib.c -libshared_la_LDFLAGS = -no-undefined -lstatic_lib - -# ACLOCAL_AMFLAGS = -I m4 diff --git a/recipes/libtool/all/test_v1_package/sis/configure.ac b/recipes/libtool/all/test_v1_package/sis/configure.ac deleted file mode 100644 index 0272fc8f862a2..0000000000000 --- a/recipes/libtool/all/test_v1_package/sis/configure.ac +++ /dev/null @@ -1,13 +0,0 @@ -AC_PREREQ(2.69) -AC_INIT([test_package], [1.0]) -AC_CONFIG_SRCDIR([shared_lib.c]) -AC_CONFIG_AUX_DIR([build-aux]) -# AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE([-Wall -Werror foreign]) -AC_PROG_CC -AM_PROG_AR -LT_PREREQ([2.4]) -LT_INIT([win32-dll]) -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h]) -AC_OUTPUT diff --git a/recipes/libtool/all/test_v1_package/sis/shared.sym b/recipes/libtool/all/test_v1_package/sis/shared.sym deleted file mode 100644 index e05e2d3117c07..0000000000000 --- a/recipes/libtool/all/test_v1_package/sis/shared.sym +++ /dev/null @@ -1 +0,0 @@ -shared_function diff --git a/recipes/libtool/all/test_v1_package/sis/shared_lib.c b/recipes/libtool/all/test_v1_package/sis/shared_lib.c deleted file mode 100644 index b92cbe207afe1..0000000000000 --- a/recipes/libtool/all/test_v1_package/sis/shared_lib.c +++ /dev/null @@ -1,7 +0,0 @@ -int -static_function(int); - -int -shared_function(int arg) { - return static_function(arg) + 1337; -} diff --git a/recipes/libtool/all/test_v1_package/sis/static_lib.c b/recipes/libtool/all/test_v1_package/sis/static_lib.c deleted file mode 100644 index 2ebed9d056844..0000000000000 --- a/recipes/libtool/all/test_v1_package/sis/static_lib.c +++ /dev/null @@ -1,4 +0,0 @@ -int -static_function(int arg) { - return arg + 42; -} diff --git a/recipes/libtorrent/all/test_v1_package/CMakeLists.txt b/recipes/libtorrent/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/libtorrent/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libtorrent/all/test_v1_package/conanfile.py b/recipes/libtorrent/all/test_v1_package/conanfile.py deleted file mode 100644 index d96fde1be2e9a..0000000000000 --- a/recipes/libtorrent/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - # from https://en.wikipedia.org/wiki/Magnet_URI_scheme - magnet_url = "magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a" - self.run("{} {}".format(bin_path, magnet_url), run_environment=True) diff --git a/recipes/libucl/all/test_v1_package/CMakeLists.txt b/recipes/libucl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/libucl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libucl/all/test_v1_package/conanfile.py b/recipes/libucl/all/test_v1_package/conanfile.py deleted file mode 100644 index bb7585234f070..0000000000000 --- a/recipes/libucl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - sample_conf = os.path.join(self.source_folder, os.pardir, "test_package", "sample.conf") - self.run(f"{bin_path} {sample_conf}", run_environment=True) diff --git a/recipes/libudev/all/test_v1_package/CMakeLists.txt b/recipes/libudev/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libudev/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libudev/all/test_v1_package/conanfile.py b/recipes/libudev/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/libudev/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libunifex/all/test_v1_package/CMakeLists.txt b/recipes/libunifex/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libunifex/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libunifex/all/test_v1_package/conanfile.py b/recipes/libunifex/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libunifex/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libunistring/all/test_v1_package/CMakeLists.txt b/recipes/libunistring/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libunistring/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libunistring/all/test_v1_package/conanfile.py b/recipes/libunistring/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libunistring/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libunwind/all/test_v1_package/CMakeLists.txt b/recipes/libunwind/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de..0000000000000 --- a/recipes/libunwind/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libunwind/all/test_v1_package/conanfile.py b/recipes/libunwind/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/libunwind/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/liburing/all/conandata.yml b/recipes/liburing/all/conandata.yml index c4fd823c644aa..903fcbb9911ba 100644 --- a/recipes/liburing/all/conandata.yml +++ b/recipes/liburing/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.8": + url: "https://github.com/axboe/liburing/archive/liburing-2.8.tar.gz" + sha256: "3ed7891d1b2bbe743ef3fb6d0a4970e630aa02d7c7bd3b0212791fb7be815984" "2.7": url: "https://github.com/axboe/liburing/archive/liburing-2.7.tar.gz" sha256: "56202ad443c50e684dde3692819be3b91bbe003e1c14bf5abfa11973669978c1" @@ -27,6 +30,10 @@ sources: url: "https://github.com/axboe/liburing/archive/liburing-0.7.tar.gz" sha256: "8e2842cfe947f3a443af301bdd6d034455536c38a455c7a700d0c1ad165a7543" patches: + "2.8": + - patch_file: "patches/liburing-2.4-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" "2.7": - patch_file: "patches/liburing-2.4-disable_samples_and_tests.patch" patch_description: "Disable tests and samples as it might not work while cross-compiling" diff --git a/recipes/liburing/all/conanfile.py b/recipes/liburing/all/conanfile.py index 512644ac2e579..d9633472c289d 100644 --- a/recipes/liburing/all/conanfile.py +++ b/recipes/liburing/all/conanfile.py @@ -13,7 +13,7 @@ class Liburing(ConanFile): name = "liburing" description = ("helpers to setup and teardown io_uring instances, and also a simplified interface for " "applications that don't need (or want) to deal with the full kernel side implementation.") - license = "GPL-2.0-or-later" + license = ("GPL-2.0-or-later", "MIT", "LGPL-2.1-or-later") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/axboe/liburing" topics = ("asynchronous-io", "async", "kernel") diff --git a/recipes/liburing/all/test_v1_package/CMakeLists.txt b/recipes/liburing/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de..0000000000000 --- a/recipes/liburing/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/liburing/all/test_v1_package/conanfile.py b/recipes/liburing/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/liburing/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/liburing/config.yml b/recipes/liburing/config.yml index d8d4acd12f991..a350e9cf0e598 100644 --- a/recipes/liburing/config.yml +++ b/recipes/liburing/config.yml @@ -1,4 +1,6 @@ versions: + "2.8": + folder: all "2.7": folder: all "2.6": diff --git a/recipes/libusb-compat/all/test_v1_package/CMakeLists.txt b/recipes/libusb-compat/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libusb-compat/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libusb-compat/all/test_v1_package/conanfile.py b/recipes/libusb-compat/all/test_v1_package/conanfile.py deleted file mode 100644 index 852f062fd4f80..0000000000000 --- a/recipes/libusb-compat/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin","test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libusb/all/test_v1_package/CMakeLists.txt b/recipes/libusb/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libusb/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libusb/all/test_v1_package/conanfile.py b/recipes/libusb/all/test_v1_package/conanfile.py deleted file mode 100644 index 81f9e01d9be5d..0000000000000 --- a/recipes/libusb/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin","test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libuuid/all/test_v1_package/CMakeLists.txt b/recipes/libuuid/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libuuid/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libuuid/all/test_v1_package/conanfile.py b/recipes/libuuid/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libuuid/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libuv/all/conandata.yml b/recipes/libuv/all/conandata.yml index 578b3b599b79b..d0ee02e78c23d 100644 --- a/recipes/libuv/all/conandata.yml +++ b/recipes/libuv/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "1.49.2": + url: "https://github.com/libuv/libuv/archive/v1.49.2.tar.gz" + sha256: "388ffcf3370d4cf7c4b3a3205504eea06c4be5f9e80d2ab32d19f8235accc1cf" + "1.49.1": + url: "https://github.com/libuv/libuv/archive/v1.49.1.tar.gz" + sha256: "94312ede44c6cae544ae316557e2651aea65efce5da06f8d44685db08392ec5d" + "1.49.0": + url: "https://github.com/libuv/libuv/archive/v1.49.0.tar.gz" + sha256: "a10656a0865e2cff7a1b523fa47d0f5a9c65be963157301f814d1cc5dbd4dc1d" "1.48.0": url: "https://github.com/libuv/libuv/archive/v1.48.0.tar.gz" sha256: "8c253adb0f800926a6cbd1c6576abae0bc8eb86a4f891049b72f9e5b7dc58f33" @@ -14,22 +23,25 @@ sources: "1.44.2": url: "https://github.com/libuv/libuv/archive/v1.44.2.tar.gz" sha256: "e6e2ba8b4c349a4182a33370bb9be5e23c51b32efb9b9e209d0e8556b73a48da" - "1.44.1": - url: "https://github.com/libuv/libuv/archive/v1.44.1.tar.gz" - sha256: "e91614e6dc2dd0bfdd140ceace49438882206b7a6fb00b8750914e67a9ed6d6b" "1.43.0": url: "https://github.com/libuv/libuv/archive/v1.43.0.tar.gz" sha256: "9e27825a55279de69a7c43e42d509fd1337c9bece2547c761e91a1592e91cc4d" "1.42.0": url: "https://github.com/libuv/libuv/archive/v1.42.0.tar.gz" sha256: "371e5419708f6aaeb8656671f89400b92a9bba6443369af1bb70bcd6e4b3c764" - "1.41.1": - url: "https://github.com/libuv/libuv/archive/v1.41.1.tar.gz" - sha256: "62c29d1d76b0478dc8aaed0ed1f874324f6cd2d6ff4cb59a44026c09e818cd53" - "1.41.0": - url: "https://github.com/libuv/libuv/archive/v1.41.0.zip" - sha256: "cb89a8b9f686c5ccf7ed09a9e0ece151a73ebebc17af3813159c335b02181794" patches: + "1.49.2": + - patch_file: "patches/1.49.0/fix-cmake.patch" + patch_description: "separate shared and static library build" + patch_type: "conan" + "1.49.1": + - patch_file: "patches/1.49.0/fix-cmake.patch" + patch_description: "separate shared and static library build" + patch_type: "conan" + "1.49.0": + - patch_file: "patches/1.49.0/fix-cmake.patch" + patch_description: "separate shared and static library build" + patch_type: "conan" "1.48.0": - patch_file: "patches/1.48.0/fix-cmake.patch" patch_description: "separate shared and static library build" @@ -50,10 +62,6 @@ patches: - patch_file: "patches/1.44.2/fix-cmake.patch" patch_description: "separate shared and static library build" patch_type: "conan" - "1.44.1": - - patch_file: "patches/1.44.1/fix-cmake.patch" - patch_description: "separate shared and static library build" - patch_type: "conan" "1.43.0": - patch_file: "patches/1.43.0/fix-cmake.patch" patch_description: "separate shared and static library build" @@ -62,15 +70,3 @@ patches: - patch_file: "patches/1.42.0/fix-cmake.patch" patch_description: "separate shared and static library build" patch_type: "conan" - "1.41.1": - - patch_file: "patches/1.41.0/fix-cmake.patch" - patch_description: "separate shared and static library build" - patch_type: "conan" - - patch_file: "patches/1.40.0/fix-ios.patch" - "1.41.0": - - patch_file: "patches/1.41.0/fix-cmake.patch" - patch_description: "separate shared and static library build" - patch_type: "conan" - - patch_file: "patches/1.40.0/fix-ios.patch" - patch_description: "fix dlopen filename" - patch_type: "portability" diff --git a/recipes/libuv/all/patches/1.40.0/fix-ios.patch b/recipes/libuv/all/patches/1.40.0/fix-ios.patch deleted file mode 100644 index 616e7c2083eea..0000000000000 --- a/recipes/libuv/all/patches/1.40.0/fix-ios.patch +++ /dev/null @@ -1,28 +0,0 @@ -patch from https://github.com/libuv/libuv/commit/1addf9b88a17bc32d009d377a14d540ccddd06db -fixed in 1.42.0 - ---- a/src/unix/darwin.c -+++ b/src/unix/darwin.c -@@ -33,9 +33,7 @@ - #include - #include /* sysconf */ - --#if !TARGET_OS_IPHONE - #include "darwin-stub.h" --#endif - - static uv_once_t once = UV_ONCE_INIT; - static uint64_t (*time_func)(void); -@@ -223,10 +221,10 @@ static int uv__get_cpu_speed(uint64_t* speed) { - err = UV_ENOENT; - core_foundation_handle = dlopen("/System/Library/Frameworks/" - "CoreFoundation.framework/" -- "Versions/A/CoreFoundation", -+ "CoreFoundation", - RTLD_LAZY | RTLD_LOCAL); - iokit_handle = dlopen("/System/Library/Frameworks/IOKit.framework/" -- "Versions/A/IOKit", -+ "IOKit", - RTLD_LAZY | RTLD_LOCAL); - - if (core_foundation_handle == NULL || iokit_handle == NULL) diff --git a/recipes/libuv/all/patches/1.41.0/fix-cmake.patch b/recipes/libuv/all/patches/1.41.0/fix-cmake.patch deleted file mode 100644 index 08dd6f34be1b3..0000000000000 --- a/recipes/libuv/all/patches/1.41.0/fix-cmake.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c8e881d1..82daa0d2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -335,13 +335,19 @@ if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|Linux|NetBSD|OpenBSD") - list(APPEND uv_test_libraries util) - endif() - --add_library(uv SHARED ${uv_sources}) --target_compile_definitions(uv -- INTERFACE -- USING_UV_SHARED=1 -- PRIVATE -- BUILDING_UV_SHARED=1 -- ${uv_defines}) -+add_library(uv ${uv_sources}) -+get_target_property(target_type uv TYPE) -+if (target_type STREQUAL "SHARED_LIBRARY") -+ target_compile_definitions(uv -+ INTERFACE -+ USING_UV_SHARED=1 -+ PRIVATE -+ BUILDING_UV_SHARED=1 -+ ) -+else() -+ set_property(TARGET uv PROPERTY OUTPUT_NAME "uv_a") -+endif() -+target_compile_definitions(uv PRIVATE ${uv_defines}) - target_compile_options(uv PRIVATE ${uv_cflags}) - target_include_directories(uv - PUBLIC -@@ -351,17 +357,6 @@ target_include_directories(uv - $) - target_link_libraries(uv ${uv_libraries}) - --add_library(uv_a STATIC ${uv_sources}) --target_compile_definitions(uv_a PRIVATE ${uv_defines}) --target_compile_options(uv_a PRIVATE ${uv_cflags}) --target_include_directories(uv_a -- PUBLIC -- $ -- $ -- PRIVATE -- $) --target_link_libraries(uv_a ${uv_libraries}) -- - if(LIBUV_BUILD_TESTS) - # Small hack: use ${uv_test_sources} now to get the runner skeleton, - # before the actual tests are added. -@@ -605,19 +600,18 @@ if(UNIX OR MINGW) - configure_file(libuv-static.pc.in libuv-static.pc @ONLY) - - install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -- install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR}) -- install(FILES ${PROJECT_BINARY_DIR}/libuv.pc ${PROJECT_BINARY_DIR}/libuv-static.pc -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) -- install(TARGETS uv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -- install(TARGETS uv_a ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/licenses) -+ install(TARGETS uv -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endif() - - if(MSVC) - install(DIRECTORY include/ DESTINATION include) -- install(FILES LICENSE DESTINATION .) -- install(TARGETS uv uv_a -- RUNTIME DESTINATION lib/$ -- ARCHIVE DESTINATION lib/$) -+ install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/licenses) -+ install(TARGETS uv -+ RUNTIME DESTINATION bin -+ ARCHIVE DESTINATION lib) - endif() - - message(STATUS "summary of build options: diff --git a/recipes/libuv/all/patches/1.49.0/fix-cmake.patch b/recipes/libuv/all/patches/1.49.0/fix-cmake.patch new file mode 100644 index 0000000000000..6d9a35e21bcd5 --- /dev/null +++ b/recipes/libuv/all/patches/1.49.0/fix-cmake.patch @@ -0,0 +1,67 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 28c6df2..608d0f7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -471,7 +471,7 @@ if(LIBUV_BUILD_SHARED) + endif() + target_link_libraries(uv ${uv_libraries}) + set_target_properties(uv PROPERTIES OUTPUT_NAME "uv") +-endif() ++else() + + add_library(uv_a STATIC ${uv_sources}) + target_compile_definitions(uv_a PRIVATE ${uv_defines}) +@@ -491,7 +491,7 @@ set_target_properties(uv_a PROPERTIES OUTPUT_NAME "uv") + if(WIN32) + set_target_properties(uv_a PROPERTIES PREFIX "lib") + endif() +- ++endif() + if(LIBUV_BUILD_TESTS) + # Small hack: use ${uv_test_sources} now to get the runner skeleton, + # before the actual tests are added. +@@ -759,18 +759,18 @@ set(UV_VERSION_MAJOR "${CMAKE_MATCH_1}") + set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}) + set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) + set(prefix ${CMAKE_INSTALL_PREFIX}) +-configure_file(libuv-static.pc.in libuv-static.pc @ONLY) ++# configure_file(libuv-static.pc.in libuv-static.pc @ONLY) + + install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR}) + install(FILES LICENSE-extra DESTINATION ${CMAKE_INSTALL_DOCDIR}) +-install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +-install(TARGETS uv_a EXPORT libuvConfig +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +-install(EXPORT libuvConfig +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv +- NAMESPACE libuv::) ++# install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc ++# DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++# install(TARGETS uv_a EXPORT libuvConfig ++# ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++# install(EXPORT libuvConfig ++# DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv ++# NAMESPACE libuv::) + + if(LIBUV_BUILD_SHARED) + # The version in the filename is mirroring the behaviour of autotools. +@@ -784,8 +784,16 @@ if(LIBUV_BUILD_SHARED) + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++else() ++ configure_file(libuv-static.pc.in libuv-static.pc @ONLY) ++ install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++ install(TARGETS uv_a EXPORT libuvConfig ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(EXPORT libuvConfig ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv ++ NAMESPACE libuv::) + endif() +- + if(MSVC) + set(CMAKE_DEBUG_POSTFIX d) + get_filename_component(CMAKE_C_COMPILER_DIR ${CMAKE_C_COMPILER} DIRECTORY) diff --git a/recipes/libuv/all/test_v1_package/CMakeLists.txt b/recipes/libuv/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index cc50e3b1333c0..0000000000000 --- a/recipes/libuv/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(libuv REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -if(TARGET uv_a) - target_link_libraries(${PROJECT_NAME} PRIVATE uv_a) -else() - target_link_libraries(${PROJECT_NAME} PRIVATE uv) -endif() diff --git a/recipes/libuv/all/test_v1_package/conanfile.py b/recipes/libuv/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libuv/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libuv/config.yml b/recipes/libuv/config.yml index 55c98b3fd5a25..341ae1de60810 100644 --- a/recipes/libuv/config.yml +++ b/recipes/libuv/config.yml @@ -1,4 +1,10 @@ versions: + "1.49.2": + folder: all + "1.49.1": + folder: all + "1.49.0": + folder: all "1.48.0": folder: all "1.47.0": @@ -9,13 +15,7 @@ versions: folder: all "1.44.2": folder: all - "1.44.1": - folder: all "1.43.0": folder: all "1.42.0": folder: all - "1.41.1": - folder: all - "1.41.0": - folder: all diff --git a/recipes/libuvc/all/conanfile.py b/recipes/libuvc/all/conanfile.py index cb9de052b88cd..b0897cfc1830a 100644 --- a/recipes/libuvc/all/conanfile.py +++ b/recipes/libuvc/all/conanfile.py @@ -24,13 +24,11 @@ class LibuvcConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "with_jpeg": [False, "libjpeg", "libjpeg-turbo", "mozjpeg"], - "jpeg_turbo": [True, False, "deprecated"], } default_options = { "shared": False, "fPIC": True, "with_jpeg": "libjpeg", - "jpeg_turbo": "deprecated", } def export_sources(self): @@ -46,12 +44,6 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") - # TODO: to remove once deprecated jpeg_turbo option removed - if self.options.jpeg_turbo != "deprecated": - self.output.warning("jpeg_turbo option is deprecated, please use with_jpeg option instead") - if self.options.jpeg_turbo: - self.options.with_jpeg == "libjpeg-turbo" - def layout(self): cmake_layout(self, src_folder="src") @@ -64,10 +56,6 @@ def requirements(self): elif self.options.with_jpeg == "mozjpeg": self.requires("mozjpeg/4.1.3") - def package_id(self): - # TODO: to remove once deprecated jpeg_turbo option removed - del self.info.options.jpeg_turbo - def validate(self): if is_msvc(self): # Upstream issues, e.g.: diff --git a/recipes/libuvc/all/test_v1_package/CMakeLists.txt b/recipes/libuvc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libuvc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libuvc/all/test_v1_package/conanfile.py b/recipes/libuvc/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libuvc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libvault/all/test_v1_package/CMakeLists.txt b/recipes/libvault/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libvault/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libvault/all/test_v1_package/conanfile.py b/recipes/libvault/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/libvault/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libverto/all/test_v1_package/CMakeLists.txt b/recipes/libverto/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index c23ed5cfe6d98..0000000000000 --- a/recipes/libverto/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_v1_package) - -enable_testing() - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libverto/all/test_v1_package/conanfile.py b/recipes/libverto/all/test_v1_package/conanfile.py deleted file mode 100644 index dba2a86154e1e..0000000000000 --- a/recipes/libverto/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["LIBVERTO_WITH_GLIB"] = bool(self.options["libverto"].with_glib) - cmake.definitions["LIBVERTO_WITH_LIBEV"] = bool(self.options["libverto"].with_libev) - cmake.definitions["LIBVERTO_WITH_LIBEVENT"] = bool(self.options["libverto"].with_libevent) - cmake.definitions["LIBVERTO_WITH_TEVENT"] = bool(self.options["libverto"].with_tevent) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(f"ctest --output-on-failure -C {self.settings.build_type} -j {tools.cpu_count()}", run_environment=True) diff --git a/recipes/libvips/all/conandata.yml b/recipes/libvips/all/conandata.yml index ef20d5b718d8d..83aa22c513b0b 100644 --- a/recipes/libvips/all/conandata.yml +++ b/recipes/libvips/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.15.3": + url: "https://github.com/libvips/libvips/releases/download/v8.15.3/vips-8.15.3.tar.xz" + sha256: "3e27d9f536eafad64013958fe9e8a1964c90b564c731d49db7c1a1c11b1052a0" "8.15.2": url: "https://github.com/libvips/libvips/releases/download/v8.15.2/vips-8.15.2.tar.xz" sha256: "a2ab15946776ca7721d11cae3215f20f1f097b370ff580cd44fc0f19387aee84" @@ -8,3 +11,9 @@ sources: "8.14.2": url: "https://github.com/libvips/libvips/releases/download/v8.14.2/vips-8.14.2.tar.xz" sha256: "27dad021f0835a5ab14e541d02abd41e4c3bd012d2196438df5a9e754984f7ce" +patches: + "8.15.3": + - patch_file: "patches/0001-fix-8-15-3-msvc-build.patch" + patch_description: "Fix broken msvc build due to ssize_t" + patch_type: "portability" + patch_source: "https://github.com/libvips/libvips/pull/4153" diff --git a/recipes/libvips/all/conanfile.py b/recipes/libvips/all/conanfile.py index bad73d4834f39..559a6bbfdb975 100644 --- a/recipes/libvips/all/conanfile.py +++ b/recipes/libvips/all/conanfile.py @@ -3,7 +3,7 @@ from conan.tools.apple import fix_apple_shared_install_name from conan.tools.build import check_min_cppstd from conan.tools.env import VirtualBuildEnv -from conan.tools.files import copy, get, replace_in_file, rm, rmdir +from conan.tools.files import copy, get, replace_in_file, rm, rmdir, apply_conandata_patches, export_conandata_patches from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain @@ -122,6 +122,9 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") + def export_sources(self): + export_conandata_patches(self) + def layout(self): basic_layout(self, src_folder="src") @@ -153,7 +156,7 @@ def requirements(self): if self.options.with_jpeg_xl: self.requires("libjxl/0.6.1") if self.options.with_lcms: - self.requires("lcms/2.14") + self.requires("lcms/2.16") if self.options.with_magick: self.requires("imagemagick/7.0.11-14") if self.options.with_matio: @@ -299,6 +302,8 @@ def generate(self): deps.generate() def _patch_sources(self): + apply_conandata_patches(self) + # Disable tests meson_build = os.path.join(self.source_folder, "meson.build") replace_in_file(self, meson_build, "subdir('test')", "") diff --git a/recipes/libvips/all/patches/0001-fix-8-15-3-msvc-build.patch b/recipes/libvips/all/patches/0001-fix-8-15-3-msvc-build.patch new file mode 100644 index 0000000000000..fb781f613a9aa --- /dev/null +++ b/recipes/libvips/all/patches/0001-fix-8-15-3-msvc-build.patch @@ -0,0 +1,36 @@ +From a1f3bf3c98d21b09a75f57682cdb12a6e48ebb08 Mon Sep 17 00:00:00 2001 +From: Julianiolo <50519317+Julianiolo@users.noreply.github.com> +Date: Fri, 13 Sep 2024 21:31:02 +0200 +Subject: [PATCH] replace ssize_t with gint64 + +--- + libvips/iofuncs/generate.c | 2 +- + libvips/iofuncs/util.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libvips/iofuncs/generate.c b/libvips/iofuncs/generate.c +index bb3d1b2d7..8941762f7 100644 +--- a/libvips/iofuncs/generate.c ++++ b/libvips/iofuncs/generate.c +@@ -638,7 +638,7 @@ write_vips(VipsRegion *region, VipsRect *area, void *a) + // write() uses int not size_t on windows, so we need to chunk + // ... max 1gb, why not + int chunk_size = VIPS_MIN(1024 * 1024 * 1024, count); +- ssize_t nwritten = write(region->im->fd, buf, chunk_size); ++ gint64 nwritten = write(region->im->fd, buf, chunk_size); + + /* n == 0 isn't strictly an error, but we treat it as + * one to make sure we don't get stuck in this loop. +diff --git a/libvips/iofuncs/util.c b/libvips/iofuncs/util.c +index 46976ef42..acf78ade8 100644 +--- a/libvips/iofuncs/util.c ++++ b/libvips/iofuncs/util.c +@@ -541,7 +541,7 @@ vips__write(int fd, const void *buf, size_t count) + // write() uses int not size_t on windows, so we need to chunk + // ... max 1gb, why not + int chunk_size = VIPS_MIN(1024 * 1024 * 1024, count); +- ssize_t nwritten = write(fd, buf, chunk_size); ++ gint64 nwritten = write(fd, buf, chunk_size); + + /* n == 0 isn't strictly an error, but we treat it as + * one to make sure we don't get stuck in this loop. diff --git a/recipes/libvips/config.yml b/recipes/libvips/config.yml index 411a90d607682..3f10cc1059b5d 100644 --- a/recipes/libvips/config.yml +++ b/recipes/libvips/config.yml @@ -1,4 +1,6 @@ versions: + "8.15.3": + folder: all "8.15.2": folder: all "8.15.1": diff --git a/recipes/libvpx/all/test_v1_package/CMakeLists.txt b/recipes/libvpx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2f6b1a2f7ec79..0000000000000 --- a/recipes/libvpx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libvpx/all/test_v1_package/conanfile.py b/recipes/libvpx/all/test_v1_package/conanfile.py deleted file mode 100644 index 2490acfa82ff8..0000000000000 --- a/recipes/libvpx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libwebm/all/conanfile.py b/recipes/libwebm/all/conanfile.py index 4fc3f3659a659..e295fe0e53c02 100644 --- a/recipes/libwebm/all/conanfile.py +++ b/recipes/libwebm/all/conanfile.py @@ -67,6 +67,7 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "webm::webm") self.cpp_info.set_property("pkg_config_name", "webm") self.cpp_info.libs = ["webm"] + self.cpp_info.includedirs.append("include/webm") if self.settings.os in ["Linux", "FreeBSD", "Android"]: self.cpp_info.system_libs.append("m") diff --git a/recipes/libwebp/all/test_v1_package/CMakeLists.txt b/recipes/libwebp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libwebp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libwebp/all/test_v1_package/conanfile.py b/recipes/libwebp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libwebp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libx264/all/conanfile.py b/recipes/libx264/all/conanfile.py index 87ce8800e9d4e..d0b6354884e33 100644 --- a/recipes/libx264/all/conanfile.py +++ b/recipes/libx264/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.files import copy, rename, get, rmdir from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout -from conan.tools.microsoft import check_min_vs, is_msvc, unix_path +from conan.tools.microsoft import is_msvc, unix_path import os required_conan_version = ">=1.57.0" @@ -25,20 +25,18 @@ class LibX264Conan(ConanFile): "shared": [True, False], "fPIC": [True, False], "bit_depth": [8, 10, "all"], + "with_opencl": [True, False], + "with_asm": [True, False] } + # The project by default enables opencl and asm, it can be opted-out default_options = { "shared": False, "fPIC": True, "bit_depth": "all", + "with_opencl": True, + "with_asm": True } - # otherwise build fails with: ln: failed to create symbolic link './Makefile' -> '../../../../../../../../../../../../../j/w/prod/buildsinglereference@2/.conan/data/libx264/cci.20220602/_/_/build/622692a7dbc145becf87f01b017e2a0d93cc644e/src/Makefile': File name too long - short_paths = True - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -59,7 +57,7 @@ def layout(self): def build_requirements(self): if self._with_nasm: self.tool_requires("nasm/2.15.05") - if self._settings_build.os == "Windows": + if self.settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): self.tool_requires("msys2/cci.latest") @@ -68,9 +66,6 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): - env = VirtualBuildEnv(self) - env.generate() - tc = AutotoolsToolchain(self) extra_asflags = [] @@ -87,6 +82,10 @@ def generate(self): args["--enable-shared"] = "" else: args["--enable-static"] = "" + if not self.options.with_opencl: + args["--disable-opencl"] = "" + if not self.options.with_asm: + args["--disable-asm"] = "" if self.options.get_safe("fPIC", self.settings.os != "Windows"): args["--enable-pic"] = "" if self.settings.build_type == "Debug": @@ -109,7 +108,6 @@ def generate(self): if self._with_nasm: env = Environment() - # FIXME: get using user_build_info env.define("AS", unix_path(self, os.path.join(self.dependencies.build["nasm"].package_folder, "bin", "nasm{}".format(".exe" if self.settings.os == "Windows" else "")))) env.vars(self).save_script("conanbuild_nasm") @@ -119,8 +117,8 @@ def generate(self): ndk_root = self.conf.get("tools.android:ndk_path", buildenv_vars.get("NDK_ROOT")) # INFO: Conan package android-ndk does not expose toolchain path. Looks fragile but follows always same for Android NDK - build_os = {"Linux": "linux", "Macos": "darwin", "Windows": "windows"}.get(str(self._settings_build.os)) - toolchain = os.path.join(ndk_root, "toolchains", "llvm", "prebuilt", f"{build_os}-{self._settings_build.arch}") + build_os = {"Linux": "linux", "Macos": "darwin", "Windows": "windows"}.get(str(self.settings_build.os)) + toolchain = os.path.join(ndk_root, "toolchains", "llvm", "prebuilt", f"{build_os}-{self.settings_build.arch}") sysroot = self.conf.get("tools.build:sysroot", buildenv_vars.get("SYSROOT", f"{toolchain}/sysroot")) # INFO: x264 will look for strings appended to the cross prefix @@ -142,8 +140,6 @@ def generate(self): if is_msvc(self): env = Environment() env.define("CC", "cl -nologo") - if check_min_vs(self, 180, False): - extra_cflags.append("-FS") env.vars(self).save_script("conanbuild_msvc") if is_msvc(self) or self.settings.os in ["iOS", "watchOS", "tvOS"]: @@ -189,6 +185,3 @@ def package_info(self): self.cpp_info.system_libs.extend(["dl", "pthread", "m"]) elif self.settings.os == "Android": self.cpp_info.system_libs.extend(["dl", "m"]) - - # TODO: to remove in conan v2 once pkg_config generator removed - self.cpp_info.names["pkg_config"] = "x264" diff --git a/recipes/libx264/all/test_v1_package/CMakeLists.txt b/recipes/libx264/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index dbc8e1774b07c..0000000000000 --- a/recipes/libx264/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(libx264 REQUIRED CONFIG) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libx264/all/test_v1_package/conanfile.py b/recipes/libx264/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/libx264/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libx265/all/test_v1_package/CMakeLists.txt b/recipes/libx265/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libx265/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libx265/all/test_v1_package/conanfile.py b/recipes/libx265/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libx265/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libxcrypt/all/test_v1_package/CMakeLists.txt b/recipes/libxcrypt/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libxcrypt/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libxcrypt/all/test_v1_package/conanfile.py b/recipes/libxcrypt/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libxcrypt/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libxft/all/test_v1_package/CMakeLists.txt b/recipes/libxft/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libxft/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libxft/all/test_v1_package/conanfile.py b/recipes/libxft/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/libxft/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libxls/all/test_v1_package/CMakeLists.txt b/recipes/libxls/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libxls/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libxls/all/test_v1_package/conanfile.py b/recipes/libxls/all/test_v1_package/conanfile.py deleted file mode 100644 index a500b98343c74..0000000000000 --- a/recipes/libxls/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libxlsxwriter/all/conandata.yml b/recipes/libxlsxwriter/all/conandata.yml index da8b13009453a..0ea86bf27abee 100644 --- a/recipes/libxlsxwriter/all/conandata.yml +++ b/recipes/libxlsxwriter/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.9": + url: "https://github.com/jmcnamara/libxlsxwriter/archive/v1.1.9.tar.gz" + sha256: "03ae330d50f74c8a70be0b06b52bd50868f7cd1251ed040fe3b68d1ad6fd11dc" "1.1.8": url: "https://github.com/jmcnamara/libxlsxwriter/archive/v1.1.8.tar.gz" sha256: "122c98353e5b69284a1cd782be7ae67bdefde2146f8197ef89a1aaf886058e86" @@ -18,6 +21,10 @@ sources: url: "https://github.com/jmcnamara/libxlsxwriter/archive/RELEASE_1.0.0.tar.gz" sha256: "8b353379333c323d14a9d265cd2491d3a6c0032c8d6ec2141f10b82ab66a087c" patches: + "1.1.9": + - patch_file: "patches/1.1.9-0001-fix-cmake.patch" + patch_description: "Fix CMake: disable pkgconfig & avoid some hardcoded flags" + patch_type: "conan" "1.1.8": - patch_file: "patches/1.1.7-0001-fix-cmake.patch" patch_description: "Fix CMake: robust dependencies discovery & avoid some hardcoded flags" diff --git a/recipes/libxlsxwriter/all/conanfile.py b/recipes/libxlsxwriter/all/conanfile.py index 0435ae0e28bb1..fa8e3e538ed45 100644 --- a/recipes/libxlsxwriter/all/conanfile.py +++ b/recipes/libxlsxwriter/all/conanfile.py @@ -82,6 +82,8 @@ def generate(self): tc.variables["USE_STATIC_MSVC_RUNTIME"] = is_msvc_static_runtime(self) tc.generate() deps = CMakeDeps(self) + if Version(self.version) >= "1.1.9": + deps.set_property("minizip", "cmake_additional_variables_prefixes", ["MINIZIP"]) deps.generate() def build(self): diff --git a/recipes/libxlsxwriter/all/patches/1.1.9-0001-fix-cmake.patch b/recipes/libxlsxwriter/all/patches/1.1.9-0001-fix-cmake.patch new file mode 100644 index 0000000000000..629e8a20aa61d --- /dev/null +++ b/recipes/libxlsxwriter/all/patches/1.1.9-0001-fix-cmake.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e444dcc..44a638d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -183,9 +183,9 @@ endif() + + if(NOT BUILD_SHARED_LIBS) + if(UNIX) +- set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++# set(CMAKE_POSITION_INDEPENDENT_CODE ON) + elseif(MINGW OR MSYS) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static -static-libgcc -Wno-char-subscripts -Wno-long-long") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-char-subscripts -Wno-long-long") + list(APPEND LXW_PRIVATE_COMPILE_DEFINITIONS USE_FILE32API) + elseif(MSVC) + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /Fd\"${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pdb\"") +@@ -208,7 +208,7 @@ if(MSVC AND USE_STATIC_MSVC_RUNTIME) + endif() + + # Configure pkg-config +-find_package(PkgConfig) ++# find_package(PkgConfig) + file(READ "include/xlsxwriter.h" ver) + + string(REGEX MATCH "LXW_VERSION \"([^\"]+)\"" _ ${ver}) diff --git a/recipes/libxlsxwriter/all/test_v1_package/CMakeLists.txt b/recipes/libxlsxwriter/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libxlsxwriter/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libxlsxwriter/all/test_v1_package/conanfile.py b/recipes/libxlsxwriter/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libxlsxwriter/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libxlsxwriter/config.yml b/recipes/libxlsxwriter/config.yml index d944ed1b5f8d7..62ca2e89bd627 100644 --- a/recipes/libxlsxwriter/config.yml +++ b/recipes/libxlsxwriter/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.9": + folder: "all" "1.1.8": folder: "all" "1.1.7": diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index bd46bbf386371..c069bc0bd33b1 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,25 +1,19 @@ sources: - "2.12.7": - url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.7.tar.xz" - sha256: "24ae78ff1363a973e6d8beba941a7945da2ac056e19b53956aeb6927fd6cfb56" - "2.12.6": - url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.6.tar.xz" - sha256: "889c593a881a3db5fdd96cc9318c87df34eb648edfc458272ad46fd607353fbb" - "2.12.5": - url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.5.tar.xz" - sha256: "a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21" + "2.13.4": + url: "https://download.gnome.org/sources/libxml2/2.13/libxml2-2.13.4.tar.xz" + sha256: "65d042e1c8010243e617efb02afda20b85c2160acdbfbcb5b26b80cec6515650" + "2.12.9": + url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.9.tar.xz" + sha256: "59912db536ab56a3996489ea0299768c7bcffe57169f0235e7f962a91f483590" "2.12.4": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.4.tar.xz" sha256: "497360e423cf0bd99eacdb7c6215dea92e6d6e89ee940393c2bae0e77cb9b7d0" "2.12.3": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.3.tar.xz" sha256: "8c8f1092340a89ff32bc44ad5c9693aff9bc8a7a3e161bb239666e5d15ac9aaa" - "2.11.8": - url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.8.tar.xz" - sha256: "53961af1721b72246180cd844b7ddae36ea8e1e4e27b683567990a1ee78b02c1" - "2.11.7": - url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.7.tar.xz" - sha256: "fb27720e25eaf457f94fd3d7189bcf2626c6dccf4201553bc8874d50e3560162" + "2.11.9": + url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.9.tar.xz" + sha256: "780157a1efdb57188ec474dca87acaee67a3a839c2525b2214d318228451809f" "2.11.6": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.6.tar.xz" sha256: "c90eee7506764abbe07bb616b82da452529609815aefef423d66ef080eb0c300" diff --git a/recipes/libxml2/all/conanfile.py b/recipes/libxml2/all/conanfile.py index eedbacc3e1c75..6ab1df68617ff 100644 --- a/recipes/libxml2/all/conanfile.py +++ b/recipes/libxml2/all/conanfile.py @@ -83,6 +83,8 @@ def config_options(self): del self.options.docbook if Version(self.version) >= "2.11.0": self.options.rm_safe("run-debug") + if Version(self.version) >= "2.13.0": + self.options.rm_safe("mem-debug") def configure(self): if self.options.shared: @@ -398,6 +400,10 @@ def package_info(self): elif self.settings.os == "Windows": if self.options.ftp or self.options.http: self.cpp_info.system_libs.extend(["ws2_32", "wsock32"]) + if Version(self.version) >= "2.13.4": + # https://gitlab.gnome.org/GNOME/libxml2/-/issues/791 + # https://gitlab.gnome.org/GNOME/libxml2/-/blob/2.13/win32/Makefile.msvc?ref_type=heads#L84 + self.cpp_info.system_libs.append("bcrypt") # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed self.cpp_info.filenames["cmake_find_package"] = "LibXml2" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index 512940bc70e6f..bf2c99b1007bf 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,17 +1,13 @@ versions: - "2.12.7": + "2.13.4": folder: all - "2.12.6": - folder: all - "2.12.5": + "2.12.9": folder: all "2.12.4": folder: all "2.12.3": folder: all - "2.11.8": - folder: all - "2.11.7": + "2.11.9": folder: all "2.11.6": folder: all diff --git a/recipes/libxmlpp/all/conandata.yml b/recipes/libxmlpp/all/conandata.yml index b93f808923cc5..9676ddd7ccf09 100644 --- a/recipes/libxmlpp/all/conandata.yml +++ b/recipes/libxmlpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.4.0": + url: "https://github.com/libxmlplusplus/libxmlplusplus/releases/download/5.4.0/libxml++-5.4.0.tar.xz" + sha256: "e9a23c436686a94698d2138e6bcbaf849121d63bfa0f50dc34fefbfd79566848" "5.2.0": url: "https://github.com/libxmlplusplus/libxmlplusplus/releases/download/5.2.0/libxml++-5.2.0.tar.xz" sha256: "e41b8eae55210511585ae638615f00db7f982c0edea94699865f582daf03b44f" @@ -8,9 +11,6 @@ sources: "5.0.1": url: "https://github.com/libxmlplusplus/libxmlplusplus/releases/download/5.0.1/libxml++-5.0.1.tar.xz" sha256: "15c38307a964fa6199f4da6683a599eb7e63cc89198545b36349b87cf9aa0098" - "2.42.1": - url: "https://github.com/libxmlplusplus/libxmlplusplus/releases/download/2.42.1/libxml++-2.42.1.tar.xz" - sha256: "9b59059abe5545d28ceb388a55e341095f197bd219c73e6623aeb6d801e00be8" patches: "5.2.0": - patch_file: "patches/5.2.0-0001-enable_static_builds_on_msvc.patch" @@ -27,8 +27,3 @@ patches: patch_type: "portability" patch_description: "Manage dllexport correctly to be able to build static libraries on MSVC" patch_source: "https://github.com/libxmlplusplus/libxmlplusplus/commit/2a2825c67a30ea34f3514659bfd91111db8e009d.patch" - "2.42.1": - - patch_file: "patches/2.42.1-0001-enable_static_builds_on_msvc.patch" - patch_type: "portability" - patch_description: "Manage dllexport correctly to be able to build static libraries on MSVC" - patch_source: "https://github.com/libxmlplusplus/libxmlplusplus/commit/2a2825c67a30ea34f3514659bfd91111db8e009d.patch" diff --git a/recipes/libxmlpp/all/conanfile.py b/recipes/libxmlpp/all/conanfile.py index b79b459f36df3..8c526bf0e516c 100644 --- a/recipes/libxmlpp/all/conanfile.py +++ b/recipes/libxmlpp/all/conanfile.py @@ -34,9 +34,25 @@ class LibXMLPlusPlus(ConanFile): "fPIC": True, } + @property + def _min_cppstd(self): + return "17" if Version(self.version) >= "5.4.0" else "11" + + @property + def _compilers_minimum_version(self): + return { + "17": { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + }, + }.get(self._min_cppstd, {}) + @property def _lib_version(self): - return "2.6" if Version(self.version) <= "2.42.1" else "5.0" + return "5.0" def export_sources(self): export_conandata_patches(self) @@ -53,31 +69,24 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.12.4") - if Version(self.version) <= "2.42.1": - self.requires("glibmm/2.66.4", transitive_headers=True, transitive_libs=True) - else: - self.requires("glibmm/2.75.0") + self.requires("libxml2/[>=2.12.5 <3]") + self.requires("glibmm/2.75.0") def validate(self): if hasattr(self, "settings_build") and cross_building(self): raise ConanInvalidConfiguration("Cross-building not implemented") - if Version(self.version) < "2.91.1": - from conan import conan_version - import sys - if conan_version.major == 2: - # FIXME: linter complains, but function is there - # https://docs.conan.io/2.0/reference/tools/build.html?highlight=check_min_cppstd#conan-tools-build-check-max-cppstd - check_max_cppstd = getattr(sys.modules['conan.tools.build'], 'check_max_cppstd') - # INFO: error: no template named 'auto_ptr' in namespace 'std'. Removed in C++17. - check_max_cppstd(self, 14) if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + 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 build_requirements(self): - self.tool_requires("meson/1.3.1") + self.tool_requires("meson/[>=1.2.3 <2]") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.1.0") + self.tool_requires("pkgconf/[>=2.2 <3]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/libxmlpp/all/patches/2.42.1-0001-enable_static_builds_on_msvc.patch b/recipes/libxmlpp/all/patches/2.42.1-0001-enable_static_builds_on_msvc.patch deleted file mode 100644 index 32d4ca9bbdc42..0000000000000 --- a/recipes/libxmlpp/all/patches/2.42.1-0001-enable_static_builds_on_msvc.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/libxml++config.h.meson b/libxml++config.h.meson -index fdae143..5d853c2 100755 ---- a/libxml++config.h.meson -+++ b/libxml++config.h.meson -@@ -21,9 +21,16 @@ - /* Micro version number of libxml++. */ - #mesondefine LIBXMLXX_MICRO_VERSION - --#if defined (GLIBMM_DLL) && !defined (LIBXMLXX_STATIC) -+/* Defined if libxml++ is built as a static library. */ -+#mesondefine LIBXMLXX_STATIC -+ -+#if !defined (LIBXMLXX_STATIC) - #ifdef LIBXMLPP_BUILD -- #define LIBXMLPP_API __declspec(dllexport) -+ #ifdef __GNUC__ -+ #define LIBXMLPP_API __attribute__((visibility("default"))) -+ #else -+ #define LIBXMLPP_API __declspec(dllexport) -+ #endif - #elif !defined (__GNUC__) - #define LIBXMLPP_API __declspec(dllimport) - #else /* don't dllimport classes/methods on GCC/MinGW */ -diff --git a/meson.build b/meson.build -index e89f2c6..20d66ed 100644 ---- a/meson.build -+++ b/meson.build -@@ -292,15 +292,13 @@ endif - # Always set for backwards compatibility. - pkg_conf_data.set('LIBXMLCPP_EXCEPTIONS_ENABLED', 1) - -+if get_option('default_library') == 'static' -+ pkg_conf_data.set('LIBXMLXX_STATIC', 1) -+endif -+ - # Static library? - library_build_type = get_option('default_library') - --if cpp_compiler.get_argument_syntax() == 'msvc' -- if library_build_type == 'static' or library_build_type == 'both' -- error('Static builds are not supported by MSVC-style builds') -- endif --endif -- - configure_file( - input: 'libxml++-2.6.pc.in', - output: '@BASENAME@', diff --git a/recipes/libxmlpp/all/test_package/CMakeLists.txt b/recipes/libxmlpp/all/test_package/CMakeLists.txt index 082b48301a3b9..0e449196b865f 100644 --- a/recipes/libxmlpp/all/test_package/CMakeLists.txt +++ b/recipes/libxmlpp/all/test_package/CMakeLists.txt @@ -5,4 +5,8 @@ find_package(libxmlpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE libxmlpp::libxmlpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if(libxmlpp_VERSION VERSION_GREATER_EQUAL "5.4.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +endif() diff --git a/recipes/libxmlpp/config.yml b/recipes/libxmlpp/config.yml index 9005a59d2fb31..f9ffdcfd89507 100644 --- a/recipes/libxmlpp/config.yml +++ b/recipes/libxmlpp/config.yml @@ -1,9 +1,9 @@ versions: + "5.4.0": + folder: all "5.2.0": folder: all "5.0.3": folder: all "5.0.1": folder: all - "2.42.1": - folder: all diff --git a/recipes/libxpm/all/test_v1_package/CMakeLists.txt b/recipes/libxpm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libxpm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libxpm/all/test_v1_package/conanfile.py b/recipes/libxpm/all/test_v1_package/conanfile.py deleted file mode 100644 index a8c92dea63335..0000000000000 --- a/recipes/libxpm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libxshmfence/all/test_v1_package/CMakeLists.txt b/recipes/libxshmfence/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/libxshmfence/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libxshmfence/all/test_v1_package/conanfile.py b/recipes/libxshmfence/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libxshmfence/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libxslt/all/conandata.yml b/recipes/libxslt/all/conandata.yml index c4c2c71816465..d43b2343523d6 100644 --- a/recipes/libxslt/all/conandata.yml +++ b/recipes/libxslt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.42": + sha256: "85ca62cac0d41fc77d3f6033da9df6fd73d20ea2fc18b0a3609ffb4110e1baeb" + url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.42.tar.xz" "1.1.39": sha256: "2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0" url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.39.tar.xz" diff --git a/recipes/libxslt/all/conanfile.py b/recipes/libxslt/all/conanfile.py index c90421153fff4..5e1f29e0b7b60 100644 --- a/recipes/libxslt/all/conanfile.py +++ b/recipes/libxslt/all/conanfile.py @@ -60,9 +60,12 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - if Version(self.version) >= "1.1.39": - # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 + if Version(self.version) >= "1.1.42": self.requires("libxml2/[>=2.12.5 <3]", transitive_headers=True, transitive_libs=True) + elif Version(self.version) >= "1.1.39": + # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 + # Older versions use deprecated functions that were removed in libxml2 2.13 + self.requires("libxml2/[>=2.12.5 <2.13]", transitive_headers=True, transitive_libs=True) else: self.requires("libxml2/2.11.6", transitive_headers=True, transitive_libs=True) diff --git a/recipes/libxslt/all/test_v1_package/CMakeLists.txt b/recipes/libxslt/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libxslt/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libxslt/all/test_v1_package/conanfile.py b/recipes/libxslt/all/test_v1_package/conanfile.py deleted file mode 100644 index 1529b5e368db7..0000000000000 --- a/recipes/libxslt/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - xsl_path = os.path.join(self.source_folder, os.pardir, "test_package", "example.xsl") - xml_path = os.path.join(self.source_folder, os.pardir, "test_package", "example.xml") - self.run(f"{bin_path} {xsl_path} {xml_path}", run_environment=True) - self.run("xsltproc -V", run_environment=True) diff --git a/recipes/libxslt/config.yml b/recipes/libxslt/config.yml index d65db35f37aec..8628ebacf1c45 100644 --- a/recipes/libxslt/config.yml +++ b/recipes/libxslt/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.42": + folder: all "1.1.39": folder: all "1.1.37": diff --git a/recipes/libyaml/all/test_v1_package/CMakeLists.txt b/recipes/libyaml/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libyaml/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libyaml/all/test_v1_package/conanfile.py b/recipes/libyaml/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libyaml/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libyuv/all/conandata.yml b/recipes/libyuv/all/conandata.yml index f89be505198c3..753108fbfb79d 100644 --- a/recipes/libyuv/all/conandata.yml +++ b/recipes/libyuv/all/conandata.yml @@ -18,7 +18,7 @@ patches: - patch_file: "patches/1892-0001-fix-cmake.patch" patch_description: "Fix CMake to be more robust & predictable" patch_type: "conan" - - patch_file: "patches/1892-0001-check-arm-sve.patch" + - patch_file: "patches/1892-0002-check-arm-sve.patch" patch_description: "Check if -march=armv9-a+sve2 is supported" patch_type: "conan" "1880": diff --git a/recipes/libyuv/all/conanfile.py b/recipes/libyuv/all/conanfile.py index 2452cb8e27058..900430a0c20d0 100644 --- a/recipes/libyuv/all/conanfile.py +++ b/recipes/libyuv/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.1" class LibyuvConan(ConanFile): @@ -57,30 +57,20 @@ def requirements(self): def source(self): get(self, **self.conan_data["sources"][self.version]) + apply_conandata_patches(self) def generate(self): tc = CMakeToolchain(self) - tc.variables["TEST"] = False - tc.variables["LIBYUV_WITH_JPEG"] = bool(self.options.with_jpeg) + tc.cache_variables["TEST"] = False + tc.cache_variables["LIBYUV_WITH_JPEG"] = bool(self.options.with_jpeg) + if self.options.get_safe("shared"): + # Force FPIC for shared, Conan does not set it + tc.cache_variables["CMAKE_POSITION_INDEPENDENT_CODE"] = True tc.generate() deps = CMakeDeps(self) deps.generate() - def _patch_sources(self): - apply_conandata_patches(self) - - # remove default CMAKE_POSITION_INDEPENDENT_CODE if not requested - use_fpic = self.options.get_safe("fPIC") or self.options.get_safe("shared") - if Version(self.version) >= "1892" and not use_fpic: - replace_in_file( - self, - os.path.join(self.source_folder, "CMakeLists.txt"), - "SET(CMAKE_POSITION_INDEPENDENT_CODE ON)", - "", - ) - def build(self): - self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() @@ -93,6 +83,8 @@ def package(self): def package_info(self): self.cpp_info.libs = ["yuv"] self.cpp_info.requires = [] + if self.settings.compiler == "msvc": + self.cpp_info.defines.append("_CRT_SECURE_NO_WARNINGS") if self.options.with_jpeg == "libjpeg": self.cpp_info.requires.append("libjpeg::libjpeg") elif self.options.with_jpeg == "libjpeg-turbo": @@ -101,6 +93,3 @@ def package_info(self): self.cpp_info.requires.append("mozjpeg::libjpeg") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") - - # TODO: to remove in conan v2 - self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/libyuv/all/patches/1892-0001-check-arm-sve.patch b/recipes/libyuv/all/patches/1892-0001-check-arm-sve.patch deleted file mode 100644 index c5fe4176018fc..0000000000000 --- a/recipes/libyuv/all/patches/1892-0001-check-arm-sve.patch +++ /dev/null @@ -1,48 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -107,25 +107,38 @@ if(NOT MSVC) - TARGET_COMPILE_OPTIONS(${ly_lib_name}_neon64 PRIVATE -march=armv8-a+dotprod+i8mm) - LIST(APPEND ly_lib_parts $) - -- # Enable AArch64 SVE kernels. -- ADD_LIBRARY(${ly_lib_name}_sve OBJECT -- ${ly_src_dir}/row_sve.cc) -- TARGET_COMPILE_OPTIONS(${ly_lib_name}_sve PRIVATE -march=armv9-a+sve2) -- LIST(APPEND ly_lib_parts $) -- - set(OLD_CMAKE_REQURED_FLAGS ${CMAKE_REQUIRED_FLAGS}) - set(OLD_CMAKE_TRY_COMPILE_TARGET_TYPE ${CMAKE_TRY_COMPILE_TARGET_TYPE}) -- set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -march=armv9-a+sme") -+ -+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQURED_FLAGS} -march=armv9-a+sve2") - set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) -+ # Check whether the compiler can compile SVE functions; this fails -+ # with Clang for macOS. -+ check_c_source_compiles(" -+int main(void) { return 0; } -+ " CAN_COMPILE_SVE) -+ -+ set(CMAKE_REQUIRED_FLAGS "${OLD_CMAKE_REQURED_FLAGS} -march=armv9-a+sme") - # Check whether the compiler can compile SME functions; this fails - # with Clang for Windows. - check_c_source_compiles(" - __arm_locally_streaming void func(void) { } - int main(void) { return 0; } - " CAN_COMPILE_SME) -+ - set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQURED_FLAGS}) - set(CMAKE_TRY_COMPILE_TARGET_TYPE ${OLD_CMAKE_TRY_COMPILE_TARGET_TYPE}) - -+ # Enable AArch64 SVE kernels. -+ if (CAN_COMPILE_SVE) -+ ADD_LIBRARY(${ly_lib_name}_sve OBJECT -+ ${ly_src_dir}/row_sve.cc) -+ TARGET_COMPILE_OPTIONS(${ly_lib_name}_sve PRIVATE -march=armv9-a+sve2) -+ LIST(APPEND ly_lib_parts $) -+ else() -+ ADD_DEFINITIONS(-DLIBYUV_DISABLE_SVE) -+ endif() -+ - if (CAN_COMPILE_SME) - # Enable AArch64 SME kernels. - ADD_LIBRARY(${ly_lib_name}_sme OBJECT diff --git a/recipes/libyuv/all/patches/1892-0001-fix-cmake.patch b/recipes/libyuv/all/patches/1892-0001-fix-cmake.patch index 9c6d556910436..de39c3870ab6c 100644 --- a/recipes/libyuv/all/patches/1892-0001-fix-cmake.patch +++ b/recipes/libyuv/all/patches/1892-0001-fix-cmake.patch @@ -1,3 +1,5 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a021623..e0e25db 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,8 +4,8 @@ @@ -10,7 +12,16 @@ OPTION( UNIT_TEST "Built unit tests" OFF ) SET ( ly_base_dir ${PROJECT_SOURCE_DIR} ) -@@ -139,15 +139,10 @@ int main(void) { return 0; } +@@ -74,8 +74,6 @@ if(MSVC) + ADD_DEFINITIONS ( -D_CRT_SECURE_NO_WARNINGS ) + endif() + +-# Need to set PIC to allow creating shared libraries from object file libraries. +-SET(CMAKE_POSITION_INDEPENDENT_CODE ON) + + # Build the set of objects that do not need to be compiled with flags to enable + # particular architecture features. +@@ -139,15 +137,10 @@ int main(void) { return 0; } endif() # this creates the static library (.a) @@ -28,7 +39,7 @@ # this creates the cpuid tool ADD_EXECUTABLE ( cpuid ${ly_base_dir}/util/cpuid.c ) -@@ -160,12 +155,18 @@ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) +@@ -160,12 +153,20 @@ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) # this creates the yuvconstants tool ADD_EXECUTABLE ( yuvconstants ${ly_base_dir}/util/yuvconstants.c ) TARGET_LINK_LIBRARIES ( yuvconstants ${ly_lib_static} ) @@ -47,12 +58,14 @@ +if (LIBYUV_WITH_JPEG) + find_package(JPEG REQUIRED) + target_link_libraries(${ly_lib_static} JPEG::JPEG ) ++ target_link_libraries(${ly_lib_name}_common_objects JPEG::JPEG ) + target_compile_definitions(${ly_lib_static} PRIVATE HAVE_JPEG) + target_compile_definitions(yuvconvert PRIVATE HAVE_JPEG) ++ target_compile_definitions(${ly_lib_name}_common_objects PRIVATE HAVE_JPEG) endif() if(UNIT_TEST) -@@ -211,10 +212,8 @@ endif() +@@ -211,11 +212,9 @@ endif() # install the conversion tool, .so, .a, and all the header files @@ -65,3 +78,4 @@ # create the .deb and .rpm packages using cpack -INCLUDE ( CM_linux_packages.cmake ) + diff --git a/recipes/libyuv/all/patches/1892-0002-check-arm-sve.patch b/recipes/libyuv/all/patches/1892-0002-check-arm-sve.patch new file mode 100644 index 0000000000000..6a03c04446bcb --- /dev/null +++ b/recipes/libyuv/all/patches/1892-0002-check-arm-sve.patch @@ -0,0 +1,40 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e0e25db..c0d9399 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -105,16 +105,28 @@ if(NOT MSVC) + TARGET_COMPILE_OPTIONS(${ly_lib_name}_neon64 PRIVATE -march=armv8-a+dotprod+i8mm) + LIST(APPEND ly_lib_parts $) + +- # Enable AArch64 SVE kernels. +- ADD_LIBRARY(${ly_lib_name}_sve OBJECT +- ${ly_src_dir}/row_sve.cc) +- TARGET_COMPILE_OPTIONS(${ly_lib_name}_sve PRIVATE -march=armv9-a+sve2) +- LIST(APPEND ly_lib_parts $) +- + set(OLD_CMAKE_REQURED_FLAGS ${CMAKE_REQUIRED_FLAGS}) + set(OLD_CMAKE_TRY_COMPILE_TARGET_TYPE ${CMAKE_TRY_COMPILE_TARGET_TYPE}) +- set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -march=armv9-a+sme") ++ ++ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -march=armv9-a+sve2") + set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) ++ # Check whether the compiler can compile SVE functions; this fails ++ # with Clang for macOS. ++ check_c_source_compiles(" ++int main(void) { return 0; } ++ " CAN_COMPILE_SVE) ++ ++ if (CAN_COMPILE_SVE) ++ # Enable AArch64 SVE kernels. ++ ADD_LIBRARY(${ly_lib_name}_sve OBJECT ++ ${ly_src_dir}/row_sve.cc) ++ TARGET_COMPILE_OPTIONS(${ly_lib_name}_sve PRIVATE -march=armv9-a+sve2) ++ LIST(APPEND ly_lib_parts $) ++ else() ++ ADD_DEFINITIONS(-DLIBYUV_DISABLE_SVE) ++ endif() ++ ++ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQURED_FLAGS} -march=armv9-a+sme) + # Check whether the compiler can compile SME functions; this fails + # with Clang for Windows. + check_c_source_compiles(" diff --git a/recipes/libyuv/all/test_package/CMakeLists.txt b/recipes/libyuv/all/test_package/CMakeLists.txt index 639163e3b7c5c..edb97e8c8e00c 100644 --- a/recipes/libyuv/all/test_package/CMakeLists.txt +++ b/recipes/libyuv/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(libyuv REQUIRED CONFIG) diff --git a/recipes/libyuv/all/test_package/conanfile.py b/recipes/libyuv/all/test_package/conanfile.py index 0a6bc68712d90..1a000b9447dd6 100644 --- a/recipes/libyuv/all/test_package/conanfile.py +++ b/recipes/libyuv/all/test_package/conanfile.py @@ -1,12 +1,12 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, cmake_layout +from conan.tools.cmake import CMake, cmake_layout, CMakeToolchain import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def layout(self): @@ -15,6 +15,11 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def generate(self): + tc = CMakeToolchain(self) + tc.preprocessor_definitions["HAS_JPEG"] = bool(self.dependencies[self.tested_reference_str].options.with_jpeg) + tc.generate() + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/libyuv/all/test_package/test_package.cpp b/recipes/libyuv/all/test_package/test_package.cpp index c8f607bc623dd..0350128ece349 100644 --- a/recipes/libyuv/all/test_package/test_package.cpp +++ b/recipes/libyuv/all/test_package/test_package.cpp @@ -1,9 +1,17 @@ #include "libyuv.h" +#if HAS_JPEG +#include "libyuv/mjpeg_decoder.h" +#endif int main() { uint8_t in[16] = {}; uint8_t out[16] = {}; libyuv::ConvertToARGB(in, 16, out, 0, 0, 0, 1, 1, 0, 0, libyuv::RotationMode::kRotate0, 0); +#if HAS_JPEG + // Test jpeg implementaiton is correctly linked + libyuv::MJpegDecoder decoder; + decoder.LoadFrame(in, 0); +#endif return 0; } diff --git a/recipes/libyuv/all/test_v1_package/CMakeLists.txt b/recipes/libyuv/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libyuv/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libyuv/all/test_v1_package/conanfile.py b/recipes/libyuv/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libyuv/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libzen/all/test_v1_package/CMakeLists.txt b/recipes/libzen/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libzen/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libzen/all/test_v1_package/conanfile.py b/recipes/libzen/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/libzen/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libzip/all/conandata.yml b/recipes/libzip/all/conandata.yml index 94b4bd310d368..9567df4b1e773 100644 --- a/recipes/libzip/all/conandata.yml +++ b/recipes/libzip/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "1.11.2": + url: + - "https://libzip.org/download/libzip-1.11.2.tar.gz" + - "https://github.com/nih-at/libzip/releases/download/v1.11.2/libzip-1.11.2.tar.gz" + sha256: "6b2a43837005e1c23fdfee532b78f806863e412d2089b9c42b49ab08cbcd7665" "1.11.1": url: - "https://libzip.org/download/libzip-1.11.1.tar.gz" @@ -25,6 +30,13 @@ sources: - "https://github.com/nih-at/libzip/releases/download/v1.7.3/libzip-1.7.3.tar.gz" sha256: "0e2276c550c5a310d4ebf3a2c3dfc43fb3b4602a072ff625842ad4f3238cb9cc" patches: + "1.11.2": + - patch_file: "patches/1.7.3-0001-cmake-install-bundle.patch" + patch_description: "fix installation path of utilities" + patch_type: "conan" + - patch_file: "patches/1.11.2-0002-remove-rpath.patch" + patch_description: "remove rpath feature" + patch_type: "conan" "1.11.1": - patch_file: "patches/1.7.3-0001-cmake-install-bundle.patch" patch_description: "fix installation path of utilities" diff --git a/recipes/libzip/all/conanfile.py b/recipes/libzip/all/conanfile.py index f6403b2c2308d..36f2fd4e220bc 100644 --- a/recipes/libzip/all/conanfile.py +++ b/recipes/libzip/all/conanfile.py @@ -93,6 +93,13 @@ def generate(self): tc.variables["BUILD_DOC"] = False tc.variables["ENABLE_LZMA"] = self.options.with_lzma tc.variables["ENABLE_BZIP2"] = self.options.with_bzip2 + if (self.settings.compiler == "gcc" + and Version(self.settings.compiler.version) >= "14" + and Version(self.version) < "1.11"): + # See https://github.com/conan-io/conan-center-index/issues/26034 + # It's an error in gcc >= 14 + # Upstream fixed this silencing this error implicitly from 1.11 + tc.extra_cflags.append("-Wno-incompatible-pointer-types") if self._has_zstd_support: tc.variables["ENABLE_ZSTD"] = self.options.with_zstd tc.variables["ENABLE_COMMONCRYPTO"] = False # TODO: We need CommonCrypto package diff --git a/recipes/libzip/all/patches/1.11.2-0002-remove-rpath.patch b/recipes/libzip/all/patches/1.11.2-0002-remove-rpath.patch new file mode 100644 index 0000000000000..2d5c920bd02c6 --- /dev/null +++ b/recipes/libzip/all/patches/1.11.2-0002-remove-rpath.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 23e0f0f..85dec3d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -293,7 +293,7 @@ if(WIN32) + endif(WIN32) + + # rpath handling: use rpath in installed binaries +-if(NOT CMAKE_SYSTEM_NAME MATCHES Linux) ++if(0) + set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + endif() diff --git a/recipes/libzip/all/test_v1_package/CMakeLists.txt b/recipes/libzip/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/libzip/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/libzip/all/test_v1_package/conanfile.py b/recipes/libzip/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/libzip/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/libzip/config.yml b/recipes/libzip/config.yml index 19f19cbdad07f..4c71d7dcc950f 100644 --- a/recipes/libzip/config.yml +++ b/recipes/libzip/config.yml @@ -1,4 +1,6 @@ versions: + "1.11.2": + folder: all "1.11.1": folder: all "1.10.1": diff --git a/recipes/libzippp/all/test_v1_package/CMakeLists.txt b/recipes/libzippp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/libzippp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libzippp/all/test_v1_package/conanfile.py b/recipes/libzippp/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/libzippp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lielab/all/conandata.yml b/recipes/lielab/all/conandata.yml index c60b643ebb70e..6803bdea9abab 100644 --- a/recipes/lielab/all/conandata.yml +++ b/recipes/lielab/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.4.1": + url: "https://github.com/sandialabs/Lielab/archive/refs/tags/v0.4.1.tar.gz" + sha256: "862BEC2114B9E554F77ECB2F7B3D5CEABF7374A9A0E7F80BCB94A868F3D9F51C" "0.4.0": url: "https://github.com/sandialabs/Lielab/archive/refs/tags/v0.4.0.tar.gz" sha256: "5CABF2D31D7D38EEEF525ADEE5D22C0359E9C043884D4AB5FBA219D3CB217A5C" diff --git a/recipes/lielab/config.yml b/recipes/lielab/config.yml index da269653d6e6b..bf6438ecd493c 100644 --- a/recipes/lielab/config.yml +++ b/recipes/lielab/config.yml @@ -1,3 +1,5 @@ versions: + "0.4.1": + folder: "all" "0.4.0": folder: "all" diff --git a/recipes/lightgbm/all/test_v1_package/CMakeLists.txt b/recipes/lightgbm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/lightgbm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/lightgbm/all/test_v1_package/conanfile.py b/recipes/lightgbm/all/test_v1_package/conanfile.py deleted file mode 100644 index 746d011e4501a..0000000000000 --- a/recipes/lightgbm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class LightGBMTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lightpcapng/all/test_v1_package/CMakeLists.txt b/recipes/lightpcapng/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/lightpcapng/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/lightpcapng/all/test_v1_package/conanfile.py b/recipes/lightpcapng/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/lightpcapng/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/linmath.h/all/test_v1_package/CMakeLists.txt b/recipes/linmath.h/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/linmath.h/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/linmath.h/all/test_v1_package/conanfile.py b/recipes/linmath.h/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/linmath.h/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/linux-syscall-support/all/test_v1_package/CMakeLists.txt b/recipes/linux-syscall-support/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 961b416af6b07..0000000000000 --- a/recipes/linux-syscall-support/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/linux-syscall-support/all/test_v1_package/conanfile.py b/recipes/linux-syscall-support/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/linux-syscall-support/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/litehtml/all/test_v1_package/CMakeLists.txt b/recipes/litehtml/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/litehtml/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/litehtml/all/test_v1_package/conanfile.py b/recipes/litehtml/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/litehtml/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/llhttp/all/test_v1_package/CMakeLists.txt b/recipes/llhttp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/llhttp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/llhttp/all/test_v1_package/conanfile.py b/recipes/llhttp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/llhttp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/llvm-core/all/CMakeLists.txt b/recipes/llvm-core/all/CMakeLists.txt deleted file mode 100644 index e88dcfa953495..0000000000000 --- a/recipes/llvm-core/all/CMakeLists.txt +++ /dev/null @@ -1,26 +0,0 @@ -cmake_minimum_required(VERSION 3.13.4) -project(conanllvm) - -include(${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -if(LLVM_ENABLE_ZLIB) - find_package(ZLIB QUIET) - - # The FindZLIB find module provided by CMake behaves differently than the FindZLIB.cmake script generated by CONAN. - # So the following two lines fill in the needed properties. - list(GET ZLIB_LIBRARIES 0 ZLIB_LIBRARY) - set_property(TARGET ZLIB::ZLIB PROPERTY LOCATION "${ZLIB_LIBRARY}") - - # Additionally LLVM 11.1.0 requires the zlib lib dir to be in the library path. - # This is not needed for later versions and can be removed once - # LLVM-12 becomes the oldest supported version. - if(UNIX) - set(ENV{LIBRARY_PATH} "${CONAN_LIB_DIRS_ZLIB}:$ENV{LIBRARY_PATH}") - elseif(WIN32) - file(TO_NATIVE_PATH "${CONAN_LIB_DIRS_ZLIB}" WINDOWS_ZLIB_PATH) - string(APPEND CMAKE_EXE_LINKER_FLAGS " /LIBPATH:${WINDOWS_ZLIB_PATH}") - endif() -endif() - -add_subdirectory("source") diff --git a/recipes/llvm-core/all/conandata.yml b/recipes/llvm-core/all/conandata.yml index 331f5f3a1903f..763714460b800 100644 --- a/recipes/llvm-core/all/conandata.yml +++ b/recipes/llvm-core/all/conandata.yml @@ -10,18 +10,60 @@ sources: sha256: ce8508e318a01a63d4e8b3090ab2ded3c598a50258cc49e2625b9120d4c03ea5 patches: - "11.1.0": - - base_path: "source" - patch_file: "patches/11x/11.1.0-cmake.patch" - - base_path: "source" - patch_file: "patches/11x/11.1.0-native.patch" - "12.0.0": - - base_path: "source" - patch_file: "patches/12x/12.0.0-cmake.patch" - - base_path: "source" - patch_file: "patches/12x/12.0.0-native.patch" "13.0.0": - - base_path: "source" - patch_file: "patches/13x/13.0.0-cmake.patch" - - base_path: "source" - patch_file: "patches/13x/13.0.0-native.patch" + - patch_file: patches/13x/0000-cmake-dependencies.patch + patch_description: fix references to third party libs to match conan variables and targets + patch_type: conan + - patch_file: patches/13x/0001-calculate-job-pools.patch + patch_description: calculate resource limits for compiling LLVM + patch_type: portability + patch_source: https://github.com/llvm/llvm-project/pull/65274 + - patch_file: patches/13x/0002-missing-includes.patch + patch_description: fix missing header files + patch_type: portability + patch_source: https://github.com/llvm/llvm-project-release-prs/pull/3 + - patch_file: patches/13x/0003-no-build-with-install-rpath.patch + patch_description: do not build shared libs with install rpath + patch_type: conan + - patch_file: patches/13x/0004-remove-lto-exports.patch + patch_description: remove LTO exports causing link error with lld + patch_source: https://github.com/llvm/llvm-project-release-prs/pull/279 + patch_type: portability + "12.0.0": + - patch_file: patches/12x/0000-cmake-dependencies.patch + patch_description: fix references to third party libs to match conan variables and targets + patch_type: conan + - patch_file: patches/12x/0001-calculate-job-pools.patch + patch_description: calculate resource limits for compiling LLVM + patch_type: portability + patch_source: https://github.com/llvm/llvm-project/pull/65274 + - patch_file: patches/12x/0002-missing-includes.patch + patch_description: fix missing header files + patch_type: portability + patch_source: https://github.com/llvm/llvm-project-release-prs/pull/3 + - patch_file: patches/12x/0003-no-build-with-install-rpath.patch + patch_description: do not build shared libs with install rpath + patch_type: conan + - patch_file: patches/12x/0004-remove-lto-exports.patch + patch_description: remove LTO exports causing link error with lld + patch_source: https://github.com/llvm/llvm-project-release-prs/pull/279 + patch_type: portability + "11.1.0": + - patch_file: patches/11x/0000-cmake-dependencies.patch + patch_description: fix references to third party libs to match conan variables and targets + patch_type: conan + - patch_file: "patches/11x/0001-calculate-job-pools.patch" + patch_description: calculate resource limits for compiling LLVM + patch_type: portability + patch_source: https://github.com/llvm/llvm-project/pull/65274 + - patch_file: patches/11x/0002-missing-includes.patch + patch_description: fix missing header files + patch_type: portability + patch_source: https://github.com/llvm/llvm-project-release-prs/pull/3 + - patch_file: patches/11x/0003-no-build-with-install-rpath.patch + patch_description: do not build shared libs with install rpath + patch_type: conan + - patch_file: patches/11x/0004-remove-lto-exports.patch + patch_description: remove LTO exports causing link error with lld + patch_source: https://github.com/llvm/llvm-project-release-prs/pull/279 + patch_type: portability diff --git a/recipes/llvm-core/all/conanfile.py b/recipes/llvm-core/all/conanfile.py index 263cb7360506c..172f48102fc18 100644 --- a/recipes/llvm-core/all/conanfile.py +++ b/recipes/llvm-core/all/conanfile.py @@ -1,429 +1,477 @@ -from conan.errors import ConanInvalidConfiguration from conan import ConanFile -from conan.tools.build import cross_building -from conan.tools.files import apply_conandata_patches, chdir, collect_libs, get, load, rename, replace_in_file, rm, rmdir, save +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd, cross_building +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import ( + apply_conandata_patches, + collect_libs, + get, + rmdir, + save, + copy, + export_conandata_patches, + rm, + rename, + replace_in_file +) +from conan.tools.microsoft import is_msvc, msvc_runtime_flag from conan.tools.scm import Version -from conans import CMake -from collections import defaultdict + import json -import re -import os.path import os +from pathlib import Path +import re import textwrap -required_conan_version = ">=1.50.2" # Due to conan.tools.scm.Version + +required_conan_version = ">=1.62.0" + +# LLVM's default config is to enable all targets, but end users can significantly reduce +# build times for the package by specifying only the targets they need as a +# semi-colon delimited string in the value of the 'targets' option +LLVM_TARGETS = { + "AArch64", + "AMDGPU", + "ARM", + "AVR", + "BPF", + "Hexagon", + "Lanai", + "LoongArch", + "Mips", + "MSP430", + "NVPTX", + "PowerPC", + "RISCV", + "Sparc", + "SystemZ", + "VE", + "WebAssembly", + "X86", + "XCore" +} class LLVMCoreConan(ConanFile): - name = 'llvm-core' + name = "llvm-core" description = ( - 'A toolkit for the construction of highly optimized compilers,' - 'optimizers, and runtime environments.' + "A toolkit for the construction of highly optimized compilers," + "optimizers, and runtime environments." ) - license = 'Apache-2.0 WITH LLVM-exception' - topics = ('llvm', 'compiler') - homepage = 'https://llvm.org' - url = 'https://github.com/conan-io/conan-center-index' - - settings = ('os', 'arch', 'compiler', 'build_type') + license = "Apache-2.0 WITH LLVM-exception" + topics = ("llvm", "compiler") + homepage = "https://llvm.org" + url = "https://github.com/conan-io/conan-center-index" + settings = "os", "arch", "compiler", "build_type" options = { - 'shared': [True, False], - 'fPIC': [True, False], - 'components': 'ANY', - 'targets': 'ANY', - 'exceptions': [True, False], - 'rtti': [True, False], - 'threads': [True, False], - 'lto': ['On', 'Off', 'Full', 'Thin'], - 'static_stdlib': [True, False], - 'unwind_tables': [True, False], - 'expensive_checks': [True, False], - 'use_perf': [True, False], - 'use_sanitizer': [ - 'Address', - 'Memory', - 'MemoryWithOrigins', - 'Undefined', - 'Thread', - 'DataFlow', - 'Address;Undefined', - 'None' + "shared": [True, False], + "fPIC": [True, False], + "components": ["ANY"], + "targets": ["ANY"], + "exceptions": [True, False], + "rtti": [True, False], + "threads": [True, False], + "lto": ["On", "Off", "Full", "Thin"], + "static_stdlib": [True, False], + "unwind_tables": [True, False], + "expensive_checks": [True, False], + "use_perf": [True, False], + "use_sanitizer": [ + "Address", + "Memory", + "MemoryWithOrigins", + "Undefined", + "Thread", + "DataFlow", + "Address;Undefined", + "None" ], - 'with_ffi': [True, False], - 'with_zlib': [True, False], - 'with_xml2': [True, False], - 'use_llvm_cmake_files': [True, False], + "with_ffi": [True, False], + "with_libedit": [True, False], + "with_terminfo": [True, False], + "with_zlib": [True, False], + "with_xml2": [True, False], + "with_z3": [True, False], } default_options = { - 'shared': False, - 'fPIC': True, - 'components': 'all', - 'targets': 'all', - 'exceptions': True, - 'rtti': True, - 'threads': True, - 'lto': 'Off', - 'static_stdlib': False, - 'unwind_tables': True, - 'expensive_checks': False, - 'use_perf': False, - 'use_sanitizer': 'None', - 'with_ffi': False, - 'with_zlib': True, - 'with_xml2': True, - 'use_llvm_cmake_files': False, + "shared": False, + "fPIC": True, + "components": "all", + "targets": "all", + "exceptions": True, + "rtti": True, + "threads": True, + "lto": "Off", + "static_stdlib": False, + "unwind_tables": True, + "expensive_checks": False, + "use_perf": False, + "use_sanitizer": "None", + "with_libedit": True, + "with_ffi": False, + "with_terminfo": False, # differs from LLVM default + "with_xml2": True, + "with_z3": True, + "with_zlib": True, } - # Older cmake versions may have issues generating the graphviz output used - # to model the components - build_requires = [ - 'cmake/3.20.5' - ] - - generators = 'cmake', 'cmake_find_package' - no_copy_source = True - short_paths = True - @property - def _source_subfolder(self): - return 'source' - - def _supports_compiler(self): - compiler = self.settings.compiler.value - version = Version(self.settings.compiler.version) - major_rev, minor_rev = version.major, (version.minor or 0) - - unsupported_combinations = [ - [compiler == 'gcc', major_rev == 5, minor_rev < 1], - [compiler == 'gcc', major_rev < 5], - [compiler == 'clang', major_rev < 4], - [compiler == 'apple-clang', major_rev < 9], - [compiler == 'Visual Studio', major_rev < 15] - ] - if any(all(combination) for combination in unsupported_combinations): - message = 'unsupported compiler: "{}", version "{}"' - raise ConanInvalidConfiguration(message.format(compiler, version)) - - def _patch_sources(self): - apply_conandata_patches(self) - - def _patch_build(self): - if os.path.exists('FindIconv.cmake'): - replace_in_file(self, 'FindIconv.cmake', 'iconv charset', 'iconv') + def _min_cppstd(self): + return 14 - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions['BUILD_SHARED_LIBS'] = False - cmake.definitions['CMAKE_SKIP_RPATH'] = True - cmake.definitions['CMAKE_POSITION_INDEPENDENT_CODE'] = \ - self.options.get_safe('fPIC', default=False) or self.options.shared - - if not self.options.shared: - cmake.definitions['DISABLE_LLVM_LINK_LLVM_DYLIB'] = True - # cmake.definitions['LLVM_LINK_DYLIB'] = self.options.shared - - cmake.definitions['LLVM_TARGET_ARCH'] = 'host' - cmake.definitions['LLVM_TARGETS_TO_BUILD'] = self.options.targets - cmake.definitions['LLVM_BUILD_LLVM_DYLIB'] = self.options.shared - cmake.definitions['LLVM_DYLIB_COMPONENTS'] = self.options.components - cmake.definitions['LLVM_ENABLE_PIC'] = \ - self.options.get_safe('fPIC', default=False) - - if self.settings.compiler == 'Visual Studio': - build_type = str(self.settings.build_type).upper() - cmake.definitions['LLVM_USE_CRT_{}'.format(build_type)] = \ - self.settings.compiler.runtime - - cmake.definitions['LLVM_ABI_BREAKING_CHECKS'] = 'WITH_ASSERTS' - cmake.definitions['LLVM_ENABLE_WARNINGS'] = True - cmake.definitions['LLVM_ENABLE_PEDANTIC'] = True - cmake.definitions['LLVM_ENABLE_WERROR'] = False - - cmake.definitions['LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN'] = True - cmake.definitions['LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO'] = False - cmake.definitions['LLVM_BUILD_INSTRUMENTED_COVERAGE'] = False - cmake.definitions['LLVM_OPTIMIZED_TABLEGEN'] = True - cmake.definitions['LLVM_REVERSE_ITERATION'] = False - cmake.definitions['LLVM_ENABLE_BINDINGS'] = False - cmake.definitions['LLVM_CCACHE_BUILD'] = False - - cmake.definitions['LLVM_INCLUDE_TOOLS'] = self.options.shared - cmake.definitions['LLVM_INCLUDE_EXAMPLES'] = False - cmake.definitions['LLVM_INCLUDE_TESTS'] = False - cmake.definitions['LLVM_INCLUDE_BENCHMARKS'] = False - cmake.definitions['LLVM_APPEND_VC_REV'] = False - cmake.definitions['LLVM_BUILD_DOCS'] = False - cmake.definitions['LLVM_ENABLE_IDE'] = False - cmake.definitions['LLVM_ENABLE_TERMINFO'] = False - - cmake.definitions['LLVM_ENABLE_EH'] = self.options.exceptions - cmake.definitions['LLVM_ENABLE_RTTI'] = self.options.rtti - cmake.definitions['LLVM_ENABLE_THREADS'] = self.options.threads - cmake.definitions['LLVM_ENABLE_LTO'] = self.options.lto - cmake.definitions['LLVM_STATIC_LINK_CXX_STDLIB'] = \ - self.options.static_stdlib - cmake.definitions['LLVM_ENABLE_UNWIND_TABLES'] = \ - self.options.unwind_tables - cmake.definitions['LLVM_ENABLE_EXPENSIVE_CHECKS'] = \ - self.options.expensive_checks - cmake.definitions['LLVM_ENABLE_ASSERTIONS'] = \ - self.settings.build_type == 'Debug' - - cmake.definitions['LLVM_USE_NEWPM'] = False - cmake.definitions['LLVM_USE_OPROFILE'] = False - cmake.definitions['LLVM_USE_PERF'] = self.options.use_perf - if self.options.use_sanitizer == 'None': - cmake.definitions['LLVM_USE_SANITIZER'] = '' - else: - cmake.definitions['LLVM_USE_SANITIZER'] = \ - self.options.use_sanitizer - - cmake.definitions['LLVM_ENABLE_Z3_SOLVER'] = False - cmake.definitions['LLVM_ENABLE_LIBPFM'] = False - cmake.definitions['LLVM_ENABLE_LIBEDIT'] = False - cmake.definitions['LLVM_ENABLE_FFI'] = self.options.with_ffi - cmake.definitions['LLVM_ENABLE_ZLIB'] = "FORCE_ON" if \ - self.options.get_safe('with_zlib', False) else False - cmake.definitions['LLVM_ENABLE_LIBXML2'] = \ - self.options.get_safe('with_xml2', False) - return cmake + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", + } def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): - if self.settings.os == 'Windows': + if self.settings.os == "Windows": del self.options.fPIC - del self.options.with_xml2 + del self.options.with_libedit # not supported on windows + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_ffi: - self.requires('libffi/3.3') - if self.options.get_safe('with_zlib', False): - self.requires('zlib/1.2.12') - if self.options.get_safe('with_xml2', False): - self.requires('libxml2/2.9.10') - - def package_id(self): - del self.info.options.use_llvm_cmake_files + self.requires("libffi/3.4.4") + if self.options.get_safe("with_libedit"): + self.requires("editline/3.1") + if self.options.with_zlib: + self.requires("zlib/[>=1.2.11 <2]") + if self.options.with_xml2: + self.requires("libxml2/[>=2.12.5 <3]") + if self.options.with_z3: + self.requires("z3/4.13.0") + + def build_requirements(self): + self.tool_requires("ninja/[>=1.10.2 <2]") def validate(self): - if self.options.shared: # Shared builds disabled just due to the CI - message = 'Shared builds not currently supported' - raise ConanInvalidConfiguration(message) - # del self.options.fPIC - # if self.settings.os == 'Windows' and self.options.shared: - # message = 'Shared builds not supported on Windows' - # raise ConanInvalidConfiguration(message) + 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." + ) + + if self.options.shared: + if self.settings.os == "Windows": + raise ConanInvalidConfiguration("Shared builds are currently not supported on Windows") + if is_apple_os(self): + # FIXME iconv contains duplicate symbols in the libiconv and libcharset libraries (both of which are + # provided by libiconv). This may be an issue with how conan packages libiconv + iconv_dep = self.dependencies.get("libiconv") + if iconv_dep and not iconv_dep.options.shared: + raise ConanInvalidConfiguration("Static iconv cannot be linked into a shared library on macos " + "due to duplicate symbols. Use libxml2/*:iconv=False.") + if self.options.exceptions and not self.options.rtti: - message = 'Cannot enable exceptions without rtti support' - raise ConanInvalidConfiguration(message) - self._supports_compiler() - if cross_building(self, skip_x64_x86=True): - raise ConanInvalidConfiguration('Cross-building not implemented') + raise ConanInvalidConfiguration("Cannot enable exceptions without rtti support") + + if cross_building(self): + # FIXME support cross compilation + # For Cross Building, LLVM builds a "native" toolchain in a subdirectory of the main build directory. + # This subdirectory would need to have the conan cmake configuration files for the build platform + # installed into it for a cross build to be successful. + # see also https://llvm.org/docs/HowToCrossCompileLLVM.html + raise ConanInvalidConfiguration("Cross compilation is not supported. Contributions are welcome!") + + def validate_build(self): + if os.getenv("CONAN_CENTER_BUILD_SERVICE") and self.settings.build_type == "Debug": + if self.settings.os == "Linux": + raise ConanInvalidConfiguration("Debug build is not supported on CCI due to resource limitations") + elif self.options.shared: + raise ConanInvalidConfiguration("Shared Debug build is not supported on CCI due to resource limitations") def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True, - destination=self._source_subfolder) - self._patch_sources() + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build(self): - self._patch_build() - cmake = self._configure_cmake() - cmake.configure() - cmake.build() + def _apply_resource_limits(self, cmake_definitions): + if os.getenv("CONAN_CENTER_BUILD_SERVICE"): + self.output.info("Applying CCI Resource Limits") + default_ram_per_compile_job = 16384 + default_ram_per_link_job = 2048 + else: + default_ram_per_compile_job = None + default_ram_per_link_job = None - @property - def _module_subfolder(self): - return os.path.join("lib", "cmake", "llvm") + ram_per_compile_job = self.conf.get("user.llvm-core:ram_per_compile_job", default_ram_per_compile_job) + if ram_per_compile_job: + cmake_definitions["LLVM_RAM_PER_COMPILE_JOB"] = ram_per_compile_job + + ram_per_link_job = self.conf.get("user.llvm-core:ram_per_link_job", default_ram_per_link_job) + if ram_per_link_job: + cmake_definitions["LLVM_RAM_PER_LINK_JOB"] = ram_per_link_job @property - def _alias_module_file_rel_path(self): - return os.path.join(self._module_subfolder, "conan-official-{}-targets.cmake".format(self.name)) + def _targets_to_build(self): + return self.options.targets if self.options.targets != "all" else self._all_targets @property - def _old_alias_module_file_rel_path(self): - return os.path.join(self._module_subfolder, "conan-official-{}-old-targets.cmake".format(self.name)) - - def _create_cmake_module_alias_targets(self, module_file, targets): - content = "" - for alias, aliased in targets.items(): - content += textwrap.dedent("""\ - if(TARGET {aliased} AND NOT TARGET {alias}) - add_library({alias} INTERFACE IMPORTED) - set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) - endif() - """.format(alias=alias, aliased=aliased)) - save(self, module_file, content) + def _all_targets(self): + targets = LLVM_TARGETS if Version(self.version) >= 14 else LLVM_TARGETS - {"LoongArch", "VE"} + return ";".join(targets) + + def generate(self): + tc = CMakeToolchain(self, generator="Ninja") + # https://releases.llvm.org/12.0.0/docs/CMake.html + # https://releases.llvm.org/13.0.0/docs/CMake.html + cmake_variables = { + # Enables LLVM to find conan libraries during try_compile + "CMAKE_TRY_COMPILE_CONFIGURATION": str(self.settings.build_type), + # LLVM has two separate concepts of a "shared library build". + # "BUILD_SHARED_LIBS" builds shared versions of all the static components + # "LLVM_BUILD_LLVM_DYLIB" builds a single shared library containing all components. + # It is likely the latter that the user expects by a "shared library" build. + "BUILD_SHARED_LIBS": False, + "LLVM_BUILD_LLVM_DYLIB": self.options.shared, + "LLVM_LINK_LLVM_DYLIB": self.options.shared, + "LLVM_DYLIB_COMPONENTS": self.options.components, + "LLVM_ABI_BREAKING_CHECKS": "WITH_ASSERTS", + "LLVM_INCLUDE_TOOLS": True, + "LLVM_INCLUDE_EXAMPLES": False, + "LLVM_INCLUDE_TESTS": False, + "LLVM_ENABLE_IDE": False, + "LLVM_ENABLE_EH": self.options.exceptions, + "LLVM_ENABLE_RTTI": self.options.rtti, + "LLVM_ENABLE_THREADS": self.options.threads, + "LLVM_ENABLE_LTO": self.options.lto, + "LLVM_STATIC_LINK_CXX_STDLIB": self.options.static_stdlib, + "LLVM_ENABLE_UNWIND_TABLES": self.options.unwind_tables, + "LLVM_ENABLE_EXPENSIVE_CHECKS": self.options.expensive_checks, + "LLVM_ENABLE_ASSERTIONS": str(self.settings.build_type), + "LLVM_USE_PERF": self.options.use_perf, + "LLVM_ENABLE_LIBEDIT": self.options.get_safe("with_libedit", False), + "LLVM_ENABLE_Z3_SOLVER": self.options.with_z3, + "LLVM_ENABLE_FFI": self.options.with_ffi, + "LLVM_ENABLE_ZLIB": "FORCE_ON" if self.options.with_zlib else False, + "LLVM_ENABLE_LIBXML2": "FORCE_ON" if self.options.with_xml2 else False, + "LLVM_ENABLE_TERMINFO": self.options.with_terminfo + } + if self.options.targets != "all": + cmake_variables["LLVM_TARGETS_TO_BUILD"] = self.options.targets - def package(self): - self.copy('LICENSE.TXT', dst='licenses', src=self._source_subfolder) - lib_path = os.path.join(self.package_folder, 'lib') + self._apply_resource_limits(cmake_variables) - cmake = self._configure_cmake() - cmake.install() + if is_msvc(self): + build_type = str(self.settings.build_type).upper() + cmake_variables[f"LLVM_USE_CRT_{build_type}"] = msvc_runtime_flag(self) if not self.options.shared: - for ext in ['.a', '.lib']: - lib = '**/lib/*LLVMTableGenGlobalISel{}'.format(ext) - self.copy(lib, dst='lib', keep_path=False) - lib = '*LLVMTableGenGlobalISel{}'.format(ext) - self.copy(lib, dst='lib', src='lib') - - CMake(self).configure(args=['--graphviz=graph/llvm.dot'], source_dir='.', build_dir='.') - with chdir(self, 'graph'): - dot_text = load(self, 'llvm.dot').replace('\r\n', '\n') - - dep_regex = re.compile(r'//\s(.+)\s->\s(.+)$', re.MULTILINE) - deps = re.findall(dep_regex, dot_text) - - dummy_targets = defaultdict(list) - for target, dep in deps: - if not target.startswith('LLVM'): - dummy_targets[target].append(dep) - - cmake_targets = { - 'libffi::libffi': 'ffi', - 'ZLIB::ZLIB': 'z', - 'Iconv::Iconv': 'iconv', - 'LibXml2::LibXml2': 'xml2' - } + cmake_variables.update({ + "DISABLE_LLVM_LINK_LLVM_DYLIB": True, + "LLVM_ENABLE_PIC": self.options.get_safe("fPIC", default=True) + }) - components = defaultdict(list) - for lib, dep in deps: - if not lib.startswith('LLVM'): - continue - elif dep.startswith('-delayload:'): + if self.options.use_sanitizer == "None": + cmake_variables["LLVM_USE_SANITIZER"] = "" + else: + cmake_variables["LLVM_USE_SANITIZER"] = self.options.use_sanitizer + + if self.settings.os == "Linux": + # Workaround for: https://github.com/conan-io/conan/issues/13560 + libdirs_host = [l for dependency in self.dependencies.host.values() for l in dependency.cpp_info.aggregated_components().libdirs] + tc.variables["CMAKE_BUILD_RPATH"] = ";".join(libdirs_host) + + tc.cache_variables.update(cmake_variables) + tc.generate() + + tc = CMakeDeps(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + @property + def _package_folder_path(self): + return Path(self.package_folder) + + def _update_component_dependencies(self, components): + def _sanitized_components(deps_list): + match_genex = re.compile(r"""\\\$""") + replacements = { + "LibXml2::LibXml2": "libxml2::libxml2", + "ZLIB::ZLIB": "zlib::zlib" + } + for dep in deps_list.split(";"): + match = match_genex.search(dep) + if match: + yield match.group(1) + else: + replacement = replacements.get(dep) + if replacement: + yield replacement + elif dep.startswith("-l"): + yield dep[2:] + else: + yield dep + + def _parse_deps(deps_list): + data = { + "requires": [], + "system_libs": [] + } + windows_system_libs = [ + "ole32", + "delayimp", + "shell32", + "advapi32", + "-delayload:shell32.dll", + "uuid", + "psapi", + "-delayload:ole32.dll" + ] + for component in _sanitized_components(deps_list): + if component in windows_system_libs: continue - elif dep.startswith('LLVM'): - components[dep] - elif dep in cmake_targets: - dep = cmake_targets[dep] - elif os.path.exists(dep): - dep = os.path.splitext(os.path.basename(dep))[0] - dep = dep.replace('lib', '') - dep = dep.replace('-l', '') - - if dep in dummy_targets.keys(): - components[lib].extend(dummy_targets[dep]) - components[lib] = list(set(components[lib])) + if component in ["rt", "m", "dl", "pthread"]: + data["system_libs"].append(component) else: - components[lib].append(dep) - - alias_targets = {} - old_alias_targets = {} - for component, _ in components.items(): - alias_targets[component] = "LLVM::{}".format(component) - old_alias_targets["llvm-core::{}".format(component[4:].replace('LLVM', '').lower())] = "LLVM::{}".format(component) - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._alias_module_file_rel_path), - alias_targets - ) + data["requires"].append(component) + return data - self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._old_alias_module_file_rel_path), - old_alias_targets - ) + # Can't use tools.files.load due to CRLF endings on Windows causing issues with Regular Expressions + cmake_exports = (self._package_folder_path / "lib" / "cmake" / "llvm" / "LLVMExports.cmake").read_text("utf-8") + match_dependencies = re.compile( + r'''^set_target_properties\((\w+).*\n?\s*INTERFACE_LINK_LIBRARIES\s+"(\S+)"''', re.MULTILINE) - rmdir(self, os.path.join(self.package_folder, 'share')) + for llvm_lib, dependencies in match_dependencies.findall(cmake_exports): + if llvm_lib in components: + components[llvm_lib].update(_parse_deps(dependencies)) - rm(self, "LLVMExports*.cmake", self.package_folder, recursive=True) - rename(self, os.path.join(self.package_folder, self._module_subfolder, 'LLVM-Config.cmake'), - os.path.join(self.package_folder, self._module_subfolder, 'LLVM-ConfigInternal.cmake')) - rename(self, os.path.join(self.package_folder, self._module_subfolder, 'LLVMConfig.cmake'), - os.path.join(self.package_folder, self._module_subfolder, 'LLVMConfigInternal.cmake')) + def _llvm_build_info(self): + cmake_config = (self._package_folder_path / "lib" / "cmake" / "llvm" / "LLVMConfig.cmake").read_text("utf-8") - replace_in_file(self, os.path.join(self.package_folder, self._module_subfolder, 'AddLLVM.cmake'), - "include(LLVM-Config)", - "include(LLVM-ConfigInternal)") - replace_in_file(self, os.path.join(self.package_folder, self._module_subfolder, 'LLVMConfigInternal.cmake'), - "LLVM-Config.cmake", - "LLVM-ConfigInternal.cmake") + match_cmake_var = re.compile(r"""^set\(LLVM_AVAILABLE_LIBS (?P.*)\)$""", re.MULTILINE) + match = match_cmake_var.search(cmake_config) + if match is None: + self.output.warning("Could not find components in LLVMConfig.cmake") + return None - for mask in ["Find*.cmake", "*Config.cmake", "*-config.cmake"]: - rm(self, mask, self.package_folder, recursive=True) + components = {component: {} for component in match.groupdict()["components"].split(";")} + self._update_component_dependencies(components) - for name in os.listdir(lib_path): - fullname = os.path.join(lib_path, name) - if 'LLVM' not in name and os.path.isfile(fullname): - os.remove(fullname) + return { + "components": components, + "native_arch": re.search(r"""^set\(LLVM_NATIVE_ARCH (\S*)\)$""", cmake_config, re.MULTILINE).group(1) + } - if not self.options.shared: - if self.options.get_safe('with_zlib', False): - if not 'z' in components['LLVMSupport']: - components['LLVMSupport'].append('z') - components_path = \ - os.path.join(self.package_folder, 'lib', 'components.json') - with open(components_path, 'w') as components_file: - json.dump(components, components_file, indent=4) - else: - suffixes = ['.dylib', '.so'] - for name in os.listdir(lib_path): - if not any(suffix in name for suffix in suffixes): - os.remove(os.path.join(lib_path, name)) + @property + def _cmake_module_path(self): + return Path("lib") / "cmake" / "llvm" - def package_info(self): - self.cpp_info.set_property("cmake_file_name", "LLVM") + @property + def _build_info_file(self): + return self._package_folder_path / self._cmake_module_path / "conan_llvm_build_info.json" - if self.options.shared: - self.cpp_info.libs = collect_libs(self) - if self.settings.os == 'Linux': - self.cpp_info.system_libs = ['pthread', 'rt', 'dl', 'm'] - elif self.settings.os == 'Macos': - self.cpp_info.system_libs = ['m'] - return - - components_path = \ - os.path.join(self.package_folder, 'lib', 'components.json') - with open(components_path, 'r') as components_file: - components = json.load(components_file) - - dependencies = ['ffi', 'z', 'iconv', 'xml2'] - targets = { - 'ffi': 'libffi::libffi', - 'z': 'zlib::zlib', - 'xml2': 'libxml2::libxml2' - } + @property + def _build_module_file_rel_path(self): + return self._cmake_module_path / f"conan-official-{self.name}-variables.cmake" + + def _create_cmake_build_module(self, build_info, module_file): + targets_with_jit = ["X86", "PowerPC", "AArch64", "ARM", "Mips", "SystemZ"] + content = textwrap.dedent(f"""\ + set(LLVM_TOOLS_BINARY_DIR "${{CMAKE_CURRENT_LIST_DIR}}/../../../bin") + cmake_path(NORMAL_PATH LLVM_TOOLS_BINARY_DIR) + set(LLVM_PACKAGE_VERSION "{self.version}") + set(LLVM_AVAILABLE_LIBS "{';'.join(build_info['components'].keys())}") + set(LLVM_BUILD_TYPE "{self.settings.build_type}") + set(LLVM_CMAKE_DIR "${{CMAKE_CURRENT_LIST_DIR}}") + set(LLVM_ALL_TARGETS "{self._all_targets}") + set(LLVM_TARGETS_TO_BUILD "{self._targets_to_build}") + set(LLVM_TARGETS_WITH_JIT "{';'.join(targets_with_jit)}") + set(LLVM_NATIVE_ARCH "{build_info['native_arch']}") + set_property(GLOBAL PROPERTY LLVM_TARGETS_CONFIGURED On) + set_property(GLOBAL PROPERTY LLVM_COMPONENT_LIBS ${{LLVM_AVAILABLE_LIBS}}) + if (NOT TARGET intrinsics_gen) + add_custom_target(intrinsics_gen) + endif() + if (NOT TARGET omp_gen) + add_custom_target(omp_gen) + endif() + if (NOT TARGET acc_gen) + add_custom_target(acc_gen) + endif() + """) + save(self, module_file, content) - for component, deps in components.items(): - self.cpp_info.components[component].libs = [component] - self.cpp_info.components[component].requires.extend(dep for dep in deps if dep.startswith('LLVM')) + def _write_build_info(self): + build_info = self._llvm_build_info() + with open(self._build_info_file, "w", encoding="utf-8") as fp: + json.dump(build_info, fp, indent=2) - for lib, target in targets.items(): - if lib in deps: - self.cpp_info.components[component].requires.append(target) + return build_info - self.cpp_info.components[component].system_libs = [ - dep for dep in deps - if not dep.startswith('LLVM') and dep not in dependencies - ] + def _read_build_info(self) -> dict: + with open(self._build_info_file, encoding="utf-8") as fp: + return json.load(fp) - self.cpp_info.components[component].set_property("cmake_target_name", component) - self.cpp_info.components[component].builddirs.append(self._module_subfolder) - - self.cpp_info.components[component].names["cmake_find_package"] = component - self.cpp_info.components[component].names["cmake_find_package_multi"] = component - self.cpp_info.components[component].build_modules["cmake_find_package"].extend([ - self._alias_module_file_rel_path, - self._old_alias_module_file_rel_path, - ]) - self.cpp_info.components[component].build_modules["cmake_find_package_multi"].extend([ - self._alias_module_file_rel_path, - self._old_alias_module_file_rel_path, - ]) - - if self.options.use_llvm_cmake_files: - self.cpp_info.components[component].build_modules["cmake_find_package"].append( - os.path.join(self._module_subfolder, "LLVMConfigInternal.cmake") - ) - self.cpp_info.components[component].build_modules["cmake_find_package_multi"].append( - os.path.join(self._module_subfolder, "LLVMConfigInternal.cmake") - ) - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "LLVM" - self.cpp_info.names["cmake_find_package_multi"] = "LLVM" + def package(self): + copy(self, "LICENSE.TXT", self.source_folder, (self._package_folder_path / "licenses").as_posix()) + cmake = CMake(self) + cmake.install() + + build_info = self._write_build_info() + + cmake_folder = self._package_folder_path / "lib" / "cmake" / "llvm" + cmake_folder_posix = cmake_folder.as_posix() + rm(self, "LLVMConfig.cmake", cmake_folder_posix) + rm(self, "LLVMExports*", cmake_folder_posix) + rm(self, "Find*", cmake_folder_posix) + rm(self, "*.pdb", (self._package_folder_path / "lib").as_posix()) + rm(self, "*.pdb", (self._package_folder_path / "bin").as_posix()) + # need to rename this as Conan will flag it, but it's not actually a Config file and is needed by + # downstream packages + rename(self, (cmake_folder / "LLVM-Config.cmake").as_posix(), (cmake_folder / "LLVM-ConfigInternal.cmake").as_posix()) + replace_in_file(self, (cmake_folder / "AddLLVM.cmake").as_posix(), "LLVM-Config", "LLVM-ConfigInternal") + rmdir(self, (self._package_folder_path / "share").as_posix()) + if self.options.shared: + rm(self, "*.a", (self._package_folder_path / "lib").as_posix()) + + self._create_cmake_build_module( + build_info, + (self._package_folder_path / self._build_module_file_rel_path).as_posix() + ) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "LLVM") + self.cpp_info.set_property("cmake_build_modules", + [self._build_module_file_rel_path, + (self._cmake_module_path / "LLVM-ConfigInternal.cmake").as_posix()] + ) + self.cpp_info.builddirs.append(self._cmake_module_path) + + if not self.options.shared: + build_info = self._read_build_info() + components = build_info["components"] + + for component_name, data in components.items(): + self.cpp_info.components[component_name].set_property("cmake_target_name", component_name) + self.cpp_info.components[component_name].libs = [component_name] + requires = data.get("requires") + if requires is not None: + self.cpp_info.components[component_name].requires += requires + system_libs = data.get("system_libs") + if system_libs is not None: + self.cpp_info.components[component_name].system_libs += system_libs + else: + self.cpp_info.set_property("cmake_target_name", "LLVM") + self.cpp_info.libs = collect_libs(self) diff --git a/recipes/llvm-core/all/patches/11x/0000-cmake-dependencies.patch b/recipes/llvm-core/all/patches/11x/0000-cmake-dependencies.patch new file mode 100644 index 0000000000000..3da6ed6f9b317 --- /dev/null +++ b/recipes/llvm-core/all/patches/11x/0000-cmake-dependencies.patch @@ -0,0 +1,118 @@ +diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake +index 90e5d327c75..c8bcb1afb76 100644 +--- a/cmake/config-ix.cmake ++++ b/cmake/config-ix.cmake +@@ -5,6 +5,7 @@ endif() + + include(CheckIncludeFile) + include(CheckLibraryExists) ++include(CMakePushCheckState) + include(CheckSymbolExists) + include(CheckFunctionExists) + include(CheckStructHasMember) +@@ -56,13 +57,27 @@ check_include_file(sys/types.h HAVE_SYS_TYPES_H) + check_include_file(termios.h HAVE_TERMIOS_H) + check_include_file(unistd.h HAVE_UNISTD_H) + check_include_file(valgrind/valgrind.h HAVE_VALGRIND_VALGRIND_H) +-check_include_file(zlib.h HAVE_ZLIB_H) ++ ++if(LLVM_ENABLE_ZLIB) ++ find_package(ZLIB REQUIRED) ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS}) ++ check_include_file(zlib.h HAVE_ZLIB_H) ++ cmake_pop_check_state() ++endif() ++ + check_include_file(fenv.h HAVE_FENV_H) + check_symbol_exists(FE_ALL_EXCEPT "fenv.h" HAVE_DECL_FE_ALL_EXCEPT) + check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT) + + check_include_file(mach/mach.h HAVE_MACH_MACH_H) +-check_include_file(histedit.h HAVE_HISTEDIT_H) ++if(LLVM_ENABLE_LIBEDIT) ++ find_package(editline REQUIRED) ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${editline_INCLUDE_DIRS}) ++ check_include_file(histedit.h HAVE_HISTEDIT_H) ++ cmake_pop_check_state() ++endif() + check_include_file(CrashReporterClient.h HAVE_CRASHREPORTERCLIENT_H) + if(APPLE) + include(CheckCSourceCompiles) +@@ -118,24 +133,21 @@ endif() + # Don't look for these libraries if we're using MSan, since uninstrumented third + # party code may call MSan interceptors like strlen, leading to false positives. + if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") +- set(HAVE_LIBZ 0) + if(LLVM_ENABLE_ZLIB) +- foreach(library z zlib_static zlib) +- string(TOUPPER ${library} library_suffix) +- check_library_exists(${library} compress2 "" HAVE_LIBZ_${library_suffix}) +- if(HAVE_LIBZ_${library_suffix}) +- set(HAVE_LIBZ 1) +- set(ZLIB_LIBRARIES "${library}") +- break() +- endif() +- endforeach() ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES}) ++ check_symbol_exists(compress2 zlib.h HAVE_LIBZ) ++ cmake_pop_check_state() + endif() + +- # Don't look for these libraries on Windows. +- if (NOT PURE_WINDOWS) + # Skip libedit if using ASan as it contains memory leaks. + if (LLVM_ENABLE_LIBEDIT AND HAVE_HISTEDIT_H AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*") ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${editline_INCLUDE_DIRS}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${editline_LIBRARIES}) + check_library_exists(edit el_init "" HAVE_LIBEDIT) ++ cmake_pop_check_state() + else() + set(HAVE_LIBEDIT 0) + endif() +@@ -157,19 +169,11 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") + find_library(ICONV_LIBRARY_PATH NAMES iconv libiconv libiconv-2 c) + set(LLVM_LIBXML2_ENABLED 0) + set(LIBXML2_FOUND 0) +- if((LLVM_ENABLE_LIBXML2) AND ((CMAKE_SYSTEM_NAME MATCHES "Linux") AND (ICONV_LIBRARY_PATH) OR APPLE)) +- find_package(LibXml2) +- if (LIBXML2_FOUND) ++ if(LLVM_ENABLE_LIBXML2) ++ find_package(LibXml2 REQUIRED) + set(LLVM_LIBXML2_ENABLED 1) +- if ((CMAKE_OSX_SYSROOT) AND (EXISTS ${CMAKE_OSX_SYSROOT}/${LIBXML2_INCLUDE_DIR})) +- include_directories(${CMAKE_OSX_SYSROOT}/${LIBXML2_INCLUDE_DIR}) +- else() +- include_directories(${LIBXML2_INCLUDE_DIR}) +- endif() +- endif() + endif() + endif() +-endif() + + if (LLVM_ENABLE_LIBXML2 STREQUAL "FORCE_ON" AND NOT LLVM_LIBXML2_ENABLED) + message(FATAL_ERROR "Failed to congifure libxml2") +@@ -517,7 +521,7 @@ else( LLVM_ENABLE_THREADS ) + message(STATUS "Threads disabled.") + endif() + +-if (LLVM_ENABLE_ZLIB ) ++if (LLVM_ENABLE_ZLIB STREQUAL "FORCE_ON") + # Check if zlib is available in the system. + if ( NOT HAVE_ZLIB_H OR NOT HAVE_LIBZ ) + set(LLVM_ENABLE_ZLIB 0) +diff --git a/lib/LineEditor/CMakeLists.txt b/lib/LineEditor/CMakeLists.txt +index 59190379406..3952bf0144f 100644 +--- a/lib/LineEditor/CMakeLists.txt ++++ b/lib/LineEditor/CMakeLists.txt +@@ -1,5 +1,5 @@ + if(HAVE_LIBEDIT) +- set(link_libs edit) ++ set(link_libs editline::editline) + endif() + + add_llvm_component_library(LLVMLineEditor diff --git a/recipes/llvm-core/all/patches/11x/0001-calculate-job-pools.patch b/recipes/llvm-core/all/patches/11x/0001-calculate-job-pools.patch new file mode 100644 index 0000000000000..b00101aa4e526 --- /dev/null +++ b/recipes/llvm-core/all/patches/11x/0001-calculate-job-pools.patch @@ -0,0 +1,42 @@ +diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake +index 5ef22eb493b..3478c7ef6eb 100644 +--- a/cmake/modules/HandleLLVMOptions.cmake ++++ b/cmake/modules/HandleLLVMOptions.cmake +@@ -27,6 +27,19 @@ string(TOUPPER "${LLVM_ENABLE_LTO}" uppercase_LLVM_ENABLE_LTO) + # The following only works with the Ninja generator in CMake >= 3.0. + set(LLVM_PARALLEL_COMPILE_JOBS "" CACHE STRING + "Define the maximum number of concurrent compilation jobs (Ninja only).") ++cmake_host_system_information(RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY) ++cmake_host_system_information(RESULT NUMBER_OF_LOGICAL_CORES QUERY NUMBER_OF_LOGICAL_CORES) ++if(LLVM_RAM_PER_COMPILE_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_COMPILE_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_COMPILE_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_COMPILE_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(LLVM_PARALLEL_COMPILE_JOBS) + if(NOT CMAKE_GENERATOR STREQUAL "Ninja") + message(WARNING "Job pooling is only available with Ninja generators.") +@@ -38,6 +51,17 @@ endif() + + set(LLVM_PARALLEL_LINK_JOBS "" CACHE STRING + "Define the maximum number of concurrent link jobs (Ninja only).") ++if(LLVM_RAM_PER_LINK_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_LINK_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_LINK_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_LINK_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(CMAKE_GENERATOR STREQUAL "Ninja") + if(NOT LLVM_PARALLEL_LINK_JOBS AND uppercase_LLVM_ENABLE_LTO STREQUAL "THIN") + message(STATUS "ThinLTO provides its own parallel linking - limiting parallel link jobs to 2.") diff --git a/recipes/llvm-core/all/patches/11x/0002-missing-includes.patch b/recipes/llvm-core/all/patches/11x/0002-missing-includes.patch new file mode 100644 index 0000000000000..929a539e77369 --- /dev/null +++ b/recipes/llvm-core/all/patches/11x/0002-missing-includes.patch @@ -0,0 +1,24 @@ +diff --git a/include/llvm/Support/Signals.h b/include/llvm/Support/Signals.h +index e0a18e72f2a..148216b8f87 100644 +--- a/include/llvm/Support/Signals.h ++++ b/include/llvm/Support/Signals.h +@@ -14,6 +14,7 @@ + #ifndef LLVM_SUPPORT_SIGNALS_H + #define LLVM_SUPPORT_SIGNALS_H + ++#include + #include + + namespace llvm { +diff --git a/utils/benchmark/src/benchmark_register.h b/utils/benchmark/src/benchmark_register.h +index 0705e219f2f..4caa5ad4da0 100644 +--- a/utils/benchmark/src/benchmark_register.h ++++ b/utils/benchmark/src/benchmark_register.h +@@ -1,6 +1,7 @@ + #ifndef BENCHMARK_REGISTER_H + #define BENCHMARK_REGISTER_H + ++#include + #include + + #include "check.h" diff --git a/recipes/llvm-core/all/patches/11x/0003-no-build-with-install-rpath.patch b/recipes/llvm-core/all/patches/11x/0003-no-build-with-install-rpath.patch new file mode 100644 index 0000000000000..e56177aab947f --- /dev/null +++ b/recipes/llvm-core/all/patches/11x/0003-no-build-with-install-rpath.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake +index b74adc11ade9..8c70fe15d2a0 100644 +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -2081,7 +2081,7 @@ function(llvm_setup_rpath name) + endif() + + set_target_properties(${name} PROPERTIES +- BUILD_WITH_INSTALL_RPATH On ++ BUILD_WITH_INSTALL_RPATH OFF + INSTALL_RPATH "${_install_rpath}" + ${_install_name_dir}) + endfunction() diff --git a/recipes/llvm-core/all/patches/11x/0004-remove-lto-exports.patch b/recipes/llvm-core/all/patches/11x/0004-remove-lto-exports.patch new file mode 100644 index 0000000000000..6dea8a2419a11 --- /dev/null +++ b/recipes/llvm-core/all/patches/11x/0004-remove-lto-exports.patch @@ -0,0 +1,32 @@ +diff --git a/tools/lto/lto.exports b/tools/lto/lto.exports +index 1f0a6b23d3fd..2871abd34e40 100644 +--- a/tools/lto/lto.exports ++++ b/tools/lto/lto.exports +@@ -43,12 +43,6 @@ lto_codegen_optimize + lto_codegen_compile_optimized + lto_codegen_set_should_internalize + lto_codegen_set_should_embed_uselists +-LLVMCreateDisasm +-LLVMCreateDisasmCPU +-LLVMDisasmDispose +-LLVMDisasmInstruction +-LLVMSetDisasmOptions +-LLVMCreateDisasmCPUFeatures + thinlto_create_codegen + thinlto_codegen_dispose + thinlto_codegen_add_module +diff --git a/tools/remarks-shlib/CMakeLists.txt b/tools/remarks-shlib/CMakeLists.txt +index e948496c603a..97bc45e110dc 100644 +--- a/tools/remarks-shlib/CMakeLists.txt ++++ b/tools/remarks-shlib/CMakeLists.txt +@@ -6,7 +6,9 @@ set(SOURCES + libremarks.cpp + ) + +-set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) ++if (NOT (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB)) ++ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) ++endif() + + add_llvm_library(Remarks SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES}) + diff --git a/recipes/llvm-core/all/patches/11x/11.1.0-cmake.patch b/recipes/llvm-core/all/patches/11x/11.1.0-cmake.patch deleted file mode 100644 index 6f2c7682aa4e0..0000000000000 --- a/recipes/llvm-core/all/patches/11x/11.1.0-cmake.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- cmake/config-ix.cmake -+++ cmake/config-ix.cmake -@@ -159,6 +159,9 @@ - set(LIBXML2_FOUND 0) - if((LLVM_ENABLE_LIBXML2) AND ((CMAKE_SYSTEM_NAME MATCHES "Linux") AND (ICONV_LIBRARY_PATH) OR APPLE)) - find_package(LibXml2) -+ set(LIBXML2_FOUND 1) -+ list(GET LibXml2_INCLUDE_DIRS -1 LIBXML2_INCLUDE_DIR) -+ set(LIBXML2_LIBRARIES ${LibXml2_LIBRARIES}) - if (LIBXML2_FOUND) - set(LLVM_LIBXML2_ENABLED 1) - if ((CMAKE_OSX_SYSROOT) AND (EXISTS ${CMAKE_OSX_SYSROOT}/${LIBXML2_INCLUDE_DIR})) -@@ -321,7 +321,7 @@ - message(FATAL_ERROR "libffi includes are not found.") - endif() - -- find_library(FFI_LIBRARY_PATH ffi PATHS ${FFI_LIBRARY_DIR}) -+ find_library(FFI_LIBRARY_PATH NAMES ffi libffi PATHS ${FFI_LIBRARY_DIR}) - if( NOT FFI_LIBRARY_PATH ) - message(FATAL_ERROR "libffi is not found.") - endif() ---- cmake/modules/TableGen.cmake -+++ cmake/modules/TableGen.cmake -@@ -138,12 +138,7 @@ - macro(add_tablegen target project) - set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS}) - set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen) -- -- # CMake-3.9 doesn't let compilation units depend on their dependent libraries. -- if(NOT (CMAKE_GENERATOR STREQUAL "Ninja" AND NOT CMAKE_VERSION VERSION_LESS 3.9) AND NOT XCODE) -- # FIXME: It leaks to user, callee of add_tablegen. -- set(LLVM_ENABLE_OBJLIB ON) -- endif() -+ set(LLVM_ENABLE_OBJLIB OFF) - - add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN}) - set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS}) ---- lib/WindowsManifest/CMakeLists.txt -+++ lib/WindowsManifest/CMakeLists.txt -@@ -8,16 +8,6 @@ - if(LIBXML2_LIBRARIES) - target_link_libraries(LLVMWindowsManifest PUBLIC ${LIBXML2_LIBRARIES}) - -- get_filename_component(xml2_library ${LIBXML2_LIBRARIES} NAME) -- if (CMAKE_STATIC_LIBRARY_PREFIX AND -- xml2_library MATCHES "^${CMAKE_STATIC_LIBRARY_PREFIX}.*${CMAKE_STATIC_LIBRARY_SUFFIX}$") -- string(REGEX REPLACE "^${CMAKE_STATIC_LIBRARY_PREFIX}" "" xml2_library ${xml2_library}) -- string(REGEX REPLACE "${CMAKE_STATIC_LIBRARY_SUFFIX}$" "" xml2_library ${xml2_library}) -- elseif (CMAKE_SHARED_LIBRARY_PREFIX AND -- xml2_library MATCHES "^${CMAKE_SHARED_LIBRARY_PREFIX}.*${CMAKE_SHARED_LIBRARY_SUFFIX}$") -- string(REGEX REPLACE "^${CMAKE_SHARED_LIBRARY_PREFIX}" "" xml2_library ${xml2_library}) -- string(REGEX REPLACE "${CMAKE_SHARED_LIBRARY_SUFFIX}$" "" xml2_library ${xml2_library}) -- endif() - set_property(TARGET LLVMWindowsManifest PROPERTY -- LLVM_SYSTEM_LIBS ${xml2_library}) -+ LLVM_SYSTEM_LIBS ${LIBXML2_LIBRARIES}) - endif() diff --git a/recipes/llvm-core/all/patches/11x/11.1.0-native.patch b/recipes/llvm-core/all/patches/11x/11.1.0-native.patch deleted file mode 100644 index c541a76820341..0000000000000 --- a/recipes/llvm-core/all/patches/11x/11.1.0-native.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -942,10 +942,6 @@ - include_directories( ${LLVM_INCLUDE_DIR} ${LLVM_MAIN_INCLUDE_DIR}) - - # when crosscompiling import the executable targets from a file --if(LLVM_USE_HOST_TOOLS) -- include(CrossCompile) -- llvm_create_cross_target(LLVM NATIVE "" Release) --endif(LLVM_USE_HOST_TOOLS) - if(LLVM_TARGET_IS_CROSSCOMPILE_HOST) - # Dummy use to avoid CMake Warning: Manually-specified variables were not used - # (this is a variable that CrossCompile sets on recursive invocations) ---- cmake/modules/TableGen.cmake -+++ cmake/modules/TableGen.cmake -@@ -150,33 +150,6 @@ - set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN} PARENT_SCOPE) - set(${project}_TABLEGEN_TARGET ${${project}_TABLEGEN} PARENT_SCOPE) - -- if(LLVM_USE_HOST_TOOLS) -- if( ${${project}_TABLEGEN} STREQUAL "${target}" ) -- # The NATIVE tablegen executable *must* depend on the current target one -- # otherwise the native one won't get rebuilt when the tablgen sources -- # change, and we end up with incorrect builds. -- build_native_tool(${target} ${project}_TABLEGEN_EXE DEPENDS ${target}) -- set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN_EXE} PARENT_SCOPE) -- -- add_custom_target(${project}-tablegen-host DEPENDS ${${project}_TABLEGEN_EXE}) -- set(${project}_TABLEGEN_TARGET ${project}-tablegen-host PARENT_SCOPE) -- -- # Create an artificial dependency between tablegen projects, because they -- # compile the same dependencies, thus using the same build folders. -- # FIXME: A proper fix requires sequentially chaining tablegens. -- if (NOT ${project} STREQUAL LLVM AND TARGET ${project}-tablegen-host AND -- TARGET LLVM-tablegen-host) -- add_dependencies(${project}-tablegen-host LLVM-tablegen-host) -- endif() -- -- # If we're using the host tablegen, and utils were not requested, we have no -- # need to build this tablegen. -- if ( NOT LLVM_BUILD_UTILS ) -- set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL ON) -- endif() -- endif() -- endif() -- - if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) - set(export_to_llvmexports) - if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR ---- tools/llvm-config/CMakeLists.txt -+++ tools/llvm-config/CMakeLists.txt -@@ -77,11 +77,3 @@ - - # Add the dependency on the generation step. - add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH}) -- --if(CMAKE_CROSSCOMPILING AND NOT LLVM_CONFIG_PATH) -- build_native_tool(llvm-config LLVM_CONFIG_PATH) -- set(LLVM_CONFIG_PATH "${LLVM_CONFIG_PATH}" CACHE STRING "") -- -- add_custom_target(NativeLLVMConfig DEPENDS ${LLVM_CONFIG_PATH}) -- add_dependencies(llvm-config NativeLLVMConfig) --endif() ---- tools/llvm-shlib/CMakeLists.txt -+++ tools/llvm-shlib/CMakeLists.txt -@@ -155,13 +155,8 @@ - - set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllvm-c.exports) - if(NOT LLVM_NM) -- if(CMAKE_CROSSCOMPILING) -- build_native_tool(llvm-nm llvm_nm) -- set(llvm_nm_target "${llvm_nm}") -- else() -- set(llvm_nm $) -- set(llvm_nm_target llvm-nm) -- endif() -+ set(llvm_nm $) -+ set(llvm_nm_target llvm-nm) - else() - set(llvm_nm ${LLVM_NM}) - set(llvm_nm_target "") diff --git a/recipes/llvm-core/all/patches/12x/0000-cmake-dependencies.patch b/recipes/llvm-core/all/patches/12x/0000-cmake-dependencies.patch new file mode 100644 index 0000000000000..319d08bc1921c --- /dev/null +++ b/recipes/llvm-core/all/patches/12x/0000-cmake-dependencies.patch @@ -0,0 +1,92 @@ +diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake +index 818fafbce14..8ef381257b6 100644 +--- a/cmake/config-ix.cmake ++++ b/cmake/config-ix.cmake +@@ -63,7 +63,13 @@ check_symbol_exists(FE_ALL_EXCEPT "fenv.h" HAVE_DECL_FE_ALL_EXCEPT) + check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT) + + check_include_file(mach/mach.h HAVE_MACH_MACH_H) +-check_include_file(histedit.h HAVE_HISTEDIT_H) ++if (LLVM_ENABLE_LIBEDIT) ++ find_package(editline REQUIRED) ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${editline_INCLUDE_DIRS}) ++ check_include_file(histedit.h HAVE_HISTEDIT_H) ++ cmake_pop_check_state() ++endif() + check_include_file(CrashReporterClient.h HAVE_CRASHREPORTERCLIENT_H) + if(APPLE) + include(CheckCSourceCompiles) +@@ -127,7 +133,7 @@ if(LLVM_ENABLE_ZLIB) + # library on a 64-bit system which would result in a link-time failure. + cmake_push_check_state() + list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS}) +- list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARY}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES}) + check_symbol_exists(compress2 zlib.h HAVE_ZLIB) + cmake_pop_check_state() + if(LLVM_ENABLE_ZLIB STREQUAL FORCE_ON AND NOT HAVE_ZLIB) +@@ -165,7 +171,11 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") + if (NOT PURE_WINDOWS) + # Skip libedit if using ASan as it contains memory leaks. + if (LLVM_ENABLE_LIBEDIT AND HAVE_HISTEDIT_H AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*") ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${editline_INCLUDE_DIRS}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${editline_LIBRARIES}) + check_library_exists(edit el_init "" HAVE_LIBEDIT) ++ cmake_pop_check_state() + else() + set(HAVE_LIBEDIT 0) + endif() +diff --git a/lib/LineEditor/CMakeLists.txt b/lib/LineEditor/CMakeLists.txt +index 61328f76905..b95d073d972 100644 +--- a/lib/LineEditor/CMakeLists.txt ++++ b/lib/LineEditor/CMakeLists.txt +@@ -1,5 +1,5 @@ + if(HAVE_LIBEDIT) +- set(link_libs edit) ++ set(link_libs editline::editline) + endif() + + add_llvm_component_library(LLVMLineEditor +diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt +index cdee11412eb..f32a7b7909d 100644 +--- a/lib/Support/CMakeLists.txt ++++ b/lib/Support/CMakeLists.txt +@@ -236,14 +236,7 @@ set(llvm_system_libs ${system_libs}) + # This block is only needed for llvm-config. When we deprecate llvm-config and + # move to using CMake export, this block can be removed. + if(LLVM_ENABLE_ZLIB) +- # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. +- if(CMAKE_BUILD_TYPE) +- string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) +- get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION_${build_type}) +- endif() +- if(NOT zlib_library) +- get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION) +- endif() ++ set(zlib_library ${ZLIB_LIBRARIES}) + get_library_name(${zlib_library} zlib_library) + set(llvm_system_libs ${llvm_system_libs} "${zlib_library}") + endif() +diff --git a/lib/WindowsManifest/CMakeLists.txt b/lib/WindowsManifest/CMakeLists.txt +index 8134ac8c815..652062f7fb9 100644 +--- a/lib/WindowsManifest/CMakeLists.txt ++++ b/lib/WindowsManifest/CMakeLists.txt +@@ -21,14 +21,8 @@ add_llvm_component_library(LLVMWindowsManifest + # This block is only needed for llvm-config. When we deprecate llvm-config and + # move to using CMake export, this block can be removed. + if(LLVM_ENABLE_LIBXML2) +- # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. +- if(CMAKE_BUILD_TYPE) +- string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) +- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION_${build_type}) +- endif() +- if(NOT zlib_library) +- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION) +- endif() ++ find_package(libxml2 REQUIRED CONFIG) ++ set(libxml2_library ${libxml2_LIBRARIES}) + get_library_name(${libxml2_library} libxml2_library) + set_property(TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS ${libxml2_library}) + endif() diff --git a/recipes/llvm-core/all/patches/12x/0001-calculate-job-pools.patch b/recipes/llvm-core/all/patches/12x/0001-calculate-job-pools.patch new file mode 100644 index 0000000000000..ab29c3a894ccd --- /dev/null +++ b/recipes/llvm-core/all/patches/12x/0001-calculate-job-pools.patch @@ -0,0 +1,42 @@ +diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake +index 5d4d692a70a..5776a85b747 100644 +--- a/cmake/modules/HandleLLVMOptions.cmake ++++ b/cmake/modules/HandleLLVMOptions.cmake +@@ -27,6 +27,19 @@ string(TOUPPER "${LLVM_ENABLE_LTO}" uppercase_LLVM_ENABLE_LTO) + # The following only works with the Ninja generator in CMake >= 3.0. + set(LLVM_PARALLEL_COMPILE_JOBS "" CACHE STRING + "Define the maximum number of concurrent compilation jobs (Ninja only).") ++cmake_host_system_information(RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY) ++cmake_host_system_information(RESULT NUMBER_OF_LOGICAL_CORES QUERY NUMBER_OF_LOGICAL_CORES) ++if(LLVM_RAM_PER_COMPILE_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_COMPILE_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_COMPILE_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_COMPILE_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(LLVM_PARALLEL_COMPILE_JOBS) + if(NOT CMAKE_GENERATOR STREQUAL "Ninja") + message(WARNING "Job pooling is only available with Ninja generators.") +@@ -38,6 +51,17 @@ endif() + + set(LLVM_PARALLEL_LINK_JOBS "" CACHE STRING + "Define the maximum number of concurrent link jobs (Ninja only).") ++if(LLVM_RAM_PER_LINK_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_LINK_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_LINK_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_LINK_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(CMAKE_GENERATOR STREQUAL "Ninja") + if(NOT LLVM_PARALLEL_LINK_JOBS AND uppercase_LLVM_ENABLE_LTO STREQUAL "THIN") + message(STATUS "ThinLTO provides its own parallel linking - limiting parallel link jobs to 2.") diff --git a/recipes/llvm-core/all/patches/12x/0002-missing-includes.patch b/recipes/llvm-core/all/patches/12x/0002-missing-includes.patch new file mode 100644 index 0000000000000..c7cfb90318b49 --- /dev/null +++ b/recipes/llvm-core/all/patches/12x/0002-missing-includes.patch @@ -0,0 +1,12 @@ +diff --git a/include/llvm/Support/Signals.h b/include/llvm/Support/Signals.h +index 44f5a750ff5..937e0572d4a 100644 +--- a/include/llvm/Support/Signals.h ++++ b/include/llvm/Support/Signals.h +@@ -14,6 +14,7 @@ + #ifndef LLVM_SUPPORT_SIGNALS_H + #define LLVM_SUPPORT_SIGNALS_H + ++#include + #include + + namespace llvm { diff --git a/recipes/llvm-core/all/patches/12x/0003-no-build-with-install-rpath.patch b/recipes/llvm-core/all/patches/12x/0003-no-build-with-install-rpath.patch new file mode 100644 index 0000000000000..df143f02d6491 --- /dev/null +++ b/recipes/llvm-core/all/patches/12x/0003-no-build-with-install-rpath.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake +index 97c9980c7de3..23fead47c2d7 100644 +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -2118,7 +2118,7 @@ function(llvm_setup_rpath name) + + # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set. + if("${CMAKE_BUILD_RPATH}" STREQUAL "") +- set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON) ++ set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH OFF) + endif() + + set_target_properties(${name} PROPERTIES diff --git a/recipes/llvm-core/all/patches/12x/0004-remove-lto-exports.patch b/recipes/llvm-core/all/patches/12x/0004-remove-lto-exports.patch new file mode 100644 index 0000000000000..60db5a636b646 --- /dev/null +++ b/recipes/llvm-core/all/patches/12x/0004-remove-lto-exports.patch @@ -0,0 +1,32 @@ +diff --git a/tools/lto/lto.exports b/tools/lto/lto.exports +index 1f0a6b23d3fd..2871abd34e40 100644 +--- a/tools/lto/lto.exports ++++ b/tools/lto/lto.exports +@@ -43,12 +43,6 @@ lto_codegen_optimize + lto_codegen_compile_optimized + lto_codegen_set_should_internalize + lto_codegen_set_should_embed_uselists +-LLVMCreateDisasm +-LLVMCreateDisasmCPU +-LLVMDisasmDispose +-LLVMDisasmInstruction +-LLVMSetDisasmOptions +-LLVMCreateDisasmCPUFeatures + thinlto_create_codegen + thinlto_codegen_dispose + thinlto_codegen_add_module +diff --git a/tools/remarks-shlib/CMakeLists.txt b/tools/remarks-shlib/CMakeLists.txt +index 865436247270..aa11669d9a75 100644 +--- a/tools/remarks-shlib/CMakeLists.txt ++++ b/tools/remarks-shlib/CMakeLists.txt +@@ -9,7 +9,9 @@ if(LLVM_ENABLE_PIC) + libremarks.cpp + ) + +- set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) ++ if (NOT (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB)) ++ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) ++ endif() + + add_llvm_library(Remarks SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES}) + diff --git a/recipes/llvm-core/all/patches/12x/12.0.0-cmake.patch b/recipes/llvm-core/all/patches/12x/12.0.0-cmake.patch deleted file mode 100644 index 8d3f7dbf7cf98..0000000000000 --- a/recipes/llvm-core/all/patches/12x/12.0.0-cmake.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- cmake/config-ix.cmake -+++ cmake/config-ix.cmake -@@ -143,6 +143,9 @@ - elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") - find_package(LibXml2) - endif() -+ set(LIBXML2_FOUND 1) -+ list(GET LibXml2_INCLUDE_DIRS -1 LIBXML2_INCLUDE_DIR) -+ set(LIBXML2_LIBRARIES ${LibXml2_LIBRARIES}) - if(LibXml2_FOUND) - # Check if libxml2 we found is usable; for example, we may have found a 32-bit - # library on a 64-bit system which would result in a link-time failure. -@@ -335,7 +335,7 @@ - message(FATAL_ERROR "libffi includes are not found.") - endif() - -- find_library(FFI_LIBRARY_PATH ffi PATHS ${FFI_LIBRARY_DIR}) -+ find_library(FFI_LIBRARY_PATH NAMES ffi libffi PATHS ${FFI_LIBRARY_DIR}) - if( NOT FFI_LIBRARY_PATH ) - message(FATAL_ERROR "libffi is not found.") - endif() ---- cmake/modules/TableGen.cmake -+++ cmake/modules/TableGen.cmake -@@ -132,12 +132,7 @@ - macro(add_tablegen target project) - set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS}) - set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen) -- -- # CMake doesn't let compilation units depend on their dependent libraries on some generators. -- if(NOT CMAKE_GENERATOR STREQUAL "Ninja" AND NOT XCODE) -- # FIXME: It leaks to user, callee of add_tablegen. -- set(LLVM_ENABLE_OBJLIB ON) -- endif() -+ set(LLVM_ENABLE_OBJLIB OFF) - - add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN}) - set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS}) ---- lib/WindowsManifest/CMakeLists.txt -+++ lib/WindowsManifest/CMakeLists.txt -@@ -21,14 +21,5 @@ - # This block is only needed for llvm-config. When we deprecate llvm-config and - # move to using CMake export, this block can be removed. - if(LLVM_ENABLE_LIBXML2) -- # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. -- if(CMAKE_BUILD_TYPE) -- string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) -- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION_${build_type}) -- endif() -- if(NOT zlib_library) -- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION) -- endif() -- get_library_name(${libxml2_library} libxml2_library) -- set_property(TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS ${libxml2_library}) -+ set_property(TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS ${LIBXML2_LIBRARIES}) - endif() diff --git a/recipes/llvm-core/all/patches/12x/12.0.0-native.patch b/recipes/llvm-core/all/patches/12x/12.0.0-native.patch deleted file mode 100644 index f5c6d542fab8f..0000000000000 --- a/recipes/llvm-core/all/patches/12x/12.0.0-native.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -891,10 +891,6 @@ - include_directories( ${LLVM_INCLUDE_DIR} ${LLVM_MAIN_INCLUDE_DIR}) - - # when crosscompiling import the executable targets from a file --if(LLVM_USE_HOST_TOOLS) -- include(CrossCompile) -- llvm_create_cross_target(LLVM NATIVE "" Release) --endif(LLVM_USE_HOST_TOOLS) - if(LLVM_TARGET_IS_CROSSCOMPILE_HOST) - # Dummy use to avoid CMake Warning: Manually-specified variables were not used - # (this is a variable that CrossCompile sets on recursive invocations) ---- cmake/modules/TableGen.cmake -+++ cmake/modules/TableGen.cmake -@@ -144,33 +144,6 @@ - set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN} PARENT_SCOPE) - set(${project}_TABLEGEN_TARGET ${${project}_TABLEGEN} PARENT_SCOPE) - -- if(LLVM_USE_HOST_TOOLS) -- if( ${${project}_TABLEGEN} STREQUAL "${target}" ) -- # The NATIVE tablegen executable *must* depend on the current target one -- # otherwise the native one won't get rebuilt when the tablgen sources -- # change, and we end up with incorrect builds. -- build_native_tool(${target} ${project}_TABLEGEN_EXE DEPENDS ${target}) -- set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN_EXE} PARENT_SCOPE) -- -- add_custom_target(${project}-tablegen-host DEPENDS ${${project}_TABLEGEN_EXE}) -- set(${project}_TABLEGEN_TARGET ${project}-tablegen-host PARENT_SCOPE) -- -- # Create an artificial dependency between tablegen projects, because they -- # compile the same dependencies, thus using the same build folders. -- # FIXME: A proper fix requires sequentially chaining tablegens. -- if (NOT ${project} STREQUAL LLVM AND TARGET ${project}-tablegen-host AND -- TARGET LLVM-tablegen-host) -- add_dependencies(${project}-tablegen-host LLVM-tablegen-host) -- endif() -- -- # If we're using the host tablegen, and utils were not requested, we have no -- # need to build this tablegen. -- if ( NOT LLVM_BUILD_UTILS ) -- set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL ON) -- endif() -- endif() -- endif() -- - if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) - set(export_to_llvmexports) - if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR ---- tools/llvm-config/CMakeLists.txt -+++ tools/llvm-config/CMakeLists.txt -@@ -75,11 +75,3 @@ - - # Add the dependency on the generation step. - add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH}) -- --if(CMAKE_CROSSCOMPILING AND NOT LLVM_CONFIG_PATH) -- build_native_tool(llvm-config LLVM_CONFIG_PATH) -- set(LLVM_CONFIG_PATH "${LLVM_CONFIG_PATH}" CACHE STRING "") -- -- add_custom_target(NativeLLVMConfig DEPENDS ${LLVM_CONFIG_PATH}) -- add_dependencies(llvm-config NativeLLVMConfig) --endif() ---- tools/llvm-shlib/CMakeLists.txt -+++ tools/llvm-shlib/CMakeLists.txt -@@ -155,13 +155,8 @@ - - set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllvm-c.exports) - if(NOT LLVM_NM) -- if(CMAKE_CROSSCOMPILING) -- build_native_tool(llvm-nm llvm_nm) -- set(llvm_nm_target "${llvm_nm}") -- else() -- set(llvm_nm $) -- set(llvm_nm_target llvm-nm) -- endif() -+ set(llvm_nm $) -+ set(llvm_nm_target llvm-nm) - else() - set(llvm_nm ${LLVM_NM}) - set(llvm_nm_target "") diff --git a/recipes/llvm-core/all/patches/13x/0000-cmake-dependencies.patch b/recipes/llvm-core/all/patches/13x/0000-cmake-dependencies.patch new file mode 100644 index 0000000000000..a49abd15efa6c --- /dev/null +++ b/recipes/llvm-core/all/patches/13x/0000-cmake-dependencies.patch @@ -0,0 +1,84 @@ +diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake +index dd0aaadb47c..790a0b27a49 100644 +--- a/cmake/config-ix.cmake ++++ b/cmake/config-ix.cmake +@@ -63,7 +63,13 @@ check_symbol_exists(FE_ALL_EXCEPT "fenv.h" HAVE_DECL_FE_ALL_EXCEPT) + check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT) + + check_include_file(mach/mach.h HAVE_MACH_MACH_H) +-check_include_file(histedit.h HAVE_HISTEDIT_H) ++if(LLVM_ENABLE_LIBEDIT) ++ find_package(editline REQUIRED) ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${editline_INCLUDE_DIRS}) ++ check_include_file(histedit.h HAVE_HISTEDIT_H) ++ cmake_pop_check_state() ++endif() + check_include_file(CrashReporterClient.h HAVE_CRASHREPORTERCLIENT_H) + if(APPLE) + include(CheckCSourceCompiles) +@@ -127,7 +133,7 @@ if(LLVM_ENABLE_ZLIB) + # library on a 64-bit system which would result in a link-time failure. + cmake_push_check_state() + list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS}) +- list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARY}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES}) + check_symbol_exists(compress2 zlib.h HAVE_ZLIB) + cmake_pop_check_state() + if(LLVM_ENABLE_ZLIB STREQUAL FORCE_ON AND NOT HAVE_ZLIB) +@@ -166,7 +172,11 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") + if (NOT PURE_WINDOWS) + # Skip libedit if using ASan as it contains memory leaks. + if (LLVM_ENABLE_LIBEDIT AND HAVE_HISTEDIT_H AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*") ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${editline_INCLUDE_DIRS}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${editline_LIBRARIES}) + check_library_exists(edit el_init "" HAVE_LIBEDIT) ++ cmake_pop_check_state() + else() + set(HAVE_LIBEDIT 0) + endif() +diff --git a/lib/LineEditor/CMakeLists.txt b/lib/LineEditor/CMakeLists.txt +index 61328f76905..b95d073d972 100644 +--- a/lib/LineEditor/CMakeLists.txt ++++ b/lib/LineEditor/CMakeLists.txt +@@ -1,5 +1,5 @@ + if(HAVE_LIBEDIT) +- set(link_libs edit) ++ set(link_libs editline::editline) + endif() + + add_llvm_component_library(LLVMLineEditor +diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt +index 014b4a2caf1..486e4f39642 100644 +--- a/lib/Support/CMakeLists.txt ++++ b/lib/Support/CMakeLists.txt +@@ -267,7 +267,7 @@ if(LLVM_ENABLE_ZLIB) + # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. + if(CMAKE_BUILD_TYPE) + string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) +- get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION_${build_type}) ++ set(zlib_library ${ZLIB_LIBRARIES}) + endif() + if(NOT zlib_library) + get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION) +diff --git a/lib/WindowsManifest/CMakeLists.txt b/lib/WindowsManifest/CMakeLists.txt +index 8134ac8c815..ccd772f6176 100644 +--- a/lib/WindowsManifest/CMakeLists.txt ++++ b/lib/WindowsManifest/CMakeLists.txt +@@ -21,12 +21,13 @@ add_llvm_component_library(LLVMWindowsManifest + # This block is only needed for llvm-config. When we deprecate llvm-config and + # move to using CMake export, this block can be removed. + if(LLVM_ENABLE_LIBXML2) ++ find_package(libxml2 REQUIRED CONFIG) + # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. + if(CMAKE_BUILD_TYPE) + string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) +- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION_${build_type}) ++ set(libxml2_library ${libxml2_LIBRARIES}) + endif() +- if(NOT zlib_library) ++ if(NOT libxml2_library) + get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION) + endif() + get_library_name(${libxml2_library} libxml2_library) diff --git a/recipes/llvm-core/all/patches/13x/0001-calculate-job-pools.patch b/recipes/llvm-core/all/patches/13x/0001-calculate-job-pools.patch new file mode 100644 index 0000000000000..ec100e4785349 --- /dev/null +++ b/recipes/llvm-core/all/patches/13x/0001-calculate-job-pools.patch @@ -0,0 +1,42 @@ +diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake +index 0c3419390c2..eb234109e88 100644 +--- a/cmake/modules/HandleLLVMOptions.cmake ++++ b/cmake/modules/HandleLLVMOptions.cmake +@@ -33,6 +33,19 @@ string(TOUPPER "${LLVM_ENABLE_LTO}" uppercase_LLVM_ENABLE_LTO) + # The following only works with the Ninja generator in CMake >= 3.0. + set(LLVM_PARALLEL_COMPILE_JOBS "" CACHE STRING + "Define the maximum number of concurrent compilation jobs (Ninja only).") ++cmake_host_system_information(RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY) ++cmake_host_system_information(RESULT NUMBER_OF_LOGICAL_CORES QUERY NUMBER_OF_LOGICAL_CORES) ++if(LLVM_RAM_PER_COMPILE_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_COMPILE_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_COMPILE_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_COMPILE_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(LLVM_PARALLEL_COMPILE_JOBS) + if(NOT CMAKE_GENERATOR STREQUAL "Ninja") + message(WARNING "Job pooling is only available with Ninja generators.") +@@ -44,6 +57,17 @@ endif() + + set(LLVM_PARALLEL_LINK_JOBS "" CACHE STRING + "Define the maximum number of concurrent link jobs (Ninja only).") ++if(LLVM_RAM_PER_LINK_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_LINK_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_LINK_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_LINK_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(CMAKE_GENERATOR STREQUAL "Ninja") + if(NOT LLVM_PARALLEL_LINK_JOBS AND uppercase_LLVM_ENABLE_LTO STREQUAL "THIN") + message(STATUS "ThinLTO provides its own parallel linking - limiting parallel link jobs to 2.") diff --git a/recipes/llvm-core/all/patches/13x/0002-missing-includes.patch b/recipes/llvm-core/all/patches/13x/0002-missing-includes.patch new file mode 100644 index 0000000000000..c7cfb90318b49 --- /dev/null +++ b/recipes/llvm-core/all/patches/13x/0002-missing-includes.patch @@ -0,0 +1,12 @@ +diff --git a/include/llvm/Support/Signals.h b/include/llvm/Support/Signals.h +index 44f5a750ff5..937e0572d4a 100644 +--- a/include/llvm/Support/Signals.h ++++ b/include/llvm/Support/Signals.h +@@ -14,6 +14,7 @@ + #ifndef LLVM_SUPPORT_SIGNALS_H + #define LLVM_SUPPORT_SIGNALS_H + ++#include + #include + + namespace llvm { diff --git a/recipes/llvm-core/all/patches/13x/0003-no-build-with-install-rpath.patch b/recipes/llvm-core/all/patches/13x/0003-no-build-with-install-rpath.patch new file mode 100644 index 0000000000000..05560e5a0c714 --- /dev/null +++ b/recipes/llvm-core/all/patches/13x/0003-no-build-with-install-rpath.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake +index 29e40f45fef8..bde9a02b3432 100644 +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -2143,7 +2143,7 @@ function(llvm_setup_rpath name) + + # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set. + if("${CMAKE_BUILD_RPATH}" STREQUAL "") +- set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON) ++ set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH OFF) + endif() + + set_target_properties(${name} PROPERTIES diff --git a/recipes/llvm-core/all/patches/13x/0004-remove-lto-exports.patch b/recipes/llvm-core/all/patches/13x/0004-remove-lto-exports.patch new file mode 100644 index 0000000000000..46cb2cbbecf38 --- /dev/null +++ b/recipes/llvm-core/all/patches/13x/0004-remove-lto-exports.patch @@ -0,0 +1,32 @@ +diff --git a/tools/lto/lto.exports b/tools/lto/lto.exports +index 1948bba29b67..8fdbd3522b9b 100644 +--- a/tools/lto/lto.exports ++++ b/tools/lto/lto.exports +@@ -44,12 +44,6 @@ lto_codegen_compile_optimized + lto_codegen_set_should_internalize + lto_codegen_set_should_embed_uselists + lto_set_debug_options +-LLVMCreateDisasm +-LLVMCreateDisasmCPU +-LLVMDisasmDispose +-LLVMDisasmInstruction +-LLVMSetDisasmOptions +-LLVMCreateDisasmCPUFeatures + thinlto_create_codegen + thinlto_codegen_dispose + thinlto_codegen_add_module +diff --git a/tools/remarks-shlib/CMakeLists.txt b/tools/remarks-shlib/CMakeLists.txt +index 865436247270..aa11669d9a75 100644 +--- a/tools/remarks-shlib/CMakeLists.txt ++++ b/tools/remarks-shlib/CMakeLists.txt +@@ -9,7 +9,9 @@ if(LLVM_ENABLE_PIC) + libremarks.cpp + ) + +- set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) ++ if (NOT (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB)) ++ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports) ++ endif() + + add_llvm_library(Remarks SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES}) + diff --git a/recipes/llvm-core/all/patches/13x/13.0.0-cmake.patch b/recipes/llvm-core/all/patches/13x/13.0.0-cmake.patch deleted file mode 100644 index 981f067a21505..0000000000000 --- a/recipes/llvm-core/all/patches/13x/13.0.0-cmake.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- cmake/config-ix.cmake -+++ cmake/config-ix.cmake -@@ -143,6 +143,9 @@ if(LLVM_ENABLE_LIBXML2) - elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") - find_package(LibXml2) - endif() -+ set(LIBXML2_FOUND 1) -+ list(GET LibXml2_INCLUDE_DIRS -1 LIBXML2_INCLUDE_DIR) -+ set(LIBXML2_LIBRARIES ${LibXml2_LIBRARIES}) - if(LibXml2_FOUND) - # Check if libxml2 we found is usable; for example, we may have found a 32-bit - # library on a 64-bit system which would result in a link-time failure. -@@ -343,7 +346,7 @@ if( LLVM_ENABLE_FFI ) - message(FATAL_ERROR "libffi includes are not found.") - endif() - -- find_library(FFI_LIBRARY_PATH ffi PATHS ${FFI_LIBRARY_DIR}) -+ find_library(FFI_LIBRARY_PATH NAMES ffi libffi PATHS ${FFI_LIBRARY_DIR}) - if( NOT FFI_LIBRARY_PATH ) - message(FATAL_ERROR "libffi is not found.") - endif() ---- cmake/modules/TableGen.cmake -+++ cmake/modules/TableGen.cmake -@@ -135,11 +135,7 @@ macro(add_tablegen target project) - set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS}) - set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen) - -- # CMake doesn't let compilation units depend on their dependent libraries on some generators. -- if(NOT CMAKE_GENERATOR STREQUAL "Ninja" AND NOT XCODE) -- # FIXME: It leaks to user, callee of add_tablegen. -- set(LLVM_ENABLE_OBJLIB ON) -- endif() -+ set(LLVM_ENABLE_OBJLIB OFF) - - add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN}) - set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS}) ---- lib/WindowsManifest/CMakeLists.txt -+++ lib/WindowsManifest/CMakeLists.txt -@@ -21,14 +21,5 @@ add_llvm_component_library(LLVMWindowsManifest - # This block is only needed for llvm-config. When we deprecate llvm-config and - # move to using CMake export, this block can be removed. - if(LLVM_ENABLE_LIBXML2) -- # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. -- if(CMAKE_BUILD_TYPE) -- string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) -- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION_${build_type}) -- endif() -- if(NOT zlib_library) -- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION) -- endif() -- get_library_name(${libxml2_library} libxml2_library) -- set_property(TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS ${libxml2_library}) -+ set_property(TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS ${LIBXML2_LIBRARIES}) - endif() diff --git a/recipes/llvm-core/all/patches/13x/13.0.0-native.patch b/recipes/llvm-core/all/patches/13x/13.0.0-native.patch deleted file mode 100644 index fa8482ce0493b..0000000000000 --- a/recipes/llvm-core/all/patches/13x/13.0.0-native.patch +++ /dev/null @@ -1,78 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -931,10 +931,6 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) - include_directories( ${LLVM_INCLUDE_DIR} ${LLVM_MAIN_INCLUDE_DIR}) - - # when crosscompiling import the executable targets from a file --if(LLVM_USE_HOST_TOOLS) -- include(CrossCompile) -- llvm_create_cross_target(LLVM NATIVE "" Release) --endif(LLVM_USE_HOST_TOOLS) - if(LLVM_TARGET_IS_CROSSCOMPILE_HOST) - # Dummy use to avoid CMake Warning: Manually-specified variables were not used - # (this is a variable that CrossCompile sets on recursive invocations) ---- cmake/modules/TableGen.cmake -+++ cmake/modules/TableGen.cmake -@@ -147,32 +147,6 @@ macro(add_tablegen target project) - set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN} PARENT_SCOPE) - set(${project}_TABLEGEN_TARGET ${${project}_TABLEGEN} PARENT_SCOPE) - -- if(LLVM_USE_HOST_TOOLS) -- if( ${${project}_TABLEGEN} STREQUAL "${target}" ) -- # The NATIVE tablegen executable *must* depend on the current target one -- # otherwise the native one won't get rebuilt when the tablgen sources -- # change, and we end up with incorrect builds. -- build_native_tool(${target} ${project}_TABLEGEN_EXE DEPENDS ${target}) -- set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN_EXE} PARENT_SCOPE) -- -- add_custom_target(${project}-tablegen-host DEPENDS ${${project}_TABLEGEN_EXE}) -- set(${project}_TABLEGEN_TARGET ${project}-tablegen-host PARENT_SCOPE) -- -- # Create an artificial dependency between tablegen projects, because they -- # compile the same dependencies, thus using the same build folders. -- # FIXME: A proper fix requires sequentially chaining tablegens. -- if (NOT ${project} STREQUAL LLVM AND TARGET ${project}-tablegen-host AND -- TARGET LLVM-tablegen-host) -- add_dependencies(${project}-tablegen-host LLVM-tablegen-host) -- endif() -- -- # If we're using the host tablegen, and utils were not requested, we have no -- # need to build this tablegen. -- if ( NOT LLVM_BUILD_UTILS ) -- set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL ON) -- endif() -- endif() -- endif() - - if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) - set(export_to_llvmexports) ---- tools/llvm-config/CMakeLists.txt -+++ tools/llvm-config/CMakeLists.txt -@@ -75,11 +75,3 @@ endif() - - # Add the dependency on the generation step. - add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH}) -- --if(CMAKE_CROSSCOMPILING AND NOT LLVM_CONFIG_PATH) -- build_native_tool(llvm-config LLVM_CONFIG_PATH) -- set(LLVM_CONFIG_PATH "${LLVM_CONFIG_PATH}" CACHE STRING "") -- -- add_custom_target(NativeLLVMConfig DEPENDS ${LLVM_CONFIG_PATH}) -- add_dependencies(llvm-config NativeLLVMConfig) --endif() ---- tools/llvm-shlib/CMakeLists.txt -+++ tools/llvm-shlib/CMakeLists.txt -@@ -162,13 +162,6 @@ if(LLVM_BUILD_LLVM_C_DYLIB AND MSVC) - - set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllvm-c.exports) - if(NOT LLVM_NM) -- if(CMAKE_CROSSCOMPILING) -- build_native_tool(llvm-nm llvm_nm) -- set(llvm_nm_target "${llvm_nm}") -- else() -- set(llvm_nm $) -- set(llvm_nm_target llvm-nm) -- endif() - else() - set(llvm_nm ${LLVM_NM}) - set(llvm_nm_target "") diff --git a/recipes/llvm-core/all/test_package/CMakeLists.txt b/recipes/llvm-core/all/test_package/CMakeLists.txt index 726aa5975f221..4de3810296f19 100644 --- a/recipes/llvm-core/all/test_package/CMakeLists.txt +++ b/recipes/llvm-core/all/test_package/CMakeLists.txt @@ -1,20 +1,31 @@ -cmake_minimum_required(VERSION 3.13.4) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -find_package(LLVM REQUIRED) +macro(test_llvm_cmake_variable VARIABLE) + if(NOT DEFINED ${VARIABLE}) + message(FATAL_ERROR "${VARIABLE} is not defined") + endif() + message(STATUS "${VARIABLE}: ${${VARIABLE}}") +endmacro() +set(CMAKE_CXX_STANDARD 17) add_executable(${PROJECT_NAME} test_package.cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) -if(TARGET LLVMInterpreter) # static libraries - target_link_libraries(${PROJECT_NAME} PRIVATE - LLVMInterpreter - LLVMIRReader - LLVMX86CodeGen - ) -else() # shared library - target_link_libraries(${PROJECT_NAME} LLVM) +if (LLVM_SHARED) + find_package(LLVM REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE LLVM) +else() + find_package(LLVM REQUIRED) + llvm_map_components_to_libnames(llvm_libs interpreter nativecodegen irreader) + target_link_libraries(${PROJECT_NAME} PRIVATE ${llvm_libs}) endif() + +message(STATUS "Testing LLVM Build Module Variables") +test_llvm_cmake_variable(LLVM_PACKAGE_VERSION) +test_llvm_cmake_variable(LLVM_BUILD_TYPE) +test_llvm_cmake_variable(LLVM_CMAKE_DIR) +test_llvm_cmake_variable(LLVM_TOOLS_BINARY_DIR) +test_llvm_cmake_variable(LLVM_ALL_TARGETS) +test_llvm_cmake_variable(LLVM_TARGETS_TO_BUILD) +test_llvm_cmake_variable(LLVM_TARGETS_WITH_JIT) +test_llvm_cmake_variable(LLVM_NATIVE_ARCH) diff --git a/recipes/llvm-core/all/test_package/conanfile.py b/recipes/llvm-core/all/test_package/conanfile.py index e0ca8f6b664cb..5ae2ff91c80a2 100644 --- a/recipes/llvm-core/all/test_package/conanfile.py +++ b/recipes/llvm-core/all/test_package/conanfile.py @@ -1,39 +1,43 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import cmake_layout, CMakeDeps, CMakeToolchain, CMake +from conan.tools.env import VirtualRunEnv +from conan.tools.build import can_run -import os.path +import os -class LLVMCoreTestPackageConan(ConanFile): - settings = ('os', 'arch', 'compiler', 'build_type') - generators = ('cmake', 'cmake_find_package') +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + # required for cmake_path support + self.tool_requires("cmake/[>=3.20 <4]") + + def generate(self): + deps = CMakeDeps(self) + deps.check_components_exist = True + deps.generate() + + tc = CMakeToolchain(self) + if self.dependencies[self.tested_reference_str].options.shared: + tc.variables["LLVM_SHARED"] = True + tc.generate() + + VirtualRunEnv(self).generate() def build(self): - build_system = CMake(self) - build_system.configure() - build_system.build() + cmake = CMake(self) + cmake.configure() + cmake.build() def test(self): - test_package = not tools.cross_building(self.settings) - if 'x86' not in str(self.settings.arch).lower(): - test_package = False - elif str(self.options['llvm-core'].targets) not in ['all', 'X86']: - test_package = False - elif self.options['llvm-core'].shared: - if self.options['llvm-core'].components != 'all': - requirements = ['interpreter', 'irreader', 'x86codegen'] - targets = str(self.options['llvm-core'].components) - if self.settings.os == 'Windows': - requirements.append('demangle') - if not all([target in components for target in requirements]): - test_package = False - - if test_package: - command = [ - os.path.join('bin', 'test_package'), - os.path.join(os.path.dirname(__file__), 'test_function.ll') - ] - self.run(command, run_environment=True) - - llvm_path = self.deps_cpp_info['llvm-core'].rootpath - license_path = os.path.join(llvm_path, 'licenses', 'LICENSE.TXT') - assert os.path.exists(license_path) + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + args = os.path.join(os.path.dirname(__file__), "test_function.ll") + self.run(f"{cmd} {args}", env="conanrun") diff --git a/recipes/lmdb/all/test_v1_package/CMakeLists.txt b/recipes/lmdb/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 20645081348a3..0000000000000 --- a/recipes/lmdb/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(lmdb REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE lmdb::lmdb) diff --git a/recipes/lmdb/all/test_v1_package/conanfile.py b/recipes/lmdb/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/lmdb/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lodepng/all/test_v1_package/CMakeLists.txt b/recipes/lodepng/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/lodepng/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/lodepng/all/test_v1_package/conanfile.py b/recipes/lodepng/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/lodepng/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/log.c/all/test_v1_package/CMakeLists.txt b/recipes/log.c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/log.c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/log.c/all/test_v1_package/conanfile.py b/recipes/log.c/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/log.c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/log4cplus/all/conandata.yml b/recipes/log4cplus/all/conandata.yml index 3625645bc7de9..806ae51d2f04e 100644 --- a/recipes/log4cplus/all/conandata.yml +++ b/recipes/log4cplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.2": + url: "https://github.com/log4cplus/log4cplus/releases/download/REL_2_1_2/log4cplus-2.1.2.tar.bz2" + sha256: "2450dfbb4ab35dd2c9e64d8c750c514bf7293b81d8f32af7ab124417f70adfad" "2.1.1": url: "https://github.com/log4cplus/log4cplus/releases/download/REL_2_1_1/log4cplus-2.1.1.tar.bz2" sha256: "6597de782775e4e0fba8fdcad938c3709fd839a8084c4b6edfae3cc5046e2688" @@ -11,11 +14,14 @@ sources: "2.0.7": url: "https://github.com/log4cplus/log4cplus/releases/download/REL_2_0_7/log4cplus-2.0.7.tar.bz2" sha256: "8fadbafee2ba4e558a0f78842613c9fb239c775d83f23340d091084c0e1b12ab" - # v1 is required for the openvdb recipe "1.2.2": url: "https://github.com/log4cplus/log4cplus/releases/download/REL_1_2_2/log4cplus-1.2.2.tar.bz2" sha256: "853efd919f9ca76c518c0944e6b0ced1174523a86b6db046ed4f23fe695167bd" patches: + "2.1.2": + - patch_file: "patches/2.1.2-0001-fix-cmake.patch" + patch_description: "disable fPIC" + patch_type: "conan" "2.1.1": - patch_file: "patches/2.0.6-0001-fix-cmake.patch" patch_description: "disable fPIC, move cmake_minimum_version to front" diff --git a/recipes/log4cplus/all/conanfile.py b/recipes/log4cplus/all/conanfile.py index 5851367f991c2..e874b2d20f4c6 100644 --- a/recipes/log4cplus/all/conanfile.py +++ b/recipes/log4cplus/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.build import check_min_cppstd, valid_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc import os required_conan_version = ">=1.53.0" @@ -11,10 +12,11 @@ class Log4cplusConan(ConanFile): name = "log4cplus" description = "simple to use C++ logging API, modelled after the Java log4j API" - license = ("BSD-2-Clause, Apache-2.0") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/log4cplus/log4cplus" + license = ("BSD-2-Clause, Apache-2.0") topics = ("logging", "log", "logging-library") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -64,7 +66,10 @@ def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, 11) if Version(self.version) < 2 and valid_min_cppstd(self, 17): - raise ConanInvalidConfiguration("log4cplus < 2.0.0 does not support C++17") + raise ConanInvalidConfiguration(f"${self.ref} does not support C++17") + if Version(self.version) >= "2.1.2" and \ + is_msvc(self) and Version(self.settings.compiler.version) < 192: + raise ConanInvalidConfiguration(f"${self.ref} requires Visual Studio 2019 or newer") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/log4cplus/all/patches/2.1.2-0001-fix-cmake.patch b/recipes/log4cplus/all/patches/2.1.2-0001-fix-cmake.patch new file mode 100644 index 0000000000000..9bec3910bc1e9 --- /dev/null +++ b/recipes/log4cplus/all/patches/2.1.2-0001-fix-cmake.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9dcbb8a..f80d3b9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,7 +15,7 @@ cmake_minimum_required (VERSION 3.12) + project (log4cplus) + + # Use "-fPIC" / "-fPIE" for all targets by default, including static libs. +-set (CMAKE_POSITION_INDEPENDENT_CODE ON) ++# set (CMAKE_POSITION_INDEPENDENT_CODE ON) + + enable_language (CXX) + if (MSVC) diff --git a/recipes/log4cplus/all/test_v1_package/CMakeLists.txt b/recipes/log4cplus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/log4cplus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/log4cplus/all/test_v1_package/conanfile.py b/recipes/log4cplus/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/log4cplus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/log4cplus/config.yml b/recipes/log4cplus/config.yml index 2862fb5934cdf..bd3466aea568e 100644 --- a/recipes/log4cplus/config.yml +++ b/recipes/log4cplus/config.yml @@ -1,4 +1,7 @@ versions: + "2.1.2": + folder: all + # 2.1.1 is the last version for Visual Studio 2017 "2.1.1": folder: all "2.1.0": @@ -7,5 +10,6 @@ versions: folder: all "2.0.7": folder: all + # v1 is required for the openvdb recipe "1.2.2": folder: all diff --git a/recipes/logr/all/test_v1_package/CMakeLists.txt b/recipes/logr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 77c0a1e824e62..0000000000000 --- a/recipes/logr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(logr REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} logr::logr) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/logr/all/test_v1_package/conanfile.py b/recipes/logr/all/test_v1_package/conanfile.py deleted file mode 100644 index 923245bfa853d..0000000000000 --- a/recipes/logr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class LogrTestConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/loguru/all/test_v1_package/CMakeLists.txt b/recipes/loguru/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/loguru/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/loguru/all/test_v1_package/conanfile.py b/recipes/loguru/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/loguru/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ls-qpack/all/test_v1_package/CMakeLists.txt b/recipes/ls-qpack/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de..0000000000000 --- a/recipes/ls-qpack/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ls-qpack/all/test_v1_package/conanfile.py b/recipes/ls-qpack/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/ls-qpack/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lua/all/test_v1_package/CMakeLists.txt b/recipes/lua/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 1241d9397ce36..0000000000000 --- a/recipes/lua/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/lua/all/test_v1_package/conanfile.py b/recipes/lua/all/test_v1_package/conanfile.py deleted file mode 100644 index df7c8083a43c2..0000000000000 --- a/recipes/lua/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - # Only for the test package, so we can choose which #include header to use - cmake.definitions["COMPILE_AS_CPP"] = self.options["lua"].compile_as_cpp - - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/luajit/all/test_v1_package/CMakeLists.txt b/recipes/luajit/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2f6b1a2f7ec79..0000000000000 --- a/recipes/luajit/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/luajit/all/test_v1_package/conanfile.py b/recipes/luajit/all/test_v1_package/conanfile.py deleted file mode 100644 index 9d6b68dd18b5e..0000000000000 --- a/recipes/luajit/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/luau/all/conandata.yml b/recipes/luau/all/conandata.yml index ef6921854b73e..a75ea6a2148a0 100644 --- a/recipes/luau/all/conandata.yml +++ b/recipes/luau/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "0.650": + url: "https://github.com/Roblox/luau/archive/0.650.tar.gz" + sha256: "a605ae7a188455844ab131ff0d2df6f38c088142d6bd5eebb87795e619c3d7aa" + "0.645": + url: "https://github.com/Roblox/luau/archive/0.645.tar.gz" + sha256: "28aaa3e57e7adc44debedc6be9802f2625334eef0124ff722c8ab340dc6bbe1c" "0.640": url: "https://github.com/Roblox/luau/archive/0.640.tar.gz" sha256: "63ada3e4c8c17e5aff8964b16951bfd1b567329dd81c11ae1144b6e95f354762" @@ -14,51 +20,3 @@ sources: "0.620": url: "https://github.com/Roblox/luau/archive/0.620.tar.gz" sha256: "a6ae1f0396334e72b1241dabb73aa123037613f3276bf2e71d0dc75568b1eb52" - "0.615": - url: "https://github.com/Roblox/luau/archive/0.615.tar.gz" - sha256: "264192ff1cb1bc3d5c223e5fbe9c4c628d203e2ac6ff72100e09640f43f60a60" - "0.610": - url: "https://github.com/Roblox/luau/archive/0.610.tar.gz" - sha256: "a6ee2cab90c816a86b86113f01d9da865378074ee09dc6122dbe8bfbdf819ede" - "0.607": - url: "https://github.com/Roblox/luau/archive/0.607.tar.gz" - sha256: "519409d7dbb43da13390131a90c831cb0f2ab9c25e337acf15508313a339bf36" - "0.603": - url: "https://github.com/Roblox/luau/archive/0.603.tar.gz" - sha256: "97687486b0ffe8d7a4917e13648a9776ee015ca9e1c10b6da169caec6ca5b427" - "0.598": - url: "https://github.com/Roblox/luau/archive/0.598.tar.gz" - sha256: "a2bab4b513fe5f2fe174c45de4807846e6ce83420c9ba7a34c81c48b99e01c98" - "0.593": - url: "https://github.com/Roblox/luau/archive/0.593.tar.gz" - sha256: "1cbe4390ef71bb0f2210853978c900974aa02fab73de92b6e18e7bb10dd0e3c1" - "0.589": - url: "https://github.com/Roblox/luau/archive/0.589.tar.gz" - sha256: "dc4489de52dbf29cd3d04d78c1112f812e04a03b68d57585749260ba791e65ed" - "0.582": - url: "https://github.com/Roblox/luau/archive/0.582.tar.gz" - sha256: "ee6da6329e58afc956bcca907ed9c6bc0455cd580990aa73f7cfb285aea22a6d" - "0.577": - url: "https://github.com/Roblox/luau/archive/0.577.tar.gz" - sha256: "4fd3f0d7a3bb6a9f4ed69711d261c4ae6ab6dfe8eb8e444f738c3338c559c7c8" - "0.572": - url: "https://github.com/Roblox/luau/archive/0.572.tar.gz" - sha256: "5cdd13233eefc4b3f27970118272254a24be81fafcccf60e7a29391fbc529151" - "0.568": - url: "https://github.com/Roblox/luau/archive/0.568.tar.gz" - sha256: "8218f1943b53439b9cc076bcb6d6223c089093659cc75dda6e2695ee9b370a8c" - "0.563": - url: "https://github.com/Roblox/luau/archive/0.563.tar.gz" - sha256: "717c1b3e03d20829d75eb484e0699fc824b651b8f394164bc4ab8194482890b2" - "0.558": - url: "https://github.com/Roblox/luau/archive/0.558.tar.gz" - sha256: "3484adddb18872700e033f5917af44d90c266f9e0fff2fac21aec1061f472a06" -patches: - "0.563": - - patch_file: "patches/0.536-0002-rename-lerp.patch" - patch_description: "rename lerp function to avoid name conflict" - patch_type: "portability" - "0.558": - - patch_file: "patches/0.536-0002-rename-lerp.patch" - patch_description: "rename lerp function to avoid name conflict" - patch_type: "portability" diff --git a/recipes/luau/all/conanfile.py b/recipes/luau/all/conanfile.py index 643eab7b93170..dda97f96ca72a 100644 --- a/recipes/luau/all/conanfile.py +++ b/recipes/luau/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.files import get, copy from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout @@ -45,7 +45,6 @@ def _compilers_minimum_version(self): def export_sources(self): copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) - export_conandata_patches(self) def layout(self): cmake_layout(self, src_folder="src") @@ -73,11 +72,7 @@ def generate(self): tc.variables["LUAU_SRC_DIR"] = self.source_folder.replace("\\", "/") tc.generate() - def _patch_sources(self): - apply_conandata_patches(self) - def build(self): - self._patch_sources() cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) cmake.build() diff --git a/recipes/luau/all/patches/0.536-0002-rename-lerp.patch b/recipes/luau/all/patches/0.536-0002-rename-lerp.patch deleted file mode 100644 index 324b7d737bf16..0000000000000 --- a/recipes/luau/all/patches/0.536-0002-rename-lerp.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/VM/src/lmathlib.cpp b/VM/src/lmathlib.cpp -index a6e7b49..7c3e3c6 100644 ---- a/VM/src/lmathlib.cpp -+++ b/VM/src/lmathlib.cpp -@@ -300,7 +300,7 @@ static float fade(float t) - return t * t * t * (t * (t * 6 - 15) + 10); - } - --static float lerp(float t, float a, float b) -+static float lerp_l(float t, float a, float b) - { - return a + t * (b - a); - } -@@ -342,10 +342,10 @@ static float perlin(float x, float y, float z) - int ba = p[b] + zi; - int bb = p[b + 1] + zi; - -- return lerp(w, -- lerp(v, lerp(u, grad(p[aa], xf, yf, zf), grad(p[ba], xf - 1, yf, zf)), lerp(u, grad(p[ab], xf, yf - 1, zf), grad(p[bb], xf - 1, yf - 1, zf))), -- lerp(v, lerp(u, grad(p[aa + 1], xf, yf, zf - 1), grad(p[ba + 1], xf - 1, yf, zf - 1)), -- lerp(u, grad(p[ab + 1], xf, yf - 1, zf - 1), grad(p[bb + 1], xf - 1, yf - 1, zf - 1)))); -+ return lerp_l(w, -+ lerp_l(v, lerp_l(u, grad(p[aa], xf, yf, zf), grad(p[ba], xf - 1, yf, zf)), lerp_l(u, grad(p[ab], xf, yf - 1, zf), grad(p[bb], xf - 1, yf - 1, zf))), -+ lerp_l(v, lerp_l(u, grad(p[aa + 1], xf, yf, zf - 1), grad(p[ba + 1], xf - 1, yf, zf - 1)), -+ lerp_l(u, grad(p[ab + 1], xf, yf - 1, zf - 1), grad(p[bb + 1], xf - 1, yf - 1, zf - 1)))); - } - - static int math_noise(lua_State* L) diff --git a/recipes/luau/all/test_v1_package/CMakeLists.txt b/recipes/luau/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/luau/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/luau/all/test_v1_package/conanfile.py b/recipes/luau/all/test_v1_package/conanfile.py deleted file mode 100644 index 81a08015e01f1..0000000000000 --- a/recipes/luau/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml index a2ceac414c46b..f2a2b8d31f2e5 100644 --- a/recipes/luau/config.yml +++ b/recipes/luau/config.yml @@ -1,4 +1,8 @@ versions: + "0.650": + folder: all + "0.645": + folder: all "0.640": folder: all "0.635": @@ -9,29 +13,3 @@ versions: folder: all "0.620": folder: all - "0.615": - folder: all - "0.610": - folder: all - "0.607": - folder: all - "0.603": - folder: all - "0.598": - folder: all - "0.593": - folder: all - "0.589": - folder: all - "0.582": - folder: all - "0.577": - folder: all - "0.572": - folder: all - "0.568": - folder: all - "0.563": - folder: all - "0.558": - folder: all diff --git a/recipes/lunasvg/all/conandata.yml b/recipes/lunasvg/all/conandata.yml index c0096452d5b87..01f4784f10bfe 100644 --- a/recipes/lunasvg/all/conandata.yml +++ b/recipes/lunasvg/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "3.0.1": + url: "https://github.com/sammycage/lunasvg/archive/v3.0.1.tar.gz" + sha256: "39e3f47d4e40f7992d7958123ca1993ff1a02887539af2af1c638da2855a603c" + "3.0.0": + url: "https://github.com/sammycage/lunasvg/archive/v3.0.0.tar.gz" + sha256: "075f0a049ff205ce059feb1fe3ac0e826a1ac62d2360cb72463395f68c4c8764" + "2.4.1": + url: "https://github.com/sammycage/lunasvg/archive/v2.4.1.tar.gz" + sha256: "db9d2134c8c2545694e71e62fb0772a7d089fe53e1ace1e08c2279a89e450534" "2.4.0": url: "https://github.com/sammycage/lunasvg/archive/v2.4.0.tar.gz" sha256: "0682c60501c91d75f4261d9c1a5cd44c2c9da8dba76f8402eab628448c9a4591" @@ -21,6 +30,18 @@ sources: url: "https://github.com/sammycage/lunasvg/archive/refs/tags/v2.3.1.tar.gz" sha256: "6492bf0f51982f5382f83f1a42f247bb1bbcbaef4a15963bbd53073cd4944a25" patches: + "3.0.1": + - patch_file: "patches/3.0.0-0001-use-cci-package.patch" + patch_description: "use cci plutovg" + patch_type: "conan" + "3.0.0": + - patch_file: "patches/3.0.0-0001-use-cci-package.patch" + patch_description: "use cci plutovg" + patch_type: "conan" + "2.4.1": + - patch_file: "patches/2.4.1-0001-fix-cmake.patch" + patch_description: "use external plutovg and fix installation path for conan" + patch_type: "conan" "2.4.0": - patch_file: "patches/2.3.9-0001-fix-cmake.patch" patch_description: "use external plutovg and fix installation path for conan" diff --git a/recipes/lunasvg/all/conanfile.py b/recipes/lunasvg/all/conanfile.py index e2d264c8bbac5..002cef7926081 100644 --- a/recipes/lunasvg/all/conanfile.py +++ b/recipes/lunasvg/all/conanfile.py @@ -1,7 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.microsoft import check_min_vs, is_msvc -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout @@ -34,6 +33,8 @@ def _min_cppstd(self): return "14" if Version(self.version) <= "2.3.8": return "17" + if Version(self.version) >= "3.0.0": + return "17" return "11" @property @@ -72,8 +73,10 @@ def layout(self): def requirements(self): if Version(self.version) < "2.3.5": self.requires("plutovg/cci.20220103") - else: + elif Version(self.version) < "3.0.0": self.requires("plutovg/cci.20221030") + else: + self.requires("plutovg/0.0.7") def validate(self): if self.info.settings.compiler.cppstd: @@ -90,8 +93,10 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_SHARED_LIBS"] = self.options.shared - tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + if Version(self.version) < "2.4.1": + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.generate() + tc.variables["LUNASVG_BUILD_EXAMPLES"] = False tc = CMakeDeps(self) tc.generate() @@ -107,7 +112,11 @@ def package(self): cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + def package_info(self): self.cpp_info.libs = ["lunasvg"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["m"] + if Version(self.version) >= "2.4.1" and not self.options.shared: + self.cpp_info.defines = ["LUNASVG_BUILD_STATIC"] diff --git a/recipes/lunasvg/all/patches/2.4.1-0001-fix-cmake.patch b/recipes/lunasvg/all/patches/2.4.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..190bb9b65c6b5 --- /dev/null +++ b/recipes/lunasvg/all/patches/2.4.1-0001-fix-cmake.patch @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3565911..e33555e 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,8 +12,8 @@ add_library(lunasvg) + + add_subdirectory(include) + add_subdirectory(source) +-add_subdirectory(3rdparty/plutovg) +- ++find_package(plutovg CONFIG REQUIRED) ++target_link_libraries(lunasvg plutovg::plutovg) + target_compile_definitions(lunasvg PRIVATE LUNASVG_BUILD) + if(NOT BUILD_SHARED_LIBS) + target_compile_definitions(lunasvg PRIVATE LUNASVG_BUILD_STATIC) +@@ -25,16 +25,16 @@ if(LUNASVG_BUILD_EXAMPLES) + target_include_directories(svg2png PRIVATE 3rdparty/stb) + endif() + +-set(LUNASVG_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) +-set(LUNASVG_INCDIR ${CMAKE_INSTALL_PREFIX}/include) ++# set(LUNASVG_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) ++# set(LUNASVG_INCDIR ${CMAKE_INSTALL_PREFIX}/include) + + install(FILES + include/lunasvg.h +- DESTINATION ${LUNASVG_INCDIR} ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + + install(TARGETS lunasvg +- LIBRARY DESTINATION ${LUNASVG_LIBDIR} +- ARCHIVE DESTINATION ${LUNASVG_LIBDIR} +- INCLUDES DESTINATION ${LUNASVG_INCDIR} ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ) diff --git a/recipes/lunasvg/all/patches/3.0.0-0001-use-cci-package.patch b/recipes/lunasvg/all/patches/3.0.0-0001-use-cci-package.patch new file mode 100644 index 0000000000000..8e3b94580b37c --- /dev/null +++ b/recipes/lunasvg/all/patches/3.0.0-0001-use-cci-package.patch @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0e7ed4b..9c4f8c7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,16 +6,16 @@ set(LUNASVG_VERSION_MICRO 0) + + project(lunasvg LANGUAGES CXX VERSION ${LUNASVG_VERSION_MAJOR}.${LUNASVG_VERSION_MINOR}.${LUNASVG_VERSION_MICRO}) + +-include(FetchContent) +-FetchContent_Declare(plutovg +- GIT_REPOSITORY https://github.com/sammycage/plutovg.git +- GIT_TAG main +- GIT_SHALLOW ON +- FIND_PACKAGE_ARGS 0.0.4 +-) +- +-FetchContent_MakeAvailable(plutovg) +- ++# include(FetchContent) ++# FetchContent_Declare(plutovg ++# GIT_REPOSITORY https://github.com/sammycage/plutovg.git ++# GIT_TAG main ++# GIT_SHALLOW ON ++# FIND_PACKAGE_ARGS 0.0.4 ++# ) ++ ++# FetchContent_MakeAvailable(plutovg) ++find_package(plutovg CONFIG REQUIRED) + set(lunasvg_sources + source/lunasvg.cpp + source/graphics.cpp +diff --git a/source/graphics.h b/source/graphics.h +index 775f53c..5676f01 100644 +--- a/source/graphics.h ++++ b/source/graphics.h +@@ -1,7 +1,7 @@ + #ifndef LUNASVG_GRAPHICS_H + #define LUNASVG_GRAPHICS_H + +-#include ++#include + + #include + #include diff --git a/recipes/lunasvg/all/test_package/CMakeLists.txt b/recipes/lunasvg/all/test_package/CMakeLists.txt index 29d0fd86a92ba..94475f0604f5d 100644 --- a/recipes/lunasvg/all/test_package/CMakeLists.txt +++ b/recipes/lunasvg/all/test_package/CMakeLists.txt @@ -9,6 +9,12 @@ if (lunasvg_VERSION VERSION_LESS_EQUAL "2.3.2") target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) elseif (lunasvg_VERSION VERSION_LESS_EQUAL "2.3.8") target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +elseif (lunasvg_VERSION VERSION_GREATER_EQUAL "3.0.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) else() target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) endif() + +if (lunasvg_VERSION VERSION_LESS "3.0.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE LUNASVG_BEFORE_3_0_0) +endif() diff --git a/recipes/lunasvg/all/test_package/test_package.cpp b/recipes/lunasvg/all/test_package/test_package.cpp index 1e47dd43f1e9a..9c72aef23c7d4 100644 --- a/recipes/lunasvg/all/test_package/test_package.cpp +++ b/recipes/lunasvg/all/test_package/test_package.cpp @@ -1,4 +1,8 @@ +#ifdef LUNASVG_BEFORE_3_0_0 #include "lunasvg.h" +#else +#include "lunasvg/lunasvg.h" +#endif #include int main() { diff --git a/recipes/lunasvg/all/test_v1_package/CMakeLists.txt b/recipes/lunasvg/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 596ce1fb31ebb..0000000000000 --- a/recipes/lunasvg/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(lunasvg REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE lunasvg::lunasvg) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/lunasvg/all/test_v1_package/conanfile.py b/recipes/lunasvg/all/test_v1_package/conanfile.py deleted file mode 100644 index 81a08015e01f1..0000000000000 --- a/recipes/lunasvg/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lunasvg/config.yml b/recipes/lunasvg/config.yml index b01edffe69a57..36b14539bcd19 100644 --- a/recipes/lunasvg/config.yml +++ b/recipes/lunasvg/config.yml @@ -1,4 +1,10 @@ versions: + "3.0.1": + folder: all + "3.0.0": + folder: all + "2.4.1": + folder: all "2.4.0": folder: all "2.3.9": diff --git a/recipes/luple/all/test_v1_package/CMakeLists.txt b/recipes/luple/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/luple/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/luple/all/test_v1_package/conanfile.py b/recipes/luple/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/luple/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lurlparser/all/test_v1_package/CMakeLists.txt b/recipes/lurlparser/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 44cd3222ce1e5..0000000000000 --- a/recipes/lurlparser/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(lurlparser REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE lurlparser::lurlparser) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/lurlparser/all/test_v1_package/conanfile.py b/recipes/lurlparser/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/lurlparser/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lz4/all/test_v1_package/CMakeLists.txt b/recipes/lz4/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index f9324f7603fe8..0000000000000 --- a/recipes/lz4/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(lz4 REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -if(TARGET LZ4::lz4_static) - target_link_libraries(${PROJECT_NAME} PRIVATE LZ4::lz4_static) -else() - target_link_libraries(${PROJECT_NAME} PRIVATE LZ4::lz4_shared) -endif() - -option(TEST_SHARED_LIB "Use package in a shared library") -if(TEST_AS_SHARED_LIB) - add_library(${PROJECT_NAME}2 SHARED ../test_package/lib.c) - if(TARGET LZ4::lz4_static) - target_link_libraries(${PROJECT_NAME}2 PRIVATE LZ4::lz4_static) - else() - target_link_libraries(${PROJECT_NAME}2 PRIVATE LZ4::lz4_shared) - endif() -endif() diff --git a/recipes/lz4/all/test_v1_package/conanfile.py b/recipes/lz4/all/test_v1_package/conanfile.py deleted file mode 100644 index 77061a2f84fa0..0000000000000 --- a/recipes/lz4/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["TEST_SHARED_LIB"] = dict(self.options["lz4"].items()).get("fPIC", True) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lzfse/all/test_v1_package/CMakeLists.txt b/recipes/lzfse/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/lzfse/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/lzfse/all/test_v1_package/conanfile.py b/recipes/lzfse/all/test_v1_package/conanfile.py deleted file mode 100644 index 4e6c8eb3b50fd..0000000000000 --- a/recipes/lzfse/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - txt_path = os.path.join(self.source_folder, os.pardir, "test_package", "test.txt") - self.run(f"{bin_path} -encode -i {txt_path}", run_environment=True) diff --git a/recipes/lzham/all/test_v1_package/CMakeLists.txt b/recipes/lzham/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 231cec51e4ab9..0000000000000 --- a/recipes/lzham/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(lzham REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PUBLIC lzham::lzham) diff --git a/recipes/lzham/all/test_v1_package/conanfile.py b/recipes/lzham/all/test_v1_package/conanfile.py deleted file mode 100644 index 0f735b51a2642..0000000000000 --- a/recipes/lzham/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lzma_sdk/9.20/test_v1_package/conanfile.py b/recipes/lzma_sdk/9.20/test_v1_package/conanfile.py deleted file mode 100644 index d956ede854042..0000000000000 --- a/recipes/lzma_sdk/9.20/test_v1_package/conanfile.py +++ /dev/null @@ -1,10 +0,0 @@ -from conans import ConanFile, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not tools.cross_building(self): - self.run("7zDec", run_environment=True) - self.run("lzma", run_environment=True) diff --git a/recipes/lzo/all/test_v1_package/CMakeLists.txt b/recipes/lzo/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/lzo/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/lzo/all/test_v1_package/conanfile.py b/recipes/lzo/all/test_v1_package/conanfile.py deleted file mode 100644 index 94c6eef557e71..0000000000000 --- a/recipes/lzo/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/lzo/all/test_v1_package/test_package.c b/recipes/lzo/all/test_v1_package/test_package.c deleted file mode 100644 index 82d98c1e92179..0000000000000 --- a/recipes/lzo/all/test_v1_package/test_package.c +++ /dev/null @@ -1,47 +0,0 @@ -#include "lzo1f.h" -#include -#include - -const char *text = "This is a string that lzo should compress to less bytes then before if it is working fine.\n" -"This compression algorithm appears to only compress bigger inputs so put a lot of text here.\n"; - - -int main() -{ - if (lzo_init() != LZO_E_OK) - { - printf("internal error - lzo_init() failed !!!\n"); - printf("(this usually indicates a compiler bug - try recompiling\nwithout optimizations, and enable '-DLZO_DEBUG' for diagnostics)\n"); - return 1; - } - - char compressed[2048]; - size_t compressed_len = sizeof(compressed); - { - char workMemory[LZO1F_MEM_COMPRESS+1]; - int r = lzo1f_1_compress((unsigned char*)text, strlen(text), (unsigned char*)compressed, &compressed_len, workMemory); - if (r != LZO_E_OK) { - printf("internal error - compression failed: %d\n", r); - return 1; - } - } - printf("Size before compression: %zu bytes\n", strlen(text)); - printf("Size after compression: %zu bytes\n", compressed_len); - - - char decompressed[2048]; - size_t decompressed_len = sizeof(decompressed); - { - char workMemory[LZO1F_MEM_DECOMPRESS+1]; - int r = lzo1f_decompress((unsigned char*)compressed, compressed_len, (unsigned char*)decompressed, &decompressed_len, workMemory); - if (r != LZO_E_OK) { - printf("internal error - decompression failed: %d\n", r); - return 1; - } - } - - int ok = (strlen(text) == decompressed_len) && (strncmp(text, decompressed, decompressed_len) == 0); - printf("Decompression: %s\n", ok ? "Success" : "Failure"); - - return ok ? 0 : 1; -} diff --git a/recipes/m4/all/test_package/conanfile.py b/recipes/m4/all/test_package/conanfile.py index 4a294edf870e7..54ca0966a46f1 100644 --- a/recipes/m4/all/test_package/conanfile.py +++ b/recipes/m4/all/test_package/conanfile.py @@ -1,8 +1,4 @@ from conan import ConanFile -from conan.tools.files import save -from io import StringIO -import os -import textwrap class TestPackageConan(ConanFile): @@ -10,28 +6,9 @@ class TestPackageConan(ConanFile): generators = "VirtualBuildEnv" test_type = "explicit" - @property - def _m4_input_path(self): - return os.path.join(self.build_folder, "input.m4") - def build_requirements(self): self.tool_requires(self.tested_reference_str) - def build(self): - save(self, self._m4_input_path, textwrap.dedent("""\ - m4_define(NAME1, `Harry, Jr.') - m4_define(NAME2, `Sally') - m4_define(MET, `$1 met $2') - MET(`NAME1', `NAME2') - """)) - def test(self): extension = ".exe" if self.settings.os == "Windows" else "" self.run(f"m4{extension} --version") - self.run(f"m4{extension} -P {self._m4_input_path}") - - self.run(f"m4{extension} -R {self.source_folder}/frozen.m4f {self.source_folder}/test.m4") - - output = StringIO() - self.run(f"m4{extension} -P {self._m4_input_path}", output) - assert "Harry, Jr. met Sally" in output.getvalue() diff --git a/recipes/m4/all/test_package/frozen.m4f b/recipes/m4/all/test_package/frozen.m4f deleted file mode 100644 index 26431a17d4fd6..0000000000000 --- a/recipes/m4/all/test_package/frozen.m4f +++ /dev/null @@ -1,11 +0,0 @@ -# This is a frozen state file generated by GNU M4 1.4.18 -V1 -Q1,1 -[] -T9,27 -say_hello[Hello ]conanize_name([$1]) -T11,203 -all_letters -  !"#*%&'()$+,./0123456789:;<=>?@[\]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ- -T13,10 -conanize_name[Conan $1] diff --git a/recipes/m4/all/test_package/test.m4 b/recipes/m4/all/test_package/test.m4 deleted file mode 100644 index a04483498966a..0000000000000 --- a/recipes/m4/all/test_package/test.m4 +++ /dev/null @@ -1,2 +0,0 @@ -say_hello([World]) -[All letters: ]all_letters diff --git a/recipes/m4/all/test_v1_package/conanfile.py b/recipes/m4/all/test_v1_package/conanfile.py deleted file mode 100644 index fdefc9766275f..0000000000000 --- a/recipes/m4/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,42 +0,0 @@ -from conans import ConanFile, tools -from conans.errors import ConanException -from io import StringIO -import os -import textwrap - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - @property - def _m4_input_path(self): - return os.path.join(self.build_folder, "input.m4") - - def build(self): - tools.save(self._m4_input_path, textwrap.dedent("""\ - m4_define(NAME1, `Harry, Jr.') - m4_define(NAME2, `Sally') - m4_define(MET, `$1 met $2') - MET(`NAME1', `NAME2') - """)) - - def test(self): - if hasattr(self, "settings_build"): - exe_suffix = ".exe" if self.settings.os == "Windows" else "" - m4_bin = os.path.join(self.deps_cpp_info["m4"].rootpath, "bin", "m4" + exe_suffix) - else: - m4_bin = tools.get_env("M4") - if m4_bin is None or not m4_bin.startswith(self.deps_cpp_info["m4"].rootpath): - raise ConanException("M4 environment variable not set") - - if not tools.cross_building(self, skip_x64_x86=True): - self.run(f"{m4_bin} --version", run_environment=True) - self.run(f"{m4_bin} -P {self._m4_input_path}") - - test_package_dir = os.path.join(self.source_folder, os.pardir, "test_package") - self.run(f"{m4_bin} -R {test_package_dir}/frozen.m4f {test_package_dir}/test.m4", run_environment=True) - - output = StringIO() - self.run(f"{m4_bin} -P {self._m4_input_path}", output=output) - - assert "Harry, Jr. met Sally" in output.getvalue() diff --git a/recipes/maddy/all/test_v1_package/CMakeLists.txt b/recipes/maddy/all/test_v1_package/CMakeLists.txt deleted file mode 100755 index 91630d79f4abb..0000000000000 --- a/recipes/maddy/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/maddy/all/test_v1_package/conanfile.py b/recipes/maddy/all/test_v1_package/conanfile.py deleted file mode 100755 index 38f4483872d47..0000000000000 --- a/recipes/maddy/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/magic_enum/all/conandata.yml b/recipes/magic_enum/all/conandata.yml index e3dccd6201a11..e5f6eb2e8377e 100644 --- a/recipes/magic_enum/all/conandata.yml +++ b/recipes/magic_enum/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.7": + url: "https://github.com/Neargye/magic_enum/archive/v0.9.7.tar.gz" + sha256: "b403d3dad4ef542fdc3024fa37d3a6cedb4ad33c72e31b6d9bab89dcaf69edf7" "0.9.6": url: "https://github.com/Neargye/magic_enum/archive/v0.9.6.tar.gz" sha256: "fcda8295256a2084f1f98a63b3d2c66b3d7140eea008e1ef94ea015b2f6d3034" diff --git a/recipes/magic_enum/all/conanfile.py b/recipes/magic_enum/all/conanfile.py index 9b0f3868a9d81..5a5f4c8dfc750 100644 --- a/recipes/magic_enum/all/conanfile.py +++ b/recipes/magic_enum/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import copy, get, mkdir, rmdir +from conan.tools.files import copy, get, rmdir from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.scm import Version import os @@ -58,6 +58,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + tc.cache_variables["MAGIC_ENUM_OPT_BUILD_EXAMPLES"] = False + tc.cache_variables["MAGIC_ENUM_OPT_BUILD_TESTS"] = False tc.generate() def build(self): @@ -68,16 +70,15 @@ def build(self): def package(self): cmake = CMake(self) cmake.install() - if Version(self.version) >= "0.9.4" and Version(self.version) <= "0.9.6": - mkdir(self, os.path.join(self.package_folder, "include/magic_enum")) - copy(self, "*", src=os.path.join(self.package_folder, "include"), dst=os.path.join(self.package_folder, "include/magic_enum")) - copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + if "0.9.4" <= Version(self.version) <= "0.9.6": + copy(self, "*", os.path.join(self.package_folder, "include"), os.path.join(self.package_folder, "include", "magic_enum")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + rmdir(self, os.path.join(self.package_folder, "lib")) rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "magic_enum") self.cpp_info.set_property("cmake_target_name", "magic_enum::magic_enum") + self.cpp_info.set_property("pkg_config_name", "magic_enum") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] diff --git a/recipes/magic_enum/all/test_package/CMakeLists.txt b/recipes/magic_enum/all/test_package/CMakeLists.txt index c185d76435a4f..b1f5d91d96ce3 100644 --- a/recipes/magic_enum/all/test_package/CMakeLists.txt +++ b/recipes/magic_enum/all/test_package/CMakeLists.txt @@ -6,3 +6,6 @@ find_package(magic_enum REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE magic_enum::magic_enum) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +if(magic_enum_VERSION VERSION_LESS "0.9.7") + target_compile_definitions(${PROJECT_NAME} PRIVATE MAGIC_ENUM_TOP_LEVEL_HEADER) +endif() diff --git a/recipes/magic_enum/all/test_package/test_package.cpp b/recipes/magic_enum/all/test_package/test_package.cpp index fcb911e1f966e..65c32ced2f74c 100644 --- a/recipes/magic_enum/all/test_package/test_package.cpp +++ b/recipes/magic_enum/all/test_package/test_package.cpp @@ -1,4 +1,8 @@ +#ifdef MAGIC_ENUM_TOP_LEVEL_HEADER #include +#else +#include +#endif #include #include diff --git a/recipes/magic_enum/all/test_v1_package/CMakeLists.txt b/recipes/magic_enum/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/magic_enum/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/magic_enum/all/test_v1_package/conanfile.py b/recipes/magic_enum/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/magic_enum/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/magic_enum/config.yml b/recipes/magic_enum/config.yml index c08b3138c2531..6d1028c96eda4 100644 --- a/recipes/magic_enum/config.yml +++ b/recipes/magic_enum/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.7": + folder: all "0.9.6": folder: all "0.9.5": diff --git a/recipes/mailio/all/conandata.yml b/recipes/mailio/all/conandata.yml index 38e35d02a9f6f..2dff6b32eec93 100644 --- a/recipes/mailio/all/conandata.yml +++ b/recipes/mailio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.24.1": + url: "https://github.com/karastojko/mailio/archive/refs/tags/0.24.1.tar.gz" + sha256: "52d5ced35b6a87677d897010fb2e7c2d2ddbd834d59aab991c65c0c6627af40f" "0.23.0": url: "https://github.com/karastojko/mailio/archive/refs/tags/0.23.0.tar.gz" sha256: "9fc3f1f803a85170c2081cbbef2e301473a400683fc1dffefa2d6707598206a5" @@ -12,6 +15,10 @@ sources: url: "https://github.com/karastojko/mailio/archive/refs/tags/0.20.0.tar.gz" sha256: "073d6b1ff891444b54a01c2a3f17074fd612f9e2e14d9ebd61863c70737b1882" patches: + "0.24.1": + - patch_file: "patches/0.24.1-adapt-cmakelists.patch" + patch_description: "fix install path" + patch_type: "conan" "0.23.0": - patch_file: "patches/0.23.0-adapt-cmakelists.patch" patch_description: "fix install path" diff --git a/recipes/mailio/all/conanfile.py b/recipes/mailio/all/conanfile.py index 28d892d6df1a4..62a3f2aa9e52a 100644 --- a/recipes/mailio/all/conanfile.py +++ b/recipes/mailio/all/conanfile.py @@ -1,5 +1,4 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv @@ -7,7 +6,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0.9" class MailioConan(ConanFile): name = "mailio" @@ -27,61 +26,35 @@ class MailioConan(ConanFile): "shared": False, } short_paths = True - - @property - def _min_cppstd(self): - return "17" - - @property - def _compilers_minimum_version(self): - return { - "gcc": "8.3", - "clang": "6", - "Visual Studio": "15", - "msvc": "191", - "apple-clang": "10", - } + implements = ["auto_shared_fpic"] def export_sources(self): export_conandata_patches(self) - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.82.0", transitive_headers=True, transitive_libs=True) + self.requires("boost/1.86.0", transitive_headers=True, transitive_libs=True) self.requires("openssl/[>=1.1 <4]", transitive_headers=True, transitive_libs=True) def validate(self): - if self.settings.get_safe("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." - ) + check_min_cppstd(self, 17) def build_requirements(self): self.tool_requires("cmake/[>=3.16.3 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + apply_conandata_patches(self) def generate(self): env = VirtualBuildEnv(self) env.generate() tc = CMakeToolchain(self) - tc.variables["MAILIO_BUILD_SHARED_LIBRARY"] = self.options.shared + if Version(self.version) < "0.24.0": + tc.variables["MAILIO_BUILD_SHARED_LIBRARY"] = self.options.shared tc.variables["MAILIO_BUILD_DOCUMENTATION"] = False tc.variables["MAILIO_BUILD_EXAMPLES"] = False if Version(self.version) >= "0.22.0": @@ -92,7 +65,6 @@ def generate(self): deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/mailio/all/patches/0.24.1-adapt-cmakelists.patch b/recipes/mailio/all/patches/0.24.1-adapt-cmakelists.patch new file mode 100644 index 0000000000000..455368841fccc --- /dev/null +++ b/recipes/mailio/all/patches/0.24.1-adapt-cmakelists.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 30d4e0d..747cfab 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -144,7 +144,7 @@ configure_file(mailio.pc.in ${CMAKE_BINARY_DIR}/mailio.pc IMMEDIATE @ONLY) + install(FILES ${CMAKE_BINARY_DIR}/mailio.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) + + configure_file(${PROJECT_SOURCE_DIR}/include/version.hpp.in version.hpp) +-install(FILES ${CMAKE_BINARY_DIR}/version.hpp DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}) ++install(FILES ${PROJECT_BINARY_DIR}/version.hpp DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}) + + # generate the export header for exporting symbols + # this is needed to generate a shared library. diff --git a/recipes/mailio/all/test_v1_package/CMakeLists.txt b/recipes/mailio/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/mailio/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mailio/all/test_v1_package/conanfile.py b/recipes/mailio/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/mailio/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mailio/config.yml b/recipes/mailio/config.yml index 01caa19ce9c40..b5b8a58f15492 100644 --- a/recipes/mailio/config.yml +++ b/recipes/mailio/config.yml @@ -1,4 +1,6 @@ versions: + "0.24.1": + folder: all "0.23.0": folder: all "0.22.0": diff --git a/recipes/make/all/test_v1_package/conanfile.py b/recipes/make/all/test_v1_package/conanfile.py deleted file mode 100644 index 2348d97eef993..0000000000000 --- a/recipes/make/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,13 +0,0 @@ -from conans import ConanFile, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not tools.cross_building(self): - with tools.run_environment(self): - make = self.deps_user_info["make"].make - makefile_dir = os.path.join(self.source_folder, os.pardir, "test_package") - self.run(f"{make} -C {makefile_dir} love") diff --git a/recipes/mapbox-geometry/all/test_v1_package/CMakeLists.txt b/recipes/mapbox-geometry/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/mapbox-geometry/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mapbox-geometry/all/test_v1_package/conanfile.py b/recipes/mapbox-geometry/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/mapbox-geometry/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mapbox-variant/all/test_v1_package/CMakeLists.txt b/recipes/mapbox-variant/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/mapbox-variant/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mapbox-variant/all/test_v1_package/conanfile.py b/recipes/mapbox-variant/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/mapbox-variant/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mariadb-connector-c/all/test_v1_package/CMakeLists.txt b/recipes/mariadb-connector-c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/mariadb-connector-c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mariadb-connector-c/all/test_v1_package/conanfile.py b/recipes/mariadb-connector-c/all/test_v1_package/conanfile.py deleted file mode 100644 index f5c483de856db..0000000000000 --- a/recipes/mariadb-connector-c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/marisa/all/test_v1_package/CMakeLists.txt b/recipes/marisa/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/marisa/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/marisa/all/test_v1_package/conanfile.py b/recipes/marisa/all/test_v1_package/conanfile.py deleted file mode 100644 index 251bf8ae3e3dd..0000000000000 --- a/recipes/marisa/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os -from conans import CMake, ConanFile, tools -from conan.tools.build import cross_building - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/matchit/all/test_v1_package/CMakeLists.txt b/recipes/matchit/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/matchit/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/matchit/all/test_v1_package/conanfile.py b/recipes/matchit/all/test_v1_package/conanfile.py deleted file mode 100644 index 0f735b51a2642..0000000000000 --- a/recipes/matchit/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mathfu/all/test_v1_package/CMakeLists.txt b/recipes/mathfu/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/mathfu/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mathfu/all/test_v1_package/conanfile.py b/recipes/mathfu/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/mathfu/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mathter/1.x.x/conandata.yml b/recipes/mathter/1.x.x/conandata.yml new file mode 100644 index 0000000000000..f12b02f2c9224 --- /dev/null +++ b/recipes/mathter/1.x.x/conandata.yml @@ -0,0 +1,13 @@ +sources: + "1.1.1": + url: "https://github.com/petiaccja/Mathter/archive/v1.1.1.tar.gz" + sha256: "510e6aa198cd7b207a44d319e4471021f207cba8c4d2d7e40086f1f042fe13ab" + "1.1.0": + url: "https://github.com/petiaccja/Mathter/archive/v1.1.0.tar.gz" + sha256: "a9a82126ecd80112854098a5646d38f72f0af03e9655b28ab8fa38b4c03b0870" + "1.0.1": + url: "https://github.com/petiaccja/Mathter/archive/v1.0.1.tar.gz" + sha256: "ab90736abfa8774103b53fe2b8962981c5f117dc582b01698c18d66cd2398b8c" + "1.0.0": + url: "https://github.com/petiaccja/Mathter/archive/v1.0.0.tar.gz" + sha256: "c75cca8d8aec627935250908f2c0f9f1839561e7596a4199bcf80e12b0e6c53b" diff --git a/recipes/mathter/1.x.x/conanfile.py b/recipes/mathter/1.x.x/conanfile.py new file mode 100644 index 0000000000000..82cdb44fbd38a --- /dev/null +++ b/recipes/mathter/1.x.x/conanfile.py @@ -0,0 +1,84 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + + +class MathterConan(ConanFile): + name = "mathter" + description = "Powerful 3D math and small-matrix linear algebra library for games and science." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/petiaccja/Mathter" + topics = ("game-dev", "linear-algebra", "vector-math", "matrix-library", "header-only") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "with_xsimd": [True, False] # XSimd is optionally used for hand-rolled vectorization. + } + default_options = { + "with_xsimd": True + } + no_copy_source = True + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": 10, + "clang": 6, + "gcc": 7, + "Visual Studio": 16, + } + + def config_options(self): + if Version(self.version) < "1.1": + del self.options.with_xsimd + + def layout(self): + basic_layout(self, src_folder="src") + + 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.name} 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 requirements(self): + if self.options.get_safe("with_xsimd"): + self.requires("xsimd/11.1.0") + + def package(self): + if self.version == "1.0.0": + copy(self, "LICENCE", self.source_folder, os.path.join(self.package_folder, "licenses")) + include_dir = os.path.join(self.source_folder, "Mathter") + else: + copy(self, "LICENCE.md", self.source_folder, os.path.join(self.package_folder, "licenses")) + include_dir = os.path.join(self.source_folder, "include", "Mathter") + copy(self, "*.hpp", include_dir, os.path.join(self.package_folder, "include", "Mathter")) + copy(self, "*.natvis", include_dir, os.path.join(self.package_folder, "include", "Mathter")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + if self.options.get_safe("with_xsimd"): + self.cpp_info.defines = ["MATHTER_USE_XSIMD=1"] diff --git a/recipes/mathter/1.x.x/test_package/CMakeLists.txt b/recipes/mathter/1.x.x/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..e6eb2612386c1 --- /dev/null +++ b/recipes/mathter/1.x.x/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(TestPackage CXX) + +find_package(mathter REQUIRED CONFIG) + +add_executable(test_package test_package.cpp) +target_link_libraries(test_package PRIVATE mathter::mathter) +target_compile_features(test_package PRIVATE cxx_std_17) diff --git a/recipes/mathter/1.x.x/test_package/conanfile.py b/recipes/mathter/1.x.x/test_package/conanfile.py new file mode 100644 index 0000000000000..fae501d0afb9e --- /dev/null +++ b/recipes/mathter/1.x.x/test_package/conanfile.py @@ -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" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/mathter/1.x.x/test_package/test_package.cpp b/recipes/mathter/1.x.x/test_package/test_package.cpp new file mode 100644 index 0000000000000..c46788d9d6a1c --- /dev/null +++ b/recipes/mathter/1.x.x/test_package/test_package.cpp @@ -0,0 +1,16 @@ +#include +#include + +int main() { + using Vec3 = mathter::Vector; + Vec3 v1 = {1, 0, 3}; + Vec3 v2 = {2, 5, 3}; + auto r = v1 + v2; + std::cout << "Mathter installation works." << std::endl; +#ifdef MATHTER_USE_XSIMD + std::cout << "XSimd enabled." << std::endl; +#else + std::cout << "XSimd disabled." << std::endl; +#endif + return 0; +} diff --git a/recipes/mathter/all/conandata.yml b/recipes/mathter/all/conandata.yml index f12b02f2c9224..72315af7bccd3 100644 --- a/recipes/mathter/all/conandata.yml +++ b/recipes/mathter/all/conandata.yml @@ -1,13 +1,4 @@ sources: - "1.1.1": - url: "https://github.com/petiaccja/Mathter/archive/v1.1.1.tar.gz" - sha256: "510e6aa198cd7b207a44d319e4471021f207cba8c4d2d7e40086f1f042fe13ab" - "1.1.0": - url: "https://github.com/petiaccja/Mathter/archive/v1.1.0.tar.gz" - sha256: "a9a82126ecd80112854098a5646d38f72f0af03e9655b28ab8fa38b4c03b0870" - "1.0.1": - url: "https://github.com/petiaccja/Mathter/archive/v1.0.1.tar.gz" - sha256: "ab90736abfa8774103b53fe2b8962981c5f117dc582b01698c18d66cd2398b8c" - "1.0.0": - url: "https://github.com/petiaccja/Mathter/archive/v1.0.0.tar.gz" - sha256: "c75cca8d8aec627935250908f2c0f9f1839561e7596a4199bcf80e12b0e6c53b" + "2.0.0": + url: "https://github.com/petiaccja/Mathter/archive/v2.0.0.tar.gz" + sha256: "cec8472d3a56613d4815d1a14e5bf42976884177cc5283c5ad5aba0710cc4bab" \ No newline at end of file diff --git a/recipes/mathter/all/conanfile.py b/recipes/mathter/all/conanfile.py index 82cdb44fbd38a..ec3643caaab0d 100644 --- a/recipes/mathter/all/conanfile.py +++ b/recipes/mathter/all/conanfile.py @@ -3,8 +3,9 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import copy, get -from conan.tools.layout import basic_layout +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rmdir from conan.tools.scm import Version required_conan_version = ">=1.52.0" @@ -37,16 +38,12 @@ def _compilers_minimum_version(self): return { "apple-clang": 10, "clang": 6, - "gcc": 7, + "gcc": 9, "Visual Studio": 16, } - - def config_options(self): - if Version(self.version) < "1.1": - del self.options.with_xsimd def layout(self): - basic_layout(self, src_folder="src") + cmake_layout(self, src_folder="src") def package_id(self): self.info.clear() @@ -60,25 +57,41 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.name} requires C++{self._min_cppstd}, " "which your compiler does not support.") + def requirements(self): + if self.options.get_safe("with_xsimd"): + self.requires("xsimd/13.0.0") + + def build_requirements(self): + self.tool_requires("cmake/[>=3.25 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def requirements(self): - if self.options.get_safe("with_xsimd"): - self.requires("xsimd/11.1.0") + def generate(self): + tc = CMakeToolchain(self) + tc.variables["MATHTER_BUILD_TESTS"] = "OFF" + tc.variables["MATHTER_BUILD_BENCHMARKS"] = "OFF" + tc.variables["MATHTER_BUILD_EXAMPLES"] = "OFF" + tc.variables["MATHTER_ENABLE_SIMD"] = "ON" if self.options.get_safe("with_xsimd") else "OFF" + tc.generate() + cmake_deps = CMakeDeps(self) + cmake_deps.generate() + venv = VirtualBuildEnv(self) + venv.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - if self.version == "1.0.0": - copy(self, "LICENCE", self.source_folder, os.path.join(self.package_folder, "licenses")) - include_dir = os.path.join(self.source_folder, "Mathter") - else: - copy(self, "LICENCE.md", self.source_folder, os.path.join(self.package_folder, "licenses")) - include_dir = os.path.join(self.source_folder, "include", "Mathter") - copy(self, "*.hpp", include_dir, os.path.join(self.package_folder, "include", "Mathter")) - copy(self, "*.natvis", include_dir, os.path.join(self.package_folder, "include", "Mathter")) + cmake = CMake(self) + cmake.install() + copy(self, "LICENCE.md", self.source_folder, os.path.join(self.package_folder, "licenses")) + rmdir(self, os.path.join(self.package_folder, "lib")) def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] if self.options.get_safe("with_xsimd"): - self.cpp_info.defines = ["MATHTER_USE_XSIMD=1"] + self.cpp_info.defines = ["MATHTER_ENABLE_SIMD=1"] diff --git a/recipes/mathter/all/test_package/test_package.cpp b/recipes/mathter/all/test_package/test_package.cpp index c46788d9d6a1c..d451c56acac71 100644 --- a/recipes/mathter/all/test_package/test_package.cpp +++ b/recipes/mathter/all/test_package/test_package.cpp @@ -1,16 +1,32 @@ +#include +#include +#include +#include +#include +#include #include + #include +using namespace mathter; + + int main() { - using Vec3 = mathter::Vector; - Vec3 v1 = {1, 0, 3}; - Vec3 v2 = {2, 5, 3}; - auto r = v1 + v2; - std::cout << "Mathter installation works." << std::endl; -#ifdef MATHTER_USE_XSIMD - std::cout << "XSimd enabled." << std::endl; + const auto u = Vector(1, 2, 3); + const auto v = Vector(4, 6, 8); + const auto r = u + v; + if (r[0] != 5) { + std::cout << "Mathter installation failing." << std::endl; + return 1; + } + else { + std::cout << "Mathter installation works." << std::endl; + std::cout << "Options:" << std::endl; +#ifdef MATHTER_ENABLE_SIMD + std::cout << " with_xsimd = True" << std::endl; #else - std::cout << "XSimd disabled." << std::endl; + std::cout << " with_xsimd = False" << std::endl; #endif - return 0; + return 0; + } } diff --git a/recipes/mathter/all/test_v1_package/CMakeLists.txt b/recipes/mathter/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/mathter/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mathter/all/test_v1_package/conanfile.py b/recipes/mathter/all/test_v1_package/conanfile.py deleted file mode 100644 index 7177bb22dc3a9..0000000000000 --- a/recipes/mathter/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class MathterTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mathter/config.yml b/recipes/mathter/config.yml index e685e077396ef..64c627fda4753 100644 --- a/recipes/mathter/config.yml +++ b/recipes/mathter/config.yml @@ -1,9 +1,11 @@ versions: - "1.1.1": + "2.0.0": folder: all + "1.1.1": + folder: 1.x.x "1.1.0": - folder: all + folder: 1.x.x "1.0.1": - folder: all + folder: 1.x.x "1.0.0": - folder: all + folder: 1.x.x diff --git a/recipes/matio/all/test_v1_package/CMakeLists.txt b/recipes/matio/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/matio/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/matio/all/test_v1_package/conanfile.py b/recipes/matio/all/test_v1_package/conanfile.py deleted file mode 100644 index 3053c8502b32d..0000000000000 --- a/recipes/matio/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os.path - - -class MatioTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mbedtls/all/conandata.yml b/recipes/mbedtls/all/conandata.yml index 6f725eee986a6..fadcef127351e 100644 --- a/recipes/mbedtls/all/conandata.yml +++ b/recipes/mbedtls/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6.2": + url: "https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-3.6.2/mbedtls-3.6.2.tar.bz2" + sha256: "8b54fb9bcf4d5a7078028e0520acddefb7900b3e66fec7f7175bb5b7d85ccdca" "3.6.1": url: "https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-3.6.1/mbedtls-3.6.1.tar.bz2" sha256: "fc8bef0991b43629b7e5319de6f34f13359011105e08e3e16eed3a9fe6ffd3a3" @@ -8,39 +11,18 @@ sources: "3.5.2": url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.5.2.tar.gz" sha256: "eedecc468b3f8d052ef05a9d42bf63f04c8a1c50d1c5a94c251c681365a2c723" - "3.5.1": - url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.5.1.tar.gz" - sha256: "0da345cda55ec6f6d71afa84cfae55632a16ba0b8b4644f4d0e8a32c9d1117b0" "3.5.0": url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v3.5.0.tar.gz" sha256: "bdee0e3e45bbf360541306cac0cc27e00402c7a46b9bdf2d24787d5107f008f2" - "3.4.1": - url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v3.4.1.tar.gz" - sha256: "a420fcf7103e54e775c383e3751729b8fb2dcd087f6165befd13f28315f754f5" "3.2.1": url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.2.1.tar.gz" sha256: "5850089672560eeaca03dc36678ee8573bb48ef6e38c94f5ce349af60c16da33" - "3.1.0": - url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.1.0.tar.gz" - sha256: "64d01a3b22b91cf3a25630257f268f11bc7bfa37981ae6d397802dd4ccec4690" - "3.0.0": - url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.0.0.tar.gz" - sha256: "377d376919be19f07c7e7adeeded088a525be40353f6d938a78e4f986bce2ae0" - "2.28.8": - url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v2.28.8.tar.gz" - sha256: "4fef7de0d8d542510d726d643350acb3cdb9dc76ad45611b59c9aa08372b4213" "2.28.4": url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v2.28.4.tar.gz" sha256: "578c4dcd15bbff3f5cd56aa07cd4f850fc733634e3d5947be4f7157d5bfd81ac" "2.25.0": url: "https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.25.0.tar.gz" sha256: "ea2049c2dd4868693998d5a9780e198194be5aea1706ff4a9d4f882f18c0a101" - "2.24.0": - url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-2.24.0.tar.gz" - sha256: "b5a779b5f36d5fc4cba55faa410685f89128702423ad07b36c5665441a06a5f3" - "2.23.0": - url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-2.23.0.tar.gz" - sha256: "5c8998217402aa1fc734f4afaeac38fad2421470fac4b3abc112bd46391054fe" "2.16.12": url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/mbedtls-2.16.12.tar.gz" sha256: "0afb4a4ce5b771f2fb86daee786362fbe48285f05b73cd205f46a224ec031783" diff --git a/recipes/mbedtls/all/test_v1_package/CMakeLists.txt b/recipes/mbedtls/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/mbedtls/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mbedtls/all/test_v1_package/conanfile.py b/recipes/mbedtls/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/mbedtls/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mbedtls/config.yml b/recipes/mbedtls/config.yml index 8637037975a2e..c59faa366d45d 100644 --- a/recipes/mbedtls/config.yml +++ b/recipes/mbedtls/config.yml @@ -1,31 +1,24 @@ versions: + "3.6.2": + folder: all "3.6.1": folder: all "3.6.0": folder: all "3.5.2": folder: all - "3.5.1": - folder: all + # keep 3.5.0 for libcurl, libssh2, libwebsockets, libzip "3.5.0": folder: all - "3.4.1": - folder: all + # keep 3.2.1 for libcoap, libgit2, lief "3.2.1": folder: all - "3.1.0": - folder: all - "3.0.0": - folder: all - "2.28.8": - folder: all + # keep 2.28.4 for libssh2 "2.28.4": folder: all + # keep 2.25.0 for ixwebsocket, nng, open62541, yojimbo, mdnsresponder "2.25.0": folder: all - "2.24.0": - folder: all - "2.23.0": - folder: all + # keep 2.6.12 for cose-c "2.16.12": folder: all diff --git a/recipes/mbits-args/all/test_v1_package/CMakeLists.txt b/recipes/mbits-args/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/mbits-args/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mbits-args/all/test_v1_package/conanfile.py b/recipes/mbits-args/all/test_v1_package/conanfile.py deleted file mode 100644 index 897d76acb188a..0000000000000 --- a/recipes/mbits-args/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run("{} --sum 1000 700 1".format(bin_path), run_environment=True) diff --git a/recipes/mbits-diags/all/test_v1_package/CMakeLists.txt b/recipes/mbits-diags/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/mbits-diags/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mbits-diags/all/test_v1_package/conanfile.py b/recipes/mbits-diags/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/mbits-diags/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mbits-lngs/all/conanfile.py b/recipes/mbits-lngs/all/conanfile.py index 49f97626d1e47..3558c49245302 100644 --- a/recipes/mbits-lngs/all/conanfile.py +++ b/recipes/mbits-lngs/all/conanfile.py @@ -50,7 +50,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.1.0") + self.requires("fmt/10.2.1") self.requires("mbits-utfconv/1.0.3") self.requires("mbits-diags/0.9.6") self.requires("mbits-mstch/1.0.4") diff --git a/recipes/mbits-mstch/all/test_v1_package/CMakeLists.txt b/recipes/mbits-mstch/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/mbits-mstch/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mbits-mstch/all/test_v1_package/conanfile.py b/recipes/mbits-mstch/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/mbits-mstch/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mbits-semver/all/test_v1_package/CMakeLists.txt b/recipes/mbits-semver/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/mbits-semver/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mbits-semver/all/test_v1_package/conanfile.py b/recipes/mbits-semver/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/mbits-semver/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mbits-utfconv/all/test_v1_package/CMakeLists.txt b/recipes/mbits-utfconv/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/mbits-utfconv/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mbits-utfconv/all/test_v1_package/conanfile.py b/recipes/mbits-utfconv/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/mbits-utfconv/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mcap/all/conandata.yml b/recipes/mcap/all/conandata.yml index 86d2a620395b9..d6df7ac1df80a 100644 --- a/recipes/mcap/all/conandata.yml +++ b/recipes/mcap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.1": + url: "https://github.com/foxglove/mcap/archive/refs/tags/releases/cpp/v1.4.1.tar.gz" + sha256: "69bcd33e1590201ea180e9e6ba8a22f3e8e7e2283e9ebcbff6a2c7134d8341db" "1.4.0": url: "https://github.com/foxglove/mcap/archive/refs/tags/releases/cpp/v1.4.0.tar.gz" sha256: "64ff3e51119f37ffcfaf9deecbd987a7cb4d4d9035d74a3fd3773395a470fda1" diff --git a/recipes/mcap/all/test_v1_package/CMakeLists.txt b/recipes/mcap/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/mcap/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mcap/all/test_v1_package/conanfile.py b/recipes/mcap/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/mcap/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mcap/config.yml b/recipes/mcap/config.yml index 693870396f82a..0b63fa5acf0da 100644 --- a/recipes/mcap/config.yml +++ b/recipes/mcap/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.1": + folder: all "1.4.0": folder: all "1.3.0": diff --git a/recipes/md4c/all/test_v1_package/CMakeLists.txt b/recipes/md4c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/md4c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/md4c/all/test_v1_package/conanfile.py b/recipes/md4c/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/md4c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index c86a0ee7fa859..9d1d364030dad 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -5,141 +5,9 @@ sources: "2.8.2": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.8.2.tar.gz" sha256: "4f560d752ead3aba4983bd09d87e9e32a8313770d7fde0374988785d193b386a" - "2.8.1": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.8.1.tar.gz" - sha256: "02a046c1586da820be0c5dd36f635ca50060f893fe638b542546f4a7a07d3164" - "2.8.0": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.8.0.tar.gz" - sha256: "82ef6acc84ea3a7891e4547f7d79af4caaef0f4d6f152bdab2a5c6ed5a48d11b" "2.7.4": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.4.tar.gz" sha256: "adef8e96e71f13cb9f4450eee7bb02a43694682dc67519323f8e23f7bf10d0d1" - "2.7.3": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.3.tar.gz" - sha256: "d464cd137a69218f88af1373b198610f1db6971c7aa56c6869219ffb34e6f0dd" - "2.7.2": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.2.tar.gz" - sha256: "2d6b65db799fff944f2ecb8bb411f17687e41e0d5a17a37ad1c4bd22fe997d8b" - "2.7.1": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.1.tar.gz" - sha256: "054cbaa286cfd3ce2d4e5c178b303b80eb23ad5bd54541571d6c9afbd285986e" - "2.7.0": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.0.tar.gz" - sha256: "e5722b586fa6c6d126487056fa47f0d933b94413ac44b79f52573226eca04a07" "2.6.0": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.6.0.tar.gz" sha256: "8884a3b18fd923dd49994190e0b11c1882e409fce59fb6e5ee8e866dd889b8d0" - "2.5.2": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.5.2.tar.gz" - sha256: "f6af98d2b7c405419b4505bf25eb0363cad3561fa78c34001e8dada082812d76" - "2.5.1": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.5.1.tar.gz" - sha256: "6f13fc59fbfbc778df932cf328a5720989e59e5b06278731bd852d07472b5520" - "2.5.0": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.5.0.tar.gz" - sha256: "5965552f15d37475f37f644feaee62a89225312e1c82e813b7a119943d82c808" - "2.4.4": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.4.tar.gz" - sha256: "03995edbfe6047d047bcd3c5bb4824c3644927437bb60a95f8a3a9c7096ae981" - "2.4.3": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.3.tar.gz" - sha256: "b899a290c09ab073341d8924ebbd43694226d9122e0e174264d3a3770814bb15" - "2.4.2": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.2.tar.gz" - sha256: "76f3228dd9afa2661fe9326b51e5ec8dc29e364f99fb0f94704792610d543fa2" - "2.4.1": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.1.tar.gz" - sha256: "61a439206e1ed2e68702c9811e3055d0adfda5945fb098ea7bfe8906c33d7b49" - "2.4.0": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.0.tar.gz" - sha256: "a53c6fb33cfef23f91cc6e967b538cd1940bb765041a0c1c4ac3aa20bf0b5c7c" - "2.3.9": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.9.tar.gz" - sha256: "0ff833b179e01866296a8b2e36b09c19936c2e4434d9e542be389d8104809523" - "2.3.4": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.4.tar.gz" - sha256: "7f356658316da4f4eaf7bde43dd43027a602c49640d297357b12e22a1a842a68" - "2.3.3": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.3.tar.gz" - sha256: "89584d77d7e338d858e2198b20cd091cc713aef74880ef1fccc6c1e9d8b74acd" - "2.3.2": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.2.tar.gz" - sha256: "0a89854d639a3710ab89611333fd1a1047cd5edc87ba767fbefdc37e701ae671" - "2.3.1": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.1.tar.gz" - sha256: "7126ecc34f9808943b76b05106ebd42ef01b7b812416efc2382de68a13804d01" - "2.3.0": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.0.tar.gz" - sha256: "e8a37c80f1823bbac9cbfd6bbd662ee14e8ff0ac9e97966aa34cb2d0eed18e72" - "2.2.3": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.3.tar.gz" - sha256: "31f6de553700b25e4ed8517bcde24bd43b18c3fda1260f968aa5c393a7491783" - "2.2.2": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.2.tar.gz" - sha256: "4d5a0f7ed250cbcb8a3a1f4244f8413ed854e538406c571e83ebccf709cff49e" - "2.2.1": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.1.tar.gz" - sha256: "1e774a01d866c2738e1ec897ebb58057bf0eb7d7895aed48904907a77934c459" - "2.2.0": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.0.tar.gz" - sha256: "3c9228e658e8a613fbd098daf815d3884c8da404238723ff4d68065e5fedd5d7" - "2.1.1": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.1.1.tar.gz" - sha256: "76f4cb2919cae393ef52788a63853aa52e429f8ff218f5eff9d38f4ebb4b3b1e" - "2.1.0": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.1.0.tar.gz" - sha256: "cfbf515adecd798a3f1a4f2e007021b4b31742dd0b36805c273b3b8316fd820d" - "2.0.18": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.18.tar.gz" - sha256: "4fe70a63eb78cdf0355f6a6b292c40c8cc8ed4a62bcbec17afefa713b19c28b1" - "2.0.16": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.16.tar.gz" - sha256: "9da7cd02883c2f4d4a2371cda4c195ebc02f57bb673ef948b88a256f3db55724" - "2.0.15": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.15.tar.gz" - sha256: "53c4a65bb178afde91ae2360072f65a44ae7572a25912a3fe96aeaa6ac86ef27" - "2.0.14": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.14.tar.gz" - sha256: "b230f1a99a2a5f4f1f32748d52062276294b34d8254d4128193632e3a8ffaa4e" - "2.0.13": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.13.tar.gz" - sha256: "4e6cdcd54c5ce1e1ed9a97bd18ac5aeb7c15bb303193b4261058aef724fe9a41" - "2.0.12": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.12.tar.gz" - sha256: "07c89e37c624da036008acac88115b5aee6440f9e9f326139f256f34022f9a20" - "2.0.11": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.11.tar.gz" - sha256: "990979474bcbb924efb1c046581589e11889d502e5ad24b9779c131c4f3d9941" - "2.0.10": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.10.tar.gz" - sha256: "efcb7c97999ce2d78aba67041a61dda45feb54113e5b21851b0532fdcbc460a8" - "2.0.9": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.9.tar.gz" - sha256: "5b00c997eb33e877ca54468a101345e3a9986ce1b61b0919fa8632efabc51b6d" - "2.0.8": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.8.tar.gz" - sha256: "50a47d407acf1ca6a5b96af0386da74f7cfb66322ec7453cbb543f4f66251683" - "2.0.7": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.7.tar.gz" - sha256: "2852ac88f95051ce0ce112e5d99695307d8748f47553b101edebecce03ee3eae" - "2.0.6": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.6.tar.gz" - sha256: "be6b227f8e0053fa7bf3a1a11f0e15cda72dabbe64cc9e50c9ea0789313a57c2" - "2.0.5": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.5.tar.gz" - sha256: "363cc13d35c66d8d89df25eef9ac49ec2d259781752208231bad32db4df5dd52" - "2.0.4": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.4.tar.gz" - sha256: "2980a0d0b5d3539a5a1402942a1345e97c8ab36acfc8e00d932df157d2e6edc2" - "2.0.3": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.3.tar.gz" - sha256: "374bfc74aa6ebb1ea7d2332b96f8b2f6001118793bbe4e55109a13d0ffe7ce55" - "2.0.2": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.2.tar.gz" - sha256: "721c7e5f8676dba1023931b9e2fd0d22cbc643bc9864c1d1163df3c5615e7e96" - "2.0.1": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.1.tar.gz" - sha256: "879f069cd12db44f2fcc33590ded1f9d778f4c854be14a7ad72fb2ff4acdb3d2" - "2.0.0": - url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.0.0.tar.gz" - sha256: "3c834c4d832208658f042bd85a821c297fafd0f2eedda9d6ddddced7b724f61a" diff --git a/recipes/md4qt/all/test_v1_package/CMakeLists.txt b/recipes/md4qt/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/md4qt/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/md4qt/all/test_v1_package/conanfile.py b/recipes/md4qt/all/test_v1_package/conanfile.py deleted file mode 100644 index e62a3cb2d7440..0000000000000 --- a/recipes/md4qt/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - md_path = os.path.join(self.source_folder, os.pardir, "test_package", "test.md") - self.run(f"{bin_path} \"{md_path}\"", run_environment=True) diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 7d4bc0dc284de..233405139e945 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -3,95 +3,7 @@ versions: folder: all "2.8.2": folder: all - "2.8.1": - folder: all - "2.8.0": - folder: all "2.7.4": folder: all - "2.7.3": - folder: all - "2.7.2": - folder: all - "2.7.1": - folder: all - "2.7.0": - folder: all "2.6.0": folder: all - "2.5.2": - folder: all - "2.5.1": - folder: all - "2.5.0": - folder: all - "2.4.4": - folder: all - "2.4.3": - folder: all - "2.4.2": - folder: all - "2.4.1": - folder: all - "2.4.0": - folder: all - "2.3.9": - folder: all - "2.3.4": - folder: all - "2.3.3": - folder: all - "2.3.2": - folder: all - "2.3.1": - folder: all - "2.3.0": - folder: all - "2.2.3": - folder: all - "2.2.2": - folder: all - "2.2.1": - folder: all - "2.2.0": - folder: all - "2.1.1": - folder: all - "2.1.0": - folder: all - "2.0.18": - folder: all - "2.0.16": - folder: all - "2.0.15": - folder: all - "2.0.14": - folder: all - "2.0.13": - folder: all - "2.0.12": - folder: all - "2.0.11": - folder: all - "2.0.10": - folder: all - "2.0.9": - folder: all - "2.0.8": - folder: all - "2.0.7": - folder: all - "2.0.6": - folder: all - "2.0.5": - folder: all - "2.0.4": - folder: all - "2.0.3": - folder: all - "2.0.2": - folder: all - "2.0.1": - folder: all - "2.0.0": - folder: all diff --git a/recipes/mdns/all/test_v1_package/CMakeLists.txt b/recipes/mdns/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/mdns/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mdns/all/test_v1_package/conanfile.py b/recipes/mdns/all/test_v1_package/conanfile.py deleted file mode 100644 index 6dffe66394a26..0000000000000 --- a/recipes/mdns/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - bin_path = self.run(bin_path, run_environment=True) diff --git a/recipes/mdnsresponder/all/test_v1_package/CMakeLists.txt b/recipes/mdnsresponder/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index a4d5a242ce134..0000000000000 --- a/recipes/mdnsresponder/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mdnsresponder/all/test_v1_package/conanfile.py b/recipes/mdnsresponder/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/mdnsresponder/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mdspan/all/test_v1_package/CMakeLists.txt b/recipes/mdspan/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/mdspan/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mdspan/all/test_v1_package/conanfile.py b/recipes/mdspan/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/mdspan/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/meshoptimizer/all/conandata.yml b/recipes/meshoptimizer/all/conandata.yml index 94a9a85900a6d..1cf565e7dd285 100644 --- a/recipes/meshoptimizer/all/conandata.yml +++ b/recipes/meshoptimizer/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.22": + url: "https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.22.tar.gz" + sha256: "e296cf0685b6421f84bd8a44d0a3cca82a219500f11c793dfbb6087ec86bb1a3" "0.21": url: "https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.21.tar.gz" sha256: "050A5438E4644833FF69F35110FCF4E37038A89C5FDC8AED45D8CD848ECB3A20" diff --git a/recipes/meshoptimizer/all/test_v1_package/CMakeLists.txt b/recipes/meshoptimizer/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/meshoptimizer/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/meshoptimizer/all/test_v1_package/conanfile.py b/recipes/meshoptimizer/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/meshoptimizer/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/meshoptimizer/config.yml b/recipes/meshoptimizer/config.yml index bb6c09f07b3de..908fa671378b7 100644 --- a/recipes/meshoptimizer/config.yml +++ b/recipes/meshoptimizer/config.yml @@ -1,4 +1,6 @@ versions: + "0.22": + folder: all "0.21": folder: all "0.20": diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index 1be722fba90a3..ad55ba8f8a439 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.0": + url: "https://github.com/mesonbuild/meson/archive/1.6.0.tar.gz" + sha256: "342300656bfdafb6cc09325bdd0fd507366ecaa6be25fa4525f50889adf7c606" "1.5.1": url: "https://github.com/mesonbuild/meson/archive/1.5.1.tar.gz" sha256: "55f6acd5bf72c14d4aa5a781993633f84a1d117bdf2c2057735902ced9b81390" diff --git a/recipes/meson/all/test_v1_package/conanfile.py b/recipes/meson/all/test_v1_package/conanfile.py deleted file mode 100644 index c8624c6f85f40..0000000000000 --- a/recipes/meson/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, Meson, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - test_type = "explicit" - - def build_requirements(self): - self.build_requires(self.tested_reference_str) - - def build(self): - if not tools.cross_building(self): - meson = Meson(self) - meson.configure(build_folder="build") - meson.build() - - def test(self): - self.run("meson --version") - if not tools.cross_building(self): - bin_path = os.path.join("build", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/meson/all/test_v1_package/meson.build b/recipes/meson/all/test_v1_package/meson.build deleted file mode 100644 index e67dd979af3c4..0000000000000 --- a/recipes/meson/all/test_v1_package/meson.build +++ /dev/null @@ -1,2 +0,0 @@ -project('test_package', 'cpp') -executable('test_package', '../test_package/test_package.cpp') diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index 9b74b18776ede..d2e19a97433c1 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: all "1.5.1": folder: all "1.5.0": diff --git a/recipes/metal-cpp/all/conandata.yml b/recipes/metal-cpp/all/conandata.yml index 2fd6dd33feee7..45ddf13fce349 100644 --- a/recipes/metal-cpp/all/conandata.yml +++ b/recipes/metal-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "15": + url: "https://developer.apple.com/metal/cpp/files/metal-cpp_macOS15_iOS18.zip" + sha256: "0433df1e0ab13c2b0becbd78665071e3fa28381e9714a3fce28a497892b8a184" "14.2": url: "https://developer.apple.com/metal/cpp/files/metal-cpp_macOS14.2_iOS17.2.zip" sha256: "d800ddbc3fccabce3a513f975eeafd4057e07a29e905ad5aaef8c1f4e12d9ada" @@ -12,6 +15,10 @@ sources: url: "https://developer.apple.com/metal/cpp/files/metal-cpp_macOS13_iOS16.zip" sha256: "6f741894229e9c750add1afc3797274fc008c7507e2ae726370c17c34b7c6a68" minimum_os_version: + "15": + "Macos": "15" + "iOS": "18" + "tvOS": "18" "14.2": "Macos": "14.2" "iOS": "17.2" diff --git a/recipes/metal-cpp/config.yml b/recipes/metal-cpp/config.yml index 1f484bca5aa17..e0067f6f5cf55 100644 --- a/recipes/metal-cpp/config.yml +++ b/recipes/metal-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "15": + folder: all "14.2": folder: all "14": diff --git a/recipes/mgs/all/test_v1_package/CMakeLists.txt b/recipes/mgs/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/mgs/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mgs/all/test_v1_package/conanfile.py b/recipes/mgs/all/test_v1_package/conanfile.py deleted file mode 100644 index 0f735b51a2642..0000000000000 --- a/recipes/mgs/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/microprofile/all/test_v1_package/CMakeLists.txt b/recipes/microprofile/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/microprofile/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/microprofile/all/test_v1_package/conanfile.py b/recipes/microprofile/all/test_v1_package/conanfile.py deleted file mode 100644 index 30f8c8cfb0975..0000000000000 --- a/recipes/microprofile/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class MicroprofileTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/microtar/all/test_v1_package/CMakeLists.txt b/recipes/microtar/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/microtar/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/microtar/all/test_v1_package/conanfile.py b/recipes/microtar/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/microtar/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mikelankamp-fpm/all/test_v1_package/CMakeLists.txt b/recipes/mikelankamp-fpm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/mikelankamp-fpm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mikelankamp-fpm/all/test_v1_package/conanfile.py b/recipes/mikelankamp-fpm/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/mikelankamp-fpm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mikktspace/all/test_v1_package/CMakeLists.txt b/recipes/mikktspace/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/mikktspace/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mikktspace/all/test_v1_package/conanfile.py b/recipes/mikktspace/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/mikktspace/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mimalloc/all/conanfile.py b/recipes/mimalloc/all/conanfile.py index 881542551c915..1d36b7541ab29 100644 --- a/recipes/mimalloc/all/conanfile.py +++ b/recipes/mimalloc/all/conanfile.py @@ -1,15 +1,14 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file, save, collect_libs +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file, collect_libs from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, VCVars -from conan.tools.scm import Version from conan.tools.env import VirtualBuildEnv +from conan.tools.scm import Version import os import shutil -import textwrap -required_conan_version = ">=1.53.0" +required_conan_version = ">=2" class MimallocConan(ConanFile): @@ -75,7 +74,7 @@ def layout(self): def validate(self): # Currently, mimalloc some version do not work properly with shared MD builds. # https://github.com/conan-io/conan-center-index/pull/10333#issuecomment-1114110046 - if self.version in ["1.7.6", "1.7.7", "2.0.6", "2.0.7"] and \ + if Version(self.version) == "1.7.6" and \ self.options.shared and \ is_msvc(self) and \ not is_msvc_static_runtime(self): @@ -110,8 +109,7 @@ def generate(self): tc.variables["MI_OVERRIDE"] = "ON" if self.options.override else "OFF" tc.variables["MI_SECURE"] = "ON" if self.options.secure else "OFF" tc.variables["MI_WIN_REDIRECT"] = "OFF" - if Version(self.version) >= "1.7.0": - tc.variables["MI_INSTALL_TOPLEVEL"] = "ON" + tc.variables["MI_INSTALL_TOPLEVEL"] = "ON" tc.generate() venv = VirtualBuildEnv(self) venv.generate(scope="build") @@ -141,8 +139,6 @@ def package(self): if self.options.get_safe("single_object"): rm(self, "*.a", os.path.join(self.package_folder, "lib")) - shutil.move(os.path.join(self.package_folder, self._obj_name + ".o"), - os.path.join(self.package_folder, "lib")) shutil.copy(os.path.join(self.package_folder, "lib", self._obj_name + ".o"), os.path.join(self.package_folder, "lib", self._obj_name)) @@ -158,27 +154,6 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) - cmake_target = "mimalloc" if self.options.shared else "mimalloc-static" - self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._module_file_rel_path), - {cmake_target: "mimalloc::mimalloc"} - ) - - def _create_cmake_module_alias_targets(self, module_file, targets): - content = "" - for alias, aliased in targets.items(): - content += textwrap.dedent(f"""\ - if(TARGET {aliased} AND NOT TARGET {alias}) - add_library({alias} INTERFACE IMPORTED) - set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) - endif() - """) - save(self, module_file, content) - - @property - def _module_file_rel_path(self): - return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") - @property def _obj_name(self): name = "mimalloc" @@ -204,11 +179,6 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "mimalloc") self.cpp_info.set_property("cmake_target_name", "mimalloc" if self.options.shared else "mimalloc-static") - self.cpp_info.names["cmake_find_package"] = "mimalloc" - self.cpp_info.names["cmake_find_package_multi"] = "mimalloc" - self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - if self.options.get_safe("inject"): self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] diff --git a/recipes/mimalloc/all/test_package/CMakeLists.txt b/recipes/mimalloc/all/test_package/CMakeLists.txt index cf60e66aa36cb..65c3184e9021a 100644 --- a/recipes/mimalloc/all/test_package/CMakeLists.txt +++ b/recipes/mimalloc/all/test_package/CMakeLists.txt @@ -1,51 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES C CXX) - -enable_testing() - -option(BUILD_NO_CHANGES "Build no_changes sources" ON) -option(BUILD_INCLUDE_OVERRIDE "Build include_override sources" ON) -option(BUILD_MI_API "Build mi_api sources" ON) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) find_package(mimalloc REQUIRED CONFIG) -if(TARGET mimalloc-static) - set(MIMALLOC_LIBS mimalloc-static) -else() - set(MIMALLOC_LIBS mimalloc) -endif() - -if(BUILD_NO_CHANGES) - add_executable(no_changes no_changes.c) - target_link_libraries(no_changes PRIVATE ${MIMALLOC_LIBS}) - target_compile_features(no_changes PRIVATE c_std_11) - add_test(NAME no_changes COMMAND no_changes) - - add_executable(no_changes_cpp no_changes.cpp) - target_link_libraries(no_changes_cpp PRIVATE ${MIMALLOC_LIBS}) - target_compile_features(no_changes_cpp PRIVATE cxx_std_17) - add_test(NAME no_changes_cpp COMMAND no_changes_cpp) -endif() - -if(BUILD_INCLUDE_OVERRIDE) - add_executable(include_override include_override.c) - target_link_libraries(include_override PRIVATE ${MIMALLOC_LIBS}) - target_compile_features(include_override PRIVATE c_std_11) - add_test(NAME include_override COMMAND include_override) - - add_executable(include_override_cpp include_override.cpp) - target_link_libraries(include_override_cpp PRIVATE ${MIMALLOC_LIBS}) - target_compile_features(include_override_cpp PRIVATE cxx_std_17) - add_test(NAME include_override_cpp COMMAND include_override_cpp) -endif() - -if(BUILD_MI_API) - add_executable(mi_api mi_api.c) - target_link_libraries(mi_api PRIVATE ${MIMALLOC_LIBS}) - target_compile_features(mi_api PRIVATE c_std_11) - add_test(NAME mi_api COMMAND mi_api) - add_executable(mi_api_cpp mi_api.cpp) - target_link_libraries(mi_api_cpp PRIVATE ${MIMALLOC_LIBS}) - target_compile_features(mi_api_cpp PRIVATE cxx_std_17) - add_test(NAME mi_api_cpp COMMAND mi_api_cpp) -endif() +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE $,mimalloc,mimalloc-static>) +target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) diff --git a/recipes/mimalloc/all/test_package/conanfile.py b/recipes/mimalloc/all/test_package/conanfile.py index 73d57fff7f138..81b2d147a96f2 100644 --- a/recipes/mimalloc/all/test_package/conanfile.py +++ b/recipes/mimalloc/all/test_package/conanfile.py @@ -1,16 +1,12 @@ from conan import ConanFile -from conan.tools.build import build_jobs, can_run -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.env import Environment -from conan.tools.files import chdir +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os -import functools class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "VirtualRunEnv" - test_type = "explicit" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" def layout(self): cmake_layout(self) @@ -18,49 +14,6 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) - @functools.lru_cache(1) - def _test_files(self): - # No override: - if not self.dependencies["mimalloc"].options.override: - return ["mi_api"] - # Injected override - elif self.dependencies["mimalloc"].options.get_safe("inject"): - if self.settings.os == "Macos": - # Could not simulate Macos preload, so just ignore it - return [] - return ["no_changes"] - # Non injected override - return ["include_override", "mi_api"] - - @property - def _lib_name(self): - name = "mimalloc" if self.settings.os == "Windows" else "libmimalloc" - if self.settings.os == "Windows" and not self.dependencies["mimalloc"].options.shared: - name += "-static" - if self.dependencies["mimalloc"].options.secure: - name += "-secure" - if self.settings.build_type not in ("Release", "RelWithDebInfo", "MinSizeRel"): - name += f"-{str(self.settings.build_type).lower()}" - return name - - def generate(self): - tc = CMakeToolchain(self) - tc.variables["BUILD_NO_CHANGES"] = "no_changes" in self._test_files() - tc.variables["BUILD_INCLUDE_OVERRIDE"] = "include_override" in self._test_files() - tc.variables["BUILD_MI_API"] = "mi_api" in self._test_files() - tc.generate() - - env = Environment() - env.define("MIMALLOC_VERBOSE", "1") - if self.dependencies["mimalloc"].options.get_safe("inject"): - if self.settings.os == "Linux": - env.define("LD_PRELOAD", f"{self._lib_name}.so") - elif self.settings.os == "Macos": - env.define("DYLD_FORCE_FLAT_NAMESPACE", "1") - insert_library = os.path.join(self.dependencies["mimalloc"].cpp_info.libdirs[0], f"{self._lib_name}.dylib") - env.define("DYLD_INSERT_LIBRARIES", insert_library) - env.vars(self, scope="run").save_script("mimalloc_env_file") - def build(self): cmake = CMake(self) cmake.configure() @@ -68,5 +21,5 @@ def build(self): def test(self): if can_run(self): - with chdir(self, self.build_folder): - self.run(f"ctest --output-on-failure -C {self.settings.build_type} -j {build_jobs(self)}", env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/mimalloc/all/test_package/include_override.c b/recipes/mimalloc/all/test_package/include_override.c deleted file mode 100644 index 5e54990b98f79..0000000000000 --- a/recipes/mimalloc/all/test_package/include_override.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "mimalloc-override.h" - -#include - -int main() { - void *data = malloc(1024); - free(data); - - printf("mimalloc version %d\n", mi_version()); - return 0; -} diff --git a/recipes/mimalloc/all/test_package/include_override.cpp b/recipes/mimalloc/all/test_package/include_override.cpp deleted file mode 100644 index edcb49e3434ee..0000000000000 --- a/recipes/mimalloc/all/test_package/include_override.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef _WIN32 -#include -#else -#include -#endif - -#include -#include - -int main() { - auto *data = new int(1024); - delete data; - - std::cout << "mimalloc version " << mi_version() << "\n"; - return 0; -} diff --git a/recipes/mimalloc/all/test_package/mi_api.c b/recipes/mimalloc/all/test_package/mi_api.c deleted file mode 100644 index 804f582034b95..0000000000000 --- a/recipes/mimalloc/all/test_package/mi_api.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "mimalloc.h" - -#include -#include - -int main() { - void *data = mi_malloc(1024); - - printf("mimalloc version %d\n", mi_version()); - return 0; -} diff --git a/recipes/mimalloc/all/test_package/mi_api.cpp b/recipes/mimalloc/all/test_package/mi_api.cpp deleted file mode 100644 index a361ab757bf42..0000000000000 --- a/recipes/mimalloc/all/test_package/mi_api.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "mimalloc.h" - -#include -#include - -int main() { - std::vector> vec; - vec.push_back(1); - vec.pop_back(); - - std::cout << "mimalloc version " << mi_version() << "\n"; - return 0; -} diff --git a/recipes/mimalloc/all/test_package/no_changes.c b/recipes/mimalloc/all/test_package/no_changes.c deleted file mode 100644 index 51737c1ac50f0..0000000000000 --- a/recipes/mimalloc/all/test_package/no_changes.c +++ /dev/null @@ -1,12 +0,0 @@ -#include -#include - -int main() { - void *data = malloc(1024); - - memset(data, '6', 1024); - - free(data); - - return 0; -} diff --git a/recipes/mimalloc/all/test_package/no_changes.cpp b/recipes/mimalloc/all/test_package/no_changes.cpp deleted file mode 100644 index 7a5ad3df0f22c..0000000000000 --- a/recipes/mimalloc/all/test_package/no_changes.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include - -int main() { - auto *data = new int(1024); - delete data; - - return 0; -} diff --git a/recipes/mimalloc/all/test_package/test_package.c b/recipes/mimalloc/all/test_package/test_package.c new file mode 100644 index 0000000000000..f73b12d64f5d5 --- /dev/null +++ b/recipes/mimalloc/all/test_package/test_package.c @@ -0,0 +1,11 @@ +#include "mimalloc.h" + +#include +#include + +int main() { + void *data = mi_malloc(32); + + printf("mimalloc version %d\n", mi_version()); + return EXIT_SUCCESS; +} diff --git a/recipes/mimalloc/all/test_v1_package/CMakeLists.txt b/recipes/mimalloc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 3f3fae06afa0a..0000000000000 --- a/recipes/mimalloc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_v1_package) - -enable_testing() - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mimalloc/all/test_v1_package/conanfile.py b/recipes/mimalloc/all/test_v1_package/conanfile.py deleted file mode 100644 index 7f8fb52960e7a..0000000000000 --- a/recipes/mimalloc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,70 +0,0 @@ -from conans import ConanFile, CMake, RunEnvironment, tools -from conans.errors import ConanException -import os -import functools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def _mimalloc_option(self, name, default=None): - try: - return getattr(self.options["mimalloc"], name, default) - except (AttributeError, ConanException): - return default - - @functools.lru_cache(1) - def _test_files(self): - # No override: - if not self.options["mimalloc"].override: - return ["mi_api"] - # Injected override: - elif self._mimalloc_option("inject"): - if self.settings.os == "Macos": - # Could not simulate Macos preload, so just ignore it - return [] - return ["no_changes"] - # Non injected override: - return ["include_override", "mi_api"] - - def build(self): - cmake = CMake(self) - cmake.definitions["BUILD_NO_CHANGES"] = "no_changes" in self._test_files() - cmake.definitions["BUILD_INCLUDE_OVERRIDE"] = "include_override" in self._test_files() - cmake.definitions["BUILD_MI_API"] = "mi_api" in self._test_files() - cmake.configure() - cmake.build() - - @property - def _lib_name(self): - name = "mimalloc" if self.settings.os == "Windows" else "libmimalloc" - if self.settings.os == "Windows" and not self.options["mimalloc"].shared: - name += "-static" - if self.options["mimalloc"].secure: - name += "-secure" - if self.settings.build_type not in ("Release", "RelWithDebInfo", "MinSizeRel"): - name += f"-{str(self.settings.build_type).lower()}" - return name - - @property - def _environment(self): - environment = {"MIMALLOC_VERBOSE": "1"} - - if self._mimalloc_option("inject"): - if self.settings.os == "Linux": - environment["LD_PRELOAD"] = f"{self._lib_name}.so" - elif self.settings.os == "Macos": - env_build = RunEnvironment(self) - insert_library = os.path.join(env_build.vars["DYLD_LIBRARY_PATH"][0], f"{self._lib_name}.dylib") - - environment["DYLD_FORCE_FLAT_NAMESPACE"] = "1" - environment["DYLD_INSERT_LIBRARIES"] = insert_library - - return environment - - def test(self): - if tools.cross_building(self): - return - with tools.environment_append(self._environment): - self.run(f"ctest --output-on-failure -C {self.settings.build_type} -j {tools.cpu_count()}", run_environment=True) diff --git a/recipes/mingw-builds/all/conandata.yml b/recipes/mingw-builds/all/conandata.yml index 4f44c4f767124..64bed6552b8f3 100644 --- a/recipes/mingw-builds/all/conandata.yml +++ b/recipes/mingw-builds/all/conandata.yml @@ -1,4 +1,26 @@ sources: + "14.2.0": + mcf: + seh: + ucrt: + url: "https://github.com/niXman/mingw-builds-binaries/releases/download/14.2.0-rt_v12-rev0/x86_64-14.2.0-release-mcf-seh-ucrt-rt_v12-rev0.7z" + sha256: "80fa0d1dd58c9eed4ca9d21f6e5a83e3262978aed0a2b4994296a0ee5809503e" + posix: + seh: + ucrt: + url: "https://github.com/niXman/mingw-builds-binaries/releases/download/14.2.0-rt_v12-rev0/x86_64-14.2.0-release-posix-seh-ucrt-rt_v12-rev0.7z" + sha256: "0f1afc3b48f66dda68fbfb7b8b0f1d22b831396fbe1e3dea776745f32d930b24" + msvcrt: + url: "https://github.com/niXman/mingw-builds-binaries/releases/download/14.2.0-rt_v12-rev0/x86_64-14.2.0-release-posix-seh-msvcrt-rt_v12-rev0.7z" + sha256: "8afdb7e16253e3d235ea933cb40b2c14d0c9ba334aa668ab9e2eada472a0caef" + win32: + seh: + ucrt: + url: "https://github.com/niXman/mingw-builds-binaries/releases/download/14.2.0-rt_v12-rev0/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0.7z" + sha256: "d7270f76483aefe0c88f45284b374e27648dec59fb6f89ee2f5cb62f6a060082" + msvcrt: + url: "https://github.com/niXman/mingw-builds-binaries/releases/download/14.2.0-rt_v12-rev0/x86_64-14.2.0-release-win32-seh-msvcrt-rt_v12-rev0.7z" + sha256: "32bf3d1337c89f1f0326b42f49fea96fc7eb115af29b765a69bc69be546fd2a1" "13.2.0": mcf: seh: diff --git a/recipes/mingw-builds/config.yml b/recipes/mingw-builds/config.yml index 337b953faeff9..94b0463036209 100644 --- a/recipes/mingw-builds/config.yml +++ b/recipes/mingw-builds/config.yml @@ -1,4 +1,6 @@ versions: + "14.2.0": + folder: "all" "13.2.0": folder: "all" "12.2.0": diff --git a/recipes/mingw-w64/linux/conanfile.py b/recipes/mingw-w64/linux/conanfile.py index bd2c407d5a633..580e45942d0c5 100644 --- a/recipes/mingw-w64/linux/conanfile.py +++ b/recipes/mingw-w64/linux/conanfile.py @@ -118,7 +118,7 @@ def generate(self): # Add binutils to path. Required for gcc build. env = Environment() - env.append_path("PATH", os.path.join(self.package_folder, "bin")) + env.prepend_path("PATH", os.path.join(self.package_folder, "bin")) env.vars(self).save_script("conanbuild_package_bin_path") venv = VirtualBuildEnv(self) diff --git a/recipes/miniaudio/all/test_v1_package/CMakeLists.txt b/recipes/miniaudio/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/miniaudio/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/miniaudio/all/test_v1_package/conanfile.py b/recipes/miniaudio/all/test_v1_package/conanfile.py deleted file mode 100644 index 0f735b51a2642..0000000000000 --- a/recipes/miniaudio/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/minimp3/all/test_v1_package/CMakeLists.txt b/recipes/minimp3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 659f9200bc193..0000000000000 --- a/recipes/minimp3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGET) - -find_package(minimp3 REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE minimp3::minimp3) diff --git a/recipes/minimp3/all/test_v1_package/conanfile.py b/recipes/minimp3/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/minimp3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/minio-cpp/all/conandata.yml b/recipes/minio-cpp/all/conandata.yml new file mode 100644 index 0000000000000..22b7a6392d759 --- /dev/null +++ b/recipes/minio-cpp/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "0.3.0": + url: "https://github.com/minio/minio-cpp/archive/refs/tags/v0.3.0.tar.gz" + sha256: "da0f2f54bf169ad9e5e9368cc9143df4db056fc5c05bb55d8c1d9065e7211f7c" +patches: + "0.3.0": + - patch_file: "patches/0.3.0-0001-fix-fpic-cmake.patch" + patch_description: "Honor fPIC option in CMakeLists.txt" + patch_type: "conan" diff --git a/recipes/minio-cpp/all/conanfile.py b/recipes/minio-cpp/all/conanfile.py new file mode 100644 index 0000000000000..4a2fe5179d9aa --- /dev/null +++ b/recipes/minio-cpp/all/conanfile.py @@ -0,0 +1,106 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.53.0" + + +class MinioCppConan(ConanFile): + name = "minio-cpp" + description = "MinIO C++ Client SDK for Amazon S3 Compatible Cloud Storage" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/minio/minio-cpp" + topics = ("minio", "s3", "storage") + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "fPIC": [True, False], + } + default_options = { + "fPIC": 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 export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("curlpp/0.8.1.cci.20240530", transitive_headers=True) + self.requires("inih/58") + self.requires("nlohmann_json/3.11.3", transitive_headers=True) + self.requires("openssl/[>=1.1 <4]") + self.requires("pugixml/1.14") + self.requires("zlib/[>=1.2.11 <2]") + + 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 generate(self): + tc = CMakeToolchain(self) + tc.generate() + deps = CMakeDeps(self) + deps.set_property("curlpp", "cmake_file_name", "unofficial-curlpp") + deps.set_property("curlpp", "cmake_target_name", "unofficial::curlpp::curlpp") + deps.set_property("inih", "cmake_file_name", "unofficial-inih") + deps.set_property("inih", "cmake_target_name", "unofficial::inih::inireader") + deps.set_property("pugixml", "cmake_target_name", "pugixml") + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.libs = ["miniocpp"] + + self.cpp_info.set_property("cmake_file_name", "miniocpp") + self.cpp_info.set_property("cmake_target_name", "miniocpp::miniocpp") + + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("wsock32") + self.cpp_info.system_libs.append("ws2_32") diff --git a/recipes/minio-cpp/all/patches/0.3.0-0001-fix-fpic-cmake.patch b/recipes/minio-cpp/all/patches/0.3.0-0001-fix-fpic-cmake.patch new file mode 100644 index 0000000000000..5c39cf7208f2e --- /dev/null +++ b/recipes/minio-cpp/all/patches/0.3.0-0001-fix-fpic-cmake.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c2610db..52bbffa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -124,7 +124,6 @@ target_include_directories(miniocpp PUBLIC + ) + target_link_libraries(miniocpp PUBLIC ${MINIO_CPP_LIBS}) + set_target_properties(miniocpp PROPERTIES VERSION "${MINIO_CPP_VERSION_STRING}") +-set_target_properties(miniocpp PROPERTIES POSITION_INDEPENDENT_CODE ON) + + # Add a cmake alias - this is how users should use minio-cpp in their cmake projects. + add_library(miniocpp::miniocpp ALIAS miniocpp) diff --git a/recipes/minio-cpp/all/test_package/CMakeLists.txt b/recipes/minio-cpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..0c450d7efed7e --- /dev/null +++ b/recipes/minio-cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(miniocpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE miniocpp::miniocpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/minio-cpp/all/test_package/conanfile.py b/recipes/minio-cpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/minio-cpp/all/test_package/conanfile.py @@ -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 requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/minio-cpp/all/test_package/test_package.cpp b/recipes/minio-cpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..76e98c39d2ecf --- /dev/null +++ b/recipes/minio-cpp/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ +#include + +int main(int argc, char* argv[]) { + minio::s3::BaseUrl base_url("example.com"); + + minio::creds::StaticProvider provider("access_key", "secret_key"); + + minio::s3::Client client(base_url, &provider); +} diff --git a/recipes/minio-cpp/config.yml b/recipes/minio-cpp/config.yml new file mode 100644 index 0000000000000..d126790212e0c --- /dev/null +++ b/recipes/minio-cpp/config.yml @@ -0,0 +1,3 @@ +versions: + "0.3.0": + folder: all diff --git a/recipes/minisat/all/test_v1_package/CMakeLists.txt b/recipes/minisat/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/minisat/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/minisat/all/test_v1_package/conanfile.py b/recipes/minisat/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/minisat/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/minitrace/all/test_v1_package/CMakeLists.txt b/recipes/minitrace/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/minitrace/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/minitrace/all/test_v1_package/conanfile.py b/recipes/minitrace/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/minitrace/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/miniupnpc/all/test_v1_package/CMakeLists.txt b/recipes/miniupnpc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/miniupnpc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/miniupnpc/all/test_v1_package/conanfile.py b/recipes/miniupnpc/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/miniupnpc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/miniz/all/test_v1_package/CMakeLists.txt b/recipes/miniz/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de..0000000000000 --- a/recipes/miniz/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/miniz/all/test_v1_package/conanfile.py b/recipes/miniz/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/miniz/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/minizip/all/test_v1_package/CMakeLists.txt b/recipes/minizip/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/minizip/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/minizip/all/test_v1_package/conanfile.py b/recipes/minizip/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/minizip/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mio/all/test_v1_package/CMakeLists.txt b/recipes/mio/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/mio/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mio/all/test_v1_package/conanfile.py b/recipes/mio/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/mio/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mold/all/conandata.yml b/recipes/mold/all/conandata.yml index 2c5f346939e24..6ca00d3d20d1b 100644 --- a/recipes/mold/all/conandata.yml +++ b/recipes/mold/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.34.1": + url: "https://github.com/rui314/mold/archive/refs/tags/v2.34.1.tar.gz" + sha256: "a8cf638045b4a4b2697d0bcc77fd96eae93d54d57ad3021bf03b0333a727a59d" "2.33.0": url: "https://github.com/rui314/mold/archive/refs/tags/v2.33.0.tar.gz" sha256: "37b3aacbd9b6accf581b92ba1a98ca418672ae330b78fe56ae542c2dcb10a155" @@ -20,15 +23,3 @@ sources: "1.11.0": url: "https://github.com/rui314/mold/archive/refs/tags/v1.11.0.tar.gz" sha256: "99318eced81b09a77e4c657011076cc8ec3d4b6867bd324b8677974545bc4d6f" - "1.4.2": - url: "https://github.com/rui314/mold/archive/refs/tags/v1.4.2.tar.gz" - sha256: "47e6c48d20f49e5b47dfb8197dd9ffcb11a8833d614f7a03bd29741c658a69cd" - "1.5.1": - url: "https://github.com/rui314/mold/archive/refs/tags/v1.5.1.tar.gz" - sha256: "ec94aa74758f1bc199a732af95c6304ec98292b87f2f4548ce8436a7c5b054a1" - "1.7.1": - url: "https://github.com/rui314/mold/archive/refs/tags/v1.7.1.tar.gz" - sha256: "fa2558664db79a1e20f09162578632fa856b3cde966fbcb23084c352b827dfa9" - "1.8.0": - url: "https://github.com/rui314/mold/archive/refs/tags/v1.8.0.tar.gz" - sha256: "7210225478796c2528aae30320232a5a3b93a640292575a8c55aa2b140041b5c" diff --git a/recipes/mold/all/conanfile.py b/recipes/mold/all/conanfile.py index c604d73299327..141a8d5af4387 100644 --- a/recipes/mold/all/conanfile.py +++ b/recipes/mold/all/conanfile.py @@ -1,5 +1,6 @@ import os from conan import ConanFile +from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps from conan.tools.files import copy, get, rmdir from conan.errors import ConanInvalidConfiguration @@ -29,6 +30,20 @@ class MoldConan(ConanFile): "with_mimalloc": False, } + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "11", + "clang": "12", + "apple-clang": "14", + "Visual Studio": "16", + "msvc": "192", + } + def configure(self): if Version(self.version) < "2.0.0": self.license = "AGPL-3.0" @@ -51,6 +66,17 @@ def package_id(self): del self.info.settings.compiler def validate(self): + # mold has required C+20 since 1.4.1. However, C++20 features are used for the first time in 2.34.0. + if Version(self.version) >= "2.34.0": + # validate the minimum cpp standard supported. For C++ projects only + 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." + ) + # TODO most of these checks should run on validate_build, but the conan-center hooks are broken and fail the PR because they # think we're raising on the build() method if self.settings.build_type == "Debug": diff --git a/recipes/mold/all/test_v1_package/conanfile.py b/recipes/mold/all/test_v1_package/conanfile.py deleted file mode 100644 index ce72e1030b169..0000000000000 --- a/recipes/mold/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,10 +0,0 @@ -import os -from conans import ConanFile, tools -from conan.tools.build import cross_building - -class TestPackageConan(ConanFile): - settings = "os", "arch", "build_type", "compiler" - - def test(self): - if not cross_building(self): - self.run("mold -v", run_environment=True) diff --git a/recipes/mold/config.yml b/recipes/mold/config.yml index e7c236baf0d22..bd00ef151054f 100644 --- a/recipes/mold/config.yml +++ b/recipes/mold/config.yml @@ -1,4 +1,6 @@ versions: + "2.34.1": + folder: all "2.33.0": folder: all "2.32.1": @@ -13,11 +15,3 @@ versions: folder: all "1.11.0": folder: all - "1.4.2": - folder: all - "1.5.1": - folder: all - "1.7.1": - folder: all - "1.8.0": - folder: all diff --git a/recipes/moltenvk/all/conandata.yml b/recipes/moltenvk/all/conandata.yml index cc7f779fc2f3a..f00f13232e63f 100644 --- a/recipes/moltenvk/all/conandata.yml +++ b/recipes/moltenvk/all/conandata.yml @@ -11,68 +11,30 @@ sources: "1.1.11": url: "https://github.com/KhronosGroup/MoltenVK/archive/refs/tags/v1.1.11.tar.gz" sha256: "938ea0ba13c6538b0ee505ab391a3020f206ab9d29c869f20dd19318a4ee8997" - "1.1.10": - url: "https://github.com/KhronosGroup/MoltenVK/archive/refs/tags/v1.1.10.tar.gz" - sha256: "fac11c2501195c9ce042103685c7778e35484562e6c084963a22072dd0a602e0" - "1.1.9": - url: "https://github.com/KhronosGroup/MoltenVK/archive/refs/tags/v1.1.9.tar.gz" - sha256: "ea455a14decb85ec4bc66ffd2b963492afa7b53297b7064a11ca47ca8d2464ea" - "1.1.8": - url: "https://github.com/KhronosGroup/MoltenVK/archive/refs/tags/v1.1.8.tar.gz" - sha256: "f316c814d0cb6d60a0e8ad164d8cafa64010dee9dd41748b038b6b67fa40f08a" - "1.1.6": - url: "https://github.com/KhronosGroup/MoltenVK/archive/refs/tags/v1.1.6.tar.gz" - sha256: "b60df3ac93b943eb14377019445533b5c451fffd6b1df86187b1b9ac7d6dba6b" - "1.1.5": - url: "https://github.com/KhronosGroup/MoltenVK/archive/refs/tags/v1.1.5.tar.gz" - sha256: "2cdcb8dbf2acdcd8cbe70b109dadc05a901038c84970afbe4863e5e23f33deae" - "1.1.4": - url: "https://github.com/KhronosGroup/MoltenVK/archive/refs/tags/v1.1.4.tar.gz" - sha256: "f9bba6d3bf3648e7685c247cb6d126d62508af614bc549cedd5859a7da64967e" - "1.1.1": - url: "https://github.com/KhronosGroup/MoltenVK/archive/v1.1.1.tar.gz" - sha256: "cd1712c571d4155f4143c435c8551a5cb8cbb311ad7fff03595322ab971682c0" - "1.1.0": - url: "https://github.com/KhronosGroup/MoltenVK/archive/v1.1.0.tar.gz" - sha256: "0538fa1c23ddae495c7f82ccd0db90790a90b7017a258ca7575fbae8021f3058" patches: + "1.2.2": + - patch_file: "patches/1.2.2-0001-MVKSmallVector-Make-iterator-const-correct.patch" + patch_description: "Fix build errors in Xcode 15.3 beta" + patch_type: "portability" + patch_source: "https://github.com/KhronosGroup/MoltenVK/issues/2156" + "1.2.1": + - patch_file: "patches/1.2.2-0001-MVKSmallVector-Make-iterator-const-correct.patch" + patch_description: "Fix build errors in Xcode 15.3 beta" + patch_type: "portability" + patch_source: "https://github.com/KhronosGroup/MoltenVK/issues/2156" "1.2.0": - patch_file: "patches/1.2.0-0001-fix-version-number-icd-json.patch" patch_description: "Fix api_version in MoltenVK_icd.json" patch_type: "portability" patch_source: "https://github.com/KhronosGroup/MoltenVK/pull/1747" + - patch_file: "patches/1.2.2-0001-MVKSmallVector-Make-iterator-const-correct.patch" + patch_description: "Fix build errors in Xcode 15.3 beta" + patch_type: "portability" + patch_source: "https://github.com/KhronosGroup/MoltenVK/issues/2156" "1.1.11": - patch_file: "patches/1.1.11-0001-vulkan-alias-private-extern.patch" patch_description: "Fix vulkan alias symbols when vulkan symbols are hidden" patch_type: "portability" - "1.1.10": - - patch_file: "patches/1.1.8-0002-vulkan-alias-private-extern.patch" - patch_description: "Fix vulkan alias symbols when vulkan symbols are hidden" - patch_type: "portability" - "1.1.9": - - patch_file: "patches/1.1.8-0002-vulkan-alias-private-extern.patch" - patch_description: "Fix vulkan alias symbols when vulkan symbols are hidden" - patch_type: "portability" - "1.1.8": - - patch_file: "patches/1.1.8-0001-allow-c++11-std.patch" - patch_description: "Allow to compile with C++11" - patch_type: "portability" - - patch_file: "patches/1.1.8-0002-vulkan-alias-private-extern.patch" - patch_description: "Fix vulkan alias symbols when vulkan symbols are hidden" - patch_type: "portability" - "1.1.6": - - patch_file: "patches/1.1.6-0001-allow-c++11-std.patch" - patch_description: "Allow to compile with C++11" - patch_type: "portability" - "1.1.5": - - patch_file: "patches/1.1.5-0001-allow-c++11-std.patch" - patch_description: "Allow to compile with C++11" + - patch_file: "patches/1.1.11-fix-MVKSmallVector.patch" + patch_description: "Fix MVKSmallVector build errors for Xcode 15.3" patch_type: "portability" - "1.1.1": - - patch_file: "patches/1.1.0-0001-fix-spirv-cross-includes.patch" - patch_description: "Use spirv-cross include convention" - patch_type: "conan" - "1.1.0": - - patch_file: "patches/1.1.0-0001-fix-spirv-cross-includes.patch" - patch_description: "Use spirv-cross include convention" - patch_type: "conan" diff --git a/recipes/moltenvk/all/dependencies/dependencies-1.1.0.yml b/recipes/moltenvk/all/dependencies/dependencies-1.1.0.yml deleted file mode 100644 index d8c73818a1f7e..0000000000000 --- a/recipes/moltenvk/all/dependencies/dependencies-1.1.0.yml +++ /dev/null @@ -1,4 +0,0 @@ -glslang: "8.13.3559" -spirv-cross: "20200917" -spirv-tools: "2020.5" -vulkan-headers: "1.2.154.0" diff --git a/recipes/moltenvk/all/dependencies/dependencies-1.1.1.yml b/recipes/moltenvk/all/dependencies/dependencies-1.1.1.yml deleted file mode 100644 index 3dd4ee92f5875..0000000000000 --- a/recipes/moltenvk/all/dependencies/dependencies-1.1.1.yml +++ /dev/null @@ -1,4 +0,0 @@ -glslang: "8.13.3559" -spirv-cross: "20210115" -spirv-tools: "2020.5" -vulkan-headers: "1.2.162.0" diff --git a/recipes/moltenvk/all/dependencies/dependencies-1.1.10.yml b/recipes/moltenvk/all/dependencies/dependencies-1.1.10.yml deleted file mode 100644 index 056b9e003fb57..0000000000000 --- a/recipes/moltenvk/all/dependencies/dependencies-1.1.10.yml +++ /dev/null @@ -1,4 +0,0 @@ -glslang: "1.3.216.0" -spirv-cross: "1.3.216.0" -spirv-tools: "1.3.216.0" -vulkan-headers: "1.3.216.0" diff --git a/recipes/moltenvk/all/dependencies/dependencies-1.1.4.yml b/recipes/moltenvk/all/dependencies/dependencies-1.1.4.yml deleted file mode 100644 index b1f4555c6b74e..0000000000000 --- a/recipes/moltenvk/all/dependencies/dependencies-1.1.4.yml +++ /dev/null @@ -1,4 +0,0 @@ -glslang: "11.5.0" -spirv-cross: "cci.20210621" -spirv-tools: "2021.2" -vulkan-headers: "1.2.182" diff --git a/recipes/moltenvk/all/dependencies/dependencies-1.1.5.yml b/recipes/moltenvk/all/dependencies/dependencies-1.1.5.yml deleted file mode 100644 index f358857867637..0000000000000 --- a/recipes/moltenvk/all/dependencies/dependencies-1.1.5.yml +++ /dev/null @@ -1,4 +0,0 @@ -glslang: "11.6.0" -spirv-cross: "cci.20210823" -spirv-tools: "2021.3" -vulkan-headers: "1.2.189" diff --git a/recipes/moltenvk/all/dependencies/dependencies-1.1.6.yml b/recipes/moltenvk/all/dependencies/dependencies-1.1.6.yml deleted file mode 100644 index 50da3fc9cd75d..0000000000000 --- a/recipes/moltenvk/all/dependencies/dependencies-1.1.6.yml +++ /dev/null @@ -1,4 +0,0 @@ -glslang: "11.7.0" -spirv-cross: "cci.20211113" -spirv-tools: "2021.4" -vulkan-headers: "1.2.198.0" diff --git a/recipes/moltenvk/all/dependencies/dependencies-1.1.8.yml b/recipes/moltenvk/all/dependencies/dependencies-1.1.8.yml deleted file mode 100644 index a215ca2513dd4..0000000000000 --- a/recipes/moltenvk/all/dependencies/dependencies-1.1.8.yml +++ /dev/null @@ -1,4 +0,0 @@ -glslang: "1.3.204.0" -spirv-cross: "1.3.204.0" -spirv-tools: "1.3.204.0" -vulkan-headers: "1.3.204.1" diff --git a/recipes/moltenvk/all/dependencies/dependencies-1.1.9.yml b/recipes/moltenvk/all/dependencies/dependencies-1.1.9.yml deleted file mode 100644 index d62197eb0b30f..0000000000000 --- a/recipes/moltenvk/all/dependencies/dependencies-1.1.9.yml +++ /dev/null @@ -1,4 +0,0 @@ -glslang: "1.3.211.0" -spirv-cross: "1.3.211.0" -spirv-tools: "1.3.211.0" -vulkan-headers: "1.3.211.0" diff --git a/recipes/moltenvk/all/dependencies/dependencies-1.2.0.yml b/recipes/moltenvk/all/dependencies/dependencies-1.2.0.yml index 33e0cb279be8b..5d099aa6f64ae 100644 --- a/recipes/moltenvk/all/dependencies/dependencies-1.2.0.yml +++ b/recipes/moltenvk/all/dependencies/dependencies-1.2.0.yml @@ -1,4 +1,4 @@ -glslang: "1.3.231.1" -spirv-cross: "1.3.231.1" -spirv-tools: "1.3.231.1" -vulkan-headers: "1.3.231.1" +glslang: "1.3.239.0" +spirv-cross: "1.3.239.0" +spirv-tools: "1.3.239.0" +vulkan-headers: "1.3.239.0" diff --git a/recipes/moltenvk/all/dependencies/dependencies-1.2.1.yml b/recipes/moltenvk/all/dependencies/dependencies-1.2.1.yml index ba333592e0199..5d099aa6f64ae 100644 --- a/recipes/moltenvk/all/dependencies/dependencies-1.2.1.yml +++ b/recipes/moltenvk/all/dependencies/dependencies-1.2.1.yml @@ -1,4 +1,4 @@ -glslang: "1.3.236.0" -spirv-cross: "1.3.236.0" -spirv-tools: "1.3.236.0" -vulkan-headers: "1.3.236.0" +glslang: "1.3.239.0" +spirv-cross: "1.3.239.0" +spirv-tools: "1.3.239.0" +vulkan-headers: "1.3.239.0" diff --git a/recipes/moltenvk/all/patches/1.1.0-0001-fix-spirv-cross-includes.patch b/recipes/moltenvk/all/patches/1.1.0-0001-fix-spirv-cross-includes.patch deleted file mode 100644 index 5280ed8ddc361..0000000000000 --- a/recipes/moltenvk/all/patches/1.1.0-0001-fix-spirv-cross-includes.patch +++ /dev/null @@ -1,54 +0,0 @@ -see https://github.com/KhronosGroup/MoltenVK/pull/1287 - ---- a/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.h -+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.h -@@ -22,7 +22,7 @@ - #include "MVKEnvironment.h" - #include "MVKOSExtensions.h" - #include "MVKBaseObject.h" --#include -+#include - #include - - #import ---- a/MoltenVKShaderConverter/Common/SPIRVSupport.cpp -+++ b/MoltenVKShaderConverter/Common/SPIRVSupport.cpp -@@ -18,7 +18,7 @@ - - #include "SPIRVSupport.h" - #include "MVKStrings.h" --#include -+#include - #include - - #import ---- a/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVReflection.h -+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVReflection.h -@@ -19,10 +19,10 @@ - #ifndef __SPIRVReflection_h_ - #define __SPIRVReflection_h_ 1 - --#include --#include --#include --#include -+#include -+#include -+#include -+#include - #include - #include - ---- a/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVToMSLConverter.h -+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVToMSLConverter.h -@@ -19,8 +19,8 @@ - #ifndef __SPIRVToMSLConverter_h_ - #define __SPIRVToMSLConverter_h_ 1 - --#include --#include -+#include -+#include - #include - #include - #include diff --git a/recipes/moltenvk/all/patches/1.1.11-fix-MVKSmallVector.patch b/recipes/moltenvk/all/patches/1.1.11-fix-MVKSmallVector.patch new file mode 100644 index 0000000000000..6a11e5548351f --- /dev/null +++ b/recipes/moltenvk/all/patches/1.1.11-fix-MVKSmallVector.patch @@ -0,0 +1,48 @@ +diff --git a/MoltenVK/MoltenVK/Utility/MVKSmallVector.h b/MoltenVK/MoltenVK/Utility/MVKSmallVector.h +index ca19169..39a46dc 100755 +--- a/MoltenVK/MoltenVK/Utility/MVKSmallVector.h ++++ b/MoltenVK/MoltenVK/Utility/MVKSmallVector.h +@@ -85,9 +85,9 @@ public: + return *this; + } + +- Type *operator->() { return &vector->alc.ptr[index]; } +- Type &operator*() { return vector->alc.ptr[index]; } +- operator Type*() { return &vector->alc.ptr[index]; } ++ Type *operator->() const { return &vector->alc.ptr[index]; } ++ Type &operator*() const { return vector->alc.ptr[index]; } ++ operator Type*() const { return &vector->alc.ptr[index]; } + + bool operator==( const iterator &it ) const { return vector == it.vector && index == it.index; } + bool operator!=( const iterator &it ) const { return vector != it.vector || index != it.index; } +@@ -97,20 +97,19 @@ public: + iterator& operator--() { --index; return *this; } + iterator operator--( int ) { auto t = *this; --index; return t; } + +- iterator operator+ (const diff_type n) { return iterator( index + n, *vector ); } +- iterator& operator+= (const diff_type n) { index += n; return *this; } +- iterator operator- (const diff_type n) { return iterator( index - n, *vector ); } +- iterator& operator-= (const diff_type n) { index -= n; return *this; } ++ iterator operator+ (const diff_type n) const { return iterator( index + n, *vector ); } ++ iterator& operator+= (const diff_type n) { index += n; return *this; } ++ iterator operator- (const diff_type n) const { return iterator( index - n, *vector ); } ++ iterator& operator-= (const diff_type n) { index -= n; return *this; } + +- diff_type operator- (const iterator& it) { return index - it.index; } ++ diff_type operator- (const iterator& it) const { return index - it.index; } + +- bool operator< (const iterator& it) { return index < it.index; } +- bool operator<= (const iterator& it) { return index <= it.index; } +- bool operator> (const iterator& it) { return index > it.index; } +- bool operator>= (const iterator& it) { return index >= it.index; } ++ bool operator< (const iterator& it) const { return index < it.index; } ++ bool operator<= (const iterator& it) const { return index <= it.index; } ++ bool operator> (const iterator& it) const { return index > it.index; } ++ bool operator>= (const iterator& it) const { return index >= it.index; } + +- const Type &operator[]( const diff_type i ) const { return vector->alc.ptr[index + i]; } +- Type &operator[]( const diff_type i ) { return vector->alc.ptr[index + i]; } ++ Type &operator[]( const diff_type i ) const { return vector->alc.ptr[index + i]; } + + bool is_valid() const { return index < vector->alc.size(); } + size_t get_position() const { return index; } diff --git a/recipes/moltenvk/all/patches/1.1.5-0001-allow-c++11-std.patch b/recipes/moltenvk/all/patches/1.1.5-0001-allow-c++11-std.patch deleted file mode 100644 index 283e7edc667aa..0000000000000 --- a/recipes/moltenvk/all/patches/1.1.5-0001-allow-c++11-std.patch +++ /dev/null @@ -1,16 +0,0 @@ -upstream issue: https://github.com/KhronosGroup/MoltenVK/issues/1474 - ---- a/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm -+++ b/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm -@@ -769,7 +769,10 @@ void MVKCommandEncoder::markTimestamp(MVKTimestampQueryPool* pQueryPool, uint32_ - if (sampPts) { - for (uint32_t qOfst = 0; qOfst < queryCount; qOfst++) { - if (mvkIsAnyFlagEnabled(sampPts, MVK_COUNTER_SAMPLING_AT_PIPELINE_STAGE)) { -- _timestampStageCounterQueries.push_back({ pQueryPool, query + qOfst }); -+ GPUCounterQuery timestampCounterQuery = {}; -+ timestampCounterQuery.queryPool = pQueryPool; -+ timestampCounterQuery.query = query + qOfst; -+ _timestampStageCounterQueries.push_back(timestampCounterQuery); - } else { - encodeGPUCounterSample(pQueryPool, query + qOfst, sampPts); - } diff --git a/recipes/moltenvk/all/patches/1.1.6-0001-allow-c++11-std.patch b/recipes/moltenvk/all/patches/1.1.6-0001-allow-c++11-std.patch deleted file mode 100644 index 65bfadc2ebffe..0000000000000 --- a/recipes/moltenvk/all/patches/1.1.6-0001-allow-c++11-std.patch +++ /dev/null @@ -1,16 +0,0 @@ -upstream issue: https://github.com/KhronosGroup/MoltenVK/issues/1474 - ---- a/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm -+++ b/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm -@@ -772,7 +772,10 @@ void MVKCommandEncoder::markTimestamp(MVKTimestampQueryPool* pQueryPool, uint32_ - MVKCounterSamplingFlags sampPts = _device->_pMetalFeatures->counterSamplingPoints; - for (uint32_t qOfst = 0; qOfst < queryCount; qOfst++) { - if (mvkIsAnyFlagEnabled(sampPts, MVK_COUNTER_SAMPLING_AT_PIPELINE_STAGE)) { -- _timestampStageCounterQueries.push_back({ pQueryPool, query + qOfst }); -+ GPUCounterQuery timestampCounterQuery = {}; -+ timestampCounterQuery.queryPool = pQueryPool; -+ timestampCounterQuery.query = query + qOfst; -+ _timestampStageCounterQueries.push_back(timestampCounterQuery); - } else { - encodeGPUCounterSample(pQueryPool, query + qOfst, sampPts); - } diff --git a/recipes/moltenvk/all/patches/1.1.8-0001-allow-c++11-std.patch b/recipes/moltenvk/all/patches/1.1.8-0001-allow-c++11-std.patch deleted file mode 100644 index 420e890ccf5f4..0000000000000 --- a/recipes/moltenvk/all/patches/1.1.8-0001-allow-c++11-std.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm -+++ b/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm -@@ -774,7 +774,10 @@ void MVKCommandEncoder::markTimestamp(MVKTimestampQueryPool* pQueryPool, uint32_ - MVKCounterSamplingFlags sampPts = _device->_pMetalFeatures->counterSamplingPoints; - for (uint32_t qOfst = 0; qOfst < queryCount; qOfst++) { - if (mvkIsAnyFlagEnabled(sampPts, MVK_COUNTER_SAMPLING_AT_PIPELINE_STAGE)) { -- _timestampStageCounterQueries.push_back({ pQueryPool, query + qOfst }); -+ GPUCounterQuery timestampCounterQuery = {}; -+ timestampCounterQuery.queryPool = pQueryPool; -+ timestampCounterQuery.query = query + qOfst; -+ _timestampStageCounterQueries.push_back(timestampCounterQuery); - } else { - encodeGPUCounterSample(pQueryPool, query + qOfst, sampPts); - } diff --git a/recipes/moltenvk/all/patches/1.1.8-0002-vulkan-alias-private-extern.patch b/recipes/moltenvk/all/patches/1.1.8-0002-vulkan-alias-private-extern.patch deleted file mode 100644 index e488faca8335a..0000000000000 --- a/recipes/moltenvk/all/patches/1.1.8-0002-vulkan-alias-private-extern.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/Common/MVKCommonEnvironment.h -+++ b/Common/MVKCommonEnvironment.h -@@ -104,6 +104,9 @@ extern "C" { - /** Directive to make a public alias of another symbol. */ - #define MVK_PUBLIC_ALIAS(ALIAS, TARGET) asm(".globl _" #ALIAS "\n\t_" #ALIAS " = _" #TARGET) - -+/** Directive to make a private extern alias of another symbol. */ -+#define MVK_PRIVATE_EXTERN_ALIAS(ALIAS, TARGET) asm(".private_extern _" #ALIAS "\n\t_" #ALIAS " = _" #TARGET) -+ - /** - * Directives to hide public symbols from the Vulkan API, to avoid library linking - * conflicts when bound to a Vulkan Loader that also exports identical symbols. -@@ -113,7 +116,7 @@ extern "C" { - #endif - #if MVK_HIDE_VULKAN_SYMBOLS - # define MVK_PUBLIC_VULKAN_SYMBOL --# define MVK_PUBLIC_VULKAN_ALIAS(ALIAS, TARGET) -+# define MVK_PUBLIC_VULKAN_ALIAS(ALIAS, TARGET) MVK_PRIVATE_EXTERN_ALIAS(ALIAS, TARGET) - #else - # define MVK_PUBLIC_VULKAN_SYMBOL MVK_PUBLIC_SYMBOL - # define MVK_PUBLIC_VULKAN_ALIAS(ALIAS, TARGET) MVK_PUBLIC_ALIAS(ALIAS, TARGET) diff --git a/recipes/moltenvk/all/patches/1.2.2-0001-MVKSmallVector-Make-iterator-const-correct.patch b/recipes/moltenvk/all/patches/1.2.2-0001-MVKSmallVector-Make-iterator-const-correct.patch new file mode 100644 index 0000000000000..77fa33557e448 --- /dev/null +++ b/recipes/moltenvk/all/patches/1.2.2-0001-MVKSmallVector-Make-iterator-const-correct.patch @@ -0,0 +1,51 @@ +see https://github.com/KhronosGroup/MoltenVK/pull/2157 + +diff --git a/MoltenVK/MoltenVK/Utility/MVKSmallVector.h b/MoltenVK/MoltenVK/Utility/MVKSmallVector.h +index 93bcb7fc..9649f2b2 100755 +--- a/MoltenVK/MoltenVK/Utility/MVKSmallVector.h ++++ b/MoltenVK/MoltenVK/Utility/MVKSmallVector.h +@@ -86,9 +86,9 @@ public: + return *this; + } + +- Type *operator->() { return &vector->alc.ptr[index]; } +- Type &operator*() { return vector->alc.ptr[index]; } +- operator Type*() { return &vector->alc.ptr[index]; } ++ Type *operator->() const { return &vector->alc.ptr[index]; } ++ Type &operator*() const { return vector->alc.ptr[index]; } ++ operator Type*() const { return &vector->alc.ptr[index]; } + + bool operator==( const iterator &it ) const { return vector == it.vector && index == it.index; } + bool operator!=( const iterator &it ) const { return vector != it.vector || index != it.index; } +@@ -98,20 +98,19 @@ public: + iterator& operator--() { --index; return *this; } + iterator operator--( int ) { auto t = *this; --index; return t; } + +- iterator operator+ (const diff_type n) { return iterator( index + n, *vector ); } +- iterator& operator+= (const diff_type n) { index += n; return *this; } +- iterator operator- (const diff_type n) { return iterator( index - n, *vector ); } +- iterator& operator-= (const diff_type n) { index -= n; return *this; } ++ iterator operator+ (const diff_type n) const { return iterator( index + n, *vector ); } ++ iterator& operator+= (const diff_type n) { index += n; return *this; } ++ iterator operator- (const diff_type n) const { return iterator( index - n, *vector ); } ++ iterator& operator-= (const diff_type n) { index -= n; return *this; } + +- diff_type operator- (const iterator& it) { return index - it.index; } ++ diff_type operator- (const iterator& it) const { return index - it.index; } + +- bool operator< (const iterator& it) { return index < it.index; } +- bool operator<= (const iterator& it) { return index <= it.index; } +- bool operator> (const iterator& it) { return index > it.index; } +- bool operator>= (const iterator& it) { return index >= it.index; } ++ bool operator< (const iterator& it) const { return index < it.index; } ++ bool operator<= (const iterator& it) const { return index <= it.index; } ++ bool operator> (const iterator& it) const { return index > it.index; } ++ bool operator>= (const iterator& it) const { return index >= it.index; } + +- const Type &operator[]( const diff_type i ) const { return vector->alc.ptr[index + i]; } +- Type &operator[]( const diff_type i ) { return vector->alc.ptr[index + i]; } ++ Type &operator[]( const diff_type i ) const { return vector->alc.ptr[index + i]; } + + bool is_valid() const { return index < vector->alc.size(); } + size_t get_position() const { return index; } +-- diff --git a/recipes/moltenvk/config.yml b/recipes/moltenvk/config.yml index e2b738bf7f2a6..e368ebecaad4f 100644 --- a/recipes/moltenvk/config.yml +++ b/recipes/moltenvk/config.yml @@ -7,19 +7,3 @@ versions: folder: all "1.1.11": folder: all - "1.1.10": - folder: all - "1.1.9": - folder: all - "1.1.8": - folder: all - "1.1.6": - folder: all - "1.1.5": - folder: all - "1.1.4": - folder: all - "1.1.1": - folder: all - "1.1.0": - folder: all diff --git a/recipes/mongo-c-driver/all/conandata.yml b/recipes/mongo-c-driver/all/conandata.yml index 3db5624e97ef2..2decfe8254982 100644 --- a/recipes/mongo-c-driver/all/conandata.yml +++ b/recipes/mongo-c-driver/all/conandata.yml @@ -1,34 +1,19 @@ sources: - "1.28.0": - url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.28.0.tar.gz" - sha256: "fc8ef2d081d9388b9016d74826f4a229d213a2813708d26063d771ab12e457cb" + "1.29.0": + url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.29.0/mongo-c-driver-1.29.0.tar.gz" + sha256: "e3dbe86e1f40e100344c48a4c0e39d2da360d2b12a54f16031fa8f90ff16fe5e" + "1.28.1": + url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.28.1.tar.gz" + sha256: "249fd66d8d12aac2aec7dea1456e1bf24908c87971016c391a1a82a636029a87" "1.27.6": url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.6.tar.gz" sha256: "7dee166dd106e3074582dd107f62815aa29311520149cda52efb69590b2cae7a" - "1.27.5": - url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.5.tar.gz" - sha256: "b90dab0856448c5919c1e04fe8d5a4d80d57779ccf8cf08e3981314a5961973d" - "1.27.4": - url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.4.tar.gz" - sha256: "37898440ebfd6fedfdb9cbbff7b0c5813f7e157b584a881538f124d086f880df" - "1.27.3": - url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.3.tar.gz" - sha256: "2593048270f8426c3dc60f0a3c22c3da92ae00a3ef284da7e662a1348ca1685c" - "1.27.2": - url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.2.tar.gz" - sha256: "a53010803e2df097a2ea756be6ece34c8f52cda2c18e6ea21115097b75f5d4bf" - "1.27.1": - url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.27.1.tar.gz" - sha256: "cc97407b16da54ba9b27029237b9a7a13651ada04da15e3b5dcd8fee8db20eed" "1.26.2": url: "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.26.2.tar.gz" sha256: "7084c488a758bf226cc0b3d500e7e001f0e2e37391cbeecd341050a9a899857d" "1.24.3": url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.24.3/mongo-c-driver-1.24.3.tar.gz" sha256: "cc0ad1006447ded21bbefecf57d6fef61afe6f0d56a4e28da73805d50fdb81b5" - "1.23.5": - url: "https://github.com/mongodb/mongo-c-driver/releases/download/1.23.5/mongo-c-driver-1.23.5.tar.gz" - sha256: "260dc2207881ccbe7b79b1fa6b3ba84ab9be94eb93d4beefbbe8a6cb562947ed" patches: "1.24.3": - patch_file: "patches/1.24.1-0001-disable-shared-when-static.patch" @@ -37,10 +22,3 @@ patches: - patch_file: "patches/1.24.1-0002-fix-uninitialized-warning.patch" patch_description: "fix uninitialized variable warning" patch_type: "portability" - "1.23.5": - - patch_file: "patches/1.23.2-0001-disable-shared-when-static.patch" - patch_description: "separate static and shared builds" - patch_type: "conan" - - patch_file: "patches/1.22.0-0002-fix-uninitialized-warning.patch" - patch_description: "fix uninitialized variable warning" - patch_type: "portability" diff --git a/recipes/mongo-c-driver/all/patches/1.22.0-0002-fix-uninitialized-warning.patch b/recipes/mongo-c-driver/all/patches/1.22.0-0002-fix-uninitialized-warning.patch deleted file mode 100644 index 3c24ab717c0d5..0000000000000 --- a/recipes/mongo-c-driver/all/patches/1.22.0-0002-fix-uninitialized-warning.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/libbson/src/bson/bson-iter.c b/src/libbson/src/bson/bson-iter.c -index 7b4630f..ee70f12 100644 ---- a/src/libbson/src/bson/bson-iter.c -+++ b/src/libbson/src/bson/bson-iter.c -@@ -2141,7 +2141,7 @@ bson_iter_visit_all (bson_iter_t *iter, /* INOUT */ - - if (iter->err_off) { - if (unsupported && visitor->visit_unsupported_type && -- bson_utf8_validate (key, strlen (key), false)) { -+ key != NULL && bson_utf8_validate (key, strlen (key), false)) { - visitor->visit_unsupported_type (iter, key, bson_type, data); - return false; - } diff --git a/recipes/mongo-c-driver/all/patches/1.23.2-0001-disable-shared-when-static.patch b/recipes/mongo-c-driver/all/patches/1.23.2-0001-disable-shared-when-static.patch deleted file mode 100644 index 1b39914f6b921..0000000000000 --- a/recipes/mongo-c-driver/all/patches/1.23.2-0001-disable-shared-when-static.patch +++ /dev/null @@ -1,82 +0,0 @@ -diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt -index d6df66f..dccdfee 100644 ---- a/src/libbson/CMakeLists.txt -+++ b/src/libbson/CMakeLists.txt -@@ -209,6 +209,7 @@ set (HEADERS_FORWARDING - ${PROJECT_SOURCE_DIR}/src/bson/forwarding/bson.h - ) - -+if (NOT MONGOC_ENABLE_STATIC_BUILD) - add_library (bson_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) - set (CMAKE_CXX_VISIBILITY_PRESET hidden) - target_compile_definitions (bson_shared -@@ -275,6 +276,7 @@ if (WIN32) - # must be handled specially since we can't resolve them - set (BSON_SYSTEM_LIBRARIES ${BSON_SYSTEM_LIBRARIES} ws2_32) - endif () -+endif() - - if (MONGOC_ENABLE_STATIC_BUILD) - add_library (bson_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) -@@ -349,7 +351,7 @@ set (BSON_HEADER_INSTALL_DIR - ) - - if (MONGOC_ENABLE_STATIC_INSTALL) -- set (TARGETS_TO_INSTALL bson_shared bson_static) -+ set (TARGETS_TO_INSTALL bson_static) - else () - set (TARGETS_TO_INSTALL bson_shared) - endif () -diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt -index 39f66ac..3f4eefc 100644 ---- a/src/libmongoc/CMakeLists.txt -+++ b/src/libmongoc/CMakeLists.txt -@@ -758,6 +758,7 @@ if (MONGOC_ENABLE_MONGODB_AWS_AUTH) - endif() - endif () - -+if (NOT MONGOC_ENABLE_STATIC_BUILD) - add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) - set_target_properties (mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden) - target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES}) -@@ -795,6 +796,7 @@ target_include_directories ( - - set_target_properties (mongoc_shared PROPERTIES VERSION 0.0.0 SOVERSION 0) - set_target_properties (mongoc_shared PROPERTIES OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME}-${MONGOC_API_VERSION}") -+endif() - - if (MONGOC_ENABLE_STATIC_BUILD) - add_library (mongoc_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) -@@ -835,6 +837,7 @@ if (MONGOC_ENABLE_STATIC_BUILD) - set_target_properties (mongoc_static PROPERTIES OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME}-static-${MONGOC_API_VERSION}") - endif () - -+if (NOT MONGOC_ENABLE_STATIC_BUILD) - if (ENABLE_APPLE_FRAMEWORK) - set_target_properties (mongoc_shared PROPERTIES - FRAMEWORK TRUE -@@ -845,9 +848,15 @@ if (ENABLE_APPLE_FRAMEWORK) - PUBLIC_HEADER "${HEADERS}" - ) - endif () -+endif() - - add_executable (mongoc-stat ${PROJECT_SOURCE_DIR}/../../src/tools/mongoc-stat.c) -+if (NOT MONGOC_ENABLE_STATIC_BUILD) - target_link_libraries (mongoc-stat mongoc_shared ${LIBRARIES}) -+else () -+target_link_libraries (mongoc-stat mongoc_static ${STATIC_LIBRARIES}) -+endif () -+ - - # mongoc-stat works if shared memory performance counters are enabled. - if (ENABLE_SHM_COUNTERS STREQUAL "ON") -@@ -1128,7 +1137,7 @@ file (COPY ${PROJECT_SOURCE_DIR}/tests/x509gen DESTINATION ${PROJECT_BINARY_DIR} - file (COPY ${PROJECT_SOURCE_DIR}/tests/release_files DESTINATION ${PROJECT_BINARY_DIR}/tests) - - if (MONGOC_ENABLE_STATIC_INSTALL) -- set (TARGETS_TO_INSTALL mongoc_shared mongoc_static) -+ set (TARGETS_TO_INSTALL mongoc_static) - else () - set (TARGETS_TO_INSTALL mongoc_shared) - endif () diff --git a/recipes/mongo-c-driver/all/test_v1_package/CMakeLists.txt b/recipes/mongo-c-driver/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/mongo-c-driver/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mongo-c-driver/all/test_v1_package/conanfile.py b/recipes/mongo-c-driver/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/mongo-c-driver/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mongo-c-driver/config.yml b/recipes/mongo-c-driver/config.yml index 257fff6f0fec6..4bae708190ef5 100644 --- a/recipes/mongo-c-driver/config.yml +++ b/recipes/mongo-c-driver/config.yml @@ -1,21 +1,11 @@ versions: - "1.28.0": + "1.29.0": folder: all - "1.27.6": - folder: all - "1.27.5": - folder: all - "1.27.4": - folder: all - "1.27.3": + "1.28.1": folder: all - "1.27.2": - folder: all - "1.27.1": + "1.27.6": folder: all "1.26.2": folder: all "1.24.3": folder: all - "1.23.5": - folder: all diff --git a/recipes/mongo-cxx-driver/all/conandata.yml b/recipes/mongo-cxx-driver/all/conandata.yml index 1e5afccbe9b49..cb586c6f2a1f1 100644 --- a/recipes/mongo-cxx-driver/all/conandata.yml +++ b/recipes/mongo-cxx-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.11.0": + url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.11.0/mongo-cxx-driver-r3.11.0.tar.gz" + sha256: "cb4263229d769ec44aa66563e2dd2d70c6384c85d93840a52fe26b15436c54f1" "3.10.2": url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.10.2/mongo-cxx-driver-r3.10.2.tar.gz" sha256: "52b99b2866019b5ea25d15c5a39e2a88c70fe1259c40f1091deff8bfae0194be" @@ -20,16 +23,14 @@ sources: "3.6.7": url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.6.7/mongo-cxx-driver-r3.6.7.tar.gz" sha256: "2c58005d4fe46f1973352fba821f7bb37e818cefc922377ce979a9fd1bff38ac" - "3.6.6": - url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.6.6/mongo-cxx-driver-r3.6.6.tar.gz" - sha256: "d5906b9e308a8a353a2ef92b699c9b27ae28ec6b34fdda94e15d2981b27e64ca" - "3.6.2": - url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.6.2/mongo-cxx-driver-r3.6.2.tar.gz" - sha256: "24325dce74723f7632da76d0eeb5f5020828498cc5bc1a624c6d7117efb2b7cf" - "3.6.1": - url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.6.1/mongo-cxx-driver-r3.6.1.tar.gz" - sha256: "83523e897ef18f7ce05d85d1632dd4ba486c264a1b89c09020163ab29e11eab7" patches: + "3.11.0": + - patch_file: "patches/3.10.2-0001-dirs.patch" + patch_description: "disable documentation features, fix directories" + patch_type: "conan" + - patch_file: "patches/3.10.1-0002-remove-abi-suffixes.patch" + patch_description: "remove abi suffixes for MSVC" + patch_type: "conan" "3.10.2": - patch_file: "patches/3.10.2-0001-dirs.patch" patch_description: "disable documentation features, fix directories" @@ -79,24 +80,3 @@ patches: - patch_file: "patches/poly_use_std_define.patch" patch_description: "use poly macro instead __cplusplus" patch_type: "portability" - "3.6.6": - - patch_file: "patches/3.6.x-dirs_and_tests.patch" - patch_description: "disable test and documentation features, fix directories" - patch_type: "conan" - - patch_file: "patches/poly_use_std_define.patch" - patch_description: "use poly macro instead __cplusplus" - patch_type: "portability" - "3.6.2": - - patch_file: "patches/3.6.x-dirs_and_tests.patch" - patch_description: "disable test and documentation features, fix directories" - patch_type: "conan" - - patch_file: "patches/poly_use_std_define.patch" - patch_description: "use poly macro instead __cplusplus" - patch_type: "portability" - "3.6.1": - - patch_file: "patches/3.6.x-dirs_and_tests.patch" - patch_description: "disable test and documentation features, fix directories" - patch_type: "conan" - - patch_file: "patches/poly_use_std_define.patch" - patch_description: "use poly macro instead __cplusplus" - patch_type: "portability" diff --git a/recipes/mongo-cxx-driver/all/conanfile.py b/recipes/mongo-cxx-driver/all/conanfile.py index f123921c3c4aa..92bb53ee8c6ee 100644 --- a/recipes/mongo-cxx-driver/all/conanfile.py +++ b/recipes/mongo-cxx-driver/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("mongo-c-driver/1.27.1") + self.requires("mongo-c-driver/1.28.0") if self.options.polyfill == "boost": self.requires("boost/1.82.0", transitive_headers=True) diff --git a/recipes/mongo-cxx-driver/config.yml b/recipes/mongo-cxx-driver/config.yml index 488b018eaeca3..9198272a479a9 100644 --- a/recipes/mongo-cxx-driver/config.yml +++ b/recipes/mongo-cxx-driver/config.yml @@ -1,8 +1,11 @@ versions: + "3.11.0": + folder: all "3.10.2": folder: all "3.10.1": folder: all + # keep 3.8.1 for gdal "3.8.1": folder: all "3.8.0": @@ -11,11 +14,6 @@ versions: folder: all "3.7.0": folder: all + # keep 3.6.7 for gdal "3.6.7": folder: all - "3.6.6": - folder: all - "3.6.2": - folder: all - "3.6.1": - folder: all diff --git a/recipes/morton-nd/all/test_v1_package/CMakeLists.txt b/recipes/morton-nd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/morton-nd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/morton-nd/all/test_v1_package/conanfile.py b/recipes/morton-nd/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/morton-nd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mosquitto/1.x/test_v1_package/CMakeLists.txt b/recipes/mosquitto/1.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/mosquitto/1.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mosquitto/1.x/test_v1_package/conanfile.py b/recipes/mosquitto/1.x/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/mosquitto/1.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mosquitto/2.x/test_v1_package/CMakeLists.txt b/recipes/mosquitto/2.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index f113bcd8a8b0e..0000000000000 --- a/recipes/mosquitto/2.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mosquitto/2.x/test_v1_package/conanfile.py b/recipes/mosquitto/2.x/test_v1_package/conanfile.py deleted file mode 100644 index 9963f7a997273..0000000000000 --- a/recipes/mosquitto/2.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mp-units/0.8.0/test_v1_package/CMakeLists.txt b/recipes/mp-units/0.8.0/test_v1_package/CMakeLists.txt deleted file mode 100644 index 07f3e7cd91e8a..0000000000000 --- a/recipes/mp-units/0.8.0/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package - LANGUAGES CXX -) - -find_package(mp-units CONFIG REQUIRED) - -add_executable(test_package test_package.cpp) -target_link_libraries(test_package PRIVATE mp-units::mp-units) -target_compile_features(test_package PUBLIC cxx_std_20) diff --git a/recipes/mp-units/0.8.0/test_v1_package/conanfile.py b/recipes/mp-units/0.8.0/test_v1_package/conanfile.py deleted file mode 100644 index 048e0f9557d47..0000000000000 --- a/recipes/mp-units/0.8.0/test_v1_package/conanfile.py +++ /dev/null @@ -1,25 +0,0 @@ -from conans import ConanFile, CMake, tools -from conans.tools import Version -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package_multi" - - # TODO remove when https://github.com/conan-io/conan/issues/7680 is solved (or VS2019 is updated to at least 16.9) - def _skip_check(self): - return self.settings.compiler == "Visual Studio" and Version(self.settings.compiler.version) <= "16" - - def build(self): - if self._skip_check(): - return - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if self._skip_check(): - return - if not tools.cross_building(self.settings): - self.run("test_package", run_environment=True) diff --git a/recipes/mp-units/0.8.0/test_v1_package/test_package.cpp b/recipes/mp-units/0.8.0/test_v1_package/test_package.cpp deleted file mode 100644 index cd9ed5c7a0227..0000000000000 --- a/recipes/mp-units/0.8.0/test_v1_package/test_package.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include -#include -#include -#include -#include - -using namespace units; - -template -constexpr auto avg_speed(Length d, Time t) -{ - return d / t; -} - -int main() -{ - using namespace units::isq::si::references; - std::cout << "Average speed = " << avg_speed(240 * km, 2 * h) << '\n'; -} diff --git a/recipes/mp-units/2.0.0/test_v1_package/CMakeLists.txt b/recipes/mp-units/2.0.0/test_v1_package/CMakeLists.txt deleted file mode 100644 index 07f3e7cd91e8a..0000000000000 --- a/recipes/mp-units/2.0.0/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package - LANGUAGES CXX -) - -find_package(mp-units CONFIG REQUIRED) - -add_executable(test_package test_package.cpp) -target_link_libraries(test_package PRIVATE mp-units::mp-units) -target_compile_features(test_package PUBLIC cxx_std_20) diff --git a/recipes/mp-units/2.0.0/test_v1_package/conanfile.py b/recipes/mp-units/2.0.0/test_v1_package/conanfile.py deleted file mode 100644 index 048e0f9557d47..0000000000000 --- a/recipes/mp-units/2.0.0/test_v1_package/conanfile.py +++ /dev/null @@ -1,25 +0,0 @@ -from conans import ConanFile, CMake, tools -from conans.tools import Version -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package_multi" - - # TODO remove when https://github.com/conan-io/conan/issues/7680 is solved (or VS2019 is updated to at least 16.9) - def _skip_check(self): - return self.settings.compiler == "Visual Studio" and Version(self.settings.compiler.version) <= "16" - - def build(self): - if self._skip_check(): - return - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if self._skip_check(): - return - if not tools.cross_building(self.settings): - self.run("test_package", run_environment=True) diff --git a/recipes/mp-units/2.0.0/test_v1_package/test_package.cpp b/recipes/mp-units/2.0.0/test_v1_package/test_package.cpp deleted file mode 100644 index f7a82eba1d2de..0000000000000 --- a/recipes/mp-units/2.0.0/test_v1_package/test_package.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include -#include -#include - -using namespace mp_units; - -constexpr auto avg_speed(QuantityOf auto d, QuantityOf auto t) -{ - return d / t; -} - -int main() -{ - using namespace mp_units::si::unit_symbols; - std::cout << "Average speed = " << avg_speed(240 * km, 2 * h) << '\n'; -} diff --git a/recipes/mp-units/2.3.0/conandata.yml b/recipes/mp-units/2.3.0/conandata.yml new file mode 100644 index 0000000000000..bde86ac17bc97 --- /dev/null +++ b/recipes/mp-units/2.3.0/conandata.yml @@ -0,0 +1,7 @@ +sources: + "2.4.0": + url: https://github.com/mpusz/units/archive/v2.4.0.tar.gz + sha256: 777e53ba8da891161e90a93b90b92fa66951d49aaae1b0203ddf934532bbeb56 + "2.3.0": + url: https://github.com/mpusz/units/archive/v2.3.0.tar.gz + sha256: ce2f167ff788ae769e73ea7676f15302827cd37908da3928dcae048f916898d6 diff --git a/recipes/mp-units/2.3.0/conanfile.py b/recipes/mp-units/2.3.0/conanfile.py new file mode 100644 index 0000000000000..22e718ebd0955 --- /dev/null +++ b/recipes/mp-units/2.3.0/conanfile.py @@ -0,0 +1,325 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import valid_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version + +required_conan_version = ">=1.59.0" + + +def loose_lt_semver(v1, v2): + lv1 = [int(v) for v in v1.split(".")] + lv2 = [int(v) for v in v2.split(".")] + min_length = min(len(lv1), len(lv2)) + return lv1[:min_length] < lv2[:min_length] + + +class MPUnitsConan(ConanFile): + name = "mp-units" + homepage = "https://github.com/mpusz/mp-units" + description = "The quantities and units library for C++" + topics = ( + "units", + "dimensions", + "quantities", + "dimensional-analysis", + "physical-quantities", + "physical-units", + "system-of-units", + "system-of-quantities", + "isq", + "si", + "library", + "quantity-manipulation", + ) + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + settings = "os", "arch", "compiler", "build_type" + options = { + "cxx_modules": [True, False], + "import_std": [True, False], + "std_format": [True, False], + "string_view_ret": [True, False], + "no_crtp": [True, False], + "contracts": ["none", "gsl-lite", "ms-gsl"], + "freestanding": [True, False], + } + default_options = { + # "cxx_modules" default set in config_options() + # "import_std" default set in config_options() + # "std_format" default set in config_options() + # "string_view_ret" default set in config_options() + # "no_crtp" default set in config_options() + "contracts": "gsl-lite", + "freestanding": False, + } + no_copy_source = True + + @property + def _feature_compatibility(self): + return { + "minimum_support": { + "min_cppstd": "20", + "compiler": { + "gcc": "12", + "clang": "16", + "apple-clang": "15", + "msvc": "194", + "Visual Studio": "17", + }, + }, + "std_format": { + "min_cppstd": "20", + "compiler": { + "gcc": "13", + "clang": "17", + "apple-clang": "", + "msvc": "194", + "Visual Studio": "17", + }, + }, + "cxx_modules": { + "min_cppstd": "20", + "compiler": { + "gcc": "", + "clang": "17", + "apple-clang": "", + "msvc": "", + "Visual Studio": "", + }, + }, + "import_std": { + "min_cppstd": "23", + "compiler": {"gcc": "", "clang": "18", "apple-clang": "", "msvc": ""}, + }, + "static_constexpr_vars_in_constexpr_func": { + "min_cppstd": "23", + "compiler": { + "gcc": "13", + "clang": "17", + "apple-clang": "", + "msvc": "", + "Visual Studio": "", + }, + }, + "explicit_this": { + "min_cppstd": "23", + "compiler": { + "gcc": "14", + "clang": "18", + "apple-clang": "", + "msvc": "", + "Visual Studio": "", + }, + }, + } + + @property + def _option_feature_map(self): + return { + "std_format": "std_format", + "cxx_modules": "cxx_modules", + "import_std": "import_std", + "string_view_ret": "static_constexpr_vars_in_constexpr_func", + "no_crtp": "explicit_this", + } + + def _set_default_option(self, name): + compiler = self.settings.compiler + feature_name = self._option_feature_map[name] + feature = self._feature_compatibility[feature_name] + min_version = feature["compiler"].get(str(compiler)) + setattr( + self.options, + name, + bool( + min_version + and Version(compiler.version) >= min_version + and valid_min_cppstd(self, feature["min_cppstd"]) + ), + ) + + def _check_feature_supported(self, name, feature_name=name): + compiler = self.settings.compiler + cppstd = compiler.get_safe("cppstd") + feature = self._feature_compatibility[feature_name] + + # check C++ version + if cppstd and not valid_min_cppstd(self, feature["min_cppstd"]): + raise ConanInvalidConfiguration( + f"'{name}' requires at least cppstd={feature['min_cppstd']} ({cppstd} in use)", + ) + + # check compiler version + min_version = feature["compiler"].get(str(compiler)) + if min_version == None: + # not tested compiler being used - use at your own risk + return + if min_version == "": + raise ConanInvalidConfiguration( + f"'{name}' is not yet supported by any known {compiler} version" + ) + if loose_lt_semver(str(compiler.version), min_version): + raise ConanInvalidConfiguration( + f"'{name}' requires at least {compiler}-{min_version} ({compiler}-{compiler.version} in use)" + ) + + def config_options(self): + for key in self._option_feature_map.keys(): + self._set_default_option(key) + # TODO mixing of `import std;` and regular header files includes does not work for now + if self.options.import_std: + self.options.contracts = "none" + + def configure(self): + if self.options.cxx_modules: + self.package_type = "static-library" + else: + self.package_type = "header-library" + if self.options.freestanding: + self.options.rm_safe("std_format") + + def requirements(self): + if not self.options.freestanding: + if self.options.contracts == "gsl-lite": + self.requires("gsl-lite/0.41.0", transitive_headers=True) + elif self.options.contracts == "ms-gsl": + self.requires("ms-gsl/4.0.0", transitive_headers=True) + if not self.options.std_format: + self.requires("fmt/11.0.1", transitive_headers=True) + + def build_requirements(self): + self.tool_requires("cmake/[>=3.30 <4]") + + def validate(self): + self._check_feature_supported("mp-units", "minimum_support") + for key, value in self._option_feature_map.items(): + if self.options.get_safe(key) == True: + self._check_feature_supported(key, value) + if self.options.freestanding and self.options.contracts != "none": + raise ConanInvalidConfiguration( + "'contracts' should be set to 'none' for a freestanding build" + ) + # TODO mixing of `import std;` and regular header files includes does not work for now + if self.options.import_std: + if self.options.contracts != "none": + raise ConanInvalidConfiguration( + "'contracts' should be set to 'none' to use `import std;`" + ) + if not self.options.get_safe("std_format", default=True): + raise ConanInvalidConfiguration( + "'std_format' should be enabled to use `import std;`" + ) + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + opt = self.options + tc = CMakeToolchain(self) + if opt.cxx_modules: + tc.cache_variables["CMAKE_CXX_SCAN_FOR_MODULES"] = True + if opt.import_std: + tc.cache_variables["CMAKE_CXX_MODULE_STD"] = True + # TODO current experimental support according to `Help/dev/experimental.rst` + tc.cache_variables["CMAKE_EXPERIMENTAL_CXX_IMPORT_STD"] = ( + "0e5b6991-d74f-4b3d-a41c-cf096e0b2508" + ) + + # TODO remove the below when Conan will learn to handle C++ modules + if opt.freestanding: + tc.cache_variables["MP_UNITS_API_FREESTANDING"] = True + else: + tc.cache_variables["MP_UNITS_API_STD_FORMAT"] = opt.std_format + tc.cache_variables["MP_UNITS_API_CONTRACTS"] = str(opt.contracts).upper() + + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure(build_script_folder="src") + if self.options.cxx_modules: + cmake.build() + + def package_id(self): + if self.package_type == "header-library": + self.info.clear() + + def package(self): + copy( + self, + "LICENSE.md", + self.source_folder, + os.path.join(self.package_folder, "licenses"), + ) + cmake = CMake(self) + cmake.install() + # TODO remove the below when Conan will learn to handle C++ modules + if not self.options.cxx_modules: + # We have to preserve those files for C++ modules build as Conan + # can't generate such CMake targets for now + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + compiler = self.settings.compiler + # TODO remove the branch when Conan will learn to handle C++ modules + if self.options.cxx_modules: + # CMakeDeps does not generate C++ modules definitions for now + # Skip the Conan-generated files and use the mp-unitsConfig.cmake bundled with mp-units + self.cpp_info.set_property("cmake_find_mode", "none") + self.cpp_info.builddirs = ["."] + else: + # handle contracts + if self.options.contracts == "none": + self.cpp_info.components["core"].defines.append( + "MP_UNITS_API_CONTRACTS=0" + ) + elif self.options.contracts == "gsl-lite": + self.cpp_info.components["core"].requires.append("gsl-lite::gsl-lite") + self.cpp_info.components["core"].defines.append( + "MP_UNITS_API_CONTRACTS=2" + ) + elif self.options.contracts == "ms-gsl": + self.cpp_info.components["core"].requires.append("ms-gsl::ms-gsl") + self.cpp_info.components["core"].defines.append( + "MP_UNITS_API_CONTRACTS=3" + ) + + # handle API options + self.cpp_info.components["core"].defines.append( + "MP_UNITS_API_STRING_VIEW_RET=" + + str(int(self.options.string_view_ret == True)) + ) + self.cpp_info.components["core"].defines.append( + "MP_UNITS_API_NO_CRTP=" + str(int(self.options.no_crtp == True)) + ) + self.cpp_info.components["core"].defines.append( + "MP_UNITS_API_STD_FORMAT=" + str(int(self.options.std_format == True)) + ) + if not self.options.std_format: + self.cpp_info.components["core"].requires.append("fmt::fmt") + + # handle hosted configuration + if not self.options.freestanding: + self.cpp_info.components["core"].defines.append("MP_UNITS_HOSTED=1") + + # handle import std + if self.options.import_std: + self.cpp_info.components["core"].defines.append("MP_UNITS_IMPORT_STD") + if compiler == "clang" and Version(compiler.version) < 19: + self.cpp_info.components["core"].cxxflags.append( + "-Wno-deprecated-declarations" + ) + + if compiler == "msvc": + self.cpp_info.components["core"].cxxflags.append("/utf-8") + + self.cpp_info.components["systems"].requires = ["core"] diff --git a/recipes/mp-units/2.3.0/test_package/CMakeLists.txt b/recipes/mp-units/2.3.0/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..0938e502d546b --- /dev/null +++ b/recipes/mp-units/2.3.0/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.25) +project(test_package LANGUAGES CXX) + +find_package(mp-units REQUIRED) + +add_executable(test_package test_package.cpp) +target_link_libraries(test_package PRIVATE mp-units::mp-units) +target_compile_features(test_package PUBLIC cxx_std_20) diff --git a/recipes/mp-units/2.3.0/test_package/conanfile.py b/recipes/mp-units/2.3.0/test_package/conanfile.py new file mode 100644 index 0000000000000..b2ed4344df2cb --- /dev/null +++ b/recipes/mp-units/2.3.0/test_package/conanfile.py @@ -0,0 +1,46 @@ +import os + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + opt = self.dependencies["mp-units"].options + if opt.cxx_modules: + tc.cache_variables["CMAKE_CXX_SCAN_FOR_MODULES"] = True + if opt.import_std: + tc.cache_variables["CMAKE_CXX_MODULE_STD"] = True + # Current experimental support according to `Help/dev/experimental.rst` + tc.cache_variables[ + "CMAKE_EXPERIMENTAL_CXX_IMPORT_STD" + ] = "0e5b6991-d74f-4b3d-a41c-cf096e0b2508" + # TODO remove the below when Conan will learn to handle C++ modules + if opt.freestanding: + tc.cache_variables["MP_UNITS_API_FREESTANDING"] = True + else: + tc.cache_variables["MP_UNITS_API_STD_FORMAT"] = opt.std_format + tc.cache_variables["MP_UNITS_API_CONTRACTS"] = str(opt.contracts).upper() + tc.generate() + + 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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/mp-units/2.3.0/test_package/test_package.cpp b/recipes/mp-units/2.3.0/test_package/test_package.cpp new file mode 100644 index 0000000000000..5cdfe02de428f --- /dev/null +++ b/recipes/mp-units/2.3.0/test_package/test_package.cpp @@ -0,0 +1,30 @@ +#include +#include +#ifdef MP_UNITS_IMPORT_STD +import std; +#else +#include +#endif +#ifdef MP_UNITS_MODULES +import mp_units; +#else +#include +#include +#include +#include +#endif + +using namespace mp_units; + +constexpr QuantityOf auto avg_speed( + QuantityOf auto d, + QuantityOf auto t) +{ + return d / t; +} + +int main() +{ + using namespace mp_units::si::unit_symbols; + std::cout << MP_UNITS_STD_FMT::format("Average speed = {}\n", avg_speed(240 * km, 2 * h)); +} diff --git a/recipes/mp-units/config.yml b/recipes/mp-units/config.yml index adf715f7230a3..65cd632824585 100644 --- a/recipes/mp-units/config.yml +++ b/recipes/mp-units/config.yml @@ -1,4 +1,8 @@ versions: + "2.4.0": + folder: 2.3.0 + "2.3.0": + folder: 2.3.0 "2.2.1": folder: 2.2.0 "2.1.1": diff --git a/recipes/mpark-variant/all/test_v1_package/CMakeLists.txt b/recipes/mpark-variant/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/mpark-variant/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mpark-variant/all/test_v1_package/conanfile.py b/recipes/mpark-variant/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/mpark-variant/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mpdecimal/2.5.x/conandata.yml b/recipes/mpdecimal/2.5.x/conandata.yml deleted file mode 100644 index 93278b2f9479e..0000000000000 --- a/recipes/mpdecimal/2.5.x/conandata.yml +++ /dev/null @@ -1,15 +0,0 @@ -sources: - "2.5.1": - sha256: "9f9cd4c041f99b5c49ffb7b59d9f12d95b683d88585608aa56a6307667b2b21f" - url: "http://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz" - "2.5.0": - sha256: "15417edc8e12a57d1d9d75fa7e3f22b158a3b98f44db9d694cfd2acde8dfa0ca" - url: "http://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.0.tar.gz" -patches: - "2.5.1": - - patch_file: "patches/2.5.1-0001-msvc-fixes.patch" - - patch_file: "patches/2.5.1-0002-add-mingw-to-configure-ac.patch" - - patch_file: "patches/2.5.1-0003-use-MPDECIMAL_DLL.patch" - "2.5.0": - - patch_file: "patches/0001-2.5.0-msvc-fixes.patch" - - patch_file: "patches/0002-add-mingw-to-configure-ac.patch" diff --git a/recipes/mpdecimal/2.5.x/conanfile.py b/recipes/mpdecimal/2.5.x/conanfile.py deleted file mode 100644 index ce8610550b172..0000000000000 --- a/recipes/mpdecimal/2.5.x/conanfile.py +++ /dev/null @@ -1,243 +0,0 @@ -from conan import ConanFile -from conan.tools.gnu import AutotoolsToolchain, AutotoolsDeps, Autotools -from conan.tools.files import get, chdir, copy, export_conandata_patches, apply_conandata_patches, mkdir, rename -from conan.tools.layout import basic_layout -from conan.tools.build import cross_building -from conan.tools.env import VirtualBuildEnv, VirtualRunEnv -from conan.tools.microsoft import VCVars, is_msvc, NMakeDeps, NMakeToolchain -from conan.tools.apple import is_apple_os -from conan.tools.scm import Version -from conan.errors import ConanInvalidConfiguration - -required_conan_version = ">=1.55.0" - - -class MpdecimalConan(ConanFile): - name = "mpdecimal" - description = "mpdecimal is a package for correctly-rounded arbitrary precision decimal floating point arithmetic." - license = "BSD-2-Clause" - topics = ("multiprecision", "library") - url = "https://github.com/conan-io/conan-center-index" - homepage = "http://www.bytereef.org/mpdecimal" - package_type = "library" - settings = "os", "arch", "compiler", "build_type" - options = { - "shared": [True, False], - "fPIC": [True, False], - "cxx": [True, False], - } - default_options = { - "shared": False, - "fPIC": True, - "cxx": True, - } - - @property - def _settings_build(self): - return getattr(self, "setings_build", self.settings) - - def export_sources(self): - export_conandata_patches(self) - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - if not self.options.cxx: - self.settings.rm_safe("compiler.libcxx") - self.settings.rm_safe("compiler.cppstd") - - def layout(self): - basic_layout(self, src_folder="src") - - def validate(self): - if is_msvc(self) and self.settings.arch not in ("x86", "x86_64"): - raise ConanInvalidConfiguration( - f"{self.ref} currently does not supported {self.settings.arch}. Contributions are welcomed") - if self.options.cxx: - if self.options.shared and self.settings.os == "Windows": - raise ConanInvalidConfiguration( - "A shared libmpdec++ is not possible on Windows (due to non-exportable thread local storage)") - - def build_requirements(self): - if is_msvc(self): - self.tool_requires("automake/1.16.5") - else: - # required to support windows as a build machine - if self._settings_build.os == "Windows": - self.win_bash = True - if not self.conf.get("tools.microsoft.bash:path", check_type=str): - self.tool_requires("msys2/cci.latest") - - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) - - def generate(self): - if is_msvc(self): - vcvars = VCVars(self) - vcvars.generate() - - deps = NMakeDeps(self) - deps.generate() - - tc = NMakeToolchain(self) - if Version(self.version) >= "2.5.1": - if self.options.shared: - tc.extra_cflags.append("-DMPDECIMAL_DLL") - if self.options.cxx: - tc.extra_cxxflags.append("-DLIBMPDECXX_DLL") - tc.generate() - else: - # inject tool_requires env vars in build scope (not needed if there is no tool_requires) - env = VirtualBuildEnv(self) - env.generate() - # inject requires env vars in build scope - # it's required in case of native build when there is AutotoolsDeps & at least one dependency which might be shared, because configure tries to run a test executable - if not cross_building(self): - env = VirtualRunEnv(self) - env.generate(scope="build") - - tc = AutotoolsToolchain(self) - tc.configure_args.append("--enable-cxx" if self.options.cxx else "--disable-cxx") - tc.generate() - - deps = AutotoolsDeps(self) - if is_apple_os(self) and self.settings.arch == "armv8": - deps.environment.append("LDFLAGS", ["-arch arm64"]) - deps.environment.append("LDXXFLAGS", ["-arch arm64"]) - deps.generate() - - @property - def _dist_folder(self): - vcbuild_folder = self.build_path / "vcbuild" - arch_ext = "32" if self.settings.arch == "x86" else "64" - return vcbuild_folder / f"dist{arch_ext}" - - def _build_msvc(self): - libmpdec_folder = self.source_path / "libmpdec" - libmpdecpp_folder = self.source_path / "libmpdec++" - - copy(self, "Makefile.vc", libmpdec_folder, self.build_path) - rename(self, self.build_path / "Makefile.vc", libmpdec_folder / "Makefile") - - mpdec_target = "libmpdec-{}.{}".format(self.version, "dll" if self.options.shared else "lib") - mpdecpp_target = "libmpdec++-{}.{}".format(self.version, "dll" if self.options.shared else "lib") - - builds = [[libmpdec_folder, mpdec_target]] - if self.options.cxx: - builds.append([libmpdecpp_folder, mpdecpp_target]) - - for build_dir, target in builds: - with chdir(self, build_dir): - self.run("""nmake -f Makefile.vc {target} MACHINE={machine} DEBUG={debug} DLL={dll}""".format( - target=target, - machine={"x86": "ppro", "x86_64": "x64"}[str(self.settings.arch)], - # FIXME: else, use ansi32 and ansi64 - debug="1" if self.settings.build_type == "Debug" else "0", - dll="1" if self.options.shared else "0", - )) - - dist_folder = self._dist_folder - mkdir(self, dist_folder) - copy(self, "mpdecimal.h", libmpdec_folder, dist_folder) - if self.options.shared: - copy(self, f"libmpdec-{self.version}.dll", libmpdec_folder, dist_folder) - copy(self, f"libmpdec-{self.version}.dll.exp", libmpdec_folder, dist_folder) - copy(self, f"libmpdec-{self.version}.dll.lib", libmpdec_folder, dist_folder) - else: - copy(self, f"libmpdec-{self.version}.lib", libmpdec_folder, dist_folder) - if self.options.cxx: - copy(self, "decimal.hh", libmpdecpp_folder, dist_folder) - copy(self, f"libmpdec++-{self.version}.lib", libmpdecpp_folder, dist_folder) - - @property - def _shared_suffix(self): - if is_apple_os(self): - return ".dylib" - return { - "Windows": ".dll", - }.get(str(self.settings.os), ".so") - - @property - def _target_names(self): - libsuffix = self._shared_suffix if self.options.shared else ".a" - versionsuffix = f".{self.version}" if self.options.shared else "" - suffix = ( - f"{versionsuffix}{libsuffix}" - if is_apple_os(self) or self.settings.os == "Windows" - else f"{libsuffix}{versionsuffix}" - ) - return f"libmpdec{suffix}", f"libmpdec++{suffix}" - - def build(self): - apply_conandata_patches(self) - if is_msvc(self): - self._build_msvc() - else: - autotools = Autotools(self) - autotools.configure() - # self.output.info(load(self, pathlib.Path("libmpdec", "Makefile"))) - libmpdec, libmpdecpp = self._target_names - copy(self, "*", self.source_path / "libmpdec", self.build_path / "libmpdec") - with chdir(self, "libmpdec"): - autotools.make(target=libmpdec) - if self.options.cxx: - copy(self, "*", self.source_path / "libmpdec++", self.build_path / "libmpdec++") - with chdir(self, "libmpdec++"): - autotools.make(target=libmpdecpp) - - def package(self): - pkg_dir = self.package_path - copy(self, "LICENSE.txt", src=self.source_folder, dst=pkg_dir / "licenses") - if is_msvc(self): - distfolder = self._dist_folder - copy(self, "vc*.h", src=self.source_path / "libmpdec", dst=pkg_dir / "include") - copy(self, "*.h", src=distfolder, dst=pkg_dir / "include") - if self.options.cxx: - copy(self, "*.hh", src=distfolder, dst=pkg_dir / "include") - copy(self, "*.lib", src=distfolder, dst=pkg_dir / "lib") - copy(self, "*.dll", src=distfolder, dst=pkg_dir / "bin") - else: - mpdecdir = self.build_path / "libmpdec" - mpdecppdir = self.build_path / "libmpdec++" - copy(self, "mpdecimal.h", src=mpdecdir, dst=pkg_dir / "include") - if self.options.cxx: - copy(self, "decimal.hh", src=mpdecppdir, dst=pkg_dir / "include") - builddirs = [mpdecdir] - if self.options.cxx: - builddirs.append(mpdecppdir) - for builddir in builddirs: - copy(self, "*.a", src=builddir, dst=pkg_dir / "lib") - copy(self, "*.so", src=builddir, dst=pkg_dir / "lib") - copy(self, "*.so.*", src=builddir, dst=pkg_dir / "lib") - copy(self, "*.dylib", src=builddir, dst=pkg_dir / "lib") - copy(self, "*.dll", src=builddir, dst=pkg_dir / "bin") - - def package_info(self): - lib_pre_suf = ("", "") - if is_msvc(self): - lib_pre_suf = ("lib", f"-{self.version}") - elif self.settings.os == "Windows": - if self.options.shared: - lib_pre_suf = ("", ".dll") - - self.cpp_info.components["libmpdecimal"].libs = ["{}mpdec{}".format(*lib_pre_suf)] - if self.options.shared and is_msvc(self): - if Version(self.version) >= "2.5.1": - self.cpp_info.components["libmpdecimal"].defines = ["MPDECIMAL_DLL"] - else: - self.cpp_info.components["libmpdecimal"].defines = ["USE_DLL"] - - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["libmpdecimal"].system_libs = ["m"] - - if self.options.cxx: - self.cpp_info.components["libmpdecimal++"].libs = ["{}mpdec++{}".format(*lib_pre_suf)] - self.cpp_info.components["libmpdecimal++"].requires = ["libmpdecimal"] - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["libmpdecimal++"].system_libs = ["pthread"] - if self.options.shared and Version(self.version) >= "2.5.1": - self.cpp_info.components["libmpdecimal"].defines = ["MPDECIMALXX_DLL"] diff --git a/recipes/mpdecimal/all/conandata.yml b/recipes/mpdecimal/all/conandata.yml new file mode 100644 index 0000000000000..687ee85812e98 --- /dev/null +++ b/recipes/mpdecimal/all/conandata.yml @@ -0,0 +1,21 @@ +sources: + "4.0.0": + sha256: "942445c3245b22730fd41a67a7c5c231d11cb1b9936b9c0f76334fb7d0b4468c" + url: "http://www.bytereef.org/software/mpdecimal/releases/mpdecimal-4.0.0.tar.gz" + "2.5.1": + sha256: "9f9cd4c041f99b5c49ffb7b59d9f12d95b683d88585608aa56a6307667b2b21f" + url: "http://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz" + "2.5.0": + sha256: "15417edc8e12a57d1d9d75fa7e3f22b158a3b98f44db9d694cfd2acde8dfa0ca" + url: "http://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.0.tar.gz" +patches: + "4.0.0": + - patch_file: "patches/4.0.0-0001-msvc-fixes.patch" + - patch_file: "patches/4.0.0-0003-use-MPDECIMAL_DLL.patch" + "2.5.1": + - patch_file: "patches/2.5.1-0001-msvc-fixes.patch" + - patch_file: "patches/2.5.1-0002-add-mingw-to-configure-ac.patch" + - patch_file: "patches/2.5.1-0003-use-MPDECIMAL_DLL.patch" + "2.5.0": + - patch_file: "patches/0001-2.5.0-msvc-fixes.patch" + - patch_file: "patches/0002-add-mingw-to-configure-ac.patch" diff --git a/recipes/mpdecimal/all/conanfile.py b/recipes/mpdecimal/all/conanfile.py new file mode 100644 index 0000000000000..92620feb51411 --- /dev/null +++ b/recipes/mpdecimal/all/conanfile.py @@ -0,0 +1,237 @@ +from conan import ConanFile +from conan.tools.gnu import AutotoolsToolchain, Autotools +from conan.tools.files import get, chdir, copy, export_conandata_patches, apply_conandata_patches, mkdir, rename +from conan.tools.layout import basic_layout +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.microsoft import VCVars, is_msvc, NMakeDeps, NMakeToolchain +from conan.tools.apple import is_apple_os +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration + +required_conan_version = ">=1.55.0" + + +class MpdecimalConan(ConanFile): + name = "mpdecimal" + description = "mpdecimal is a package for correctly-rounded arbitrary precision decimal floating point arithmetic." + license = "BSD-2-Clause" + topics = ("multiprecision", "library") + url = "https://github.com/conan-io/conan-center-index" + homepage = "http://www.bytereef.org/mpdecimal" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "cxx": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "cxx": True, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + if not self.options.cxx: + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if is_msvc(self) and self.settings.arch not in ("x86", "x86_64"): + raise ConanInvalidConfiguration( + f"{self.ref} currently does not supported {self.settings.arch}. Contributions are welcomed") + if self.options.cxx and Version(self.version) < "2.5.1": + if self.options.shared and self.settings.os == "Windows": + raise ConanInvalidConfiguration( + "A shared libmpdec++ is not possible on Windows (due to non-exportable thread local storage)") + + def build_requirements(self): + if not is_msvc(self) and self.settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if is_msvc(self): + vcvars = VCVars(self) + vcvars.generate() + + deps = NMakeDeps(self) + deps.generate() + + tc = NMakeToolchain(self) + if Version(self.version) >= "2.5.1": + if self.options.shared: + tc.extra_cflags.append("-DMPDECIMAL_DLL") + if self.options.cxx: + tc.extra_cxxflags.append("-DLIBMPDECXX_DLL") + tc.generate() + else: + # inject tool_requires env vars in build scope (not needed if there is no tool_requires) + env = VirtualBuildEnv(self) + env.generate() + # inject requires env vars in build scope + # it's required in case of native build when there is AutotoolsDeps & at least one dependency which might be shared, because configure tries to run a test executable + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + + tc = AutotoolsToolchain(self) + tc.configure_args.append("--enable-cxx" if self.options.cxx else "--disable-cxx") + tc_env = tc.environment() + tc_env.append("LDXXFLAGS", ["$LDFLAGS"]) + tc.generate(tc_env) + + @property + def _dist_folder(self): + vcbuild_folder = self.build_path / "vcbuild" + arch_ext = "32" if self.settings.arch == "x86" else "64" + return vcbuild_folder / f"dist{arch_ext}" + + def _build_msvc(self): + libmpdec_folder = self.source_path / "libmpdec" + libmpdecpp_folder = self.source_path / "libmpdec++" + + copy(self, "Makefile.vc", libmpdec_folder, self.build_path) + rename(self, self.build_path / "Makefile.vc", libmpdec_folder / "Makefile") + + mpdec_target = "libmpdec-{}.{}".format(self.version, "dll" if self.options.shared else "lib") + mpdecpp_target = "libmpdec++-{}.{}".format(self.version, "dll" if self.options.shared else "lib") + + builds = [[libmpdec_folder, mpdec_target]] + if self.options.cxx: + builds.append([libmpdecpp_folder, mpdecpp_target]) + + for build_dir, target in builds: + with chdir(self, build_dir): + self.run("""nmake -f Makefile.vc {target} MACHINE={machine} DEBUG={debug} DLL={dll}""".format( + target=target, + machine={"x86": "ppro", "x86_64": "x64"}[str(self.settings.arch)], + # FIXME: else, use ansi32 and ansi64 + debug="1" if self.settings.build_type == "Debug" else "0", + dll="1" if self.options.shared else "0", + )) + + dist_folder = self._dist_folder + mkdir(self, dist_folder) + copy(self, "mpdecimal.h", libmpdec_folder, dist_folder) + if self.options.shared: + copy(self, f"libmpdec-{self.version}.dll", libmpdec_folder, dist_folder) + copy(self, f"libmpdec-{self.version}.dll.lib", libmpdec_folder, dist_folder) + else: + copy(self, f"libmpdec-{self.version}.lib", libmpdec_folder, dist_folder) + if self.options.cxx: + if self.options.shared: + copy(self, f"libmpdec++-{self.version}.dll", libmpdecpp_folder, dist_folder) + copy(self, f"libmpdec++-{self.version}.dll.lib", libmpdecpp_folder, dist_folder) + else: + copy(self, f"libmpdec++-{self.version}.lib", libmpdecpp_folder, dist_folder) + copy(self, "decimal.hh", libmpdecpp_folder, dist_folder) + + @property + def _shared_suffix(self): + if is_apple_os(self): + return ".dylib" + return { + "Windows": ".dll", + }.get(str(self.settings.os), ".so") + + @property + def _target_names(self): + libsuffix = self._shared_suffix if self.options.shared else ".a" + versionsuffix = f".{self.version}" if self.options.shared else "" + suffix = ( + f"{versionsuffix}{libsuffix}" + if is_apple_os(self) or self.settings.os == "Windows" + else f"{libsuffix}{versionsuffix}" + ) + return f"libmpdec{suffix}", f"libmpdec++{suffix}" + + def build(self): + apply_conandata_patches(self) + if is_msvc(self): + self._build_msvc() + else: + autotools = Autotools(self) + autotools.configure() + # self.output.info(load(self, pathlib.Path("libmpdec", "Makefile"))) + libmpdec, libmpdecpp = self._target_names + copy(self, "*", self.source_path / "libmpdec", self.build_path / "libmpdec") + with chdir(self, "libmpdec"): + autotools.make(target=libmpdec) + if self.options.cxx: + copy(self, "*", self.source_path / "libmpdec++", self.build_path / "libmpdec++") + with chdir(self, "libmpdec++"): + autotools.make(target=libmpdecpp) + + def package(self): + pkg_dir = self.package_path + copy(self, "LICENSE.txt", src=self.source_folder, dst=pkg_dir / "licenses") + if is_msvc(self): + distfolder = self._dist_folder + copy(self, "vc*.h", src=self.source_path / "libmpdec", dst=pkg_dir / "include") + copy(self, "*.h", src=distfolder, dst=pkg_dir / "include") + if self.options.cxx: + copy(self, "*.hh", src=distfolder, dst=pkg_dir / "include") + copy(self, "*.lib", src=distfolder, dst=pkg_dir / "lib") + copy(self, "*.dll", src=distfolder, dst=pkg_dir / "bin") + else: + mpdecdir = self.build_path / "libmpdec" + mpdecppdir = self.build_path / "libmpdec++" + copy(self, "mpdecimal.h", src=mpdecdir, dst=pkg_dir / "include") + if self.options.cxx: + copy(self, "decimal.hh", src=self.source_path / "libmpdec++", dst=pkg_dir / "include") + builddirs = [mpdecdir] + if self.options.cxx: + builddirs.append(mpdecppdir) + for builddir in builddirs: + copy(self, "*.a", src=builddir, dst=pkg_dir / "lib") + copy(self, "*.so", src=builddir, dst=pkg_dir / "lib") + copy(self, "*.so.*", src=builddir, dst=pkg_dir / "lib") + copy(self, "*.dylib", src=builddir, dst=pkg_dir / "lib") + copy(self, "*.dll", src=builddir, dst=pkg_dir / "bin") + + def package_info(self): + lib_pre_suf = ("", "") + if is_msvc(self): + if self.options.shared: + lib_pre_suf = ("lib", f"-{self.version}.dll") + else: + lib_pre_suf = ("lib", f"-{self.version}") + elif self.settings.os == "Windows": + if self.options.shared: + lib_pre_suf = ("", ".dll") + + self.cpp_info.components["libmpdecimal"].libs = ["{}mpdec{}".format(*lib_pre_suf)] + if self.options.shared and is_msvc(self): + if Version(self.version) >= "2.5.1": + self.cpp_info.components["libmpdecimal"].defines = ["MPDECIMAL_DLL"] + else: + self.cpp_info.components["libmpdecimal"].defines = ["USE_DLL"] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["libmpdecimal"].system_libs = ["m"] + + if self.options.cxx: + self.cpp_info.components["libmpdecimal++"].libs = ["{}mpdec++{}".format(*lib_pre_suf)] + self.cpp_info.components["libmpdecimal++"].requires = ["libmpdecimal"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["libmpdecimal++"].system_libs = ["pthread"] + if self.options.shared and Version(self.version) >= "2.5.1": + self.cpp_info.components["libmpdecimal++"].defines = ["MPDECIMALXX_DLL"] diff --git a/recipes/mpdecimal/2.5.x/patches/0001-2.5.0-msvc-fixes.patch b/recipes/mpdecimal/all/patches/0001-2.5.0-msvc-fixes.patch similarity index 100% rename from recipes/mpdecimal/2.5.x/patches/0001-2.5.0-msvc-fixes.patch rename to recipes/mpdecimal/all/patches/0001-2.5.0-msvc-fixes.patch diff --git a/recipes/mpdecimal/2.5.x/patches/0002-add-mingw-to-configure-ac.patch b/recipes/mpdecimal/all/patches/0002-add-mingw-to-configure-ac.patch similarity index 100% rename from recipes/mpdecimal/2.5.x/patches/0002-add-mingw-to-configure-ac.patch rename to recipes/mpdecimal/all/patches/0002-add-mingw-to-configure-ac.patch diff --git a/recipes/mpdecimal/2.5.x/patches/2.5.1-0001-msvc-fixes.patch b/recipes/mpdecimal/all/patches/2.5.1-0001-msvc-fixes.patch similarity index 100% rename from recipes/mpdecimal/2.5.x/patches/2.5.1-0001-msvc-fixes.patch rename to recipes/mpdecimal/all/patches/2.5.1-0001-msvc-fixes.patch diff --git a/recipes/mpdecimal/2.5.x/patches/2.5.1-0002-add-mingw-to-configure-ac.patch b/recipes/mpdecimal/all/patches/2.5.1-0002-add-mingw-to-configure-ac.patch similarity index 100% rename from recipes/mpdecimal/2.5.x/patches/2.5.1-0002-add-mingw-to-configure-ac.patch rename to recipes/mpdecimal/all/patches/2.5.1-0002-add-mingw-to-configure-ac.patch diff --git a/recipes/mpdecimal/2.5.x/patches/2.5.1-0003-use-MPDECIMAL_DLL.patch b/recipes/mpdecimal/all/patches/2.5.1-0003-use-MPDECIMAL_DLL.patch similarity index 100% rename from recipes/mpdecimal/2.5.x/patches/2.5.1-0003-use-MPDECIMAL_DLL.patch rename to recipes/mpdecimal/all/patches/2.5.1-0003-use-MPDECIMAL_DLL.patch diff --git a/recipes/mpdecimal/all/patches/4.0.0-0001-msvc-fixes.patch b/recipes/mpdecimal/all/patches/4.0.0-0001-msvc-fixes.patch new file mode 100644 index 0000000000000..aa95ccd087f71 --- /dev/null +++ b/recipes/mpdecimal/all/patches/4.0.0-0001-msvc-fixes.patch @@ -0,0 +1,97 @@ +diff --git a/libmpdec++/Makefile.vc b/libmpdec++/Makefile.vc +index 5985c33..bc2bdac 100644 +--- a/libmpdec++/Makefile.vc ++++ b/libmpdec++/Makefile.vc +@@ -14,11 +14,11 @@ LIBIMPORT_CXX = libmpdec++-4.0.0.dll.lib + LIBSHARED_CXX = libmpdec++-4.0.0.dll + + !if "$(DEBUG)" == "1" +-OPT = /MTd /Od /Zi /EHsc +-OPT_SHARED = /MDd /Od /Zi /EHsc ++OPT = /Od /Zi /EHsc ++OPT_SHARED = /Od /Zi /EHsc + !else +-OPT = /MT /O2 /GS /EHsc /DNDEBUG +-OPT_SHARED = /MD /O2 /GS /EHsc /DNDEBUG ++OPT = /O2 /GS /EHsc /DNDEBUG ++OPT_SHARED = /O2 /GS /EHsc /DNDEBUG + !endif + + !if "$(CC)" == "clang-cl" +@@ -27,9 +27,9 @@ WARN = /W4 -Wno-undefined-inline + WARN = /W4 + !endif + +-MPD_CXXFLAGS = $(WARN) /nologo $(OPT) +-MPD_CXXFLAGS_SHARED = /DBUILD_LIBMPDECXX $(WARN) /nologo $(OPT_SHARED) $(PGOFLAGS) +-MPD_BIN_CXXFLAGS_SHARED = $(WARN) /nologo $(OPT_SHARED) $(PGOFLAGS) ++MPD_CXXFLAGS = $(WARN) /nologo $(OPT) $(CONAN_CXXFLAGS) $(CONAN_CFLAGS) ++MPD_CXXFLAGS_SHARED = /DBUILD_LIBMPDECXX $(WARN) /nologo $(OPT_SHARED) $(PGOFLAGS) $(CONAN_LDFLAGS) ++MPD_BIN_CXXFLAGS_SHARED = $(WARN) /nologo $(OPT_SHARED) $(PGOFLAGS) $(CONAN_LDFLAGS) + + MPD_LDXXFLAGS= /DLL /MANIFEST $(LDXXFLAGS) + +@@ -42,22 +42,22 @@ OBJS = decimal.obj + SHARED_OBJS = .objs\decimal.obj + + +-$(LIBSTATIC_CXX): Makefile $(OBJS) ++$(LIBSTATIC_CXX): Makefile.vc $(OBJS) + -@if exist $@ del $(LIBSTATIC_CXX) + lib /out:$(LIBSTATIC_CXX) $(OBJS) + +-$(LIBSHARED_CXX): Makefile $(SHARED_OBJS) ++$(LIBSHARED_CXX): Makefile.vc $(SHARED_OBJS) + -@if exist $@ del $(LIBSHARED_CXX) + link $(MPD_LDXXFLAGS) /out:$(LIBSHARED_CXX) /implib:$(LIBIMPORT_CXX) /LIBPATH:$(SRCDIR) $(SHARED_OBJS) $(LIBIMPORT) + mt -manifest $(LIBSHARED_CXX).manifest -outputresource:$(LIBSHARED_CXX);2 + + + decimal.obj:\ +-Makefile decimal.cc ..\libmpdec\mpdecimal.h decimal.hh ++Makefile.vc decimal.cc ..\libmpdec\mpdecimal.h decimal.hh + $(CXX) "-I." "-I$(SRCDIR)" $(MPD_CXXFLAGS) -c decimal.cc + + .objs\decimal.obj:\ +-Makefile decimal.cc ..\libmpdec\mpdecimal.h decimal.hh ++Makefile.vc decimal.cc ..\libmpdec\mpdecimal.h decimal.hh + $(CXX) "-I." "-I$(SRCDIR)" $(MPD_CXXFLAGS_SHARED) -c decimal.cc /Fo.objs\decimal.obj + + +diff --git a/libmpdec/Makefile.vc b/libmpdec/Makefile.vc +index 7f72a4b..2ee3ddb 100644 +--- a/libmpdec/Makefile.vc ++++ b/libmpdec/Makefile.vc +@@ -31,11 +31,11 @@ CONFIG = /DCONFIG_32 /DANSI + !endif + + !if "$(DEBUG)" == "1" +-OPT = /MTd /Od /Zi /EHsc +-OPT_SHARED = /MDd /Od /Zi /EHsc ++OPT = /Od /Zi /EHsc ++OPT_SHARED = /Od /Zi /EHsc + !else +-OPT = /MT /O2 /GS /EHsc /DNDEBUG +-OPT_SHARED = /MD /O2 /GS /EHsc /DNDEBUG ++OPT = /O2 /GS /EHsc /DNDEBUG ++OPT_SHARED = /O2 /GS /EHsc /DNDEBUG + !endif + + !if "$(CC)" == "clang-cl" +@@ -44,13 +44,13 @@ WARN = /W4 /wd4200 /wd4204 /wd4221 -Wno-unknown-pragmas -Wno-undefined-inline /D + WARN = /W4 /wd4200 /wd4204 /wd4221 /D_CRT_SECURE_NO_WARNINGS + !endif + +-MPD_CFLAGS = $(WARN) /nologo $(CONFIG) $(OPT) +-MPD_CFLAGS_SHARED = /DBUILD_LIBMPDEC $(WARN) /nologo $(CONFIG) $(OPT_SHARED) $(PGOFLAGS) ++MPD_CFLAGS = $(WARN) /nologo $(CONFIG) $(OPT) $(CONAN_CFLAGS) ++MPD_CFLAGS_SHARED = /DBUILD_LIBMPDEC $(WARN) /nologo $(CONFIG) $(OPT_SHARED) $(PGOFLAGS) $(CONAN_CFLAGS) + + MPD_BIN_CFLAGS = $(WARN) /nologo $(OPT) + MPD_BIN_CFLAGS_SHARED = $(WARN) /nologo $(OPT_SHARED) $(PGOFLAGS) + +-MPD_LDFLAGS= /DLL /MANIFEST $(LDFLAGS) ++MPD_LDFLAGS= /DLL /MANIFEST $(LDFLAGS) $(CONAN_LDFLAGS) + + + default: $(LIBSTATIC) $(LIBSHARED) diff --git a/recipes/mpdecimal/all/patches/4.0.0-0003-use-MPDECIMAL_DLL.patch b/recipes/mpdecimal/all/patches/4.0.0-0003-use-MPDECIMAL_DLL.patch new file mode 100644 index 0000000000000..eaef16aab1800 --- /dev/null +++ b/recipes/mpdecimal/all/patches/4.0.0-0003-use-MPDECIMAL_DLL.patch @@ -0,0 +1,39 @@ +diff --git a/libmpdec++/decimal.hh b/libmpdec++/decimal.hh +index 9040290..5e057cb 100644 +--- a/libmpdec++/decimal.hh ++++ b/libmpdec++/decimal.hh +@@ -58,7 +58,7 @@ + #ifdef _MSC_VER + #if defined (BUILD_LIBMPDECXX) + #define IMPORTEXPORT __declspec(dllexport) +- #elif defined(_DLL) ++ #elif defined(MPDECIMAL_DLL) + #define IMPORTEXPORT __declspec(dllimport) + #else + #define IMPORTEXPORT +diff --git a/libmpdec/mpdecimal32vc.h b/libmpdec/mpdecimal32vc.h +index 6a35951..43e5631 100644 +--- a/libmpdec/mpdecimal32vc.h ++++ b/libmpdec/mpdecimal32vc.h +@@ -59,7 +59,7 @@ extern "C" { + #if defined (BUILD_LIBMPDEC) + #undef IMPORTEXPORT + #define IMPORTEXPORT __declspec(dllexport) +-#elif defined(_DLL) ++#elif defined(MPDECIMAL_DLL) + #undef IMPORTEXPORT + #define IMPORTEXPORT __declspec(dllimport) + #endif +diff --git a/libmpdec/mpdecimal64vc.h b/libmpdec/mpdecimal64vc.h +index 9320176..a9944fc 100644 +--- a/libmpdec/mpdecimal64vc.h ++++ b/libmpdec/mpdecimal64vc.h +@@ -59,7 +59,7 @@ extern "C" { + #if defined (BUILD_LIBMPDEC) + #undef IMPORTEXPORT + #define IMPORTEXPORT __declspec(dllexport) +-#elif defined(_DLL) ++#elif defined(MPDECIMAL_DLL) + #undef IMPORTEXPORT + #define IMPORTEXPORT __declspec(dllimport) + #endif diff --git a/recipes/mpdecimal/2.5.x/test_package/CMakeLists.txt b/recipes/mpdecimal/all/test_package/CMakeLists.txt similarity index 100% rename from recipes/mpdecimal/2.5.x/test_package/CMakeLists.txt rename to recipes/mpdecimal/all/test_package/CMakeLists.txt diff --git a/recipes/mpdecimal/2.5.x/test_package/conanfile.py b/recipes/mpdecimal/all/test_package/conanfile.py similarity index 100% rename from recipes/mpdecimal/2.5.x/test_package/conanfile.py rename to recipes/mpdecimal/all/test_package/conanfile.py diff --git a/recipes/mpdecimal/2.5.x/test_package/test_package.c b/recipes/mpdecimal/all/test_package/test_package.c similarity index 100% rename from recipes/mpdecimal/2.5.x/test_package/test_package.c rename to recipes/mpdecimal/all/test_package/test_package.c diff --git a/recipes/mpdecimal/2.5.x/test_package/test_package.cpp b/recipes/mpdecimal/all/test_package/test_package.cpp similarity index 100% rename from recipes/mpdecimal/2.5.x/test_package/test_package.cpp rename to recipes/mpdecimal/all/test_package/test_package.cpp diff --git a/recipes/mpdecimal/2.5.x/test_v1_package/CMakeLists.txt b/recipes/mpdecimal/all/test_v1_package/CMakeLists.txt similarity index 100% rename from recipes/mpdecimal/2.5.x/test_v1_package/CMakeLists.txt rename to recipes/mpdecimal/all/test_v1_package/CMakeLists.txt diff --git a/recipes/mpdecimal/2.5.x/test_v1_package/conanfile.py b/recipes/mpdecimal/all/test_v1_package/conanfile.py similarity index 100% rename from recipes/mpdecimal/2.5.x/test_v1_package/conanfile.py rename to recipes/mpdecimal/all/test_v1_package/conanfile.py diff --git a/recipes/mpdecimal/config.yml b/recipes/mpdecimal/config.yml index 24b096a4ce8a6..713582dc93cec 100644 --- a/recipes/mpdecimal/config.yml +++ b/recipes/mpdecimal/config.yml @@ -1,7 +1,9 @@ versions: + "4.0.0": + folder: "all" "2.5.1": - folder: "2.5.x" + folder: "all" "2.5.0": - folder: "2.5.x" + folder: "all" "2.4.2": folder: "2.4.2" diff --git a/recipes/mpfr/all/test_v1_package/CMakeLists.txt b/recipes/mpfr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/mpfr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mpfr/all/test_v1_package/conanfile.py b/recipes/mpfr/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/mpfr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mpg123/all/test_v1_package/CMakeLists.txt b/recipes/mpg123/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/mpg123/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mpg123/all/test_v1_package/conanfile.py b/recipes/mpg123/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/mpg123/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mpg123/all/test_v1_package/test_package.c b/recipes/mpg123/all/test_v1_package/test_package.c deleted file mode 100644 index 9db524c82cb7a..0000000000000 --- a/recipes/mpg123/all/test_v1_package/test_package.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "mpg123.h" -#include - -int main() { - int error; - mpg123_pars *pars; - - pars = mpg123_new_pars(&error); - mpg123_fmt_all(pars); - mpg123_delete_pars(pars); - return 0; -} diff --git a/recipes/mpir/all/test_v1_package/CMakeLists.txt b/recipes/mpir/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/mpir/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mpir/all/test_v1_package/conanfile.py b/recipes/mpir/all/test_v1_package/conanfile.py deleted file mode 100644 index 2490acfa82ff8..0000000000000 --- a/recipes/mpir/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mpmcqueue/all/test_v1_package/CMakeLists.txt b/recipes/mpmcqueue/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/mpmcqueue/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mpmcqueue/all/test_v1_package/conanfile.py b/recipes/mpmcqueue/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/mpmcqueue/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/mppp/all/test_v1_package/CMakeLists.txt b/recipes/mppp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/mppp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mppp/all/test_v1_package/conanfile.py b/recipes/mppp/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/mppp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ms-gsl/all/conandata.yml b/recipes/ms-gsl/all/conandata.yml index 00aab19c60dba..3469e0134c7e0 100644 --- a/recipes/ms-gsl/all/conandata.yml +++ b/recipes/ms-gsl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.0": + url: "https://github.com/microsoft/GSL/archive/v4.1.0.tar.gz" + sha256: "0a227fc9c8e0bf25115f401b9a46c2a68cd28f299d24ab195284eb3f1d7794bd" "4.0.0": url: "https://github.com/microsoft/GSL/archive/v4.0.0.tar.gz" sha256: "f0e32cb10654fea91ad56bde89170d78cfbf4363ee0b01d8f097de2ba49f6ce9" diff --git a/recipes/ms-gsl/all/conanfile.py b/recipes/ms-gsl/all/conanfile.py index 22f61968c9ba8..e4e94a29cb26c 100644 --- a/recipes/ms-gsl/all/conanfile.py +++ b/recipes/ms-gsl/all/conanfile.py @@ -13,11 +13,10 @@ class MicrosoftGslConan(ConanFile): name = "ms-gsl" description = "Microsoft's implementation of the Guidelines Support Library" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/microsoft/GSL" - license = "MIT" - topics = ("gsl", "guidelines", "core", "span") - no_copy_source = True + topics = ("gsl", "guidelines", "core", "span", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { @@ -26,6 +25,7 @@ class MicrosoftGslConan(ConanFile): default_options = { "on_contract_violation": "terminate" } + no_copy_source = True @property def _minimum_cpp_standard(self): diff --git a/recipes/ms-gsl/all/test_v1_package/CMakeLists.txt b/recipes/ms-gsl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/ms-gsl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ms-gsl/all/test_v1_package/conanfile.py b/recipes/ms-gsl/all/test_v1_package/conanfile.py deleted file mode 100644 index 6314fb1c24e96..0000000000000 --- a/recipes/ms-gsl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -import os - -from conan.tools.build import cross_building -from conans import ConanFile, CMake - - -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ms-gsl/config.yml b/recipes/ms-gsl/config.yml index b00b1020b4e16..9d7804e501efd 100644 --- a/recipes/ms-gsl/config.yml +++ b/recipes/ms-gsl/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.0": + folder: all "4.0.0": folder: all "3.1.0": diff --git a/recipes/msdf-atlas-gen/all/test_package/Sacramento-Regular.ttf b/recipes/msdf-atlas-gen/all/test_package/Sacramento-Regular.ttf deleted file mode 100644 index cfd2eabc8699f..0000000000000 Binary files a/recipes/msdf-atlas-gen/all/test_package/Sacramento-Regular.ttf and /dev/null differ diff --git a/recipes/msdf-atlas-gen/all/test_package/conanfile.py b/recipes/msdf-atlas-gen/all/test_package/conanfile.py index f15dfbbe1bd98..ff5302d78bc18 100644 --- a/recipes/msdf-atlas-gen/all/test_package/conanfile.py +++ b/recipes/msdf-atlas-gen/all/test_package/conanfile.py @@ -12,23 +12,6 @@ class TestPackageConan(ConanFile): def requirements(self): self.requires(self.tested_reference_str) - @property - def _atlas_texture_file(self): - return os.path.join(self.build_folder, "atlas_texture.png") - - @property - def _atlas_desc_file(self): - return os.path.join(self.build_folder, "atlas_desc.json") - def test(self): if can_run(self): - ttf_path = os.path.join(self.source_folder, "Sacramento-Regular.ttf") - charset_path = os.path.join(self.source_folder, "uppercase_charset") - - ret_code = self.run( - "msdf-atlas-gen -font {} -charset {} -imageout {} -json {}".format(ttf_path, charset_path, self._atlas_texture_file, self._atlas_desc_file), env="conanrun") - - assert ret_code == 0 - assert os.path.isfile(self._atlas_texture_file) - assert os.path.isfile(self._atlas_desc_file) - + self.run("msdf-atlas-gen -help", env="conanrun") diff --git a/recipes/msdf-atlas-gen/all/test_package/uppercase_charset b/recipes/msdf-atlas-gen/all/test_package/uppercase_charset deleted file mode 100644 index c3c76b7e894ab..0000000000000 --- a/recipes/msdf-atlas-gen/all/test_package/uppercase_charset +++ /dev/null @@ -1 +0,0 @@ -['A', 'Z'] diff --git a/recipes/msdfgen/all/test_v1_package/CMakeLists.txt b/recipes/msdfgen/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/msdfgen/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/msdfgen/all/test_v1_package/conanfile.py b/recipes/msdfgen/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/msdfgen/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/msgpack-c/all/conandata.yml b/recipes/msgpack-c/all/conandata.yml index 0062926e73ac9..9326cc90f6718 100644 --- a/recipes/msgpack-c/all/conandata.yml +++ b/recipes/msgpack-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.1.0": + url: "https://github.com/msgpack/msgpack-c/releases/download/c-6.1.0/msgpack-c-6.1.0.tar.gz" + sha256: "674119f1a85b5f2ecc4c7d5c2859edf50c0b05e0c10aa0df85eefa2c8c14b796" "6.0.0": url: "https://github.com/msgpack/msgpack-c/releases/download/c-6.0.0/msgpack-c-6.0.0.tar.gz" sha256: "3654f5e2c652dc52e0a993e270bb57d5702b262703f03771c152bba51602aeba" diff --git a/recipes/msgpack-c/all/test_v1_package/CMakeLists.txt b/recipes/msgpack-c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 961b416af6b07..0000000000000 --- a/recipes/msgpack-c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/msgpack-c/all/test_v1_package/conanfile.py b/recipes/msgpack-c/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/msgpack-c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/msgpack-c/config.yml b/recipes/msgpack-c/config.yml index 08e152a5c47d0..3267291611670 100644 --- a/recipes/msgpack-c/config.yml +++ b/recipes/msgpack-c/config.yml @@ -1,4 +1,6 @@ versions: + "6.1.0": + folder: all "6.0.0": folder: all "5.0.0": diff --git a/recipes/msgpack-cxx/all/conandata.yml b/recipes/msgpack-cxx/all/conandata.yml index 7f56a30465e39..3aadf7df1811f 100644 --- a/recipes/msgpack-cxx/all/conandata.yml +++ b/recipes/msgpack-cxx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.0.0": + url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-7.0.0/msgpack-cxx-7.0.0.tar.gz" + sha256: "7504b7af7e7b9002ce529d4f941e1b7fb1fb435768780ce7da4abaac79bb156f" "6.1.1": url: "https://github.com/msgpack/msgpack-c/releases/download/cpp-6.1.1/msgpack-cxx-6.1.1.tar.gz" sha256: "5fd555742e37bbd58d166199e669f01f743c7b3c6177191dd7b31fb0c37fa191" diff --git a/recipes/msgpack-cxx/all/conanfile.py b/recipes/msgpack-cxx/all/conanfile.py index 8d22fa5798373..8112274e3a237 100644 --- a/recipes/msgpack-cxx/all/conanfile.py +++ b/recipes/msgpack-cxx/all/conanfile.py @@ -24,8 +24,8 @@ class MsgpackCXXConan(ConanFile): } no_copy_source = True - def configure_options(self): - # No boost was added since 4.1.0 + def config_options(self): + # Boost was not optional until 4.1.0 if Version(self.version) < "4.1.0": del self.options.use_boost @@ -33,6 +33,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): + # Boost was not optional until 4.1.0 if self.options.get_safe("use_boost", True): self.requires("boost/1.83.0") @@ -87,8 +88,12 @@ def _module_file_rel_path(self): return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") def package_info(self): - # https://github.com/msgpack/msgpack-c/tree/cpp_master#usage - self.cpp_info.set_property("cmake_file_name", "msgpack") + if Version(self.version) > "6.1.1": + self.cpp_info.set_property("cmake_file_name", "msgpack-cxx") + else: + # The README is wrong, the correct name is msgpack-cxx, + # but keep it for old published versions not to break the consumers + self.cpp_info.set_property("cmake_file_name", "msgpack") if Version(self.version) >= "6.0.0": self.cpp_info.set_property("cmake_target_name", "msgpack-cxx") @@ -108,7 +113,13 @@ def package_info(self): self.cpp_info.requires.append("boost::headers") # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "msgpack" - self.cpp_info.filenames["cmake_find_package_multi"] = "msgpack" + if Version(self.version) > "6.1.1": + self.cpp_info.filenames["cmake_find_package"] = "msgpack-cxx" + self.cpp_info.filenames["cmake_find_package_multi"] = "msgpack-cxx" + else: + # The README is wrong, the correct name is msgpack-cxx, + # but keep it for old published versions not to break the consumers + self.cpp_info.filenames["cmake_find_package"] = "msgpack" + self.cpp_info.filenames["cmake_find_package_multi"] = "msgpack" self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] self.cpp_info.build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] diff --git a/recipes/msgpack-cxx/all/test_package/CMakeLists.txt b/recipes/msgpack-cxx/all/test_package/CMakeLists.txt index d8ac6bce3d809..c74139de33ea0 100644 --- a/recipes/msgpack-cxx/all/test_package/CMakeLists.txt +++ b/recipes/msgpack-cxx/all/test_package/CMakeLists.txt @@ -1,10 +1,15 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -find_package(msgpack REQUIRED CONFIG) +if (MSGPACK_VERSION_LESS_EQ_6_1_1) + find_package(msgpack REQUIRED CONFIG) + set(msgpack-cxx_VERSION ${msgpack_VERSION}) +else() + find_package(msgpack-cxx REQUIRED CONFIG) +endif() add_executable(${PROJECT_NAME} test_package.cpp) -if(msgpack_VERSION VERSION_GREATER_EQUAL "6.0.0") +if(msgpack-cxx_VERSION VERSION_GREATER_EQUAL "6.0.0") target_link_libraries(${PROJECT_NAME} msgpack-cxx) else() target_link_libraries(${PROJECT_NAME} msgpackc-cxx) diff --git a/recipes/msgpack-cxx/all/test_package/conanfile.py b/recipes/msgpack-cxx/all/test_package/conanfile.py index e845ae751a301..4f7740cb3125f 100644 --- a/recipes/msgpack-cxx/all/test_package/conanfile.py +++ b/recipes/msgpack-cxx/all/test_package/conanfile.py @@ -1,12 +1,12 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import cmake_layout, CMake +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def layout(self): @@ -15,6 +15,11 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["MSGPACK_VERSION_LESS_EQ_6_1_1"] = self.dependencies[self.tested_reference_str].ref.version <= "6.1.1" + tc.generate() + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/msgpack-cxx/all/test_v1_package/CMakeLists.txt b/recipes/msgpack-cxx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/msgpack-cxx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/msgpack-cxx/all/test_v1_package/conanfile.py b/recipes/msgpack-cxx/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/msgpack-cxx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/msgpack-cxx/config.yml b/recipes/msgpack-cxx/config.yml index ed41d0a75c634..5aecc7725d45b 100644 --- a/recipes/msgpack-cxx/config.yml +++ b/recipes/msgpack-cxx/config.yml @@ -1,4 +1,6 @@ versions: + "7.0.0": + folder: all "6.1.1": folder: all "6.1.0": diff --git a/recipes/msix/all/test_v1_package/CMakeLists.txt b/recipes/msix/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/msix/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/msix/all/test_v1_package/conanfile.py b/recipes/msix/all/test_v1_package/conanfile.py deleted file mode 100644 index 28b18e54620ea..0000000000000 --- a/recipes/msix/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class MsixTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/msys2/all/conanfile.py b/recipes/msys2/all/conanfile.py index 752c04acf11c3..7c023fcf2b203 100644 --- a/recipes/msys2/all/conanfile.py +++ b/recipes/msys2/all/conanfile.py @@ -142,7 +142,8 @@ def _do_build(self): for package in packages: self.run(f'bash -l -c "pacman -S {package} --noconfirm"') for package in ['pkgconf']: - self.run(f'bash -l -c "pacman -Rs -d -d $(pacman -Qsq {package}) --noconfirm"') + if self.run(f'bash -l -c "pacman -Qq {package}"', ignore_errors=True, quiet=True) == 0: + self.run(f'bash -l -c "pacman -Rs -d -d {package} --noconfirm"') self._kill_pacman() diff --git a/recipes/mujs/all/test_v1_package/CMakeLists.txt b/recipes/mujs/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/mujs/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mujs/all/test_v1_package/conanfile.py b/recipes/mujs/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/mujs/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/muparser/all/test_v1_package/CMakeLists.txt b/recipes/muparser/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/muparser/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/muparser/all/test_v1_package/conanfile.py b/recipes/muparser/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/muparser/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/muparserx/all/test_v1_package/CMakeLists.txt b/recipes/muparserx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/muparserx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/muparserx/all/test_v1_package/conanfile.py b/recipes/muparserx/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/muparserx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/naive-tsearch/all/test_v1_package/CMakeLists.txt b/recipes/naive-tsearch/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/naive-tsearch/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/naive-tsearch/all/test_v1_package/conanfile.py b/recipes/naive-tsearch/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/naive-tsearch/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/namedtype/all/test_v1_package/CMakeLists.txt b/recipes/namedtype/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/namedtype/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/namedtype/all/test_v1_package/conanfile.py b/recipes/namedtype/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/namedtype/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nameof/all/test_v1_package/CMakeLists.txt b/recipes/nameof/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/nameof/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nameof/all/test_v1_package/conanfile.py b/recipes/nameof/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/nameof/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nanobench/all/test_v1_package/CMakeLists.txt b/recipes/nanobench/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/nanobench/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nanobench/all/test_v1_package/conanfile.py b/recipes/nanobench/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/nanobench/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nanoflann/all/test_v1_package/CMakeLists.txt b/recipes/nanoflann/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8e9967d816e1b..0000000000000 --- a/recipes/nanoflann/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(nanoflann REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nanoflann::nanoflann) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/nanoflann/all/test_v1_package/conanfile.py b/recipes/nanoflann/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/nanoflann/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nanorange/all/test_v1_package/CMakeLists.txt b/recipes/nanorange/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index cd41ac7f45757..0000000000000 --- a/recipes/nanorange/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package LANGUAGES CXX) # if the project uses c++ - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nanorange/all/test_v1_package/conanfile.py b/recipes/nanorange/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/nanorange/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nanosvg/all/test_v1_package/CMakeLists.txt b/recipes/nanosvg/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8f69e251c10a7..0000000000000 --- a/recipes/nanosvg/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(nanosvg REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE nanosvg::nanosvg) diff --git a/recipes/nanosvg/all/test_v1_package/conanfile.py b/recipes/nanosvg/all/test_v1_package/conanfile.py deleted file mode 100644 index e5fed27a4959a..0000000000000 --- a/recipes/nanosvg/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - svg_name = os.path.join(self.source_folder, os.pardir, "test_package", "nano.svg") - self.run(f"{bin_path} {svg_name}", run_environment=True) diff --git a/recipes/nas/all/test_v1_package/CMakeLists.txt b/recipes/nas/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de..0000000000000 --- a/recipes/nas/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nas/all/test_v1_package/conanfile.py b/recipes/nas/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/nas/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/neargye-semver/all/test_v1_package/CMakeLists.txt b/recipes/neargye-semver/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/neargye-semver/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/neargye-semver/all/test_v1_package/conanfile.py b/recipes/neargye-semver/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/neargye-semver/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/net-snmp/all/test_v1_package/CMakeLists.txt b/recipes/net-snmp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/net-snmp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/net-snmp/all/test_v1_package/conanfile.py b/recipes/net-snmp/all/test_v1_package/conanfile.py deleted file mode 100644 index a8c92dea63335..0000000000000 --- a/recipes/net-snmp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nettle/all/test_v1_package/CMakeLists.txt b/recipes/nettle/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/nettle/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/nettle/all/test_v1_package/conanfile.py b/recipes/nettle/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/nettle/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nfrechette-acl/all/test_v1_package/CMakeLists.txt b/recipes/nfrechette-acl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/nfrechette-acl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nfrechette-acl/all/test_v1_package/conanfile.py b/recipes/nfrechette-acl/all/test_v1_package/conanfile.py deleted file mode 100644 index 49ba777923b40..0000000000000 --- a/recipes/nfrechette-acl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os -from conan import ConanFile -from conans import CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nghttp3/all/conandata.yml b/recipes/nghttp3/all/conandata.yml index b52e9aae32e70..9fdcd6c92b130 100644 --- a/recipes/nghttp3/all/conandata.yml +++ b/recipes/nghttp3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.0": + url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.6.0/nghttp3-1.6.0.tar.bz2" + sha256: "e49806e1008fe823961616dc61dab7df0f20d3e1f43bc76faecf3e10e541a4b8" "1.5.0": url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.5.0/nghttp3-1.5.0.tar.bz2" sha256: "4d89a3b84dbe2c6e0fe1367a2082f23b3c6e3279536e2436aed1a3785f6716c5" diff --git a/recipes/nghttp3/config.yml b/recipes/nghttp3/config.yml index 53ac3abeac23c..882e07adca5bd 100644 --- a/recipes/nghttp3/config.yml +++ b/recipes/nghttp3/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: all "1.5.0": folder: all "1.4.0": diff --git a/recipes/ninja/all/test_v1_package/conanfile.py b/recipes/ninja/all/test_v1_package/conanfile.py deleted file mode 100644 index f520548c1be19..0000000000000 --- a/recipes/ninja/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,12 +0,0 @@ -from conans import ConanFile - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - test_type = "explicit" - - def build_requirements(self): - self.build_requires(self.tested_reference_str) - - def test(self): - self.run("ninja --version", run_environment=True) diff --git a/recipes/nlohmann_json/all/test_v1_package/CMakeLists.txt b/recipes/nlohmann_json/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/nlohmann_json/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nlohmann_json/all/test_v1_package/conanfile.py b/recipes/nlohmann_json/all/test_v1_package/conanfile.py deleted file mode 100644 index 37ada808989d9..0000000000000 --- a/recipes/nlohmann_json/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -import os - -from conan.tools.build import cross_building -from conans import ConanFile, CMake - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nlopt/all/test_v1_package/CMakeLists.txt b/recipes/nlopt/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/nlopt/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/nlopt/all/test_v1_package/conanfile.py b/recipes/nlopt/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/nlopt/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nmos-cpp/all/test_v1_package/CMakeLists.txt b/recipes/nmos-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/nmos-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nmos-cpp/all/test_v1_package/conanfile.py b/recipes/nmos-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 2df20034f628d..0000000000000 --- a/recipes/nmos-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class NmosCppTestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nmslib/all/test_v1_package/CMakeLists.txt b/recipes/nmslib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/nmslib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nmslib/all/test_v1_package/conanfile.py b/recipes/nmslib/all/test_v1_package/conanfile.py deleted file mode 100644 index abcaeed3f89b6..0000000000000 --- a/recipes/nmslib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nng/all/conandata.yml b/recipes/nng/all/conandata.yml index 494ad83360116..2232f4892fec8 100644 --- a/recipes/nng/all/conandata.yml +++ b/recipes/nng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.0": + url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.9.0.tar.gz" + sha256: "ff882bda0a854abd184a7c1eb33329e526928ef98e80ef0457dd9a708bb5b0b1" "1.8.0": url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.8.0.tar.gz" sha256: "cfacfdfa35c1618a28bb940e71f774a513dcb91292999696b4346ad8bfb5baff" diff --git a/recipes/nng/all/conanfile.py b/recipes/nng/all/conanfile.py index 1a1e6939144f3..2f960488b2d41 100644 --- a/recipes/nng/all/conanfile.py +++ b/recipes/nng/all/conanfile.py @@ -28,6 +28,7 @@ class NngConan(ConanFile): "max_poller_threads": ["ANY"], "compat": [True, False], "with_ipv6": [True, False], + "tls_engine": ["mbed", "wolf"], } default_options = { "shared": False, @@ -40,6 +41,7 @@ class NngConan(ConanFile): "max_poller_threads": "8", "compat": True, "with_ipv6": True, + "tls_engine": "mbed", } def export_sources(self): @@ -56,6 +58,8 @@ def config_options(self): del self.options.compat if Version(self.version) < "1.7.3": del self.options.with_ipv6 + if Version(self.version) < "1.9.0": + del self.options.tls_engine def configure(self): if self.options.shared: @@ -68,10 +72,14 @@ def layout(self): def requirements(self): if self.options.tls: - if Version(self.version) < "1.5.2": - self.requires("mbedtls/2.25.0") - else: - self.requires("mbedtls/3.5.2") + tls_engine = self.options.get_safe("tls_engine", "mbed") + if tls_engine == "mbed": + if Version(self.version) < "1.5.2": + self.requires("mbedtls/2.25.0") + else: + self.requires("mbedtls/3.5.2") + elif tls_engine == "wolf": + self.requires("wolfssl/5.7.2") def validate(self): compiler_minimum_version = { @@ -108,6 +116,7 @@ def generate(self): tc.variables["NNG_ENABLE_COMPAT"] = self.options.compat if "with_ipv6" in self.options: tc.variables["NNG_ENABLE_IPV6"] = self.options.with_ipv6 + tc.variables["NNG_TLS_ENGINE"] = self.options.get_safe("tls_engine", "mbed") tc.generate() deps = CMakeDeps(self) deps.generate() diff --git a/recipes/nng/all/test_v1_package/CMakeLists.txt b/recipes/nng/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/nng/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nng/all/test_v1_package/conanfile.py b/recipes/nng/all/test_v1_package/conanfile.py deleted file mode 100644 index d4a99c7cba3ed..0000000000000 --- a/recipes/nng/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cache = os.path.join(self.build_folder, "CMakeCache.txt") - if os.path.exists(cache): - self.output.info(f"Removing {cache}") - os.remove(cache) - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nng/config.yml b/recipes/nng/config.yml index edac6c5900d05..a216ebf04278c 100644 --- a/recipes/nng/config.yml +++ b/recipes/nng/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.0": + folder: all "1.8.0": folder: all "1.7.3": diff --git a/recipes/nodejs/all/test_v1_package/conanfile.py b/recipes/nodejs/all/test_v1_package/conanfile.py deleted file mode 100644 index 31062ce8b441a..0000000000000 --- a/recipes/nodejs/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,24 +0,0 @@ -import platform - -from conan import ConanFile -from conan.tools.build import cross_building -from conans.model.version import Version - - -class TestPackageConan(ConanFile): - - settings = "os", "arch" - test_type = "explicit" - - def build_requirements(self): - self.build_requires(self.tested_reference_str) - - def test(self): - if not cross_building(self): - if self.settings.os in ["Linux", "FreeBSD"]: - libc_version = Version(platform.libc_ver()[1]) - if libc_version < "2.29": - self.output.warning(f"System libc version {libc_version} < 2.29, skipping test_package") - return - self.output.info("Node version:") - self.run("node --version") diff --git a/recipes/norm/all/test_v1_package/CMakeLists.txt b/recipes/norm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/norm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/norm/all/test_v1_package/conanfile.py b/recipes/norm/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/norm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/npcap/all/test_v1_package/CMakeLists.txt b/recipes/npcap/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 90f019f9f9a28..0000000000000 --- a/recipes/npcap/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(npcap REQUIRED CONFIG) - -# Re-use the same source file from test_package folder -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -# don't link to ${CONAN_LIBS} or CONAN_PKG::package -target_link_libraries(${PROJECT_NAME} PRIVATE npcap::npcap) diff --git a/recipes/npcap/all/test_v1_package/conanfile.py b/recipes/npcap/all/test_v1_package/conanfile.py deleted file mode 100644 index 1b88417f558b4..0000000000000 --- a/recipes/npcap/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,41 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -from conan.tools import files -from io import StringIO -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def requirements(self): - self.requires(self.tested_reference_str) - if not cross_building(self): - self.requires("libpcap/1.10.1") - - def configure(self): - if not cross_building(self): - self.options["libpcap"].shared = True - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - # Use libpcap DLL as a replacement for npcap DLL - # It will not provide all the functions - # but it will cover enough to check that what we compiled is correct - files.rm(self, "wpcap.dll", "bin") - files.copy(self, "pcap.dll", src=self.deps_cpp_info['libpcap'].bin_paths[0], dst="bin") - files.rename(self, os.path.join("bin", "pcap.dll"), os.path.join("bin", "wpcap.dll")) - - bin_path = os.path.join("bin", "test_package") - output = StringIO() - self.run(bin_path, run_environment=True, output=output) - test_output = output.getvalue() - print(test_output) - assert "libpcap version 1.10.1" in test_output diff --git a/recipes/nsimd/2.x/test_v1_package/CMakeLists.txt b/recipes/nsimd/2.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index ed8a6b4ca24f6..0000000000000 --- a/recipes/nsimd/2.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(nsimd CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} nsimd::nsimd) diff --git a/recipes/nsimd/2.x/test_v1_package/conanfile.py b/recipes/nsimd/2.x/test_v1_package/conanfile.py deleted file mode 100644 index 0937dd58a343b..0000000000000 --- a/recipes/nsimd/2.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class NsimdTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nspr/all/test_v1_package/CMakeLists.txt b/recipes/nspr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/nspr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nspr/all/test_v1_package/conanfile.py b/recipes/nspr/all/test_v1_package/conanfile.py deleted file mode 100644 index 9f6cd40d88fed..0000000000000 --- a/recipes/nspr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,27 +0,0 @@ -from conan.tools.apple import is_apple_os -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build_requirements(self): - if is_apple_os(self) and self.settings.arch == "armv8": - # Workaround for CMake bug with error message: - # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being - # set. This could be because you are using a Mac OS X version less than 10.5 - # or because CMake's platform configuration is corrupt. - # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. - self.build_requires("cmake/3.22.0") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nsync/all/test_v1_package/CMakeLists.txt b/recipes/nsync/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/nsync/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nsync/all/test_v1_package/conanfile.py b/recipes/nsync/all/test_v1_package/conanfile.py deleted file mode 100644 index e1fbce68b1417..0000000000000 --- a/recipes/nsync/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - test_package_c = os.path.join("bin", "test_package") - test_package_cpp = os.path.join("bin", "test_package_cpp") - self.run(test_package_c, run_environment=True) - self.run(test_package_cpp, run_environment=True) diff --git a/recipes/ntv2/all/test_v1_package/CMakeLists.txt b/recipes/ntv2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/ntv2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/ntv2/all/test_v1_package/conanfile.py b/recipes/ntv2/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/ntv2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nudb/all/test_v1_package/CMakeLists.txt b/recipes/nudb/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/nudb/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nudb/all/test_v1_package/conanfile.py b/recipes/nudb/all/test_v1_package/conanfile.py deleted file mode 100644 index 573376a19a476..0000000000000 --- a/recipes/nudb/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class NudbTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nuklear/all/test_v1_package/CMakeLists.txt b/recipes/nuklear/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/nuklear/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/nuklear/all/test_v1_package/conanfile.py b/recipes/nuklear/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/nuklear/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/numcpp/all/test_v1_package/CMakeLists.txt b/recipes/numcpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/numcpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/numcpp/all/test_v1_package/conanfile.py b/recipes/numcpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/numcpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nuraft/all/test_v1_package/CMakeLists.txt b/recipes/nuraft/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/nuraft/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/nuraft/all/test_v1_package/conanfile.py b/recipes/nuraft/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/nuraft/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nvcloth/1.1.6/test_v1_package/CMakeLists.txt b/recipes/nvcloth/1.1.6/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/nvcloth/1.1.6/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/nvcloth/1.1.6/test_v1_package/conanfile.py b/recipes/nvcloth/1.1.6/test_v1_package/conanfile.py deleted file mode 100644 index e290e81a631fa..0000000000000 --- a/recipes/nvcloth/1.1.6/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class NvClothTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/nvtx/all/test_v1_package/CMakeLists.txt b/recipes/nvtx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/nvtx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/nvtx/all/test_v1_package/conanfile.py b/recipes/nvtx/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/nvtx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/oatpp-libressl/all/test_v1_package/CMakeLists.txt b/recipes/oatpp-libressl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 07afded94f59c..0000000000000 --- a/recipes/oatpp-libressl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(oatpp-libressl REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE oatpp::oatpp-libressl) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/oatpp-libressl/all/test_v1_package/conanfile.py b/recipes/oatpp-libressl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/oatpp-libressl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/oatpp-openssl/all/conanfile.py b/recipes/oatpp-openssl/all/conanfile.py index b17d50cd83efc..771c7d111c06d 100644 --- a/recipes/oatpp-openssl/all/conanfile.py +++ b/recipes/oatpp-openssl/all/conanfile.py @@ -7,7 +7,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.51.1" +required_conan_version = ">=2.1" class OatppOpenSSLConan(ConanFile): @@ -18,6 +18,7 @@ class OatppOpenSSLConan(ConanFile): description = "Oat++ OpenSSL library" topics = ("oat++", "oatpp", "openssl") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -28,27 +29,19 @@ class OatppOpenSSLConan(ConanFile): "fPIC": True, } - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def configure(self): - if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + implements = ["auto_shared_fpic"] def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires(f"oatpp/{self.version}") - self.requires("openssl/[>=1.1 <4]") + # Used in oatpp-openssl/oatpp-openssl/Config.hpp public header + self.requires(f"oatpp/{self.version}", transitive_headers=True) + # Used SSL* and SSL_CTX* used in public headers + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) def validate(self): - if self.info.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, 11) if is_msvc(self) and self.info.options.shared: raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared library with msvc") @@ -57,13 +50,12 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires GCC >=5") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["OATPP_BUILD_TESTS"] = False - tc.variables["OATPP_MODULES_LOCATION"] = "INSTALLED" + tc.cache_variables["OATPP_BUILD_TESTS"] = False + tc.cache_variables["OATPP_MODULES_LOCATION"] = "INSTALLED" # Honor BUILD_SHARED_LIBS from conan_toolchain (see https://github.com/conan-io/conan/issues/11840) tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() @@ -76,7 +68,7 @@ def build(self): cmake.build() def package(self): - copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) @@ -84,6 +76,7 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "oatpp-openssl") self.cpp_info.set_property("cmake_target_name", "oatpp::oatpp-openssl") + # TODO: back to global scope in conan v2 once legacy generators removed self.cpp_info.components["_oatpp-openssl"].includedirs = [ os.path.join("include", f"oatpp-{self.version}", "oatpp-openssl") @@ -97,12 +90,5 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["_oatpp-openssl"].system_libs = ["pthread"] - # TODO: to remove in conan v2 once legacy generators removed - self.cpp_info.filenames["cmake_find_package"] = "oatpp-openssl" - self.cpp_info.filenames["cmake_find_package_multi"] = "oatpp-openssl" - self.cpp_info.names["cmake_find_package"] = "oatpp" - self.cpp_info.names["cmake_find_package_multi"] = "oatpp" - self.cpp_info.components["_oatpp-openssl"].names["cmake_find_package"] = "oatpp-openssl" - self.cpp_info.components["_oatpp-openssl"].names["cmake_find_package_multi"] = "oatpp-openssl" self.cpp_info.components["_oatpp-openssl"].set_property("cmake_target_name", "oatpp::oatpp-openssl") self.cpp_info.components["_oatpp-openssl"].requires = ["oatpp::oatpp", "openssl::openssl"] diff --git a/recipes/oatpp-openssl/all/test_package/CMakeLists.txt b/recipes/oatpp-openssl/all/test_package/CMakeLists.txt index 716aedd7390f1..5aaf8115d1dba 100644 --- a/recipes/oatpp-openssl/all/test_package/CMakeLists.txt +++ b/recipes/oatpp-openssl/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(oatpp-openssl REQUIRED CONFIG) diff --git a/recipes/oatpp-openssl/all/test_package/test_package.cpp b/recipes/oatpp-openssl/all/test_package/test_package.cpp index 5b43d477e581e..a3e8d635fe6aa 100644 --- a/recipes/oatpp-openssl/all/test_package/test_package.cpp +++ b/recipes/oatpp-openssl/all/test_package/test_package.cpp @@ -2,8 +2,7 @@ #include "oatpp-openssl/Config.hpp" int main() { - - oatpp::openssl::Config config; - + std::shared_ptr config = oatpp::openssl::Config::createShared(); + std::cout << "Test package successful\n"; return 0; } diff --git a/recipes/oatpp-openssl/all/test_v1_package/CMakeLists.txt b/recipes/oatpp-openssl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 07d783bdbcaec..0000000000000 --- a/recipes/oatpp-openssl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(oatpp-openssl REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE oatpp::oatpp-openssl) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/oatpp-openssl/all/test_v1_package/conanfile.py b/recipes/oatpp-openssl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/oatpp-openssl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/oatpp-postgresql/all/test_v1_package/CMakeLists.txt b/recipes/oatpp-postgresql/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 5d0c80f735ffb..0000000000000 --- a/recipes/oatpp-postgresql/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(oatpp-postgresql REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE oatpp::oatpp-postgresql) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/oatpp-postgresql/all/test_v1_package/conanfile.py b/recipes/oatpp-postgresql/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/oatpp-postgresql/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/oatpp/all/conandata.yml b/recipes/oatpp/all/conandata.yml index d78e0b1d715f8..afae435ea8dae 100644 --- a/recipes/oatpp/all/conandata.yml +++ b/recipes/oatpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0.latest": + url: "https://github.com/oatpp/oatpp/archive/1.3.0-latest.tar.gz" + sha256: "adc3b88076532838cd0fb8155872d6a9467ac0cb5df319735a2396ce6945d064" "1.3.0": url: "https://github.com/oatpp/oatpp/archive/1.3.0.tar.gz" sha256: "e1f80fa8fd7a74da6737e7fee1a4db68b4d7085a3f40e7d550752d6ff5714583" diff --git a/recipes/oatpp/all/conanfile.py b/recipes/oatpp/all/conanfile.py index cae12177c9d72..ac27a054d2bc3 100644 --- a/recipes/oatpp/all/conanfile.py +++ b/recipes/oatpp/all/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.files import copy, get, rmdir from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version +from conan.tools.env import VirtualBuildEnv import os required_conan_version = ">=1.54.0" @@ -23,12 +24,21 @@ class OatppConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "with_test_library": [True, False], } default_options = { "shared": False, "fPIC": True, + "with_test_library": False, } + @property + def _version(self): + version = str(self.version) + if version.endswith(".latest"): + version = version[:-len(".latest")] + return version + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -49,6 +59,10 @@ def validate(self): if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": raise ConanInvalidConfiguration("oatpp requires GCC >=5") + def build_requirements(self): + if Version(self._version) >= "1.3.0": + self.tool_requires("cmake/[>=3.20 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -58,7 +72,10 @@ def generate(self): tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True if is_msvc(self) and Version(self.version) >= "1.3.0": tc.variables["OATPP_MSVC_LINK_STATIC_RUNTIME"] = is_msvc_static_runtime(self) + tc.variables["OATPP_LINK_TEST_LIBRARY"] = self.options.with_test_library tc.generate() + venv = VirtualBuildEnv(self) + venv.generate(scope="build") def build(self): cmake = CMake(self) @@ -74,8 +91,8 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "oatpp") - include_dir = os.path.join("include", f"oatpp-{self.version}", "oatpp") - lib_dir = os.path.join("lib", f"oatpp-{self.version}") + include_dir = os.path.join("include", f"oatpp-{self._version}", "oatpp") + lib_dir = os.path.join("lib", f"oatpp-{self._version}") # oatpp self.cpp_info.components["_oatpp"].names["cmake_find_package"] = "oatpp" @@ -85,18 +102,19 @@ def package_info(self): self.cpp_info.components["_oatpp"].libdirs = [lib_dir] self.cpp_info.components["_oatpp"].libs = ["oatpp"] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["_oatpp"].system_libs = ["pthread"] + self.cpp_info.components["_oatpp"].system_libs = ["pthread", "m"] elif self.settings.os == "Windows": self.cpp_info.components["_oatpp"].system_libs = ["ws2_32", "wsock32"] # oatpp-test - self.cpp_info.components["oatpp-test"].names["cmake_find_package"] = "oatpp-test" - self.cpp_info.components["oatpp-test"].names["cmake_find_package_multi"] = "oatpp-test" - self.cpp_info.components["oatpp-test"].set_property("cmake_target_name", "oatpp-test::oatpp-test") - self.cpp_info.components["oatpp-test"].includedirs = [include_dir] - self.cpp_info.components["oatpp-test"].libdirs = [lib_dir] - self.cpp_info.components["oatpp-test"].libs = ["oatpp-test"] - self.cpp_info.components["oatpp-test"].requires = ["_oatpp"] + if self.options.with_test_library: + self.cpp_info.components["oatpp-test"].names["cmake_find_package"] = "oatpp-test" + self.cpp_info.components["oatpp-test"].names["cmake_find_package_multi"] = "oatpp-test" + self.cpp_info.components["oatpp-test"].set_property("cmake_target_name", "oatpp-test::oatpp-test") + self.cpp_info.components["oatpp-test"].includedirs = [include_dir] + self.cpp_info.components["oatpp-test"].libdirs = [lib_dir] + self.cpp_info.components["oatpp-test"].libs = ["oatpp-test"] + self.cpp_info.components["oatpp-test"].requires = ["_oatpp"] # workaround to have all components in the global target self.cpp_info.set_property("cmake_target_name", "oatpp::oatpp-test") diff --git a/recipes/oatpp/all/test_package/CMakeLists.txt b/recipes/oatpp/all/test_package/CMakeLists.txt index cffae2f965d2e..9c8af92835a8c 100644 --- a/recipes/oatpp/all/test_package/CMakeLists.txt +++ b/recipes/oatpp/all/test_package/CMakeLists.txt @@ -3,12 +3,6 @@ project(test_package LANGUAGES CXX) find_package(oatpp REQUIRED CONFIG) -if ("${oatpp_VERSION}" VERSION_GREATER_EQUAL "1.3.0") - add_executable(${PROJECT_NAME} test_package.cpp DeserializerTest_1_3_0.cpp) -elseif("${oatpp_VERSION}" VERSION_GREATER_EQUAL "1.1.0") - add_executable(${PROJECT_NAME} test_package.cpp DeserializerTest_1_1_0.cpp) -else() - add_executable(${PROJECT_NAME} test_package.cpp DeserializerTest_1_0_0.cpp) -endif() -target_link_libraries(${PROJECT_NAME} PRIVATE oatpp::oatpp oatpp::oatpp-test) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE oatpp::oatpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/oatpp/all/test_package/DeserializerTest.hpp b/recipes/oatpp/all/test_package/DeserializerTest.hpp deleted file mode 100644 index 6c1c0ec06209e..0000000000000 --- a/recipes/oatpp/all/test_package/DeserializerTest.hpp +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef oatpp_test_parser_json_mapping_DeserializerTest_hpp -#define oatpp_test_parser_json_mapping_DeserializerTest_hpp - -#include "oatpp-test/UnitTest.hpp" - -namespace oatpp { namespace test { namespace parser { namespace json { namespace mapping { - -class DeserializerTest : public UnitTest{ -public: - - DeserializerTest():UnitTest("TEST[parser::json::mapping::DeserializerTest]"){} - void onRun() override; - -}; - -}}}}} - -#endif /* oatpp_test_parser_json_mapping_DeserializerTest_hpp */ diff --git a/recipes/oatpp/all/test_package/DeserializerTest_1_0_0.cpp b/recipes/oatpp/all/test_package/DeserializerTest_1_0_0.cpp deleted file mode 100644 index e4cd44ea34920..0000000000000 --- a/recipes/oatpp/all/test_package/DeserializerTest_1_0_0.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include "DeserializerTest.hpp" - -#include "oatpp/parser/json/mapping/ObjectMapper.hpp" -#include "oatpp/core/macro/codegen.hpp" - -namespace oatpp { namespace test { namespace parser { namespace json { namespace mapping { - -namespace { - -#include OATPP_CODEGEN_BEGIN(DTO) - -typedef oatpp::data::mapping::type::Object DTO; - -class EmptyDto : public DTO { - - DTO_INIT(EmptyDto, DTO) - -}; - -class SampleDto : public DTO { - - DTO_INIT(SampleDto, DTO); - - DTO_FIELD(String, strF); - DTO_FIELD(Int32, int32F); - DTO_FIELD(Float32, float32F); - DTO_FIELD(EmptyDto::ObjectWrapper, object); - DTO_FIELD(List::ObjectWrapper, list); - -}; - -#include OATPP_CODEGEN_END(DTO) - -} - -void DeserializerTest::onRun(){ - - auto mapper = oatpp::parser::json::mapping::ObjectMapper::createShared(); - - auto obj = mapper->readFromString("{ \"strF\": \"value1\", \"int32F\": 30, \"float32F\": 32.4, \"object\": {}\"list\": [] }"); - - OATPP_ASSERT(obj); - OATPP_ASSERT(obj->strF->equals("value1")); - OATPP_ASSERT(obj->int32F->getValue() == 30); - OATPP_ASSERT(obj->float32F); - OATPP_ASSERT(obj->object); - OATPP_ASSERT(obj->list->count() == 0); - -} - -}}}}} diff --git a/recipes/oatpp/all/test_package/DeserializerTest_1_1_0.cpp b/recipes/oatpp/all/test_package/DeserializerTest_1_1_0.cpp deleted file mode 100644 index 93aedbe56f4c3..0000000000000 --- a/recipes/oatpp/all/test_package/DeserializerTest_1_1_0.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include "DeserializerTest.hpp" - -#include "oatpp/parser/json/mapping/ObjectMapper.hpp" -#include "oatpp/core/macro/codegen.hpp" - -namespace oatpp { namespace test { namespace parser { namespace json { namespace mapping { - -namespace { - -#include OATPP_CODEGEN_BEGIN(DTO) - -class EmptyDto : public oatpp::DTO { - - DTO_INIT(EmptyDto, DTO) - -}; - -class SampleDto : public DTO { - - DTO_INIT(SampleDto, DTO); - - DTO_FIELD(String, strF); - DTO_FIELD(Int32, int32F); - DTO_FIELD(Float32, float32F); - DTO_FIELD(Object, object); - DTO_FIELD(List>, list); - -}; - -#include OATPP_CODEGEN_END(DTO) - -} - -void DeserializerTest::onRun(){ - - auto mapper = oatpp::parser::json::mapping::ObjectMapper::createShared(); - - auto obj = mapper->readFromString>("{ \"strF\": \"value1\", \"int32F\": 30, \"float32F\": 32.4, \"object\": {}\"list\": [] }"); - - OATPP_ASSERT(obj); - OATPP_ASSERT(obj->strF->equals("value1")); - OATPP_ASSERT(obj->int32F == 30); - OATPP_ASSERT(obj->float32F); - OATPP_ASSERT(obj->object); - OATPP_ASSERT(obj->list->size() == 0); - -} - -}}}}} diff --git a/recipes/oatpp/all/test_package/DeserializerTest_1_3_0.cpp b/recipes/oatpp/all/test_package/DeserializerTest_1_3_0.cpp deleted file mode 100644 index 331bb2d27749f..0000000000000 --- a/recipes/oatpp/all/test_package/DeserializerTest_1_3_0.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include "DeserializerTest.hpp" - -#include "oatpp/parser/json/mapping/ObjectMapper.hpp" -#include "oatpp/core/macro/codegen.hpp" - -namespace oatpp { namespace test { namespace parser { namespace json { namespace mapping { - -namespace { - -#include OATPP_CODEGEN_BEGIN(DTO) - -class EmptyDto : public oatpp::DTO { - - DTO_INIT(EmptyDto, DTO) - -}; - -class SampleDto : public DTO { - - DTO_INIT(SampleDto, DTO); - - DTO_FIELD(String, strF); - DTO_FIELD(Int32, int32F); - DTO_FIELD(Float32, float32F); - DTO_FIELD(Object, object); - DTO_FIELD(List>, list); - -}; - -#include OATPP_CODEGEN_END(DTO) - -} - -void DeserializerTest::onRun(){ - - auto mapper = oatpp::parser::json::mapping::ObjectMapper::createShared(); - - auto obj = mapper->readFromString>("{ \"strF\": \"value1\", \"int32F\": 30, \"float32F\": 32.4, \"object\": {}\"list\": [] }"); - - OATPP_ASSERT(obj); - OATPP_ASSERT(*(obj->strF) == "value1"); - OATPP_ASSERT(obj->int32F == 30); - OATPP_ASSERT(obj->float32F); - OATPP_ASSERT(obj->object); - OATPP_ASSERT(obj->list->size() == 0); - -} - -}}}}} diff --git a/recipes/oatpp/all/test_package/test_package.cpp b/recipes/oatpp/all/test_package/test_package.cpp index b0d824cdfda32..c3c071f43b8a4 100644 --- a/recipes/oatpp/all/test_package/test_package.cpp +++ b/recipes/oatpp/all/test_package/test_package.cpp @@ -1,31 +1,20 @@ -#include "DeserializerTest.hpp" +#include #include "oatpp/core/concurrency/SpinLock.hpp" #include "oatpp/core/base/Environment.hpp" -#include -#include - - -void runTests() { - OATPP_RUN_TEST(oatpp::test::parser::json::mapping::DeserializerTest); -} - int main() { oatpp::base::Environment::init(); - - runTests(); - + /* Print how much objects were created during app running, and what have left-probably leaked */ /* Disable object counting for release builds using '-D OATPP_DISABLE_ENV_OBJECT_COUNTERS' flag for better performance */ std::cout << "\nEnvironment:\n"; std::cout << "objectsCount = " << oatpp::base::Environment::getObjectsCount() << "\n"; std::cout << "objectsCreated = " << oatpp::base::Environment::getObjectsCreated() << "\n\n"; - + OATPP_ASSERT(oatpp::base::Environment::getObjectsCount() == 0); - - oatpp::base::Environment::destroy(); + oatpp::base::Environment::destroy(); return 0; } diff --git a/recipes/oatpp/all/test_v1_package/CMakeLists.txt b/recipes/oatpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/oatpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/oatpp/all/test_v1_package/conanfile.py b/recipes/oatpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/oatpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/oatpp/config.yml b/recipes/oatpp/config.yml index 4fdf83fae05c2..64022fc52f7b5 100644 --- a/recipes/oatpp/config.yml +++ b/recipes/oatpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0.latest": + folder: all "1.3.0": folder: all "1.2.5": diff --git a/recipes/objectbox-generator/all/test_v1_package/conanfile.py b/recipes/objectbox-generator/all/test_v1_package/conanfile.py deleted file mode 100644 index c605339e388af..0000000000000 --- a/recipes/objectbox-generator/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,11 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join(self.deps_cpp_info["objectbox-generator"].rootpath, "bin", "objectbox-generator") - self.run(bin_path + " -help", run_environment=True) diff --git a/recipes/oboe/all/test_v1_package/CMakeLists.txt b/recipes/oboe/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/oboe/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/oboe/all/test_v1_package/conanfile.py b/recipes/oboe/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/oboe/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/observer-ptr-lite/all/test_v1_package/CMakeLists.txt b/recipes/observer-ptr-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/observer-ptr-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/observer-ptr-lite/all/test_v1_package/conanfile.py b/recipes/observer-ptr-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/observer-ptr-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ocilib/all/conandata.yml b/recipes/ocilib/all/conandata.yml new file mode 100644 index 0000000000000..2f5cc065e7d14 --- /dev/null +++ b/recipes/ocilib/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "4.7.6": + url: "https://github.com/vrogier/ocilib/releases/download/v4.7.6/ocilib-4.7.6-gnu.tar.gz" + sha256: "35657c00b3cfbcff09a398a6566b95b23067b0d15c1155a17615da7780715a85" diff --git a/recipes/ocilib/all/conanfile.py b/recipes/ocilib/all/conanfile.py new file mode 100644 index 0000000000000..6af72058d349a --- /dev/null +++ b/recipes/ocilib/all/conanfile.py @@ -0,0 +1,81 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get, rm, rmdir, chdir +from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.54.0" + +class OCILIBConan(ConanFile): + name = "ocilib" + description = "An open source and cross platform Oracle Driver that delivers efficient access to Oracle databases." + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/vrogier/ocilib" + topics = ("database", "db", "sql", "oracle") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_oracle_charset": ["ansi", "wide"], + "with_oracle_import": ["runtime", "linkage"], + } + default_options = { + "shared": False, + "fPIC": True, + "with_oracle_charset": "ansi", + "with_oracle_import": "runtime", + } + + @property + def _min_cppstd(self): + return 11 + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + if self.settings.os != "Linux": + raise ConanInvalidConfiguration(f"{self.ref} recipe only supports Linux for now. Pull requests to add new configurtations are welcomed.") + # TODO: Check support for other platforms + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.configure_args.extend([ + f"--with-oracle-charset={self.options.with_oracle_charset}", + f"--with-oracle-import={self.options.with_oracle_import}", + ]) + tc.generate() + + def build(self): + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.configure() + autotools.make() + + def package(self): + autotools = Autotools(self) + autotools.install() + + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) + copy(self, "*.lib", self.source_folder, os.path.join(self.package_folder, "lib"), keep_path=False) + copy(self, "*.a", self.source_folder, os.path.join(self.package_folder, "lib"), keep_path=False) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + + def package_info(self): + self.cpp_info.libs = ["ocilib"] + self.cpp_info.set_property("pkg_config_name", "ocilib") + self.cpp_info.system_libs.append("dl") diff --git a/recipes/ocilib/all/test_package/CMakeLists.txt b/recipes/ocilib/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d33ea642b397 --- /dev/null +++ b/recipes/ocilib/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + + +find_package(ocilib REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE ocilib::ocilib) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/ocilib/all/test_package/conanfile.py b/recipes/ocilib/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a808db45f245 --- /dev/null +++ b/recipes/ocilib/all/test_package/conanfile.py @@ -0,0 +1,27 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +# It will become the standard on Conan 2.x +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") diff --git a/recipes/ocilib/all/test_package/test_package.cpp b/recipes/ocilib/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..e71599957563d --- /dev/null +++ b/recipes/ocilib/all/test_package/test_package.cpp @@ -0,0 +1,26 @@ +#include +#include + +#include "ocilib.hpp" + +using namespace ocilib; + +int main(void) +{ + try + { + std::cout << "OCILIB Version: "; + std::cout << OCILIB_MAJOR_VERSION << "."; + std::cout << OCILIB_MINOR_VERSION << "."; + std::cout << OCILIB_REVISION_VERSION << std::endl; + + Environment::Initialize(); + } + catch (...) + { + } + + Environment::Cleanup(); + + return EXIT_SUCCESS; +} diff --git a/recipes/ocilib/config.yml b/recipes/ocilib/config.yml new file mode 100644 index 0000000000000..947442bf2969b --- /dev/null +++ b/recipes/ocilib/config.yml @@ -0,0 +1,3 @@ +versions: + "4.7.6": + folder: all diff --git a/recipes/octo-keygen-cpp/all/test_v1_package/CMakeLists.txt b/recipes/octo-keygen-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index bf7511416a6f8..0000000000000 --- a/recipes/octo-keygen-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(octo-keygen-cpp CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE octo-keygen-cpp::octo-keygen-cpp) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) diff --git a/recipes/octo-keygen-cpp/all/test_v1_package/conanfile.py b/recipes/octo-keygen-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 2490acfa82ff8..0000000000000 --- a/recipes/octo-keygen-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/octo-logger-cpp/all/conandata.yml b/recipes/octo-logger-cpp/all/conandata.yml index 47b30faf7d121..5b5d4e7697075 100644 --- a/recipes/octo-logger-cpp/all/conandata.yml +++ b/recipes/octo-logger-cpp/all/conandata.yml @@ -1,10 +1,16 @@ sources: + "2.1.2": + url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v2.1.2.tar.gz" + sha256: "d653dc91d17f33f2e7659126ba408b40f8f421def8190ec2b6991713c6a2accf" + "2.0.2": + url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v2.0.2.tar.gz" + sha256: "6aa8ee80a7f7b84df55fa215f22cdf66cbeece8cc60b2097828795194a1e6a40" "2.0.0": url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v2.0.0.tar.gz" sha256: "2edad6d1cba27019f1f26e562d9d8ff8395fc9ada1e8fb0c226c603ec5e0ed15" "1.12.0": url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v1.12.0.tar.gz" - sha256: "b4140d31910af128e1d97ae44a564bbad7f7ca889410bbc885691c5e215c0d61" + sha256: "77f351ae4cad973ad7836dae7498419692590f2419b5b569c1f00fc6130d8bbb" "1.11.0": url: "https://github.com/ofiriluz/octo-logger-cpp/archive/v1.11.0.tar.gz" sha256: "73c35ca2a2e0c4be2cd85c5ba1f4061bbc22637fe79570107f1123eff30936db" diff --git a/recipes/octo-logger-cpp/all/conanfile.py b/recipes/octo-logger-cpp/all/conanfile.py index 247a0179f4fb8..27de74bad7ee2 100644 --- a/recipes/octo-logger-cpp/all/conanfile.py +++ b/recipes/octo-logger-cpp/all/conanfile.py @@ -55,7 +55,10 @@ def requirements(self): self.requires("fmt/10.2.1", transitive_headers=True) if self.options.get_safe("with_aws"): self.requires("nlohmann_json/3.11.3") - self.requires("aws-sdk-cpp/1.9.234") + if Version(self.version) >= "2.0.0": + self.requires("aws-sdk-cpp/1.11.352") + else: + self.requires("aws-sdk-cpp/1.9.234") def validate(self): if self.settings.compiler.get_safe("cppstd"): diff --git a/recipes/octo-logger-cpp/config.yml b/recipes/octo-logger-cpp/config.yml index d8ff67e582f8b..70f417f829406 100644 --- a/recipes/octo-logger-cpp/config.yml +++ b/recipes/octo-logger-cpp/config.yml @@ -1,4 +1,8 @@ versions: + "2.1.2": + folder: "all" + "2.0.2": + folder: "all" "2.0.0": folder: "all" "1.12.0": diff --git a/recipes/octomap/all/test_v1_package/CMakeLists.txt b/recipes/octomap/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/octomap/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/octomap/all/test_v1_package/conanfile.py b/recipes/octomap/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/octomap/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/odbc/all/test_v1_package/CMakeLists.txt b/recipes/odbc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/odbc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/odbc/all/test_v1_package/conanfile.py b/recipes/odbc/all/test_v1_package/conanfile.py deleted file mode 100644 index dfa9a73cae43c..0000000000000 --- a/recipes/odbc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - self.run("odbcinst --version", run_environment=True) diff --git a/recipes/ode/all/test_v1_package/CMakeLists.txt b/recipes/ode/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/ode/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/ode/all/test_v1_package/conanfile.py b/recipes/ode/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/ode/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ofeli/4.x/test_v1_package/CMakeLists.txt b/recipes/ofeli/4.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/ofeli/4.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ofeli/4.x/test_v1_package/conanfile.py b/recipes/ofeli/4.x/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/ofeli/4.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ogdf/all/test_v1_package/CMakeLists.txt b/recipes/ogdf/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 36b48f96d1078..0000000000000 --- a/recipes/ogdf/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) -set(CMAKE_CXX_STANDARD 11) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ogdf/all/test_v1_package/conanfile.py b/recipes/ogdf/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/ogdf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ogg/all/test_v1_package/CMakeLists.txt b/recipes/ogg/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 37f60244ccda5..0000000000000 --- a/recipes/ogg/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(Ogg REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE Ogg::ogg) diff --git a/recipes/ogg/all/test_v1_package/conanfile.py b/recipes/ogg/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/ogg/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/onedpl/all/test_v1_package/CMakeLists.txt b/recipes/onedpl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/onedpl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/onedpl/all/test_v1_package/conanfile.py b/recipes/onedpl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/onedpl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 7031f90417a73..ce8c54ce3d4ca 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -1,5 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv @@ -52,7 +53,9 @@ def _tbbbind_hwloc_version(self): @property def _tbbbind_supported(self): - return self.settings.os != "Macos" or Version(self.version) >= "2021.11.0" + if is_apple_os(self): + return self.settings.os == "Macos" and Version(self.version) >= "2021.11.0" + return True @property def _tbbbind_build(self): @@ -113,7 +116,7 @@ def generate(self): toolchain.variables["TBB_STRICT"] = False if Version(self.version) >= "2021.5.0": toolchain.variables["TBBMALLOC_BUILD"] = self.options.tbbmalloc - if self.options.get_safe("interprocedural_optimization"): + if self.options.get_safe("interprocedural_optimization") is not None: toolchain.variables["TBB_ENABLE_IPO"] = self.options.interprocedural_optimization if Version(self.version) >= "2021.6.0" and self.options.get_safe("tbbmalloc"): toolchain.variables["TBBMALLOC_PROXY_BUILD"] = self.options.tbbproxy diff --git a/recipes/oniguruma/all/test_v1_package/CMakeLists.txt b/recipes/oniguruma/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/oniguruma/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/oniguruma/all/test_v1_package/conanfile.py b/recipes/oniguruma/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/oniguruma/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/onnx/all/conandata.yml b/recipes/onnx/all/conandata.yml index a143774132c75..337aa98f505f5 100644 --- a/recipes/onnx/all/conandata.yml +++ b/recipes/onnx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.17.0": + url: "https://github.com/onnx/onnx/archive/v1.17.0.tar.gz" + sha256: "8d5e983c36037003615e5a02d36b18fc286541bf52de1a78f6cf9f32005a820e" "1.16.2": url: "https://github.com/onnx/onnx/archive/v1.16.2.tar.gz" sha256: "84fc1c3d6133417f8a13af6643ed50983c91dacde5ffba16cc8bb39b22c2acbb" diff --git a/recipes/onnx/all/conanfile.py b/recipes/onnx/all/conanfile.py index 0032d4c6de8cd..ccffd47b97dce 100644 --- a/recipes/onnx/all/conanfile.py +++ b/recipes/onnx/all/conanfile.py @@ -113,7 +113,6 @@ def generate(self): # https://cmake.org/cmake/help/v3.28/module/FindPythonInterp.html # https://github.com/onnx/onnx/blob/1014f41f17ecc778d63e760a994579d96ba471ff/CMakeLists.txt#L119C1-L119C50 tc.variables["PYTHON_EXECUTABLE"] = sys.executable.replace("\\", "/") - tc.variables["ONNX_BUILD_BENCHMARKS"] = False tc.variables["ONNX_USE_PROTOBUF_SHARED_LIBS"] = self.dependencies.host["protobuf"].options.shared tc.variables["BUILD_ONNX_PYTHON"] = False tc.variables["ONNX_GEN_PB_TYPE_STUBS"] = False diff --git a/recipes/onnx/config.yml b/recipes/onnx/config.yml index 62dc832f13021..32a3b9ac351e1 100644 --- a/recipes/onnx/config.yml +++ b/recipes/onnx/config.yml @@ -1,4 +1,6 @@ versions: + "1.17.0": + folder: all "1.16.2": folder: all "1.16.1": diff --git a/recipes/open-dis-cpp/all/test_v1_package/CMakeLists.txt b/recipes/open-dis-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/open-dis-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/open-dis-cpp/all/test_v1_package/conanfile.py b/recipes/open-dis-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 8651492935b32..0000000000000 --- a/recipes/open-dis-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package_dis6"), run_environment=True) - self.run(os.path.join("bin", "test_package_dis7"), run_environment=True) diff --git a/recipes/open-simulation-interface/all/test_v1_package/CMakeLists.txt b/recipes/open-simulation-interface/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/open-simulation-interface/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/open-simulation-interface/all/test_v1_package/conanfile.py b/recipes/open-simulation-interface/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/open-simulation-interface/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/open62541/all/conandata.yml b/recipes/open62541/all/conandata.yml index 8fd6ed73c8578..6237b2ba7aa88 100644 --- a/recipes/open62541/all/conandata.yml +++ b/recipes/open62541/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.6": + url: "https://github.com/open62541/open62541/archive/v1.4.6.tar.gz" + sha256: "bc4ad185fec5c257e15fcb813b7fef9607b7aaa5d355de7b665e1f210556d38e" "1.3.9": url: "https://github.com/open62541/open62541/archive/v1.3.9.tar.gz" sha256: "71764d4a060cfa07eae7aaabd176da38b155ef01c63103513339699fd8026e2f" @@ -15,6 +18,13 @@ sources: url: "https://github.com/open62541/open62541/archive/v1.0.6.tar.gz" sha256: "299940025c14929533064abe0044d5805ea50d52b32d05ad9bc0e6996569c2a6" patches: + "1.4.6": + - patch_file: "patches/0001-disable-sanitizers-1_4_x.patch" + patch_description: "Disable static code analysis" + patch_type: "conan" + - patch_file: "patches/0004-include-iphlpapi.patch" + patch_description: "Include iphlpapi.h for SecureZeroMemory" + patch_type: "conan" "1.3.9": - patch_file: "patches/0001-disable-sanitizers-1_3_x.patch" patch_description: "Disable static code analysis" diff --git a/recipes/open62541/all/conanfile.py b/recipes/open62541/all/conanfile.py index 2321b74998973..456510bc92860 100644 --- a/recipes/open62541/all/conanfile.py +++ b/recipes/open62541/all/conanfile.py @@ -12,9 +12,6 @@ class Open62541Conan(ConanFile): name = "open62541" - license = ("MPL-2.0", "CC0-1.0") - homepage = "https://open62541.org/" - url = "https://github.com/conan-io/conan-center-index" description = "open62541 is an open source and free implementation of OPC UA " \ "(OPC Unified Architecture) written in the common subset of the " \ "C99 and C++98 languages. The library is usable with all major " \ @@ -23,6 +20,9 @@ class Open62541Conan(ConanFile): "into existing applications. open62541 library is platform independent. " \ "All platform-specific functionality is implemented via exchangeable " \ "plugins. Plugin implementations are provided for the major operating systems." + license = ("MPL-2.0", "CC0-1.0") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://open62541.org/" topics = ( "opc ua", "sdk", "server/client", "c", "iec-62541", "industrial automation", "tsn", "time sensitive networks", "publish-subscirbe", "pubsub" @@ -161,11 +161,6 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") - # Due to https://github.com/open62541/open62541/issues/4687 we cannot build with 1.2.2 + Windows + shared - if Version(self.version) >= "1.2.2" and self.settings.os == "Windows" and self.options.shared: - raise ConanInvalidConfiguration( - f"{self.ref} doesn't properly support shared lib on Windows") - if self.options.subscription == "With Events": # Deprecated in 1.2.2 self.output.warning( @@ -229,17 +224,20 @@ def validate(self): raise ConanInvalidConfiguration( "PubSub over Ethernet is not supported for your OS!") + # Due to https://github.com/open62541/open62541/issues/4687 we cannot build with 1.2.2 + Windows + shared + if Version(self.version) >= "1.2.2" and self.settings.os == "Windows" and self.options.shared: + raise ConanInvalidConfiguration( + f"{self.ref} doesn't properly support shared lib on Windows") + if self.options.web_socket: if self.options["libwebsockets"].with_ssl != self.options.encryption: raise ConanInvalidConfiguration( "When web_socket is enabled, libwebsockets:with_ssl must have the value of open62541:encryption") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - submodule_filename = os.path.join( - self.recipe_folder, 'submoduledata.yml') + submodule_filename = os.path.join(self.recipe_folder, 'submoduledata.yml') with open(submodule_filename, 'r') as submodule_stream: submodules_data = yaml.safe_load(submodule_stream) for path, submodule in submodules_data["submodules"][self.version].items(): @@ -327,6 +325,7 @@ def generate(self): tc.variables["UA_ENABLE_ENCRYPTION_OPENSSL"] = True tc.variables["UA_ENABLE_JSON_ENCODING"] = self.options.json_support + tc.variables["UA_ENABLE_PUBSUB_INFORMATIONMODEL"] = self.options.pub_sub != False tc.variables["UA_ENABLE_PUBSUB"] = self.options.pub_sub != False tc.variables["UA_ENABLE_PUBSUB_ENCRYPTION"] = self.options.pub_sub_encryption != False @@ -359,6 +358,7 @@ def generate(self): tc.generate() tc = CMakeDeps(self) + tc.set_property("mbedtls", "cmake_additional_variables_prefixes", ["MBEDTLS"]) tc.generate() def _patch_sources(self): @@ -431,15 +431,18 @@ def package_info(self): else: self.cpp_info.includedirs.append( os.path.join("include", "open62541", "plugin")) - if self.settings.os == "Windows": - self.cpp_info.includedirs.append( - os.path.join("include", "open62541", "win32")) - else: - self.cpp_info.includedirs.append( - os.path.join("include", "open62541", "posix")) + if Version(self.version) < "1.4.0": + if self.settings.os == "Windows": + self.cpp_info.includedirs.append( + os.path.join("include", "open62541", "win32")) + else: + self.cpp_info.includedirs.append( + os.path.join("include", "open62541", "posix")) if self.settings.os == "Windows": self.cpp_info.system_libs.append("ws2_32") + if Version(self.version) >= "1.4.6": + self.cpp_info.system_libs.append("iphlpapi") elif self.settings.os in ("Linux", "FreeBSD"): self.cpp_info.system_libs.extend(["pthread", "m", "rt"]) @@ -451,4 +454,3 @@ def package_info(self): self._module_file_rel_path] self.cpp_info.set_property("cmake_build_modules", [ self._module_file_rel_path]) - diff --git a/recipes/open62541/all/patches/0001-disable-sanitizers-1_4_x.patch b/recipes/open62541/all/patches/0001-disable-sanitizers-1_4_x.patch new file mode 100644 index 0000000000000..841418b28bf86 --- /dev/null +++ b/recipes/open62541/all/patches/0001-disable-sanitizers-1_4_x.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c18a457..951efe4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -666,18 +666,18 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") + set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # cmake sets -rdynamic by default + + # Debug +- if(UA_ENABLE_DEBUG_SANITIZER AND BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND +- CMAKE_C_COMPILER_ID STREQUAL "Clang" AND NOT UA_ENABLE_UNIT_TESTS_MEMCHECK) +- # Add default sanitizer settings when using clang and Debug build. +- # This allows e.g. CLion to find memory locations for SegFaults +- message(STATUS "Sanitizer enabled") +- set(SANITIZER_FLAGS "-g -fno-omit-frame-pointer -gline-tables-only -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=leak -fsanitize=undefined") +- if(CMAKE_CXX_COMPILER_VERSION AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.0) +- set(SANITIZER_FLAGS "${SANITIZER_FLAGS} -fsanitize-coverage=trace-pc-guard") +- endif() +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SANITIZER_FLAGS}") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SANITIZER_FLAGS}") +- endif() ++ # if(UA_ENABLE_DEBUG_SANITIZER AND BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND ++ # CMAKE_C_COMPILER_ID STREQUAL "Clang" AND NOT UA_ENABLE_UNIT_TESTS_MEMCHECK) ++ # # Add default sanitizer settings when using clang and Debug build. ++ # # This allows e.g. CLion to find memory locations for SegFaults ++ # message(STATUS "Sanitizer enabled") ++ # set(SANITIZER_FLAGS "-g -fno-omit-frame-pointer -gline-tables-only -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=leak -fsanitize=undefined") ++ # if(CMAKE_CXX_COMPILER_VERSION AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.0) ++ # set(SANITIZER_FLAGS "${SANITIZER_FLAGS} -fsanitize-coverage=trace-pc-guard") ++ # endif() ++ # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SANITIZER_FLAGS}") ++ # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SANITIZER_FLAGS}") ++ # endif() + + if(NOT MINGW AND UA_ENABLE_HARDENING AND ((CMAKE_BUILD_TYPE STREQUAL "Release") OR (CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo"))) + check_add_cc_flag("-D_FORTIFY_SOURCE=2") # run-time buffer overflow detection (needs at least -O1) diff --git a/recipes/open62541/all/patches/0004-include-iphlpapi.patch b/recipes/open62541/all/patches/0004-include-iphlpapi.patch new file mode 100644 index 0000000000000..4af83a9e4709b --- /dev/null +++ b/recipes/open62541/all/patches/0004-include-iphlpapi.patch @@ -0,0 +1,15 @@ +diff --git a/src/ua_util.c b/src/ua_util.c +index 13eb0fb..d832f0a 100644 +--- a/src/ua_util.c ++++ b/src/ua_util.c +@@ -11,6 +11,10 @@ + * unit for the generated code from UA_INLINABLE definitions. */ + #define UA_INLINABLE_IMPL 1 + ++#if defined(_WIN32) ++# include ++# include ++#endif + #include + #include + diff --git a/recipes/open62541/all/submoduledata.yml b/recipes/open62541/all/submoduledata.yml index f60651d6c51ea..ec323bcad9aa0 100644 --- a/recipes/open62541/all/submoduledata.yml +++ b/recipes/open62541/all/submoduledata.yml @@ -1,26 +1,31 @@ submodules: - "1.0.6": + "1.4.6": deps/ua-nodeset: - sha256: c9c0228ce640bf4eead31b9c0b5b7190bc197a2d393a8e90328d14cb45805637 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/UA-1.04.8-2020-11-20.zip + url: "https://github.com/OPCFoundation/UA-Nodeset/archive/Machinery-1.03.0-2023-08-01.zip" + sha256: "b1677e7114004f44103159ae7a2fb220958e6f645177c9d140f6acfe469b8eb8" archive_pattern: "UA-Nodeset-{version}" - "1.1.6": + "1.3.9": + deps/ua-nodeset: + url: "https://github.com/OPCFoundation/UA-Nodeset/archive/Glass=1.0.0-2022-01-01.zip" + sha256: "032c93e3f7c335bbb2d2d699804a804c9cdce2a2ecc3fe7cde552f2130982c26" + archive_pattern: "UA-Nodeset-{version}" + "1.3.8": deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip + url: "https://github.com/OPCFoundation/UA-Nodeset/archive/Glass=1.0.0-2022-01-01.zip" + sha256: "032c93e3f7c335bbb2d2d699804a804c9cdce2a2ecc3fe7cde552f2130982c26" archive_pattern: "UA-Nodeset-{version}" "1.2.6": deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip + url: "https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip" + sha256: "a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562" archive_pattern: "UA-Nodeset-{version}" - "1.3.8": + "1.1.6": deps/ua-nodeset: - sha256: 032c93e3f7c335bbb2d2d699804a804c9cdce2a2ecc3fe7cde552f2130982c26 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Glass=1.0.0-2022-01-01.zip + url: "https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip" + sha256: "a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562" archive_pattern: "UA-Nodeset-{version}" - "1.3.9": + "1.0.6": deps/ua-nodeset: - sha256: 032c93e3f7c335bbb2d2d699804a804c9cdce2a2ecc3fe7cde552f2130982c26 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Glass=1.0.0-2022-01-01.zip + url: "https://github.com/OPCFoundation/UA-Nodeset/archive/UA-1.04.8-2020-11-20.zip" + sha256: "c9c0228ce640bf4eead31b9c0b5b7190bc197a2d393a8e90328d14cb45805637" archive_pattern: "UA-Nodeset-{version}" diff --git a/recipes/open62541/all/test_package/conanfile.py b/recipes/open62541/all/test_package/conanfile.py index c1fe645c77cc3..85d0878ec465b 100644 --- a/recipes/open62541/all/test_package/conanfile.py +++ b/recipes/open62541/all/test_package/conanfile.py @@ -23,6 +23,7 @@ def generate(self): "user.ua-nodeset:nodeset_dir").replace("\\", "/") # sanitize path for windows systems tc.variables["open62541_TOOLS_DIR"] = self.dependencies["open62541"].conf_info.get( "user.open62541:tools_dir") + tc.variables["UA_SCHEMA_DIR"] = os.path.join(self.dependencies["ua-nodeset"].conf_info.get("user.ua-nodeset:nodeset_dir"), "Schema").replace("\\", "/") tc.generate() def build(self): diff --git a/recipes/open62541/all/test_package/test_package.c b/recipes/open62541/all/test_package/test_package.c index 31232fcb703bd..ee2c13af0aa82 100644 --- a/recipes/open62541/all/test_package/test_package.c +++ b/recipes/open62541/all/test_package/test_package.c @@ -4,14 +4,12 @@ #include #include #include -#include #endif /* Files namespace_foo_flt_generated.h and namespace_foo_flt_generated.c are created from FooFlt.NodeSet2.xml in the * /src_generated directory by CMake */ #include "foo_flt_nodeids.h" #include "namespace_foo_flt_generated.h" -#include #include #include @@ -31,13 +29,13 @@ int main(void) { UA_Server_addRepeatedCallback(server, server_stop_callback, NULL, 500., NULL); /* create nodes from nodeset */ - if(namespace_foo_flt_generated(server) != UA_STATUSCODE_GOOD) + if(namespace_foo_flt_generated(server) != UA_STATUSCODE_GOOD) { UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_SERVER, "Could not add the Foo FLT nodeset. " "Check previous output for any error."); return_code = UA_STATUSCODE_BADUNEXPECTEDERROR; - } - else + } + else { // Do some additional stuff with the nodes // this will just get the namespace index, since it is already added to the server @@ -45,29 +43,9 @@ int main(void) { UA_NodeId testInstanceId = UA_NODEID_NUMERIC(nsIdx, UA_FOO_FLTID_APE); UA_LOG_INFO(UA_Log_Stdout, UA_LOGCATEGORY_SERVER, "The Ape has ns=%d;id=%d", testInstanceId.namespaceIndex, testInstanceId.identifier.numeric); - - return_code = UA_Server_run(server, &running); - - while(return_code == UA_STATUSCODE_BADCOMMUNICATIONERROR) - { - running = false; - portNumber = portNumber + 1; - UA_Server_getConfig(server)->networkLayersSize = 0; - UA_ServerConfig_addNetworkLayerTCP(UA_Server_getConfig(server), portNumber, 0, 0); - running = true; - return_code = UA_Server_run(server, &running); - if(return_code == UA_STATUSCODE_GOOD) - { - printf("free port found"); - break; - } - else if(portNumber>4850) - { - printf("ports from 4840 to 4850 are not avilable"); - break; - } - } + // return_code = UA_Server_run(server, &running); + return_code = UA_STATUSCODE_GOOD; } running = false; UA_Server_delete(server); diff --git a/recipes/open62541/all/test_v1_package/CMakeLists.txt b/recipes/open62541/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8113fa1875eb6..0000000000000 --- a/recipes/open62541/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -cmake_minimum_required(VERSION 3.12) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(open62541 REQUIRED CONFIG) -find_package(Threads REQUIRED) - -find_package(Python3 REQUIRED) -set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) - -# Output directory for Nodeset Compiler -set(GENERATE_OUTPUT_DIR "${CMAKE_BINARY_DIR}/src_generated/") -file(MAKE_DIRECTORY "${GENERATE_OUTPUT_DIR}") -include_directories("${GENERATE_OUTPUT_DIR}") -ua_generate_nodeset_and_datatypes( - NAME "foo_flt" - TARGET_PREFIX "${PROJECT_NAME}" - FILE_CSV "${PROJECT_SOURCE_DIR}/../test_package/FooFltModel.csv" - FILE_BSD "${PROJECT_SOURCE_DIR}/../test_package/FooFlt.Types.bsd" - OUTPUT_DIR "${GENERATE_OUTPUT_DIR}" - NAMESPACE_IDX 2 # This namespace index must match the order in which you are adding the nodeset in the source code - NAMESPACE_MAP "2:https://new.foo.com/zebra-compression/flattening-and-subspacefolding/UA/" - FILE_NS "${PROJECT_SOURCE_DIR}/../test_package/FooFlt.NodeSet2.xml" - INTERNAL -) -# Previous macro automatically sets some variables which hold the generated source code files using the provided NAME -add_executable(${PROJECT_NAME} - ${UA_NODESET_FOO_FLT_SOURCES} - ${UA_TYPES_FOO_FLT_SOURCES} - ../test_package/test_package.c -) - -# Make sure the nodeset compiler is executed before compiling the main file -add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}-ns-foo_flt) -target_link_libraries(${PROJECT_NAME} PRIVATE open62541::open62541) diff --git a/recipes/open62541/all/test_v1_package/conanfile.py b/recipes/open62541/all/test_v1_package/conanfile.py deleted file mode 100644 index 95cab84f3695f..0000000000000 --- a/recipes/open62541/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,24 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def requirements(self): - self.requires("ua-nodeset/padim-1.02-2021-07-21") - - def build(self): - cmake = CMake(self) - cmake.definitions["open62541_NODESET_DIR"] = self.deps_user_info["ua-nodeset"].nodeset_dir - cmake.definitions["open62541_TOOLS_DIR"] = self.deps_user_info["open62541"].tools_dir - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/open62541/config.yml b/recipes/open62541/config.yml index 02f8b3e330035..9dae87e5721a3 100644 --- a/recipes/open62541/config.yml +++ b/recipes/open62541/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.6": + folder: all "1.3.9": folder: all "1.3.8": diff --git a/recipes/openal-soft/all/test_v1_package/CMakeLists.txt b/recipes/openal-soft/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/openal-soft/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/openal-soft/all/test_v1_package/conanfile.py b/recipes/openal-soft/all/test_v1_package/conanfile.py deleted file mode 100644 index 19e6a0c06e3d8..0000000000000 --- a/recipes/openal-soft/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/openal/all/test_v1_package/CMakeLists.txt b/recipes/openal/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/openal/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/openal/all/test_v1_package/conanfile.py b/recipes/openal/all/test_v1_package/conanfile.py deleted file mode 100644 index 19e6a0c06e3d8..0000000000000 --- a/recipes/openal/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/openapi-generator/all/test_v1_package/conanfile.py b/recipes/openapi-generator/all/test_v1_package/conanfile.py deleted file mode 100644 index a481f4b62ad17..0000000000000 --- a/recipes/openapi-generator/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,10 +0,0 @@ -from conans import ConanFile -from conan.tools.build import can_run - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if can_run(self): - self.run("openapi-generator --version", run_environment=True) diff --git a/recipes/opencl-clhpp-headers/all/test_v1_package/CMakeLists.txt b/recipes/opencl-clhpp-headers/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/opencl-clhpp-headers/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/opencl-clhpp-headers/all/test_v1_package/conanfile.py b/recipes/opencl-clhpp-headers/all/test_v1_package/conanfile.py deleted file mode 100644 index 92704204c75e6..0000000000000 --- a/recipes/opencl-clhpp-headers/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,15 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - pass diff --git a/recipes/opencl-headers/all/test_v1_package/CMakeLists.txt b/recipes/opencl-headers/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/opencl-headers/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/opencl-headers/all/test_v1_package/conanfile.py b/recipes/opencl-headers/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/opencl-headers/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/opencl-icd-loader/all/test_v1_package/CMakeLists.txt b/recipes/opencl-icd-loader/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/opencl-icd-loader/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/opencl-icd-loader/all/test_v1_package/conanfile.py b/recipes/opencl-icd-loader/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/opencl-icd-loader/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/opencolorio/all/conandata.yml b/recipes/opencolorio/all/conandata.yml index 840a3b9147df2..ded9b55cd99f7 100644 --- a/recipes/opencolorio/all/conandata.yml +++ b/recipes/opencolorio/all/conandata.yml @@ -1,13 +1,10 @@ sources: + "2.4.0": + url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.4.0.tar.gz" + sha256: "0ff3966b9214da0941b2b1cbdab3975a00a51fc6f3417fa860f98f5358f2c282" "2.3.2": url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.3.2.tar.gz" sha256: "6bbf4e7fa4ea2f743a238cb22aff44890425771a2f57f62cece1574e46ceec2f" - "2.3.1": - url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.3.1.tar.gz" - sha256: "7196e979a0449ce28afd46a78383476f3b8fc1cc1d3a417192be439ede83437b" - "2.3.0": - url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.3.0.tar.gz" - sha256: "32b7be676c110d849a77886d8a409159f0367309b2b2f5dae5aa0c38f42b445a" "2.2.1": url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.2.1.tar.gz" sha256: "36f27c5887fc4e5c241805c29b8b8e68725aa05520bcaa7c7ec84c0422b8580e" @@ -18,29 +15,14 @@ sources: url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v1.1.1.tar.gz" sha256: "c9b5b9def907e1dafb29e37336b702fff22cc6306d445a13b1621b8a754c14c8" patches: - "2.3.2": - - patch_file: "patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch" + "2.4.0": + - patch_file: "patches/2.4.0-0001-fix-cmake-source-dir-and-targets.patch" patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" patch_type: "conan" - "2.3.1": + "2.3.2": - patch_file: "patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch" patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" patch_type: "conan" - - patch_file: "patches/2.3.1-0002-portability-patches.patch" - patch_description: "fix include path for pystring & namespace for strlen" - patch_type: "portability" - patch_source: "https://github.com/AcademySoftwareFoundation/OpenColorIO/pull/1930" - "2.3.0": - - patch_file: "patches/2.3.0-0001-fix-cmake-source-dir-and-targets.patch" - patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" - patch_type: "conan" - - patch_file: "patches/2.3.0-0002-fix-pystring.patch" - patch_description: "fix include path for pystring" - patch_type: "portability" - patch_source: "https://github.com/AcademySoftwareFoundation/OpenColorIO/pull/1901" - - patch_file: "patches/2.2.1-0003-strlen.patch" - patch_description: "add std namespace for strlen" - patch_type: "portability" "2.2.1": - patch_file: "patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch" patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" diff --git a/recipes/opencolorio/all/conanfile.py b/recipes/opencolorio/all/conanfile.py index df0fa402cd1f2..2823fcb13e038 100644 --- a/recipes/opencolorio/all/conanfile.py +++ b/recipes/opencolorio/all/conanfile.py @@ -18,6 +18,7 @@ class OpenColorIOConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" topics = ("colors", "visual", "effects", "animation") settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -66,12 +67,11 @@ def requirements(self): self.requires("minizip-ng/3.0.9") # for tools only - self.requires("lcms/2.14") + self.requires("lcms/2.16") # TODO: add GLUT (needed for ociodisplay tool) def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, 11) if Version(self.version) >= "2.3.0" and \ self.settings.compiler == "gcc" and \ Version(self.settings.compiler.version) < "6.0": @@ -94,8 +94,6 @@ def validate(self): if Version(self.version) == "1.1.1" and self.options.shared and self.dependencies["yaml-cpp"].options.shared: raise ConanInvalidConfiguration(f"{self.ref} requires static build yaml-cpp") - if Version(self.version) >= "2.2.1" and self.options.shared and self.dependencies["minizip-ng"].options.shared: - raise ConanInvalidConfiguration(f"{self.ref} requires static build minizip-ng") def build_requirements(self): if Version(self.version) >= "2.2.0": @@ -199,12 +197,3 @@ def package_info(self): if is_msvc(self) and not self.options.shared: self.cpp_info.defines.append("OpenColorIO_SKIP_IMPORTS") - - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH env var with: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) - - # TODO: to remove in conan v2 once cmake_find_package_* & pkg_config generators removed - self.cpp_info.names["cmake_find_package"] = "OpenColorIO" - self.cpp_info.names["cmake_find_package_multi"] = "OpenColorIO" - self.cpp_info.names["pkg_config"] = "OpenColorIO" diff --git a/recipes/opencolorio/all/patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch b/recipes/opencolorio/all/patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch index b4e6f3c13f990..115857775079d 100644 --- a/recipes/opencolorio/all/patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch +++ b/recipes/opencolorio/all/patches/2.2.1-0001-fix-cmake-source-dir-and-targets.patch @@ -73,7 +73,7 @@ index 1c4d774..da70227 100755 "$" yaml-cpp - MINIZIP::minizip-ng -+ MINIZIP::minizip ++ PUBLIC MINIZIP::minizip ) if(APPLE) diff --git a/recipes/opencolorio/all/patches/2.3.0-0001-fix-cmake-source-dir-and-targets.patch b/recipes/opencolorio/all/patches/2.3.0-0001-fix-cmake-source-dir-and-targets.patch deleted file mode 100644 index 30c7ddf4a390d..0000000000000 --- a/recipes/opencolorio/all/patches/2.3.0-0001-fix-cmake-source-dir-and-targets.patch +++ /dev/null @@ -1,101 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a36a0d8..650a3c5 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -508,7 +508,7 @@ install( - FILE ${OCIO_TARGETS_EXPORT_NAME} - ) - --if (NOT BUILD_SHARED_LIBS) -+if (0) - # Install custom macros used in the find modules. - install(FILES - ${CMAKE_CURRENT_LIST_DIR}/share/cmake/macros/VersionUtils.cmake -diff --git a/share/cmake/modules/FindExtPackages.cmake b/share/cmake/modules/FindExtPackages.cmake -index 2625242..dcb41cf 100644 ---- a/share/cmake/modules/FindExtPackages.cmake -+++ b/share/cmake/modules/FindExtPackages.cmake -@@ -63,7 +63,7 @@ ocio_handle_dependency( expat REQUIRED ALLOW_INSTALL - # https://github.com/jbeder/yaml-cpp - ocio_handle_dependency( yaml-cpp REQUIRED ALLOW_INSTALL - MIN_VERSION 0.6.3 -- RECOMMENDED_VERSION 0.7.0 -+ RECOMMENDED_VERSION 0.8.0 - RECOMMENDED_VERSION_REASON "Latest version tested with OCIO") - - # pystring -@@ -110,9 +110,9 @@ ocio_handle_dependency( ZLIB REQUIRED ALLOW_INSTALL - - # minizip-ng - # https://github.com/zlib-ng/minizip-ng --ocio_handle_dependency( minizip-ng REQUIRED ALLOW_INSTALL -+ocio_handle_dependency( minizip REQUIRED ALLOW_INSTALL - MIN_VERSION 3.0.6 -- RECOMMENDED_VERSION 3.0.7 -+ RECOMMENDED_VERSION 4.0.1 - RECOMMENDED_VERSION_REASON "Latest version tested with OCIO") - - ############################################################################### -@@ -131,7 +131,7 @@ if(OCIO_BUILD_APPS) - - # lcms2 - # https://github.com/mm2/Little-CMS -- ocio_handle_dependency( lcms2 REQUIRED ALLOW_INSTALL -+ ocio_handle_dependency( lcms REQUIRED ALLOW_INSTALL - MIN_VERSION 2.2 - RECOMMENDED_VERSION 2.2 - RECOMMENDED_VERSION_REASON "Latest version tested with OCIO") -diff --git a/share/cmake/utils/CppVersion.cmake b/share/cmake/utils/CppVersion.cmake -index 175d89c..2d34a65 100644 ---- a/share/cmake/utils/CppVersion.cmake -+++ b/share/cmake/utils/CppVersion.cmake -@@ -16,8 +16,6 @@ elseif(NOT CMAKE_CXX_STANDARD IN_LIST SUPPORTED_CXX_STANDARDS) - "CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} is unsupported. Supported standards are: ${SUPPORTED_CXX_STANDARDS_STR}.") - endif() - --set_property(CACHE CMAKE_CXX_STANDARD PROPERTY STRINGS "${SUPPORTED_CXX_STANDARDS}") -- - include(CheckCXXCompilerFlag) - - # As CheckCXXCompilerFlag implicitly uses CMAKE_CXX_FLAGS some custom flags could trigger unrelated -diff --git a/src/OpenColorIO/CMakeLists.txt b/src/OpenColorIO/CMakeLists.txt -index 7ff40bf..dec2bda 100755 ---- a/src/OpenColorIO/CMakeLists.txt -+++ b/src/OpenColorIO/CMakeLists.txt -@@ -309,8 +309,8 @@ target_link_libraries(OpenColorIO - "$" - "$" - "$" -- ${YAML_CPP_LIBRARIES} -- MINIZIP::minizip-ng -+ yaml-cpp -+ MINIZIP::minizip - ) - - if(OCIO_USE_SIMD AND OCIO_USE_SSE2NEON AND COMPILER_SUPPORTS_SSE_WITH_SSE2NEON) -diff --git a/src/apps/ocioarchive/CMakeLists.txt b/src/apps/ocioarchive/CMakeLists.txt -index 599d706..efe6cd5 100644 ---- a/src/apps/ocioarchive/CMakeLists.txt -+++ b/src/apps/ocioarchive/CMakeLists.txt -@@ -21,7 +21,7 @@ target_link_libraries(ocioarchive - PRIVATE - apputils - OpenColorIO -- MINIZIP::minizip-ng -+ MINIZIP::minizip - ) - - include(StripUtils) -diff --git a/src/apps/ociobakelut/CMakeLists.txt b/src/apps/ociobakelut/CMakeLists.txt -index 3d6e586..f7069a1 100755 ---- a/src/apps/ociobakelut/CMakeLists.txt -+++ b/src/apps/ociobakelut/CMakeLists.txt -@@ -29,7 +29,7 @@ set_target_properties(ociobakelut - target_link_libraries(ociobakelut - PRIVATE - apputils -- lcms2::lcms2 -+ lcms::lcms - OpenColorIO - ) - diff --git a/recipes/opencolorio/all/patches/2.3.0-0002-fix-pystring.patch b/recipes/opencolorio/all/patches/2.3.0-0002-fix-pystring.patch deleted file mode 100644 index 020aa7dccfebc..0000000000000 --- a/recipes/opencolorio/all/patches/2.3.0-0002-fix-pystring.patch +++ /dev/null @@ -1,195 +0,0 @@ -diff --git a/src/OpenColorIO/Config.cpp b/src/OpenColorIO/Config.cpp -index f09b9ee..7f66ab1 100644 ---- a/src/OpenColorIO/Config.cpp -+++ b/src/OpenColorIO/Config.cpp -@@ -34,7 +34,7 @@ - #include "Platform.h" - #include "PrivateTypes.h" - #include "Processor.h" --#include "pystring/pystring.h" -+#include "pystring.h" - #include "transforms/FileTransform.h" - #include "utils/StringUtils.h" - #include "ViewingRules.h" -diff --git a/src/OpenColorIO/Context.cpp b/src/OpenColorIO/Context.cpp -index bb6fb07..a8890ed 100644 ---- a/src/OpenColorIO/Context.cpp -+++ b/src/OpenColorIO/Context.cpp -@@ -15,7 +15,7 @@ - #include "OCIOZArchive.h" - #include "PathUtils.h" - #include "PrivateTypes.h" --#include "pystring/pystring.h" -+#include "pystring.h" - #include "utils/StringUtils.h" - - namespace OCIO_NAMESPACE -diff --git a/src/OpenColorIO/OCIOYaml.cpp b/src/OpenColorIO/OCIOYaml.cpp -index 62cbb0d..59c1564 100644 ---- a/src/OpenColorIO/OCIOYaml.cpp -+++ b/src/OpenColorIO/OCIOYaml.cpp -@@ -19,7 +19,7 @@ - #include "ParseUtils.h" - #include "PathUtils.h" - #include "Platform.h" --#include "pystring/pystring.h" -+#include "pystring.h" - #include "utils/StringUtils.h" - #include "ViewingRules.h" - #include "yaml-cpp/yaml.h" -diff --git a/src/OpenColorIO/OCIOZArchive.cpp b/src/OpenColorIO/OCIOZArchive.cpp -index 24d836e..a9177eb 100644 ---- a/src/OpenColorIO/OCIOZArchive.cpp -+++ b/src/OpenColorIO/OCIOZArchive.cpp -@@ -11,7 +11,7 @@ - #include - #include "Mutex.h" - #include "Platform.h" --#include "pystring/pystring.h" -+#include "pystring.h" - #include "utils/StringUtils.h" - #include "transforms/FileTransform.h" - -diff --git a/src/OpenColorIO/Op.cpp b/src/OpenColorIO/Op.cpp -index e1bd564..cf05c37 100755 ---- a/src/OpenColorIO/Op.cpp -+++ b/src/OpenColorIO/Op.cpp -@@ -20,7 +20,7 @@ - #include "ops/lut1d/Lut1DOp.h" - #include "ops/lut3d/Lut3DOp.h" - #include "ops/range/RangeOp.h" --#include "pystring/pystring.h" -+#include "pystring.h" - - namespace OCIO_NAMESPACE - { -diff --git a/src/OpenColorIO/PathUtils.cpp b/src/OpenColorIO/PathUtils.cpp -index 9dc8c6b..4a1096d 100644 ---- a/src/OpenColorIO/PathUtils.cpp -+++ b/src/OpenColorIO/PathUtils.cpp -@@ -10,7 +10,7 @@ - #include "Mutex.h" - #include "PathUtils.h" - #include "Platform.h" --#include "pystring/pystring.h" -+#include "pystring.h" - #include "utils/StringUtils.h" - #include "OCIOZArchive.h" - -diff --git a/src/OpenColorIO/fileformats/FileFormatCTF.cpp b/src/OpenColorIO/fileformats/FileFormatCTF.cpp -index ebed326..9f70ff8 100644 ---- a/src/OpenColorIO/fileformats/FileFormatCTF.cpp -+++ b/src/OpenColorIO/fileformats/FileFormatCTF.cpp -@@ -23,7 +23,7 @@ - #include "OpBuilders.h" - #include "ops/noop/NoOps.h" - #include "Platform.h" --#include "pystring/pystring.h" -+#include "pystring.h" - #include "TransformBuilder.h" - #include "transforms/FileTransform.h" - #include "utils/StringUtils.h" -diff --git a/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp b/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp -index a52bc72..bd827f0 100755 ---- a/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp -+++ b/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp -@@ -16,7 +16,7 @@ - #include "ops/lut1d/Lut1DOp.h" - #include "ops/lut3d/Lut3DOp.h" - #include "ParseUtils.h" --#include "pystring/pystring.h" -+#include "pystring.h" - #include "Platform.h" - #include "transforms/FileTransform.h" - #include "utils/StringUtils.h" -diff --git a/src/OpenColorIO/fileformats/FileFormatICC.cpp b/src/OpenColorIO/fileformats/FileFormatICC.cpp -index 1fcfd9a..ca5d9b4 100755 ---- a/src/OpenColorIO/fileformats/FileFormatICC.cpp -+++ b/src/OpenColorIO/fileformats/FileFormatICC.cpp -@@ -15,7 +15,7 @@ - #include "ops/matrix/MatrixOp.h" - #include "ops/range/RangeOp.h" - #include "Platform.h" --#include "pystring/pystring.h" -+#include "pystring.h" - #include "transforms/FileTransform.h" - - -diff --git a/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp b/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp -index 7402efd..cc3acb4 100755 ---- a/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp -+++ b/src/OpenColorIO/fileformats/FileFormatIridasLook.cpp -@@ -13,7 +13,7 @@ - #include "ops/lut3d/Lut3DOp.h" - #include "ParseUtils.h" - #include "Platform.h" --#include "pystring/pystring.h" -+#include "pystring.h" - #include "transforms/FileTransform.h" - #include "utils/StringUtils.h" - #include "utils/NumberUtils.h" -diff --git a/src/OpenColorIO/transforms/FileTransform.cpp b/src/OpenColorIO/transforms/FileTransform.cpp -index 4fd4d5d..dc5eb3c 100755 ---- a/src/OpenColorIO/transforms/FileTransform.cpp -+++ b/src/OpenColorIO/transforms/FileTransform.cpp -@@ -19,7 +19,7 @@ - #include "ops/noop/NoOps.h" - #include "PathUtils.h" - #include "Platform.h" --#include "pystring/pystring.h" -+#include "pystring.h" - #include "utils/StringUtils.h" - - namespace OCIO_NAMESPACE -diff --git a/tests/cpu/ColorSpace_tests.cpp b/tests/cpu/ColorSpace_tests.cpp -index 8c37c37..9791e05 100644 ---- a/tests/cpu/ColorSpace_tests.cpp -+++ b/tests/cpu/ColorSpace_tests.cpp -@@ -6,7 +6,7 @@ - - #include "ColorSpace.cpp" - --#include -+#include - #include "testutils/UnitTest.h" - #include "UnitTestUtils.h" - -diff --git a/tests/cpu/Config_tests.cpp b/tests/cpu/Config_tests.cpp -index 5d30fda..6d4b70d 100644 ---- a/tests/cpu/Config_tests.cpp -+++ b/tests/cpu/Config_tests.cpp -@@ -7,7 +7,7 @@ - #include "Config.cpp" - #include "utils/StringUtils.h" - --#include -+#include - #include "testutils/UnitTest.h" - #include "UnitTestLogUtils.h" - #include "UnitTestUtils.h" -diff --git a/tests/cpu/Context_tests.cpp b/tests/cpu/Context_tests.cpp -index f78bad8..86d6b62 100644 ---- a/tests/cpu/Context_tests.cpp -+++ b/tests/cpu/Context_tests.cpp -@@ -8,7 +8,7 @@ - - #include "PathUtils.h" - #include "Platform.h" --#include "pystring/pystring.h" -+#include "pystring.h" - #include "testutils/UnitTest.h" - - namespace OCIO = OCIO_NAMESPACE; -diff --git a/vendor/openfx/OCIOUtils.cpp b/vendor/openfx/OCIOUtils.cpp -index ca44905..469ed35 100644 ---- a/vendor/openfx/OCIOUtils.cpp -+++ b/vendor/openfx/OCIOUtils.cpp -@@ -9,7 +9,7 @@ namespace OCIO = OCIO_NAMESPACE; - #include - - #include "ofxsLog.h" --#include "pystring/pystring.h" -+#include "pystring.h" - - namespace - { diff --git a/recipes/opencolorio/all/patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch b/recipes/opencolorio/all/patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch index 32aeb5a81a422..8b057e40e2eb1 100644 --- a/recipes/opencolorio/all/patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch +++ b/recipes/opencolorio/all/patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch @@ -68,7 +68,7 @@ index 26b4bb4c..d54cff3d 100755 "$" - ${YAML_CPP_LIBRARIES} - MINIZIP::minizip-ng -+ yaml-cpp ++ PUBLIC yaml-cpp + MINIZIP::minizip ) diff --git a/recipes/opencolorio/all/patches/2.3.1-0002-portability-patches.patch b/recipes/opencolorio/all/patches/2.3.1-0002-portability-patches.patch deleted file mode 100644 index 74f936d23ea9b..0000000000000 --- a/recipes/opencolorio/all/patches/2.3.1-0002-portability-patches.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git src/OpenColorIO/ConfigUtils.cpp src/OpenColorIO/ConfigUtils.cpp -index 2e774726..b4228ff7 100644 ---- src/OpenColorIO/ConfigUtils.cpp -+++ src/OpenColorIO/ConfigUtils.cpp -@@ -3,7 +3,7 @@ - - #include "ConfigUtils.h" - #include "MathUtils.h" --#include "pystring/pystring.h" -+#include "pystring.h" - #include "utils/StringUtils.h" - - namespace OCIO_NAMESPACE -diff --git src/OpenColorIO/FileRules.cpp src/OpenColorIO/FileRules.cpp -index 61a5e0f1..e0df0d02 100644 ---- src/OpenColorIO/FileRules.cpp -+++ src/OpenColorIO/FileRules.cpp -@@ -62,7 +62,7 @@ std::string ConvertToRegularExpression(const char * globPattern, bool ignoreCase - - if (ignoreCase) - { -- const size_t length = strlen(globPattern); -+ const size_t length = std::strlen(globPattern); - bool respectCase = false; - for (size_t i = 0; i < length; ++i) - { diff --git a/recipes/opencolorio/all/patches/2.4.0-0001-fix-cmake-source-dir-and-targets.patch b/recipes/opencolorio/all/patches/2.4.0-0001-fix-cmake-source-dir-and-targets.patch new file mode 100644 index 0000000000000..35a7af01ea95d --- /dev/null +++ b/recipes/opencolorio/all/patches/2.4.0-0001-fix-cmake-source-dir-and-targets.patch @@ -0,0 +1,101 @@ +diff --git CMakeLists.txt CMakeLists.txt +index 0eaec4be..e711295c 100755 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -511,7 +511,7 @@ install( + FILE ${OCIO_TARGETS_EXPORT_NAME} + ) + +-if (NOT BUILD_SHARED_LIBS) ++if (0) + # Install custom macros used in the find modules. + install(FILES + ${CMAKE_CURRENT_LIST_DIR}/share/cmake/macros/VersionUtils.cmake +diff --git share/cmake/modules/FindExtPackages.cmake share/cmake/modules/FindExtPackages.cmake +index accdecec..945c5edc 100644 +--- share/cmake/modules/FindExtPackages.cmake ++++ share/cmake/modules/FindExtPackages.cmake +@@ -63,7 +63,7 @@ ocio_handle_dependency( expat REQUIRED ALLOW_INSTALL + # https://github.com/jbeder/yaml-cpp + ocio_handle_dependency( yaml-cpp REQUIRED ALLOW_INSTALL + MIN_VERSION 0.6.3 +- RECOMMENDED_VERSION 0.7.0 ++ RECOMMENDED_VERSION 0.8.0 + RECOMMENDED_VERSION_REASON "Latest version tested with OCIO") + + # pystring +@@ -110,9 +110,9 @@ ocio_handle_dependency( ZLIB REQUIRED ALLOW_INSTALL + + # minizip-ng + # https://github.com/zlib-ng/minizip-ng +-ocio_handle_dependency( minizip-ng REQUIRED ALLOW_INSTALL ++ocio_handle_dependency( minizip REQUIRED ALLOW_INSTALL + MIN_VERSION 3.0.6 +- RECOMMENDED_VERSION 3.0.7 ++ RECOMMENDED_VERSION 4.0.1 + RECOMMENDED_VERSION_REASON "Latest version tested with OCIO") + + ############################################################################### +@@ -131,7 +131,7 @@ if(OCIO_BUILD_APPS) + + # lcms2 + # https://github.com/mm2/Little-CMS +- ocio_handle_dependency( lcms2 REQUIRED ALLOW_INSTALL ++ ocio_handle_dependency( lcms REQUIRED ALLOW_INSTALL + MIN_VERSION 2.2 + RECOMMENDED_VERSION 2.2 + RECOMMENDED_VERSION_REASON "Latest version tested with OCIO") +diff --git share/cmake/utils/CppVersion.cmake share/cmake/utils/CppVersion.cmake +index 175d89c2..ac93b87a 100644 +--- share/cmake/utils/CppVersion.cmake ++++ share/cmake/utils/CppVersion.cmake +@@ -16,7 +16,7 @@ elseif(NOT CMAKE_CXX_STANDARD IN_LIST SUPPORTED_CXX_STANDARDS) + "CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} is unsupported. Supported standards are: ${SUPPORTED_CXX_STANDARDS_STR}.") + endif() + +-set_property(CACHE CMAKE_CXX_STANDARD PROPERTY STRINGS "${SUPPORTED_CXX_STANDARDS}") ++# set_property(CACHE CMAKE_CXX_STANDARD PROPERTY STRINGS "${SUPPORTED_CXX_STANDARDS}") + + include(CheckCXXCompilerFlag) + +diff --git src/OpenColorIO/CMakeLists.txt src/OpenColorIO/CMakeLists.txt +index 7d2894da..1e6570b4 100755 +--- src/OpenColorIO/CMakeLists.txt ++++ src/OpenColorIO/CMakeLists.txt +@@ -315,8 +315,8 @@ target_link_libraries(OpenColorIO + "$" + "$" + "$" +- ${YAML_CPP_LIBRARIES} +- MINIZIP::minizip-ng ++ PUBLIC yaml-cpp ++ MINIZIP::minizip + ) + + if(OCIO_USE_SIMD AND OCIO_USE_SSE2NEON AND COMPILER_SUPPORTS_SSE_WITH_SSE2NEON) +diff --git src/apps/ocioarchive/CMakeLists.txt src/apps/ocioarchive/CMakeLists.txt +index 599d706f..efe6cd5a 100644 +--- src/apps/ocioarchive/CMakeLists.txt ++++ src/apps/ocioarchive/CMakeLists.txt +@@ -21,7 +21,7 @@ target_link_libraries(ocioarchive + PRIVATE + apputils + OpenColorIO +- MINIZIP::minizip-ng ++ MINIZIP::minizip + ) + + include(StripUtils) +diff --git src/apps/ociobakelut/CMakeLists.txt src/apps/ociobakelut/CMakeLists.txt +index 3d6e586b..f7069a1f 100755 +--- src/apps/ociobakelut/CMakeLists.txt ++++ src/apps/ociobakelut/CMakeLists.txt +@@ -29,7 +29,7 @@ set_target_properties(ociobakelut + target_link_libraries(ociobakelut + PRIVATE + apputils +- lcms2::lcms2 ++ lcms::lcms + OpenColorIO + ) + diff --git a/recipes/opencolorio/all/test_v1_package/CMakeLists.txt b/recipes/opencolorio/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/opencolorio/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/opencolorio/all/test_v1_package/conanfile.py b/recipes/opencolorio/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/opencolorio/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/opencolorio/config.yml b/recipes/opencolorio/config.yml index fdcf6dcec8972..29dc01bc3add5 100644 --- a/recipes/opencolorio/config.yml +++ b/recipes/opencolorio/config.yml @@ -1,9 +1,7 @@ versions: - "2.3.2": - folder: "all" - "2.3.1": + "2.4.0": folder: "all" - "2.3.0": + "2.3.2": folder: "all" "2.2.1": folder: "all" diff --git a/recipes/opencore-amr/all/test_v1_package/CMakeLists.txt b/recipes/opencore-amr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/opencore-amr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/opencore-amr/all/test_v1_package/conanfile.py b/recipes/opencore-amr/all/test_v1_package/conanfile.py deleted file mode 100644 index e16563695d6b4..0000000000000 --- a/recipes/opencore-amr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "arch", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/openddl-parser/all/test_v1_package/CMakeLists.txt b/recipes/openddl-parser/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/openddl-parser/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/openddl-parser/all/test_v1_package/conanfile.py b/recipes/openddl-parser/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/openddl-parser/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/opene57/all/conanfile.py b/recipes/opene57/all/conanfile.py index b1ef9f3a3554a..d02fc5ff273d6 100644 --- a/recipes/opene57/all/conanfile.py +++ b/recipes/opene57/all/conanfile.py @@ -69,7 +69,7 @@ def requirements(self): self.requires("boost/1.84.0") if self.options.with_docs: - self.requires("doxygen/1.9.4") + self.requires("doxygen/[>=1.8 <2]") if self.settings.os != "Windows": self.requires("icu/74.1") diff --git a/recipes/opene57/all/test_v1_package/CMakeLists.txt b/recipes/opene57/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/opene57/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/opene57/all/test_v1_package/conanfile.py b/recipes/opene57/all/test_v1_package/conanfile.py deleted file mode 100644 index b295f3f19d774..0000000000000 --- a/recipes/opene57/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class TestOpenE57Conan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "opene57_example") - self.run(bin_path, run_environment=True) diff --git a/recipes/openexr/3.x/conandata.yml b/recipes/openexr/3.x/conandata.yml index 1d8f995d131a6..55a601dcb6b76 100644 --- a/recipes/openexr/3.x/conandata.yml +++ b/recipes/openexr/3.x/conandata.yml @@ -1,4 +1,13 @@ sources: + "3.3.2": + url: "https://github.com/AcademySoftwareFoundation/openexr/releases/download/v3.3.2/openexr-3.3.2.tar.gz" + sha256: "4fb4c643b39f04b67e8f4138e4d5a7804b62fdc15b8f6bcdd32ccc8ecd515683" + "3.3.1": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.3.1.tar.gz" + sha256: "58aad2b32c047070a52f1205b309bdae007442e0f983120e4ff57551eb6f10f1" + "3.3.0": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.3.0.tar.gz" + sha256: "58b00f50d2012f3107573c4b7371f70516d2972c2b301a50925e1b4a60a7be6f" "3.2.4": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.2.4.tar.gz" sha256: "81e6518f2c4656fdeaf18a018f135e96a96e7f66dbe1c1f05860dd94772176cc" diff --git a/recipes/openexr/3.x/conanfile.py b/recipes/openexr/3.x/conanfile.py index 0948ac5e19152..e538cc4469902 100644 --- a/recipes/openexr/3.x/conanfile.py +++ b/recipes/openexr/3.x/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir, replace_in_file @@ -29,8 +30,18 @@ class OpenEXRConan(ConanFile): @property def _min_cppstd(self): + if Version(self.version) >= "3.3": + return 17 return 11 + @property + def _minimum_compiler_version(self): + return { + "17": { + "gcc": "9" + } + }.get(str(self._min_cppstd), {}) + @property def _with_libdeflate(self): return Version(self.version) >= "3.2" @@ -60,6 +71,10 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) + minimum_version = self._minimum_compiler_version.get(str(self.settings.compiler)) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires {self.settings.compiler} >= {minimum_version}") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/openexr/config.yml b/recipes/openexr/config.yml index 7a8a2874719ef..e6ec794a60bd1 100644 --- a/recipes/openexr/config.yml +++ b/recipes/openexr/config.yml @@ -1,4 +1,10 @@ versions: + "3.3.2": + folder: "3.x" + "3.3.1": + folder: "3.x" + "3.3.0": + folder: "3.x" "3.2.4": folder: "3.x" "3.2.3": diff --git a/recipes/openfbx/all/test_v1_package/CMakeLists.txt b/recipes/openfbx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/openfbx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/openfbx/all/test_v1_package/conanfile.py b/recipes/openfbx/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/openfbx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/openfx/all/test_v1_package/CMakeLists.txt b/recipes/openfx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/openfx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/openfx/all/test_v1_package/conanfile.py b/recipes/openfx/all/test_v1_package/conanfile.py deleted file mode 100644 index 884a3017a3bd6..0000000000000 --- a/recipes/openfx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run("%s --help" % bin_path, run_environment=True) diff --git a/recipes/opengl-registry/all/test_v1_package/CMakeLists.txt b/recipes/opengl-registry/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de3b75d9538de..0000000000000 --- a/recipes/opengl-registry/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/opengl-registry/all/test_v1_package/conanfile.py b/recipes/opengl-registry/all/test_v1_package/conanfile.py deleted file mode 100644 index 90f7a062ba0d0..0000000000000 --- a/recipes/opengl-registry/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/opengl/all/conanfile.py b/recipes/opengl/all/conanfile.py index 21ba6fcb6a6e6..ca99bbad2e12f 100644 --- a/recipes/opengl/all/conanfile.py +++ b/recipes/opengl/all/conanfile.py @@ -23,6 +23,9 @@ def package_id(self): self.info.clear() def system_requirements(self): + if self.settings.os not in ["Linux", "FreeBSD", "SunOS"]: + return + dnf = package_manager.Dnf(self) dnf.install_substitutes(["libglvnd-devel"], ["mesa-libGL-devel"], update=True, check=True) @@ -36,12 +39,15 @@ def system_requirements(self): pacman.install(["libglvnd"], update=True, check=True) zypper = package_manager.Zypper(self) - zypper.install_substitutes(["Mesa-libGL-devel", "glproto-devel"], + zypper.install_substitutes(["Mesa-libGL-devel", "glproto-devel"], ["Mesa-libGL-devel", "xorgproto-devel"], update=True, check=True) pkg = package_manager.Pkg(self) pkg.install(["libglvnd"], update=True, check=True) + pkg_util = package_manager.PkgUtil(self) + pkg_util.install(["mesalibs"], update=True, check=True) + def package_info(self): # TODO: Workaround for #2311 until a better solution can be found self.cpp_info.filenames["cmake_find_package"] = "opengl_system" @@ -57,6 +63,6 @@ def package_info(self): self.cpp_info.frameworks.append("OpenGL") elif self.settings.os == "Windows": self.cpp_info.system_libs = ["opengl32"] - elif self.settings.os in ["Linux", "FreeBSD"]: + elif self.settings.os in ["Linux", "FreeBSD", "SunOS"]: pkg_config = PkgConfig(self, 'gl') pkg_config.fill_cpp_info(self.cpp_info, is_system=self.settings.os != "FreeBSD") diff --git a/recipes/opengv/all/test_v1_package/CMakeLists.txt b/recipes/opengv/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/opengv/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/opengv/all/test_v1_package/conanfile.py b/recipes/opengv/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/opengv/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/openh264/all/conandata.yml b/recipes/openh264/all/conandata.yml index 952b7e0034b6e..4d8902d954f8b 100644 --- a/recipes/openh264/all/conandata.yml +++ b/recipes/openh264/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.0": + url: "https://github.com/cisco/openh264/archive/refs/tags/v2.5.0.tar.gz" + sha256: "94c8ca364db990047ec4ec3481b04ce0d791e62561ef5601443011bdc00825e3" "2.4.1": url: "https://github.com/cisco/openh264/archive/refs/tags/v2.4.1.tar.gz" sha256: "8ffbe944e74043d0d3fb53d4a2a14c94de71f58dbea6a06d0dc92369542958ea" diff --git a/recipes/openh264/all/conanfile.py b/recipes/openh264/all/conanfile.py index 5b20e84d4fa4c..cfdd6104e9efb 100644 --- a/recipes/openh264/all/conanfile.py +++ b/recipes/openh264/all/conanfile.py @@ -12,17 +12,17 @@ import os -required_conan_version = ">=1.54.0" +required_conan_version = ">=2.0.9" class OpenH264Conan(ConanFile): name = "openh264" + description = "Open Source H.264 Codec" + license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "http://www.openh264.org/" - description = "Open Source H.264 Codec" topics = ("h264", "codec", "video", "compression", ) - license = "BSD-2-Clause" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -32,6 +32,7 @@ class OpenH264Conan(ConanFile): "shared": False, "fPIC": True, } + implements = ["auto_shared_fpic"] @property def _is_clang_cl(self): @@ -41,21 +42,13 @@ def _is_clang_cl(self): def _preserve_dll_name(self): return (is_msvc(self) or self._is_clang_cl) and Version(self.version) <= "2.4.1" and self.options.shared - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - def layout(self): basic_layout(self, src_folder="src") def build_requirements(self): self.tool_requires("meson/1.4.1") - if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.2.0") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/[>=2.2 <3]") if self.settings.arch in ["x86", "x86_64"]: self.tool_requires("nasm/2.16.01") @@ -105,13 +98,14 @@ def package(self): if is_msvc(self) or self._is_clang_cl: rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) - if self._preserve_dll_name: - # INFO: Preserve same old library name as when building with Make on Windows but using Meson - rename(self, os.path.join(self.package_folder, "lib", "openh264.lib"), - os.path.join(self.package_folder, "lib", "openh264_dll.lib")) - else: + if Version(self.version) <= "2.4.1": + if self.options.shared: + # INFO: Preserve same old library name as when building with Make on Windows but using Meson + rename(self, os.path.join(self.package_folder, "lib", "openh264.lib"), + os.path.join(self.package_folder, "lib", "openh264_dll.lib")) + if not self.options.shared: rename(self, os.path.join(self.package_folder, "lib", "libopenh264.a"), - os.path.join(self.package_folder, "lib", "openh264.lib")) + os.path.join(self.package_folder, "lib", "openh264.lib")) fix_apple_shared_install_name(self) def package_info(self): diff --git a/recipes/openh264/all/test_v1_package/CMakeLists.txt b/recipes/openh264/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2f6b1a2f7ec79..0000000000000 --- a/recipes/openh264/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/openh264/all/test_v1_package/conanfile.py b/recipes/openh264/all/test_v1_package/conanfile.py deleted file mode 100644 index f4b0754b85efb..0000000000000 --- a/recipes/openh264/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/openh264/config.yml b/recipes/openh264/config.yml index db64052e6d83c..9d2abec6a5e96 100644 --- a/recipes/openh264/config.yml +++ b/recipes/openh264/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.0": + folder: all "2.4.1": folder: all "2.3.1": diff --git a/recipes/openimageio/all/conandata.yml b/recipes/openimageio/all/conandata.yml index e977a3cdd1ba8..ec02436b0682d 100644 --- a/recipes/openimageio/all/conandata.yml +++ b/recipes/openimageio/all/conandata.yml @@ -5,24 +5,18 @@ sources: "2.4.17.0": url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.4.17.0.tar.gz" sha256: "7fe81d8e5bce30cc4a212f020ac3cc4344e6b7c1c0842475e3a048515099c65c" - "2.5.10.1": - url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.10.1.tar.gz" - sha256: "8f6a547f6a5d510737ba436f867043db537def65f0fdb14ec30e5a185b619f93" - "2.5.12.0": - url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.12.0.tar.gz" - sha256: "51ea3c309bad7381fd0d7ef793e93a72d8e0edaeff4ff329f4f21fb5de3d90bd" - "2.5.13.0": - url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.13.0.tar.gz" - sha256: "663d712e4623e5e083b4ad5c5046c7b8ba65dc73a5380e7cfc12f9950c90d217" - "2.5.13.1": - url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.13.1.tar.gz" - sha256: "0fbaec6c15215e11cf4545128c4d64eaa97b461cb9b5fb8a76f9a7d35c99e3df" "2.5.14.0": url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.14.0.tar.gz" sha256: "0e74372c658f083820872311d126867f10d59b526a856672746de7b2c772034d" "2.5.15.0": url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.15.0.tar.gz" sha256: "7779ef2c3d03c5ed95e13ff292de85c3f8cee301cd46baad0d2dc83c93bfe85c" + "2.5.16.0": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.16.0.tar.gz" + sha256: "e5438e28d34a5b0a09428ed77ec310edd47c141db1b259364859110847e161e7" + "2.5.17.0": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.17.0.tar.gz" + sha256: "9cf1b98762ce5aa5f3f7cd34672549034f5716da1eba26eb5173c18aa21e6583" patches: "2.4.7.1": - patch_file: "patches/2.4.7.1-cmake-targets.patch" @@ -35,27 +29,19 @@ patches: - patch_file: "patches/2.4.17.0-cmake-targets.patch" patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" patch_type: "conan" - "2.5.10.1": - - patch_file: "patches/2.5.10.1-cmake-targets.patch" - patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" - patch_type: "conan" - "2.5.12.0": - - patch_file: "patches/2.5.12.0-cmake-targets.patch" - patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" - patch_type: "conan" - "2.5.13.0": - - patch_file: "patches/2.5.12.0-cmake-targets.patch" + "2.5.14.0": + - patch_file: "patches/2.5.14.0-cmake-targets.patch" patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" patch_type: "conan" - "2.5.13.1": - - patch_file: "patches/2.5.12.0-cmake-targets.patch" + "2.5.15.0": + - patch_file: "patches/2.5.14.0-cmake-targets.patch" patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" patch_type: "conan" - "2.5.14.0": + "2.5.16.0": - patch_file: "patches/2.5.14.0-cmake-targets.patch" patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" patch_type: "conan" - "2.5.15.0": - - patch_file: "patches/2.5.14.0-cmake-targets.patch" + "2.5.17.0": + - patch_file: "patches/2.5.17.0-cmake-targets.patch" patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" patch_type: "conan" diff --git a/recipes/openimageio/all/conanfile.py b/recipes/openimageio/all/conanfile.py index 9c644aaaec97b..77024f25cf6bb 100644 --- a/recipes/openimageio/all/conanfile.py +++ b/recipes/openimageio/all/conanfile.py @@ -97,7 +97,7 @@ def requirements(self): # Optional libraries if self.options.with_libpng: - self.requires("libpng/1.6.42") + self.requires("libpng/[>=1.6 <2]") if self.options.with_freetype: self.requires("freetype/2.13.2") if self.options.with_hdf5: diff --git a/recipes/openimageio/all/patches/2.5.10.1-cmake-targets.patch b/recipes/openimageio/all/patches/2.5.10.1-cmake-targets.patch deleted file mode 100644 index 9aa7dc768cd9b..0000000000000 --- a/recipes/openimageio/all/patches/2.5.10.1-cmake-targets.patch +++ /dev/null @@ -1,518 +0,0 @@ -diff --git CMakeLists.txt CMakeLists.txt -index 8125716a3..dd83c588f 100644 ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -154,7 +154,7 @@ endif () - add_definitions (-DOIIO_INTERNAL=1) - - list (APPEND CMAKE_MODULE_PATH -- "${PROJECT_SOURCE_DIR}/src/cmake/modules" -+ #"${PROJECT_SOURCE_DIR}/src/cmake/modules" - "${PROJECT_SOURCE_DIR}/src/cmake") - - include (GNUInstallDirs) -@@ -233,7 +233,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) - add_subdirectory (src/iinfo) - add_subdirectory (src/maketx) - add_subdirectory (src/oiiotool) -- add_subdirectory (src/testtex) -+ #add_subdirectory (src/testtex) - add_subdirectory (src/iv) - endif () - -diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake -index 3f73cd266..d03c906d1 100644 ---- src/cmake/externalpackages.cmake -+++ src/cmake/externalpackages.cmake -@@ -45,14 +45,14 @@ if (NOT DEFINED Boost_USE_STATIC_LIBS) - set (Boost_USE_STATIC_LIBS "${LINKSTATIC}") - endif () - --if (MSVC) -- # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: -- if (NOT Boost_USE_STATIC_LIBS) -- add_definitions (-DBOOST_ALL_DYN_LINK=1) -- endif () --endif () -- --set (Boost_COMPONENTS thread) -+#if (MSVC) -+# # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: -+# if (NOT Boost_USE_STATIC_LIBS) -+# add_definitions (-DBOOST_ALL_DYN_LINK=1) -+# endif () -+#endif () -+ -+set (Boost_COMPONENTS filesystem system thread container) - if (NOT USE_STD_FILESYSTEM) - list (APPEND Boost_COMPONENTS filesystem) - endif () -@@ -108,9 +108,9 @@ checked_find_package (OpenEXR REQUIRED - # building against Imath/OpenEXR 3.x when there is still a system-level - # install version of 2.x. - include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) --if (MSVC AND NOT LINKSTATIC) -- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? --endif () -+#if (MSVC AND NOT LINKSTATIC) -+# add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? -+#endif () - if (OpenEXR_VERSION VERSION_GREATER_EQUAL 3.0) - set (OIIO_USING_IMATH 3) - else () -@@ -137,11 +137,15 @@ set (OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH OFF CACHE BOOL - "Exclude find_dependency(Imath) from the exported OpenImageIOConfig.cmake") - - # JPEG -- prefer JPEG-Turbo to regular libjpeg --checked_find_package (libjpeg-turbo -- VERSION_MIN 2.1 -- DEFINITIONS -DUSE_JPEG_TURBO=1) --if (NOT TARGET libjpeg-turbo::jpeg) # Try to find the non-turbo version -+if (USE_JPEGTURBO) -+ checked_find_package (libjpeg-turbo REQUIRED -+ DEFINITIONS -DUSE_JPEG_TURBO=1 -+ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) -+ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) -+elseif (USE_JPEG) # Try to find the non-turbo version - checked_find_package (JPEG REQUIRED) -+else () -+ message(FATAL_ERROR "JPEG library was not found!") - endif () - - # Pugixml setup. Normally we just use the version bundled with oiio, but -@@ -157,7 +161,7 @@ else () - endif() - - # From pythonutils.cmake --find_python() -+#find_python() - if (USE_PYTHON) - checked_find_package (pybind11 REQUIRED VERSION_MIN 2.4.2) - endif () -@@ -167,110 +171,105 @@ endif () - # Dependencies for optional formats and features. If these are not found, - # we will continue building, but the related functionality will be disabled. - --checked_find_package (PNG) -+if (USE_LIBPNG) -+ checked_find_package (PNG REQUIRED) -+endif() - --checked_find_package (BZip2) # Used by ffmpeg and freetype --if (NOT BZIP2_FOUND) -- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? --endif () -+if (USE_FREETYPE) -+ checked_find_package (Freetype REQUIRED -+ DEFINITIONS -DUSE_FREETYPE=1 ) -+endif() - --checked_find_package (Freetype -- DEFINITIONS -DUSE_FREETYPE=1 ) -- --checked_find_package (OpenColorIO -- DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 -- # PREFER_CONFIG -- ) --if (OpenColorIO_FOUND) -- option (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS -- "For deveoper debugging/testing ONLY! Disable OCIO 2.2 builtin configs." OFF) -- if (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS OR "$ENV{OIIO_DISABLE_BUILTIN_OCIO_CONFIGS}") -- add_compile_definitions(OIIO_DISABLE_BUILTIN_OCIO_CONFIGS) -- endif () --else () -- set (OpenColorIO_FOUND 0) -+if (USE_OPENCOLORIO) -+ checked_find_package (OpenColorIO REQUIRED -+ DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 -+ # PREFER_CONFIG -+ ) - endif () - --checked_find_package (OpenCV 3.0 -- DEFINITIONS -DUSE_OPENCV=1) -+if (USE_OPENCV) -+ checked_find_package (OpenCV REQUIRED 3.0 -+ DEFINITIONS -DUSE_OPENCV=1) -+endif() - - # Intel TBB --set (TBB_USE_DEBUG_BUILD OFF) --checked_find_package (TBB 2017 -- SETVARIABLES OIIO_TBB -- PREFER_CONFIG) -+if (USE_TBB)# Intel TBB -+ set (TBB_USE_DEBUG_BUILD OFF) -+ checked_find_package (TBB 2017 REQUIRED -+ SETVARIABLES OIIO_TBB -+ PREFER_CONFIG) -+endif() - - # DCMTK is used to read DICOM images --checked_find_package (DCMTK VERSION_MIN 3.6.1 -- PREFER_CONFIG) -+if (USE_DCMTK) -+ checked_find_package (DCMTK REQUIRED VERSION_MIN 3.6.1) # For DICOM images -+endif() - --checked_find_package (FFmpeg VERSION_MIN 3.0) --checked_find_package (GIF -- VERSION_MIN 4 -- RECOMMEND_MIN 5.0 -- RECOMMEND_MIN_REASON "for stability and thread safety") -+if (USE_FFMPEG) -+ checked_find_package (ffmpeg REQUIRED VERSION_MIN 3.0) -+endif() -+if (USE_GIF) -+ checked_find_package (GIF REQUIRED -+ VERSION_MIN 4 -+ RECOMMEND_MIN 5.0 -+ RECOMMEND_MIN_REASON "for stability and thread safety") -+endif() - - # For HEIF/HEIC/AVIF formats --checked_find_package (Libheif VERSION_MIN 1.3 -- RECOMMEND_MIN 1.16 -- RECOMMEND_MIN_REASON "for orientation support") --if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) -- message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") -- set (Libheif_FOUND 0) --endif () -+if (USE_LIBHEIF) -+ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 -+ RECOMMEND_MIN 1.7 -+ RECOMMEND_MIN_REASON "for AVIF support") -+endif() - --checked_find_package (LibRaw -- VERSION_MIN 0.18 -- PRINT LibRaw_r_LIBRARIES) --if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) -- message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") -- # Currently, we issue the above warning and let them take their chances. -- # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, -- # just uncomment the following two lines. -- # set (LibRaw_FOUND 0) -- # set (LIBRAW_FOUND 0) --endif () -+if (USE_LIBRAW) -+ checked_find_package (LibRaw REQUIRED -+ RECOMMEND_MIN 0.18 -+ RECOMMEND_MIN_REASON "for ACES support and better camera metadata" -+ PRINT LibRaw_r_LIBRARIES) -+endif() - --checked_find_package (OpenJPEG VERSION_MIN 2.0 -- RECOMMEND_MIN 2.2 -- RECOMMEND_MIN_REASON "for multithreading support") --# Note: Recent OpenJPEG versions have exported cmake configs, but we don't --# find them reliable at all, so we stick to our FindOpenJPEG.cmake module. -- --checked_find_package (OpenVDB -- VERSION_MIN 5.0 -- DEPS TBB -- DEFINITIONS -DUSE_OPENVDB=1) --if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 10.1 AND CMAKE_CXX_STANDARD VERSION_LESS 17) -- message (WARNING "${ColorYellow}OpenVDB >= 10.1 (we found ${OpenVDB_VERSION}) can only be used when we build with C++17 or higher. Disabling OpenVDB support.${ColorReset}") -- set (OpeVDB_FOUND 0) --endif () -+if (USE_OPENJPEG) -+ checked_find_package (OpenJPEG REQUIRED -+ VERSION_MIN 2.0 -+ RECOMMEND_MIN 2.2 -+ RECOMMEND_MIN_REASON "for multithreading support") -+ # Note: Recent OpenJPEG versions have exported cmake configs, but we don't -+ # find them reliable at all, so we stick to our FindOpenJPEG.cmake module. -+endif() - --checked_find_package (Ptex PREFER_CONFIG) --if (NOT Ptex_FOUND OR NOT Ptex_VERSION) -- # Fallback for inadequate Ptex exported configs. This will eventually -- # disappear when we can 100% trust Ptex's exports. -- unset (Ptex_FOUND) -- checked_find_package (Ptex) --endif () -+if (USE_OPENVDB) -+ checked_find_package (OpenVDB REQUIRED -+ VERSION_MIN 5.0 -+ DEPS TBB -+ DEFINITIONS -DUSE_OPENVDB=1) -+endif() - --checked_find_package (WebP) --# Note: When WebP 1.1 (released late 2019) is our minimum, we can use their --# exported configs and remove our FindWebP.cmake module. -+if (USE_PTEX) -+ checked_find_package (ptex REQUIRED PREFER_CONFIG) -+endif() -+ -+if (USE_LIBWEBP) -+ checked_find_package (WebP REQUIRED) -+endif() - - option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) --checked_find_package (R3DSDK NO_RECORD_NOTFOUND) # RED camera -+if (USE_R3DSDK) -+ checked_find_package (R3DSDK REQUIRED) # RED camera -+endif () - - set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") --checked_find_package (Nuke NO_RECORD_NOTFOUND) -+if (USE_NUKE) -+ checked_find_package (Nuke REQUIRED) -+endif () - - - # Qt -- used for iv - option (USE_QT "Use Qt if found" ON) --if (USE_QT) -- checked_find_package (OpenGL) # used for iv -+if (USE_OPENGL) -+ checked_find_package (OpenGL REQUIRED) # used for iv - endif () --if (USE_QT AND OPENGL_FOUND) -+if (USE_QT AND USE_OPENGL) - checked_find_package (Qt6 COMPONENTS Core Gui Widgets OpenGLWidgets) - if (NOT Qt6_FOUND) - checked_find_package (Qt5 COMPONENTS Core Gui Widgets OpenGL) -@@ -294,13 +293,13 @@ macro (find_or_download_robin_map) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_ROBINMAP_FORCE) -- find_package (Robinmap QUIET) -+ find_package (tsl-robin-map REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. - # Download the headers from github -- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) -+ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) - message (STATUS "Downloading local Tessil/robin-map") - set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") - set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") -@@ -318,7 +317,7 @@ macro (find_or_download_robin_map) - endif () - set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") - endif () -- checked_find_package (Robinmap REQUIRED) -+ checked_find_package (tsl-robin-map REQUIRED) - endmacro() - - find_or_download_robin_map () -@@ -337,7 +336,7 @@ macro (find_or_download_fmt) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_FMT_FORCE) -- find_package (fmt QUIET) -+ find_package (fmt REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then -@@ -372,7 +371,7 @@ macro (find_or_download_fmt) - set (fmt_VERSION "${FMT_VERSION_MAJOR}.${FMT_VERSION_MINOR}.${FMT_VERSION_PATCH}") - list (APPEND CFP_ALL_BUILD_DEPS_FOUND "${pkgname} ${${pkgname}_VERSION}") - else () -- get_target_property(FMT_INCLUDE_DIR fmt::fmt-header-only INTERFACE_INCLUDE_DIRECTORIES) -+ get_target_property(FMT_INCLUDE_DIR fmt::fmt INTERFACE_INCLUDE_DIRECTORIES) - set (OIIO_USING_FMT_LOCAL FALSE) - checked_find_package (fmt REQUIRED - VERSION_MIN 7.0) -diff --git src/ffmpeg.imageio/CMakeLists.txt src/ffmpeg.imageio/CMakeLists.txt -index 8e47a8443..900d23101 100644 ---- src/ffmpeg.imageio/CMakeLists.txt -+++ src/ffmpeg.imageio/CMakeLists.txt -@@ -2,7 +2,7 @@ - # SPDX-License-Identifier: Apache-2.0 - # https://github.com/AcademySoftwareFoundation/OpenImageIO - --if (FFmpeg_FOUND) -+if (USE_FFMPEG) - if (LINKSTATIC) - set (_static_suffixes .lib .a) - set (_static_libraries_found 0) -@@ -26,11 +26,9 @@ if (FFmpeg_FOUND) - endif() - - add_oiio_plugin (ffmpeginput.cpp -- INCLUDE_DIRS ${FFMPEG_INCLUDES} -- LINK_LIBRARIES ${FFMPEG_LIBRARIES} -- ${BZIP2_LIBRARIES} -+ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale - DEFINITIONS "-DUSE_FFMPEG" -- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") -+ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") - else() - message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") - endif() -diff --git src/heif.imageio/CMakeLists.txt src/heif.imageio/CMakeLists.txt -index 5b6c30a85..e5bc55ef1 100644 ---- src/heif.imageio/CMakeLists.txt -+++ src/heif.imageio/CMakeLists.txt -@@ -2,32 +2,31 @@ - # SPDX-License-Identifier: Apache-2.0 - # https://github.com/AcademySoftwareFoundation/OpenImageIO - --if (Libheif_FOUND) -- if (LINKSTATIC) -- set (_static_suffixes .lib .a) -- set (_static_libraries_found 0) -+if (USE_LIBHEIF) -+ # if (LINKSTATIC) -+ # set (_static_suffixes .lib .a) -+ # set (_static_libraries_found 0) - -- foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) -- get_filename_component (_ext ${_libeheif_library} LAST_EXT) -- list (FIND _static_suffixes ${_ext} _index) -- if (${_index} GREATER -1) -- MATH (EXPR _static_libraries_found "${static_libraries_found}+1") -- endif() -- endforeach() -+ # foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) -+ # get_filename_component (_ext ${_libeheif_library} LAST_EXT) -+ # list (FIND _static_suffixes ${_ext} _index) -+ # if (${_index} GREATER -1) -+ # MATH (EXPR _static_libraries_found "${static_libraries_found}+1") -+ # endif() -+ # endforeach() - -- if (${_static_libraries_found} GREATER 0) -- message (STATUS "${ColorYellow}") -- message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") -- message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") -- message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") -- message (STATUS "dynamically-linked libheif.") -- message ("${ColorReset}") -- endif() -- endif() -+ # if (${_static_libraries_found} GREATER 0) -+ # message (STATUS "${ColorYellow}") -+ # message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") -+ # message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") -+ # message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") -+ # message (STATUS "dynamically-linked libheif.") -+ # message ("${ColorReset}") -+ # endif() -+ # endif() - - add_oiio_plugin (heifinput.cpp heifoutput.cpp -- INCLUDE_DIRS ${LIBHEIF_INCLUDES} -- LINK_LIBRARIES ${LIBHEIF_LIBRARIES} -+ LINK_LIBRARIES libheif::heif - DEFINITIONS "-DUSE_HEIF=1") - else () - message (WARNING "heif plugin will not be built") -diff --git src/include/CMakeLists.txt src/include/CMakeLists.txt -index 7bec09739..3db17086f 100644 ---- src/include/CMakeLists.txt -+++ src/include/CMakeLists.txt -@@ -64,7 +64,8 @@ install (FILES ${detail_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail - COMPONENT developer) - --if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) -+if (0) # Don't try to copy fmt libraries to target install folder -+ set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") - set (fmt_headers_base_names) - foreach (header_name core.h format-inl.h format.h ostream.h printf.h - std.h base.h chrono.h) -diff --git src/jpeg2000.imageio/CMakeLists.txt src/jpeg2000.imageio/CMakeLists.txt -index 560e8d486..24348fe66 100644 ---- src/jpeg2000.imageio/CMakeLists.txt -+++ src/jpeg2000.imageio/CMakeLists.txt -@@ -2,10 +2,9 @@ - # SPDX-License-Identifier: Apache-2.0 - # https://github.com/AcademySoftwareFoundation/OpenImageIO - --if (OPENJPEG_FOUND) -+if (USE_OPENJPEG) - add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp -- INCLUDE_DIRS ${OPENJPEG_INCLUDES} -- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} -+ LINK_LIBRARIES openjp2 - DEFINITIONS "-DUSE_OPENJPEG") - else() - message (WARNING "Jpeg-2000 plugin will not be built") -diff --git src/libOpenImageIO/CMakeLists.txt src/libOpenImageIO/CMakeLists.txt -index aeb7b7f93..9a32e4cf2 100644 ---- src/libOpenImageIO/CMakeLists.txt -+++ src/libOpenImageIO/CMakeLists.txt -@@ -154,19 +154,27 @@ target_link_libraries (OpenImageIO - ${OPENIMAGEIO_IMATH_TARGETS} - PRIVATE - ${OPENIMAGEIO_OPENEXR_TARGETS} -- ${OpenCV_LIBRARIES} - ${format_plugin_libs} # Add all the target link libraries from the plugins - $ - $ - $ - $ -- $ - ${BZIP2_LIBRARIES} - ZLIB::ZLIB -- $ -+ tsl::robin_map -+ Boost::filesystem Boost::thread Boost::system Boost::container - ${CMAKE_DL_LIBS} - ) - -+if (USE_OPENCV) -+ target_link_libraries (OpenImageIO PRIVATE opencv::opencv_core -+ opencv::opencv_imgproc -+ opencv::opencv_videoio) -+endif () -+if (USE_FREETYPE) -+ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) -+endif() -+ - if (WIN32) - target_link_libraries (OpenImageIO PRIVATE psapi) - endif() -diff --git src/libutil/CMakeLists.txt src/libutil/CMakeLists.txt -index f873b3eed..cf5d4e74c 100644 ---- src/libutil/CMakeLists.txt -+++ src/libutil/CMakeLists.txt -@@ -20,20 +20,13 @@ target_link_libraries (OpenImageIO_Util - ${GCC_ATOMIC_LIBRARIES} - ${OPENIMAGEIO_IMATH_DEPENDENCY_VISIBILITY} - ${OPENIMAGEIO_IMATH_TARGETS} -+ fmt::fmt - PRIVATE -- $ -- $ -+ Boost::filesystem Boost::thread Boost::system - $ - ${CMAKE_DL_LIBS} - ) - --if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) -- add_dependencies(OpenImageIO_Util fmt_internal_target) --else () -- target_link_libraries (OpenImageIO_Util -- PUBLIC fmt::fmt-header-only) --endif () -- - if (WIN32) - add_definitions(-DWIN32_LEAN_AND_MEAN -DNOMINMAX -DNOGDI -DVC_EXTRALEAN) - target_link_libraries (OpenImageIO_Util PRIVATE psapi) -diff --git src/ptex.imageio/CMakeLists.txt src/ptex.imageio/CMakeLists.txt -index 16634fedb..82060ac29 100644 ---- src/ptex.imageio/CMakeLists.txt -+++ src/ptex.imageio/CMakeLists.txt -@@ -2,12 +2,9 @@ - # SPDX-License-Identifier: Apache-2.0 - # https://github.com/AcademySoftwareFoundation/OpenImageIO - --if (Ptex_FOUND) -- set(ptex_target Ptex::Ptex_dynamic) -- if (TARGET Ptex::Ptex_static AND (NOT TARGET Ptex::Ptex_dynamic OR LINKSTATIC)) -- set(ptex_target Ptex::Ptex_static) -- endif() -+if (USE_PTEX) - add_oiio_plugin (ptexinput.cpp -- LINK_LIBRARIES ${ptex_target} ZLIB::ZLIB -+ LINK_LIBRARIES ${ptex_LIBRARIES} ZLIB::ZLIB -+ INCLUDE_DIRS ${ptex_INCLUDE_DIRS} - DEFINITIONS "-DUSE_PTEX") - endif () diff --git a/recipes/openimageio/all/patches/2.5.12.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.5.12.0-cmake-targets.patch deleted file mode 100644 index 2298a620c52ae..0000000000000 --- a/recipes/openimageio/all/patches/2.5.12.0-cmake-targets.patch +++ /dev/null @@ -1,521 +0,0 @@ -diff --git CMakeLists.txt CMakeLists.txt -index d855110d6..aeebadae9 100644 ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -154,7 +154,7 @@ endif () - add_definitions (-DOIIO_INTERNAL=1) - - list (APPEND CMAKE_MODULE_PATH -- "${PROJECT_SOURCE_DIR}/src/cmake/modules" -+ #"${PROJECT_SOURCE_DIR}/src/cmake/modules" - "${PROJECT_SOURCE_DIR}/src/cmake") - - include (GNUInstallDirs) -@@ -233,7 +233,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) - add_subdirectory (src/iinfo) - add_subdirectory (src/maketx) - add_subdirectory (src/oiiotool) -- add_subdirectory (src/testtex) -+ #add_subdirectory (src/testtex) - add_subdirectory (src/iv) - endif () - -diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake -index 3ffe300c7..3f307cec6 100644 ---- src/cmake/externalpackages.cmake -+++ src/cmake/externalpackages.cmake -@@ -45,14 +45,14 @@ if (NOT DEFINED Boost_USE_STATIC_LIBS) - set (Boost_USE_STATIC_LIBS "${LINKSTATIC}") - endif () - --if (MSVC) -- # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: -- if (NOT Boost_USE_STATIC_LIBS) -- add_definitions (-DBOOST_ALL_DYN_LINK=1) -- endif () --endif () -- --set (Boost_COMPONENTS thread) -+#if (MSVC) -+# # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: -+# if (NOT Boost_USE_STATIC_LIBS) -+# add_definitions (-DBOOST_ALL_DYN_LINK=1) -+# endif () -+#endif () -+ -+set (Boost_COMPONENTS filesystem system thread container) - if (NOT USE_STD_FILESYSTEM) - list (APPEND Boost_COMPONENTS filesystem) - endif () -@@ -108,9 +108,9 @@ checked_find_package (OpenEXR REQUIRED - # building against Imath/OpenEXR 3.x when there is still a system-level - # install version of 2.x. - include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) --if (MSVC AND NOT LINKSTATIC) -- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? --endif () -+#if (MSVC AND NOT LINKSTATIC) -+# add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? -+#endif () - if (OpenEXR_VERSION VERSION_GREATER_EQUAL 3.0) - set (OIIO_USING_IMATH 3) - else () -@@ -137,11 +137,15 @@ set (OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH OFF CACHE BOOL - "Exclude find_dependency(Imath) from the exported OpenImageIOConfig.cmake") - - # JPEG -- prefer JPEG-Turbo to regular libjpeg --checked_find_package (libjpeg-turbo -- VERSION_MIN 2.1 -- DEFINITIONS -DUSE_JPEG_TURBO=1) --if (NOT TARGET libjpeg-turbo::jpeg) # Try to find the non-turbo version -+if (USE_JPEGTURBO) -+ checked_find_package (libjpeg-turbo REQUIRED -+ DEFINITIONS -DUSE_JPEG_TURBO=1 -+ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) -+ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) -+elseif (USE_JPEG) # Try to find the non-turbo version - checked_find_package (JPEG REQUIRED) -+else () -+ message(FATAL_ERROR "JPEG library was not found!") - endif () - - # Pugixml setup. Normally we just use the version bundled with oiio, but -@@ -157,7 +161,7 @@ else () - endif() - - # From pythonutils.cmake --find_python() -+#find_python() - if (USE_PYTHON) - checked_find_package (pybind11 REQUIRED VERSION_MIN 2.4.2) - endif () -@@ -167,111 +171,107 @@ endif () - # Dependencies for optional formats and features. If these are not found, - # we will continue building, but the related functionality will be disabled. - --checked_find_package (PNG) -+if (USE_LIBPNG) -+ checked_find_package (PNG REQUIRED) -+endif() - --checked_find_package (BZip2) # Used by ffmpeg and freetype --if (NOT BZIP2_FOUND) -- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? --endif () -+if (USE_FREETYPE) -+ checked_find_package (Freetype REQUIRED -+ DEFINITIONS -DUSE_FREETYPE=1 ) -+endif() - --checked_find_package (Freetype -- DEFINITIONS -DUSE_FREETYPE=1 ) -- --checked_find_package (OpenColorIO -- DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 -- # PREFER_CONFIG -- ) --if (OpenColorIO_FOUND) -- option (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS -- "For deveoper debugging/testing ONLY! Disable OCIO 2.2 builtin configs." OFF) -- if (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS OR "$ENV{OIIO_DISABLE_BUILTIN_OCIO_CONFIGS}") -- add_compile_definitions(OIIO_DISABLE_BUILTIN_OCIO_CONFIGS) -- endif () --else () -- set (OpenColorIO_FOUND 0) -+if (USE_OPENCOLORIO) -+ checked_find_package (OpenColorIO REQUIRED -+ DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 -+ # PREFER_CONFIG -+ ) - endif () - --checked_find_package (OpenCV 3.0 -- DEFINITIONS -DUSE_OPENCV=1) -+if (USE_OPENCV) -+ checked_find_package (OpenCV REQUIRED 3.0 -+ DEFINITIONS -DUSE_OPENCV=1) -+endif() - - # Intel TBB --set (TBB_USE_DEBUG_BUILD OFF) --checked_find_package (TBB 2017 -- SETVARIABLES OIIO_TBB -- PREFER_CONFIG) -+if (USE_TBB)# Intel TBB -+ set (TBB_USE_DEBUG_BUILD OFF) -+ checked_find_package (TBB 2017 REQUIRED -+ SETVARIABLES OIIO_TBB -+ PREFER_CONFIG) -+endif() - - # DCMTK is used to read DICOM images --checked_find_package (DCMTK VERSION_MIN 3.6.1 -- PREFER_CONFIG) -+if (USE_DCMTK) -+ checked_find_package (DCMTK REQUIRED VERSION_MIN 3.6.1) # For DICOM images -+endif() - --checked_find_package (FFmpeg VERSION_MIN 3.0) --checked_find_package (GIF -- VERSION_MIN 4 -- RECOMMEND_MIN 5.0 -- RECOMMEND_MIN_REASON "for stability and thread safety") -+if (USE_FFMPEG) -+ checked_find_package (ffmpeg REQUIRED VERSION_MIN 3.0) -+endif() -+if (USE_GIF) -+ checked_find_package (GIF REQUIRED -+ VERSION_MIN 4 -+ RECOMMEND_MIN 5.0 -+ RECOMMEND_MIN_REASON "for stability and thread safety") -+endif() - - # For HEIF/HEIC/AVIF formats --checked_find_package (Libheif VERSION_MIN 1.3 -- RECOMMEND_MIN 1.16 -- RECOMMEND_MIN_REASON "for orientation support") --if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) -- message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") -- set (Libheif_FOUND 0) --endif () -+if (USE_LIBHEIF) -+ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 -+ RECOMMEND_MIN 1.7 -+ RECOMMEND_MIN_REASON "for AVIF support") -+endif() - --checked_find_package (LibRaw -- VERSION_MIN 0.18 -- PRINT LibRaw_r_LIBRARIES) --if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) -- message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") -- # Currently, we issue the above warning and let them take their chances. -- # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, -- # just uncomment the following two lines. -- # set (LibRaw_FOUND 0) -- # set (LIBRAW_FOUND 0) --endif () -+if (USE_LIBRAW) -+ checked_find_package (LibRaw REQUIRED -+ RECOMMEND_MIN 0.18 -+ RECOMMEND_MIN_REASON "for ACES support and better camera metadata" -+ PRINT LibRaw_r_LIBRARIES) -+endif() - --checked_find_package (OpenJPEG VERSION_MIN 2.0 -- RECOMMEND_MIN 2.2 -- RECOMMEND_MIN_REASON "for multithreading support") --# Note: Recent OpenJPEG versions have exported cmake configs, but we don't --# find them reliable at all, so we stick to our FindOpenJPEG.cmake module. -- --checked_find_package (OpenVDB -- VERSION_MIN 5.0 -- DEPS TBB -- DEFINITIONS -DUSE_OPENVDB=1) --if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 10.1 AND CMAKE_CXX_STANDARD VERSION_LESS 17) -- message (WARNING "${ColorYellow}OpenVDB >= 10.1 (we found ${OpenVDB_VERSION}) can only be used when we build with C++17 or higher. Disabling OpenVDB support.${ColorReset}") -- set (OpenVDB_FOUND 0) -- add_compile_definitions(DISABLE_OPENVDB=1) --endif () -+if (USE_OPENJPEG) -+ checked_find_package (OpenJPEG REQUIRED -+ VERSION_MIN 2.0 -+ RECOMMEND_MIN 2.2 -+ RECOMMEND_MIN_REASON "for multithreading support") -+ # Note: Recent OpenJPEG versions have exported cmake configs, but we don't -+ # find them reliable at all, so we stick to our FindOpenJPEG.cmake module. -+endif() - --checked_find_package (Ptex PREFER_CONFIG) --if (NOT Ptex_FOUND OR NOT Ptex_VERSION) -- # Fallback for inadequate Ptex exported configs. This will eventually -- # disappear when we can 100% trust Ptex's exports. -- unset (Ptex_FOUND) -- checked_find_package (Ptex) --endif () -+if (USE_OPENVDB) -+ checked_find_package (OpenVDB REQUIRED -+ VERSION_MIN 5.0 -+ DEPS TBB -+ DEFINITIONS -DUSE_OPENVDB=1) -+ # Upstream contains a version check to ensure that CXX 17 or newer is used with -+ # OpenVDB >= 10.1. This is ensured by the conanfile for openvdb -+endif() - --checked_find_package (WebP) --# Note: When WebP 1.1 (released late 2019) is our minimum, we can use their --# exported configs and remove our FindWebP.cmake module. -+if (USE_PTEX) -+ checked_find_package (ptex REQUIRED PREFER_CONFIG) -+endif() -+ -+if (USE_LIBWEBP) -+ checked_find_package (WebP REQUIRED) -+endif() - - option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) --checked_find_package (R3DSDK NO_RECORD_NOTFOUND) # RED camera -+if (USE_R3DSDK) -+ checked_find_package (R3DSDK REQUIRED) # RED camera -+endif () - - set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") --checked_find_package (Nuke NO_RECORD_NOTFOUND) -+if (USE_NUKE) -+ checked_find_package (Nuke REQUIRED) -+endif () - - - # Qt -- used for iv - option (USE_QT "Use Qt if found" ON) --if (USE_QT) -- checked_find_package (OpenGL) # used for iv -+if (USE_OPENGL) -+ checked_find_package (OpenGL REQUIRED) # used for iv - endif () --if (USE_QT AND OPENGL_FOUND) -+if (USE_QT AND USE_OPENGL) - checked_find_package (Qt6 COMPONENTS Core Gui Widgets OpenGLWidgets) - if (NOT Qt6_FOUND) - checked_find_package (Qt5 COMPONENTS Core Gui Widgets OpenGL) -@@ -295,13 +295,13 @@ macro (find_or_download_robin_map) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_ROBINMAP_FORCE) -- find_package (Robinmap QUIET) -+ find_package (tsl-robin-map REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. - # Download the headers from github -- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) -+ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) - message (STATUS "Downloading local Tessil/robin-map") - set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") - set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") -@@ -319,7 +319,7 @@ macro (find_or_download_robin_map) - endif () - set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") - endif () -- checked_find_package (Robinmap REQUIRED) -+ checked_find_package (tsl-robin-map REQUIRED) - endmacro() - - find_or_download_robin_map () -@@ -338,7 +338,7 @@ macro (find_or_download_fmt) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_FMT_FORCE) -- find_package (fmt QUIET) -+ find_package (fmt REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then -@@ -373,7 +373,7 @@ macro (find_or_download_fmt) - set (fmt_VERSION "${FMT_VERSION_MAJOR}.${FMT_VERSION_MINOR}.${FMT_VERSION_PATCH}") - list (APPEND CFP_ALL_BUILD_DEPS_FOUND "${pkgname} ${${pkgname}_VERSION}") - else () -- get_target_property(FMT_INCLUDE_DIR fmt::fmt-header-only INTERFACE_INCLUDE_DIRECTORIES) -+ get_target_property(FMT_INCLUDE_DIR fmt::fmt INTERFACE_INCLUDE_DIRECTORIES) - set (OIIO_USING_FMT_LOCAL FALSE) - checked_find_package (fmt REQUIRED - VERSION_MIN 7.0) -diff --git src/ffmpeg.imageio/CMakeLists.txt src/ffmpeg.imageio/CMakeLists.txt -index 8e47a8443..900d23101 100644 ---- src/ffmpeg.imageio/CMakeLists.txt -+++ src/ffmpeg.imageio/CMakeLists.txt -@@ -2,7 +2,7 @@ - # SPDX-License-Identifier: Apache-2.0 - # https://github.com/AcademySoftwareFoundation/OpenImageIO - --if (FFmpeg_FOUND) -+if (USE_FFMPEG) - if (LINKSTATIC) - set (_static_suffixes .lib .a) - set (_static_libraries_found 0) -@@ -26,11 +26,9 @@ if (FFmpeg_FOUND) - endif() - - add_oiio_plugin (ffmpeginput.cpp -- INCLUDE_DIRS ${FFMPEG_INCLUDES} -- LINK_LIBRARIES ${FFMPEG_LIBRARIES} -- ${BZIP2_LIBRARIES} -+ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale - DEFINITIONS "-DUSE_FFMPEG" -- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") -+ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") - else() - message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") - endif() -diff --git src/heif.imageio/CMakeLists.txt src/heif.imageio/CMakeLists.txt -index 5b6c30a85..e5bc55ef1 100644 ---- src/heif.imageio/CMakeLists.txt -+++ src/heif.imageio/CMakeLists.txt -@@ -2,32 +2,31 @@ - # SPDX-License-Identifier: Apache-2.0 - # https://github.com/AcademySoftwareFoundation/OpenImageIO - --if (Libheif_FOUND) -- if (LINKSTATIC) -- set (_static_suffixes .lib .a) -- set (_static_libraries_found 0) -+if (USE_LIBHEIF) -+ # if (LINKSTATIC) -+ # set (_static_suffixes .lib .a) -+ # set (_static_libraries_found 0) - -- foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) -- get_filename_component (_ext ${_libeheif_library} LAST_EXT) -- list (FIND _static_suffixes ${_ext} _index) -- if (${_index} GREATER -1) -- MATH (EXPR _static_libraries_found "${static_libraries_found}+1") -- endif() -- endforeach() -+ # foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) -+ # get_filename_component (_ext ${_libeheif_library} LAST_EXT) -+ # list (FIND _static_suffixes ${_ext} _index) -+ # if (${_index} GREATER -1) -+ # MATH (EXPR _static_libraries_found "${static_libraries_found}+1") -+ # endif() -+ # endforeach() - -- if (${_static_libraries_found} GREATER 0) -- message (STATUS "${ColorYellow}") -- message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") -- message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") -- message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") -- message (STATUS "dynamically-linked libheif.") -- message ("${ColorReset}") -- endif() -- endif() -+ # if (${_static_libraries_found} GREATER 0) -+ # message (STATUS "${ColorYellow}") -+ # message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") -+ # message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") -+ # message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") -+ # message (STATUS "dynamically-linked libheif.") -+ # message ("${ColorReset}") -+ # endif() -+ # endif() - - add_oiio_plugin (heifinput.cpp heifoutput.cpp -- INCLUDE_DIRS ${LIBHEIF_INCLUDES} -- LINK_LIBRARIES ${LIBHEIF_LIBRARIES} -+ LINK_LIBRARIES libheif::heif - DEFINITIONS "-DUSE_HEIF=1") - else () - message (WARNING "heif plugin will not be built") -diff --git src/include/CMakeLists.txt src/include/CMakeLists.txt -index 7bec09739..3db17086f 100644 ---- src/include/CMakeLists.txt -+++ src/include/CMakeLists.txt -@@ -64,7 +64,8 @@ install (FILES ${detail_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail - COMPONENT developer) - --if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) -+if (0) # Don't try to copy fmt libraries to target install folder -+ set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") - set (fmt_headers_base_names) - foreach (header_name core.h format-inl.h format.h ostream.h printf.h - std.h base.h chrono.h) -diff --git src/jpeg2000.imageio/CMakeLists.txt src/jpeg2000.imageio/CMakeLists.txt -index 560e8d486..24348fe66 100644 ---- src/jpeg2000.imageio/CMakeLists.txt -+++ src/jpeg2000.imageio/CMakeLists.txt -@@ -2,10 +2,9 @@ - # SPDX-License-Identifier: Apache-2.0 - # https://github.com/AcademySoftwareFoundation/OpenImageIO - --if (OPENJPEG_FOUND) -+if (USE_OPENJPEG) - add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp -- INCLUDE_DIRS ${OPENJPEG_INCLUDES} -- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} -+ LINK_LIBRARIES openjp2 - DEFINITIONS "-DUSE_OPENJPEG") - else() - message (WARNING "Jpeg-2000 plugin will not be built") -diff --git src/libOpenImageIO/CMakeLists.txt src/libOpenImageIO/CMakeLists.txt -index aeb7b7f93..9a32e4cf2 100644 ---- src/libOpenImageIO/CMakeLists.txt -+++ src/libOpenImageIO/CMakeLists.txt -@@ -154,19 +154,27 @@ target_link_libraries (OpenImageIO - ${OPENIMAGEIO_IMATH_TARGETS} - PRIVATE - ${OPENIMAGEIO_OPENEXR_TARGETS} -- ${OpenCV_LIBRARIES} - ${format_plugin_libs} # Add all the target link libraries from the plugins - $ - $ - $ - $ -- $ - ${BZIP2_LIBRARIES} - ZLIB::ZLIB -- $ -+ tsl::robin_map -+ Boost::filesystem Boost::thread Boost::system Boost::container - ${CMAKE_DL_LIBS} - ) - -+if (USE_OPENCV) -+ target_link_libraries (OpenImageIO PRIVATE opencv::opencv_core -+ opencv::opencv_imgproc -+ opencv::opencv_videoio) -+endif () -+if (USE_FREETYPE) -+ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) -+endif() -+ - if (WIN32) - target_link_libraries (OpenImageIO PRIVATE psapi) - endif() -diff --git src/libutil/CMakeLists.txt src/libutil/CMakeLists.txt -index f873b3eed..cf5d4e74c 100644 ---- src/libutil/CMakeLists.txt -+++ src/libutil/CMakeLists.txt -@@ -20,20 +20,13 @@ target_link_libraries (OpenImageIO_Util - ${GCC_ATOMIC_LIBRARIES} - ${OPENIMAGEIO_IMATH_DEPENDENCY_VISIBILITY} - ${OPENIMAGEIO_IMATH_TARGETS} -+ fmt::fmt - PRIVATE -- $ -- $ -+ Boost::filesystem Boost::thread Boost::system - $ - ${CMAKE_DL_LIBS} - ) - --if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) -- add_dependencies(OpenImageIO_Util fmt_internal_target) --else () -- target_link_libraries (OpenImageIO_Util -- PUBLIC fmt::fmt-header-only) --endif () -- - if (WIN32) - add_definitions(-DWIN32_LEAN_AND_MEAN -DNOMINMAX -DNOGDI -DVC_EXTRALEAN) - target_link_libraries (OpenImageIO_Util PRIVATE psapi) -diff --git src/ptex.imageio/CMakeLists.txt src/ptex.imageio/CMakeLists.txt -index 16634fedb..82060ac29 100644 ---- src/ptex.imageio/CMakeLists.txt -+++ src/ptex.imageio/CMakeLists.txt -@@ -2,12 +2,9 @@ - # SPDX-License-Identifier: Apache-2.0 - # https://github.com/AcademySoftwareFoundation/OpenImageIO - --if (Ptex_FOUND) -- set(ptex_target Ptex::Ptex_dynamic) -- if (TARGET Ptex::Ptex_static AND (NOT TARGET Ptex::Ptex_dynamic OR LINKSTATIC)) -- set(ptex_target Ptex::Ptex_static) -- endif() -+if (USE_PTEX) - add_oiio_plugin (ptexinput.cpp -- LINK_LIBRARIES ${ptex_target} ZLIB::ZLIB -+ LINK_LIBRARIES ${ptex_LIBRARIES} ZLIB::ZLIB -+ INCLUDE_DIRS ${ptex_INCLUDE_DIRS} - DEFINITIONS "-DUSE_PTEX") - endif () diff --git a/recipes/openimageio/all/patches/2.5.17.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.5.17.0-cmake-targets.patch new file mode 100644 index 0000000000000..4b94fb40e8398 --- /dev/null +++ b/recipes/openimageio/all/patches/2.5.17.0-cmake-targets.patch @@ -0,0 +1,540 @@ +diff --git CMakeLists.txt CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -156,7 +156,7 @@ endif () + add_definitions (-DOIIO_INTERNAL=1) + + list (APPEND CMAKE_MODULE_PATH +- "${PROJECT_SOURCE_DIR}/src/cmake/modules" ++ #"${PROJECT_SOURCE_DIR}/src/cmake/modules" + "${PROJECT_SOURCE_DIR}/src/cmake") + + include (GNUInstallDirs) +@@ -235,7 +235,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) + add_subdirectory (src/iinfo) + add_subdirectory (src/maketx) + add_subdirectory (src/oiiotool) +- add_subdirectory (src/testtex) ++ #add_subdirectory (src/testtex) + add_subdirectory (src/iv) + endif () + +diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake +index 6556cd2eb..b9c4cd958 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -48,14 +48,15 @@ if (NOT DEFINED Boost_USE_STATIC_LIBS) + set (Boost_USE_STATIC_LIBS "${LINKSTATIC}") + endif () + +-if (MSVC) +- # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: +- if (NOT Boost_USE_STATIC_LIBS) +- add_definitions (-DBOOST_ALL_DYN_LINK=1) +- endif () +-endif () ++# if (MSVC) ++# # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: ++# if (NOT Boost_USE_STATIC_LIBS) ++# add_definitions (-DBOOST_ALL_DYN_LINK=1) ++# endif () ++# endif () + + set (Boost_COMPONENTS thread) ++# set (Boost_COMPONENTS filesystem system thread container) + if (NOT USE_STD_FILESYSTEM) + list (APPEND Boost_COMPONENTS filesystem) + endif () +@@ -111,9 +112,9 @@ checked_find_package (OpenEXR REQUIRED + # building against Imath/OpenEXR 3.x when there is still a system-level + # install version of 2.x. + include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) +-if (MSVC AND NOT LINKSTATIC) +- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? +-endif () ++# if (MSVC AND NOT LINKSTATIC) ++# add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? ++# endif () + if (OpenEXR_VERSION VERSION_GREATER_EQUAL 3.0) + set (OIIO_USING_IMATH 3) + else () +@@ -140,17 +141,21 @@ set (OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH OFF CACHE BOOL + "Exclude find_dependency(Imath) from the exported OpenImageIOConfig.cmake") + + # JPEG -- prefer JPEG-Turbo to regular libjpeg +-checked_find_package (libjpeg-turbo +- VERSION_MIN 2.1 +- DEFINITIONS -DUSE_JPEG_TURBO=1) +-if (NOT TARGET libjpeg-turbo::jpeg) # Try to find the non-turbo version ++if (USE_JPEGTURBO) ++ checked_find_package (libjpeg-turbo REQUIRED ++ DEFINITIONS -DUSE_JPEG_TURBO=1 ++ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) ++ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) ++elseif (USE_JPEG) # Try to find the non-turbo version + checked_find_package (JPEG REQUIRED) ++else () ++ message(FATAL_ERROR "JPEG library was not found!") + endif () + + # Pugixml setup. Normally we just use the version bundled with oiio, but + # some linux distros are quite particular about having separate packages so we + # allow this to be overridden to use the distro-provided package if desired. +-option (USE_EXTERNAL_PUGIXML "Use an externally built shared library version of the pugixml library" OFF) ++option (USE_EXTERNAL_PUGIXML "Use an externally built shared library version of the pugixml library" ON) + if (USE_EXTERNAL_PUGIXML) + checked_find_package (pugixml REQUIRED + VERSION_MIN 1.8 +@@ -160,7 +165,7 @@ else () + endif() + + # From pythonutils.cmake +-find_python() ++#find_python() + if (USE_PYTHON) + checked_find_package (pybind11 REQUIRED VERSION_MIN 2.4.2) + endif () +@@ -170,15 +175,21 @@ endif () + # Dependencies for optional formats and features. If these are not found, + # we will continue building, but the related functionality will be disabled. + +-checked_find_package (PNG) ++if (USE_LIBPNG) ++ checked_find_package (PNG REQUIRED) ++endif() + +-checked_find_package (Freetype +- DEFINITIONS -DUSE_FREETYPE=1 ) ++if (USE_FREETYPE) ++ checked_find_package (Freetype REQUIRED ++ DEFINITIONS -DUSE_FREETYPE=1 ) ++endif() + +-checked_find_package (OpenColorIO +- DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 +- # PREFER_CONFIG +- ) ++if (USE_OPENCOLORIO) ++ checked_find_package (OpenColorIO REQUIRED ++ DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 ++ # PREFER_CONFIG ++ ) ++endif() + if (OpenColorIO_FOUND) + option (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS + "For deveoper debugging/testing ONLY! Disable OCIO 2.2 builtin configs." OFF) +@@ -189,79 +200,104 @@ else () + set (OpenColorIO_FOUND 0) + endif () + +-checked_find_package (OpenCV 3.0 +- DEFINITIONS -DUSE_OPENCV=1) ++if (USE_OPENCV) ++ checked_find_package (OpenCV REQUIRED 3.0 ++ DEFINITIONS -DUSE_OPENCV=1) ++endif() + + # Intel TBB +-set (TBB_USE_DEBUG_BUILD OFF) +-checked_find_package (TBB 2017 +- SETVARIABLES OIIO_TBB +- PREFER_CONFIG) ++if (USE_TBB) ++ set (TBB_USE_DEBUG_BUILD OFF) ++ checked_find_package (TBB 2017 REQUIRED ++ SETVARIABLES OIIO_TBB ++ PREFER_CONFIG) ++endif() + + # DCMTK is used to read DICOM images +-checked_find_package (DCMTK VERSION_MIN 3.6.1 +- PREFER_CONFIG) ++if (USE_DCMTK) ++ checked_find_package (DCMTK REQUIRED VERSION_MIN 3.6.1 ++ PREFER_CONFIG) ++endif() + +-checked_find_package (FFmpeg VERSION_MIN 3.0) +-checked_find_package (GIF +- VERSION_MIN 4 +- RECOMMEND_MIN 5.0 +- RECOMMEND_MIN_REASON "for stability and thread safety") ++if (USE_FFMPEG) ++ checked_find_package (ffmpeg REQUIRED VERSION_MIN 3.0) ++endif() ++if (USE_GIF) ++ checked_find_package (GIF REQUIRED ++ VERSION_MIN 4 ++ RECOMMEND_MIN 5.0 ++ RECOMMEND_MIN_REASON "for stability and thread safety") ++endif() + + # For HEIF/HEIC/AVIF formats +-checked_find_package (Libheif VERSION_MIN 1.3 +- RECOMMEND_MIN 1.16 +- RECOMMEND_MIN_REASON "for orientation support") +-if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) +- message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") +- set (Libheif_FOUND 0) ++if (USE_LIBHEIF) ++ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 ++ RECOMMEND_MIN 1.16 ++ RECOMMEND_MIN_REASON "for orientation support") ++ #if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) ++ # message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") ++ # set (Libheif_FOUND 0) + endif () + +-checked_find_package (LibRaw +- VERSION_MIN 0.18 +- PRINT LibRaw_r_LIBRARIES) +-if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) +- message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") +- # Currently, we issue the above warning and let them take their chances. +- # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, +- # just uncomment the following two lines. +- # set (LibRaw_FOUND 0) +- # set (LIBRAW_FOUND 0) +-endif () ++if (USE_LIBRAW) ++ checked_find_package (LibRaw REQUIRED ++ VERSION_MIN 0.18 ++ PRINT LibRaw_r_LIBRARIES) ++endif() ++#if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) ++# message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") ++# # Currently, we issue the above warning and let them take their chances. ++# # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, ++# # just uncomment the following two lines. ++# # set (LibRaw_FOUND 0) ++# # set (LIBRAW_FOUND 0) ++#endif () ++ ++if (USE_OPENJPEG) ++ checked_find_package (OpenJPEG REQUIRED VERSION_MIN 2.0 ++ RECOMMEND_MIN 2.2 ++ RECOMMEND_MIN_REASON "for multithreading support") ++ # Note: Recent OpenJPEG versions have exported cmake configs, but we don't ++ # find them reliable at all, so we stick to our FindOpenJPEG.cmake module. ++endif() + +-checked_find_package (OpenJPEG VERSION_MIN 2.0 +- RECOMMEND_MIN 2.2 +- RECOMMEND_MIN_REASON "for multithreading support") +-# Note: Recent OpenJPEG versions have exported cmake configs, but we don't +-# find them reliable at all, so we stick to our FindOpenJPEG.cmake module. +- +-checked_find_package (OpenVDB +- VERSION_MIN 5.0 +- DEPS TBB +- DEFINITIONS -DUSE_OPENVDB=1) +-if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 10.1 AND CMAKE_CXX_STANDARD VERSION_LESS 17) +- message (WARNING "${ColorYellow}OpenVDB >= 10.1 (we found ${OpenVDB_VERSION}) can only be used when we build with C++17 or higher. Disabling OpenVDB support.${ColorReset}") +- set (OpenVDB_FOUND 0) +- add_compile_definitions(DISABLE_OPENVDB=1) +-endif () ++if (USE_OPENVDB) ++ checked_find_package (OpenVDB REQUIRED ++ VERSION_MIN 5.0 ++ DEPS TBB ++ DEFINITIONS -DUSE_OPENVDB=1) ++ #if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 10.1 AND CMAKE_CXX_STANDARD VERSION_LESS 17) ++ # message (WARNING "${ColorYellow}OpenVDB >= 10.1 (we found ${OpenVDB_VERSION}) can only be used when we build with C++17 or higher. Disabling OpenVDB support.${ColorReset}") ++ # set (OpenVDB_FOUND 0) ++ # add_compile_definitions(DISABLE_OPENVDB=1) ++ #endif () ++endif() + +-checked_find_package (Ptex PREFER_CONFIG) +-if (NOT Ptex_FOUND OR NOT Ptex_VERSION) +- # Fallback for inadequate Ptex exported configs. This will eventually +- # disappear when we can 100% trust Ptex's exports. +- unset (Ptex_FOUND) +- checked_find_package (Ptex) +-endif () ++if (USE_PTEX) ++ checked_find_package (ptex REQUIRED PREFER_CONFIG) ++ # if (NOT Ptex_FOUND OR NOT Ptex_VERSION) ++ # # Fallback for inadequate Ptex exported configs. This will eventually ++ # # disappear when we can 100% trust Ptex's exports. ++ # unset (Ptex_FOUND) ++ # checked_find_package (Ptex) ++ # endif () ++endif() + +-checked_find_package (WebP) +-# Note: When WebP 1.1 (released late 2019) is our minimum, we can use their +-# exported configs and remove our FindWebP.cmake module. ++if (USE_LIBWEBP) ++ checked_find_package (WebP REQUIRED) ++ # Note: When WebP 1.1 (released late 2019) is our minimum, we can use their ++ # exported configs and remove our FindWebP.cmake module. ++endif() + + option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) +-checked_find_package (R3DSDK NO_RECORD_NOTFOUND) # RED camera ++if (USE_R3DSDK) ++ checked_find_package (R3DSDK NO_RECORD_NOTFOUND) # RED camera ++endif() + + set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") +-checked_find_package (Nuke NO_RECORD_NOTFOUND) ++if (USE_NUKE) ++ checked_find_package (Nuke NO_RECORD_NOTFOUND) ++endif() + + if (FFmpeg_FOUND OR FREETYPE_FOUND) + checked_find_package (BZip2) # Used by ffmpeg and freetype +@@ -273,8 +309,8 @@ endif() + + # Qt -- used for iv + option (USE_QT "Use Qt if found" ON) +-if (USE_QT) +- checked_find_package (OpenGL) # used for iv ++if (USE_OPENGL) ++ checked_find_package (OpenGL REQUIRED) # used for iv + endif () + if (USE_QT AND OPENGL_FOUND) + checked_find_package (Qt6 COMPONENTS Core Gui Widgets OpenGLWidgets) +@@ -300,13 +336,13 @@ macro (find_or_download_robin_map) + # for an installed version. Still prefer a copy that seems to be + # locally installed in this tree. + if (NOT BUILD_ROBINMAP_FORCE) +- find_package (Robinmap QUIET) ++ find_package (tsl-robin-map REQUIRED) + endif () + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then + # download and build it. + # Download the headers from github +- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) ++ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) + message (STATUS "Downloading local Tessil/robin-map") + set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") + set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") +@@ -324,7 +360,7 @@ macro (find_or_download_robin_map) + endif () + set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") + endif () +- checked_find_package (Robinmap REQUIRED) ++ checked_find_package (tsl-robin-map REQUIRED) + endmacro() + + find_or_download_robin_map () +@@ -343,7 +379,7 @@ macro (find_or_download_fmt) + # for an installed version. Still prefer a copy that seems to be + # locally installed in this tree. + if (NOT BUILD_FMT_FORCE) +- find_package (fmt QUIET) ++ find_package (fmt REQUIRED) + endif () + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then +@@ -378,7 +414,7 @@ macro (find_or_download_fmt) + set (fmt_VERSION "${FMT_VERSION_MAJOR}.${FMT_VERSION_MINOR}.${FMT_VERSION_PATCH}") + list (APPEND CFP_ALL_BUILD_DEPS_FOUND "${pkgname} ${${pkgname}_VERSION}") + else () +- get_target_property(FMT_INCLUDE_DIR fmt::fmt-header-only INTERFACE_INCLUDE_DIRECTORIES) ++ get_target_property(FMT_INCLUDE_DIR fmt::fmt INTERFACE_INCLUDE_DIRECTORIES) + set (OIIO_USING_FMT_LOCAL FALSE) + checked_find_package (fmt REQUIRED + VERSION_MIN 7.0) +diff --git src/ffmpeg.imageio/CMakeLists.txt src/ffmpeg.imageio/CMakeLists.txt +index 8e47a8443..900d23101 100644 +--- src/ffmpeg.imageio/CMakeLists.txt ++++ src/ffmpeg.imageio/CMakeLists.txt +@@ -2,7 +2,7 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (FFmpeg_FOUND) ++if (USE_FFMPEG) + if (LINKSTATIC) + set (_static_suffixes .lib .a) + set (_static_libraries_found 0) +@@ -26,11 +26,9 @@ if (FFmpeg_FOUND) + endif() + + add_oiio_plugin (ffmpeginput.cpp +- INCLUDE_DIRS ${FFMPEG_INCLUDES} +- LINK_LIBRARIES ${FFMPEG_LIBRARIES} +- ${BZIP2_LIBRARIES} ++ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale + DEFINITIONS "-DUSE_FFMPEG" +- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") ++ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") + else() + message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") + endif() +diff --git src/heif.imageio/CMakeLists.txt src/heif.imageio/CMakeLists.txt +index 5b6c30a85..e5bc55ef1 100644 +--- src/heif.imageio/CMakeLists.txt ++++ src/heif.imageio/CMakeLists.txt +@@ -2,32 +2,31 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Libheif_FOUND) +- if (LINKSTATIC) +- set (_static_suffixes .lib .a) +- set (_static_libraries_found 0) ++if (USE_LIBHEIF) ++ # if (LINKSTATIC) ++ # set (_static_suffixes .lib .a) ++ # set (_static_libraries_found 0) + +- foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) +- get_filename_component (_ext ${_libeheif_library} LAST_EXT) +- list (FIND _static_suffixes ${_ext} _index) +- if (${_index} GREATER -1) +- MATH (EXPR _static_libraries_found "${static_libraries_found}+1") +- endif() +- endforeach() ++ # foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) ++ # get_filename_component (_ext ${_libeheif_library} LAST_EXT) ++ # list (FIND _static_suffixes ${_ext} _index) ++ # if (${_index} GREATER -1) ++ # MATH (EXPR _static_libraries_found "${static_libraries_found}+1") ++ # endif() ++ # endforeach() + +- if (${_static_libraries_found} GREATER 0) +- message (STATUS "${ColorYellow}") +- message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") +- message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") +- message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") +- message (STATUS "dynamically-linked libheif.") +- message ("${ColorReset}") +- endif() +- endif() ++ # if (${_static_libraries_found} GREATER 0) ++ # message (STATUS "${ColorYellow}") ++ # message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") ++ # message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") ++ # message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") ++ # message (STATUS "dynamically-linked libheif.") ++ # message ("${ColorReset}") ++ # endif() ++ # endif() + + add_oiio_plugin (heifinput.cpp heifoutput.cpp +- INCLUDE_DIRS ${LIBHEIF_INCLUDES} +- LINK_LIBRARIES ${LIBHEIF_LIBRARIES} ++ LINK_LIBRARIES libheif::heif + DEFINITIONS "-DUSE_HEIF=1") + else () + message (WARNING "heif plugin will not be built") +diff --git src/include/CMakeLists.txt src/include/CMakeLists.txt +index 18b7632a3..c558c4780 100644 +--- src/include/CMakeLists.txt ++++ src/include/CMakeLists.txt +@@ -64,7 +64,8 @@ install (FILES ${detail_headers} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail + COMPONENT developer) + +-if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) ++if (0) # Don't try to copy fmt libraries to target install folder ++ set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") + set (fmt_headers_base_names) + foreach (header_name core.h format-inl.h format.h ostream.h printf.h + std.h base.h chrono.h) +diff --git src/jpeg2000.imageio/CMakeLists.txt src/jpeg2000.imageio/CMakeLists.txt +index 560e8d486..24348fe66 100644 +--- src/jpeg2000.imageio/CMakeLists.txt ++++ src/jpeg2000.imageio/CMakeLists.txt +@@ -2,10 +2,9 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (OPENJPEG_FOUND) ++if (USE_OPENJPEG) + add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp +- INCLUDE_DIRS ${OPENJPEG_INCLUDES} +- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} ++ LINK_LIBRARIES openjp2 + DEFINITIONS "-DUSE_OPENJPEG") + else() + message (WARNING "Jpeg-2000 plugin will not be built") +diff --git src/libOpenImageIO/CMakeLists.txt src/libOpenImageIO/CMakeLists.txt +index aeb7b7f93..9a32e4cf2 100644 +--- src/libOpenImageIO/CMakeLists.txt ++++ src/libOpenImageIO/CMakeLists.txt +@@ -154,19 +154,27 @@ target_link_libraries (OpenImageIO + ${OPENIMAGEIO_IMATH_TARGETS} + PRIVATE + ${OPENIMAGEIO_OPENEXR_TARGETS} +- ${OpenCV_LIBRARIES} + ${format_plugin_libs} # Add all the target link libraries from the plugins + $ + $ + $ + $ +- $ + ${BZIP2_LIBRARIES} + ZLIB::ZLIB +- $ ++ tsl::robin_map ++ Boost::filesystem Boost::thread Boost::system Boost::container + ${CMAKE_DL_LIBS} + ) + ++if (USE_OPENCV) ++ target_link_libraries (OpenImageIO PRIVATE opencv::opencv_core ++ opencv::opencv_imgproc ++ opencv::opencv_videoio) ++endif () ++if (USE_FREETYPE) ++ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) ++endif() ++ + if (WIN32) + target_link_libraries (OpenImageIO PRIVATE psapi) + endif() +diff --git src/libutil/CMakeLists.txt src/libutil/CMakeLists.txt +index f873b3eed..cf5d4e74c 100644 +--- src/libutil/CMakeLists.txt ++++ src/libutil/CMakeLists.txt +@@ -20,20 +20,13 @@ target_link_libraries (OpenImageIO_Util + ${GCC_ATOMIC_LIBRARIES} + ${OPENIMAGEIO_IMATH_DEPENDENCY_VISIBILITY} + ${OPENIMAGEIO_IMATH_TARGETS} ++ fmt::fmt + PRIVATE +- $ +- $ ++ Boost::filesystem Boost::thread Boost::system + $ + ${CMAKE_DL_LIBS} + ) + +-if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) +- add_dependencies(OpenImageIO_Util fmt_internal_target) +-else () +- target_link_libraries (OpenImageIO_Util +- PUBLIC fmt::fmt-header-only) +-endif () +- + if (WIN32) + add_definitions(-DWIN32_LEAN_AND_MEAN -DNOMINMAX -DNOGDI -DVC_EXTRALEAN) + target_link_libraries (OpenImageIO_Util PRIVATE psapi) +diff --git src/ptex.imageio/CMakeLists.txt src/ptex.imageio/CMakeLists.txt +index 16634fedb..82060ac29 100644 +--- src/ptex.imageio/CMakeLists.txt ++++ src/ptex.imageio/CMakeLists.txt +@@ -2,12 +2,9 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Ptex_FOUND) +- set(ptex_target Ptex::Ptex_dynamic) +- if (TARGET Ptex::Ptex_static AND (NOT TARGET Ptex::Ptex_dynamic OR LINKSTATIC)) +- set(ptex_target Ptex::Ptex_static) +- endif() ++if (USE_PTEX) + add_oiio_plugin (ptexinput.cpp +- LINK_LIBRARIES ${ptex_target} ZLIB::ZLIB ++ LINK_LIBRARIES ${ptex_LIBRARIES} ZLIB::ZLIB ++ INCLUDE_DIRS ${ptex_INCLUDE_DIRS} + DEFINITIONS "-DUSE_PTEX") + endif () diff --git a/recipes/openimageio/config.yml b/recipes/openimageio/config.yml index 16ac32e99c53f..3f4b84d6aa425 100644 --- a/recipes/openimageio/config.yml +++ b/recipes/openimageio/config.yml @@ -3,15 +3,11 @@ versions: folder: all "2.4.17.0": folder: all - "2.5.10.1": - folder: all - "2.5.12.0": - folder: all - "2.5.13.0": - folder: all - "2.5.13.1": - folder: all "2.5.14.0": folder: all "2.5.15.0": folder: all + "2.5.16.0": + folder: all + "2.5.17.0": + folder: all diff --git a/recipes/openjdk/all/test_v1_package/conanfile.py b/recipes/openjdk/all/test_v1_package/conanfile.py deleted file mode 100644 index e79724dff669e..0000000000000 --- a/recipes/openjdk/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,23 +0,0 @@ -from conans import ConanFile, tools -from conans.errors import ConanException -from io import StringIO - - - -class TestPackage(ConanFile): - test_type = "explicit" - - def build_requirements(self): - self.build_requires(self.tested_reference_str) - - def build(self): - pass # nothing to build, but tests should not warn - - def test(self): - if not tools.cross_building(self): - output = StringIO() - self.run("java --version", output=output, run_environment=True) - print(output.getvalue) - version_info = output.getvalue() - if "openjdk" not in version_info: - raise ConanException("java call seems not use the openjdk bin") diff --git a/recipes/openjph/all/conandata.yml b/recipes/openjph/all/conandata.yml new file mode 100644 index 0000000000000..262763e046361 --- /dev/null +++ b/recipes/openjph/all/conandata.yml @@ -0,0 +1,23 @@ +sources: + "0.18.0": + url: "https://github.com/aous72/OpenJPH/archive/0.18.0.tar.gz" + sha256: "2484908bf5a171cda957643d9bc85c39d58ef939016e2d1a00122b1cefbbd4f8" + "0.17.0": + url: "https://github.com/aous72/OpenJPH/archive/0.17.0.tar.gz" + sha256: "9cd09a5f3a8046b10bded787212afd2410836f9c266964a36f61dc4b63f99b6c" + "0.16.0": + url: "https://github.com/aous72/OpenJPH/archive/0.16.0.tar.gz" + sha256: "94bea4d7057f7a5dcb3f8eee3f854955ce153d98dad99602dd0ba50a560d7cf6" +patches: + "0.18.0": + - patch_file: "patches/0.15.0_cmake-cxx-standard.patch" + patch_description: "Remove setting of CXX standard to a fixed value overriding the toolchain provided by Conan" + patch_type: "conan" + "0.17.0": + - patch_file: "patches/0.15.0_cmake-cxx-standard.patch" + patch_description: "Remove setting of CXX standard to a fixed value overriding the toolchain provided by Conan" + patch_type: "conan" + "0.16.0": + - patch_file: "patches/0.15.0_cmake-cxx-standard.patch" + patch_description: "Remove setting of CXX standard to a fixed value overriding the toolchain provided by Conan" + patch_type: "conan" diff --git a/recipes/openjph/all/conanfile.py b/recipes/openjph/all/conanfile.py new file mode 100644 index 0000000000000..e4c19d07b2f87 --- /dev/null +++ b/recipes/openjph/all/conanfile.py @@ -0,0 +1,120 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +import os + +required_conan_version = ">=1.53.0" + +class OpenJPH(ConanFile): + name = "openjph" + description = "Open-source implementation of JPEG2000 Part-15 (or JPH or HTJ2K)" + license = "BSD-2-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/aous72/OpenJPH" + topics = ("ht-j2k", "jpeg2000", "jp2", "openjph", "image", "multimedia", "format", "graphics") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_executables": [True, False], + "with_tiff": [True, False], + "with_stream_expand_tool": [True, False], + "disable_simd": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_executables": True, + "with_tiff": True, + "with_stream_expand_tool": False, + "disable_simd": False, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.with_executables and self.options.with_tiff: + self.requires("libtiff/4.6.0") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + required_cpp_version = 11 + if self.options.with_stream_expand_tool: + required_conan_version = 14 + check_min_cppstd(self, required_cpp_version) + + if self.settings.compiler == "gcc" and \ + Version(self.settings.compiler.version) < "6.0": + raise ConanInvalidConfiguration(f"{self.ref} requires gcc >= 6.0") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["OJPH_BUILD_EXECUTABLES"] = self.options.with_executables + tc.variables["OJPH_ENABLE_TIFF_SUPPORT"] = self.options.with_tiff + tc.variables["OJPH_BUILD_STREAM_EXPAND"] = self.options.with_stream_expand_tool + tc.variables["OJPH_DISABLE_SIMD"] = self.options.disable_simd + + # Workaround for Conan 1 where the CXX standard version isn't set to a fallback to gnu98 happens + if not self.settings.get_safe("compiler.cppstd"): + tc.cache_variables["CMAKE_CXX_STANDARD"] = 14 if self.options.with_stream_expand_tool else 11 + + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + + def build(self): + self._patch_sources() + + cm = CMake(self) + cm.configure() + cm.build() + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + cm = CMake(self) + cm.install() + + # Cleanup package own pkgconfig + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "openjph") + self.cpp_info.set_property("cmake_target_name", "openjph::openjph") + self.cpp_info.set_property("pkg_config_name", "openjph") + + version_suffix = "" + if is_msvc(self): + v = Version(self.version) + version_suffix = f".{v.major}.{v.minor}" + self.cpp_info.libs = ["openjph" + version_suffix] + + # TODO: to remove in conan v2 once cmake_find_package_* & pkg_config generators removed + self.cpp_info.names["cmake_find_package"] = "openjph" + self.cpp_info.names["cmake_find_package_multi"] = "openjph" + self.cpp_info.names["pkg_config"] = "openjph" diff --git a/recipes/openjph/all/patches/0.15.0_cmake-cxx-standard.patch b/recipes/openjph/all/patches/0.15.0_cmake-cxx-standard.patch new file mode 100644 index 0000000000000..336b23fc9542c --- /dev/null +++ b/recipes/openjph/all/patches/0.15.0_cmake-cxx-standard.patch @@ -0,0 +1,26 @@ +diff --git CMakeLists.txt CMakeLists.txt +index cfa70ea..7e761db 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -93,7 +93,7 @@ message(STATUS "Building ${CMAKE_BUILD_TYPE}") + + ## C++ version and flags + # C++14 is needed for gtest, otherwise, C++11 is sufficient for the library +-set(CMAKE_CXX_STANDARD 14) ++#set(CMAKE_CXX_STANDARD 14) + if (MSVC) + add_compile_definitions(_CRT_SECURE_NO_WARNINGS) + endif() +diff --git src/apps/ojph_stream_expand/CMakeLists.txt src/apps/ojph_stream_expand/CMakeLists.txt +index 5aea342..e21bdd9 100644 +--- src/apps/ojph_stream_expand/CMakeLists.txt ++++ src/apps/ojph_stream_expand/CMakeLists.txt +@@ -5,7 +5,7 @@ if (OJPH_BUILD_STREAM_EXPAND) + + include_directories(../common) + include_directories(../../core/common) +- set(CMAKE_CXX_STANDARD 14) ++ #set(CMAKE_CXX_STANDARD 14) + + file(GLOB OJPH_STREAM_EXPAND "*.cpp" "*.h") + file(GLOB OJPH_SOCKETS "../others/ojph_sockets.cpp") diff --git a/recipes/openjph/all/test_package/CMakeLists.txt b/recipes/openjph/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f0b6210c6ae20 --- /dev/null +++ b/recipes/openjph/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.11) +project(test_package LANGUAGES CXX) + +find_package(openjph REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE openjph::openjph) diff --git a/recipes/openjph/all/test_package/conanfile.py b/recipes/openjph/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/openjph/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/openjph/all/test_package/test_package.cpp b/recipes/openjph/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..8ea54e19b7552 --- /dev/null +++ b/recipes/openjph/all/test_package/test_package.cpp @@ -0,0 +1,13 @@ +#include +#include + +#include + + +int main() { + // Print the version number but also do an API call to check the library + std::cout << "OpenJPH Version: " << OPENJPH_VERSION_MAJOR << '.' << OPENJPH_VERSION_MINOR << '.' << OPENJPH_VERSION_PATCH << std::endl; + std::cout << "CPU Extension level: " << ojph::get_cpu_ext_level() << std::endl; + + return EXIT_SUCCESS; +} diff --git a/recipes/openjph/config.yml b/recipes/openjph/config.yml new file mode 100644 index 0000000000000..287a9ed3cd4bc --- /dev/null +++ b/recipes/openjph/config.yml @@ -0,0 +1,7 @@ +versions: + "0.18.0": + folder: all + "0.17.0": + folder: all + "0.16.0": + folder: all diff --git a/recipes/openldap/all/test_v1_package/CMakeLists.txt b/recipes/openldap/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/openldap/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/openldap/all/test_v1_package/conanfile.py b/recipes/openldap/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/openldap/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/openmesh/all/test_v1_package/CMakeLists.txt b/recipes/openmesh/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/openmesh/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/openmesh/all/test_v1_package/conanfile.py b/recipes/openmesh/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/openmesh/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/openmvg/all/conanfile.py b/recipes/openmvg/all/conanfile.py index 6774e8b893191..29978bb46c7d2 100644 --- a/recipes/openmvg/all/conanfile.py +++ b/recipes/openmvg/all/conanfile.py @@ -65,7 +65,7 @@ def requirements(self): self.requires("coin-clp/1.17.7") self.requires("coin-lemon/1.3.1") self.requires("coin-osi/0.108.7") - self.requires("coin-utils/2.11.6") + self.requires("coin-utils/2.11.9") self.requires("eigen/3.4.0", transitive_headers=True) self.requires("flann/1.9.2", transitive_headers=True, transitive_libs=True) if self.options.with_jpeg == "libjpeg": @@ -120,7 +120,7 @@ def generate(self): # Workaround for: https://github.com/conan-io/conan/issues/13560 libdirs_host = [l for dependency in self.dependencies.host.values() for l in dependency.cpp_info.aggregated_components().libdirs] tc.variables["CMAKE_BUILD_RPATH"] = ";".join(libdirs_host) - + tc.generate() deps = CMakeDeps(self) diff --git a/recipes/openpam/all/conandata.yml b/recipes/openpam/all/conandata.yml index 06219b641cc81..632d89ce6cb2b 100644 --- a/recipes/openpam/all/conandata.yml +++ b/recipes/openpam/all/conandata.yml @@ -1,4 +1,11 @@ sources: + "20230627": + url: + - "https://www.openpam.org/downloads/openpam-20230627.tar.gz" + - "https://sourceforge.net/projects/openpam/files/openpam/Ximenia/openpam-20230627.tar.gz" + sha256: "0d9ac8f5b55a6241f5073f13eff1e95461422c45ac1a30445d7e1068e91db4fd" "20190224": - url: "https://sourceforge.net/projects/openpam/files/openpam/Tabebuia/openpam-20190224.tar.gz" + url: + - "https://www.openpam.org/downloads/openpam-20190224.tar.gz" + - "https://sourceforge.net/projects/openpam/files/openpam/Tabebuia/openpam-20190224.tar.gz" sha256: "31f871f16b6868aef9c849f39aff6c52227977e09eee22b00fb8b7435ddf7105" diff --git a/recipes/openpam/all/conanfile.py b/recipes/openpam/all/conanfile.py index b8d2328964b48..fb8da0b58aff1 100644 --- a/recipes/openpam/all/conanfile.py +++ b/recipes/openpam/all/conanfile.py @@ -1,6 +1,5 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get, rmdir, rm from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout @@ -11,11 +10,11 @@ class PackageConan(ConanFile): name = "openpam" - description = "OpenPAM library" + description = "OpenPAM: an open source PAM library that focuses on simplicity, correctness, and cleanliness" license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://openpam.org/" - topics = ("pam") + topics = ("pam", "pluggable-authentication-module", "authentication", "security") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -35,7 +34,6 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") @@ -43,14 +41,11 @@ def layout(self): basic_layout(self, src_folder="src") def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) - if self.settings.os not in ["Linux", "FreeBSD", "Neutrino"]: raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True, filename=f"openpam-{self.version}.tar.gz") + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = AutotoolsToolchain(self) @@ -64,7 +59,7 @@ def build(self): def package(self): autotools = Autotools(self) autotools.install() - copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"), ignore_case=True) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) rmdir(self, os.path.join(self.package_folder, "share")) rm(self, "*.la", os.path.join(self.package_folder, "lib")) diff --git a/recipes/openpam/config.yml b/recipes/openpam/config.yml index 1dd1dcdfcdd6f..23de255ba07ec 100644 --- a/recipes/openpam/config.yml +++ b/recipes/openpam/config.yml @@ -1,3 +1,5 @@ versions: + "20230627": + folder: all "20190224": folder: all diff --git a/recipes/openssh/all/conandata.yml b/recipes/openssh/all/conandata.yml index e3ccaa5b6d5e6..a3e0ea1fc2e6b 100644 --- a/recipes/openssh/all/conandata.yml +++ b/recipes/openssh/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.9p1": + url: "https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p1.tar.gz" + sha256: "b343fbcdbff87f15b1986e6e15d6d4fc9a7d36066be6b7fb507087ba8f966c02" "9.6p1": url: "https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz" sha256: "910211c07255a8c5ad654391b40ee59800710dd8119dd5362de09385aa7a777c" diff --git a/recipes/openssh/config.yml b/recipes/openssh/config.yml index a033c3a0343f3..4bf3079108d3e 100644 --- a/recipes/openssh/config.yml +++ b/recipes/openssh/config.yml @@ -1,4 +1,6 @@ versions: + "9.9p1": + folder: all "9.6p1": folder: all "9.1p1": diff --git a/recipes/opentelemetry-cpp/all/conandata.yml b/recipes/opentelemetry-cpp/all/conandata.yml index ce31f611ba274..1906e472cd519 100644 --- a/recipes/opentelemetry-cpp/all/conandata.yml +++ b/recipes/opentelemetry-cpp/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.17.0": + url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.17.0.tar.gz" + sha256: "13542725463f1ea106edaef078c2276065cf3da998cb1d3dcf92630daa3f64d4" + "1.16.1": + url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.16.1.tar.gz" + sha256: "b8a78bb2a3a78133dbb08bcd04342f4b1e03cb4a19079b8416d408d905fffc37" "1.14.2": url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.14.2.tar.gz" sha256: "c7e7801c9f6228751cdb9dd4724d0f04777ed53f524c8828e73bf4c9f894e0bd" diff --git a/recipes/opentelemetry-cpp/all/conanfile.py b/recipes/opentelemetry-cpp/all/conanfile.py index 7d46d7427d052..33d46b7aade44 100644 --- a/recipes/opentelemetry-cpp/all/conanfile.py +++ b/recipes/opentelemetry-cpp/all/conanfile.py @@ -1,5 +1,6 @@ from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os from conan.tools.files import get, copy, rmdir, replace_in_file, save from conan.tools.build import check_min_cppstd from conan.tools.scm import Version @@ -27,9 +28,10 @@ class OpenTelemetryCppConan(ConanFile): "with_stl": [True, False], "with_gsl": [True, False], "with_abseil": [True, False], - "with_otlp": ["deprecated", True, False], "with_otlp_grpc": [True, False], "with_otlp_http": [True, False], + "with_otlp_http_compression": [True, False], + "with_otlp_file": [True, False], "with_zipkin": [True, False], "with_prometheus": [True, False], "with_elasticsearch": [True, False], @@ -46,12 +48,15 @@ class OpenTelemetryCppConan(ConanFile): "shared": False, "with_no_deprecated_code": False, + # Enabling this causes stack overflow in the test_package "with_stl": False, "with_gsl": False, "with_abseil": True, - "with_otlp": "deprecated", - "with_otlp_grpc": True, + "with_otlp_grpc": False, + # True because dependencies usually need this, and it would generate missing binaries for those "with_otlp_http": True, + "with_otlp_http_compression": False, + "with_otlp_file": False, "with_zipkin": True, "with_prometheus": False, "with_elasticsearch": False, @@ -90,38 +95,71 @@ def _compilers_minimum_version(self): def config_options(self): if self.settings.os == "Windows": self.options.rm_safe("fPIC") + del self.options.with_etw if Version(self.version) >= "1.10": del self.options.with_jaeger if Version(self.version) >= "1.11": del self.options.with_logs_preview + if Version(self.version) < "1.16.0": + del self.options.with_otlp_file + del self.options.with_otlp_http_compression def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - if self.options.with_otlp != "deprecated": - self.output.warning(f"{self.ref}:with_otlp option is deprecated, do not use anymore. " - "Please, consider with_otlp_grpc or with_otlp_http instead.") def layout(self): cmake_layout(self, src_folder="src") + def _supports_new_proto_grpc_abseil(self): + """Old versions do not support the new proto grpc abseil combo + (Usage of old imports etc) + This is technically only for protobuf, but we take care to + keep abseil range in line, and grpc dependencies in sync so no + conflicts arise if using any of the 3 elsewhere + """ + return Version(self.version) >= "1.12.0" + + @property + def _needs_proto(self): + return self.options.with_otlp_grpc or self.options.with_otlp_http or self.options.get_safe("with_otlp_file") + + @property + def _otlp_http_needs_zlib(self): + # Bug before 1.17.X meant that zib was needed even with compression off + return (Version(self.version) >= "1.16.0" + # Check if new version released with this fix + # It was fixed in https://github.com/open-telemetry/opentelemetry-cpp/pull/3120 + and (Version(self.version) < "1.17.1" + or self.options.with_otlp_http_compression)) + def requirements(self): if self.options.with_gsl: self.requires("ms-gsl/4.0.0") if self.options.with_abseil: - self.requires("abseil/20230802.1", transitive_headers=True) + if self._supports_new_proto_grpc_abseil(): + self.requires("abseil/[>=20240116.1 <20240117.0]", transitive_headers=True) + else: + self.requires("abseil/[>=20230125.3 <=20230802.1]", transitive_headers=True) - if self.options.with_otlp_grpc or self.options.with_otlp_http: - self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True) + if self._needs_proto: + if self._supports_new_proto_grpc_abseil(): + self.requires("protobuf/5.27.0", transitive_headers=True, transitive_libs=True) + else: + self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True) if self.options.with_otlp_grpc: - self.requires("grpc/1.54.3", transitive_headers=True, transitive_libs=True) + if self._supports_new_proto_grpc_abseil(): + self.requires("grpc/1.67.1", transitive_headers=True, transitive_libs=True) + else: + self.requires("grpc/1.54.3", transitive_headers=True, transitive_libs=True) if (self.options.with_zipkin or self.options.with_elasticsearch or self.options.with_otlp_http or - self.options.with_etw + self.options.get_safe("with_etw") or + self.options.get_safe("with_otlp_file") ): self.requires("nlohmann_json/3.11.3") self.requires("openssl/[>=1.1 <4]") @@ -132,6 +170,9 @@ def requirements(self): ): self.requires("libcurl/[>=7.78.0 <9]") + if self.options.with_otlp_http and self._otlp_http_needs_zlib: + self.requires("zlib/[>=1.2.11 <2]") + if self.options.with_prometheus: self.requires("prometheus-cpp/1.1.0") @@ -174,8 +215,8 @@ def validate(self): raise ConanInvalidConfiguration("opentelemetry-cpp >= 1.12.0 does not support Apple Clang on Conan v1") def build_requirements(self): - if self.options.with_otlp_grpc or self.options.with_otlp_http: - self.tool_requires("opentelemetry-proto/1.2.0") + if self._needs_proto: + self.tool_requires("opentelemetry-proto/1.3.2") self.tool_requires("protobuf/") if self.options.with_otlp_grpc: @@ -192,13 +233,23 @@ def _create_cmake_module_variables(self, module_file): """) save(self, module_file, content) - def package_id(self): - # deprecated - del self.info.options.with_otlp - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + @property + def _stl_value(self): + # From 1.12.0 onwards, the STL can have various values + if Version(self.version) < "1.12.1": + return self.options.with_stl + if self.options.with_stl: + if self.settings.compiler.cppstd: + return "CXX" + str(self.settings.compiler.cppstd).replace("gnu", "") + else: + # ON for autodetection in upstream CML + return True + else: + return False + def generate(self): VirtualBuildEnv(self).generate(scope="build") VirtualRunEnv(self).generate(scope="build") @@ -208,20 +259,28 @@ def generate(self): tc.cache_variables["BUILD_BENCHMARK"] = False tc.cache_variables["WITH_EXAMPLES"] = False tc.cache_variables["WITH_NO_DEPRECATED_CODE"] = self.options.with_no_deprecated_code - tc.cache_variables["WITH_STL"] = self.options.with_stl + tc.cache_variables["WITH_STL"] = self._stl_value tc.cache_variables["WITH_GSL"] = self.options.with_gsl tc.cache_variables["WITH_ABSEIL"] = self.options.with_abseil if Version(self.version) < "1.10": tc.cache_variables["WITH_OTLP"] = self.options.with_otlp_grpc or self.options.with_otlp_http tc.cache_variables["WITH_OTLP_GRPC"] = self.options.with_otlp_grpc tc.cache_variables["WITH_OTLP_HTTP"] = self.options.with_otlp_http + if Version(self.version) >= "1.16.0": + tc.cache_variables["WITH_OTLP_HTTP_COMPRESSION"] = self.options.with_otlp_http_compression + if self.options.get_safe("with_otlp_file"): + tc.cache_variables["WITH_OTLP_FILE"] = True + if self._needs_proto: + tc.cache_variables["OTELCPP_PROTO_PATH"] = self.dependencies.build["opentelemetry-proto"].conf_info.get("user.opentelemetry-proto:proto_root").replace("\\", "/") tc.cache_variables["WITH_ZIPKIN"] = self.options.with_zipkin tc.cache_variables["WITH_PROMETHEUS"] = self.options.with_prometheus tc.cache_variables["WITH_ELASTICSEARCH"] = self.options.with_elasticsearch tc.cache_variables["WITH_ZPAGES"] = self.options.with_zpages tc.cache_variables["WITH_JAEGER"] = self.options.get_safe("with_jaeger", False) tc.cache_variables["WITH_NO_GETENV"] = self.options.with_no_getenv - tc.cache_variables["WITH_ETW"] = self.options.with_etw + if self.options.get_safe("with_etw"): + # CMakeLists checks for definition, not value + tc.cache_variables["WITH_ETW"] = True if Version(self.version) < "1.11": tc.cache_variables["WITH_LOGS_PREVIEW"] = self.options.with_logs_preview tc.cache_variables["WITH_ASYNC_EXPORT_PREVIEW"] = self.options.with_async_export_preview @@ -236,7 +295,7 @@ def generate(self): deps.generate() def _patch_sources(self): - if self.options.with_otlp_http or self.options.with_otlp_grpc: + if self._needs_proto: protos_path = self.dependencies.build["opentelemetry-proto"].conf_info.get("user.opentelemetry-proto:proto_root").replace("\\", "/") protos_cmake_path = os.path.join(self.source_folder, "cmake", "opentelemetry-proto.cmake") replace_in_file(self, protos_cmake_path, @@ -297,7 +356,7 @@ def _otel_libraries(self): if self.options.with_otlp_http or self.options.with_elasticsearch or self.options.get_safe("with_jaeger") or self.options.with_zipkin: # https://github.com/open-telemetry/opentelemetry-cpp/blob/v1.12.0/CMakeLists.txt#L452-L460 libraries.append(self._http_client_name) - if self.options.with_otlp_grpc or self.options.with_otlp_http: + if self._needs_proto: libraries.extend([ "opentelemetry_proto", "opentelemetry_otlp_recordable", @@ -306,6 +365,8 @@ def _otel_libraries(self): libraries.append("opentelemetry_exporter_otlp_grpc") libraries.append("opentelemetry_exporter_otlp_grpc_metrics") libraries.append("opentelemetry_exporter_otlp_grpc_client") + if Version(self.version) >= "1.9.1": + libraries.append("opentelemetry_proto_grpc") if Version(self.version) >= "1.11" or self.options.with_logs_preview: libraries.append("opentelemetry_exporter_otlp_grpc_log") if self.options.with_otlp_http: @@ -314,6 +375,11 @@ def _otel_libraries(self): libraries.append("opentelemetry_exporter_otlp_http_metric") if Version(self.version) >= "1.11" or self.options.with_logs_preview: libraries.append("opentelemetry_exporter_otlp_http_log") + if self.options.get_safe("with_otlp_file"): + libraries.append("opentelemetry_exporter_otlp_file") + libraries.append("opentelemetry_exporter_otlp_file_client") + libraries.append("opentelemetry_exporter_otlp_file_metric") + libraries.append("opentelemetry_exporter_otlp_file_log") if self.options.with_prometheus: libraries.append("opentelemetry_exporter_prometheus") if self.options.with_elasticsearch and (Version(self.version) >= "1.11" or self.options.with_logs_preview): @@ -329,7 +395,7 @@ def _otel_libraries(self): "opentelemetry_logs", "opentelemetry_exporter_ostream_logs", ]) - if self.settings.os == "Windows" and self.options.with_etw: + if self.options.get_safe("with_etw"): libraries.append("opentelemetry_exporter_etw") return libraries @@ -368,7 +434,12 @@ def package_info(self): if self.settings.os in ("Linux", "FreeBSD"): self.cpp_info.components["opentelemetry_common"].system_libs.extend(["pthread"]) - if self.options.with_stl: + if Version(self.version) >= "1.16.0" and is_apple_os(self): + self.cpp_info.components["opentelemetry_common"].frameworks.extend(["CoreFoundation"]) + + if self.options.get_safe("with_otlp_http_compression"): + self.cpp_info.components["opentelemetry_common"].defines.append("ENABLE_OTLP_COMPRESSION_PREVIEW") + if self._stl_value: self.cpp_info.components["opentelemetry_common"].defines.append("HAVE_CPP_STDLIB") if self.options.with_gsl: @@ -398,6 +469,9 @@ def package_info(self): "opentelemetry_proto", ]) + if Version(self.version) >= "1.9.1": + self.cpp_info.components["opentelemetry_exporter_otlp_grpc_client"].requires.append("opentelemetry_proto_grpc") + self.cpp_info.components["opentelemetry_exporter_otlp_grpc"].requires.extend([ "opentelemetry_otlp_recordable", "opentelemetry_exporter_otlp_grpc_client" @@ -428,6 +502,11 @@ def package_info(self): "opentelemetry_proto", ]) + if self._otlp_http_needs_zlib: + # This version requires zlib for the http client even if not used, as it includes zconf.h + # regardless of WITH_OTLP_HTTP_COMPRESSION + self.cpp_info.components["opentelemetry_exporter_otlp_http_client"].requires.append("zlib::zlib") + self.cpp_info.components["opentelemetry_exporter_otlp_http"].requires.extend([ "opentelemetry_otlp_recordable", "opentelemetry_exporter_otlp_http_client", @@ -444,6 +523,30 @@ def package_info(self): "opentelemetry_exporter_otlp_http_client", ]) + if self.options.get_safe("with_otlp_file"): + self.cpp_info.components["opentelemetry_exporter_otlp_file_client"].requires.extend([ + "nlohmann_json::nlohmann_json", + "opentelemetry_proto", + "opentelemetry_common" + ]) + if self.options.with_abseil: + self.cpp_info.components["opentelemetry_exporter_otlp_file_client"].requires.append("abseil::absl_strings") + + self.cpp_info.components["opentelemetry_exporter_otlp_file"].requires.extend([ + "opentelemetry_otlp_recordable", + "opentelemetry_exporter_otlp_file_client", + ]) + + self.cpp_info.components["opentelemetry_exporter_otlp_file_log"].requires.extend([ + "opentelemetry_otlp_recordable", + "opentelemetry_exporter_otlp_file_client", + ]) + + self.cpp_info.components["opentelemetry_exporter_otlp_file_metric"].requires.extend([ + "opentelemetry_otlp_recordable", + "opentelemetry_exporter_otlp_file_client", + ]) + if self.options.with_zipkin: self.cpp_info.components["opentelemetry_exporter_zipkin_trace"].requires.extend([ self._http_client_name, @@ -463,7 +566,13 @@ def package_info(self): "boost::locale" ) - if self.settings.os == "Windows" and self.options.with_etw: + if self.options.with_prometheus: + self.cpp_info.components["opentelemetry_exporter_prometheus"].requires.extend([ + "prometheus-cpp::prometheus-cpp", + "opentelemetry_trace", + ]) + + if self.options.get_safe("with_etw"): self.cpp_info.components["opentelemetry_exporter_etw"].libs = [] self.cpp_info.components["opentelemetry_exporter_etw"].requires.append( "nlohmann_json::nlohmann_json", diff --git a/recipes/opentelemetry-cpp/all/test_v1_package/CMakeLists.txt b/recipes/opentelemetry-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index babe7e0cea000..0000000000000 --- a/recipes/opentelemetry-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/opentelemetry-cpp/all/test_v1_package/conanfile.py b/recipes/opentelemetry-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/opentelemetry-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/opentelemetry-cpp/config.yml b/recipes/opentelemetry-cpp/config.yml index 2d959457e4aec..6e3e868a29e2f 100644 --- a/recipes/opentelemetry-cpp/config.yml +++ b/recipes/opentelemetry-cpp/config.yml @@ -1,4 +1,8 @@ versions: + "1.17.0": + folder: all + "1.16.1": + folder: all "1.14.2": folder: all "1.12.0": diff --git a/recipes/opentelemetry-proto/all/conandata.yml b/recipes/opentelemetry-proto/all/conandata.yml index 043fc48fd9594..b686158ffdef9 100644 --- a/recipes/opentelemetry-proto/all/conandata.yml +++ b/recipes/opentelemetry-proto/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "1.4.0": + url: "https://github.com/open-telemetry/opentelemetry-proto/archive/v1.4.0.tar.gz" + sha256: "53cd32cedb27762ea2060a9c8d83e4b822de13d73b5d5d37a2db3cf55018d694" + "1.3.2": + url: "https://github.com/open-telemetry/opentelemetry-proto/archive/v1.3.2.tar.gz" + sha256: "c069c0d96137cf005d34411fa67dd3b6f1f8c64af1e7fb2fe0089a41c425acd7" + "1.3.1": + url: "https://github.com/open-telemetry/opentelemetry-proto/archive/v1.3.1.tar.gz" + sha256: "bed250ceec8e4a83aa5604d7d5595a61945059dc662edd058a9da082283f7a00" "1.3.0": url: "https://github.com/open-telemetry/opentelemetry-proto/archive/v1.3.0.tar.gz" sha256: "73a678b0ff7a29b581381566a2230fe2a00b864608786c99c050a4492e2bbafc" diff --git a/recipes/opentelemetry-proto/all/test_v1_package/conanfile.py b/recipes/opentelemetry-proto/all/test_v1_package/conanfile.py deleted file mode 100644 index c5940f5104d54..0000000000000 --- a/recipes/opentelemetry-proto/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,7 +0,0 @@ -from conans import ConanFile, CMake -import os - -class TestPackageV1Conan(ConanFile): - def test(self): - res_folder = self.deps_user_info["opentelemetry-proto"].proto_root - assert os.path.isfile(os.path.join(res_folder, "opentelemetry", "proto", "common", "v1", "common.proto")) diff --git a/recipes/opentelemetry-proto/config.yml b/recipes/opentelemetry-proto/config.yml index b7acdadec16ea..276ede418684f 100644 --- a/recipes/opentelemetry-proto/config.yml +++ b/recipes/opentelemetry-proto/config.yml @@ -1,4 +1,10 @@ versions: + "1.4.0": + folder: all + "1.3.2": + folder: all + "1.3.1": + folder: all "1.3.0": folder: all "1.2.0": diff --git a/recipes/opentracing-cpp/all/test_v1_package/CMakeLists.txt b/recipes/opentracing-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/opentracing-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/opentracing-cpp/all/test_v1_package/conanfile.py b/recipes/opentracing-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index abcaeed3f89b6..0000000000000 --- a/recipes/opentracing-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/opentrackio-cpp/all/conandata.yml b/recipes/opentrackio-cpp/all/conandata.yml new file mode 100644 index 0000000000000..cab0050ac13e1 --- /dev/null +++ b/recipes/opentrackio-cpp/all/conandata.yml @@ -0,0 +1,5 @@ +sources: + "1.0.0": + url: + - "https://github.com/mosys/opentrackio-cpp/archive/refs/tags/v1.0.0.tar.gz" + sha256: "89bd489774a8efac9b18ddcff9a2219d57d46a73d53ea0a5fd71a94c27fc1257" diff --git a/recipes/opentrackio-cpp/all/conanfile.py b/recipes/opentrackio-cpp/all/conanfile.py new file mode 100644 index 0000000000000..415312fd127dd --- /dev/null +++ b/recipes/opentrackio-cpp/all/conanfile.py @@ -0,0 +1,105 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + +class PackageConan(ConanFile): + name = "opentrackio-cpp" + description = "A Cpp helper library for usage with the OpenTrackIO protocol." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/mosys/opentrackio-cpp" + topics = ("opentrackio", "smpte") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "15", + "clang": "14", + "gcc": "13", + "msvc": "193", + "Visual Studio": "20", + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + # TODO: This goes back to config_options after Conan 1 freeze + if self.settings.os == "Windows": + # Nothing is exported from the library, so we can't use it as a shared library + del self.options.shared + self.package_type = "static-library" + + if self.options.get_safe("shared"): + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("nlohmann_json/3.11.3", transitive_headers=True) + + def build_requirements(self): + # Min required is 3.15 in the file, but 3.20 in the README. + # Be conservative and require the higher version + self.build_requires("cmake/[>=3.20 <4]") + + 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 generate(self): + deps = CMakeDeps(self) + deps.generate() + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENCE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) + + def package_info(self): + suffix = "" + if self.settings.build_type == "Debug": + suffix = "d" + self.cpp_info.libs = [f"opentrackio-cpp{suffix}"] diff --git a/recipes/opentrackio-cpp/all/test_package/CMakeLists.txt b/recipes/opentrackio-cpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d8f36103d746f --- /dev/null +++ b/recipes/opentrackio-cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) + + project(test_package LANGUAGES CXX) + +find_package(opentrackio-cpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE opentrackio-cpp::opentrackio-cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/opentrackio-cpp/all/test_package/conanfile.py b/recipes/opentrackio-cpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/opentrackio-cpp/all/test_package/conanfile.py @@ -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 requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/opentrackio-cpp/all/test_package/test_package.cpp b/recipes/opentrackio-cpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..7f0e1e6c74be9 --- /dev/null +++ b/recipes/opentrackio-cpp/all/test_package/test_package.cpp @@ -0,0 +1,25 @@ +#include +#include +#include +#include + + +int main(void) { + std::string example = R"({ + "protocol": { + "name": "OpenTrackIO", + "version": "0.9.0" + }, + "tracker": { + "notes": "Example generated sample.", + "recording": false, + "slate": "A101_A_4", + "status": "Optical Good" + } + })"; + + opentrackio::OpenTrackIOSample sample{}; + bool sample_success = sample.initialise(std::string_view{example}); + std::cout << "Sample init successful: " << (sample_success ? "True" : "False") << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/opentrackio-cpp/config.yml b/recipes/opentrackio-cpp/config.yml new file mode 100644 index 0000000000000..5d96905a31039 --- /dev/null +++ b/recipes/opentrackio-cpp/config.yml @@ -0,0 +1,4 @@ +versions: + # Newer versions at the top + "1.0.0": + folder: all diff --git a/recipes/openvdb/all/test_v1_package/CMakeLists.txt b/recipes/openvdb/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/openvdb/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/openvdb/all/test_v1_package/conanfile.py b/recipes/openvdb/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/openvdb/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/openvino/all/conandata.yml b/recipes/openvino/all/conandata.yml index e7a253f3fb89e..bd5d906019e7d 100644 --- a/recipes/openvino/all/conandata.yml +++ b/recipes/openvino/all/conandata.yml @@ -1,68 +1,20 @@ sources: - "2024.3.0": + "2024.5.0": "openvino": - url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2024.3.0.tar.gz" - sha256: "53fccad05279d0975eca84ec75517a7c360be9b0f7bcd822da29a7949c12ce70" + url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2024.5.0.tar.gz" + sha256: "3d5b89760e1c946aca7b219dff4bf4cf5eb511932863c90cafc47d3c01c85744" "arm_compute": - url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v24.06.tar.gz" - sha256: "68e24589905638e406a98ad48236097ab30112f2849b35e196b7b1efb0ce74e6" + url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v24.09.tar.gz" + sha256: "49b8620f21cbbe49e825a131d9eacd548532646289b50e070b83860bd88087fe" "onednn_cpu": - url: "https://github.com/openvinotoolkit/oneDNN/archive/f0f8defe2dff5058391f2a66e775e20b5de33b08.tar.gz" - sha256: "13bee5b8522177f297e095e3eba5948c1a7ee7a816d19d5a59ce0f717f82cedc" + url: "https://github.com/openvinotoolkit/oneDNN/archive/c60a9946aa2386890e5c9f5587974facb7624227.tar.gz" + sha256: "37cea8af9772053fd6d178817f64d59e3aa7de9fd8f1aa21873075bb0664240f" "mlas": url: "https://github.com/openvinotoolkit/mlas/archive/d1bc25ec4660cddd87804fcf03b2411b5dfb2e94.tar.gz" sha256: "0a44fbfd4b13e8609d66ddac4b11a27c90c1074cde5244c91ad197901666004c" "onednn_gpu": - url: "https://github.com/oneapi-src/oneDNN/archive/7ab8ee9adda866d675edeee7a3a6a29b2d0a1572.tar.gz" - sha256: "66363988363744e49fff55f4fcdb72318ff3f35fba6da68302c1662c837c22ac" - "2024.2.0": - "openvino": - url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2024.2.0.tar.gz" - sha256: "b624481efb7814cf2d98a29163c3b914fa2f23c1417289b13561d0b5e32fc67c" - "arm_compute": - url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v24.04.tar.gz" - sha256: "6d7aebfa9be74d29ecd2dbeb17f69e00c667c36292401f210121bf26a30b38a5" - "onednn_cpu": - url: "https://github.com/openvinotoolkit/oneDNN/archive/373e65b660c0ba274631cf30c422f10606de1618.tar.gz" - sha256: "c205b81f9024952c742e765090556a18c9463fff245753a2afa42c344bd6379d" - "mlas": - url: "https://github.com/openvinotoolkit/mlas/archive/d1bc25ec4660cddd87804fcf03b2411b5dfb2e94.tar.gz" - sha256: "0a44fbfd4b13e8609d66ddac4b11a27c90c1074cde5244c91ad197901666004c" - "onednn_gpu": - url: "https://github.com/oneapi-src/oneDNN/archive/37f48519b87cf8b5e5ef2209340a1948c3e87d72.tar.gz" - sha256: "58131e094408460f88bf941977b5206232dc2bc8dbf227250d1e2236b43153a5" - "2024.1.0": - "openvino": - url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2024.1.0.tar.gz" - sha256: "b298a91b5aae252ef9883e0f2017e88677be88a9839b1aa2f6e9f70067d98ce6" - "arm_compute": - url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v24.02.1.tar.gz" - sha256: "590d5cb710355bce2ddfe7117529c2f492cd253b548f709bbfe84702203d99c8" - "onednn_cpu": - url: "https://github.com/openvinotoolkit/oneDNN/archive/26633ae49edd4353a29b7170d9fcef6b2d79f4b3.tar.gz" - sha256: "3cd4a2aea30cd6ca689e63545cf986f8e83c88333b73d42bb750fcaf08940b17" - "mlas": - url: "https://github.com/openvinotoolkit/mlas/archive/d1bc25ec4660cddd87804fcf03b2411b5dfb2e94.tar.gz" - sha256: "0a44fbfd4b13e8609d66ddac4b11a27c90c1074cde5244c91ad197901666004c" - "onednn_gpu": - url: "https://github.com/oneapi-src/oneDNN/archive/4e6ff043c439652fcf6c400ac4e0c81bbac7c71c.tar.gz" - sha256: "c3543d560fbbb7297df91c191cc9bf682322c5554302e256f1bf4a757424a331" - "2024.0.0": - "openvino": - url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2024.0.0.tar.gz" - sha256: "b3c257f8af9545ae68a6ea217173b2b2de9dd42d35e8703a7a51d76f4c2bfe2f" - "arm_compute": - url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.08.tar.gz" - sha256: "62f514a555409d4401e5250b290cdf8cf1676e4eb775e5bd61ea6a740a8ce24f" - "onednn_cpu": - url: "https://github.com/openvinotoolkit/oneDNN/archive/f82148befdbdc9576ec721c9d500155ee4de8060.tar.gz" - sha256: "7fce5c6b499ffe1a30c26b2d4e4a5193a38aa217b6f54e44eea52b21cf38a684" - "mlas": - url: "https://github.com/openvinotoolkit/mlas/archive/d1bc25ec4660cddd87804fcf03b2411b5dfb2e94.tar.gz" - sha256: "0a44fbfd4b13e8609d66ddac4b11a27c90c1074cde5244c91ad197901666004c" - "onednn_gpu": - url: "https://github.com/oneapi-src/oneDNN/archive/494af5f9921bdae98f1a0e2955fa7d76ff386c4f.tar.gz" - sha256: "e2f36563cecf39197ad8d4f8b351ccc5a431085dad26e47c0ae6f0bb79149df7" + url: "https://github.com/oneapi-src/oneDNN/archive/1722066ad4c0f15495f2d0fcbe9deb2bfd188c36.tar.gz" + sha256: "8955f19800066d8a705df2eb8b462085d6142b4f771ff88ae196e59a0d4ab1bb" "2023.3.0": "openvino": url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2023.3.0.tar.gz" @@ -79,43 +31,3 @@ sources: "onednn_gpu": url: "https://github.com/oneapi-src/oneDNN/archive/cb77937ffcf5e83b5d1cf2940c94e8b508d8f7b4.tar.gz" sha256: "2ca304c033786aa5c3ec1ec6f8fc3936ae5c6874d5964b586311da11bec2ec4a" - "2023.2.0": - "openvino": - url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2023.2.0.tar.gz" - sha256: "419b3137a1a549fc5054edbba5b71da76cbde730e8a271769126e021477ad47b" - "arm_compute": - url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.08.tar.gz" - sha256: "62f514a555409d4401e5250b290cdf8cf1676e4eb775e5bd61ea6a740a8ce24f" - "onednn_cpu": - url: "https://github.com/openvinotoolkit/oneDNN/archive/2ead5d4fe5993a797d9a7a4b8b5557b96f6ec90e.tar.gz" - sha256: "3c51d577f9e7e4cbd94ad08d267502953ec64513241dda6595b2608fafc8314c" - "mlas": - url: "https://github.com/openvinotoolkit/mlas/archive/f6425b1394334822390fcd9da12788c9cd0d11da.tar.gz" - sha256: "707a6634d62ea5563042a67161472b4be3ffe73c9783719519abdd583b0295f4" - "onednn_gpu": - url: "https://github.com/oneapi-src/oneDNN/archive/284ad4574939fa784e4ddaa1f4aa577b8eb7a017.tar.gz" - sha256: "16f36078339cd08b949efea1d863344cb0b742d9f5898937d07a591b0c4da517" -patches: - "2024.1.0": - - patch_file: "patches/2024.1.0/0001-fix-cxxflags.patch" - patch_description: "Fix build failure when explicitly passing different gcc ABI via cxx flags" - patch_type: "portability" - patch_source: "https://github.com/openvinotoolkit/openvino/pull/24274" - "2024.0.0": - - patch_file: "patches/2024.0.0/0001-Include-mutex-for-std-call_once.patch" - patch_description: "Include mutex for std::call_once" - patch_type: "portability" - patch_source: "https://github.com/openvinotoolkit/openvino/pull/23151" - - patch_file: "patches/2024.0.0/0002-Fix-includes-for-dev-api.patch" - patch_description: "Include tensor for dev api" - patch_type: "portability" - patch_source: "https://github.com/openvinotoolkit/openvino/pull/23175" - - patch_file: "patches/2024.0.0/0003-Support-OpenVINO-compilation-with-cpp20.patch" - patch_description: "Add support to OpenVINO to build it with standards newer than cpp11" - patch_type: "portability" - patch_source: "https://github.com/openvinotoolkit/openvino/pull/22784" - "2023.2.0": - - patch_file: "patches/2023.2.0/0001-git-version.patch" - patch_description: "Fixed issue with version on Windows" - patch_type: "portability" - patch_source: "https://github.com/openvinotoolkit/openvino/pull/19628" diff --git a/recipes/openvino/all/conanfile.py b/recipes/openvino/all/conanfile.py index 0a4c1e9f4440b..22e7d61400801 100644 --- a/recipes/openvino/all/conanfile.py +++ b/recipes/openvino/all/conanfile.py @@ -11,6 +11,7 @@ required_conan_version = ">=1.60.0 <2.0 || >=2.0.8" + class OpenvinoConan(ConanFile): name = "openvino" @@ -205,7 +206,11 @@ def generate(self): toolchain.cache_variables["ENABLE_INTEL_CPU"] = self.options.enable_cpu if self._gpu_option_available: toolchain.cache_variables["ENABLE_INTEL_GPU"] = self.options.enable_gpu - toolchain.cache_variables["ENABLE_ONEDNN_FOR_GPU"] = self.options.shared or not self.options.enable_cpu + toolchain.cache_variables["ENABLE_ONEDNN_FOR_GPU"] = ( + Version(self.version) >= "2024.4.0" and self.options.enable_gpu + or not self.options.enable_cpu + or self.options.shared + ) if self._gna_option_available: toolchain.cache_variables["ENABLE_INTEL_GNA"] = False if self._npu_option_available: @@ -222,6 +227,8 @@ def generate(self): toolchain.cache_variables["ENABLE_OV_TF_LITE_FRONTEND"] = self.options.enable_tf_lite_frontend toolchain.cache_variables["ENABLE_OV_ONNX_FRONTEND"] = self.options.enable_onnx_frontend toolchain.cache_variables["ENABLE_OV_PYTORCH_FRONTEND"] = self.options.enable_pytorch_frontend + if Version(self.version) >= "2024.3.0": + toolchain.cache_variables["ENABLE_OV_JAX_FRONTEND"] = False # Dependencies toolchain.cache_variables["ENABLE_SYSTEM_TBB"] = True toolchain.cache_variables["ENABLE_TBBBIND_2_5"] = False @@ -275,7 +282,8 @@ def validate_build(self): raise ConanInvalidConfiguration(f"{self.ref} does not support Debug build type on Conan Center CI") def validate(self): - if self.options.get_safe("enable_gpu") and not self.options.shared and self.options.enable_cpu: + if (self.options.get_safe("enable_gpu") and self.options.enable_cpu + and Version(self.version) < "2024.4.0" and not self.options.shared): # GPU and CPU plugins cannot be simultaneously built statically, because they use different oneDNN versions self.output.warning(f"{self.name} recipe builds GPU plugin without oneDNN (dGPU) support during static build, " "because CPU plugin compiled with different oneDNN version may cause ODR violation. " @@ -329,7 +337,7 @@ def package_info(self): if self.options.get_safe("enable_gpu"): openvino_runtime.libs.extend(["openvino_intel_gpu_plugin", "openvino_intel_gpu_graph", "openvino_intel_gpu_runtime", "openvino_intel_gpu_kernels"]) - if not self.options.enable_cpu: + if not self.options.enable_cpu or Version(self.version) >= "2024.4.0": openvino_runtime.libs.append("openvino_onednn_gpu") # SW plugins if self.options.enable_auto: @@ -413,3 +421,4 @@ def package_info(self): openvino_tensorflow_lite.set_property("cmake_target_name", "openvino::frontend::tensorflow_lite") openvino_tensorflow_lite.libs = ["openvino_tensorflow_lite_frontend"] openvino_tensorflow_lite.requires = ["Runtime", "flatbuffers::flatbuffers"] + diff --git a/recipes/openvino/all/dependencies/dependencies-2023.2.0.yml b/recipes/openvino/all/dependencies/dependencies-2023.2.0.yml deleted file mode 100644 index aaa60d5c30197..0000000000000 --- a/recipes/openvino/all/dependencies/dependencies-2023.2.0.yml +++ /dev/null @@ -1,2 +0,0 @@ -onnx: "1.14.1" -ade: "0.1.2d" diff --git a/recipes/openvino/all/dependencies/dependencies-2024.0.0.yml b/recipes/openvino/all/dependencies/dependencies-2024.0.0.yml deleted file mode 100644 index f99604741682a..0000000000000 --- a/recipes/openvino/all/dependencies/dependencies-2024.0.0.yml +++ /dev/null @@ -1 +0,0 @@ -onnx: "1.15.0" diff --git a/recipes/openvino/all/dependencies/dependencies-2024.1.0.yml b/recipes/openvino/all/dependencies/dependencies-2024.1.0.yml deleted file mode 100644 index f99604741682a..0000000000000 --- a/recipes/openvino/all/dependencies/dependencies-2024.1.0.yml +++ /dev/null @@ -1 +0,0 @@ -onnx: "1.15.0" diff --git a/recipes/openvino/all/dependencies/dependencies-2024.2.0.yml b/recipes/openvino/all/dependencies/dependencies-2024.2.0.yml deleted file mode 100644 index f99604741682a..0000000000000 --- a/recipes/openvino/all/dependencies/dependencies-2024.2.0.yml +++ /dev/null @@ -1 +0,0 @@ -onnx: "1.15.0" diff --git a/recipes/openvino/all/dependencies/dependencies-2024.3.0.yml b/recipes/openvino/all/dependencies/dependencies-2024.3.0.yml deleted file mode 100644 index f99604741682a..0000000000000 --- a/recipes/openvino/all/dependencies/dependencies-2024.3.0.yml +++ /dev/null @@ -1 +0,0 @@ -onnx: "1.15.0" diff --git a/recipes/openvino/all/dependencies/dependencies-2024.5.0.yml b/recipes/openvino/all/dependencies/dependencies-2024.5.0.yml new file mode 100644 index 0000000000000..8885f88a6f2fb --- /dev/null +++ b/recipes/openvino/all/dependencies/dependencies-2024.5.0.yml @@ -0,0 +1 @@ +onnx: "1.16.2" \ No newline at end of file diff --git a/recipes/openvino/all/patches/2023.2.0/0001-git-version.patch b/recipes/openvino/all/patches/2023.2.0/0001-git-version.patch deleted file mode 100644 index 36844097643e0..0000000000000 --- a/recipes/openvino/all/patches/2023.2.0/0001-git-version.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/cmake/developer_package/version.cmake b/cmake/developer_package/version.cmake -index 1b71befe44..b78f44995a 100644 ---- a/cmake/developer_package/version.cmake -+++ b/cmake/developer_package/version.cmake -@@ -5,7 +5,7 @@ - find_package(Git QUIET) - - function(ov_branch_name VAR REPO_ROOT) -- if(GIT_FOUND) -+ if(GIT_FOUND AND EXISTS "${REPO_ROOT}/.git") - execute_process( - COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD - WORKING_DIRECTORY ${REPO_ROOT} -@@ -16,7 +16,7 @@ function(ov_branch_name VAR REPO_ROOT) - endfunction() - - function(ov_commit_hash VAR REPO_ROOT) -- if(GIT_FOUND) -+ if(GIT_FOUND AND EXISTS "${REPO_ROOT}/.git") - execute_process( - COMMAND ${GIT_EXECUTABLE} rev-parse --short=11 HEAD - WORKING_DIRECTORY ${REPO_ROOT} -@@ -27,7 +27,7 @@ function(ov_commit_hash VAR REPO_ROOT) - endfunction() - - function(ov_commit_number VAR REPO_ROOT) -- if(GIT_FOUND) -+ if(GIT_FOUND AND EXISTS "${REPO_ROOT}/.git") - execute_process( - COMMAND ${GIT_EXECUTABLE} rev-list --count --first-parent HEAD - WORKING_DIRECTORY ${REPO_ROOT} diff --git a/recipes/openvino/all/patches/2024.0.0/0001-Include-mutex-for-std-call_once.patch b/recipes/openvino/all/patches/2024.0.0/0001-Include-mutex-for-std-call_once.patch deleted file mode 100644 index 6c0e89e765f9f..0000000000000 --- a/recipes/openvino/all/patches/2024.0.0/0001-Include-mutex-for-std-call_once.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/inference/src/dev/make_tensor.cpp b/src/inference/src/dev/make_tensor.cpp -index e34497749a..f28c90ccf4 100644 ---- a/src/inference/src/dev/make_tensor.cpp -+++ b/src/inference/src/dev/make_tensor.cpp -@@ -5,6 +5,7 @@ - #include "openvino/runtime/make_tensor.hpp" - - #include -+#include - - #include "openvino/runtime/iremote_tensor.hpp" - #include "openvino/runtime/properties.hpp" - diff --git a/recipes/openvino/all/patches/2024.0.0/0002-Fix-includes-for-dev-api.patch b/recipes/openvino/all/patches/2024.0.0/0002-Fix-includes-for-dev-api.patch deleted file mode 100644 index 1e33d8172c049..0000000000000 --- a/recipes/openvino/all/patches/2024.0.0/0002-Fix-includes-for-dev-api.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/inference/src/dev/make_tensor.cpp b/src/inference/src/dev/make_tensor.cpp -index f28c90ccf4..e457b81fc0 100644 ---- a/src/inference/src/dev/make_tensor.cpp -+++ b/src/inference/src/dev/make_tensor.cpp -@@ -9,6 +9,7 @@ - - #include "openvino/runtime/iremote_tensor.hpp" - #include "openvino/runtime/properties.hpp" -+#include "openvino/runtime/tensor.hpp" - #ifdef PROXY_PLUGIN_ENABLED - # include "openvino/proxy/plugin.hpp" - #endif - diff --git a/recipes/openvino/all/patches/2024.0.0/0003-Support-OpenVINO-compilation-with-cpp20.patch b/recipes/openvino/all/patches/2024.0.0/0003-Support-OpenVINO-compilation-with-cpp20.patch deleted file mode 100644 index 52337a8f822c9..0000000000000 --- a/recipes/openvino/all/patches/2024.0.0/0003-Support-OpenVINO-compilation-with-cpp20.patch +++ /dev/null @@ -1,501 +0,0 @@ -diff --git a/.github/workflows/linux_conditional_compilation.yml b/.github/workflows/linux_conditional_compilation.yml -index 4f2d7d8ec9..f74802072c 100644 ---- a/.github/workflows/linux_conditional_compilation.yml -+++ b/.github/workflows/linux_conditional_compilation.yml -@@ -152,6 +152,7 @@ jobs: - run: | - cmake \ - -G "${{ env.CMAKE_GENERATOR }}" \ -+ -DCMAKE_CXX_STANDARD=20 \ - -DBUILD_SHARED_LIBS=OFF \ - -DENABLE_TESTS=ON \ - -DENABLE_CPPLINT=OFF \ -diff --git a/.github/workflows/windows_conditional_compilation.yml b/.github/workflows/windows_conditional_compilation.yml -index 6a47f620e7..ead6c37c87 100644 ---- a/.github/workflows/windows_conditional_compilation.yml -+++ b/.github/workflows/windows_conditional_compilation.yml -@@ -147,6 +147,7 @@ jobs: - run: | - cmake -G "${{ env.CMAKE_GENERATOR }}" ` - -DBUILD_SHARED_LIBS=OFF ` -+ -DCMAKE_CXX_STANDARD=20 ` - -DENABLE_TESTS=ON ` - -DENABLE_CPPLINT=OFF ` - -DENABLE_NCC_STYLE=OFF ` -diff --git a/docs/snippets/CMakeLists.txt b/docs/snippets/CMakeLists.txt -index 89c39d706d..415f1dea88 100644 ---- a/docs/snippets/CMakeLists.txt -+++ b/docs/snippets/CMakeLists.txt -@@ -15,6 +15,10 @@ if(UNUSED_BUT_SET_VARIABLE_SUPPORTED) - ov_add_compiler_flags(-Wno-unused-but-set-variable) - endif() - -+if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) -+ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") -+endif() -+ - file(GLOB SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/src/*.c") -diff --git a/samples/cpp/hello_classification/main.cpp b/samples/cpp/hello_classification/main.cpp -index b0624b9a54..940ab918dd 100644 ---- a/samples/cpp/hello_classification/main.cpp -+++ b/samples/cpp/hello_classification/main.cpp -@@ -28,7 +28,8 @@ int tmain(int argc, tchar* argv[]) { - - // -------- Parsing and validation of input arguments -------- - if (argc != 4) { -- slog::info << "Usage : " << argv[0] << " " << slog::endl; -+ slog::info << "Usage : " << TSTRING2STRING(argv[0]) << " " -+ << slog::endl; - return EXIT_FAILURE; - } - -diff --git a/src/common/low_precision_transformations/CMakeLists.txt b/src/common/low_precision_transformations/CMakeLists.txt -index 215cb74de0..a325407d82 100644 ---- a/src/common/low_precision_transformations/CMakeLists.txt -+++ b/src/common/low_precision_transformations/CMakeLists.txt -@@ -16,6 +16,9 @@ source_group("src" FILES ${LIBRARY_SRC}) - source_group("include" FILES ${PUBLIC_HEADERS}) - - # Create library -+if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) -+ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") -+endif() - - add_library(${TARGET_NAME}_obj OBJECT - ${LIBRARY_SRC} -diff --git a/src/common/snippets/CMakeLists.txt b/src/common/snippets/CMakeLists.txt -index b3d2db77b7..dcde389cde 100644 ---- a/src/common/snippets/CMakeLists.txt -+++ b/src/common/snippets/CMakeLists.txt -@@ -16,6 +16,9 @@ source_group("src" FILES ${LIBRARY_SRC}) - source_group("include" FILES ${PUBLIC_HEADERS}) - - # Create static library -+if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) -+ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") -+endif() - - add_library(${TARGET_NAME} STATIC - ${LIBRARY_SRC} -diff --git a/src/common/transformations/CMakeLists.txt b/src/common/transformations/CMakeLists.txt -index c4c4ccaa9b..1d398b0054 100644 ---- a/src/common/transformations/CMakeLists.txt -+++ b/src/common/transformations/CMakeLists.txt -@@ -16,6 +16,9 @@ source_group("src" FILES ${LIBRARY_SRC}) - source_group("include" FILES ${PUBLIC_HEADERS}) - - # Create library -+if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) -+ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") -+endif() - - add_library(${TARGET_NAME}_obj OBJECT ${LIBRARY_SRC} ${PUBLIC_HEADERS}) - target_compile_definitions(${TARGET_NAME}_obj PRIVATE IMPLEMENT_OPENVINO_API) -diff --git a/src/common/transformations/include/transformations/rt_info/nms_selected_indices.hpp b/src/common/transformations/include/transformations/rt_info/nms_selected_indices.hpp -index 0719a5347c..28fa98d324 100644 ---- a/src/common/transformations/include/transformations/rt_info/nms_selected_indices.hpp -+++ b/src/common/transformations/include/transformations/rt_info/nms_selected_indices.hpp -@@ -21,7 +21,7 @@ TRANSFORMATIONS_API bool has_nms_selected_indices(const Node* node); - - TRANSFORMATIONS_API void set_nms_selected_indices(Node* node); - --class TRANSFORMATIONS_API NmsSelectedIndices : ov::RuntimeAttribute { -+class TRANSFORMATIONS_API NmsSelectedIndices : public ov::RuntimeAttribute { - public: - OPENVINO_RTTI("nms_selected_indices", "0"); - NmsSelectedIndices() = default; -diff --git a/src/core/tests/matcher_pass.cpp b/src/core/tests/matcher_pass.cpp -index ae0b6d911c..0ac381a531 100644 ---- a/src/core/tests/matcher_pass.cpp -+++ b/src/core/tests/matcher_pass.cpp -@@ -25,7 +25,7 @@ public: - auto m_relu1 = ov::pass::pattern::wrap_type(pattern::consumers_count(1)); - auto m_relu2 = ov::pass::pattern::wrap_type({m_relu1}); - -- ov::graph_rewrite_callback callback = [=](pattern::Matcher& m) { -+ ov::graph_rewrite_callback callback = [m_relu1, this](pattern::Matcher& m) { - // Map that helps to connect labels with matched outputs - auto& node_to_output = m.get_pattern_value_map(); - -diff --git a/src/frontends/paddle/src/CMakeLists.txt b/src/frontends/paddle/src/CMakeLists.txt -index af0cf0373a..57241ae95a 100644 ---- a/src/frontends/paddle/src/CMakeLists.txt -+++ b/src/frontends/paddle/src/CMakeLists.txt -@@ -2,6 +2,10 @@ - # SPDX-License-Identifier: Apache-2.0 - # - -+if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) -+ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") -+endif() -+ - ov_add_frontend(NAME paddle - LINKABLE_FRONTEND - PROTOBUF_REQUIRED -diff --git a/src/frontends/pytorch/src/CMakeLists.txt b/src/frontends/pytorch/src/CMakeLists.txt -index 814d820b5c..7fb8c4ae50 100644 ---- a/src/frontends/pytorch/src/CMakeLists.txt -+++ b/src/frontends/pytorch/src/CMakeLists.txt -@@ -2,6 +2,10 @@ - # SPDX-License-Identifier: Apache-2.0 - # - -+if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) -+ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") -+endif() -+ - ov_add_frontend(NAME pytorch - LINKABLE_FRONTEND - SHUTDOWN_PROTOBUF -diff --git a/src/frontends/tensorflow/src/variables_index.cpp b/src/frontends/tensorflow/src/variables_index.cpp -index 2dcf3faf9e..3d97022bc6 100644 ---- a/src/frontends/tensorflow/src/variables_index.cpp -+++ b/src/frontends/tensorflow/src/variables_index.cpp -@@ -228,11 +228,11 @@ bool VariablesIndex::read_variables(std::ifstream& vi_stream, const std::wstring - } - if (m_mmap_enabled) { - m_data_files[shard].mmap = load_mmap_object(fullPath); -- FRONT_END_GENERAL_CHECK(m_data_files[shard].mmap->data(), L"Variable index data cannot be mapped"); -+ FRONT_END_GENERAL_CHECK(m_data_files[shard].mmap->data(), "Variable index data cannot be mapped"); - } else { - m_data_files[shard].stream = std::shared_ptr( - new std::ifstream(fullPath.c_str(), std::ifstream::in | std::ifstream::binary)); -- FRONT_END_GENERAL_CHECK(m_data_files[shard].stream->is_open(), L"Variable index data file does not exist"); -+ FRONT_END_GENERAL_CHECK(m_data_files[shard].stream->is_open(), "Variable index data file does not exist"); - } - } - -diff --git a/src/inference/tests/functional/caching_test.cpp b/src/inference/tests/functional/caching_test.cpp -index 1b45c2bd4a..c1a7d685f4 100644 ---- a/src/inference/tests/functional/caching_test.cpp -+++ b/src/inference/tests/functional/caching_test.cpp -@@ -2359,9 +2359,7 @@ TEST_P(CachingTest, LoadBATCHWithConfig) { - EXPECT_CALL(*mockPlugin, get_property(ov::internal::caching_properties.name(), _)).Times(AnyNumber()); - EXPECT_CALL(*mockPlugin, get_property(ov::hint::performance_mode.name(), _)) - .Times(AnyNumber()) -- .WillRepeatedly(Return([] { -- return ov::hint::PerformanceMode::THROUGHPUT; -- })); -+ .WillRepeatedly(Return(ov::hint::PerformanceMode::THROUGHPUT)); - if (m_remoteContext) { - return; // skip the remote Context test for Auto plugin - } -@@ -2490,4 +2488,4 @@ INSTANTIATE_TEST_SUITE_P(CacheTestWithProxyEnabled, - CacheTestWithProxyEnabled, - ::testing::Combine(::testing::ValuesIn(loadVariants), ::testing::ValuesIn(cacheFolders)), - getTestCaseName); --#endif -\ No newline at end of file -+#endif -diff --git a/src/plugins/auto_batch/src/sync_infer_request.cpp b/src/plugins/auto_batch/src/sync_infer_request.cpp -index c766c521ce..707adedc3b 100644 ---- a/src/plugins/auto_batch/src/sync_infer_request.cpp -+++ b/src/plugins/auto_batch/src/sync_infer_request.cpp -@@ -160,4 +160,4 @@ std::vector SyncInferRequest::get_profiling_info() const { - return m_batched_request_wrapper->_infer_request_batched->get_profiling_info(); - } - } // namespace autobatch_plugin --} // namespace ov -\ No newline at end of file -+} // namespace ov -diff --git a/src/plugins/intel_cpu/CMakeLists.txt b/src/plugins/intel_cpu/CMakeLists.txt -index 3a15194061..962ba21c0e 100644 ---- a/src/plugins/intel_cpu/CMakeLists.txt -+++ b/src/plugins/intel_cpu/CMakeLists.txt -@@ -8,6 +8,10 @@ endif() - - set(TARGET_NAME "openvino_intel_cpu_plugin") - -+if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) -+ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") -+endif() -+ - if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - # C4267, 4244 issues from oneDNN headers conversion from 'XXX' to 'YYY', possible loss of data - ov_add_compiler_flags(/wd4018) -@@ -205,7 +209,7 @@ if(BUILD_SHARED_LIBS) - $) - - target_include_directories(${TARGET_NAME}_obj SYSTEM PUBLIC $) -- -+ - if(ENABLE_MLAS_FOR_CPU) - target_include_directories(${TARGET_NAME}_obj SYSTEM PUBLIC $) - endif() -diff --git a/src/plugins/intel_cpu/src/cache/multi_cache.h b/src/plugins/intel_cpu/src/cache/multi_cache.h -index 746499bd9b..8225f5ed0f 100644 ---- a/src/plugins/intel_cpu/src/cache/multi_cache.h -+++ b/src/plugins/intel_cpu/src/cache/multi_cache.h -@@ -41,10 +41,14 @@ public: - * Also the builder type is used for the ValueType deduction - * @return result of the operation which is a pair of the requested object of ValType and the status of whether the cache hit or miss occurred - */ -- -- template::type> -- typename CacheEntry::ResultType -- getOrCreate(const KeyType& key, BuilderType builder) { -+ template 201703L)) || (defined(__cplusplus) && (__cplusplus > 201703L)) -+ typename ValueType = std::invoke_result_t> -+#else -+ typename ValueType = typename std::result_of::type> -+#endif -+ typename CacheEntry::ResultType getOrCreate(const KeyType& key, BuilderType builder) { - auto entry = getEntry(); - return entry->getOrCreate(key, std::move(builder)); - } -diff --git a/src/plugins/intel_cpu/src/graph.cpp b/src/plugins/intel_cpu/src/graph.cpp -index 39a72bd80a..e1362e3302 100644 ---- a/src/plugins/intel_cpu/src/graph.cpp -+++ b/src/plugins/intel_cpu/src/graph.cpp -@@ -1093,6 +1093,17 @@ private: - #endif - - #if (OV_THREAD == OV_THREAD_TBB || OV_THREAD == OV_THREAD_TBB_AUTO || OV_THREAD == OV_THREAD_OMP) -+ -+# if (defined(_MSVC_LANG) && (_MSVC_LANG > 201703L)) || (defined(__cplusplus) && (__cplusplus > 201703L)) -+# define ov_memory_order_release std::memory_order_release -+# define ov_memory_order_relaxed std::memory_order_relaxed -+# define ov_memory_order_acquire std::memory_order_acquire -+# else -+# define ov_memory_order_release std::memory_order::memory_order_release -+# define ov_memory_order_relaxed std::memory_order::memory_order_relaxed -+# define ov_memory_order_acquire std::memory_order::memory_order_acquire -+# endif -+ - class UpdateNodesBase : public IUpdateNodes { - public: - explicit UpdateNodesBase(std::vector& executableGraphNodes) : m_executableGraphNodes(executableGraphNodes) {} -@@ -1103,22 +1114,22 @@ public: - if (node->isDynamicNode()) { - node->updateShapes(); - } -- m_prepareCounter.store(i, std::memory_order::memory_order_release); -+ m_prepareCounter.store(i, ov_memory_order_release); - } - } - catch(...) { -- m_completion.store(true, std::memory_order::memory_order_relaxed); -+ m_completion.store(true, ov_memory_order_relaxed); - throw; - } -- m_prepareCounter.store(stop_indx, std::memory_order::memory_order_relaxed); -- m_completion.store(true, std::memory_order::memory_order_release); -+ m_prepareCounter.store(stop_indx, ov_memory_order_relaxed); -+ m_completion.store(true, ov_memory_order_release); - } - - void updateDynParams(size_t node_indx, size_t /*unused*/) { - size_t local_counter = node_indx; - while (true) { -- const bool completion = m_completion.load(std::memory_order::memory_order_acquire); -- const size_t prepareCounter = m_prepareCounter.load(std::memory_order::memory_order_relaxed); -+ const bool completion = m_completion.load(ov_memory_order_acquire); -+ const size_t prepareCounter = m_prepareCounter.load(ov_memory_order_relaxed); - if (completion && local_counter == prepareCounter) { - break; - } -diff --git a/src/plugins/intel_cpu/src/nodes/executors/fullyconnected_implementations.cpp b/src/plugins/intel_cpu/src/nodes/executors/fullyconnected_implementations.cpp -index 0f656c7049..cae4a605f6 100644 ---- a/src/plugins/intel_cpu/src/nodes/executors/fullyconnected_implementations.cpp -+++ b/src/plugins/intel_cpu/src/nodes/executors/fullyconnected_implementations.cpp -@@ -244,7 +244,10 @@ const std::vector>& getImplementations() { - return true; - }, - // create -- [](const FCAttrs& attrs, const PostOps& postOps, const MemoryArgs& memory, ExecutorContext::CPtr context) { -+ [](const FCAttrs& attrs, -+ const PostOps& postOps, -+ const MemoryArgs& memory, -+ ExecutorContext::CPtr context) -> std::shared_ptr { - struct ConvolutionInstantiator { - std::shared_ptr operator()( - const MemoryArgs& memory, -diff --git a/src/plugins/intel_cpu/src/nodes/inverse.cpp b/src/plugins/intel_cpu/src/nodes/inverse.cpp -index 93f0df2948..04c283fc2f 100644 ---- a/src/plugins/intel_cpu/src/nodes/inverse.cpp -+++ b/src/plugins/intel_cpu/src/nodes/inverse.cpp -@@ -153,7 +153,7 @@ void Inverse::lu_decomposition(const T* data, - - // Find maximum value pivot - non-parallel - for (size_t i = (k + 1) * m_side, j = k + 1; i < m_side_squared; i += m_side, ++j) { -- if (abs(U[i + k]) > abs(U[pivot_idx + k])) { -+ if (std::abs(U[i + k]) > std::abs(U[pivot_idx + k])) { - pivot_row = j; - pivot_idx = pivot_row * m_side; - } -diff --git a/src/plugins/intel_cpu/src/nodes/kernels/x64/jit_kernel.hpp b/src/plugins/intel_cpu/src/nodes/kernels/x64/jit_kernel.hpp -index e837dc7fdf..ecc3688c68 100644 ---- a/src/plugins/intel_cpu/src/nodes/kernels/x64/jit_kernel.hpp -+++ b/src/plugins/intel_cpu/src/nodes/kernels/x64/jit_kernel.hpp -@@ -700,6 +700,9 @@ private: - std::unordered_map> _emitters; - }; - -+template <> -+const Xbyak::Reg64& jit_kernel::reserve(); -+ - template - void jit_kernel::copy(const Xbyak::Reg64& dst, - const Xbyak::Reg64& src, -diff --git a/src/plugins/intel_gpu/CMakeLists.txt b/src/plugins/intel_gpu/CMakeLists.txt -index e48c985ad7..18a941ca79 100644 ---- a/src/plugins/intel_gpu/CMakeLists.txt -+++ b/src/plugins/intel_gpu/CMakeLists.txt -@@ -8,6 +8,10 @@ endif() - - set (TARGET_NAME "openvino_intel_gpu_plugin") - -+if((CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG) AND CMAKE_CXX_STANDARD GREATER_EQUAL 20) -+ set(CMAKE_CXX_FLAGS "-Wno-error=deprecated ${CMAKE_CXX_FLAGS}") -+endif() -+ - if(CMAKE_COMPILER_IS_GNUCXX) - ov_add_compiler_flags(-Wno-strict-aliasing) - endif() -diff --git a/src/plugins/intel_gpu/src/graph/graph_optimizer/reorder_inputs.cpp b/src/plugins/intel_gpu/src/graph/graph_optimizer/reorder_inputs.cpp -index 0148026b6c..20b229ad9c 100644 ---- a/src/plugins/intel_gpu/src/graph/graph_optimizer/reorder_inputs.cpp -+++ b/src/plugins/intel_gpu/src/graph/graph_optimizer/reorder_inputs.cpp -@@ -689,16 +689,16 @@ void reorder_inputs::run(program& p, layout_optimizer& lo, reorder_factory& rf) - } - - GPU_DEBUG_IF(debug_config->verbose >= 2) { -- reorder_cnt total_reorder_count = std::accumulate( -- p.get_processing_order().begin(), -- p.get_processing_order().end(), -- reorder_cnt{ 0, 0 }, -- [&](reorder_cnt& total, program_node* node) { -- if (fmt_map.count(node) == 0 || fmt_map.at(node) == format::any) -- return total; -- auto count = count_reorders(fmt_map, lo, node); -- return reorder_cnt{ total.number + count.number, total.total_sizes + count.total_sizes }; -- }); -+ reorder_cnt total_reorder_count = -+ std::accumulate(p.get_processing_order().begin(), -+ p.get_processing_order().end(), -+ reorder_cnt{0, 0}, -+ [&](reorder_cnt total, program_node* node) { -+ if (fmt_map.count(node) == 0 || fmt_map.at(node) == format::any) -+ return total; -+ auto count = count_reorders(fmt_map, lo, node); -+ return reorder_cnt{total.number + count.number, total.total_sizes + count.total_sizes}; -+ }); - // Divide results by two as above function will each reorder from both sides - GPU_DEBUG_LOG_PASS << "Total number of reorders: " << total_reorder_count.number / 2 << std::endl; - GPU_DEBUG_LOG_PASS << "Total elements count of all reorders: " << total_reorder_count.total_sizes / 2 << std::endl; -diff --git a/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.cpp b/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.cpp -index a5d0711f61..d71a6834e8 100644 ---- a/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.cpp -+++ b/src/plugins/intel_gpu/src/kernel_selector/auto_tuner.cpp -@@ -36,6 +36,27 @@ - #include - #endif - -+#if __cplusplus > 201703L -+ -+// Add operators `==` and `!=` for rapidjson::GenericMemberIterator for non const iterator when build with C++20, -+// is more strict regarding type checks. -+namespace rapidjson { -+ -+template -+inline bool operator==(GenericMemberIterator lhs, -+ GenericMemberIterator rhs) { -+ return static_cast>(lhs) == -+ static_cast>(rhs); -+} -+ -+template -+inline bool operator!=(GenericMemberIterator lhs, -+ GenericMemberIterator rhs) { -+ return !(lhs == rhs); -+} -+} // namespace rapidjson -+#endif -+ - namespace kernel_selector { - - class TuningCache::Impl { -diff --git a/src/plugins/intel_gpu/src/kernel_selector/kernel_selector_common.cpp b/src/plugins/intel_gpu/src/kernel_selector/kernel_selector_common.cpp -index 6caa5e75a4..3a14e9d802 100644 ---- a/src/plugins/intel_gpu/src/kernel_selector/kernel_selector_common.cpp -+++ b/src/plugins/intel_gpu/src/kernel_selector/kernel_selector_common.cpp -@@ -612,10 +612,8 @@ std::string toString_v2(const DataTensor& tensor) { - std::stringstream s; - s << toString(tensor.GetDType()) << "_"; - s << toString(tensor.GetLayout()); -- int i = 0; - for (auto dim : tensor.GetDims()) { - s << "_v" << dim.v << "_p" << dim.pad.before << "_" << dim.pad.after; -- i++; - } - return s.str(); - } -diff --git a/src/plugins/intel_gpu/tests/unit/module_tests/primitive_comparison_test.cpp b/src/plugins/intel_gpu/tests/unit/module_tests/primitive_comparison_test.cpp -index 0390593b59..3e0f608a9e 100644 ---- a/src/plugins/intel_gpu/tests/unit/module_tests/primitive_comparison_test.cpp -+++ b/src/plugins/intel_gpu/tests/unit/module_tests/primitive_comparison_test.cpp -@@ -11,6 +11,13 @@ - #include - #include - -+namespace cldnn { -+// For gtest NE compare, class defines only `==` operator. Required when building using C++20 -+inline bool operator!=(const range& lhs, const fully_connected& rhs) { -+ return !(lhs.operator==(rhs)); -+} -+} // namespace cldnn -+ - using namespace cldnn; - using namespace ::tests; - -diff --git a/src/tests/test_utils/common_test_utils/src/file_utils.cpp b/src/tests/test_utils/common_test_utils/src/file_utils.cpp -index b1b8b42797..eadaab6b71 100644 ---- a/src/tests/test_utils/common_test_utils/src/file_utils.cpp -+++ b/src/tests/test_utils/common_test_utils/src/file_utils.cpp -@@ -192,7 +192,7 @@ std::string getRelativePath(const std::string& from, const std::string& to) { - output += std::accumulate(mismatch_it.first, - from_vec.end(), - std::string{}, -- [&separator](std::string& a, const std::string&) -> std::string { -+ [&separator](std::string a, const std::string&) -> std::string { - return a += ".." + separator; - }); - } -@@ -203,7 +203,7 @@ std::string getRelativePath(const std::string& from, const std::string& to) { - output += std::accumulate(mismatch_it.second, - to_vec.end(), - std::string{}, -- [&separator](std::string& a, const std::string& b) -> std::string { -+ [&separator](std::string a, const std::string& b) -> std::string { - return a.empty() ? a += b : a += separator + b; - }); - return output; -diff --git a/thirdparty/itt_collector/sea_itt_lib/sea_itt_lib.cpp b/thirdparty/itt_collector/sea_itt_lib/sea_itt_lib.cpp -index 18196eda17..a764b27e68 100644 ---- a/thirdparty/itt_collector/sea_itt_lib/sea_itt_lib.cpp -+++ b/thirdparty/itt_collector/sea_itt_lib/sea_itt_lib.cpp -@@ -327,14 +327,14 @@ SEA_EXPORT int NotifyEvent(iJIT_JVM_EVENT event_type, void* EventSpecificData) { - - switch (event_type) { - case iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED: { -- sea::WriteJit(&(uint32_t)methodData->method_id, sizeof(uint32_t)); -+ sea::WriteJit(&methodData->method_id, sizeof(uint32_t)); - sea::WriteJit(&methodData->method_load_address, sizeof(void*)); -- sea::WriteJit(&(uint32_t)methodData->method_size, sizeof(uint32_t)); -- sea::WriteJit(&(uint32_t)methodData->line_number_size, sizeof(uint32_t)); -+ sea::WriteJit(&methodData->method_size, sizeof(uint32_t)); -+ sea::WriteJit(&methodData->line_number_size, sizeof(uint32_t)); - for (unsigned int i = 0; i < methodData->line_number_size; ++i) { - const LineNumberInfo& lni = methodData->line_number_table[i]; -- sea::WriteJit(&(uint32_t)lni.Offset, sizeof(uint32_t)); -- sea::WriteJit(&(uint32_t)lni.LineNumber, sizeof(uint32_t)); -+ sea::WriteJit(&lni.Offset, sizeof(uint32_t)); -+ sea::WriteJit(&lni.LineNumber, sizeof(uint32_t)); - } - - const char* strings[] = {methodData->method_name, methodData->class_file_name, methodData->source_file_name}; - diff --git a/recipes/openvino/all/patches/2024.1.0/0001-fix-cxxflags.patch b/recipes/openvino/all/patches/2024.1.0/0001-fix-cxxflags.patch deleted file mode 100644 index ceabd157b9ce9..0000000000000 --- a/recipes/openvino/all/patches/2024.1.0/0001-fix-cxxflags.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/cmake/developer_package/target_flags.cmake b/cmake/developer_package/target_flags.cmake -index d047a1aebd..7779b2fcf5 100644 ---- a/cmake/developer_package/target_flags.cmake -+++ b/cmake/developer_package/target_flags.cmake -@@ -118,8 +118,19 @@ function(ov_get_compiler_definition definition var) - message(FATAL_ERROR "Internal error: 'ov_get_definition' must be used only on Linux") - endif() - -+ get_directory_property(_user_defines COMPILE_DEFINITIONS) -+ foreach(_user_define IN LISTS _user_defines) -+ # older cmake versions keep -D at the beginning, trim it -+ string(REPLACE "-D" "" _user_define "${_user_define}") -+ list(APPEND _ov_user_flags "-D${_user_define}") -+ endforeach() -+ string(REPLACE " " ";" _user_cxx_flags "${CMAKE_CXX_FLAGS}") -+ foreach(_user_flag IN LISTS _user_cxx_flags) -+ list(APPEND _ov_user_flags ${_user_flag}) -+ endforeach() -+ - execute_process(COMMAND echo "#include " -- COMMAND "${CMAKE_CXX_COMPILER}" -x c++ - -E -dM -+ COMMAND "${CMAKE_CXX_COMPILER}" ${_ov_user_flags} -x c++ - -E -dM - COMMAND grep -E "^#define ${definition} " - OUTPUT_VARIABLE output_value - ERROR_VARIABLE error_message diff --git a/recipes/openvino/config.yml b/recipes/openvino/config.yml index 6e20b31cea112..9e7497e795ff9 100644 --- a/recipes/openvino/config.yml +++ b/recipes/openvino/config.yml @@ -1,13 +1,6 @@ versions: - "2024.3.0": - folder: "all" - "2024.2.0": - folder: "all" - "2024.1.0": - folder: "all" - "2024.0.0": + "2024.5.0": folder: "all" "2023.3.0": folder: "all" - "2023.2.0": - folder: "all" + diff --git a/recipes/openvr/all/test_v1_package/CMakeLists.txt b/recipes/openvr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/openvr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/openvr/all/test_v1_package/conanfile.py b/recipes/openvr/all/test_v1_package/conanfile.py deleted file mode 100644 index 6c9d5dba712c7..0000000000000 --- a/recipes/openvr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/openxlsx/all/test_v1_package/CMakeLists.txt b/recipes/openxlsx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/openxlsx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/openxlsx/all/test_v1_package/conanfile.py b/recipes/openxlsx/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/openxlsx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/optimlib/all/CMakeLists.txt b/recipes/optimlib/all/CMakeLists.txt new file mode 100644 index 0000000000000..969c489f5660e --- /dev/null +++ b/recipes/optimlib/all/CMakeLists.txt @@ -0,0 +1,49 @@ +# Based on https://github.com/kthohr/optim/blob/5453f48aca695e6fef123677f35cb4d22e356e73/configure +cmake_minimum_required(VERSION 3.15) +project(OptimLib LANGUAGES CXX) + +set(OPTIM_LINEAR_ALG_LIB "eigen" CACHE STRING "Choice of linear algebra library") +set(OPTIM_FPN_TYPE "double" CACHE STRING "Floating-point number type") +option(OPTIM_PARALLEL "Enable OpenMP parallelization features" ON) + +file(GLOB_RECURSE SOURCES src/*.cpp) + +add_library(optim ${SOURCES}) +target_include_directories(optim PUBLIC include) +target_compile_features(optim PUBLIC cxx_std_11) + +target_compile_options(optim PRIVATE -Wall) +if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug") + target_compile_options(optim PRIVATE -O3 -ffp-contract=fast) + target_compile_definitions(optim PRIVATE -DARMA_NO_DEBUG) +endif() + +if(OPTIM_LINEAR_ALG_LIB STREQUAL "eigen") + find_package(Eigen3 REQUIRED) + target_link_libraries(optim PUBLIC Eigen3::Eigen) + target_compile_definitions(optim PRIVATE -DOPTIM_ENABLE_EIGEN_WRAPPERS) +elseif(OPTIM_LINEAR_ALG_LIB STREQUAL "arma") + find_package(Armadillo REQUIRED) + target_link_libraries(optim PUBLIC Armadillo::Armadillo) + target_compile_definitions(optim PRIVATE -DOPTIM_ENABLE_ARMA_WRAPPERS) +else() + message(FATAL_ERROR "OPTIM_LINEAR_ALG_LIB must be either 'eigen' or 'arma'. Got: ${OPTIM_LINEAR_ALG_LIB}") +endif() + +target_compile_definitions(optim PRIVATE -DOPTIM_FPN_TYPE=${OPTIM_FPN_TYPE}) + +if(OPTIM_PARALLEL) + find_package(OpenMP REQUIRED) + target_link_libraries(optim PUBLIC OpenMP::OpenMP_CXX) +endif() + +include(GNUInstallDirs) +install(TARGETS optim + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) +install(DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + FILES_MATCHING PATTERN "*.hpp" PATTERN "*.ipp" +) diff --git a/recipes/optimlib/all/conandata.yml b/recipes/optimlib/all/conandata.yml new file mode 100644 index 0000000000000..0d0a307dd5d0c --- /dev/null +++ b/recipes/optimlib/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + # The version is defined at https://github.com/kthohr/optim/blob/master/include/misc/optim_options.hpp#L30-L40 + "3.1.3": + source: + url: "https://github.com/kthohr/optim/archive/f9d9357169ce4b497a677faa9ce85e901e77275d.tar.gz" + sha256: "3809f753fc75c007c55ee995264c72487415a22dacc0846ba8ac0c1d1c24b91a" + base_matrix_ops: + url: "https://github.com/kthohr/BaseMatrixOps/archive/9e5beec15d803f0429dadae5e9218ef907271383.zip" + sha256: "f47de48e3814317d3cfa38f986bf847d816fa74dd13d8ccb9bac3ab51a49efd4" diff --git a/recipes/optimlib/all/conanfile.py b/recipes/optimlib/all/conanfile.py new file mode 100644 index 0000000000000..058265aa8ed45 --- /dev/null +++ b/recipes/optimlib/all/conanfile.py @@ -0,0 +1,129 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout +from conan.tools.files import copy, get + +required_conan_version = ">=1.54.0" + + +class OptimLibConan(ConanFile): + name = "optimlib" + description = "OptimLib: a lightweight C++ library of numerical optimization methods for nonlinear functions" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/kthohr/optim" + topics = ("numerical-optimization", "optimization", "automatic-differentiation", "evolutionary-algorithms") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "header_only": [True, False], + "linear_alg_lib": ["arma", "eigen"], + "floating_point_type": ["float", "double"], + "with_openmp": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "header_only": False, + "linear_alg_lib": "eigen", + "floating_point_type": "double", + "with_openmp": False, + } + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + copy(self, "CMakeLists.txt", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.header_only: + self.package_type = "header-library" + self.options.rm_safe("shared") + self.options.rm_safe("fPIC") + elif self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + if self.options.linear_alg_lib == "arma": + self.requires("armadillo/12.6.4", transitive_headers=True, transitive_libs=True) + elif self.options.linear_alg_lib == "eigen": + self.requires("eigen/3.4.0", transitive_headers=True, transitive_libs=True) + if self.options.with_openmp: + # '#pragma omp' is used in public headers + self.requires("openmp/system", transitive_headers=True, transitive_libs=True) + + def package_id(self): + if self.info.options.header_only: + self.info.clear() + + def validate(self): + if self.settings.os == "Windows": + # "Use of this library with Windows-based systems, with or without MSVC, is not supported." + raise ConanInvalidConfiguration("Windows is not supported") + + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version]["source"], strip_root=True) + get(self, **self.conan_data["sources"][self.version]["base_matrix_ops"], strip_root=True, + destination=os.path.join(self.source_folder, "include", "BaseMatrixOps")) + + def generate(self): + if not self.options.header_only: + tc = CMakeToolchain(self) + tc.variables["OPTIM_LINEAR_ALG_LIB"] = str(self.options.linear_alg_lib) + tc.variables["OPTIM_PARALLEL"] = self.options.with_openmp + tc.variables["OPTIM_FPN_TYPE"] = str(self.options.floating_point_type) + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + if not self.options.header_only: + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "NOTICE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + if self.options.header_only: + self.run(f"./configure --header-only-version", cwd=self.source_folder) + include_dir = os.path.join(self.source_folder, "header_only_version") + copy(self, "*.hpp", include_dir, os.path.join(self.package_folder, "include")) + copy(self, "*.ipp", include_dir, os.path.join(self.package_folder, "include")) + else: + cmake = CMake(self) + cmake.install() + + def package_info(self): + # Unofficial CMake file and target + self.cpp_info.set_property("cmake_file_name", "OptimLib") + self.cpp_info.set_property("cmake_target_name", "OptimLib::OptimLib") + + if not self.options.header_only: + self.cpp_info.libs = ["optim"] + + if self.options.linear_alg_lib == "arma": + self.cpp_info.defines.append("OPTIM_ENABLE_ARMA_WRAPPERS") + if self.settings.build_type not in ["Debug", "RelWithDebInfo"]: + self.cpp_info.defines.append("ARMA_NO_DEBUG") + elif self.options.linear_alg_lib == "eigen": + self.cpp_info.defines.append("OPTIM_ENABLE_EIGEN_WRAPPERS") + self.cpp_info.defines.append(f"OPTIM_FPN_TYPE={self.options.floating_point_type}") diff --git a/recipes/optimlib/all/test_package/CMakeLists.txt b/recipes/optimlib/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..897ebb983164b --- /dev/null +++ b/recipes/optimlib/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(OptimLib REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE OptimLib::OptimLib) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/optimlib/all/test_package/conanfile.py b/recipes/optimlib/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/optimlib/all/test_package/conanfile.py @@ -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") diff --git a/recipes/optimlib/all/test_package/test_package.cpp b/recipes/optimlib/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..c2c8b66e698d0 --- /dev/null +++ b/recipes/optimlib/all/test_package/test_package.cpp @@ -0,0 +1,24 @@ +#include + +struct ll_data_t +{ + optim::ColVec_t Y; + optim::Mat_t X; +}; + +double ll_fn(const optim::ColVec_t& vals_inp, optim::ColVec_t* grad_out, void* opt_data) +{ + return 0.0; +} + +int main() +{ + int n_dim = 5; + int n_samp = 40; + ll_data_t opt_data; + opt_data.Y = optim::ColVec_t(n_samp); + opt_data.X = optim::Mat_t(n_samp, n_dim); + optim::ColVec_t x(n_samp); + optim::algo_settings_t settings; + bool success = optim::gd(x, ll_fn, &opt_data, settings); +} diff --git a/recipes/optimlib/config.yml b/recipes/optimlib/config.yml new file mode 100644 index 0000000000000..71660a79817c5 --- /dev/null +++ b/recipes/optimlib/config.yml @@ -0,0 +1,3 @@ +versions: + "3.1.3": + folder: all diff --git a/recipes/optional-lite/all/test_v1_package/CMakeLists.txt b/recipes/optional-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 381a5d41cbb1b..0000000000000 --- a/recipes/optional-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(optional-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::optional-lite) diff --git a/recipes/optional-lite/all/test_v1_package/conanfile.py b/recipes/optional-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/optional-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/opus/all/test_v1_package/CMakeLists.txt b/recipes/opus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/opus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/opus/all/test_v1_package/conanfile.py b/recipes/opus/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/opus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/opusfile/all/test_v1_package/CMakeLists.txt b/recipes/opusfile/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/opusfile/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/opusfile/all/test_v1_package/conanfile.py b/recipes/opusfile/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/opusfile/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/orc/all/conandata.yml b/recipes/orc/all/conandata.yml index 93dd0aef42c8e..4a8dd075c4c10 100644 --- a/recipes/orc/all/conandata.yml +++ b/recipes/orc/all/conandata.yml @@ -1,19 +1,10 @@ sources: + "2.0.3": + url: "https://archive.apache.org/dist/orc/orc-2.0.3/orc-2.0.3.tar.gz" + sha256: "082cba862b5a8a0d14c225404d0b51cd8d1b64ca81b8f1e500322ce8922cb86d" "2.0.0": url: "https://archive.apache.org/dist/orc/orc-2.0.0/orc-2.0.0.tar.gz" sha256: "9107730919c29eb39efaff1b9e36166634d1d4d9477e5fee76bfd6a8fec317df" - "1.9.3": - url: "https://archive.apache.org/dist/orc/orc-1.9.3/orc-1.9.3.tar.gz" - sha256: "f737d005d0c4deb65688ac3c0223ed530b0ba6258552555b2774dcdb77359b0f" - "1.9.2": - url: "https://archive.apache.org/dist/orc/orc-1.9.2/orc-1.9.2.tar.gz" - sha256: "7f46f2c184ecefd6791f1a53fb062286818bd8710c3f08b94dd3cac365e240ee" - "1.8.7": - url: "https://archive.apache.org/dist/orc/orc-1.8.7/orc-1.8.7.tar.gz" - sha256: "57c9d12bf74b2752b1ce1039c15035c3b6f6531d865df962a99b3e079b3dfdb7" - "1.8.6": - url: "https://archive.apache.org/dist/orc/orc-1.8.6/orc-1.8.6.tar.gz" - sha256: "5675b18118df4dd7f86cc6ba859ed75b425ea1b7ddff805e1d671a17fd57d7f7" - "1.7.10": - url: "https://archive.apache.org/dist/orc/orc-1.7.10/orc-1.7.10.tar.gz" - sha256: "85aef9368dc9bcdffaaf10010b66dfe053ce22f30b64854f63852248164686a3" + "1.9.5": + url: "https://archive.apache.org/dist/orc/orc-1.9.5/orc-1.9.5.tar.gz" + sha256: "6900b4e8a2e4e49275f4067bd0f838ad68330204305fd3f13a5ec519e9d71547" diff --git a/recipes/orc/all/conanfile.py b/recipes/orc/all/conanfile.py index f246032bfb025..8ffc69bfa533d 100644 --- a/recipes/orc/all/conanfile.py +++ b/recipes/orc/all/conanfile.py @@ -8,7 +8,7 @@ from conan.tools.files import copy, get, rmdir, replace_in_file, mkdir from conan.tools.scm import Version -required_conan_version = ">=1.60.0 <2.0 || >=2.0.5" +required_conan_version = ">=2.1" class OrcRecipe(ConanFile): name = "orc" @@ -47,10 +47,6 @@ def _compilers_minimum_version(self): "apple-clang": "12", } - @property - def _is_legacy_one_profile(self): - return not hasattr(self, "settings_build") - @property def _should_patch_thirdparty_toolchain(self): return self.version < "2.0.0" @@ -79,11 +75,10 @@ def requirements(self): self.requires("lz4/1.9.4") self.requires("snappy/1.1.9") self.requires("zlib/[>=1.2.11 <2]") - self.requires("zstd/1.5.5") + self.requires("zstd/[~1.5]") def validate(self): - if self.settings.compiler.cppstd: - check_min_cppstd(self, self._min_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( @@ -91,11 +86,11 @@ def validate(self): ) def build_requirements(self): - if not self._is_legacy_one_profile: - self.tool_requires("protobuf/") + self.tool_requires("protobuf/") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + self._patch_sources() def generate(self): VirtualBuildEnv(self).generate() @@ -114,11 +109,6 @@ def generate(self): tc.variables["STOP_BUILD_ON_WARNING"] = False tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True - # CMake versions less than 3.12 are supported by ORC pre-1.9.0 versions. - # Setting policy CMP0077 to NEW to remove unnecessary cache_variables settings. - if self.version < "1.9.0": - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" - protoc_path = os.path.join(self.dependencies["protobuf"].cpp_info.bindir, "protoc") tc.variables["PROTOBUF_EXECUTABLE"] = protoc_path.replace("\\", "/") tc.variables["HAS_POST_2038"] = self.settings.os != "Windows" @@ -137,7 +127,6 @@ def _patch_sources(self): "add_library (orc STATIC ${SOURCE_FILES})", "add_library (orc ${SOURCE_FILES})") def build(self): - self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/orc/config.yml b/recipes/orc/config.yml index ad011c33e6349..692bfaffff862 100644 --- a/recipes/orc/config.yml +++ b/recipes/orc/config.yml @@ -1,13 +1,7 @@ versions: - "2.0.0": - folder: all - "1.9.3": - folder: all - "1.9.2": + "2.0.3": folder: all - "1.8.7": - folder: all - "1.8.6": + "2.0.0": folder: all - "1.7.10": + "1.9.5": folder: all diff --git a/recipes/orcania/all/test_v1_package/CMakeLists.txt b/recipes/orcania/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 08501e6ccb845..0000000000000 --- a/recipes/orcania/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -find_package(Orcania REQUIRED CONFIG) - -option(ORCANIA_SHARED "Orcania is built as a shared library") - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -if(ORCANIA_SHARED) - target_link_libraries(${PROJECT_NAME} PRIVATE Orcania::Orcania) -else() - target_link_libraries(${PROJECT_NAME} PRIVATE Orcania::Orcania-static) -endif() diff --git a/recipes/orcania/all/test_v1_package/conanfile.py b/recipes/orcania/all/test_v1_package/conanfile.py deleted file mode 100644 index 79db5a07b9c06..0000000000000 --- a/recipes/orcania/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["ORCANIA_SHARED"] = self.options["orcania"].shared - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/osgearth/all/conanfile.py b/recipes/osgearth/all/conanfile.py index e916db567410d..1cbcbea3d337a 100644 --- a/recipes/osgearth/all/conanfile.py +++ b/recipes/osgearth/all/conanfile.py @@ -120,7 +120,7 @@ def requirements(self): if self.options.build_leveldb_cache: self.requires("leveldb/1.22") if self.options.build_rocksdb_cache: - self.requires("rocksdb/6.20.3") + self.requires("rocksdb/6.29.5") if self.options.build_zip_plugin: self.requires("zstd/1.5.5") # override if self.options.with_geos: diff --git a/recipes/osmanip/all/test_v1_package/CMakeLists.txt b/recipes/osmanip/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 426dbc1aa18df..0000000000000 --- a/recipes/osmanip/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/osmanip/all/test_v1_package/conanfile.py b/recipes/osmanip/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/osmanip/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ouster_sdk/all/conandata.yml b/recipes/ouster_sdk/all/conandata.yml index ba54e961b9268..47f1fc2c3a180 100644 --- a/recipes/ouster_sdk/all/conandata.yml +++ b/recipes/ouster_sdk/all/conandata.yml @@ -1,22 +1,24 @@ sources: - # The C++ library uses a separate versioning scheme from the overall releases + "0.13.0": + url: "https://github.com/ouster-lidar/ouster-sdk/archive/refs/tags/release-0.13.0.tar.gz" + sha256: "baf65fbf547375fe73fdaee89c6c1246fdf9f0cabe4f4bd16391d3a06d0117a1" "0.12.0": - url: "https://github.com/ouster-lidar/ouster_example/archive/refs/tags/20240703.tar.gz" - sha256: "aac9f82d8b8376bd11366204a57ab4e2a27e92a1a758238f2d3859e570be4914" + url: "https://github.com/ouster-lidar/ouster-sdk/archive/refs/tags/20240703.tar.gz" + sha256: "7edff33451e99fe094aeafc4c10081d77bfe02d2f2ab16da93a44a5e61473af7" "0.11.0": - url: "https://github.com/ouster-lidar/ouster_example/archive/refs/tags/20240425.tar.gz" - sha256: "f4f38f6787021e697633f2c290c95b544af81d388a18cb9f790234d4f592caf0" + url: "https://github.com/ouster-lidar/ouster-sdk/archive/refs/tags/20240425.tar.gz" + sha256: "8141abf4caef8a175a48c35c47bd841b34f8a7d758cb3ad66cf948a7042adbf9" "0.10.0": - url: "https://github.com/ouster-lidar/ouster_example/archive/refs/tags/20231031.tar.gz" - sha256: "150482d28930308ef089233f3d4eb15d1330727a167aad3f9b2190078dcecfbf" + url: "https://github.com/ouster-lidar/ouster-sdk/archive/refs/tags/20231031.tar.gz" + sha256: "c45dfd42ff11e171b605ffd0a98d8094ec88ecbbccb923d396e1e73cba7737f3" patches: "0.11.0": - patch_file: "patches/001-579-fix-cpp20-string-error.patch" patch_type: "portability" patch_description: "Fix non-const string issue with C++20" - patch_source: "https://github.com/ouster-lidar/ouster_example/pull/579" + patch_source: "https://github.com/ouster-lidar/ouster-sdk/pull/579" "0.10.0": - patch_file: "patches/001-579-fix-cpp20-string-error.patch" patch_type: "portability" patch_description: "Fix non-const string issue with C++20" - patch_source: "https://github.com/ouster-lidar/ouster_example/pull/579" + patch_source: "https://github.com/ouster-lidar/ouster-sdk/pull/579" diff --git a/recipes/ouster_sdk/all/conanfile.py b/recipes/ouster_sdk/all/conanfile.py index 2c133d0062741..7362559ac775c 100644 --- a/recipes/ouster_sdk/all/conanfile.py +++ b/recipes/ouster_sdk/all/conanfile.py @@ -15,7 +15,7 @@ class OusterSdkConan(ConanFile): description = "Ouster SDK - tools for working with Ouster Lidars" license = "BSD 3-Clause" url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/ouster-lidar/ouster_example" + homepage = "https://github.com/ouster-lidar/ouster-sdk" topics = ("ouster", "lidar", "driver", "hardware", "point cloud", "3d", "robotics", "automotive") package_type = "library" @@ -98,8 +98,6 @@ def requirements(self): if self.options.build_viz: self.requires("glad/0.1.36") self.requires("glfw/3.4") - if self.settings.os != "Windows": - self.requires("xorg/system") def validate(self): if conan_version.major < 2 and self.settings.os == "Windows": @@ -212,8 +210,6 @@ def package_info(self): "glad::glad", "glfw::glfw", ] - if self.settings.os != "Windows": - self.cpp_info.components["ouster_viz"].requires.append("xorg::xorg") # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "OusterSDK" diff --git a/recipes/ouster_sdk/config.yml b/recipes/ouster_sdk/config.yml index d87e034bb9160..4f1ab3799faec 100644 --- a/recipes/ouster_sdk/config.yml +++ b/recipes/ouster_sdk/config.yml @@ -1,4 +1,6 @@ versions: + "0.13.0": + folder: all "0.12.0": folder: all "0.11.0": diff --git a/recipes/out_ptr/all/test_v1_package/CMakeLists.txt b/recipes/out_ptr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/out_ptr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/out_ptr/all/test_v1_package/conanfile.py b/recipes/out_ptr/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/out_ptr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/p-ranav-glob/all/test_v1_package/CMakeLists.txt b/recipes/p-ranav-glob/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/p-ranav-glob/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/p-ranav-glob/all/test_v1_package/conanfile.py b/recipes/p-ranav-glob/all/test_v1_package/conanfile.py deleted file mode 100644 index 6c9d5dba712c7..0000000000000 --- a/recipes/p-ranav-glob/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/p7zip/all/test_v1_package/conanfile.py b/recipes/p7zip/all/test_v1_package/conanfile.py deleted file mode 100644 index 58d9c6f21e0ce..0000000000000 --- a/recipes/p7zip/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,9 +0,0 @@ -from conans import ConanFile, tools - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not tools.cross_building(self): - self.run("7za", run_environment=True) diff --git a/recipes/pagmo2/all/test_v1_package/CMakeLists.txt b/recipes/pagmo2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pagmo2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pagmo2/all/test_v1_package/conanfile.py b/recipes/pagmo2/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/pagmo2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pagmo2/pre_2.11/test_v1_package/CMakeLists.txt b/recipes/pagmo2/pre_2.11/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pagmo2/pre_2.11/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pagmo2/pre_2.11/test_v1_package/conanfile.py b/recipes/pagmo2/pre_2.11/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/pagmo2/pre_2.11/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/paho-mqtt-c/all/test_v1_package/CMakeLists.txt b/recipes/paho-mqtt-c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/paho-mqtt-c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/paho-mqtt-c/all/test_v1_package/conanfile.py b/recipes/paho-mqtt-c/all/test_v1_package/conanfile.py deleted file mode 100644 index d8c4480cdc666..0000000000000 --- a/recipes/paho-mqtt-c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["PAHO_MQTT_C_ASYNC"] = self.options["paho-mqtt-c"].asynchronous - cmake.definitions["PAHO_MQTT_C_WITH_SSL"] = self.options["paho-mqtt-c"].ssl - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/paho-mqtt-cpp/all/conandata.yml b/recipes/paho-mqtt-cpp/all/conandata.yml index 33f16cd0bbad8..e14c99ec20579 100644 --- a/recipes/paho-mqtt-cpp/all/conandata.yml +++ b/recipes/paho-mqtt-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.1": + url: "https://github.com/eclipse/paho.mqtt.cpp/archive/v1.4.1.tar.gz" + sha256: "48e7ba6e1032aa73e4d985a7387e02a77cc5807a8420d16790b84b941d86374e" "1.4.0": url: "https://github.com/eclipse/paho.mqtt.cpp/archive/v1.4.0.tar.gz" sha256: "758c504b585402fbeb47822e52897239bbd53b4236ac3908cc040e09d2a8d8e1" @@ -9,6 +12,10 @@ sources: url: "https://github.com/eclipse/paho.mqtt.cpp/archive/v1.2.0.tar.gz" sha256: "435e97e4d5b1da13daa26cadd3e83fe9d154930abaa78b8ff1b8c854b5345d8b" patches: + "1.4.1": + - patch_file: "patches/1.4.1-0001-fix-cmake.patch" + patch_description: "CMake: Honor fPIC option" + patch_type: "conan" "1.4.0": - patch_file: "patches/1.4.0-0001-fix-cmake.patch" patch_description: "CMake: Honor fPIC option" diff --git a/recipes/paho-mqtt-cpp/all/patches/1.4.1-0001-fix-cmake.patch b/recipes/paho-mqtt-cpp/all/patches/1.4.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..2a2ea837355aa --- /dev/null +++ b/recipes/paho-mqtt-cpp/all/patches/1.4.1-0001-fix-cmake.patch @@ -0,0 +1,21 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -107,7 +107,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) + + # Generate position-independent code (-fPIC on UNIX) +-set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++# set(CMAKE_POSITION_INDEPENDENT_CODE ON) + + # --- System Details --- + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -68,6 +68,7 @@ if(PAHO_BUILD_SHARED) + set_target_properties(paho-mqttpp3 PROPERTIES + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR} ++ POSITION_INDEPENDENT_CODE ON + ) + endif() + diff --git a/recipes/paho-mqtt-cpp/all/test_v1_package/CMakeLists.txt b/recipes/paho-mqtt-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/paho-mqtt-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/paho-mqtt-cpp/all/test_v1_package/conanfile.py b/recipes/paho-mqtt-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/paho-mqtt-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/paho-mqtt-cpp/config.yml b/recipes/paho-mqtt-cpp/config.yml index 4866c5bc21cde..cc08f3a574b59 100644 --- a/recipes/paho-mqtt-cpp/config.yml +++ b/recipes/paho-mqtt-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.1": + folder: "all" "1.4.0": folder: "all" "1.3.2": diff --git a/recipes/pango/all/test_v1_package/CMakeLists.txt b/recipes/pango/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pango/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pango/all/test_v1_package/conanfile.py b/recipes/pango/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/pango/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/panzi-portable-endian/all/test_v1_package/CMakeLists.txt b/recipes/panzi-portable-endian/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/panzi-portable-endian/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/panzi-portable-endian/all/test_v1_package/conanfile.py b/recipes/panzi-portable-endian/all/test_v1_package/conanfile.py deleted file mode 100644 index abcaeed3f89b6..0000000000000 --- a/recipes/panzi-portable-endian/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/parallel-hashmap/all/conandata.yml b/recipes/parallel-hashmap/all/conandata.yml index fe8f8190da453..1162046b50c49 100644 --- a/recipes/parallel-hashmap/all/conandata.yml +++ b/recipes/parallel-hashmap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.1": + url: "https://github.com/greg7mdp/parallel-hashmap/archive/refs/tags/v1.4.1.tar.gz" + sha256: "949874f4207b8735422438b23b884fb1f4b926689bb5eebff38cc4d357d09cd2" "1.4.0": url: "https://github.com/greg7mdp/parallel-hashmap/archive/refs/tags/v1.4.0.tar.gz" sha256: "766e05d19c27d9c09e6f9a627868daf451f4fbdd1b617f1bb875fb9402bfb78b" diff --git a/recipes/parallel-hashmap/all/conanfile.py b/recipes/parallel-hashmap/all/conanfile.py index 5f3e3f51ac110..2714a6823c9e0 100644 --- a/recipes/parallel-hashmap/all/conanfile.py +++ b/recipes/parallel-hashmap/all/conanfile.py @@ -12,9 +12,9 @@ class ParallelHashmapConan(ConanFile): name = "parallel-hashmap" description = "A family of header-only, very fast and memory-friendly hashmap and btree containers." license = "Apache-2.0" - topics = ("parallel", "hashmap", "btree") - homepage = "https://github.com/greg7mdp/parallel-hashmap" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/greg7mdp/parallel-hashmap" + topics = ("parallel", "hashmap", "btree", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -32,9 +32,6 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def build(self): - pass - def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) copy(self, "*.h", src=os.path.join(self.source_folder, "parallel_hashmap"), diff --git a/recipes/parallel-hashmap/all/test_v1_package/CMakeLists.txt b/recipes/parallel-hashmap/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 35b992baf41ca..0000000000000 --- a/recipes/parallel-hashmap/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(phmap REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE phmap) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/parallel-hashmap/all/test_v1_package/conanfile.py b/recipes/parallel-hashmap/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/parallel-hashmap/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/parallel-hashmap/config.yml b/recipes/parallel-hashmap/config.yml index d28a92f6fa7b6..82038b86a3657 100644 --- a/recipes/parallel-hashmap/config.yml +++ b/recipes/parallel-hashmap/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.1": + folder: all "1.4.0": folder: all "1.3.12": diff --git a/recipes/parg/all/test_v1_package/CMakeLists.txt b/recipes/parg/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/parg/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/parg/all/test_v1_package/conanfile.py b/recipes/parg/all/test_v1_package/conanfile.py deleted file mode 100644 index 86f0279553123..0000000000000 --- a/recipes/parg/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run("%s -h" % bin_path, run_environment=True) diff --git a/recipes/parson/all/test_v1_package/CMakeLists.txt b/recipes/parson/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/parson/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/parson/all/test_v1_package/conanfile.py b/recipes/parson/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/parson/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/patchelf/all/test_v1_package/conanfile.py b/recipes/patchelf/all/test_v1_package/conanfile.py deleted file mode 100644 index 7effccfd4383a..0000000000000 --- a/recipes/patchelf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,9 +0,0 @@ -from conans import ConanFile, CMake, tools - - -class TestPackageV1Conan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - - def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - self.run("patchelf --version", run_environment=True) diff --git a/recipes/pbc/all/test_v1_package/CMakeLists.txt b/recipes/pbc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pbc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pbc/all/test_v1_package/conanfile.py b/recipes/pbc/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/pbc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pbtools/all/test_v1_package/CMakeLists.txt b/recipes/pbtools/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pbtools/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pbtools/all/test_v1_package/conanfile.py b/recipes/pbtools/all/test_v1_package/conanfile.py deleted file mode 100644 index 1ed584307b354..0000000000000 --- a/recipes/pbtools/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,25 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class PbtoolsTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build_requirements(self): - if self.settings.os == "Macos" and self.settings.arch == "armv8": - # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being - # set. This could be because you are using a Mac OS X version less than 10.5 - # or because CMake's platform configuration is corrupt. - self.build_requires("cmake/3.20.1") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pcapplusplus/all/test_v1_package/CMakeLists.txt b/recipes/pcapplusplus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/pcapplusplus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pcapplusplus/all/test_v1_package/conanfile.py b/recipes/pcapplusplus/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/pcapplusplus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pcapplusplus/cmake/conandata.yml b/recipes/pcapplusplus/cmake/conandata.yml index 26ff7631cb671..ea13a0a560ea1 100644 --- a/recipes/pcapplusplus/cmake/conandata.yml +++ b/recipes/pcapplusplus/cmake/conandata.yml @@ -2,3 +2,6 @@ sources: "23.09": url: "https://github.com/seladb/PcapPlusPlus/archive/v23.09.tar.gz" sha256: "608292f7d2a2e1b7af26adf89347597a6131547eea4e513194bc4f584a40fe74" + "24.09": + url: "https://github.com/seladb/PcapPlusPlus/archive/v24.09.tar.gz" + sha256: "b14998ecf5718c2bfb6f709060e53f7ef67639b98bf2222a3cd23d820d70acdc" diff --git a/recipes/pcapplusplus/cmake/conanfile.py b/recipes/pcapplusplus/cmake/conanfile.py index e1a985494deda..cea459f86eeb8 100644 --- a/recipes/pcapplusplus/cmake/conanfile.py +++ b/recipes/pcapplusplus/cmake/conanfile.py @@ -1,30 +1,39 @@ import os from conan import ConanFile +from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout -from conan.tools.files import copy, get, rmdir +from conan.tools.files import copy, get, rmdir, replace_in_file +from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration required_conan_version = ">=1.52.0" + class PcapplusplusConan(ConanFile): name = "pcapplusplus" - package_type = "static-library" license = "Unlicense" description = "PcapPlusPlus is a multiplatform C++ library for capturing, parsing and crafting of network packets" topics = ("pcap", "network", "security", "packet") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/seladb/PcapPlusPlus" settings = "os", "arch", "build_type", "compiler" + package_type = "library" options = { - "immediate_mode": [True, False], "fPIC": [True, False], + "shared": [True, False], + "immediate_mode": [True, False], } default_options = { - "immediate_mode": False, "fPIC": True, + "shared": False, + "immediate_mode": False, } + @property + def _min_cppstd(self): + return 11 + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -34,11 +43,26 @@ def requirements(self): self.requires("npcap/1.70") else: self.requires("libpcap/1.10.1") + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") def validate(self): + if Version(self.version) <= "24.09" and self.options.shared and self.settings.os == "Windows": + # https://github.com/seladb/PcapPlusPlus/issues/1396 + raise ConanInvalidConfiguration(f"{self.ref} does not support Windows shared builds for now") + if self.settings.compiler.cppstd: + # popen()/pclose() usage + check_min_cppstd(self, self._min_cppstd) if self.settings.os not in ("FreeBSD", "Linux", "Macos", "Windows"): raise ConanInvalidConfiguration(f"{self.settings.os} is not supported") + def validate_build(self): + compiler_version = Version(self.settings.compiler.version) + if self.settings.compiler == "gcc" and compiler_version < "5.1": + raise ConanInvalidConfiguration("PcapPlusPlus requires GCC >= 5.1") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -46,12 +70,25 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["PCAPPP_BUILD_TESTS"] = False tc.variables["PCAPPP_BUILD_EXAMPLES"] = False + tc.variables["BUILD_SHARED_LIBS"] = self.options.shared + if not self.settings.compiler.cppstd: + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd tc.generate() def layout(self): cmake_layout(self, src_folder="src") + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set(CMAKE_CXX_STANDARD 11)", + "") + if Version(self.version) >= "24.09": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set(CMAKE_POSITION_INDEPENDENT_CODE ON)", + "") + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() @@ -69,5 +106,7 @@ def package_info(self): self.cpp_info.frameworks = ["CoreFoundation", "SystemConfiguration"] elif self.settings.os == "Windows": self.cpp_info.system_libs = ["ws2_32", "iphlpapi"] + elif self.settings.os in ("Linux", "FreeBSD"): + self.cpp_info.system_libs = ["pthread"] self.cpp_info.set_property("cmake_file_name", "PcapPlusPlus") self.cpp_info.set_property("cmake_target_name", "PcapPlusPlus::PcapPlusPlus") diff --git a/recipes/pcapplusplus/config.yml b/recipes/pcapplusplus/config.yml index d89c980a8be55..7a6e7c1c1ffa6 100644 --- a/recipes/pcapplusplus/config.yml +++ b/recipes/pcapplusplus/config.yml @@ -9,3 +9,5 @@ versions: folder: all "23.09": folder: cmake + "24.09": + folder: cmake diff --git a/recipes/pcg-cpp/all/test_v1_package/CMakeLists.txt b/recipes/pcg-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index d1cca9abb1563..0000000000000 --- a/recipes/pcg-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(pcg-cpp REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE pcg-cpp::pcg-cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/pcg-cpp/all/test_v1_package/conanfile.py b/recipes/pcg-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/pcg-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pciutils/all/test_v1_package/CMakeLists.txt b/recipes/pciutils/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pciutils/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pciutils/all/test_v1_package/conanfile.py b/recipes/pciutils/all/test_v1_package/conanfile.py deleted file mode 100644 index 2978938836233..0000000000000 --- a/recipes/pciutils/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class CAresTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/pcl/all/conandata.yml b/recipes/pcl/all/conandata.yml index 6eea92ef4a761..d2277ffc87cc0 100644 --- a/recipes/pcl/all/conandata.yml +++ b/recipes/pcl/all/conandata.yml @@ -4,16 +4,20 @@ sources: sha256: 8ab98a9db371d822de0859084a375a74bdc7f31c96d674147710cf4101b79621 patches: "1.13.1": - - patch_file: "patches/0001-cmake_use_conan_targets.patch" + - patch_file: "patches/1.13.1-0001-cmake_use_conan_targets.patch" patch_description: "Update PCL CMake files to work with Conan" patch_type: "conan" - - patch_file: "patches/0001-fix-FindOpenNI-bug.patch" + - patch_file: "patches/1.13.1-0002-fix-FindOpenNI-bug.patch" patch_description: "Fix a libusb detection bug in FindOpenNI.cmake" patch_type: "bugfix" - - patch_file: "patches/0001-Add-Eigen3-Eigen-target-in-pcl_common-target.patch" + - patch_file: "patches/1.13.1-0003-Add-Eigen3-Eigen-target-in-pcl_common-target.patch" patch_description: "Add Eigen3::Eigen target to pcl_common target" patch_type: "conan" - - patch_file: "patches/0001-ReportFixAboutMemoryConsumptionDuringBuild.patch" + - patch_file: "patches/1.13.1-0004-ReportFixAboutMemoryConsumptionDuringBuild.patch" patch_description: "MovingLeastSquares: reduce the number of instantiations to reduce compile time" patch_source: "https://github.com/PointCloudLibrary/pcl/pull/5764" patch_type: "conan" + - patch_file: "patches/1.13.1-0005-ply_parser-include-functional.patch" + patch_description: "Fix missing functional include in ply_parser.h" + patch_source: "https://github.com/PointCloudLibrary/pcl/pull/5964" + patch_type: "portability" diff --git a/recipes/pcl/all/patches/0001-cmake_use_conan_targets.patch b/recipes/pcl/all/patches/1.13.1-0001-cmake_use_conan_targets.patch similarity index 100% rename from recipes/pcl/all/patches/0001-cmake_use_conan_targets.patch rename to recipes/pcl/all/patches/1.13.1-0001-cmake_use_conan_targets.patch diff --git a/recipes/pcl/all/patches/0001-fix-FindOpenNI-bug.patch b/recipes/pcl/all/patches/1.13.1-0002-fix-FindOpenNI-bug.patch similarity index 100% rename from recipes/pcl/all/patches/0001-fix-FindOpenNI-bug.patch rename to recipes/pcl/all/patches/1.13.1-0002-fix-FindOpenNI-bug.patch diff --git a/recipes/pcl/all/patches/0001-Add-Eigen3-Eigen-target-in-pcl_common-target.patch b/recipes/pcl/all/patches/1.13.1-0003-Add-Eigen3-Eigen-target-in-pcl_common-target.patch similarity index 100% rename from recipes/pcl/all/patches/0001-Add-Eigen3-Eigen-target-in-pcl_common-target.patch rename to recipes/pcl/all/patches/1.13.1-0003-Add-Eigen3-Eigen-target-in-pcl_common-target.patch diff --git a/recipes/pcl/all/patches/0001-ReportFixAboutMemoryConsumptionDuringBuild.patch b/recipes/pcl/all/patches/1.13.1-0004-ReportFixAboutMemoryConsumptionDuringBuild.patch similarity index 100% rename from recipes/pcl/all/patches/0001-ReportFixAboutMemoryConsumptionDuringBuild.patch rename to recipes/pcl/all/patches/1.13.1-0004-ReportFixAboutMemoryConsumptionDuringBuild.patch diff --git a/recipes/pcl/all/patches/1.13.1-0005-ply_parser-include-functional.patch b/recipes/pcl/all/patches/1.13.1-0005-ply_parser-include-functional.patch new file mode 100644 index 0000000000000..14a4a99db8a78 --- /dev/null +++ b/recipes/pcl/all/patches/1.13.1-0005-ply_parser-include-functional.patch @@ -0,0 +1,21 @@ +From 61b2e8e5336d7d8b0e1ae7c1168035faa083310b Mon Sep 17 00:00:00 2001 +From: Transporter +Date: Sun, 18 Feb 2024 10:38:12 +0100 +Subject: [PATCH] Fix missing include (#5962) + +--- + io/include/pcl/io/ply/ply_parser.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/io/include/pcl/io/ply/ply_parser.h b/io/include/pcl/io/ply/ply_parser.h +index 3023d566607..244f3719506 100644 +--- a/io/include/pcl/io/ply/ply_parser.h ++++ b/io/include/pcl/io/ply/ply_parser.h +@@ -49,6 +49,7 @@ + #include + #include + #include ++#include + #include // for lexical_cast + #include // for fold + #include // for inherit diff --git a/recipes/pcre/all/test_v1_package/CMakeLists.txt b/recipes/pcre/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 35d9bf22ada5f..0000000000000 --- a/recipes/pcre/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(PCRE REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE PCRE::PCRE) diff --git a/recipes/pcre/all/test_v1_package/conanfile.py b/recipes/pcre/all/test_v1_package/conanfile.py deleted file mode 100644 index 5ffb0c5afa8b0..0000000000000 --- a/recipes/pcre/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - arguments = "{}w+ conan-center-index".format("\\" if self.settings.os == "Windows" else "\\\\") - self.run(f"{bin_path} {arguments}", run_environment=True) diff --git a/recipes/pcre2/all/conandata.yml b/recipes/pcre2/all/conandata.yml index e8c76deba6361..a7d2c38f2c564 100644 --- a/recipes/pcre2/all/conandata.yml +++ b/recipes/pcre2/all/conandata.yml @@ -40,11 +40,20 @@ sources: - "https://sourceforge.net/projects/pcre/files/pcre2/10.32/pcre2-10.32.tar.bz2" sha256: "f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e" patches: + "10.42": + - patch_file: "patches/0002-fix-cmake-c-std.patch" + patch_description: "make the C99 requirement explicit" + patch_type: "conan" + patch_source: "https://github.com/PCRE2Project/pcre2/pull/193" "10.40": - patch_file: "patches/0001-fix-cmake-1.39.patch" patch_description: "correct the order of cmake_minimum_required() and project()" patch_type: "conan" patch_source: "https://github.com/PCRE2Project/pcre2/pull/142" + - patch_file: "patches/0002-fix-cmake-c-std.patch" + patch_description: "make the C99 requirement explicit" + patch_type: "conan" + patch_source: "https://github.com/PCRE2Project/pcre2/pull/193" "10.39": - patch_file: "patches/0001-fix-cmake-1.39.patch" patch_description: "correct the order of cmake_minimum_required() and project()" diff --git a/recipes/pcre2/all/patches/0002-fix-cmake-c-std.patch b/recipes/pcre2/all/patches/0002-fix-cmake-c-std.patch new file mode 100644 index 0000000000000..e75faef54f312 --- /dev/null +++ b/recipes/pcre2/all/patches/0002-fix-cmake-c-std.patch @@ -0,0 +1,52 @@ +From 12b0e40ee4556318e5a0da3155f28bdfd7c5bc35 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Carlo=20Marcelo=20Arenas=20Bel=C3=B3n?= +Date: Sun, 15 Jan 2023 14:38:44 -0800 +Subject: [PATCH] build: make the C99 requirement explicit + +Recent code uses C99 syntax (as reported in #163, and therefore it +will fail to build unless C99 (or higher) support is required by the +compiler (gcc >= 5 does it by default). + +For those unfortunate to need an older compiler that does require a +flag to enable that, make sure that both autoconf and cmake make it +explicit. + +While testing the change with the ancient autoconf version listed as +a prerequisite, noticed that the LT_INIT syntax introduced with 91485e5 +(Update configure.ac for latest version of autoconf., 2021-02-02), was +not supported, so update the autoconf minimum as well. +--- + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cec7dfb4..a8147575 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -107,1 +107,3 @@ + PROJECT(PCRE2 C) ++set(CMAKE_C_STANDARD 99) ++set(CMAKE_C_STANDARD_REQUIRED TRUE) + + # Set policy CMP0026 to avoid warnings for the use of LOCATION in + # GET_TARGET_PROPERTY. This should no longer be required. +diff --git a/configure.ac b/configure.ac +index ce5bda3c..67b2fdce 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,7 +22,7 @@ m4_define(libpcre2_posix_version, [3:4:0]) + # NOTE: The CMakeLists.txt file searches for the above variables in the first + # 50 lines of this file. Please update that if the variables above are moved. + +-AC_PREREQ([2.60]) ++AC_PREREQ([2.62]) + AC_INIT([PCRE2],pcre2_major.pcre2_minor[]pcre2_prerelease,[],[pcre2]) + AC_CONFIG_SRCDIR([src/pcre2.h.in]) + AM_INIT_AUTOMAKE([dist-bzip2 dist-zip]) +@@ -42,7 +42,7 @@ AC_CONFIG_MACRO_DIR([m4]) + + remember_set_CFLAGS="$CFLAGS" + +-AC_PROG_CC ++m4_version_prereq(2.70, [AC_PROG_CC], [AC_PROG_CC_C99]) + AM_PROG_CC_C_O + AC_USE_SYSTEM_EXTENSIONS + diff --git a/recipes/pcre2/all/test_v1_package/CMakeLists.txt b/recipes/pcre2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/pcre2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/pcre2/all/test_v1_package/conanfile.py b/recipes/pcre2/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/pcre2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pdcurses/all/test_v1_package/CMakeLists.txt b/recipes/pdcurses/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pdcurses/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pdcurses/all/test_v1_package/conanfile.py b/recipes/pdcurses/all/test_v1_package/conanfile.py deleted file mode 100644 index 3f4a9f50f389e..0000000000000 --- a/recipes/pdcurses/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pdfgen/all/test_v1_package/CMakeLists.txt b/recipes/pdfgen/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/pdfgen/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pdfgen/all/test_v1_package/conanfile.py b/recipes/pdfgen/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/pdfgen/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pdfium/all/conanfile.py b/recipes/pdfium/all/conanfile.py index 7a5488384bc9e..4e4268e4ab4a3 100644 --- a/recipes/pdfium/all/conanfile.py +++ b/recipes/pdfium/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): def requirements(self): self.requires("freetype/2.13.2") self.requires("icu/74.1") - self.requires("lcms/2.14") + self.requires("lcms/2.16") self.requires("openjpeg/2.5.0") self.requires("zlib/[>=1.2.11 <2]") if self.options.with_libjpeg == "libjpeg": diff --git a/recipes/pdfium/all/test_v1_package/CMakeLists.txt b/recipes/pdfium/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pdfium/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pdfium/all/test_v1_package/conanfile.py b/recipes/pdfium/all/test_v1_package/conanfile.py deleted file mode 100644 index 4c2f046547705..0000000000000 --- a/recipes/pdfium/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools -from conan.tools.build import cross_building - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pdqsort/all/test_v1_package/CMakeLists.txt b/recipes/pdqsort/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b21cc49efde95..0000000000000 --- a/recipes/pdqsort/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/pdqsort/all/test_v1_package/conanfile.py b/recipes/pdqsort/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/pdqsort/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/perf/all/test_v1_package/conanfile.py b/recipes/perf/all/test_v1_package/conanfile.py deleted file mode 100644 index 4001f8991b676..0000000000000 --- a/recipes/perf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,9 +0,0 @@ -from conans import ConanFile, tools - - -class TestPackage(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not tools.cross_building(self): - self.run("perf version") diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index ba5f88c572d8d..c8178a3bde6b9 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "48.1": + url: "https://github.com/google/perfetto/archive/refs/tags/v48.1.tar.gz" + sha256: "8d1c6bf44f1bdb098ab70cd60da3ce6b6e731e4eb21dd52b2527cbdcf85d984d" "47.0": url: "https://github.com/google/perfetto/archive/refs/tags/v47.0.tar.gz" sha256: "9bbd38a0f074038bde6ccbcf5f2ff32587eb60faec254932268ecb6f17f18186" @@ -20,43 +23,3 @@ sources: "40.0": url: "https://github.com/google/perfetto/archive/refs/tags/v40.0.tar.gz" sha256: "bd78f0165e66026c31c8c39221ed2863697a8bba5cd39b12e4b43d0b7f71626f" - "39.0": - url: "https://github.com/google/perfetto/archive/refs/tags/v39.0.tar.gz" - sha256: "241cbaddc9ff4e5d1de2d28497fef40b5510e9ca60808815bf4944d0d2f026db" - "38.0": - url: "https://github.com/google/perfetto/archive/refs/tags/v38.0.tar.gz" - sha256: "92160b0fbeb8c4992cc0690d832dd923cee1dda466f3364ef4ed26a835e55e40" - "37.0": - url: "https://github.com/google/perfetto/archive/refs/tags/v37.0.tar.gz" - sha256: "39d7b3635834398828cfd189bd61afb0657ca2a3a08efbfd9866bfbcd440810b" - "35.0": - url: "https://github.com/google/perfetto/archive/refs/tags/v35.0.tar.gz" - sha256: "224b6552e60ad0fc7c1447bdf719ddd9ceceaf2b6773b71541c21df5890f4166" - "34.0": - url: "https://github.com/google/perfetto/archive/refs/tags/v34.0.tar.gz" - sha256: "81dbf2fac446a0389c80e309b2060dcccd926012ce2a61621a47e3e432aee8c1" - "32.1": - url: "https://github.com/google/perfetto/archive/refs/tags/v32.1.tar.gz" - sha256: "0d1088b4758b3d5f3813178c6de22386329d42407d23aa1479f20dce96e49d78" - "31.0": - url: "https://github.com/google/perfetto/archive/refs/tags/v31.0.tar.gz" - sha256: "544c68293590f53391ea4267d5a9b1a4594e1c8216fc5f5ce9d0f1227797922e" - "30.0": - url: "https://github.com/google/perfetto/archive/refs/tags/v30.0.tar.gz" - sha256: "d1883793a2adb2a4105fc083478bf781badd566d72da45caa99095b61f938a2e" - "27.1": - url: "https://github.com/google/perfetto/archive/refs/tags/v27.1.tar.gz" - sha256: "9edbafd6e2d9feaced4c0153e2f48dbb1da38429c5b1b17dfee70a91fd3101b2" - "27.0": - url: "https://github.com/google/perfetto/archive/refs/tags/v27.0.tar.gz" - sha256: "c22750dd21419cf58132d55d634b88d9947bd0c7244dd98854b0248c7637a98c" - "26.1": - url: "https://github.com/google/perfetto/archive/refs/tags/v26.1.tar.gz" - sha256: "cce387e82e2a137fce2eba927f80f20407764b77637a1a92b9b24065a500ce6d" -patches: - "31.0": - - patch_file: "patches/v31.0/0001-tracing-fix-compile-on-MSVC.patch" - patch_description: "Fix compilation on MSVC" - patch_type: "backport" - patch_source: "https://android-review.googlesource.com/c/platform/external/perfetto/+/2355222" - sha256: "ad253a9bba3941bd8d1f206422d60eb1c06cb6d75d60eff5b5b8ae0f2ec7e15c" diff --git a/recipes/perfetto/all/conanfile.py b/recipes/perfetto/all/conanfile.py index 53a602bd0b160..d311c92822b0a 100644 --- a/recipes/perfetto/all/conanfile.py +++ b/recipes/perfetto/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.files import copy, get from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os @@ -33,21 +33,20 @@ class PerfettoConan(ConanFile): @property def _minimum_cpp_standard(self): - return 11 if Version(self.version) < "31.0" else 17 + return 17 @property def _minimum_compilers_version(self): return { - "Visual Studio": "15" if Version(self.version) < "31.0" else "16", + "Visual Studio": "16" if Version(self.version) < "48.0" else "17", "msvc": "190", "gcc": "7", - "clang": "3.3" if Version(self.version) < "31.0" else "5", - "apple-clang": "5.0" if Version(self.version) < "31.0" else "9.1", + "clang": "5", + "apple-clang": "9.1", } def export_sources(self): copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) - export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -88,7 +87,6 @@ def generate(self): tc.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) cmake.build() diff --git a/recipes/perfetto/all/test_package/CMakeLists.txt b/recipes/perfetto/all/test_package/CMakeLists.txt index ad42eab5529ea..aa0641bc5d473 100644 --- a/recipes/perfetto/all/test_package/CMakeLists.txt +++ b/recipes/perfetto/all/test_package/CMakeLists.txt @@ -4,9 +4,5 @@ project(test_package LANGUAGES CXX) find_package(perfetto REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -if(perfetto_VERSION VERSION_LESS "31.0") - target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) -else() - target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) -endif() +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) target_link_libraries(${PROJECT_NAME} PRIVATE perfetto::perfetto) diff --git a/recipes/perfetto/all/test_v1_package/CMakeLists.txt b/recipes/perfetto/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/perfetto/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/perfetto/all/test_v1_package/conanfile.py b/recipes/perfetto/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/perfetto/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index 3e962804da06e..f5d0172738aad 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "48.1": + folder: all "47.0": folder: all "45.0": @@ -13,25 +15,3 @@ versions: folder: all "40.0": folder: all - "39.0": - folder: all - "38.0": - folder: all - "37.0": - folder: all - "35.0": - folder: all - "34.0": - folder: all - "32.1": - folder: all - "31.0": - folder: all - "30.0": - folder: all - "27.1": - folder: all - "27.0": - folder: all - "26.1": - folder: all diff --git a/recipes/perlinnoise/all/test_v1_package/CMakeLists.txt b/recipes/perlinnoise/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/perlinnoise/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/perlinnoise/all/test_v1_package/conanfile.py b/recipes/perlinnoise/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/perlinnoise/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pexports/all/test_v1_package/CMakeLists.txt b/recipes/pexports/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pexports/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pexports/all/test_v1_package/conanfile.py b/recipes/pexports/all/test_v1_package/conanfile.py deleted file mode 100644 index ecb888f16f156..0000000000000 --- a/recipes/pexports/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,26 +0,0 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanException -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - if self.settings.os == "Windows": - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - self.run("pexports -H", run_environment=True) - if self.settings.os == "Windows": - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - exports_def_path = os.path.join(self.build_folder, "exports.def") - exports_def_contents = tools.load(exports_def_path) - self.output.info("{} contents:\n{}".format(exports_def_path, exports_def_contents)) - if not "test_package_function" in exports_def_contents: - raise ConanException("pexport could not detect `test_package_function` in the dll") diff --git a/recipes/pffft/all/test_v1_package/CMakeLists.txt b/recipes/pffft/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/pffft/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/pffft/all/test_v1_package/conanfile.py b/recipes/pffft/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/pffft/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pfr/all/test_v1_package/CMakeLists.txt b/recipes/pfr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 700251d5bc8f3..0000000000000 --- a/recipes/pfr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1.0) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pfr/all/test_v1_package/conanfile.py b/recipes/pfr/all/test_v1_package/conanfile.py deleted file mode 100644 index c3a9c315455ca..0000000000000 --- a/recipes/pfr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -from conans.tools import Version -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["PfrMajorVersion"] = Version( - self.deps_cpp_info["pfr"].version).major - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pgm-index/all/test_v1_package/CMakeLists.txt b/recipes/pgm-index/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/pgm-index/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/pgm-index/all/test_v1_package/conanfile.py b/recipes/pgm-index/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/pgm-index/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/physfs/all/test_v1_package/CMakeLists.txt b/recipes/physfs/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/physfs/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/physfs/all/test_v1_package/conanfile.py b/recipes/physfs/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/physfs/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/physx/4.x.x/test_v1_package/CMakeLists.txt b/recipes/physx/4.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index e6ab5b97e050a..0000000000000 --- a/recipes/physx/4.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(PhysX REQUIRED PhysX PhysXExtensions CONFIG) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PhysX::PhysX PhysX::PhysXExtensions) - -option(TEST_SHARED_LIBRARY "Build a test shared library") -if(TEST_SHARED_LIBRARY) - find_package(PhysX REQUIRED PhysXFoundation) - add_library(${PROJECT_NAME}_lib SHARED test_library.cpp) - target_link_libraries(${PROJECT_NAME}_lib PhysX::PhysXFoundation PhysX::PhysXExtensions) -endif() diff --git a/recipes/physx/4.x.x/test_v1_package/conanfile.py b/recipes/physx/4.x.x/test_v1_package/conanfile.py deleted file mode 100644 index 4cdfb6a5e4042..0000000000000 --- a/recipes/physx/4.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["TEST_SHARED_LIBRARY"] = True if "fPIC" not in self.options["physx"].fields else self.options["physx"].fPIC - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/physx/4.x.x/test_v1_package/test_library.cpp b/recipes/physx/4.x.x/test_v1_package/test_library.cpp deleted file mode 100644 index dbd8a536f547c..0000000000000 --- a/recipes/physx/4.x.x/test_v1_package/test_library.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "PxConfig.h" -#include "PxPhysicsAPI.h" - -using namespace physx; - -#if defined(_WINDOWS) -#include - -BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { - return TRUE; -} - -#define EXPORTS __declspec(dllexport) -#else -#define EXPORTS -#endif - -PxDefaultAllocator gAllocator; -PxDefaultErrorCallback gErrorCallback; - -EXPORTS -void some_func(void) { - PxFoundation *gFoundation = PxCreateFoundation(PX_PHYSICS_VERSION, gAllocator, gErrorCallback); - gFoundation->release(); -} diff --git a/recipes/physx/4.x.x/test_v1_package/test_package.cpp b/recipes/physx/4.x.x/test_v1_package/test_package.cpp deleted file mode 100644 index 984f48894974c..0000000000000 --- a/recipes/physx/4.x.x/test_v1_package/test_package.cpp +++ /dev/null @@ -1,143 +0,0 @@ -#include - -#include "PxConfig.h" -#include "PxPhysicsAPI.h" - -#define PVD_HOST "127.0.0.1" -#define PX_RELEASE(x) if (x) {x->release(); x = NULL;} - -using namespace physx; - -PxDefaultAllocator gAllocator; -PxDefaultErrorCallback gErrorCallback; - -PxFoundation *gFoundation = NULL; -PxPhysics *gPhysics = NULL; - -PxDefaultCpuDispatcher *gDispatcher = NULL; -PxScene *gScene = NULL; - -PxMaterial *gMaterial = NULL; - -PxPvd *gPvd = NULL; - -#if PX_SUPPORT_GPU_PHYSX -PxCudaContextManager *gCudaContextManager = NULL; -#endif - -PxReal stackZ = 10.0f; - -PxRigidDynamic *createDynamic(const PxTransform &t, const PxGeometry &geometry, const PxVec3 &velocity = PxVec3(0)) { - PxRigidDynamic *dynamic = PxCreateDynamic(*gPhysics, t, geometry, *gMaterial, 10.0f); - dynamic->setAngularDamping(0.5f); - dynamic->setLinearVelocity(velocity); - gScene->addActor(*dynamic); - return dynamic; -} - -void createStack(const PxTransform &t, PxU32 size, PxReal halfExtent) { - PxShape *shape = gPhysics->createShape(PxBoxGeometry(halfExtent, halfExtent, halfExtent), *gMaterial); - for (PxU32 i = 0; i < size; ++i) { - for (PxU32 j = 0;j < size - i; ++j) { - PxTransform localTm(PxVec3(PxReal(j * 2) - PxReal(size - i), PxReal(i * 2 + 1), 0) * halfExtent); - PxRigidDynamic *body = gPhysics->createRigidDynamic(t.transform(localTm)); - body->attachShape(*shape); - PxRigidBodyExt::updateMassAndInertia(*body, 10.0f); - gScene->addActor(*body); - } - } - shape->release(); -} - -void initPhysics() { - gFoundation = PxCreateFoundation(PX_PHYSICS_VERSION, gAllocator, gErrorCallback); - - gPvd = PxCreatePvd(*gFoundation); - PxPvdTransport *transport = PxDefaultPvdSocketTransportCreate(PVD_HOST, 5425, 10); - gPvd->connect(*transport, PxPvdInstrumentationFlag::ePROFILE); - - gPhysics = PxCreatePhysics(PX_PHYSICS_VERSION, *gFoundation, PxTolerancesScale(), true, gPvd); - - PxSceneDesc sceneDesc(gPhysics->getTolerancesScale()); - sceneDesc.gravity = PxVec3(0.0f, -9.81f, 0.0f); - gDispatcher = PxDefaultCpuDispatcherCreate(4); - sceneDesc.cpuDispatcher = gDispatcher; - sceneDesc.filterShader = PxDefaultSimulationFilterShader; - -#if PX_SUPPORT_GPU_PHYSX - PxCudaContextManagerDesc cudaContextManagerDesc; - cudaContextManagerDesc.interopMode = PxCudaInteropMode::NO_INTEROP; - gCudaContextManager = PxCreateCudaContextManager(*gFoundation, cudaContextManagerDesc, PxGetProfilerCallback()); //Create the CUDA context manager, required for GRB to dispatch CUDA kernels. - if (gCudaContextManager) { - if (!gCudaContextManager->contextIsValid()) { - gCudaContextManager->release(); - gCudaContextManager = NULL; - } - } - sceneDesc.cudaContextManager = gCudaContextManager; //Set the CUDA context manager, used by GRB. - - sceneDesc.flags |= PxSceneFlag::eENABLE_GPU_DYNAMICS; //Enable GPU dynamics - without this enabled, simulation (contact gen and solver) will run on the CPU. - sceneDesc.flags |= PxSceneFlag::eENABLE_PCM; //Enable PCM. PCM NP is supported on GPU. Legacy contact gen will fall back to CPU - sceneDesc.flags |= PxSceneFlag::eENABLE_STABILIZATION; //Improve solver stability by enabling post-stabilization. - sceneDesc.broadPhaseType = PxBroadPhaseType::eGPU; //Enable GPU broad phase. Without this set, broad phase will run on the CPU. - sceneDesc.gpuMaxNumPartitions = 8; //Defines the maximum number of partitions used by the solver. Only power-of-2 values are valid. - //A value of 8 generally gives best balance between performance and stability. -#endif - - gScene = gPhysics->createScene(sceneDesc); - - PxPvdSceneClient *pvdClient = gScene->getScenePvdClient(); - if (pvdClient) { - pvdClient->setScenePvdFlag(PxPvdSceneFlag::eTRANSMIT_CONSTRAINTS, true); - pvdClient->setScenePvdFlag(PxPvdSceneFlag::eTRANSMIT_CONTACTS, true); - pvdClient->setScenePvdFlag(PxPvdSceneFlag::eTRANSMIT_SCENEQUERIES, true); - } - gMaterial = gPhysics->createMaterial(0.5f, 0.5f, 0.6f); - - PxRigidStatic *groundPlane = PxCreatePlane(*gPhysics, PxPlane(0,1,0,0), *gMaterial); - gScene->addActor(*groundPlane); - - for (PxU32 i = 0; i < 40; ++i) { - createStack(PxTransform(PxVec3(0, 0, stackZ -= 10.0f)), 20, 1.0f); - } - - PxRigidDynamic *ball = createDynamic(PxTransform(PxVec3(0,20,100)), PxSphereGeometry(5), PxVec3(0,-25,-100)); - PxRigidBodyExt::updateMassAndInertia(*ball, 1000.f); -} - -void stepPhysics() { - gScene->simulate(1.0f / 60.0f); - gScene->fetchResults(true); -} - -void cleanupPhysics() { - PX_RELEASE(gScene); - PX_RELEASE(gDispatcher); - PX_RELEASE(gPhysics); - if (gPvd) { - PxPvdTransport *transport = gPvd->getTransport(); - gPvd->release(); - gPvd = NULL; - PX_RELEASE(transport); - } -#if PX_SUPPORT_GPU_PHYSX - PX_RELEASE(gCudaContextManager); -#endif - PX_RELEASE(gFoundation); -} - -int main(int, char **) { - static const PxU32 frameCount = 100; - initPhysics(); - for (PxU32 i = 0; i < frameCount; ++i) { - stepPhysics(); - } - cleanupPhysics(); - - std::cout << "Test of PhysX " - << PX_PHYSICS_VERSION_MAJOR << "." << PX_PHYSICS_VERSION_MINOR << "." << PX_PHYSICS_VERSION_BUGFIX - << " done.\n" - << std::endl; - - return 0; -} diff --git a/recipes/picobench/all/test_v1_package/CMakeLists.txt b/recipes/picobench/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/picobench/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/picobench/all/test_v1_package/conanfile.py b/recipes/picobench/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/picobench/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/picojson/all/test_v1_package/CMakeLists.txt b/recipes/picojson/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 76b4af39af45d..0000000000000 --- a/recipes/picojson/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(picojson REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE picojson::picojson) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/picojson/all/test_v1_package/conanfile.py b/recipes/picojson/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/picojson/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/picosha2/all/test_v1_package/CMakeLists.txt b/recipes/picosha2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 145dcc03e0f3d..0000000000000 --- a/recipes/picosha2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/picosha2/all/test_v1_package/conanfile.py b/recipes/picosha2/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/picosha2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pipes/all/conanfile.py b/recipes/pipes/all/conanfile.py index c2e8937d21d4a..879b25bfc8b32 100644 --- a/recipes/pipes/all/conanfile.py +++ b/recipes/pipes/all/conanfile.py @@ -7,7 +7,7 @@ from conan.tools.layout import basic_layout from conan.tools.scm import Version -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" class PipesConan(ConanFile): @@ -23,37 +23,35 @@ class PipesConan(ConanFile): no_copy_source = True @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 14 @property def _minimum_compilers_version(self): return { "Visual Studio": "15", + "msvc": "191", "gcc": "5", "clang": "3.4", "apple-clang": "5.1", } - def configure(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) - min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) - if not min_version: - self.output.warning(f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") - else: - if Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration( - f"{self.name} requires C++{self._minimum_cpp_standard} support. The current compiler" - f" {self.settings.compiler} {self.settings.compiler.version} does not support it." - ) - def layout(self): basic_layout(self, src_folder="src") def package_id(self): self.info.clear() + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) + if min_version and Version(self.settings.compiler.version) < min_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) diff --git a/recipes/pipes/all/test_package/CMakeLists.txt b/recipes/pipes/all/test_package/CMakeLists.txt index 39ba4f454e712..f31e3a93080d6 100644 --- a/recipes/pipes/all/test_package/CMakeLists.txt +++ b/recipes/pipes/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.15) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(pipes REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} pipes::pipes) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) +target_link_libraries(${PROJECT_NAME} PRIVATE pipes::pipes) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/pipes/all/test_package/test_package.cpp b/recipes/pipes/all/test_package/test_package.cpp index 2050756e502b3..16c22b768a986 100644 --- a/recipes/pipes/all/test_package/test_package.cpp +++ b/recipes/pipes/all/test_package/test_package.cpp @@ -1,9 +1,14 @@ // Workaround for pipes not finding size_t #include +#include +#include +// FIXME: https://github.com/joboccara/pipes/pull/73 +#if __cplusplus >= 201703L +#include +#endif #include -#include int main() { auto source = std::vector{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; @@ -13,8 +18,5 @@ int main() { >>= pipes::transform([](int i){ return i * 2; }) >>= pipes::push_back(destination); - auto expected = std::vector{0, 4, 8, 12, 16}; - bool success = destination == expected; - - return success ? 0 : 1; + return EXIT_SUCCESS; } diff --git a/recipes/pistache/all/test_v1_package/CMakeLists.txt b/recipes/pistache/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/pistache/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pistache/all/test_v1_package/conanfile.py b/recipes/pistache/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/pistache/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pixman/all/test_v1_package/CMakeLists.txt b/recipes/pixman/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/pixman/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/pixman/all/test_v1_package/conanfile.py b/recipes/pixman/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/pixman/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/platform.converters/all/test_v1_package/CMakeLists.txt b/recipes/platform.converters/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/platform.converters/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/platform.converters/all/test_v1_package/conanfile.py b/recipes/platform.converters/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/platform.converters/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/platform.equality/all/test_v1_package/CMakeLists.txt b/recipes/platform.equality/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/platform.equality/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/platform.equality/all/test_v1_package/conanfile.py b/recipes/platform.equality/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/platform.equality/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/platform.exceptions/all/test_v1_package/CMakeLists.txt b/recipes/platform.exceptions/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/platform.exceptions/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/platform.exceptions/all/test_v1_package/conanfile.py b/recipes/platform.exceptions/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/platform.exceptions/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/platform.interfaces/all/test_v1_package/CMakeLists.txt b/recipes/platform.interfaces/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/platform.interfaces/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/platform.interfaces/all/test_v1_package/conanfile.py b/recipes/platform.interfaces/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/platform.interfaces/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/playrho/all/test_v1_package/CMakeLists.txt b/recipes/playrho/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/playrho/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/playrho/all/test_v1_package/conanfile.py b/recipes/playrho/all/test_v1_package/conanfile.py deleted file mode 100644 index 61ac8b9318290..0000000000000 --- a/recipes/playrho/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools -from conan.tools.build import cross_building - -class PlayrhoTestConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/plf_colony/all/test_v1_package/CMakeLists.txt b/recipes/plf_colony/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/plf_colony/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/plf_colony/all/test_v1_package/conanfile.py b/recipes/plf_colony/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/plf_colony/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/plf_indiesort/all/test_v1_package/CMakeLists.txt b/recipes/plf_indiesort/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/plf_indiesort/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/plf_indiesort/all/test_v1_package/conanfile.py b/recipes/plf_indiesort/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/plf_indiesort/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/plf_nanotimer/all/test_v1_package/CMakeLists.txt b/recipes/plf_nanotimer/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 6121431de33af..0000000000000 --- a/recipes/plf_nanotimer/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(plf_nanotimer REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE plf_nanotimer::plf_nanotimer) diff --git a/recipes/plf_nanotimer/all/test_v1_package/conanfile.py b/recipes/plf_nanotimer/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/plf_nanotimer/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/plf_queue/all/test_v1_package/CMakeLists.txt b/recipes/plf_queue/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/plf_queue/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/plf_queue/all/test_v1_package/conanfile.py b/recipes/plf_queue/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/plf_queue/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/plf_stack/all/test_v1_package/CMakeLists.txt b/recipes/plf_stack/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/plf_stack/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/plf_stack/all/test_v1_package/conanfile.py b/recipes/plf_stack/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/plf_stack/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/plog/all/test_v1_package/CMakeLists.txt b/recipes/plog/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/plog/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/plog/all/test_v1_package/conanfile.py b/recipes/plog/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/plog/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/plusaes/all/test_v1_package/CMakeLists.txt b/recipes/plusaes/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/plusaes/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/plusaes/all/test_v1_package/conanfile.py b/recipes/plusaes/all/test_v1_package/conanfile.py deleted file mode 100644 index a500b98343c74..0000000000000 --- a/recipes/plusaes/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/plutovg/all/conandata.yml b/recipes/plutovg/all/conandata.yml index fcd677e83a683..e2c28aa740d01 100644 --- a/recipes/plutovg/all/conandata.yml +++ b/recipes/plutovg/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "0.0.8": + url: "https://github.com/sammycage/plutovg/archive/refs/tags/v0.0.8.tar.gz" + sha256: "090dd5d38e04e0900bf6843b2b38ce7108cab815c1b5496c934af65c51965618" + "0.0.7": + url: "https://github.com/sammycage/plutovg/archive/refs/tags/v0.0.7.tar.gz" + sha256: "31e264b6f451a0d18335d1596817c2b7f58e2fc6efeb63aac0ff9a7fbfc07c00" + "0.0.6": + url: "https://github.com/sammycage/plutovg/archive/refs/tags/v0.0.6.tar.gz" + sha256: "3be0e0d94ade3e739f60ac075c88c2e40d84a0ac05fc3ff8c7c97d0749e9a82b" "0.0.5": url: "https://github.com/sammycage/plutovg/archive/refs/tags/v0.0.5.tar.gz" sha256: "bcc4301f1591d8b4172b7ca086fb9a2b250727848f5f30af4c625f043512ce10" diff --git a/recipes/plutovg/all/test_package/test_package.c b/recipes/plutovg/all/test_package/test_package.c index 50be3a04fdea9..e73c320347491 100644 --- a/recipes/plutovg/all/test_package/test_package.c +++ b/recipes/plutovg/all/test_package/test_package.c @@ -1,26 +1,14 @@ #include -int main(void) -{ +int main(void) { const int width = 150; const int height = 150; plutovg_surface_t* surface = plutovg_surface_create(width, height); plutovg_canvas_t* canvas = plutovg_canvas_create(surface); - float center_x = width * 0.5; - float center_y = height * 0.5; - float face_radius = 70; - float eye_radius = 10; - float mouth_radius = 50; - float eye_offset_x = 25; - float eye_offset_y = 20; - float eye_x = center_x - eye_offset_x; - float eye_y = center_y - eye_offset_y; - - const float pi = 3.14159265358979323846; - plutovg_surface_destroy(surface); plutovg_canvas_destroy(canvas); + return 0; } diff --git a/recipes/plutovg/config.yml b/recipes/plutovg/config.yml index ff0ca6ee5ae38..e306407899e3b 100644 --- a/recipes/plutovg/config.yml +++ b/recipes/plutovg/config.yml @@ -1,4 +1,10 @@ versions: + "0.0.8": + folder: all + "0.0.7": + folder: all + "0.0.6": + folder: all "0.0.5": folder: all "0.0.4": diff --git a/recipes/pngpp/all/test_v1_package/CMakeLists.txt b/recipes/pngpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index abf75b3c1f51a..0000000000000 --- a/recipes/pngpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(pngpp REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE pngpp::pngpp) diff --git a/recipes/pngpp/all/test_v1_package/conanfile.py b/recipes/pngpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/pngpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/poly2tri/all/test_v1_package/CMakeLists.txt b/recipes/poly2tri/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/poly2tri/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/poly2tri/all/test_v1_package/conanfile.py b/recipes/poly2tri/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/poly2tri/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/polylineencoder/all/test_v1_package/CMakeLists.txt b/recipes/polylineencoder/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/polylineencoder/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/polylineencoder/all/test_v1_package/conanfile.py b/recipes/polylineencoder/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/polylineencoder/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/polymorphic_value/all/test_v1_package/CMakeLists.txt b/recipes/polymorphic_value/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8e2bfa718d864..0000000000000 --- a/recipes/polymorphic_value/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.12) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(polymorphic_value REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE polymorphic_value::polymorphic_value) -target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) diff --git a/recipes/polymorphic_value/all/test_v1_package/conanfile.py b/recipes/polymorphic_value/all/test_v1_package/conanfile.py deleted file mode 100644 index fa6afacf5620e..0000000000000 --- a/recipes/polymorphic_value/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -import os - -from conan.tools.build import cross_building -from conans import CMake, ConanFile - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/poppler-data/all/test_v1_package/conanfile.py b/recipes/poppler-data/all/test_v1_package/conanfile.py deleted file mode 100644 index 8a2bb2447ea7b..0000000000000 --- a/recipes/poppler-data/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,10 +0,0 @@ -from conans import ConanFile -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not os.path.isdir(self.deps_user_info["poppler-data"].datadir): - raise AssertionError("datadir is not a directory") diff --git a/recipes/poppler/all/conanfile.py b/recipes/poppler/all/conanfile.py index b7d61c3e69e7e..c798993e27cdd 100644 --- a/recipes/poppler/all/conanfile.py +++ b/recipes/poppler/all/conanfile.py @@ -107,7 +107,7 @@ def requirements(self): if self.options.with_openjpeg: self.requires("openjpeg/2.5.0") if self.options.with_lcms: - self.requires("lcms/2.13.1") + self.requires("lcms/2.16") if self.options.with_libjpeg == "libjpeg": self.requires("libjpeg/9d") if self.options.with_png: diff --git a/recipes/popt/1.16/test_v1_package/CMakeLists.txt b/recipes/popt/1.16/test_v1_package/CMakeLists.txt deleted file mode 100644 index cbe79d4195d31..0000000000000 --- a/recipes/popt/1.16/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(popt REQUIRED CONFIG) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/popt/1.16/test_v1_package/conanfile.py b/recipes/popt/1.16/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/popt/1.16/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/poshlib/all/test_v1_package/CMakeLists.txt b/recipes/poshlib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/poshlib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/poshlib/all/test_v1_package/conanfile.py b/recipes/poshlib/all/test_v1_package/conanfile.py deleted file mode 100644 index 90eb89e3f2f46..0000000000000 --- a/recipes/poshlib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pprint/all/test_v1_package/CMakeLists.txt b/recipes/pprint/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pprint/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pprint/all/test_v1_package/conanfile.py b/recipes/pprint/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/pprint/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pranav-csv2/all/test_v1_package/CMakeLists.txt b/recipes/pranav-csv2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pranav-csv2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pranav-csv2/all/test_v1_package/conanfile.py b/recipes/pranav-csv2/all/test_v1_package/conanfile.py deleted file mode 100644 index 0197f07f63c5d..0000000000000 --- a/recipes/pranav-csv2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class DawHeaderLibrariesTestConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pretty-name/all/test_v1_package/CMakeLists.txt b/recipes/pretty-name/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pretty-name/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pretty-name/all/test_v1_package/conanfile.py b/recipes/pretty-name/all/test_v1_package/conanfile.py deleted file mode 100644 index cbe0be23191a2..0000000000000 --- a/recipes/pretty-name/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "arch", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - self.cmake = CMake(self) - self.cmake.configure() - self.cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pretty-name/all/test_v1_package/src/test.cpp b/recipes/pretty-name/all/test_v1_package/src/test.cpp deleted file mode 100644 index 8c761f54ec31c..0000000000000 --- a/recipes/pretty-name/all/test_v1_package/src/test.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include -#include -#include - -struct Test { - int a; - int b; -}; - -namespace Namespace { -template -struct Test { - A a; - B b; -}; -} // namespace Namespace - -int main() { - std::cout << pretty_name::pretty_name() << std::endl; - std::cout << pretty_name::pretty_name>() << std::endl; - - return EXIT_SUCCESS; -} diff --git a/recipes/pro-mdnsd/all/test_v1_package/CMakeLists.txt b/recipes/pro-mdnsd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pro-mdnsd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pro-mdnsd/all/test_v1_package/conanfile.py b/recipes/pro-mdnsd/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/pro-mdnsd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/procxx-boost-ext-simd/all/test_v1_package/CMakeLists.txt b/recipes/procxx-boost-ext-simd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/procxx-boost-ext-simd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/procxx-boost-ext-simd/all/test_v1_package/conanfile.py b/recipes/procxx-boost-ext-simd/all/test_v1_package/conanfile.py deleted file mode 100644 index 70611dabf01ae..0000000000000 --- a/recipes/procxx-boost-ext-simd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class ProCxxBoostExSimdConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/proj/all/conandata.yml b/recipes/proj/all/conandata.yml index 4dfa942ea7d40..376bfb62914e2 100644 --- a/recipes/proj/all/conandata.yml +++ b/recipes/proj/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.5.0": + url: "https://github.com/OSGeo/PROJ/releases/download/9.5.0/proj-9.5.0.tar.gz" + sha256: "659af0d558f7c5618c322fde2d3392910806faee8684687959339021fa207d99" "9.4.1": url: "https://github.com/OSGeo/PROJ/releases/download/9.4.1/proj-9.4.1.tar.gz" sha256: "ffe20170ee2b952207adf8a195e2141eab12cda181e49fdeb54425d98c7171d7" diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index d687913f6a248..ffa2b47c51958 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -15,9 +15,9 @@ class ProjConan(ConanFile): name = "proj" description = "Cartographic Projections and Coordinate Transformations Library." license = "MIT" - topics = "dsp", "proj", "proj4", "projections", "gis", "geospatial" - homepage = "https://proj.org" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://proj.org" + topics = ("dsp", "proj", "proj4", "projections", "gis", "geospatial") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -181,7 +181,6 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - def package_info(self): proj_version = Version(self.version) cmake_config_filename = "proj" if proj_version >= "7.0.0" else "proj4" diff --git a/recipes/proj/all/test_package/CMakeLists.txt b/recipes/proj/all/test_package/CMakeLists.txt index 68d47d66efc39..4fa8bd93600fa 100644 --- a/recipes/proj/all/test_package/CMakeLists.txt +++ b/recipes/proj/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package C) +project(test_package LANGUAGES C) add_executable(test_package test_package.c) if(PROJ_VERSION_GE_7) diff --git a/recipes/proj/config.yml b/recipes/proj/config.yml index 557db04c01e50..d52e34a81ac98 100644 --- a/recipes/proj/config.yml +++ b/recipes/proj/config.yml @@ -1,4 +1,6 @@ versions: + "9.5.0": + folder: "all" "9.4.1": folder: "all" "9.3.1": diff --git a/recipes/prometheus-cpp/all/conandata.yml b/recipes/prometheus-cpp/all/conandata.yml index 0aa86dd0d07dd..f087398f73aad 100644 --- a/recipes/prometheus-cpp/all/conandata.yml +++ b/recipes/prometheus-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/jupp0r/prometheus-cpp/archive/v1.3.0.tar.gz" + sha256: "ac6e958405a29fbbea9db70b00fa3c420e16ad32e1baf941ab233ba031dd72ee" "1.2.4": url: "https://github.com/jupp0r/prometheus-cpp/archive/v1.2.4.tar.gz" sha256: "48dbad454d314b836cc667ec4def93ec4a6e4255fc8387c20cacb3b8b6faee30" @@ -8,18 +11,3 @@ sources: "1.0.1": url: "https://github.com/jupp0r/prometheus-cpp/archive/v1.0.1.tar.gz" sha256: "593e028d401d3298eada804d252bc38d8cab3ea1c9e88bcd72095281f85e6d16" - "1.0.0": - url: "https://github.com/jupp0r/prometheus-cpp/archive/v1.0.0.tar.gz" - sha256: "07018db604ea3e61f5078583e87c80932ea10c300d979061490ee1b7dc8e3a41" - "0.12.3": - url: "https://github.com/jupp0r/prometheus-cpp/archive/v0.12.3.tar.gz" - sha256: "e021e76e8e933672f1af0d223307282004f585a054354f8d894db39debddff8e" - "0.12.1": - url: "https://github.com/jupp0r/prometheus-cpp/archive/v0.12.1.tar.gz" - sha256: "2102609457f812dbeaaafd55736461fd0538fc7e7568174b1cdec43399dbded4" - "0.11.0": - url: "https://github.com/jupp0r/prometheus-cpp/archive/v0.11.0.tar.gz" - sha256: "aab4ef8342319f631969e01b8c41e355704847cbe76131cb1dd5ea1862000bda" -patches: - "0.11.0": - - patch_file: "patches/0001-include-limits.patch" diff --git a/recipes/prometheus-cpp/all/conanfile.py b/recipes/prometheus-cpp/all/conanfile.py index 09bc0c369ee74..06f45f304071f 100644 --- a/recipes/prometheus-cpp/all/conanfile.py +++ b/recipes/prometheus-cpp/all/conanfile.py @@ -1,13 +1,13 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir +from conan.tools.files import get, copy, rmdir from conan.tools.build import check_min_cppstd, valid_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0" class PrometheusCppConan(ConanFile): name = "prometheus-cpp" @@ -37,21 +37,6 @@ class PrometheusCppConan(ConanFile): def _min_cppstd(self): return "14" if Version(self.version) == "1.1.0" else "11" - @property - def _compilers_minimum_version(self): - return { - "14": { - "gcc": "7", - "clang": "7", - "apple-clang": "10", - "Visual Studio": "15", - "msvc": "191", - }, - }.get(self._min_cppstd, {}) - - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -69,18 +54,13 @@ def requirements(self): if self.options.with_pull: self.requires("civetweb/1.16") if self.options.with_push: - self.requires("libcurl/[>=7.78.0 <9]") + self.requires("libcurl/[>=7.78.0 <9]", transitive_headers=True) if self.options.get_safe("with_compression"): self.requires("zlib/[>=1.2.11 <2]") def validate(self): if self.info.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) @@ -101,7 +81,6 @@ def generate(self): deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/prometheus-cpp/all/test_v1_package/CMakeLists.txt b/recipes/prometheus-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/prometheus-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/prometheus-cpp/all/test_v1_package/conanfile.py b/recipes/prometheus-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/prometheus-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/prometheus-cpp/config.yml b/recipes/prometheus-cpp/config.yml index 11d3240cb85c5..50ed34cd33932 100644 --- a/recipes/prometheus-cpp/config.yml +++ b/recipes/prometheus-cpp/config.yml @@ -1,15 +1,9 @@ versions: + "1.3.0": + folder: all "1.2.4": folder: all "1.1.0": folder: all "1.0.1": folder: all - "1.0.0": - folder: all - "0.12.3": - folder: all - "0.12.1": - folder: all - "0.11.0": - folder: all diff --git a/recipes/proposal/all/test_v1_package/CMakeLists.txt b/recipes/proposal/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7ea0378c83fe1..0000000000000 --- a/recipes/proposal/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/proposal/all/test_v1_package/conanfile.py b/recipes/proposal/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/proposal/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/protobuf/all/conanfile.py b/recipes/protobuf/all/conanfile.py index d36546a97d0f6..6d85bc5225920 100644 --- a/recipes/protobuf/all/conanfile.py +++ b/recipes/protobuf/all/conanfile.py @@ -299,6 +299,8 @@ def package_info(self): self.cpp_info.components["libprotobuf-lite"].system_libs.append("log") if self._protobuf_release >= "22.0": self.cpp_info.components["libprotobuf-lite"].requires.extend(absl_deps) + if not self.options.shared: + self.cpp_info.components["libprotobuf-lite"].requires.extend(["utf8_validity"]) # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed self.cpp_info.filenames["cmake_find_package"] = "Protobuf" diff --git a/recipes/protobuf/all/test_package/CMakeLists.txt b/recipes/protobuf/all/test_package/CMakeLists.txt index b19277151deaf..e8254a31a1247 100644 --- a/recipes/protobuf/all/test_package/CMakeLists.txt +++ b/recipes/protobuf/all/test_package/CMakeLists.txt @@ -5,22 +5,20 @@ project(test_package LANGUAGES CXX) find_package(protobuf CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) + if(CONAN_TEST_USE_CXXSTD_14) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) else() target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) endif() -target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}") + if (protobuf_LITE) target_link_libraries(${PROJECT_NAME} PRIVATE protobuf::libprotobuf-lite) + target_compile_definitions(${PROJECT_NAME} PRIVATE CONANTEST_PROTOBUF_LITE=1) else() target_link_libraries(${PROJECT_NAME} PRIVATE protobuf::libprotobuf) endif() -if(TARGET protobuf::libprotoc) - target_link_libraries(${PROJECT_NAME} PRIVATE protobuf::libprotoc) -endif() - if(NOT TARGET protobuf::protoc) message(FATAL_ERROR "protoc executable should have been defined as part of find_package(protobuf)") endif() diff --git a/recipes/protobuf/all/test_package/test_package.cpp b/recipes/protobuf/all/test_package/test_package.cpp index 61cb2bc104cd7..292260cccf5c4 100644 --- a/recipes/protobuf/all/test_package/test_package.cpp +++ b/recipes/protobuf/all/test_package/test_package.cpp @@ -1,15 +1,23 @@ #include #include +#if !defined(CONANTEST_PROTOBUF_LITE) #include #include +#else +#include +#endif int main() { + +#if !defined(CONANTEST_PROTOBUF_LITE) google::protobuf::Timestamp ts; google::protobuf::util::TimeUtil::FromString("1972-01-01T10:00:20.021Z", &ts); const auto nanoseconds = ts.nanos(); - std::cout << "1972-01-01T10:00:20.021Z in nanoseconds: " << nanoseconds << "\n"; +#else + google::protobuf::ShutdownProtobufLibrary(); +#endif return EXIT_SUCCESS; } diff --git a/recipes/protopuf/all/conandata.yml b/recipes/protopuf/all/conandata.yml index e3a4a402d6c55..70e206483f82b 100644 --- a/recipes/protopuf/all/conandata.yml +++ b/recipes/protopuf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.0": + url: "https://github.com/PragmaTwice/protopuf/archive/v3.0.0.tar.gz" + sha256: "62f89b78989eb054bc52e80cc1517274f5621e32eda4758f123c66c7a3521ee3" "2.2.1": url: "https://github.com/PragmaTwice/protopuf/archive/v2.2.1.tar.gz" sha256: "8d4940206d8e8664f75ae1cdfff8c14fa9a196c03967d520725284429744c19c" diff --git a/recipes/protopuf/all/test_package/CMakeLists.txt b/recipes/protopuf/all/test_package/CMakeLists.txt index c049a9a330ddf..b96c930536a1d 100644 --- a/recipes/protopuf/all/test_package/CMakeLists.txt +++ b/recipes/protopuf/all/test_package/CMakeLists.txt @@ -1,9 +1,11 @@ cmake_minimum_required(VERSION 3.12) - -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(protopuf REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE protopuf::protopuf) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +if(protopuf_VERSION VERSION_LESS 3.0.0) + target_compile_definitions(${PROJECT_NAME} PRIVATE PROTOPUF_V2) +endif() diff --git a/recipes/protopuf/all/test_package/test_package.cpp b/recipes/protopuf/all/test_package/test_package.cpp index 4204c6dc97e2a..e97fde64ca1d2 100644 --- a/recipes/protopuf/all/test_package/test_package.cpp +++ b/recipes/protopuf/all/test_package/test_package.cpp @@ -6,12 +6,12 @@ using namespace pp; using namespace std; using Student = message< - uint32_field<"id", 1>, + uint32_field<"id", 1>, string_field<"name", 3> >; using Class = message< - string_field<"name", 8>, + string_field<"name", 8>, message_field<"students", 3, Student, repeated> >; @@ -25,8 +25,12 @@ int main() { auto bufferEnd = message_coder::encode(myClass, buffer); // deserialization +#ifdef PROTOPUF_V2 auto [yourClass, bufferEnd2] = message_coder::decode(buffer); - +#else + auto result = message_coder::decode(buffer); + auto [yourClass, bufferEnd2] = *result; +#endif return 0; } diff --git a/recipes/protopuf/all/test_v1_package/CMakeLists.txt b/recipes/protopuf/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 4bda6274e3037..0000000000000 --- a/recipes/protopuf/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 3.12) - -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(protopuf REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE protopuf::protopuf) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/protopuf/all/test_v1_package/conanfile.py b/recipes/protopuf/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/protopuf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/protopuf/config.yml b/recipes/protopuf/config.yml index 346088b2bbe5f..3a574582d8d34 100644 --- a/recipes/protopuf/config.yml +++ b/recipes/protopuf/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.0": + folder: all "2.2.1": folder: all "2.2.0": diff --git a/recipes/protozero/all/test_v1_package/CMakeLists.txt b/recipes/protozero/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index c2f5bc742311b..0000000000000 --- a/recipes/protozero/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(protozero REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE protozero::protozero) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/protozero/all/test_v1_package/conanfile.py b/recipes/protozero/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/protozero/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/psimd/all/test_v1_package/CMakeLists.txt b/recipes/psimd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index e8cb47d9d69b7..0000000000000 --- a/recipes/psimd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(psimd REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE psimd::psimd) diff --git a/recipes/psimd/all/test_v1_package/conanfile.py b/recipes/psimd/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/psimd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/psyinf-gmtl/all/test_v1_package/CMakeLists.txt b/recipes/psyinf-gmtl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index de05e55dc1517..0000000000000 --- a/recipes/psyinf-gmtl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(gmtl REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE gmtl::gmtl) diff --git a/recipes/psyinf-gmtl/all/test_v1_package/conanfile.py b/recipes/psyinf-gmtl/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/psyinf-gmtl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ptex/all/test_v1_package/CMakeLists.txt b/recipes/ptex/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/ptex/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/ptex/all/test_v1_package/conanfile.py b/recipes/ptex/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/ptex/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pthreadpool/all/test_v1_package/CMakeLists.txt b/recipes/pthreadpool/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/pthreadpool/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/pthreadpool/all/test_v1_package/conanfile.py b/recipes/pthreadpool/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/pthreadpool/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pthreads4w/all/test_v1_package/CMakeLists.txt b/recipes/pthreads4w/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 993b1d536d435..0000000000000 --- a/recipes/pthreads4w/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_executable(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/pthreads4w/all/test_v1_package/conanfile.py b/recipes/pthreads4w/all/test_v1_package/conanfile.py deleted file mode 100644 index d4128b0450777..0000000000000 --- a/recipes/pthreads4w/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pugixml/all/test_v1_package/CMakeLists.txt b/recipes/pugixml/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/pugixml/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/pugixml/all/test_v1_package/conanfile.py b/recipes/pugixml/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/pugixml/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/pulseaudio/all/test_v1_package/CMakeLists.txt b/recipes/pulseaudio/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/pulseaudio/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pulseaudio/all/test_v1_package/conanfile.py b/recipes/pulseaudio/all/test_v1_package/conanfile.py deleted file mode 100644 index a691174f8ed16..0000000000000 --- a/recipes/pulseaudio/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - diff --git a/recipes/pupnp/all/test_v1_package/CMakeLists.txt b/recipes/pupnp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/pupnp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pupnp/all/test_v1_package/conanfile.py b/recipes/pupnp/all/test_v1_package/conanfile.py deleted file mode 100644 index b1255b47b830e..0000000000000 --- a/recipes/pupnp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import CMake, ConanFile, tools - - -class PupnpTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/pystring/all/test_v1_package/CMakeLists.txt b/recipes/pystring/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/pystring/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/pystring/all/test_v1_package/conanfile.py b/recipes/pystring/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/pystring/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/qarchive/all/test_v1_package/CMakeLists.txt b/recipes/qarchive/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/qarchive/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/qarchive/all/test_v1_package/conanfile.py b/recipes/qarchive/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/qarchive/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/qcbor/all/conandata.yml b/recipes/qcbor/all/conandata.yml index 4df224b3ac475..073ab369d8103 100644 --- a/recipes/qcbor/all/conandata.yml +++ b/recipes/qcbor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5": + url: "https://github.com/laurencelundblade/QCBOR/archive/refs/tags/v1.5.tar.gz" + sha256: "fd71c2aa985575ea5e7df1540da54261f04af872fe4c4e76bfe56affc14dcd2a" "1.4.1": url: "https://github.com/laurencelundblade/QCBOR/archive/refs/tags/v1.4.1.tar.gz" sha256: "c7ef031b60b23bf8ede47c66c9713982bba2608668b144280a65665bfcc94470" @@ -15,6 +18,10 @@ sources: url: "https://github.com/laurencelundblade/QCBOR/archive/refs/tags/v1.0.tar.gz" sha256: "961a46eb5a599cc040bfce4f4fade4427e046f1748f37ba4ebbc097fb9cdf1d3" patches: + "1.5": + - patch_file: "patches/1.5-0001-fix-cmake.patch" + patch_description: "disable fix fPIC and add installation" + patch_type: "conan" "1.4.1": - patch_file: "patches/1.4.1-0001-fix-cmake.patch" patch_description: "disable fix fPIC and add installation" diff --git a/recipes/qcbor/all/conanfile.py b/recipes/qcbor/all/conanfile.py index 6c8cca49e3526..68b5a4f311351 100644 --- a/recipes/qcbor/all/conanfile.py +++ b/recipes/qcbor/all/conanfile.py @@ -1,5 +1,5 @@ from conan import ConanFile -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, rmdir, load, save +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, rmdir, load, save, copy from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.scm import Version @@ -74,10 +74,13 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - # Extract the License/s from README.md to a file - tmp = load(self, os.path.join(self.source_folder, "inc", "qcbor", "qcbor.h")) - license_contents = re.search("( Copyright.*) =====", tmp, re.DOTALL)[1] - save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_contents) + if Version(self.version) >= "1.5": + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + else: + # Extract the License/s from README.md to a file + tmp = load(self, os.path.join(self.source_folder, "inc", "qcbor", "qcbor.h")) + license_contents = re.search("( Copyright.*) =====", tmp, re.DOTALL)[1] + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), license_contents) def package_info(self): self.cpp_info.libs = ["qcbor"] diff --git a/recipes/qcbor/all/patches/1.5-0001-fix-cmake.patch b/recipes/qcbor/all/patches/1.5-0001-fix-cmake.patch new file mode 100644 index 0000000000000..e9e96ba504660 --- /dev/null +++ b/recipes/qcbor/all/patches/1.5-0001-fix-cmake.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1c7e081..6f4ea4e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,7 +58,7 @@ target_compile_definitions(qcbor + $<$:USEFULBUF_DISABLE_ALL_FLOAT> + ) + +-if (BUILD_SHARED_LIBS) ++if (0) + target_compile_options(qcbor PRIVATE -Os -fPIC) + endif() + +@@ -90,6 +90,9 @@ set_target_properties( + include(GNUInstallDirs) + install( + TARGETS qcbor ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/qcbor" + ) + diff --git a/recipes/qcbor/all/test_v1_package/CMakeLists.txt b/recipes/qcbor/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 46fc5f986a893..0000000000000 --- a/recipes/qcbor/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_packages) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/qcbor/all/test_v1_package/conanfile.py b/recipes/qcbor/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/qcbor/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/qcbor/config.yml b/recipes/qcbor/config.yml index 92a8a4234a53e..9feea3cfb2036 100644 --- a/recipes/qcbor/config.yml +++ b/recipes/qcbor/config.yml @@ -1,4 +1,6 @@ versions: + "1.5": + folder: all "1.4.1": folder: all "1.3": diff --git a/recipes/qdbm/all/test_v1_package/CMakeLists.txt b/recipes/qdbm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/qdbm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/qdbm/all/test_v1_package/conanfile.py b/recipes/qdbm/all/test_v1_package/conanfile.py deleted file mode 100644 index ec80e0c5cc134..0000000000000 --- a/recipes/qdbm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = ("os", "compiler", "build_type", "arch") - generators = ("cmake", "cmake_find_package_multi") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/qoi/all/conandata.yml b/recipes/qoi/all/conandata.yml new file mode 100644 index 0000000000000..85f3317442208 --- /dev/null +++ b/recipes/qoi/all/conandata.yml @@ -0,0 +1,5 @@ +sources: + # Newer versions at the top + "0.0.0.cci.20240906": + url: "https://github.com/phoboslab/qoi/archive/019020993ce33bdf56c876004e8b27139a0d011f.zip" + sha256: "b4785ed15a5a9d1084cc1ad72829e7bb16b9a7b597ac8aa8160f2788748614f3" diff --git a/recipes/qoi/all/conanfile.py b/recipes/qoi/all/conanfile.py new file mode 100644 index 0000000000000..8eb9a1ee17305 --- /dev/null +++ b/recipes/qoi/all/conanfile.py @@ -0,0 +1,46 @@ +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.52.0" + + +class QoiConan(ConanFile): + name = "qoi" + description = "The “Quite OK Image Format†for fast, lossless image compression" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://qoiformat.org/" + topics = ("image", "compression", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + def layout(self): + basic_layout(self, src_folder="src") + + # same package ID for any package + def package_id(self): + self.info.clear() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + pass + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "*.h", + self.source_folder, + os.path.join(self.package_folder, "include"), + ) + + def package_info(self): + # Folders not used for header-only + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/qoi/all/test_package/CMakeLists.txt b/recipes/qoi/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f16d6221266fc --- /dev/null +++ b/recipes/qoi/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) # if the project is pure C + +find_package(qoi REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +# don't link to ${CONAN_LIBS} or CONAN_PKG::package +target_link_libraries(${PROJECT_NAME} PRIVATE qoi::qoi) diff --git a/recipes/qoi/all/test_package/conanfile.py b/recipes/qoi/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a808db45f245 --- /dev/null +++ b/recipes/qoi/all/test_package/conanfile.py @@ -0,0 +1,27 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +# It will become the standard on Conan 2.x +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") diff --git a/recipes/qoi/all/test_package/test_package.c b/recipes/qoi/all/test_package/test_package.c new file mode 100644 index 0000000000000..aca3fa09d9bc1 --- /dev/null +++ b/recipes/qoi/all/test_package/test_package.c @@ -0,0 +1,10 @@ +#include + +#define QOI_IMPLEMENTATION +#include "qoi.h" + +int main(void) { + printf("qoi_desc size: %d\n", sizeof(qoi_desc)); + + return EXIT_SUCCESS; +} diff --git a/recipes/qoi/config.yml b/recipes/qoi/config.yml new file mode 100644 index 0000000000000..97d1baf6d5919 --- /dev/null +++ b/recipes/qoi/config.yml @@ -0,0 +1,4 @@ +versions: + # Newer versions at the top + "0.0.0.cci.20240906": + folder: all diff --git a/recipes/qoixx/all/conandata.yml b/recipes/qoixx/all/conandata.yml new file mode 100644 index 0000000000000..17e77ab24163d --- /dev/null +++ b/recipes/qoixx/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.1.7": + url: "https://github.com/wx257osn2/qoixx/archive/refs/tags/v0.1.7.tar.gz" + sha256: "9da53e0fc035f4b75f872a196a76cd870b63568612254035dadc84e46f47d779" diff --git a/recipes/qoixx/all/conanfile.py b/recipes/qoixx/all/conanfile.py new file mode 100644 index 0000000000000..b18ef696aab67 --- /dev/null +++ b/recipes/qoixx/all/conanfile.py @@ -0,0 +1,65 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + +class QoixxConan(ConanFile): + name = "qoixx" + description = "Single Header Quite Fast QOI(Quite OK Image Format) Implementation written in C++20" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/wx257osn2/qoixx" + topics = ("qoi", "simd", "image", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "11", + "clang": "12", + "apple-clang": "14", + "Visual Studio": "16", + "msvc": "192", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("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"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/qoixx/all/test_package/CMakeLists.txt b/recipes/qoixx/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..23c2933ab08bc --- /dev/null +++ b/recipes/qoixx/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(qoixx REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE qoixx::qoixx) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/qoixx/all/test_package/conanfile.py b/recipes/qoixx/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/qoixx/all/test_package/conanfile.py @@ -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") diff --git a/recipes/qoixx/all/test_package/test_package.cpp b/recipes/qoixx/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..7d626bc32b672 --- /dev/null +++ b/recipes/qoixx/all/test_package/test_package.cpp @@ -0,0 +1,25 @@ +#include +#include +#include "qoixx.hpp" + +int main(void) { + constexpr qoixx::qoi::desc desc{ + .width = 8, + .height = 4, + .channels = 3, + .colorspace = qoixx::qoi::colorspace::srgb, + }; + + const std::vector original = { + 130, 0, 212, 124, 204, 88, 79, 26, 210, 104, 117, 4, 137, 191, 80, 204, + 65, 175, 38, 160, 207, 182, 174, 59, 83, 18, 227, 4, 234, 150, 97, 131, + 62, 95, 167, 236, 132, 143, 78, 175, 86, 172, 237, 113, 195, 87, 227, 242, + 13, 189, 125, 33, 16, 79, 165, 247, 216, 193, 192, 113, 254, 176, 172, 227, + 94, 105, 146, 232, 150, 39, 148, 238, 105, 65, 23, 4, 33, 252, 243, 111, + 120, 32, 150, 144, 96, 66, 9, 102, 226, 245, 145, 153, 240, 183, 60, 132 + }; + + const auto encoded = qoixx::qoi::encode>(original, desc); + const auto [decoded, decoded_desc] = qoixx::qoi::decode>(encoded); + return 0; +} diff --git a/recipes/qoixx/config.yml b/recipes/qoixx/config.yml new file mode 100644 index 0000000000000..e6830418cc45c --- /dev/null +++ b/recipes/qoixx/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.7": + folder: all diff --git a/recipes/qpdf/all/test_v1_package/CMakeLists.txt b/recipes/qpdf/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/qpdf/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/qpdf/all/test_v1_package/conanfile.py b/recipes/qpdf/all/test_v1_package/conanfile.py deleted file mode 100644 index 0f735b51a2642..0000000000000 --- a/recipes/qpdf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/qpoases/all/test_v1_package/CMakeLists.txt b/recipes/qpoases/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/qpoases/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/qpoases/all/test_v1_package/conanfile.py b/recipes/qpoases/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/qpoases/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/qr-code-generator/all/test_v1_package/CMakeLists.txt b/recipes/qr-code-generator/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/qr-code-generator/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/qr-code-generator/all/test_v1_package/conanfile.py b/recipes/qr-code-generator/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/qr-code-generator/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index 547a052a46a96..13ed2f886559f 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -1,26 +1,26 @@ sources: - "6.7.1": + "6.7.3": url: - - "https://download.qt.io/official_releases/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://download.qt.io/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://mirrors.20i.com/pub/qt.io/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://ftp.nluug.nl/languages/qt/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://mirror.netcologne.de/qtproject/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://mirrors.dotsrc.org/qtproject/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://ftp.icm.edu.pl/packages/qt/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://qt.mirror.constant.com/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://mirrors.sau.edu.cn/qt/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://mirrors.cloud.tencent.com/qt/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://mirror.bjtu.edu.cn/qt/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.7/6.7.1/single/qt-everywhere-src-6.7.1.tar.xz" - sha256: "38dbf2768776e875ed5cdea8cccf1a240512a29769768084430914c4a33bedc4" + - "https://download.qt.io/official_releases/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://download.qt.io/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://mirrors.20i.com/pub/qt.io/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://ftp.nluug.nl/languages/qt/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://mirror.netcologne.de/qtproject/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://qt-mirror.dannhauer.de/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://ftp.fau.de/qtproject/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://mirrors.dotsrc.org/qtproject/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://ftp.icm.edu.pl/packages/qt/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://qt.mirror.constant.com/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://mirrors.sau.edu.cn/qt/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://mirrors.cloud.tencent.com/qt/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://mirror.bjtu.edu.cn/qt/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.tar.xz" + sha256: "a3f1d257cbb14c6536585ffccf7c203ce7017418e1a0c2ed7c316c20c729c801" "6.6.3": url: - "https://download.qt.io/official_releases/qt/6.6/6.6.3/single/qt-everywhere-src-6.6.3.tar.xz" @@ -65,7 +65,7 @@ sources: - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" sha256: "7cda4d119aad27a3887329cfc285f2aba5da85601212bcb0aea27bd6b7b544cb" patches: - "6.7.1": + "6.7.3": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" "patch_file": "patches/c72097e_6.6.0.diff" diff --git a/recipes/qt/6.x.x/qtmodules6.3.2.conf b/recipes/qt/6.x.x/qtmodules6.3.2.conf deleted file mode 100644 index b0e0878e68e97..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.3.2.conf +++ /dev/null @@ -1,305 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.3.2 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.3.2 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.3.2 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.3.2 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.3.2 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.3.2 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = 6.3 - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.3.2 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia - path = qtdoc - url = ../qtdoc.git - branch = 6.3.2 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = 6.3 - status = ignore -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.3.2 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.3.2 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.3.2 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.3.2 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools - path = qt3d - url = ../qt3d.git - branch = 6.3.2 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.3.2 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.3.2 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.3.2 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.3.2 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.3.2 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.3.2 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = 6.3 - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.3.2 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.3.2 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.3.2 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.3.2 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = 6.3 - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.3.2 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.3.2 - status = ignore -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.3.2 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.3.2 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = 6.3 - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.3.2 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.3.2 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.3.2 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.3.2 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.3.2 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.3.2 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.3.2 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.3.2 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.3.2 - status = preview diff --git a/recipes/qt/6.x.x/qtmodules6.4.2.conf b/recipes/qt/6.x.x/qtmodules6.4.2.conf deleted file mode 100644 index 10324ecab234b..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.4.2.conf +++ /dev/null @@ -1,318 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.4.2 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.4.2 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.4.2 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.4.2 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative qtquick3d - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.4.2 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.4.2 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = dev - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.4.2 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia - path = qtdoc - url = ../qtdoc.git - branch = 6.4.2 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = dev - status = ignore -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.4.2 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.4.2 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.4.2 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.4.2 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools - path = qt3d - url = ../qt3d.git - branch = 6.4.2 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.4.2 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.4.2 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.4.2 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.4.2 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.4.2 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.4.2 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.4.2 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.4.2 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.4.2 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.4.2 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = dev - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.4.2 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.4.2 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.4.2 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.4.2 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = dev - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.4.2 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.4.2 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.4.2 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.4.2 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.4.2 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.4.2 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.4.2 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.4.2 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.4.2 - status = preview -[submodule "qthttpserver"] - depends = qtbase - recommends = qtwebsockets - path = qthttpserver - url = ../qthttpserver.git - branch = 6.4.2 - status = preview -[submodule "qtquick3dphysics"] - depends = qtbase qtdeclarative qtquick3d qtshadertools - path = qtquick3dphysics - url = ../qtquick3dphysics.git - branch = 6.4.2 - status = preview diff --git a/recipes/qt/6.x.x/qtmodules6.6.0.conf b/recipes/qt/6.x.x/qtmodules6.6.0.conf deleted file mode 100644 index e3853727b0712..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.6.0.conf +++ /dev/null @@ -1,338 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.6.0 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.6.0 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.6.0 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.6.0 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative qtquick3d - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.6.0 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.6.0 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = dev - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.6.0 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia qtshadertools qtwebengine - path = qtdoc - url = ../qtdoc.git - branch = 6.6.0 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = 6.6.0 - status = preview -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.6.0 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.6.0 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.6.0 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.6.0 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools qtmultimedia - path = qt3d - url = ../qt3d.git - branch = 6.6.0 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.6.0 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.6.0 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.6.0 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.6.0 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.6.0 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.6.0 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.6.0 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.6.0 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.6.0 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.6.0 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = dev - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.6.0 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.6.0 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.6.0 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.6.0 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = dev - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.6.0 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.6.0 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.6.0 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.6.0 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.6.0 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.6.0 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.6.0 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.6.0 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.6.0 - status = preview -[submodule "qthttpserver"] - depends = qtbase - recommends = qtwebsockets - path = qthttpserver - url = ../qthttpserver.git - branch = 6.6.0 - status = preview -[submodule "qtquick3dphysics"] - depends = qtbase qtdeclarative qtquick3d qtshadertools - path = qtquick3dphysics - url = ../qtquick3dphysics.git - branch = 6.6.0 - status = addon -[submodule "qtgrpc"] - depends = qtbase - recommends = qtdeclarative - path = qtgrpc - url = ../qtgrpc.git - branch = 6.6.0 - status = preview -[submodule "qtquickeffectmaker"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquick3d - path = qtquickeffectmaker - url = ../qtquickeffectmaker.git - branch = 6.6.0 - status = addon -[submodule "qtgraphs"] - depends = qtbase qtdeclarative qtquick3d - path = qtgraphs - url = ../qtgraphs.git - branch = 6.6.0 - status = preview diff --git a/recipes/qt/6.x.x/qtmodules6.6.1.conf b/recipes/qt/6.x.x/qtmodules6.6.1.conf deleted file mode 100644 index 3d1fa112d7390..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.6.1.conf +++ /dev/null @@ -1,338 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.6.1 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.6.1 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.6.1 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.6.1 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative qtquick3d - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.6.1 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.6.1 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = dev - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.6.1 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia qtshadertools qtwebengine - path = qtdoc - url = ../qtdoc.git - branch = 6.6.1 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = 6.6.1 - status = preview -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.6.1 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.6.1 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.6.1 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.6.1 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools qtmultimedia - path = qt3d - url = ../qt3d.git - branch = 6.6.1 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.6.1 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.6.1 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.6.1 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.6.1 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.6.1 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.6.1 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.6.1 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.6.1 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.6.1 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.6.1 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = dev - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.6.1 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.6.1 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.6.1 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.6.1 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = dev - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.6.1 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.6.1 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.6.1 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.6.1 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.6.1 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.6.1 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.6.1 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.6.1 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.6.1 - status = preview -[submodule "qthttpserver"] - depends = qtbase - recommends = qtwebsockets - path = qthttpserver - url = ../qthttpserver.git - branch = 6.6.1 - status = preview -[submodule "qtquick3dphysics"] - depends = qtbase qtdeclarative qtquick3d qtshadertools - path = qtquick3dphysics - url = ../qtquick3dphysics.git - branch = 6.6.1 - status = addon -[submodule "qtgrpc"] - depends = qtbase - recommends = qtdeclarative - path = qtgrpc - url = ../qtgrpc.git - branch = 6.6.1 - status = preview -[submodule "qtquickeffectmaker"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquick3d - path = qtquickeffectmaker - url = ../qtquickeffectmaker.git - branch = 6.6.1 - status = addon -[submodule "qtgraphs"] - depends = qtbase qtdeclarative qtquick3d - path = qtgraphs - url = ../qtgraphs.git - branch = 6.6.1 - status = preview diff --git a/recipes/qt/6.x.x/qtmodules6.6.2.conf b/recipes/qt/6.x.x/qtmodules6.6.2.conf deleted file mode 100644 index 1ad0f474e5053..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.6.2.conf +++ /dev/null @@ -1,338 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.6.2 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.6.2 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.6.2 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.6.2 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative qtquick3d - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.6.2 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.6.2 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = dev - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.6.2 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia qtshadertools qtwebengine - path = qtdoc - url = ../qtdoc.git - branch = 6.6.2 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = 6.6.2 - status = preview -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.6.2 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.6.2 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.6.2 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.6.2 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools qtmultimedia - path = qt3d - url = ../qt3d.git - branch = 6.6.2 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.6.2 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.6.2 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.6.2 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.6.2 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.6.2 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.6.2 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.6.2 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.6.2 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.6.2 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.6.2 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = dev - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.6.2 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.6.2 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.6.2 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.6.2 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = dev - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.6.2 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.6.2 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.6.2 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.6.2 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.6.2 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.6.2 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.6.2 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.6.2 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.6.2 - status = preview -[submodule "qthttpserver"] - depends = qtbase - recommends = qtwebsockets - path = qthttpserver - url = ../qthttpserver.git - branch = 6.6.2 - status = preview -[submodule "qtquick3dphysics"] - depends = qtbase qtdeclarative qtquick3d qtshadertools - path = qtquick3dphysics - url = ../qtquick3dphysics.git - branch = 6.6.2 - status = addon -[submodule "qtgrpc"] - depends = qtbase - recommends = qtdeclarative - path = qtgrpc - url = ../qtgrpc.git - branch = 6.6.2 - status = preview -[submodule "qtquickeffectmaker"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquick3d - path = qtquickeffectmaker - url = ../qtquickeffectmaker.git - branch = 6.6.2 - status = addon -[submodule "qtgraphs"] - depends = qtbase qtdeclarative qtquick3d - path = qtgraphs - url = ../qtgraphs.git - branch = 6.6.2 - status = preview diff --git a/recipes/qt/6.x.x/qtmodules6.7.0.conf b/recipes/qt/6.x.x/qtmodules6.7.0.conf deleted file mode 100644 index 648d154057232..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.7.0.conf +++ /dev/null @@ -1,338 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.7.0 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.7.0 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.7.0 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.7.0 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative qtquick3d - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.7.0 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.7.0 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = dev - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.7.0 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia qtshadertools qtwebengine - path = qtdoc - url = ../qtdoc.git - branch = 6.7.0 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = 6.7.0 - status = preview -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.7.0 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.7.0 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.7.0 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.7.0 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools qtmultimedia - path = qt3d - url = ../qt3d.git - branch = 6.7.0 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.7.0 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.7.0 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.7.0 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.7.0 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.7.0 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.7.0 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.7.0 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.7.0 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.7.0 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.7.0 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = dev - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.7.0 - status = addon -[submodule "qtspeech"] - depends = qtbase qtmultimedia - recommends = qtdeclarative - path = qtspeech - url = ../qtspeech.git - branch = 6.7.0 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.7.0 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.7.0 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = dev - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.7.0 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.7.0 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.7.0 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.7.0 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.7.0 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.7 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.7 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.7 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.7.0 - status = preview -[submodule "qthttpserver"] - depends = qtbase - recommends = qtwebsockets - path = qthttpserver - url = ../qthttpserver.git - branch = 6.7.0 - status = preview -[submodule "qtquick3dphysics"] - depends = qtbase qtdeclarative qtquick3d qtshadertools - path = qtquick3dphysics - url = ../qtquick3dphysics.git - branch = 6.7.0 - status = addon -[submodule "qtgrpc"] - depends = qtbase - recommends = qtdeclarative - path = qtgrpc - url = ../qtgrpc.git - branch = 6.7.0 - status = preview -[submodule "qtquickeffectmaker"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquick3d - path = qtquickeffectmaker - url = ../qtquickeffectmaker.git - branch = 6.7.0 - status = addon -[submodule "qtgraphs"] - depends = qtbase qtdeclarative qtquick3d - path = qtgraphs - url = ../qtgraphs.git - branch = 6.7.0 - status = preview diff --git a/recipes/qt/6.x.x/qtmodules6.7.1.conf b/recipes/qt/6.x.x/qtmodules6.7.1.conf deleted file mode 100644 index 9e00dc7638768..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.7.1.conf +++ /dev/null @@ -1,338 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.7.1 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.7.1 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.7.1 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.7.1 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative qtquick3d - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.7.1 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.7.1 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = dev - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.7.1 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia qtshadertools qtwebengine - path = qtdoc - url = ../qtdoc.git - branch = 6.7.1 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = 6.7.1 - status = preview -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.7.1 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.7.1 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.7.1 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.7.1 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools qtmultimedia - path = qt3d - url = ../qt3d.git - branch = 6.7.1 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.7.1 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.7.1 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.7.1 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.7.1 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.7.1 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.7.1 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.7.1 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.7.1 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.7.1 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.7.1 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = dev - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.7.1 - status = addon -[submodule "qtspeech"] - depends = qtbase qtmultimedia - recommends = qtdeclarative - path = qtspeech - url = ../qtspeech.git - branch = 6.7.1 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.7.1 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.7.1 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = dev - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.7.1 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.7.1 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.7.1 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.7.1 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.7.1 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.7.1 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.7.1 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.7.1 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.7.1 - status = preview -[submodule "qthttpserver"] - depends = qtbase - recommends = qtwebsockets - path = qthttpserver - url = ../qthttpserver.git - branch = 6.7.1 - status = preview -[submodule "qtquick3dphysics"] - depends = qtbase qtdeclarative qtquick3d qtshadertools - path = qtquick3dphysics - url = ../qtquick3dphysics.git - branch = 6.7.1 - status = addon -[submodule "qtgrpc"] - depends = qtbase - recommends = qtdeclarative - path = qtgrpc - url = ../qtgrpc.git - branch = 6.7.1 - status = preview -[submodule "qtquickeffectmaker"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquick3d - path = qtquickeffectmaker - url = ../qtquickeffectmaker.git - branch = 6.7.1 - status = addon -[submodule "qtgraphs"] - depends = qtbase qtdeclarative qtquick3d - path = qtgraphs - url = ../qtgraphs.git - branch = 6.7.1 - status = preview diff --git a/recipes/qt/6.x.x/qtmodules6.7.3.conf b/recipes/qt/6.x.x/qtmodules6.7.3.conf new file mode 100644 index 0000000000000..416cfaa7ace55 --- /dev/null +++ b/recipes/qt/6.x.x/qtmodules6.7.3.conf @@ -0,0 +1,338 @@ +[submodule "qtbase"] + path = qtbase + url = ../qtbase.git + branch = 6.7.3 + status = essential +[submodule "qtsvg"] + depends = qtbase + path = qtsvg + url = ../qtsvg.git + branch = 6.7.3 + status = addon +[submodule "qtdeclarative"] + depends = qtbase + recommends = qtimageformats qtshadertools qtsvg qtlanguageserver + path = qtdeclarative + url = ../qtdeclarative.git + branch = 6.7.3 + status = essential +[submodule "qtactiveqt"] + depends = qtbase + path = qtactiveqt + url = ../qtactiveqt.git + branch = 6.7.3 + status = addon +[submodule "qtmultimedia"] + depends = qtbase qtshadertools + recommends = qtdeclarative qtquick3d + path = qtmultimedia + url = ../qtmultimedia.git + branch = 6.7.3 + status = addon +[submodule "qttools"] + depends = qtbase + recommends = qtdeclarative qtactiveqt + path = qttools + url = ../qttools.git + branch = 6.7.3 + status = essential +[submodule "qtxmlpatterns"] + depends = qtbase + recommends = qtdeclarative + path = qtxmlpatterns + url = ../qtxmlpatterns.git + branch = dev + status = ignore +[submodule "qttranslations"] + depends = qttools + path = qttranslations + url = ../qttranslations.git + branch = 6.7.3 + status = essential + priority = 30 +[submodule "qtdoc"] + depends = qtdeclarative qttools + recommends = qtmultimedia qtshadertools qtwebengine + path = qtdoc + url = ../qtdoc.git + branch = 6.7.3 + status = essential + priority = 40 +[submodule "qtrepotools"] + path = qtrepotools + url = ../qtrepotools.git + branch = master + status = essential + project = - +[submodule "qtqa"] + depends = qtbase + path = qtqa + url = ../qtqa.git + branch = dev + status = essential + priority = 50 +[submodule "qtlocation"] + depends = qtbase qtpositioning + recommends = qtdeclarative + path = qtlocation + url = ../qtlocation.git + branch = 6.7.3 + status = preview +[submodule "qtpositioning"] + depends = qtbase + recommends = qtdeclarative qtserialport + path = qtpositioning + url = ../qtpositioning.git + branch = 6.7.3 + status = addon +[submodule "qtsensors"] + depends = qtbase + recommends = qtdeclarative + path = qtsensors + url = ../qtsensors.git + branch = 6.7.3 + status = addon +[submodule "qtsystems"] + depends = qtbase + recommends = qtdeclarative + path = qtsystems + url = ../qtsystems.git + branch = dev + status = ignore +[submodule "qtfeedback"] + depends = qtdeclarative + recommends = qtmultimedia + path = qtfeedback + url = ../qtfeedback.git + branch = master + status = ignore +[submodule "qtpim"] + depends = qtdeclarative + path = qtpim + url = ../qtpim.git + branch = dev + status = ignore +[submodule "qtconnectivity"] + depends = qtbase + recommends = qtdeclarative + path = qtconnectivity + url = ../qtconnectivity.git + branch = 6.7.3 + status = addon +[submodule "qtwayland"] + depends = qtbase + recommends = qtdeclarative + path = qtwayland + url = ../qtwayland.git + branch = 6.7.3 + status = addon +[submodule "qt3d"] + depends = qtbase + recommends = qtdeclarative qtshadertools qtmultimedia + path = qt3d + url = ../qt3d.git + branch = 6.7.3 + status = addon +[submodule "qtimageformats"] + depends = qtbase + path = qtimageformats + url = ../qtimageformats.git + branch = 6.7.3 + status = addon +[submodule "qtserialbus"] + depends = qtbase + recommends = qtserialport + path = qtserialbus + url = ../qtserialbus.git + branch = 6.7.3 + status = addon +[submodule "qtserialport"] + depends = qtbase + path = qtserialport + url = ../qtserialport.git + branch = 6.7.3 + status = addon +[submodule "qtwebsockets"] + depends = qtbase + recommends = qtdeclarative + path = qtwebsockets + url = ../qtwebsockets.git + branch = 6.7.3 + status = addon +[submodule "qtwebchannel"] + depends = qtbase + recommends = qtdeclarative qtwebsockets + path = qtwebchannel + url = ../qtwebchannel.git + branch = 6.7.3 + status = addon +[submodule "qtwebengine"] + depends = qtdeclarative + recommends = qtwebchannel qttools qtpositioning + path = qtwebengine + url = ../qtwebengine.git + branch = 6.7.3 + status = addon + priority = 10 +[submodule "qtcanvas3d"] + depends = qtdeclarative + path = qtcanvas3d + url = ../qtcanvas3d.git + branch = dev + status = ignore +[submodule "qtwebview"] + depends = qtdeclarative + recommends = qtwebengine + path = qtwebview + url = ../qtwebview.git + branch = 6.7.3 + status = addon +[submodule "qtcharts"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtcharts + url = ../qtcharts.git + branch = 6.7.3 + status = addon +[submodule "qtdatavis3d"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtdatavis3d + url = ../qtdatavis3d.git + branch = 6.7.3 + status = addon +[submodule "qtvirtualkeyboard"] + depends = qtbase qtdeclarative qtsvg + recommends = qtmultimedia + path = qtvirtualkeyboard + url = ../qtvirtualkeyboard.git + branch = 6.7.3 + status = addon +[submodule "qtgamepad"] + depends = qtbase + recommends = qtdeclarative + path = qtgamepad + url = ../qtgamepad.git + branch = dev + status = ignore +[submodule "qtscxml"] + depends = qtbase qtdeclarative + path = qtscxml + url = ../qtscxml.git + branch = 6.7.3 + status = addon +[submodule "qtspeech"] + depends = qtbase qtmultimedia + recommends = qtdeclarative + path = qtspeech + url = ../qtspeech.git + branch = 6.7.3 + status = addon +[submodule "qtnetworkauth"] + depends = qtbase + path = qtnetworkauth + url = ../qtnetworkauth.git + branch = 6.7.3 + status = addon +[submodule "qtremoteobjects"] + depends = qtbase + recommends = qtdeclarative + path = qtremoteobjects + url = ../qtremoteobjects.git + branch = 6.7.3 + status = addon +[submodule "qtwebglplugin"] + depends = qtbase qtwebsockets + recommends = qtdeclarative + path = qtwebglplugin + url = ../qtwebglplugin.git + branch = dev + status = ignore +[submodule "qtlottie"] + depends = qtbase qtdeclarative + path = qtlottie + url = ../qtlottie.git + branch = 6.7.3 + status = addon +[submodule "qtquicktimeline"] + depends = qtbase qtdeclarative + path = qtquicktimeline + url = ../qtquicktimeline + branch = 6.7.3 + status = addon +[submodule "qtquick3d"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquicktimeline + path = qtquick3d + url = ../qtquick3d.git + branch = 6.7.3 + status = addon +[submodule "qtshadertools"] + depends = qtbase + path = qtshadertools + url = ../qtshadertools.git + branch = 6.7.3 + status = addon +[submodule "qt5compat"] + depends = qtbase qtdeclarative + path = qt5compat + url = ../qt5compat.git + branch = 6.7.3 + status = deprecated +[submodule "qtcoap"] + depends = qtbase + path = qtcoap + url = ../qtcoap.git + branch = 6.7.3 + status = addon +[submodule "qtmqtt"] + depends = qtbase qtdeclarative + path = qtmqtt + url = ../qtmqtt.git + branch = 6.7.3 + status = addon +[submodule "qtopcua"] + depends = qtbase qtdeclarative + path = qtopcua + url = ../qtopcua.git + branch = 6.7.3 + status = addon +[submodule "qtlanguageserver"] + depends = qtbase + path = qtlanguageserver + url = ../qtlanguageserver.git + branch = 6.7.3 + status = preview +[submodule "qthttpserver"] + depends = qtbase + recommends = qtwebsockets + path = qthttpserver + url = ../qthttpserver.git + branch = 6.7.3 + status = preview +[submodule "qtquick3dphysics"] + depends = qtbase qtdeclarative qtquick3d qtshadertools + path = qtquick3dphysics + url = ../qtquick3dphysics.git + branch = 6.7.3 + status = addon +[submodule "qtgrpc"] + depends = qtbase + recommends = qtdeclarative + path = qtgrpc + url = ../qtgrpc.git + branch = 6.7.3 + status = preview +[submodule "qtquickeffectmaker"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquick3d + path = qtquickeffectmaker + url = ../qtquickeffectmaker.git + branch = 6.7.3 + status = addon +[submodule "qtgraphs"] + depends = qtbase qtdeclarative qtquick3d + path = qtgraphs + url = ../qtgraphs.git + branch = 6.7.3 + status = preview diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index c138b7fd62011..9272ecb61ec93 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -1,5 +1,5 @@ versions: - "6.7.1": + "6.7.3": folder: 6.x.x "6.6.3": folder: 6.x.x diff --git a/recipes/qtxlsxwriter/all/conanfile.py b/recipes/qtxlsxwriter/all/conanfile.py index 6acde10a92b2e..e8b849d77cbf6 100644 --- a/recipes/qtxlsxwriter/all/conanfile.py +++ b/recipes/qtxlsxwriter/all/conanfile.py @@ -7,7 +7,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.63.0" class QtXlsxWriterConan(ConanFile): @@ -45,7 +45,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("qt/5.15.13", transitive_headers=True, transitive_libs=True) + self.requires("qt/[~5.15]", transitive_headers=True, transitive_libs=True) def validate(self): if not self.dependencies["qt"].options.gui: @@ -56,7 +56,7 @@ def validate(self): def build_requirements(self): if hasattr(self, "settings_build") and cross_building(self): - self.tool_requires("qt/5.15.7") + self.tool_requires("qt/") def source(self): get(self, **self.conan_data["sources"][self.version]["source"], diff --git a/recipes/qtxlsxwriter/all/test_v1_package/CMakeLists.txt b/recipes/qtxlsxwriter/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/qtxlsxwriter/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/qtxlsxwriter/all/test_v1_package/conanfile.py b/recipes/qtxlsxwriter/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/qtxlsxwriter/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/quantlib/all/test_v1_package/CMakeLists.txt b/recipes/quantlib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/quantlib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/quantlib/all/test_v1_package/conanfile.py b/recipes/quantlib/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/quantlib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/quaternions/all/test_v1_package/CMakeLists.txt b/recipes/quaternions/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/quaternions/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/quaternions/all/test_v1_package/conanfile.py b/recipes/quaternions/all/test_v1_package/conanfile.py deleted file mode 100644 index 84ee68733e516..0000000000000 --- a/recipes/quaternions/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/quazip/all/conandata.yml b/recipes/quazip/all/conandata.yml index e1e86960ccb10..9ffb2b7d9ce95 100644 --- a/recipes/quazip/all/conandata.yml +++ b/recipes/quazip/all/conandata.yml @@ -8,9 +8,6 @@ sources: "1.2": url: "https://github.com/stachenov/quazip/archive/v1.2.tar.gz" sha256: "2dfb911d6b27545de0b98798d967c40430312377e6ade57096d6ec80c720cb61" - "1.1": - url: "https://github.com/stachenov/quazip/archive/v1.1.tar.gz" - sha256: "54edce9c11371762bd4f0003c2937b5d8806a2752dd9c0fd9085e90792612ad0" patches: "1.3": - patch_file: "patches/1.3-0001-use-cpp17-for-qt6.patch" diff --git a/recipes/quazip/all/conanfile.py b/recipes/quazip/all/conanfile.py index 6e40033d8025b..0d9d896af6cc1 100644 --- a/recipes/quazip/all/conanfile.py +++ b/recipes/quazip/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("qt/5.15.9", transitive_headers=True, transitive_libs=True) + self.requires("qt/[~5.15]", transitive_headers=True, transitive_libs=True) self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True) if Version(self.version) >= "1.4": self.requires("bzip2/1.0.8") diff --git a/recipes/quazip/all/test_v1_package/CMakeLists.txt b/recipes/quazip/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/quazip/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/quazip/all/test_v1_package/conanfile.py b/recipes/quazip/all/test_v1_package/conanfile.py deleted file mode 100644 index 97418087b1f8d..0000000000000 --- a/recipes/quazip/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - zipFile_path = os.path.join(self.source_folder, "zipFile.zip") - bin_path = os.path.join("bin", "test_package") - self.run(bin_path + " " + zipFile_path, run_environment=True) diff --git a/recipes/quazip/config.yml b/recipes/quazip/config.yml index 889c86eb7e377..f55a2df2807c5 100644 --- a/recipes/quazip/config.yml +++ b/recipes/quazip/config.yml @@ -5,5 +5,3 @@ versions: folder: all "1.2": folder: all - "1.1": - folder: all diff --git a/recipes/quickfast/all/test_v1_package/CMakeLists.txt b/recipes/quickfast/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/quickfast/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/quickfast/all/test_v1_package/conanfile.py b/recipes/quickfast/all/test_v1_package/conanfile.py deleted file mode 100644 index 600f82de3b940..0000000000000 --- a/recipes/quickfast/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class QuickfastTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test") - self.run(bin_path, run_environment=True) diff --git a/recipes/quickfix/all/test_v1_package/CMakeLists.txt b/recipes/quickfix/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/quickfix/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/quickfix/all/test_v1_package/conanfile.py b/recipes/quickfix/all/test_v1_package/conanfile.py deleted file mode 100644 index 3148dc9605e6c..0000000000000 --- a/recipes/quickfix/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class QuickfixTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "executor") - self.run(bin_path, run_environment=True) diff --git a/recipes/quickjs/all/test_v1_package/CMakeLists.txt b/recipes/quickjs/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2162b4d53343a..0000000000000 --- a/recipes/quickjs/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/quickjs/all/test_v1_package/conanfile.py b/recipes/quickjs/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/quickjs/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 39843805b4dcf..e135337274f21 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,19 @@ sources: + "7.5.0": + url: "https://github.com/odygrd/quill/releases/download/v7.5.0/quill-7.5.0.zip" + sha256: "cb0b7d43e54af7cb7ea912d2079eb439d185ddc5fe684f8297d28bb25015d503" + "7.4.0": + url: "https://github.com/odygrd/quill/releases/download/v7.4.0/quill-7.4.0.zip" + sha256: "298820c6e18e87070e01d0d11cb35de2d5007718e2a81f9ec9533b75d6233eac" + "7.3.0": + url: "https://github.com/odygrd/quill/releases/download/v7.3.0/quill-7.3.0.zip" + sha256: "ec58fadeecae50a331018ac0893d9d5d4dec7726cc213f9a343e12bb3fd4e50a" + "7.2.2": + url: "https://github.com/odygrd/quill/releases/download/v7.2.2/quill-7.2.2.zip" + sha256: "3b908f498e1a04b5bf2098108461ff2fab9c3350fccae62c96e54c0f868c00be" + "7.2.1": + url: "https://github.com/odygrd/quill/releases/download/v7.2.1/quill-7.2.1.zip" + sha256: "5ca27bbb8866489a9c2fb1da628d9ddfed423cbba1dd1d07c793d7a8237cfaab" "7.1.0": url: "https://github.com/odygrd/quill/releases/download/v7.1.0/quill-7.1.0.zip" sha256: "3edd1e142ae1a5b6d548c8af5bcf4339bf5889e49ade0806a4269c9587b954ae" @@ -14,9 +29,3 @@ sources: "4.4.1": url: "https://github.com/odygrd/quill/releases/download/v4.4.1/quill-v4.4.1.zip" sha256: "56587af304f152445bc3594c328521666e04e580200f7a4bbc5e842fc0d7868f" - "4.4.0": - url: "https://github.com/odygrd/quill/archive/v4.4.0.tar.gz" - sha256: "be166da93210df53aab34ece1bddd14b08506588186723b504ffeeec651bbf7c" - "4.3.0": - url: "https://github.com/odygrd/quill/archive/v4.3.0.tar.gz" - sha256: "c97bf3bfac6dfb7ed77fa08d945a490e302ba07e405539fda61985b39750cb29" diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index bb47bc324e691..beadc3d51e802 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -60,7 +60,6 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _patch_sources(self): # remove bundled fmt rmdir(self, os.path.join(self.source_folder, "quill", "quill", "include", "quill", "bundled", "fmt")) @@ -91,7 +90,6 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("pthread") - if Version(self.version) >= "4.4.0": - self.cpp_info.system_libs.append("rt") + self.cpp_info.system_libs.append("rt") if self.settings.compiler == "gcc" and Version(self.settings.compiler.version).major == "8": self.cpp_info.system_libs.append("stdc++fs") diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 7abb554e88e04..dd0889f70fe54 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,14 @@ versions: + "7.5.0": + folder: "all" + "7.4.0": + folder: "all" + "7.3.0": + folder: "all" + "7.2.2": + folder: "all" + "7.2.1": + folder: "all" "7.1.0": folder: "all" "6.1.0": @@ -9,21 +19,3 @@ versions: folder: "all" "4.4.1": folder: "all" - "4.4.0": - folder: "all" - "4.3.0": - folder: "all" - "3.9.0": - folder: "old" - "3.8.0": - folder: "old" - "3.7.0": - folder: "old" - "3.6.0": - folder: "old" - "3.5.1": - folder: "old" - "3.4.1": - folder: "old" - "3.3.1": - folder: "old" diff --git a/recipes/quill/old/conandata.yml b/recipes/quill/old/conandata.yml deleted file mode 100644 index e824ffff0b673..0000000000000 --- a/recipes/quill/old/conandata.yml +++ /dev/null @@ -1,22 +0,0 @@ -sources: - "3.9.0": - url: "https://github.com/odygrd/quill/archive/v3.9.0.tar.gz" - sha256: "6e6a46dc6ae94e8321aca00d27dae754dcc51ee83fe60078f8f1f3eb7b3b227b" - "3.8.0": - url: "https://github.com/odygrd/quill/archive/v3.8.0.tar.gz" - sha256: "d3e1b349c5d6904c9644e5b79ec65f21692e8094a3d75241a7fe071076eef4dd" - "3.7.0": - url: "https://github.com/odygrd/quill/archive/v3.7.0.tar.gz" - sha256: "53afe555c32b4263c9d31ec11bd0d858983374af7a5e79eb26124f803b192515" - "3.6.0": - url: "https://github.com/odygrd/quill/archive/v3.6.0.tar.gz" - sha256: "ba9dc3df262f2e65c57904580cc8407eba9a462001340c17bab7ae1dccddb4bd" - "3.5.1": - url: "https://github.com/odygrd/quill/archive/v3.5.1.tar.gz" - sha256: "9fa4ebe594c66ce2a409630c304724fa7a2ada0d842ba9c9aaf05f0a90b461f9" - "3.4.1": - url: "https://github.com/odygrd/quill/archive/v3.4.1.tar.gz" - sha256: "99f6497b8ba37c30c871fab89f14cd7bc989f3eaa921ccd940a521ee60a6a1c5" - "3.3.1": - url: "https://github.com/odygrd/quill/archive/v3.3.1.tar.gz" - sha256: "f929d54a115b45c32dd2acd1a9810336d35c31fde9f5581c51ad2b80f980d0d1" diff --git a/recipes/quill/old/conanfile.py b/recipes/quill/old/conanfile.py deleted file mode 100644 index 1450559554d50..0000000000000 --- a/recipes/quill/old/conanfile.py +++ /dev/null @@ -1,143 +0,0 @@ -from conan import ConanFile -from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, copy, rmdir -from conan.tools.build import check_min_cppstd -from conan.tools.scm import Version -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.microsoft import is_msvc - -import os - -required_conan_version = ">=1.52.0" - -class QuillConan(ConanFile): - name = "quill" - description = "Asynchronous Low Latency C++ Logging Library" - license = "MIT" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/odygrd/quill/" - topics = ("logging", "log", "async") - package_type = "static-library" - settings = "os", "arch", "compiler", "build_type" - options = { - "fPIC": [True, False], - "with_bounded_queue": [True, False], - "with_no_exceptions": [True, False], - "with_x86_arch": [True, False], - "with_bounded_blocking_queue": [True, False], - } - default_options = { - "fPIC": True, - "with_bounded_queue": False, - "with_no_exceptions": False, - "with_x86_arch": False, - "with_bounded_blocking_queue": False, - } - - @property - def _min_cppstd(self): - return "17" - - @property - def _compilers_minimum_versions(self): - return { - "gcc": "8", - "Visual Studio": "16", - "clang": "7", - "apple-clang": "12", - } - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def layout(self): - cmake_layout(self, src_folder="src") - - def requirements(self): - self.requires("fmt/10.2.1", transitive_headers=True) - - def validate(self): - supported_archs = ["x86", "x86_64", "armv6", "armv7", "armv7hf", "armv8"] - - if not any(arch in str(self.settings.arch) for arch in supported_archs): - raise ConanInvalidConfiguration(f"{self.settings.arch} is not supported by {self.ref}") - - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._min_cppstd) - - compilers_minimum_version = self._compilers_minimum_versions - minimum_version = compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version: - if Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") - else: - self.output.warning(f"{self.ref} requires C++{self._min_cppstd}. Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") - - if self.settings.compiler== "clang" and Version(self.settings.compiler.version).major == "11" and \ - self.settings.compiler.libcxx == "libstdc++": - raise ConanInvalidConfiguration(f"{self.ref} requires C++ filesystem library, which your compiler doesn't support.") - - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) - - def is_quilll_x86_arch(self): - if not self.options.with_x86_arch: - return False - if self.settings.arch not in ("x86", "x86_64"): - return False - if self.settings.compiler == "clang" and self.settings.compiler.libcxx == "libc++": - return False - if is_msvc(self): - return False - return True - - def generate(self): - tc = CMakeToolchain(self) - tc.variables["QUILL_FMT_EXTERNAL"] = True - tc.variables["QUILL_ENABLE_INSTALL"] = True - if self.options.with_bounded_queue: - tc.preprocessor_definitions["QUILL_USE_BOUNDED_QUEUE"] = 1 - tc.variables["QUILL_NO_EXCEPTIONS"] = self.options.with_no_exceptions - tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True - if self.is_quilll_x86_arch(): - tc.preprocessor_definitions["QUILL_X86ARCH"] = 1 - tc.variables["CMAKE_CXX_FLAGS"] = "-mclflushopt" - if self.options.get_safe("with_bounded_blocking_queue"): - tc.preprocessor_definitions["QUILL_USE_BOUNDED_BLOCKING_QUEUE"] = 1 - tc.variables["QUILL_DISABLE_POSITION_INDEPENDENT_CODE"] = not self.options.get_safe("fPIC") - tc.generate() - - deps = CMakeDeps(self) - deps.generate() - - def _patch_sources(self): - # remove bundled fmt - rmdir(self, os.path.join(self.source_folder, "quill", "quill", "include", "quill", "bundled", "fmt")) - rmdir(self, os.path.join(self.source_folder, "quill", "quill", "src", "bundled", "fmt")) - - def build(self): - self._patch_sources() - cmake = CMake(self) - cmake.configure() - cmake.build() - - def package(self): - copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - - cmake = CMake(self) - cmake.install() - rmdir(self, os.path.join(self.package_folder, "pkgconfig")) - rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - - def package_info(self): - self.cpp_info.libs = ["quill"] - if self.is_quilll_x86_arch(): - self.cpp_info.defines.append("QUILL_X86ARCH") - self.cpp_info.cxxflags.append("-mclflushopt") - self.cpp_info.defines.append("QUILL_FMT_EXTERNAL") - - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.append("pthread") - if self.settings.compiler == "gcc" and Version(self.settings.compiler.version).major == "8": - self.cpp_info.system_libs.append("stdc++fs") diff --git a/recipes/quill/old/test_package/CMakeLists.txt b/recipes/quill/old/test_package/CMakeLists.txt deleted file mode 100644 index 519d5ee2b3973..0000000000000 --- a/recipes/quill/old/test_package/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -find_package(quill REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} test_package.cpp) - -target_link_libraries(${PROJECT_NAME} PRIVATE quill::quill) -if(quill_VERSION VERSION_GREATER_EQUAL "2.0.0") - target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) -else() - target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) -endif() - -if(quill_VERSION VERSION_GREATER_EQUAL "3.3.0") - target_compile_definitions(${PROJECT_NAME} PRIVATE QUILL_FILE_HANDLERS_API_V3_3) -endif() diff --git a/recipes/quill/old/test_package/conanfile.py b/recipes/quill/old/test_package/conanfile.py deleted file mode 100644 index a9fb96656f203..0000000000000 --- a/recipes/quill/old/test_package/conanfile.py +++ /dev/null @@ -1,26 +0,0 @@ -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 requirements(self): - self.requires(self.tested_reference_str) - - def layout(self): - cmake_layout(self) - - 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.bindirs[0], "test_package") - self.run(bin_path, env="conanrun") diff --git a/recipes/quill/old/test_package/test_package.cpp b/recipes/quill/old/test_package/test_package.cpp deleted file mode 100644 index b02a6dd344b06..0000000000000 --- a/recipes/quill/old/test_package/test_package.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "quill/Quill.h" - -int main() -{ - quill::start(); -#ifdef QUILL_FILE_HANDLERS_API_V3_3 - auto file_handler = quill::file_handler("logfile.log", []() { - quill::FileHandlerConfig cfg; - cfg.set_open_mode('w'); - return cfg; - }()); -#else - auto file_handler = quill::file_handler("logfile.log", "w"); -#endif - auto my_logger = quill::create_logger("my_logger", std::move(file_handler)); - - LOG_INFO(my_logger, "Hello from {}", "Quill"); - LOG_CRITICAL(my_logger, "This is a conan example {}", 1234); -} diff --git a/recipes/quill/old/test_v1_package/CMakeLists.txt b/recipes/quill/old/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/quill/old/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/quill/old/test_v1_package/conanfile.py b/recipes/quill/old/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/quill/old/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/quirc/all/test_v1_package/CMakeLists.txt b/recipes/quirc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/quirc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/quirc/all/test_v1_package/conanfile.py b/recipes/quirc/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/quirc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/qwt/all/conanfile.py b/recipes/qwt/all/conanfile.py index 8cc76b47a4e49..631bed2233c8a 100644 --- a/recipes/qwt/all/conanfile.py +++ b/recipes/qwt/all/conanfile.py @@ -63,7 +63,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("qt/5.15.11", transitive_headers=True, transitive_libs=True) + self.requires("qt/[~5.15]", transitive_headers=True, transitive_libs=True) def validate(self): if hasattr(self, "settings_build") and cross_building(self): diff --git a/recipes/qxlsx/all/conandata.yml b/recipes/qxlsx/all/conandata.yml index 68d91ea6c0831..6fe82782f6bed 100644 --- a/recipes/qxlsx/all/conandata.yml +++ b/recipes/qxlsx/all/conandata.yml @@ -1,18 +1,18 @@ sources: + "1.4.9": + url: "https://github.com/QtExcel/QXlsx/archive/refs/tags/v1.4.9.zip" + sha256: "2582c8929163c267658ed65b5b1d3e2edff34c2dd53a6e34ea5f4d3e3f7359cd" "1.4.5": url: "https://github.com/QtExcel/QXlsx/archive/refs/tags/v1.4.5.zip" sha256: "eadcad2718335673f86fe20fd91e822e6c1e3624483be9d79cf79254e5426067" - "1.4.4": - url: "https://github.com/QtExcel/QXlsx/archive/refs/tags/v1.4.4.zip" - sha256: "3efbd6f63a1ffd521c535dce7b5a5a7e9ebd23db51e6ae8e3e2eb89796e57675" - "1.4.3": - url: "https://github.com/QtExcel/QXlsx/archive/refs/tags/v1.4.3.zip" - sha256: "d2f7c6aff71f2f30ade8d8020682e36a3d63f422a5d2f1c5831b55573241bd4a" patches: - "1.4.3": - - patch_file: "patches/1.4.3/0001-allow-shared.patch" - patch_type: "conan" - patch_source: "https://github.com/QtExcel/QXlsx/pull/197" - - patch_file: "patches/1.4.3/0002-add-install-target.patch" - patch_type: "conan" - patch_source: "https://github.com/QtExcel/QXlsx/pull/197" + "1.4.5": + - patch_file: "patches/1.4.5-0001-fix-qt6-version.patch" + patch_description: "Fix Qt find package version" + patch_type: "portability" + patch_source: "https://github.com/QtExcel/QXlsx/commit/08c8128e9b533de15127a5cfd0fc69122a2d82d9" + "1.4.9": + - patch_file: "patches/1.4.9-0001-fix-qstring-error.patch" + patch_description: "Fix a QString compilation error" + patch_type: "backport" + patch_source: "https://github.com/QtExcel/QXlsx/commit/11bafef83286e79a95f17773926b62253ba53cab" diff --git a/recipes/qxlsx/all/conanfile.py b/recipes/qxlsx/all/conanfile.py index 28fac77f7f2b5..c4f0d548df54a 100644 --- a/recipes/qxlsx/all/conanfile.py +++ b/recipes/qxlsx/all/conanfile.py @@ -1,16 +1,19 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout -from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.files import export_conandata_patches, apply_conandata_patches, copy, get, rmdir from conan.tools.scm import Version +from conan.tools.env import VirtualRunEnv +from conan.tools.microsoft import is_msvc +from conan.tools.build import check_min_cppstd +from conan.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0.9" class QXlsxConan(ConanFile): name = "qxlsx" - description = "Excel file(*.xlsx) reader/writer library using Qt 5 or 6." + description = "Excel file (*.xlsx) reader/writer library using Qt 5 or 6." license = "MIT" topics = ("excel", "xlsx") homepage = "https://github.com/QtExcel/QXlsx" @@ -25,40 +28,46 @@ class QXlsxConan(ConanFile): "shared": False, "fPIC": True, } + implements = ["auto_shared_fpic"] @property def _qt_version(self): - return Version(self.dependencies["qt"].ref.version).major + return str(Version(self.dependencies["qt"].ref.version).major) def export_sources(self): export_conandata_patches(self) - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("qt/5.15.9") + # INFO: QXlsx/xlsxdocument.h includes QtGlobal + # INFO: transitive libs: undefined reference to symbol '_ZN10QArrayData10deallocateEPS_mm@@Qt_5' + self.requires("qt/[>=6.7 <7]", transitive_headers=True, transitive_libs=True) + + def validate(self): + check_min_cppstd(self, 11) + if not self.dependencies["qt"].options.gui: + raise ConanInvalidConfiguration(f"{self.ref} requires Qt with gui component. Use '-o qt/*:gui=True'") def build_requirements(self): - if Version(self.version) >= "1.4.4": - self.tool_requires("cmake/[>=3.16 <4]") + self.tool_requires("cmake/[>=3.16 <4]") + # INFO: QXlsx use Qt automoc: https://github.com/QtExcel/QXlsx/blob/v1.4.9/QXlsx/CMakeLists.txt#L12 + self.tool_requires("qt/") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): - tc = VirtualBuildEnv(self) - tc.generate() + # INFO: In order to find Qt moc application + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = CMakeToolchain(self) - tc.variables["QT_VERSION_MAJOR"] = self._qt_version + tc.cache_variables["QT_VERSION_MAJOR"] = self._qt_version + # INFO: QXlsx use cached CMAKE_CXX_STANDARD value: + # https://github.com/QtExcel/QXlsx/blob/v1.4.9/QXlsx/CMakeLists.txt#L23 + tc.cache_variables["CMAKE_CXX_STANDARD"] = self.settings.get_safe("compiler.cppstd").replace("gnu", "") tc.generate() tc = CMakeDeps(self) tc.generate() @@ -66,30 +75,23 @@ def generate(self): def build(self): apply_conandata_patches(self) cmake = CMake(self) - cmake.configure(build_script_folder="QXlsx") + cmake.configure(build_script_folder=os.path.join(self.source_folder, "QXlsx")) cmake.build() def package(self): - copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) - cmake.configure(build_script_folder="QXlsx") cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - self.cpp_info.set_property("cmake_file_name", "QXlsx") - self.cpp_info.set_property("cmake_target_name", "QXlsx::Core") - # TODO: back to global scope in conan v2 once cmake_find_package* generators removed - if Version(self.version) <= "1.4.4": - self.cpp_info.components["qxlsx_core"].libs = ["QXlsx"] - else: - self.cpp_info.components["qxlsx_core"].libs = [f"QXlsxQt{self._qt_version}"] - self.cpp_info.components["qxlsx_core"].includedirs = [os.path.join("include", "QXlsx")] - self.cpp_info.components["qxlsx_core"].requires = ["qt::qtCore", "qt::qtGui"] - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "QXlsx" - self.cpp_info.names["cmake_find_package_multi"] = "QXlsx" - self.cpp_info.components["qxlsx_core"].names["cmake_find_package"] = "Core" - self.cpp_info.components["qxlsx_core"].names["cmake_find_package_multi"] = "Core" - self.cpp_info.components["qxlsx_core"].set_property("cmake_target_name", "QXlsx::Core") + cmake_name = f"QXlsxQt{self._qt_version}" + self.cpp_info.set_property("cmake_file_name", cmake_name) + self.cpp_info.set_property("cmake_target_name", "QXlsx::QXlsx") + self.cpp_info.set_property("cmake_target_aliases", ["QXlsx"]) + self.cpp_info.libs = [cmake_name] + includedir = f"QXlsxQt{self._qt_version}" if Version(self.version) >= "1.4.6" else "QXlsx" + self.cpp_info.includedirs = ["include", os.path.join("include", includedir)] + self.cpp_info.requires = ["qt::qtCore", "qt::qtGui"] + if is_msvc(self) and self.options.shared: + self.cpp_info.defines = ["QXlsx_SHAREDLIB"] diff --git a/recipes/qxlsx/all/patches/1.4.3/0001-allow-shared.patch b/recipes/qxlsx/all/patches/1.4.3/0001-allow-shared.patch deleted file mode 100644 index b640cac70894b..0000000000000 --- a/recipes/qxlsx/all/patches/1.4.3/0001-allow-shared.patch +++ /dev/null @@ -1,218 +0,0 @@ ---- a/QXlsx/CMakeLists.txt -+++ b/QXlsx/CMakeLists.txt -@@ -39,7 +39,7 @@ file(GLOB QXLSX_H "${QXLSX_HEADERPATH}/*.h") - set(SRC_FILES ${QXLSX_CPP}) - list(APPEND SRC_FILES ${QXLSX_H}) - --add_library(QXlsx STATIC -+add_library(QXlsx - ${SRC_FILES} ) - - target_include_directories(QXlsx PRIVATE ${QXLSX_HEADERPATH}) -@@ -50,3 +50,6 @@ target_link_libraries(${PROJECT_NAME} - ) - - target_compile_definitions(QXlsx PRIVATE QXLSX_LIBRARY) -+if (BUILD_SHARED_LIBS) -+ target_compile_definitions(QXlsx PRIVATE QXLSX_SHARED) -+endif() ---- a/QXlsx/header/xlsxabstractooxmlfile.h -+++ b/QXlsx/header/xlsxabstractooxmlfile.h -@@ -10,7 +10,7 @@ QT_BEGIN_NAMESPACE_XLSX - class Relationships; - class AbstractOOXmlFilePrivate; - --class AbstractOOXmlFile -+class QXLSX_EXPORT AbstractOOXmlFile - { - Q_DECLARE_PRIVATE(AbstractOOXmlFile) - ---- a/QXlsx/header/xlsxabstractsheet.h -+++ b/QXlsx/header/xlsxabstractsheet.h -@@ -12,7 +12,7 @@ class Workbook; - class Drawing; - class AbstractSheetPrivate; - --class AbstractSheet : public AbstractOOXmlFile -+class QXLSX_EXPORT AbstractSheet : public AbstractOOXmlFile - { - Q_DECLARE_PRIVATE(AbstractSheet) - ---- a/QXlsx/header/xlsxcell.h -+++ b/QXlsx/header/xlsxcell.h -@@ -24,7 +24,7 @@ class CellFormula; - class CellPrivate; - class WorksheetPrivate; - --class Cell -+class QXLSX_EXPORT Cell - { - Q_DECLARE_PRIVATE(Cell) - ---- a/QXlsx/header/xlsxcellformula.h -+++ b/QXlsx/header/xlsxcellformula.h -@@ -17,7 +17,7 @@ class CellRange; - class Worksheet; - class WorksheetPrivate; - --class CellFormula -+class QXLSX_EXPORT CellFormula - { - public: - enum FormulaType { NormalType, ArrayType, DataTableType, SharedType }; ---- a/QXlsx/header/xlsxcelllocation.h -+++ b/QXlsx/header/xlsxcelllocation.h -@@ -17,7 +17,7 @@ QT_BEGIN_NAMESPACE_XLSX - - class Cell; - --class CellLocation -+class QXLSX_EXPORT CellLocation - { - public: - CellLocation(); ---- a/QXlsx/header/xlsxcellrange.h -+++ b/QXlsx/header/xlsxcellrange.h -@@ -12,7 +12,7 @@ - QT_BEGIN_NAMESPACE_XLSX - - // dev57 --class CellRange -+class QXLSX_EXPORT CellRange - { - public: - CellRange(); ---- a/QXlsx/header/xlsxcellreference.h -+++ b/QXlsx/header/xlsxcellreference.h -@@ -9,7 +9,7 @@ - - QT_BEGIN_NAMESPACE_XLSX - --class CellReference -+class QXLSX_EXPORT CellReference - { - public: - CellReference(); ---- a/QXlsx/header/xlsxchart.h -+++ b/QXlsx/header/xlsxchart.h -@@ -18,7 +18,7 @@ class ChartPrivate; - class CellRange; - class DrawingAnchor; - --class Chart : public AbstractOOXmlFile -+class QXLSX_EXPORT Chart : public AbstractOOXmlFile - { - Q_DECLARE_PRIVATE(Chart) - public: ---- a/QXlsx/header/xlsxchartsheet.h -+++ b/QXlsx/header/xlsxchartsheet.h -@@ -16,7 +16,7 @@ class DocumentPrivate; - class ChartsheetPrivate; - class Chart; - --class Chartsheet : public AbstractSheet -+class QXLSX_EXPORT Chartsheet : public AbstractSheet - { - Q_DECLARE_PRIVATE(Chartsheet) - ---- a/QXlsx/header/xlsxconditionalformatting.h -+++ b/QXlsx/header/xlsxconditionalformatting.h -@@ -24,7 +24,7 @@ class Worksheet; - class Styles; - class ConditionalFormattingPrivate; - --class ConditionalFormatting -+class QXLSX_EXPORT ConditionalFormatting - { - public: - enum HighlightRuleType { ---- a/QXlsx/header/xlsxdatavalidation.h -+++ b/QXlsx/header/xlsxdatavalidation.h -@@ -22,7 +22,7 @@ class CellRange; - class CellReference; - - class DataValidationPrivate; --class DataValidation -+class QXLSX_EXPORT DataValidation - { - public: - enum ValidationType ---- a/QXlsx/header/xlsxdatetype.h -+++ b/QXlsx/header/xlsxdatetype.h -@@ -15,7 +15,7 @@ - - QT_BEGIN_NAMESPACE_XLSX - --class DateType -+class QXLSX_EXPORT DateType - { - public: - DateType(); ---- a/QXlsx/header/xlsxdocument.h -+++ b/QXlsx/header/xlsxdocument.h -@@ -24,7 +24,7 @@ class Chart; - class CellReference; - class DocumentPrivate; - --class Document : public QObject -+class QXLSX_EXPORT Document : public QObject - { - Q_OBJECT - Q_DECLARE_PRIVATE(Document) // D-Pointer. Qt classes have a Q_DECLARE_PRIVATE ---- a/QXlsx/header/xlsxformat.h -+++ b/QXlsx/header/xlsxformat.h -@@ -24,7 +24,7 @@ class SharedStrings; - - class FormatPrivate; - --class Format -+class QXLSX_EXPORT Format - { - public: - enum FontScript ---- a/QXlsx/header/xlsxglobal.h -+++ b/QXlsx/header/xlsxglobal.h -@@ -30,4 +30,10 @@ - #define Q_DECL_NOTHROW - #endif - -+#ifdef QXLSX_SHARED -+#define QXLSX_EXPORT Q_DECL_EXPORT -+#else -+#define QXLSX_EXPORT -+#endif -+ - #endif // XLSXGLOBAL_H ---- a/QXlsx/header/xlsxrichstring.h -+++ b/QXlsx/header/xlsxrichstring.h -@@ -37,7 +37,7 @@ class RichString; - // qHash is a friend, but we can't use default arguments for friends (§8.3.6.4) - uint qHash(const RichString &rs, uint seed = 0) Q_DECL_NOTHROW; - --class RichString -+class QXLSX_EXPORT RichString - { - public: - RichString(); ---- a/QXlsx/header/xlsxworkbook.h -+++ b/QXlsx/header/xlsxworkbook.h -@@ -28,7 +28,7 @@ class Chartsheet; - class Worksheet; - class WorkbookPrivate; - --class Workbook : public AbstractOOXmlFile -+class QXLSX_EXPORT Workbook : public AbstractOOXmlFile - { - Q_DECLARE_PRIVATE(Workbook) - public: ---- a/QXlsx/header/xlsxworksheet.h -+++ b/QXlsx/header/xlsxworksheet.h -@@ -37,7 +37,7 @@ class Relationships; - class Chart; - - class WorksheetPrivate; --class Worksheet : public AbstractSheet -+class QXLSX_EXPORT Worksheet : public AbstractSheet - { - Q_DECLARE_PRIVATE(Worksheet) - diff --git a/recipes/qxlsx/all/patches/1.4.3/0002-add-install-target.patch b/recipes/qxlsx/all/patches/1.4.3/0002-add-install-target.patch deleted file mode 100644 index 48125aa4d3f43..0000000000000 --- a/recipes/qxlsx/all/patches/1.4.3/0002-add-install-target.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- a/QXlsx/CMakeLists.txt -+++ b/QXlsx/CMakeLists.txt -@@ -53,3 +53,34 @@ target_compile_definitions(QXlsx PRIVATE QXLSX_LIBRARY) - if (BUILD_SHARED_LIBS) - target_compile_definitions(QXlsx PRIVATE QXLSX_SHARED) - endif() -+ -+set(QXLSX_PUBLIC_HEADERS -+ header/xlsxdocument.h -+ header/xlsxabstractooxmlfile.h -+ header/xlsxabstractsheet.h -+ header/xlsxabstractsheet_p.h -+ header/xlsxcellformula.h -+ header/xlsxcell.h -+ header/xlsxcelllocation.h -+ header/xlsxcellrange.h -+ header/xlsxcellreference.h -+ header/xlsxchart.h -+ header/xlsxchartsheet.h -+ header/xlsxconditionalformatting.h -+ header/xlsxdatavalidation.h -+ header/xlsxdatetype.h -+ header/xlsxdocument.h -+ header/xlsxformat.h -+ header/xlsxglobal.h -+ header/xlsxrichstring.h -+ header/xlsxworkbook.h -+ header/xlsxworksheet.h -+) -+set_property(TARGET QXlsx PROPERTY PUBLIC_HEADER ${QXLSX_PUBLIC_HEADERS}) -+include(GNUInstallDirs) -+install(TARGETS QXlsx -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/QXlsx -+) diff --git a/recipes/qxlsx/all/patches/1.4.5-0001-fix-qt6-version.patch b/recipes/qxlsx/all/patches/1.4.5-0001-fix-qt6-version.patch new file mode 100644 index 0000000000000..74dd1e56db069 --- /dev/null +++ b/recipes/qxlsx/all/patches/1.4.5-0001-fix-qt6-version.patch @@ -0,0 +1,13 @@ +diff --git a/QXlsx/CMakeLists.txt b/QXlsx/CMakeLists.txt +index 7207f94..5cbb2dd 100644 +--- a/QXlsx/CMakeLists.txt ++++ b/QXlsx/CMakeLists.txt +@@ -16,7 +16,7 @@ include(GNUInstallDirs) + if(NOT DEFINED QT_VERSION_MAJOR) + find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui REQUIRED) + endif() +-find_package(Qt${QT_VERSION_MAJOR} 5.9 COMPONENTS Core Gui REQUIRED) ++find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui REQUIRED) + set(EXPORT_NAME QXlsxQt${QT_VERSION_MAJOR}) + + if (QT_VERSION_MAJOR EQUAL 6) diff --git a/recipes/qxlsx/all/patches/1.4.9-0001-fix-qstring-error.patch b/recipes/qxlsx/all/patches/1.4.9-0001-fix-qstring-error.patch new file mode 100644 index 0000000000000..2371f39b2580a --- /dev/null +++ b/recipes/qxlsx/all/patches/1.4.9-0001-fix-qstring-error.patch @@ -0,0 +1,22 @@ +A fix for https://github.com/QtExcel/QXlsx/issues/349 based on +https://github.com/QtExcel/QXlsx/commit/11bafef83286e79a95f17773926b62253ba53cab +--- a/QXlsx/source/xlsxworkbook.cpp ++++ b/QXlsx/source/xlsxworkbook.cpp +@@ -607,7 +607,7 @@ + + AbstractSheet *sheet = addSheet(name, sheetId, type); + sheet->setSheetState(state); +- if (relationship.target.startsWith("/")) { ++ if (relationship.target.startsWith(u'/')) { + QString fullPath = QDir::cleanPath(relationship.target.mid(1)); + + sheet->setFilePath(fullPath); +@@ -618,7 +618,7 @@ + // QLatin1String("/") + relationship.target); + const auto parts = splitPath(strFilePath); + QString fullPath = +- QDir::cleanPath(parts.first() + QLatin1String("/") + relationship.target); ++ QDir::cleanPath(parts.first() + u'/' + relationship.target); + + sheet->setFilePath(fullPath); + } diff --git a/recipes/qxlsx/all/test_package/CMakeLists.txt b/recipes/qxlsx/all/test_package/CMakeLists.txt index d57016937dd42..a923ec44aef44 100644 --- a/recipes/qxlsx/all/test_package/CMakeLists.txt +++ b/recipes/qxlsx/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -find_package(QXlsx REQUIRED CONFIG) +find_package(QXlsxQt5 QUIET CONFIG) +find_package(QXlsxQt6 QUIET CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE QXlsx::Core) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +target_link_libraries(${PROJECT_NAME} PRIVATE QXlsx::QXlsx) diff --git a/recipes/qxlsx/all/test_package/conanfile.py b/recipes/qxlsx/all/test_package/conanfile.py index 6d529581ba2f5..d551a686af756 100644 --- a/recipes/qxlsx/all/test_package/conanfile.py +++ b/recipes/qxlsx/all/test_package/conanfile.py @@ -1,23 +1,18 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "VirtualRunEnv" - + generators = "CMakeToolchain", "CMakeDeps" def requirements(self): self.requires(self.tested_reference_str) def layout(self): cmake_layout(self) - def generate(self): - tc = CMakeToolchain(self) - tc.generate() - def build(self): cmake = CMake(self) cmake.configure() @@ -25,5 +20,5 @@ def build(self): def test(self): if can_run(self): - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/qxlsx/all/test_package/test_package.cpp b/recipes/qxlsx/all/test_package/test_package.cpp index ec71d1106e960..14f8874944818 100644 --- a/recipes/qxlsx/all/test_package/test_package.cpp +++ b/recipes/qxlsx/all/test_package/test_package.cpp @@ -1,15 +1,9 @@ -#include -#include #include int main() { - QBuffer device; - device.open(QIODevice::WriteOnly); - - QXlsx::Document xlsx1; - xlsx1.write("A1", true); - xlsx1.write("A2", false); - xlsx1.saveAs(&device); + // INFO: Document does not exist. Only for test package purposes. + QXlsx::Document xlsxR("Test.xlsx"); + xlsxR.load(); return 0; } diff --git a/recipes/qxlsx/all/test_v1_package/CMakeLists.txt b/recipes/qxlsx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/qxlsx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/qxlsx/all/test_v1_package/conanfile.py b/recipes/qxlsx/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/qxlsx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/qxlsx/config.yml b/recipes/qxlsx/config.yml index c1105e1540729..37a3a269ffdb9 100644 --- a/recipes/qxlsx/config.yml +++ b/recipes/qxlsx/config.yml @@ -1,7 +1,5 @@ versions: - "1.4.5": - folder: "all" - "1.4.4": + "1.4.9": folder: "all" - "1.4.3": + "1.4.5": folder: "all" diff --git a/recipes/r8brain-free-src/all/test_v1_package/CMakeLists.txt b/recipes/r8brain-free-src/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/r8brain-free-src/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/r8brain-free-src/all/test_v1_package/conanfile.py b/recipes/r8brain-free-src/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/r8brain-free-src/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rabbitmq-c/all/conandata.yml b/recipes/rabbitmq-c/all/conandata.yml index eeadabf60d0ef..2457475388964 100755 --- a/recipes/rabbitmq-c/all/conandata.yml +++ b/recipes/rabbitmq-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.15.0": + url: "https://github.com/alanxz/rabbitmq-c/archive/v0.15.0.tar.gz" + sha256: "7b652df52c0de4d19ca36c798ed81378cba7a03a0f0c5d498881ae2d79b241c2" "0.14.0": url: "https://github.com/alanxz/rabbitmq-c/archive/v0.14.0.tar.gz" sha256: "839b28eae20075ac58f45925fe991d16a3138cbde015db0ee11df1acb1c493df" diff --git a/recipes/rabbitmq-c/all/test_v1_package/CMakeLists.txt b/recipes/rabbitmq-c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/rabbitmq-c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rabbitmq-c/all/test_v1_package/conanfile.py b/recipes/rabbitmq-c/all/test_v1_package/conanfile.py deleted file mode 100644 index 4d163cccc8134..0000000000000 --- a/recipes/rabbitmq-c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import CMake, ConanFile, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["RABBITMQ_SHARED"] = self.options["rabbitmq-c"].shared - cmake.definitions["WITH_SSL"] = self.options["rabbitmq-c"].ssl - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rabbitmq-c/config.yml b/recipes/rabbitmq-c/config.yml index b97f7da4c2ee8..b74d07f4b3c76 100644 --- a/recipes/rabbitmq-c/config.yml +++ b/recipes/rabbitmq-c/config.yml @@ -1,4 +1,6 @@ versions: + "0.15.0": + folder: all "0.14.0": folder: all "0.13.0": diff --git a/recipes/ragel/all/test_v1_package/conanfile.py b/recipes/ragel/all/test_v1_package/conanfile.py deleted file mode 100644 index 0299aedde34df..0000000000000 --- a/recipes/ragel/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,10 +0,0 @@ -from conans import ConanFile, tools - - -class TestPackageConan(ConanFile): - - settings = "os", "arch", "build_type", "compiler" - - def test(self): - if not tools.cross_building(self): - self.run("ragel --version", run_environment=True) diff --git a/recipes/rang/all/test_v1_package/CMakeLists.txt b/recipes/rang/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/rang/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/rang/all/test_v1_package/conanfile.py b/recipes/rang/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/rang/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/range-v3/all/test_v1_package/CMakeLists.txt b/recipes/range-v3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/range-v3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/range-v3/all/test_v1_package/conanfile.py b/recipes/range-v3/all/test_v1_package/conanfile.py deleted file mode 100644 index 647a78dd80032..0000000000000 --- a/recipes/range-v3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["VERSION"] = self.deps_cpp_info["range-v3"].version - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rangeless/all/test_v1_package/CMakeLists.txt b/recipes/rangeless/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/rangeless/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rangeless/all/test_v1_package/conanfile.py b/recipes/rangeless/all/test_v1_package/conanfile.py deleted file mode 100644 index 6c9d5dba712c7..0000000000000 --- a/recipes/rangeless/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rangesnext/all/test_v1_package/CMakeLists.txt b/recipes/rangesnext/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/rangesnext/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rangesnext/all/test_v1_package/conanfile.py b/recipes/rangesnext/all/test_v1_package/conanfile.py deleted file mode 100644 index 6c9d5dba712c7..0000000000000 --- a/recipes/rangesnext/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rapidcheck/all/test_v1_package/CMakeLists.txt b/recipes/rapidcheck/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/rapidcheck/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rapidcheck/all/test_v1_package/conanfile.py b/recipes/rapidcheck/all/test_v1_package/conanfile.py deleted file mode 100644 index 8037a9296cc42..0000000000000 --- a/recipes/rapidcheck/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rapidcsv/all/conandata.yml b/recipes/rapidcsv/all/conandata.yml index 9764e6f2eeb8e..12ca9bb815fc4 100644 --- a/recipes/rapidcsv/all/conandata.yml +++ b/recipes/rapidcsv/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.84": + url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.84.tar.gz" + sha256: "213699f46a2a29fc2f45c2f9f66ccbe5383aebe6061445d91ac196e3cf7029c8" "8.83": url: "https://github.com/d99kris/rapidcsv/archive/refs/tags/v8.83.tar.gz" sha256: "9342eeb0ce37e30b778c4c030129d03e99f44a66d4710ac19627187bee774097" diff --git a/recipes/rapidcsv/all/test_v1_package/CMakeLists.txt b/recipes/rapidcsv/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/rapidcsv/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rapidcsv/all/test_v1_package/conanfile.py b/recipes/rapidcsv/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/rapidcsv/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rapidcsv/config.yml b/recipes/rapidcsv/config.yml index d9fb49b9ff86d..0085f337a09cb 100644 --- a/recipes/rapidcsv/config.yml +++ b/recipes/rapidcsv/config.yml @@ -1,4 +1,6 @@ versions: + "8.84": + folder: "all" "8.83": folder: "all" "8.82": diff --git a/recipes/rapidfuzz/all/conandata.yml b/recipes/rapidfuzz/all/conandata.yml index 2504b2040c796..ad858e9a9155c 100644 --- a/recipes/rapidfuzz/all/conandata.yml +++ b/recipes/rapidfuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.1": + url: "https://github.com/rapidfuzz/rapidfuzz-cpp/archive/refs/tags/v3.1.1.tar.gz" + sha256: "5a72811a9f5a890c69cb479551c19517426fb793a10780f136eb482c426ec3c8" "3.0.4": url: "https://github.com/rapidfuzz/rapidfuzz-cpp/archive/refs/tags/v3.0.4.tar.gz" sha256: "18d1c41575ceddd6308587da8befc98c85d3b5bc2179d418daffed6d46b8cb0a" diff --git a/recipes/rapidfuzz/all/test_v1_package/CMakeLists.txt b/recipes/rapidfuzz/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/rapidfuzz/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rapidfuzz/all/test_v1_package/conanfile.py b/recipes/rapidfuzz/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/rapidfuzz/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rapidfuzz/config.yml b/recipes/rapidfuzz/config.yml index 7af7ecd804cb2..a9e82dc805840 100644 --- a/recipes/rapidfuzz/config.yml +++ b/recipes/rapidfuzz/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.1": + folder: "all" "3.0.4": folder: "all" "3.0.2": diff --git a/recipes/rapidhash/all/conandata.yml b/recipes/rapidhash/all/conandata.yml new file mode 100644 index 0000000000000..88a70b679bdb8 --- /dev/null +++ b/recipes/rapidhash/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0": + url: "https://github.com/Nicoshev/rapidhash/archive/refs/tags/rapidhash_v1.0.tar.gz" + sha256: "d295e66eec6745cc0e0c8c65fb8b5edf08ab3af83b0a503c54c6705144b53848" diff --git a/recipes/rapidhash/all/conanfile.py b/recipes/rapidhash/all/conanfile.py new file mode 100644 index 0000000000000..1678dff3fea60 --- /dev/null +++ b/recipes/rapidhash/all/conanfile.py @@ -0,0 +1,49 @@ +from conan import ConanFile + +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.52.0" + +class RapidHashConan(ConanFile): + name = "rapidhash" + description = "Very fast, high quality, platform-independent hashing algorithm" + license = "BSD-2-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Nicoshev/rapidhash" + topics = ("hash", "wyhash", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + 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, + "rapidhash.h", + self.source_folder, + os.path.join(self.package_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/rapidhash/all/test_package/CMakeLists.txt b/recipes/rapidhash/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..e07f48f4eb8f3 --- /dev/null +++ b/recipes/rapidhash/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(rapidhash REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE rapidhash::rapidhash) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/rapidhash/all/test_package/conanfile.py b/recipes/rapidhash/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/rapidhash/all/test_package/conanfile.py @@ -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") diff --git a/recipes/rapidhash/all/test_package/test_package.cpp b/recipes/rapidhash/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..5bbba469ee0d5 --- /dev/null +++ b/recipes/rapidhash/all/test_package/test_package.cpp @@ -0,0 +1,12 @@ +#include +#include + +#include "rapidhash.h" + +int main() { + std::string text = "Hello, rapidhash."; + + std::cout << rapidhash(text.data(), text.size()) << '\n'; + + return 0; +} diff --git a/recipes/rapidhash/config.yml b/recipes/rapidhash/config.yml new file mode 100644 index 0000000000000..edab1ee152d36 --- /dev/null +++ b/recipes/rapidhash/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0": + folder: all diff --git a/recipes/rapidjson/all/test_v1_package/CMakeLists.txt b/recipes/rapidjson/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index a694a0d382f57..0000000000000 --- a/recipes/rapidjson/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(RapidJSON CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE RapidJSON::RapidJSON) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/rapidjson/all/test_v1_package/conanfile.py b/recipes/rapidjson/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/rapidjson/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rapidxml/all/test_v1_package/CMakeLists.txt b/recipes/rapidxml/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 3eff1dc88bc30..0000000000000 --- a/recipes/rapidxml/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(rapidxml REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE rapidxml::rapidxml) diff --git a/recipes/rapidxml/all/test_v1_package/conanfile.py b/recipes/rapidxml/all/test_v1_package/conanfile.py deleted file mode 100644 index af166909110f7..0000000000000 --- a/recipes/rapidxml/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - xml_name = os.path.join(self.source_folder, os.pardir, "test_package", "beer_journal.xml") - self.run(f"{bin_path} {xml_name}", run_environment=True) diff --git a/recipes/rapidyaml/all/test_v1_package/CMakeLists.txt b/recipes/rapidyaml/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index bc541ea90b512..0000000000000 --- a/recipes/rapidyaml/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rapidyaml/all/test_v1_package/conanfile.py b/recipes/rapidyaml/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/rapidyaml/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/raylib/all/conandata.yml b/recipes/raylib/all/conandata.yml index 250dbbb87a9bc..ee35279981eed 100644 --- a/recipes/raylib/all/conandata.yml +++ b/recipes/raylib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.5": + url: "https://github.com/raysan5/raylib/archive/refs/tags/5.5.tar.gz" + sha256: "aea98ecf5bc5c5e0b789a76de0083a21a70457050ea4cc2aec7566935f5e258e" "5.0": url: "https://github.com/raysan5/raylib/archive/refs/tags/5.0.tar.gz" sha256: "98f049b9ea2a9c40a14e4e543eeea1a7ec3090ebdcd329c4ca2cf98bc9793482" diff --git a/recipes/raylib/all/conanfile.py b/recipes/raylib/all/conanfile.py index 38b018aee6008..55bd54cf54ec2 100644 --- a/recipes/raylib/all/conanfile.py +++ b/recipes/raylib/all/conanfile.py @@ -22,13 +22,41 @@ class RaylibConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "opengl_version": [None, "4.3", "3.3", "2.1", "1.1", "ES-2.0"], + + "customize_build": [True, False], + "module_raudio": [True, False], + "camera_system": [True, False], + "gestures_system": [True, False], + "rprand_generator": [True, False], + "events_waiting": [True, False], + "custom_frame_control": [True, False] } default_options = { "shared": False, "fPIC": True, "opengl_version": None, + + "customize_build": False, + "module_raudio": True, + "camera_system": True, + "gestures_system": True, + "rprand_generator": True, + "events_waiting": False, + "custom_frame_control": False } + @property + def _support_custom_modules(self): + return Version(self.version) >= "4.2.0" + + @property + def _support_rprand_generator(self): + return Version(self.version) >= "5.0" + + @property + def _support_frame_control(self): + return Version(self.version) >= "4.6" + def export_sources(self): export_conandata_patches(self) @@ -37,6 +65,12 @@ def config_options(self): del self.options.fPIC if self.settings.os == "Android": del self.options.opengl_version + if not self._support_custom_modules: + del self.options.module_raudio + if not self._support_rprand_generator: + del self.options.rprand_generator + if not self._support_frame_control: + del self.options.custom_frame_control def configure(self): if self.options.shared: @@ -44,6 +78,14 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") + if not self.options.customize_build: + self.options.rm_safe("module_raudio") + del self.options.camera_system + del self.options.gestures_system + self.options.rm_safe("rprand_generator") + del self.options.events_waiting + self.options.rm_safe("custom_frame_control") + def layout(self): cmake_layout(self, src_folder="src") @@ -51,12 +93,11 @@ def requirements(self): if self.settings.os not in ["Android", "Emscripten"]: self.requires("glfw/3.4") self.requires("opengl/system") - if self.settings.os == "Linux": - self.requires("xorg/system") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_EXAMPLES"] = False @@ -72,8 +113,24 @@ def generate(self): tc.variables["USE_EXTERNAL_GLFW"] = "ON" tc.variables["OPENGL_VERSION"] = "OFF" if not self.options.opengl_version else self.options.opengl_version tc.variables["WITH_PIC"] = self.options.get_safe("fPIC", True) + + tc.variables["CUSTOMIZE_BUILD"] = self.options.customize_build + if self.options.customize_build: + if self._support_custom_modules: + tc.variables["SUPPORT_MODULE_RAUDIO"] = self.options.module_raudio + tc.variables["SUPPORT_EVENTS_WAITING"] = self.options.events_waiting + if self._support_frame_control: + tc.variables["SUPPORT_CUSTOM_FRAME_CONTROL"] = self.options.custom_frame_control + + # this makes it include the headers rcamera.h, rgesture.h and rprand.h + tc.variables["SUPPORT_CAMERA_SYSTEM"] = self.options.camera_system + tc.variables["SUPPORT_GESTURES_SYSTEM"] = self.options.gestures_system + if self._support_rprand_generator: + tc.variables["SUPPORT_RPRAND_GENERATOR"] = self.options.rprand_generator + # Due to a specific logic of cmakedeps_macros.cmake used by CMakeDeps to try to locate shared libs on Windows tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0054"] = "NEW" + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0091"] = "NEW" tc.generate() deps = CMakeDeps(self) deps.generate() @@ -97,6 +154,15 @@ def package(self): {"raylib": "raylib::raylib"} ) + # INFO: Custom modules are enabled by default but need to copy the headers manually + include_path = os.path.join(self.package_folder, "include") + if self.options.get_safe("camera_system", True): + copy(self, pattern="*camera.h", dst=include_path, src=os.path.join(self.source_folder, "src")) + if self.options.get_safe("gestures_system", True): + copy(self, pattern="*gestures.h", dst=include_path, src=os.path.join(self.source_folder, "src")) + if self._support_rprand_generator and self.options.get_safe("rprand_generator", True): + copy(self, pattern="rprand.h", dst=include_path, src=os.path.join(self.source_folder, "src", "external")) + def _create_cmake_module_alias_targets(self, module_file, targets): content = "" for alias, aliased in targets.items(): diff --git a/recipes/raylib/all/test_package/test_package.c b/recipes/raylib/all/test_package/test_package.c index 97c33c55b19d9..30f0b1d640db4 100644 --- a/recipes/raylib/all/test_package/test_package.c +++ b/recipes/raylib/all/test_package/test_package.c @@ -8,5 +8,6 @@ int main(void) { if (CheckCollisionSpheres(center, r, center, r)) { printf("unit sphere collides with itself!\n"); } + return 0; } diff --git a/recipes/raylib/all/test_v1_package/CMakeLists.txt b/recipes/raylib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/raylib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/raylib/all/test_v1_package/conanfile.py b/recipes/raylib/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/raylib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/raylib/config.yml b/recipes/raylib/config.yml index c0992b52b18d8..47a9490c7f44f 100644 --- a/recipes/raylib/config.yml +++ b/recipes/raylib/config.yml @@ -1,4 +1,6 @@ versions: + "5.5": + folder: "all" "5.0": folder: "all" "4.0.0": diff --git a/recipes/rc_ptr/all/conandata.yml b/recipes/rc_ptr/all/conandata.yml new file mode 100644 index 0000000000000..64179a15ea35b --- /dev/null +++ b/recipes/rc_ptr/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.0.2": + url: "https://github.com/Chylynsky/rc_ptr/archive/refs/tags/v0.0.2.tar.gz" + sha256: "4682e0235b6def843b52e9327c7f1f87c98998b58c1b39a27cbf13dae27f7977" diff --git a/recipes/rc_ptr/all/conanfile.py b/recipes/rc_ptr/all/conanfile.py new file mode 100644 index 0000000000000..4325cec38cda1 --- /dev/null +++ b/recipes/rc_ptr/all/conanfile.py @@ -0,0 +1,65 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + +class RcPtrConan(ConanFile): + name = "rc_ptr" + description = "Reference counted smart pointer for single-threaded environments" + license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Chylynsky/rc_ptr" + topics = ("memory", "smart-pointer", "header-only") + package_type = "header-library" + 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") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("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_1_0.txt", 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"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/rc_ptr/all/test_package/CMakeLists.txt b/recipes/rc_ptr/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..06ceb32987cf9 --- /dev/null +++ b/recipes/rc_ptr/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(rc_ptr REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE rc_ptr::rc_ptr) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/rc_ptr/all/test_package/conanfile.py b/recipes/rc_ptr/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/rc_ptr/all/test_package/conanfile.py @@ -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") diff --git a/recipes/rc_ptr/all/test_package/test_package.cpp b/recipes/rc_ptr/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..1ecc4ab4aea91 --- /dev/null +++ b/recipes/rc_ptr/all/test_package/test_package.cpp @@ -0,0 +1,6 @@ +#include "rc_ptr/rc_ptr.hpp" + +int main() { + auto first = memory::rc_ptr{new int{24}}; + auto second = first; +} diff --git a/recipes/rc_ptr/config.yml b/recipes/rc_ptr/config.yml new file mode 100644 index 0000000000000..8c82b1d025a67 --- /dev/null +++ b/recipes/rc_ptr/config.yml @@ -0,0 +1,3 @@ +versions: + "0.0.2": + folder: all diff --git a/recipes/reactiveplusplus/all/conandata.yml b/recipes/reactiveplusplus/all/conandata.yml index 45940f3c98c16..fc0d0114cf28b 100644 --- a/recipes/reactiveplusplus/all/conandata.yml +++ b/recipes/reactiveplusplus/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "2.2.1": + url: "https://github.com/victimsnino/ReactivePlusPlus/archive/refs/tags/v2.2.1.tar.gz" + sha256: "4d44da273a8f7401b8ebf6973ae06246505e204e9c491b435f0e1b223d6841fe" + "2.2.0": + url: "https://github.com/victimsnino/ReactivePlusPlus/archive/refs/tags/v2.2.0.tar.gz" + sha256: "10b3969956ff05fa4ebd62245b616731d9c12fb5b57c4cecb2c4ee418303dbea" "2.1.1": url: "https://github.com/victimsnino/ReactivePlusPlus/archive/refs/tags/v2.1.1.tar.gz" sha256: "0b962478d7c973a1f74062ce7f8d24c2fdcd2733031b1f014e65d252d59ebe6a" diff --git a/recipes/reactiveplusplus/all/conanfile.py b/recipes/reactiveplusplus/all/conanfile.py index 44a04efc93ad3..10cc3f19849e6 100644 --- a/recipes/reactiveplusplus/all/conanfile.py +++ b/recipes/reactiveplusplus/all/conanfile.py @@ -6,7 +6,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.50.0" +required_conan_version = ">=2.0" class ReactivePlusPlusConan(ConanFile): @@ -17,16 +17,13 @@ class ReactivePlusPlusConan(ConanFile): "declarative form." ) license = "BSL-1.0" - topics = ("reactivex", "asynchronous", "event", "observable", "values-distributed-in-time") - homepage = "https://github.com/victimsnino/ReactivePlusPlus" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/victimsnino/ReactivePlusPlus" + topics = ("reactivex", "asynchronous", "event", "observable", "values-distributed-in-time") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - @property - def _min_cppstd(self): - return "20" - @property def _compilers_minimum_version(self): if Version(self.version) >= "2.0.0": @@ -54,16 +51,12 @@ def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._min_cppstd) - - def loose_lt_semver(v1, v2): - return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) - + required_cppstd = "20" + check_min_cppstd(self, required_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): + if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( - f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler does not support.", + f"{self.name} {self.version} requires C++{required_cppstd}, which your compiler does not support.", ) def source(self): @@ -77,6 +70,11 @@ def package(self): copy(self, "*", src=os.path.join(self.source_folder, "src", "rpp", "rpp"), dst=os.path.join(self.package_folder, "include", "rpp")) + # Copy extensions (available since v2.2.0) + for extension in ["rppasio", "rppgrpc", "rppqt"]: + copy(self, "*", + src=os.path.join(self.source_folder, "src", "extensions", extension, extension), + dst=os.path.join(self.package_folder, "include", extension)) def package_info(self): self.cpp_info.set_property("cmake_file_name", "RPP") @@ -84,11 +82,6 @@ def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - # TODO: to remove in conan v2 once legacy generators removed - self.cpp_info.names["cmake_find_package"] = "RPP" - self.cpp_info.names["cmake_find_package_multi"] = "RPP" - self.cpp_info.components["_reactiveplusplus"].names["cmake_find_package"] = "rpp" - self.cpp_info.components["_reactiveplusplus"].names["cmake_find_package_multi"] = "rpp" self.cpp_info.components["_reactiveplusplus"].set_property("cmake_target_name", "RPP::rpp") self.cpp_info.components["_reactiveplusplus"].bindirs = [] self.cpp_info.components["_reactiveplusplus"].libdirs = [] diff --git a/recipes/reactiveplusplus/all/test_v1_package/CMakeLists.txt b/recipes/reactiveplusplus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/reactiveplusplus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/reactiveplusplus/all/test_v1_package/conanfile.py b/recipes/reactiveplusplus/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/reactiveplusplus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/reactiveplusplus/config.yml b/recipes/reactiveplusplus/config.yml index f409d3e717279..44a35cf248ea6 100644 --- a/recipes/reactiveplusplus/config.yml +++ b/recipes/reactiveplusplus/config.yml @@ -1,4 +1,8 @@ versions: + "2.2.1": + folder: all + "2.2.0": + folder: all "2.1.1": folder: all "2.0.0": diff --git a/recipes/read-excel/all/test_v1_package/CMakeLists.txt b/recipes/read-excel/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8af52c8273805..0000000000000 --- a/recipes/read-excel/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/read-excel/all/test_v1_package/conanfile.py b/recipes/read-excel/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/read-excel/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/readerwriterqueue/all/test_v1_package/CMakeLists.txt b/recipes/readerwriterqueue/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/readerwriterqueue/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/readerwriterqueue/all/test_v1_package/conanfile.py b/recipes/readerwriterqueue/all/test_v1_package/conanfile.py deleted file mode 100644 index b340bdd7fabce..0000000000000 --- a/recipes/readerwriterqueue/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,15 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class ConcurrentqueueTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/readline/all/test_v1_package/CMakeLists.txt b/recipes/readline/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/readline/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/readline/all/test_v1_package/conanfile.py b/recipes/readline/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/readline/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/readosm/all/test_v1_package/CMakeLists.txt b/recipes/readosm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/readosm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/readosm/all/test_v1_package/conanfile.py b/recipes/readosm/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/readosm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/recastnavigation/all/test_v1_package/CMakeLists.txt b/recipes/recastnavigation/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/recastnavigation/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/recastnavigation/all/test_v1_package/conanfile.py b/recipes/recastnavigation/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/recastnavigation/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/reckless/all/test_v1_package/CMakeLists.txt b/recipes/reckless/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/reckless/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/reckless/all/test_v1_package/conanfile.py b/recipes/reckless/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/reckless/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rectanglebinpack/all/test_v1_package/CMakeLists.txt b/recipes/rectanglebinpack/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/rectanglebinpack/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rectanglebinpack/all/test_v1_package/conanfile.py b/recipes/rectanglebinpack/all/test_v1_package/conanfile.py deleted file mode 100644 index 90eb89e3f2f46..0000000000000 --- a/recipes/rectanglebinpack/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rectpack2d/all/test_v1_package/CMakeLists.txt b/recipes/rectpack2d/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/rectpack2d/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/rectpack2d/all/test_v1_package/conanfile.py b/recipes/rectpack2d/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/rectpack2d/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/redboltz-mqtt_cpp/all/test_v1_package/CMakeLists.txt b/recipes/redboltz-mqtt_cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/redboltz-mqtt_cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/redboltz-mqtt_cpp/all/test_v1_package/conanfile.py b/recipes/redboltz-mqtt_cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/redboltz-mqtt_cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/redis-plus-plus/all/conandata.yml b/recipes/redis-plus-plus/all/conandata.yml index 39cad834c3b22..87ed20e99676e 100644 --- a/recipes/redis-plus-plus/all/conandata.yml +++ b/recipes/redis-plus-plus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.13": + url: "https://github.com/sewenew/redis-plus-plus/archive/1.3.13.tar.gz" + sha256: "678a61898ed72f0c692102c7ce103a1bcae1e6ff85a4ad03e6002c1ba8fe1e08" "1.3.12": url: "https://github.com/sewenew/redis-plus-plus/archive/1.3.12.tar.gz" sha256: "26c1e45cdbafe1af4d2cf756957b2268baab6f802b53bcdd435864620e2c03c7" @@ -24,6 +27,10 @@ sources: url: "https://github.com/sewenew/redis-plus-plus/archive/1.2.3.tar.gz" sha256: "1a3336752133019c963e06c28667b96690d6395b804e5e326671777ff88982ea" patches: + "1.3.13": + - patch_file: "patches/1.3.13-0001-fix-dependencies-injection.patch" + patch_description: "Robust discovery & injection of dependencies, and handle missing hiredis_ssl-config.cmake" + patch_type: "conan" "1.3.12": - patch_file: "patches/1.3.8-0001-fix-dependencies-injection.patch" patch_description: "Robust discovery & injection of dependencies, and handle missing hiredis_ssl-config.cmake" diff --git a/recipes/redis-plus-plus/all/patches/1.3.13-0001-fix-dependencies-injection.patch b/recipes/redis-plus-plus/all/patches/1.3.13-0001-fix-dependencies-injection.patch new file mode 100644 index 0000000000000..ab8824faf6a00 --- /dev/null +++ b/recipes/redis-plus-plus/all/patches/1.3.13-0001-fix-dependencies-injection.patch @@ -0,0 +1,59 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ae2507e..8ef058b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -45,8 +45,7 @@ if(REDIS_PLUS_PLUS_BUILD_ASYNC) + message(STATUS "redis-plus-plus build async interface with libuv") + + # libuv dependency +- find_path(REDIS_PLUS_PLUS_ASYNC_LIB_HEADER NAMES uv.h) +- find_library(REDIS_PLUS_PLUS_ASYNC_LIB uv) ++ find_package(libuv REQUIRED CONFIG) + else() + message(FATAL_ERROR "invalid REDIS_PLUS_PLUS_BUILD_ASYNC") + endif() +@@ -144,7 +143,6 @@ if(hiredis_FOUND) + list(APPEND REDIS_PLUS_PLUS_HIREDIS_LIBS hiredis::hiredis) + + if(REDIS_PLUS_PLUS_USE_TLS) +- find_package(hiredis_ssl REQUIRED) + list(APPEND REDIS_PLUS_PLUS_HIREDIS_LIBS hiredis::hiredis_ssl) + find_package(OpenSSL REQUIRED) + list(APPEND REDIS_PLUS_PLUS_HIREDIS_LIBS ${OPENSSL_LIBRARIES}) +@@ -174,17 +172,12 @@ endif() + set(HIREDIS_FEATURE_TEST_HEADER "${HIREDIS_FEATURE_TEST_INCLUDE}/hiredis/hiredis.h") + + include(CheckSymbolExists) +-set(CMAKE_REQUIRED_LIBRARIES_BACK ${CMAKE_REQUIRED_LIBRARIES}) +-set(CMAKE_REQUIRED_LIBRARIES ${HIREDIS_FEATURE_TEST_LIB}) + + CHECK_SYMBOL_EXISTS(redisEnableKeepAliveWithInterval ${HIREDIS_FEATURE_TEST_HEADER} REDIS_PLUS_PLUS_HAS_redisEnableKeepAliveWithInterval) + + set(REDIS_PLUS_PLUS_GENERATED_HEADER_DIR ${CMAKE_CURRENT_BINARY_DIR}/${REDIS_PLUS_PLUS_HEADER_DIR}) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hiredis_features.h.in ${CMAKE_CURRENT_BINARY_DIR}/${REDIS_PLUS_PLUS_SOURCE_DIR}/hiredis_features.h) + +-# Restore CMAKE_REQUIRED_LIBRARIES +-set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_BACK}) +- + # Build static library + option(REDIS_PLUS_PLUS_BUILD_STATIC "Build static library" ON) + message(STATUS "redis-plus-plus build static library: ${REDIS_PLUS_PLUS_BUILD_STATIC}") +@@ -228,7 +221,7 @@ if(REDIS_PLUS_PLUS_BUILD_STATIC) + + if(REDIS_PLUS_PLUS_BUILD_ASYNC) + target_include_directories(${STATIC_LIB} PUBLIC $) +- target_include_directories(${STATIC_LIB} PUBLIC $) ++ target_link_libraries(${STATIC_LIB} PUBLIC $,uv,uv_a>) + if(REDIS_PLUS_PLUS_ASYNC_FUTURE STREQUAL "boost") + target_include_directories(${STATIC_LIB} SYSTEM PUBLIC $) + endif() +@@ -283,8 +276,7 @@ if(REDIS_PLUS_PLUS_BUILD_SHARED) + + if(REDIS_PLUS_PLUS_BUILD_ASYNC) + target_include_directories(${SHARED_LIB} PUBLIC $) +- target_include_directories(${SHARED_LIB} PUBLIC $) +- target_link_libraries(${SHARED_LIB} PUBLIC ${REDIS_PLUS_PLUS_ASYNC_LIB}) ++ target_link_libraries(${SHARED_LIB} PUBLIC $,uv,uv_a>) + if(REDIS_PLUS_PLUS_ASYNC_FUTURE STREQUAL "boost") + target_include_directories(${SHARED_LIB} SYSTEM PUBLIC $) + endif() diff --git a/recipes/redis-plus-plus/all/test_v1_package/CMakeLists.txt b/recipes/redis-plus-plus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/redis-plus-plus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/redis-plus-plus/all/test_v1_package/conanfile.py b/recipes/redis-plus-plus/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/redis-plus-plus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/redis-plus-plus/config.yml b/recipes/redis-plus-plus/config.yml index b0578160cf5b2..e058f2167283c 100644 --- a/recipes/redis-plus-plus/config.yml +++ b/recipes/redis-plus-plus/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.13": + folder: all "1.3.12": folder: all "1.3.11": diff --git a/recipes/redradist-icc/all/test_v1_package/CMakeLists.txt b/recipes/redradist-icc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/redradist-icc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/redradist-icc/all/test_v1_package/conanfile.py b/recipes/redradist-icc/all/test_v1_package/conanfile.py deleted file mode 100644 index fc78d14187e40..0000000000000 --- a/recipes/redradist-icc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class ICCTestConan(ConanFile): - settings = 'os', 'compiler', 'build_type', 'arch' - generators = 'cmake', 'cmake_find_package_multi' - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join('bin', 'example') - self.run(bin_path, run_environment=True) diff --git a/recipes/refl-cpp/all/test_v1_package/CMakeLists.txt b/recipes/refl-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/refl-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/refl-cpp/all/test_v1_package/conanfile.py b/recipes/refl-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/refl-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/reflect-cpp/all/conandata.yml b/recipes/reflect-cpp/all/conandata.yml index ad65b35cf4e50..cb9c3acfa130e 100644 --- a/recipes/reflect-cpp/all/conandata.yml +++ b/recipes/reflect-cpp/all/conandata.yml @@ -1,13 +1,4 @@ sources: - "0.11.1": - url: "https://github.com/getml/reflect-cpp/archive/v0.11.1.tar.gz" - sha256: "e45f112fb3f14507a4aa53b99ae2d4ab6a4e7b2d5f04dd06fec00bf7faa7bbdc" - "0.11.0": - url: "https://github.com/getml/reflect-cpp/archive/v0.11.0.tar.gz" - sha256: "85f66939608acacf66dc782529af0c5a36b7d695c55b310b10c49700251b6221" - "0.10.0": - url: "https://github.com/getml/reflect-cpp/archive/v0.10.0.tar.gz" - sha256: "d2c8876d993ddc8c57c5804e767786bdb46a2bdf1a6cd81f4b14f57b1552dfd7" - "0.6.0": - url: "https://github.com/getml/reflect-cpp/archive/v0.6.0.tar.gz" - sha256: "D8231B91989397A67E841B56A0673FDCDF969DBE956D54BB629F14100B030664" + "0.16.0": + url: "https://github.com/getml/reflect-cpp/archive/refs/tags/v0.16.0.tar.gz" + sha256: "a84d94dbd353d788926d6e54507b44c046863f7bc4ecb35afe0338374a68a77d" diff --git a/recipes/reflect-cpp/all/conanfile.py b/recipes/reflect-cpp/all/conanfile.py index 30e94da61ba89..86e30443a2c97 100644 --- a/recipes/reflect-cpp/all/conanfile.py +++ b/recipes/reflect-cpp/all/conanfile.py @@ -1,12 +1,15 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, copy +from conan.tools.files import get, copy, rmdir, replace_in_file +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps +from conan.tools.env import VirtualBuildEnv from conan.tools.build import check_min_cppstd from conan.tools.scm import Version -from conan.tools.layout import basic_layout +from conan.errors import ConanInvalidConfiguration + import os -required_conan_version = ">=1.51.1" +required_conan_version = ">=2.0.9" + class ReflectCppConan(ConanFile): name = "reflect-cpp" @@ -14,82 +17,129 @@ class ReflectCppConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/getml/reflect-cpp" - topics = ("reflection", "serialization", "memory", "json", "xml", "flatbuffers", "yaml", "toml", "msgpack", "header-only") - package_type = "header-library" + topics = ( + "reflection", + "serialization", + "memory", + "cbor", + "flatbuffers", + "json", + "msgpack", + "toml", + "xml", + "yaml", + ) + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = { - "with_json" : [True, False], - "with_xml" : [True, False], - "with_flatbuffers" : [True, False], - "with_yaml": [True, False], - "with_msgpack": [True, False], - } - default_options = { - "with_json" : False, - "with_xml" : False, - "with_flatbuffers" : False, - "with_yaml" : False, - "with_msgpack": False, - } - - @property - def _min_cppstd(self): - return 20 @property def _compilers_minimum_version(self): + # TODO: MSVC 19.38 is required, but ConanCenterIndex CI has update 6 installed. + # Update msvc to 193 when having the CI updated to the latest update. return { - "Visual Studio": "17", - "msvc": "193", - "gcc": "11.4", - "clang": "16", + "msvc": "194", + "gcc": "11", + "clang": "13", "apple-clang": "15", } - def layout(self): - basic_layout(self, src_folder="src") + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_cbor": [True, False], + "with_flatbuffers": [True, False], + "with_msgpack": [True, False], + "with_toml": [True, False], + "with_ubjson": [True, False], + "with_xml": [True, False], + "with_yaml": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_cbor": False, + "with_flatbuffers": False, + "with_msgpack": False, + "with_toml": False, + "with_ubjson": False, + "with_xml": False, + "with_yaml": False, + } + implements = ["auto_shared_fpic"] def requirements(self): - if self.options.with_json: - self.requires("yyjson/0.8.0", transitive_headers=True) + self.requires("ctre/3.9.0", transitive_headers=True) + # INFO: include/rfl/json/Writer.hpp includes yyjson.h + # INFO: Transitive lib needed to avoid undefined reference to symbol 'yyjson_mut_doc_new' + self.requires("yyjson/0.10.0", transitive_headers=True, transitive_libs=True) + if self.options.with_cbor: + self.requires("tinycbor/0.6.0", transitive_headers=True) + if self.options.with_flatbuffers: + self.requires("flatbuffers/24.3.25", transitive_headers=True) + if self.options.with_msgpack: + self.requires("msgpack-c/6.0.0", transitive_headers=True) + if self.options.with_toml: + self.requires("tomlplusplus/3.4.0", transitive_headers=True) + if self.options.with_ubjson: + self.requires("jsoncons/0.176.0", transitive_headers=True) if self.options.with_xml: self.requires("pugixml/1.14", transitive_headers=True) - if self.options.with_flatbuffers: - self.requires("flatbuffers/23.5.26", transitive_headers=True) if self.options.with_yaml: self.requires("yaml-cpp/0.8.0", transitive_headers=True) - if self.options.with_msgpack: - self.requires("msgpack-c/6.0.0", transitive_headers=True) - - if Version(self.version) >= "0.11.1": - self.requires("ctre/3.9.0", transitive_headers=True) - def package_id(self): - self.info.clear() + def build_requirements(self): + self.tool_requires("cmake/[>=3.23 <4]") def validate(self): - if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._min_cppstd) + check_min_cppstd(self, 20) 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." - ) + raise ConanInvalidConfiguration(f"{self.ref} requires C++20 features, which your compiler does not fully support.") + + def layout(self): + cmake_layout(self, src_folder="src") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + # INFO: Let Conan handle the C++ standard used via settings.compiler.cppstd + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "set(CMAKE_CXX_STANDARD 20)", "") + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + deps = CMakeDeps(self) + if self.options.with_flatbuffers: + deps.set_property("flatbuffers", "cmake_target_name", "flatbuffers::flatbuffers") + deps.generate() + tc = CMakeToolchain(self) + tc.cache_variables["REFLECTCPP_BUILD_SHARED"] = self.options.shared + tc.cache_variables["REFLECTCPP_USE_BUNDLED_DEPENDENCIES"] = False + tc.cache_variables["REFLECTCPP_USE_VCPKG"] = False + tc.cache_variables["REFLECTCPP_CBOR"] = self.options.with_cbor + tc.cache_variables["REFLECTCPP_FLEXBUFFERS"] = self.options.with_flatbuffers + tc.cache_variables["REFLECTCPP_MSGPACK"] = self.options.with_msgpack + tc.cache_variables["REFLECTCPP_TOML"] = self.options.with_toml + tc.cache_variables["REFLECTCPP_XML"] = self.options.with_xml + tc.cache_variables["REFLECTCPP_YAML"] = self.options.with_yaml + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - copy(self, pattern="LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( self, - pattern="*.hpp", - dst=os.path.join(self.package_folder, "include"), - src=os.path.join(self.source_folder, "include"), + pattern="LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder, ) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - self.cpp_info.bindirs = [] - self.cpp_info.libdirs = [] - if Version(self.version) >= "0.11.1": - self.cpp_info.defines.append("REFLECTCPP_NO_BUNDLED_DEPENDENCIES") + self.cpp_info.libs = ["reflectcpp"] + self.cpp_info.set_property("cmake_target_name", "reflectcpp::reflectcpp") + self.cpp_info.set_property("cmake_file_name", "reflectcpp") diff --git a/recipes/reflect-cpp/all/test_package/CMakeLists.txt b/recipes/reflect-cpp/all/test_package/CMakeLists.txt index 767315c296e76..74f3b52f1538e 100644 --- a/recipes/reflect-cpp/all/test_package/CMakeLists.txt +++ b/recipes/reflect-cpp/all/test_package/CMakeLists.txt @@ -1,12 +1,9 @@ -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -find_package(reflect-cpp REQUIRED CONFIG) +find_package(reflectcpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE reflect-cpp::reflect-cpp) +target_link_libraries(${PROJECT_NAME} reflectcpp::reflectcpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) -if(CONAN_TEST_WITH_MSGPACK) - target_compile_definitions(${PROJECT_NAME} PRIVATE CONAN_TEST_WITH_MSGPACK) -endif() diff --git a/recipes/reflect-cpp/all/test_package/conanfile.py b/recipes/reflect-cpp/all/test_package/conanfile.py index c0ce5c17be896..a66d61a9b1e97 100644 --- a/recipes/reflect-cpp/all/test_package/conanfile.py +++ b/recipes/reflect-cpp/all/test_package/conanfile.py @@ -14,11 +14,9 @@ def requirements(self): def layout(self): cmake_layout(self) - + def generate(self): tc = CMakeToolchain(self) - if self.dependencies[self.tested_reference_str].options.with_msgpack: - tc.cache_variables["CONAN_TEST_WITH_MSGPACK"] = True tc.generate() def build(self): diff --git a/recipes/reflect-cpp/all/test_package/test_package.cpp b/recipes/reflect-cpp/all/test_package/test_package.cpp index ed7b54690e256..1c46040d570e8 100644 --- a/recipes/reflect-cpp/all/test_package/test_package.cpp +++ b/recipes/reflect-cpp/all/test_package/test_package.cpp @@ -1,29 +1,15 @@ -#include +#include #include -#include - -#if defined(CONAN_TEST_WITH_MSGPACK) - #include -#endif +#include -struct TestStruct { - int x; - std::string name; -}; +#include "rfl.hpp" +#include "rfl/Generic.hpp" +#include "rfl/json.hpp" int main(void) { - for (const auto& f : rfl::fields()) { - (void) f.name(); - (void) f.type(); - } - -#if defined(CONAN_TEST_WITH_MSGPACK) - const auto test = TestStruct{.x = 15, .name = "test_package"}; - std::cout << "msgpack test: "; - rfl::msgpack::write(test, std::cout) << std::endl; -#endif - - std::cout << "reflect-cpp test successful\n"; - - return 0; + auto person = rfl::Generic::Object(); + person["first_name"] = "John"; + person["last_name"] = "Doe"; + rfl::json::write(person, std::cout) << std::endl; + return EXIT_SUCCESS; } diff --git a/recipes/reflect-cpp/config.yml b/recipes/reflect-cpp/config.yml index 1fd3a60496588..e5e40881d5003 100644 --- a/recipes/reflect-cpp/config.yml +++ b/recipes/reflect-cpp/config.yml @@ -1,9 +1,3 @@ versions: - "0.11.1": - folder: all - "0.11.0": - folder: all - "0.10.0": - folder: all - "0.6.0": + "0.16.0": folder: all diff --git a/recipes/replxx/all/test_v1_package/CMakeLists.txt b/recipes/replxx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/replxx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/replxx/all/test_v1_package/conanfile.py b/recipes/replxx/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/replxx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/reproc/all/conandata.yml b/recipes/reproc/all/conandata.yml new file mode 100644 index 0000000000000..a3605662cc0ab --- /dev/null +++ b/recipes/reproc/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "14.2.5": + url: "https://github.com/DaanDeMeyer/reproc/archive/refs/tags/v14.2.5.tar.gz" + sha256: "69467be0cfc80734b821c54ada263c8f1439f964314063f76b7cf256c3dc7ee8" diff --git a/recipes/reproc/all/conanfile.py b/recipes/reproc/all/conanfile.py new file mode 100644 index 0000000000000..9097df0dcfa45 --- /dev/null +++ b/recipes/reproc/all/conanfile.py @@ -0,0 +1,98 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rm, rmdir +from conan.tools.scm import Version + + +class PackageConan(ConanFile): + name = "reproc" + description = "A cross-platform C99 process library" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/DaanDeMeyer/reproc" + topics = ("process-management", "process", "cross-platform") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "cxx": [True, False], + "multithreaded": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "cxx": True, + "multithreaded": True, + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + if not self.options.cxx: + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.options.cxx: + check_min_cppstd(self, 11) + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "6": + # drain.hpp:55:43: error: ‘stream’ is not a class, namespace, or enumeration + raise ConanInvalidConfiguration("GCC < 6 is not supported") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["REPROC++"] = self.options.cxx + tc.variables["REPROC_MULTITHREADED"] = self.options.multithreaded + tc.variables["REPROC_TEST"] = False + tc.variables["REPROC_EXAMPLES"] = False + tc.generate() + + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rm(self, "*.pdb", self.package_folder, recursive=True) + + def package_info(self): + cmake_config_name = "reproc++" if self.options.cxx else "reproc" + self.cpp_info.set_property("cmake_file_name", cmake_config_name) + + self.cpp_info.components["reproc_c"].set_property("pkg_config_name", "reproc") + self.cpp_info.components["reproc_c"].set_property("cmake_target_name", "reproc") + self.cpp_info.components["reproc_c"].libs = ["reproc"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["reproc_c"].system_libs.append("rt") + if self.options.multithreaded: + self.cpp_info.components["reproc_c"].system_libs.append("pthread") + elif self.settings.os == "Windows": + self.cpp_info.components["reproc_c"].system_libs.append("Ws2_32") + + if self.options.cxx: + self.cpp_info.components["reproc_cxx"].set_property("pkg_config_name", "reproc++") + self.cpp_info.components["reproc_cxx"].set_property("cmake_target_name", "reproc++") + self.cpp_info.components["reproc_cxx"].libs = ["reproc++"] + self.cpp_info.components["reproc_cxx"].requires = ["reproc_c"] diff --git a/recipes/reproc/all/test_package/CMakeLists.txt b/recipes/reproc/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..c9164d8e481d9 --- /dev/null +++ b/recipes/reproc/all/test_package/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C CXX) + +if(WITH_CXX) + find_package(reproc++ REQUIRED CONFIG) +else() + find_package(reproc REQUIRED CONFIG) +endif() + +add_executable(${PROJECT_NAME}_c test_package.c) +target_link_libraries(${PROJECT_NAME}_c PRIVATE reproc) +target_compile_features(${PROJECT_NAME}_c PRIVATE c_std_99) + +if(WITH_CXX) + add_executable(${PROJECT_NAME}_cpp test_package.cpp) + target_link_libraries(${PROJECT_NAME}_cpp PRIVATE reproc++) + target_compile_features(${PROJECT_NAME}_cpp PRIVATE cxx_std_11) +endif() diff --git a/recipes/reproc/all/test_package/conanfile.py b/recipes/reproc/all/test_package/conanfile.py new file mode 100644 index 0000000000000..564792987ded2 --- /dev/null +++ b/recipes/reproc/all/test_package/conanfile.py @@ -0,0 +1,34 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["WITH_CXX"] = self.dependencies["reproc"].options.get_safe("cxx") + tc.generate() + + 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_c") + self.run(bin_path, env="conanrun") + if (self.dependencies["reproc"].options.get_safe("cxx")): + bin_path = os.path.join(self.cpp.build.bindir, "test_package_cpp") + self.run(bin_path, env="conanrun") diff --git a/recipes/reproc/all/test_package/test_package.c b/recipes/reproc/all/test_package/test_package.c new file mode 100644 index 0000000000000..8faa1f59953e3 --- /dev/null +++ b/recipes/reproc/all/test_package/test_package.c @@ -0,0 +1,14 @@ +#include +#include + +int main() +{ + reproc_t *process = reproc_new(); + if (!process) { + fprintf(stderr, "Failed to create reproc process.\n"); + return 1; + } + printf("reproc setup successful. Process object created.\n"); + reproc_destroy(process); + return 0; +} diff --git a/recipes/reproc/all/test_package/test_package.cpp b/recipes/reproc/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..e21d308880ab5 --- /dev/null +++ b/recipes/reproc/all/test_package/test_package.cpp @@ -0,0 +1,16 @@ +#include +#include + +int main() +{ + try { + reproc::process process; + reproc::options options; + options.redirect.parent = true; + std::cout << "reproc++ setup successful. Process object created.\n"; + } catch (const std::exception &e) { + std::cerr << "Error: " << e.what() << '\n'; + return 1; + } + return 0; +} diff --git a/recipes/reproc/config.yml b/recipes/reproc/config.yml new file mode 100644 index 0000000000000..b315d53552983 --- /dev/null +++ b/recipes/reproc/config.yml @@ -0,0 +1,3 @@ +versions: + "14.2.5": + folder: all diff --git a/recipes/resource_pool/all/test_v1_package/CMakeLists.txt b/recipes/resource_pool/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/resource_pool/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/resource_pool/all/test_v1_package/conanfile.py b/recipes/resource_pool/all/test_v1_package/conanfile.py deleted file mode 100644 index fdaba4642f464..0000000000000 --- a/recipes/resource_pool/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class ResourcePoolTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package_multi", "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/restbed/all/test_v1_package/CMakeLists.txt b/recipes/restbed/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/restbed/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/restbed/all/test_v1_package/conanfile.py b/recipes/restbed/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/restbed/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rg-etc1/all/test_v1_package/CMakeLists.txt b/recipes/rg-etc1/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/rg-etc1/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rg-etc1/all/test_v1_package/conanfile.py b/recipes/rg-etc1/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/rg-etc1/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rgbcx/all/test_v1_package/CMakeLists.txt b/recipes/rgbcx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/rgbcx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rgbcx/all/test_v1_package/conanfile.py b/recipes/rgbcx/all/test_v1_package/conanfile.py deleted file mode 100644 index f96c48347ffda..0000000000000 --- a/recipes/rgbcx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -import os - -from conan.tools.build import can_run -from conans import ConanFile, CMake - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if can_run(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ring-span-lite/all/test_v1_package/CMakeLists.txt b/recipes/ring-span-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 6e14cd0d6387d..0000000000000 --- a/recipes/ring-span-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(ring-span-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::ring-span-lite) diff --git a/recipes/ring-span-lite/all/test_v1_package/conanfile.py b/recipes/ring-span-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/ring-span-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index b52c4006d46ad..1cf5a2a6090e4 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "4.2.1": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v4.2.1.tar.gz" + sha256: "3514728e9eb8c90dbc00a9e337302eb458c65be2f9501a3e882d051599c4a74c" + "4.2.0": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v4.2.0.tar.gz" + sha256: "b5f2d184b0872f57dce911cb520925539cfa851deda516d1239e8e06aff96439" "4.1.7": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v4.1.7.tar.gz" sha256: "ea235796c074c3a8a8c3e5c84bb5f09619723b8e4913cf99cc349f626c193569" @@ -20,15 +26,3 @@ sources: "2.1.2": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.2.tar.gz" sha256: "a53d2f540f78ddae31e30c573b1b7fd41d7257d6a090507ba35d9c398712e5ad" - "2.0.4": - url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.0.4.tar.gz" - sha256: "3c962c196ba28abf2639067f2e2fd25879744ba98152a4e0e74556ca515eda33" - "1.3.0": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v1.3.0.tar.gz" - sha256: "c4fccf6a8cfa6f15f47d0e6f6b202940c2305e3078eb745d25fe9e2739ae5278" - "1.1.5": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v1.1.5.tar.gz" - sha256: "5210a277ce83c3099dfee41d494c28aec61bdbc9160b3b124cb5afeab49cd123" - "1.0.0": - url: "https://github.com/RoaringBitmap/CRoaring/archive/v1.0.0.tar.gz" - sha256: "08f884cd2790fcfba69b63443442034702f5d4865514fb09ac6ff05e048bf230" diff --git a/recipes/roaring/all/conanfile.py b/recipes/roaring/all/conanfile.py index f0d51742149de..beeff0a3255bd 100644 --- a/recipes/roaring/all/conanfile.py +++ b/recipes/roaring/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.files import copy, get, rmdir from conan.tools.scm import Version import os @@ -45,8 +45,6 @@ def config_options(self): if self.settings.arch not in ("x86", "x86_64"): del self.options.with_avx del self.options.with_avx512 - elif Version(self.version) < "1.1.0": - del self.options.with_avx512 if not str(self.settings.arch).startswith("arm"): del self.options.with_neon @@ -82,8 +80,6 @@ def generate(self): tc.generate() def build(self): - if Version(self.version) < "2.0.0": - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "set(CMAKE_MACOSX_RPATH OFF)", "") cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/roaring/all/test_v1_package/CMakeLists.txt b/recipes/roaring/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/roaring/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/roaring/all/test_v1_package/conanfile.py b/recipes/roaring/all/test_v1_package/conanfile.py deleted file mode 100644 index 1d4478bedc297..0000000000000 --- a/recipes/roaring/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type", - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index a6c581408b44b..589d7841508de 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,8 @@ versions: + "4.2.1": + folder: all + "4.2.0": + folder: all "4.1.7": folder: all "4.1.2": @@ -13,11 +17,3 @@ versions: folder: all "2.1.2": folder: all - "2.0.4": - folder: all - "1.3.0": - folder: all - "1.1.5": - folder: all - "1.0.0": - folder: all diff --git a/recipes/robin-hood-hashing/all/test_v1_package/CMakeLists.txt b/recipes/robin-hood-hashing/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/robin-hood-hashing/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/robin-hood-hashing/all/test_v1_package/conanfile.py b/recipes/robin-hood-hashing/all/test_v1_package/conanfile.py deleted file mode 100644 index b5c4f7e93cf63..0000000000000 --- a/recipes/robin-hood-hashing/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake_find_package_multi", "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin","test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rocksdb/all/conandata.yml b/recipes/rocksdb/all/conandata.yml index 074302cce72fd..786900e6c8b94 100644 --- a/recipes/rocksdb/all/conandata.yml +++ b/recipes/rocksdb/all/conandata.yml @@ -1,39 +1,41 @@ sources: + "9.7.4": + url: "https://github.com/facebook/rocksdb/archive/refs/tags/v9.7.4.tar.gz" + sha256: "9b810c81731835fda0d4bbdb51d3199d901fa4395733ab63752d297da84c5a47" "9.5.2": url: "https://github.com/facebook/rocksdb/archive/refs/tags/v9.5.2.tar.gz" sha256: "B20780586D3DF4A3C5BCBDE341A2C1946B03D18237960BDA5BC5E9538F42AF40" "9.4.0": url: "https://github.com/facebook/rocksdb/archive/refs/tags/v9.4.0.tar.gz" sha256: "1f829976aa24b8ba432e156f52c9e0f0bd89c46dc0cc5a9a628ea70571c1551c" - "9.2.1": - url: "https://github.com/facebook/rocksdb/archive/refs/tags/v9.2.1.tar.gz" - sha256: "bb20fd9a07624e0dc1849a8e65833e5421960184f9c469d508b58ed8f40a780f" - "9.1.0": - url: "https://github.com/facebook/rocksdb/archive/refs/tags/v9.1.0.tar.gz" - sha256: "3c225e45bf6f6367cf5a4413f71abc4a3427627790e6d58c57adc2daa4b6309d" - "9.0.0": - url: "https://github.com/facebook/rocksdb/archive/refs/tags/v9.0.0.tar.gz" - sha256: "013aac178aa12837cbfa3b1e20e9e91ff87962ab7fdd044fd820e859f8964f9b" "8.8.1": url: "https://github.com/facebook/rocksdb/archive/refs/tags/v8.8.1.tar.gz" sha256: "056c7e21ad8ae36b026ac3b94b9d6e0fcc60e1d937fc80330921e4181be5c36e" "6.29.5": url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.29.5.tar.gz" sha256: "ddbf84791f0980c0bbce3902feb93a2c7006f6f53bfd798926143e31d4d756f0" - "6.27.3": - url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.27.3.tar.gz" - sha256: "ee29901749b9132692b26f0a6c1d693f47d1a9ed8e3771e60556afe80282bf58" - "6.20.3": - url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.20.3.tar.gz" - sha256: "c6502c7aae641b7e20fafa6c2b92273d935d2b7b2707135ebd9a67b092169dca" patches: + "9.7.4": + - patch_file: "patches/9.x.x-0001-exclude-thirdparty.patch" + patch_description: "Do not include thirdparty.inc" + patch_type: "portability" + "9.5.2": + - patch_file: "patches/9.x.x-0001-exclude-thirdparty.patch" + patch_description: "Do not include thirdparty.inc" + patch_type: "portability" + "9.4.0": + - patch_file: "patches/9.x.x-0001-exclude-thirdparty.patch" + patch_description: "Do not include thirdparty.inc" + patch_type: "portability" + "8.8.1": + - patch_file: "patches/8.8.1-0001-exclude-thirdparty.patch" + patch_description: "Do not include thirdparty.inc" + patch_type: "portability" "6.29.5": - patch_file: "patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch" patch_description: "Fix build with gcc 13 by including cstdint" patch_type: "portability" patch_source: "https://github.com/facebook/rocksdb/pull/11118" - "6.27.3": - - patch_file: "patches/6.27.3-0001-add-include-cstdint-for-gcc-13.patch" - patch_description: "Fix build with gcc 13 by including cstdint" + - patch_file: "patches/6.29.5-0002-exclude-thirdparty.patch" + patch_description: "Do not include thirdparty.inc" patch_type: "portability" - patch_source: "https://github.com/facebook/rocksdb/pull/11118" diff --git a/recipes/rocksdb/all/conanfile.py b/recipes/rocksdb/all/conanfile.py index 605a6adf2d073..36406c6b10c4d 100644 --- a/recipes/rocksdb/all/conanfile.py +++ b/recipes/rocksdb/all/conanfile.py @@ -1,5 +1,5 @@ -import os import glob +import os import shutil from conan import ConanFile @@ -7,10 +7,10 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rm, rmdir -from conan.tools.microsoft import check_min_vs, is_msvc, is_msvc_static_runtime +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0" class RocksDBConan(ConanFile): @@ -55,16 +55,6 @@ class RocksDBConan(ConanFile): def _min_cppstd(self): return "11" if Version(self.version) < "8.8.1" else "17" - @property - def _compilers_minimum_version(self): - return {} if self._min_cppstd == "11" else { - "apple-clang": "10", - "clang": "7", - "gcc": "7", - "msvc": "191", - "Visual Studio": "15", - } - def export_sources(self): export_conandata_patches(self) @@ -100,25 +90,13 @@ def requirements(self): self.requires("jemalloc/5.3.0") def validate(self): - if self.settings.compiler.get_safe("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." - ) + check_min_cppstd(self, self._min_cppstd) if self.settings.arch not in ["x86_64", "ppc64le", "ppc64", "mips64", "armv8"]: raise ConanInvalidConfiguration("Rocksdb requires 64 bits") - check_min_vs(self, "191") - - if self.version == "6.20.3" and \ - self.settings.os == "Linux" and \ - self.settings.compiler == "gcc" and \ - Version(self.settings.compiler.version) < "5": - raise ConanInvalidConfiguration("Rocksdb 6.20.3 is not compilable with gcc <5.") # See https://github.com/facebook/rocksdb/issues/3522 + if is_msvc(self) and Version(self.settings.compiler.version) < "191": + raise ConanInvalidConfiguration("Rocksdb requires MSVC version >= 191") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -213,11 +191,6 @@ def package_info(self): if self.options.lite: self.cpp_info.components["librocksdb"].defines.append("ROCKSDB_LITE") - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "RocksDB" - self.cpp_info.names["cmake_find_package_multi"] = "RocksDB" - self.cpp_info.components["librocksdb"].names["cmake_find_package"] = cmake_target - self.cpp_info.components["librocksdb"].names["cmake_find_package_multi"] = cmake_target self.cpp_info.components["librocksdb"].set_property("cmake_target_name", f"RocksDB::{cmake_target}") if self.options.with_gflags: self.cpp_info.components["librocksdb"].requires.append("gflags::gflags") diff --git a/recipes/rocksdb/all/patches/6.27.3-0001-add-include-cstdint-for-gcc-13.patch b/recipes/rocksdb/all/patches/6.27.3-0001-add-include-cstdint-for-gcc-13.patch deleted file mode 100644 index bd7cc0411046f..0000000000000 --- a/recipes/rocksdb/all/patches/6.27.3-0001-add-include-cstdint-for-gcc-13.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- include/rocksdb/utilities/checkpoint.h -+++ include/rocksdb/utilities/checkpoint.h -@@ -8,6 +8,7 @@ - #pragma once - #ifndef ROCKSDB_LITE - -+#include - #include - #include - #include "rocksdb/status.h" ---- table/block_based/data_block_hash_index.h -+++ table/block_based/data_block_hash_index.h -@@ -5,6 +5,7 @@ - - #pragma once - -+#include - #include - #include - ---- util/string_util.h -+++ util/string_util.h -@@ -6,6 +6,7 @@ - - #pragma once - -+#include - #include - #include - #include diff --git a/recipes/rocksdb/all/patches/6.29.5-0002-exclude-thirdparty.patch b/recipes/rocksdb/all/patches/6.29.5-0002-exclude-thirdparty.patch new file mode 100644 index 0000000000000..fb0dd0c46b4f2 --- /dev/null +++ b/recipes/rocksdb/all/patches/6.29.5-0002-exclude-thirdparty.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ec59d4491..35577c998 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -101 +100,0 @@ if(MSVC) +- option(WITH_GFLAGS "build with GFlags" OFF) +@@ -103,2 +102,2 @@ if(MSVC) +- include(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty.inc) +-else() ++endif() ++ +@@ -117 +116 @@ else() +- if(MINGW) ++ if(MINGW OR MSVC) +@@ -183 +181,0 @@ else() +-endif() diff --git a/recipes/rocksdb/all/patches/8.8.1-0001-exclude-thirdparty.patch b/recipes/rocksdb/all/patches/8.8.1-0001-exclude-thirdparty.patch new file mode 100644 index 0000000000000..c059220524e41 --- /dev/null +++ b/recipes/rocksdb/all/patches/8.8.1-0001-exclude-thirdparty.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b475a22..1d846dc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -88,14 +88,9 @@ endif() + include(CMakeDependentOption) + + if(MSVC) +- option(WITH_GFLAGS "build with GFlags" OFF) + option(WITH_XPRESS "build with windows built in compression" OFF) +- option(ROCKSDB_SKIP_THIRDPARTY "skip thirdparty.inc" OFF) +- +- if(NOT ROCKSDB_SKIP_THIRDPARTY) +- include(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty.inc) +- endif() +-else() ++endif() ++if(TRUE) + if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" AND NOT CMAKE_SYSTEM_NAME MATCHES "kFreeBSD") + # FreeBSD has jemalloc as default malloc + # but it does not have all the jemalloc files in include/... +@@ -108,7 +103,7 @@ else() + endif() + endif() + +- if(MINGW) ++ if(MSVC OR MINGW) + option(WITH_GFLAGS "build with GFlags" OFF) + else() + option(WITH_GFLAGS "build with GFlags" ON) diff --git a/recipes/rocksdb/all/patches/9.x.x-0001-exclude-thirdparty.patch b/recipes/rocksdb/all/patches/9.x.x-0001-exclude-thirdparty.patch new file mode 100644 index 0000000000000..69aca45670016 --- /dev/null +++ b/recipes/rocksdb/all/patches/9.x.x-0001-exclude-thirdparty.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 93b884d..b715cb6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -106,14 +106,9 @@ endif() + include(CMakeDependentOption) + + if(MSVC) +- option(WITH_GFLAGS "build with GFlags" OFF) + option(WITH_XPRESS "build with windows built in compression" OFF) +- option(ROCKSDB_SKIP_THIRDPARTY "skip thirdparty.inc" OFF) +- +- if(NOT ROCKSDB_SKIP_THIRDPARTY) +- include(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty.inc) +- endif() +-else() ++endif() ++if(TRUE) + if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" AND NOT CMAKE_SYSTEM_NAME MATCHES "kFreeBSD") + # FreeBSD has jemalloc as default malloc + # but it does not have all the jemalloc files in include/... +@@ -126,7 +121,7 @@ else() + endif() + endif() + +- if(MINGW) ++ if(MSVC OR MINGW) + option(WITH_GFLAGS "build with GFlags" OFF) + else() + option(WITH_GFLAGS "build with GFlags" ON) diff --git a/recipes/rocksdb/all/test_v1_package/CMakeLists.txt b/recipes/rocksdb/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index c23ed5cfe6d98..0000000000000 --- a/recipes/rocksdb/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_v1_package) - -enable_testing() - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/rocksdb/all/test_v1_package/conanfile.py b/recipes/rocksdb/all/test_v1_package/conanfile.py deleted file mode 100644 index 5fc2cee9c5517..0000000000000 --- a/recipes/rocksdb/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["ROCKSDB_SHARED"] = self.options["rocksdb"].shared - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(f"ctest --output-on-failure -C {self.settings.build_type}", run_environment=True) diff --git a/recipes/rocksdb/config.yml b/recipes/rocksdb/config.yml index 8044f69736f9c..1c535f1fa5e8e 100644 --- a/recipes/rocksdb/config.yml +++ b/recipes/rocksdb/config.yml @@ -1,19 +1,11 @@ versions: + "9.7.4": + folder: all "9.5.2": folder: all "9.4.0": folder: all - "9.2.1": - folder: all - "9.1.0": - folder: all - "9.0.0": - folder: all "8.8.1": folder: all "6.29.5": folder: all - "6.27.3": - folder: all - "6.20.3": - folder: all diff --git a/recipes/rotor/all/conandata.yml b/recipes/rotor/all/conandata.yml index 4119e3f61f535..216ceff141b71 100644 --- a/recipes/rotor/all/conandata.yml +++ b/recipes/rotor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.31": + url: "https://github.com/basiliscos/cpp-rotor/archive/refs/tags/v0.31.tar.gz" + sha256: "c8d9b28083c7a9c32af2cbff1d90fe1e62def989f0f89baba1244c44fb8ec9e4" "0.30": url: "https://github.com/basiliscos/cpp-rotor/archive/refs/tags/v0.30.tar.gz" sha256: "d143bfce1d18d42ab0f072acfe239d1cc07a495411537579e02260673cbe8121" diff --git a/recipes/rotor/all/test_v1_package/CMakeLists.txt b/recipes/rotor/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 027b2945e0aad..0000000000000 --- a/recipes/rotor/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package CXX) - -find_package("rotor" COMPONENTS asio thread REQUIRED) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) -target_link_libraries(${PROJECT_NAME} rotor::core) diff --git a/recipes/rotor/all/test_v1_package/conanfile.py b/recipes/rotor/all/test_v1_package/conanfile.py deleted file mode 100644 index a9fb96656f203..0000000000000 --- a/recipes/rotor/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,26 +0,0 @@ -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 requirements(self): - self.requires(self.tested_reference_str) - - def layout(self): - cmake_layout(self) - - 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.bindirs[0], "test_package") - self.run(bin_path, env="conanrun") diff --git a/recipes/rotor/all/test_v1_package/test_package.cpp b/recipes/rotor/all/test_v1_package/test_package.cpp deleted file mode 100644 index bfb89c9986e86..0000000000000 --- a/recipes/rotor/all/test_v1_package/test_package.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include -#include - - -namespace { -namespace to { -struct on_timer_trigger {}; -} // namespace to -} // namespace - -namespace rotor { -template <> -inline auto rotor::actor_base_t::access(request_id_t request_id, - bool cancelled) noexcept { - on_timer_trigger(request_id, cancelled); -} -} // namespace rotor - -struct dummy_supervisor_t : public rotor::supervisor_t { - using rotor::supervisor_t::supervisor_t; - using timers_map_t = std::unordered_map; - - timers_map_t timers_map; - - void do_start_timer(const rotor::pt::time_duration &, rotor::timer_handler_base_t &handler) noexcept override { - timers_map.emplace(handler.request_id, &handler); - } - - void do_cancel_timer(rotor::request_id_t timer_id) noexcept override { - auto it = timers_map.find(timer_id); - auto &actor_ptr = it->second->owner; - actor_ptr->access(timer_id, true); - timers_map.erase(it); - } - - void start() noexcept override {} - void shutdown() noexcept override {} - void enqueue(rotor::message_ptr_t) noexcept override {} -}; - -struct hello_actor : public rotor::actor_base_t { - using rotor::actor_base_t::actor_base_t; - void on_start() noexcept override { - rotor::actor_base_t::on_start(); - std::cout << "hello world\n"; - supervisor->do_shutdown(); - } -}; - -int main() { - rotor::system_context_t ctx{}; - auto timeout = boost::posix_time::milliseconds{500}; /* does not matter */ - auto sup = ctx.create_supervisor().timeout(timeout).finish(); - sup->create_actor().timeout(timeout).finish(); - sup->do_process(); - return 0; -} - diff --git a/recipes/rotor/config.yml b/recipes/rotor/config.yml index 706ccf0a88afa..b97b8fdf6c94f 100644 --- a/recipes/rotor/config.yml +++ b/recipes/rotor/config.yml @@ -1,4 +1,6 @@ versions: + "0.31": + folder: all "0.30": folder: all "0.29": diff --git a/recipes/rpclib/all/test_v1_package/CMakeLists.txt b/recipes/rpclib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/rpclib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rpclib/all/test_v1_package/conanfile.py b/recipes/rpclib/all/test_v1_package/conanfile.py deleted file mode 100644 index d2f62e670fcd2..0000000000000 --- a/recipes/rpclib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,15 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run( os.path.join("bin", "test_package"), run_environment=True ) diff --git a/recipes/rply/all/test_v1_package/CMakeLists.txt b/recipes/rply/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/rply/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/rply/all/test_v1_package/conanfile.py b/recipes/rply/all/test_v1_package/conanfile.py deleted file mode 100644 index 8c7d6ccfd145d..0000000000000 --- a/recipes/rply/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - ply_file = os.path.join(self.source_folder, os.pardir, "test_package", "triangle.ply") - self.run(f"{bin_path} {ply_file}", run_environment=True) diff --git a/recipes/rtm/all/test_v1_package/CMakeLists.txt b/recipes/rtm/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/rtm/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rtm/all/test_v1_package/conanfile.py b/recipes/rtm/all/test_v1_package/conanfile.py deleted file mode 100644 index abcaeed3f89b6..0000000000000 --- a/recipes/rtm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rtmidi/all/test_v1_package/CMakeLists.txt b/recipes/rtmidi/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/rtmidi/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rtmidi/all/test_v1_package/conanfile.py b/recipes/rtmidi/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/rtmidi/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rttr/all/test_v1_package/CMakeLists.txt b/recipes/rttr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/rttr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/rttr/all/test_v1_package/conanfile.py b/recipes/rttr/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/rttr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/runtimeqml/all/test_v1_package/CMakeLists.txt b/recipes/runtimeqml/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/runtimeqml/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/runtimeqml/all/test_v1_package/conanfile.py b/recipes/runtimeqml/all/test_v1_package/conanfile.py deleted file mode 100644 index f44ea85fbe3eb..0000000000000 --- a/recipes/runtimeqml/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conan import ConanFile -from conan.tools.build import cross_building -from conan.tools.cmake import CMake -import os - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - self.run(bin_path, env="conanrun") diff --git a/recipes/ruy/all/test_v1_package/CMakeLists.txt b/recipes/ruy/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index ad23fc4ce0674..0000000000000 --- a/recipes/ruy/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(ruy REQUIRED) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ruy::ruy) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/ruy/all/test_v1_package/conanfile.py b/recipes/ruy/all/test_v1_package/conanfile.py deleted file mode 100644 index cb4e2b3389e8f..0000000000000 --- a/recipes/ruy/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ruy/all/test_v1_package/test_package.cpp b/recipes/ruy/all/test_v1_package/test_package.cpp deleted file mode 100644 index 9e1b8a13b5564..0000000000000 --- a/recipes/ruy/all/test_v1_package/test_package.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include -#include - -#include "ruy/ruy.h" - -int main() { - - ruy::Context context; - const float lhs_data[] = {1, 2, 3, 4}; - const float rhs_data[] = {1, 2, 3, 4}; - float dst_data[4]; - - ruy::Matrix lhs; - ruy::MakeSimpleLayout(2, 2, ruy::Order::kRowMajor, lhs.mutable_layout()); - lhs.set_data(lhs_data); - ruy::Matrix rhs; - ruy::MakeSimpleLayout(2, 2, ruy::Order::kColMajor, rhs.mutable_layout()); - rhs.set_data(rhs_data); - ruy::Matrix dst; - ruy::MakeSimpleLayout(2, 2, ruy::Order::kColMajor, dst.mutable_layout()); - dst.set_data(dst_data); - - ruy::MulParams mul_params; - ruy::Mul(lhs, rhs, mul_params, &context, &dst); - - std::cout << "ruy's test_package ran successfully \n"; -} diff --git a/recipes/rvo2/all/test_v1_package/CMakeLists.txt b/recipes/rvo2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/rvo2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/rvo2/all/test_v1_package/conanfile.py b/recipes/rvo2/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/rvo2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/rxcpp/all/conanfile.py b/recipes/rxcpp/all/conanfile.py index d05961ecfc442..61160297e88db 100644 --- a/recipes/rxcpp/all/conanfile.py +++ b/recipes/rxcpp/all/conanfile.py @@ -1,9 +1,11 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os -required_conan_version = ">=1.50.0" +required_conan_version = ">=2.1" class RxcppConan(ConanFile): @@ -14,6 +16,7 @@ class RxcppConan(ConanFile): homepage = "https://github.com/ReactiveX/RxCpp" url = "https://github.com/conan-io/conan-center-index" settings = "os", "arch", "compiler", "build_type" + package_type = "header-library" no_copy_source = True def package_id(self): @@ -21,6 +24,11 @@ def package_id(self): def layout(self): basic_layout(self, src_folder="src") + + def validate_build(self): + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) >= "14": + raise ConanInvalidConfiguration("This package can't be built for gcc >= 14. " + "You can compile it with a lower version and consume it later with your compiler.") def source(self): get(self, **self.conan_data["sources"][self.version], diff --git a/recipes/rxcpp/all/test_v1_package/CMakeLists.txt b/recipes/rxcpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index f776bf6153687..0000000000000 --- a/recipes/rxcpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(rxcpp REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE rxcpp::rxcpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/rxcpp/all/test_v1_package/conanfile.py b/recipes/rxcpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/rxcpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/s2let/all/test_v1_package/CMakeLists.txt b/recipes/s2let/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/s2let/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/s2let/all/test_v1_package/conanfile.py b/recipes/s2let/all/test_v1_package/conanfile.py deleted file mode 100644 index abcaeed3f89b6..0000000000000 --- a/recipes/s2let/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/s2n/all/conandata.yml b/recipes/s2n/all/conandata.yml index b9eb147f98b56..15f9995438330 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,16 @@ sources: + "1.5.7": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.5.7.tar.gz" + sha256: "c30b97c8bcccc0557331dd1a043010a70984c9cff11b0bbd769651db68f8b91d" + "1.5.6": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.5.6.tar.gz" + sha256: "85602d0ad672cb233052504624dec23b47fc6d324bb82bd6eaff13b8f652dec3" + "1.5.5": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.5.5.tar.gz" + sha256: "6316e1ad2c8ef5807519758bb159d314b9fef31d79ae27bc8f809104b978bb04" + "1.5.3": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.5.3.tar.gz" + sha256: "609d4ab5747e592a8749f2db7ff6422ea2e0aff3d2790b6d36defe276f422a71" "1.5.2": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.5.2.tar.gz" sha256: "896d9f8f8e9bd2fdcb9a21b18aede4f7afc65bde279afabc60abf97fa5069dd1" @@ -11,53 +23,6 @@ sources: "1.4.16": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.16.tar.gz" sha256: "84fdbaa894c722bf13cac87b8579f494c1c2d66de642e5e6104638fddea76ad9" - "1.4.13": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.13.tar.gz" - sha256: "8b0b36697963d6752e5a1b49e28e393605990d348edf1aef6f39c33164d45edb" - "1.4.1": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.1.tar.gz" - sha256: "d8c1d8e1142441412434feacb4947ce6430a244dcd8f58921af79b29bd901731" - "1.4.0": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.0.tar.gz" - sha256: "3f786cb2f35e0551e120e1747e7b510a8228cd852073afa241313939672046cb" - "1.3.56": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.56.tar.gz" - sha256: "5d7bab81357a564453bc453469b4ae02936f1f35225ad297b8d846d2ecdda521" - "1.3.55": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.55.tar.gz" - sha256: "3b4d51d08326757440a7a134dd4d73c904b700d64837aa7fec0aca908b70fd9b" - "1.3.52": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.52.tar.gz" - sha256: "c8ae02ae427763dcffe10d211ed7a2433803affd9aa5836951ef972c53db0120" - "1.3.50": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.50.tar.gz" - sha256: "19c9a7e9e0ce14aae3fc0c55995759f4eadd5b55f5353de69f82c62ccb3693f8" - "1.3.49": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.49.tar.gz" - sha256: "2bc7b170a750a435ad02ab8e696c3ad6e9bb7a585c02899472793f87670184dd" - "1.3.31": - url: "https://github.com/aws/s2n-tls/archive/v1.3.31.tar.gz" - sha256: "23cfb42f82cbe1ce94b59f3b1c1c8eb9d24af2a1ae4c8f854209ff88fddd3900" "1.3.15": url: "https://github.com/aws/s2n-tls/archive/v1.3.15.tar.gz" sha256: "e3fc3405bb56334cbec90c35cbdf0e8a0f53199749a3f4b8fddb8d8a41e6db8b" - "1.3.9": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.9.tar.gz" - sha256: "09f03600d45cac99b8495f9c7aa5f70a83b5c02867a3018a1ba9975d53184658" - "1.2.0": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.2.0.tar.gz" - sha256: "90c1b5f4ac2c46774c8f100cac4f2a951715ae0bf2661799b9aaa891e6fb1f30" - "1.1.1": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.1.1.tar.gz" - sha256: "a17ef1e55b0a6c3d422b8b857bcfd26af7d2f8b33628a540854a6c17b8bed4d8" - "1.1.0": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.1.0.tar.gz" - sha256: "e094fd1f2044cfaeedb534ef1d7e4fd8745d8c07a247ce383cd8a6a5288e195c" - "1.0.11": - url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.0.11.tar.gz" - sha256: "dbe886cf8cd6658cce571cdaba81e9a93d8c914fd1eba0d3233fec64ed53224b" -patches: - "1.1.0": - - patch_file: "patches/1.1.0/001-try-compile.patch" - "1.0.11": - - patch_file: "patches/1.0.11/001-try-compile.patch" diff --git a/recipes/s2n/all/conanfile.py b/recipes/s2n/all/conanfile.py index a112b40965f87..6fc1e08a65355 100644 --- a/recipes/s2n/all/conanfile.py +++ b/recipes/s2n/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.files import copy, get, rmdir, save import os import textwrap @@ -28,7 +28,6 @@ class S2nConan(ConanFile): def export_sources(self): copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) - export_conandata_patches(self) def configure(self): if self.options.shared: @@ -59,7 +58,6 @@ def generate(self): deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) cmake.build() diff --git a/recipes/s2n/all/test_v1_package/CMakeLists.txt b/recipes/s2n/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/s2n/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/s2n/all/test_v1_package/conanfile.py b/recipes/s2n/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/s2n/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index 760e55c793225..32caa1c5d08da 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,39 +1,21 @@ versions: - "1.5.2": - folder: all - "1.5.1": - folder: all - "1.5.0": - folder: all - "1.4.16": - folder: all - "1.4.13": - folder: all - "1.4.1": + "1.5.7": folder: all - "1.4.0": + "1.5.6": folder: all - "1.3.56": + "1.5.5": folder: all - "1.3.55": + "1.5.3": folder: all - "1.3.52": + "1.5.2": folder: all - "1.3.50": + "1.5.1": folder: all - "1.3.49": + "1.5.0": folder: all - "1.3.31": + # keep 1.4.16 for aws-sdk-cpp, aws-c-io + "1.4.16": folder: all + # keep 1.3.15 for aws-sdk-cpp, aws-c-io "1.3.15": folder: all - "1.3.9": - folder: all - "1.2.0": - folder: all - "1.1.1": - folder: all - "1.1.0": - folder: all - "1.0.11": - folder: all diff --git a/recipes/safe/all/conandata.yml b/recipes/safe/all/conandata.yml index 31c393ec6520f..fb5bd5ef42e56 100644 --- a/recipes/safe/all/conandata.yml +++ b/recipes/safe/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://github.com/LouisCharlesC/safe/archive/v2.0.0.tar.gz" + sha256: "1684c61212d01d1b20db77d17ddd795badc7c1b9feb06ef93ef453c6cb4a1642" "1.1.1": url: "https://github.com/LouisCharlesC/safe/archive/v1.1.1.tar.gz" sha256: "A6E161EAFC32AA522CD2CE1A5F95A3DF963C51263053089FC8F7A9765D054F00" diff --git a/recipes/safe/config.yml b/recipes/safe/config.yml index 60d31991f5141..eb4c9584b610a 100644 --- a/recipes/safe/config.yml +++ b/recipes/safe/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.0": + folder: all "1.1.1": folder: all diff --git a/recipes/safeint/all/test_v1_package/CMakeLists.txt b/recipes/safeint/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/safeint/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/safeint/all/test_v1_package/conanfile.py b/recipes/safeint/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/safeint/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sail/all/conandata.yml b/recipes/sail/all/conandata.yml index 0afb569405de9..028d8d21524f6 100644 --- a/recipes/sail/all/conandata.yml +++ b/recipes/sail/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.6": + url: "https://github.com/HappySeaFox/sail/archive/v0.9.6.tar.gz" + sha256: "4e46b1a5cd0e23f78fbeef085340779c9d4a7d5dd731ffd1df8fdfb343befbc4" "0.9.5": url: "https://github.com/HappySeaFox/sail/archive/v0.9.5.tar.gz" sha256: "28c601c0399be1940710afc150b5836f8b3f5f6a35b98d7ac1467e62bc568e20" diff --git a/recipes/sail/all/conanfile.py b/recipes/sail/all/conanfile.py index 13e75918fc7c2..8afbd6f8c8980 100644 --- a/recipes/sail/all/conanfile.py +++ b/recipes/sail/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rename, rmdir +from conan.tools.files import copy, get, rename, rmdir from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os @@ -9,6 +9,7 @@ class SAILConan(ConanFile): name = "sail" + package_type = "library" description = "The missing small and fast image decoding library for humans (not for machines)" url = "https://github.com/conan-io/conan-center-index" homepage = "https://sail.software" @@ -43,9 +44,6 @@ class SAILConan(ConanFile): "with_lowest_priority_codecs": "Enable codecs: WAL, XBM", } - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if self.settings.os == "Windows": self.options.rm_safe("fPIC") @@ -66,10 +64,7 @@ def requirements(self): if self.options.with_medium_priority_codecs: self.requires("libavif/1.0.4") self.requires("jasper/4.2.0") - # TODO Re-enable JPEG XL after merging either of the following: - # - https://github.com/conan-io/conan-center-index/pull/13898 - # - https://github.com/conan-io/conan-center-index/pull/18812 - # self.requires("libjxl/0.10.2") + self.requires("libjxl/0.8.2") self.requires("libwebp/1.3.2") def layout(self): @@ -100,25 +95,19 @@ def generate(self): tc.variables["SAIL_COMBINE_CODECS"] = True tc.variables["SAIL_ENABLE_OPENMP"] = False tc.variables["SAIL_ONLY_CODECS"] = ";".join(only_codecs) - # JPEGXL needs porting to Conan2 # SVG with nanosvg is supported in >= 0.9.1 - if Version(self.version) >= "0.9.1": - tc.variables["SAIL_DISABLE_CODECS"] = "jpegxl" - else: - tc.variables["SAIL_DISABLE_CODECS"] = "jpegxl;svg" + if Version(self.version) < "0.9.1": + tc.variables["SAIL_DISABLE_CODECS"] = "svg" tc.variables["SAIL_INSTALL_PDB"] = False tc.variables["SAIL_THREAD_SAFE"] = self.options.thread_safe # TODO: Remove after fixing https://github.com/conan-io/conan/issues/12012 - if is_msvc(self): - tc.cache_variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) + tc.cache_variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) tc.generate() deps = CMakeDeps(self) deps.generate() def build(self): - apply_conandata_patches(self) - cmake = CMake(self) cmake.configure() cmake.build() @@ -169,7 +158,7 @@ def package_info(self): if self.options.with_medium_priority_codecs: self.cpp_info.components["sail-codecs"].requires.append("libavif::libavif") self.cpp_info.components["sail-codecs"].requires.append("jasper::jasper") - # self.cpp_info.components["sail-codecs"].requires.append("libjxl::libjxl") + self.cpp_info.components["sail-codecs"].requires.append("libjxl::libjxl") self.cpp_info.components["sail-codecs"].requires.append("libwebp::libwebp") self.cpp_info.components["libsail"].set_property("cmake_target_name", "SAIL::Sail") diff --git a/recipes/sail/all/test_v1_package/CMakeLists.txt b/recipes/sail/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index dbf35d5521717..0000000000000 --- a/recipes/sail/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/sail/all/test_v1_package/conanfile.py b/recipes/sail/all/test_v1_package/conanfile.py deleted file mode 100644 index e1256a3fd44fe..0000000000000 --- a/recipes/sail/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package_c") - self.run(bin_path, run_environment=True) - - bin_path = os.path.join("bin", "test_package_cxx") - self.run(bin_path, run_environment=True) diff --git a/recipes/sail/config.yml b/recipes/sail/config.yml index 5d13176650afe..750e4f96fe594 100644 --- a/recipes/sail/config.yml +++ b/recipes/sail/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.6": + folder: all "0.9.5": folder: all "0.9.4": diff --git a/recipes/samurai/all/conanfile.py b/recipes/samurai/all/conanfile.py index a025722b58547..3667d0c5edfed 100644 --- a/recipes/samurai/all/conanfile.py +++ b/recipes/samurai/all/conanfile.py @@ -43,7 +43,7 @@ def requirements(self): self.requires("fmt/10.1.1") self.requires("highfive/2.7.1") self.requires("pugixml/1.14") - self.requires("xsimd/12.0.0") + self.requires("xsimd/13.0.0") self.requires("xtensor/0.24.7") def package_id(self): diff --git a/recipes/sassc/all/test_v1_package/conanfile.py b/recipes/sassc/all/test_v1_package/conanfile.py deleted file mode 100644 index 70d62ab9bfc61..0000000000000 --- a/recipes/sassc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,9 +0,0 @@ -from conans import ConanFile, tools - - -class LibsassTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - - def test(self): - if not tools.cross_building(self): - self.run("sassc --version", run_environment=True) diff --git a/recipes/sbepp/all/conandata.yml b/recipes/sbepp/all/conandata.yml index e2b77352008d8..7006e2b3c44d3 100644 --- a/recipes/sbepp/all/conandata.yml +++ b/recipes/sbepp/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.4.2": + url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.4.2.tar.gz" + sha256: "4af544262cd447f0fad45db850ab82b3318ff75e47dbdbdd5150437ca7d523c5" + "1.4.1": + url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.4.1.tar.gz" + sha256: "1e5913372e3f4871a7aa3d8ac94759cdcc9df61a3865ce99944f74cc0672795d" "1.4.0": url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.4.0.tar.gz" sha256: "64112ed22d6c82debc70a4c097f3fcd05a4bd280dca7e2013edbd6bebfd1da56" diff --git a/recipes/sbepp/all/test_v1_package/CMakeLists.txt b/recipes/sbepp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/sbepp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/sbepp/all/test_v1_package/conanfile.py b/recipes/sbepp/all/test_v1_package/conanfile.py deleted file mode 100644 index f15a1e8fcf232..0000000000000 --- a/recipes/sbepp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,25 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.cmake import CMakeToolchain -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def generate(self): - tc = CMakeToolchain(self) - tc.variables["SBEPP_VERSION"] = self.deps_cpp_info["sbepp"].version - tc.generate() - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sbepp/config.yml b/recipes/sbepp/config.yml index 60f8f892f1bc0..548ae00c17fa2 100644 --- a/recipes/sbepp/config.yml +++ b/recipes/sbepp/config.yml @@ -1,4 +1,8 @@ versions: + "1.4.2": + folder: all + "1.4.1": + folder: all "1.4.0": folder: all "1.3.0": diff --git a/recipes/scdoc/all/test_v1_package/conanfile.py b/recipes/scdoc/all/test_v1_package/conanfile.py deleted file mode 100644 index 4e046a6fb6265..0000000000000 --- a/recipes/scdoc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,10 +0,0 @@ -from conans import ConanFile, tools -import os - - -class TestPackageConan(ConanFile): - - def test(self): - if not tools.cross_building(self): - scd_path = os.path.join(self.source_folder, os.pardir, "test_package", "test_package.1.scd") - self.run(f"scdoc < {scd_path}", run_environment=True) diff --git a/recipes/scip/all/conandata.yml b/recipes/scip/all/conandata.yml index a8bf84f8787de..3da148cb520bd 100644 --- a/recipes/scip/all/conandata.yml +++ b/recipes/scip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.2.0": + url: "https://github.com/scipopt/scip/archive/refs/tags/v920.tar.gz" + sha256: "a22dc20f44e99bfec071889fd5af2bfc57c4af14b76d777d1312006616346f7c" "9.0.1": url: "https://github.com/scipopt/scip/archive/refs/tags/v901.tar.gz" sha256: "08ad3e7ad6f84f457d95bb70ab21fa7fc648dd43103099359ef8a8f30fcce32e" @@ -11,3 +14,24 @@ sources: "8.0.3": url: "https://github.com/scipopt/scip/archive/refs/tags/v803.tar.gz" sha256: "fe7636f8165a8c9298ff55ed3220d084d4ea31ba9b69d2733beec53e0e4335d6" +patches: + "9.2.0": + - patch_file: "patches/0001-bliss-include-dir.patch" + patch_description: "Change hard-coded paths to conan includes" + patch_type: "conan" +version_mappings: + "9.2.0": + soplex: "7.1.2" + default_sym: "snauty" + "9.0.1": + soplex: "7.0.1" + default_sym: "bliss" + "8.1.0": + soplex: "6.0.4" + default_sym: "bliss" + "8.0.4": + soplex: "6.0.4" + default_sym: "bliss" + "8.0.3": + soplex: "6.0.3" + default_sym: "bliss" diff --git a/recipes/scip/all/conanfile.py b/recipes/scip/all/conanfile.py index 0fea9f21ddc93..0c642f80cc866 100644 --- a/recipes/scip/all/conanfile.py +++ b/recipes/scip/all/conanfile.py @@ -3,7 +3,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.errors import ConanInvalidConfiguration -from conan.tools.files import copy, get +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get from conan.tools.microsoft import check_min_vs, is_msvc from conan.tools.scm import Version from os.path import join @@ -25,20 +25,13 @@ class SCIPConan(ConanFile): "fPIC": [True, False], "with_gmp": [True, False], "with_tpi": [False, "omp", "tny"], - "with_sym": [False, "bliss"], + "with_sym": [False, "bliss", "snauty"], } default_options = { "shared": False, "fPIC": True, "with_gmp": True, - "with_tpi": False, - "with_sym": "bliss", - } - soplex_version_belonging_to_me = { - "9.0.1": "7.0.1", - "8.1.0": "6.0.4", - "8.0.4": "6.0.4", - "8.0.3": "6.0.3" + "with_tpi": False } @property @@ -53,6 +46,9 @@ def _compilers_minimum_version(self): "apple-clang": "7", } + def export_sources(self): + export_conandata_patches(self) + def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) @@ -79,18 +75,24 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - def requirements(self): + def _mapping_requires(dep, **kwargs): + required_version = self.conan_data["version_mappings"][self.version][dep] + self.requires(f"{dep}/{required_version}", **kwargs) + if self.options.with_gmp: self.requires("gmp/6.3.0") if self.options.with_sym == "bliss": self.requires("bliss/0.77") - self.requires(f"soplex/{self.soplex_version_belonging_to_me[self.version]}") + _mapping_requires("soplex") self.requires("zlib/[>=1.2.11 <2]") + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + if self.options.with_sym == None: + self.options.with_sym = self.conan_data["version_mappings"][self.version]["default_sym"] + def configure(self): self.options["soplex"].with_gmp = self.options.with_gmp if self.options.shared: @@ -104,6 +106,7 @@ def _to_cmake(*arrays): return ";".join(item.replace("\\", "/") for sublist in arrays for item in sublist) def generate(self): + apply_conandata_patches(self) tc = CMakeToolchain(self) tc.variables["SHARED"] = self.options.shared tc.variables["READLINE"] = False # required for interactive stuff diff --git a/recipes/scip/all/patches/0001-bliss-include-dir.patch b/recipes/scip/all/patches/0001-bliss-include-dir.patch new file mode 100644 index 0000000000000..c47daafc7bbb7 --- /dev/null +++ b/recipes/scip/all/patches/0001-bliss-include-dir.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c23a1a85c9..f288b2b89d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -133,11 +133,10 @@ if(SYM STREQUAL "bliss" OR SYM STREQUAL "sbliss") + + find_package(Bliss CONFIG HINTS ${BLISS_DIR}) + if(Bliss_FOUND) +- get_filename_component(BLISS_ABSOLUTE_PATH ${Bliss_DIR}/../../.. REALPATH) +- include_directories(${BLISS_ABSOLUTE_PATH}/include) +- set(SYM_LIBRARIES ${BLISS_ABSOLUTE_PATH}/lib/libbliss.a) +- set(SYM_PIC_LIBRARIES ${BLISS_ABSOLUTE_PATH}/lib/libbliss.a) +- message(STATUS "Found Bliss: ${BLISS_ABSOLUTE_PATH}") ++ include_directories("${bliss_INCLUDE_DIRS}") ++ set(SYM_LIBRARIES "bliss::bliss") ++ set(SYM_PIC_LIBRARIES "bliss::bliss") ++ message(STATUS "Found Bliss via Conan") + else() + # Utilities to automatically download missing dependencies + include(cmake/Dependencies.cmake) diff --git a/recipes/scip/config.yml b/recipes/scip/config.yml index 06d899dbf8431..73c7b80b6ca0b 100644 --- a/recipes/scip/config.yml +++ b/recipes/scip/config.yml @@ -1,4 +1,6 @@ versions: + "9.2.0": + folder: all "9.0.1": folder: all "8.1.0": diff --git a/recipes/scnlib/all/conandata.yml b/recipes/scnlib/all/conandata.yml index 710d921dd9cb1..14fe174ba433a 100644 --- a/recipes/scnlib/all/conandata.yml +++ b/recipes/scnlib/all/conandata.yml @@ -1,68 +1,13 @@ sources: + "4.0.1": + url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v4.0.1.tar.gz" + sha256: "ece17b26840894cc57a7127138fe4540929adcb297524dec02c490c233ff46a7" + "3.0.2": + url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v3.0.2.tar.gz" + sha256: "27f17420ddad6971339e6d5db0d915204181c31f5cb0e92a63b9998d98e2852b" "3.0.1": url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v3.0.1.tar.gz" sha256: "bc8a668873601d00cce6841c2d0f2c93f836f63f0fbc77997834dea12e951eb1" "2.0.3": url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.3.tar.gz" sha256: "507ed0e988f1d9460a9c921fc21f5a5244185a4015942f235522fbe5c21e6a51" - "2.0.2": - url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.2.tar.gz" - sha256: "a485076b8710576cf05fbc086d39499d16804575c0660b0dfaeeaf7823660a17" - "2.0.1": - url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.1.tar.gz" - sha256: "f399d1b1f36f5d53a2d63fd2974797ab8f3f7e69c424d9661253830cb793b72e" - "2.0.0": - url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.0.tar.gz" - sha256: "2a35356a3a7485fdf97f28cfbea52db077cf4e7bab0a5a0fc3b04e89630334cd" - "1.1.3": - url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v1.1.3.tar.gz" - sha256: "32ca1baed2da5d86aa03273c87580ef32e95925697d252138507ec0545d86ab2" - "1.1.2": - url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v1.1.2.tar.gz" - sha256: "5ed3ec742302c7304bf188bde9c4012a65dc8124ff4e1a69b598480d664250e6" - "1.0": - url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v1.0.tar.gz" - sha256: "5b8333e522206c2a74e57a9c9544c4fe4e7858cfe93e216905b463eaf91af5fe" -patches: - "2.0.2": - - patch_file: "patches/2.0.0-0001-remove-re2-version.patch" - patch_description: "remove re2 version on find_package" - patch_type: "portability" - "2.0.1": - - patch_file: "patches/2.0.0-0001-remove-re2-version.patch" - patch_description: "remove re2 version on find_package" - patch_type: "portability" - "2.0.0": - - patch_file: "patches/2.0.0-0001-remove-re2-version.patch" - patch_description: "remove re2 version on find_package" - patch_type: "portability" - "1.1.3": - - patch_file: "patches/1.1.3-0001-install-dll-windows.patch" - patch_description: "add runtime destination path on install" - patch_type: "portability" - - patch_file: "patches/1.1.3-0002-remove-header-only-target.patch" - patch_description: "prevent to generate header only target for conan package" - patch_type: "conan" - - patch_file: "patches/1.1.3-0003-fix-link-keyword.patch" - patch_description: "use PRIVATE instead of INTERFACE" - patch_type: "conan" - "1.1.2": - - patch_file: "patches/1.1.2-0001-install-dll-windows.patch" - patch_description: "add runtime destination path on install" - patch_type: "portability" - - patch_file: "patches/1.1.2-0002-remove-header-only-target.patch" - patch_description: "prevent to generate header only target for conan package" - patch_type: "conan" - - patch_file: "patches/1.1.2-0003-fix-link-keyword.patch" - patch_description: "use PRIVATE instead of INTERFACE" - patch_type: "conan" - "1.0": - - patch_file: "patches/1.0-0001-install-dll-windows.patch" - patch_description: "add runtime destination path on install" - patch_type: "portability" - - patch_file: "patches/1.0-0002-remove-header-only-target.patch" - patch_description: "prevent to generate header only target for conan package" - patch_type: "conan" - - patch_file: "patches/1.0-0003-use-conan-package.patch" - patch_description: "use conan package of fast-float" - patch_type: "conan" diff --git a/recipes/scnlib/all/conanfile.py b/recipes/scnlib/all/conanfile.py index afbb228d4be7f..14a3e596b4a2a 100644 --- a/recipes/scnlib/all/conanfile.py +++ b/recipes/scnlib/all/conanfile.py @@ -1,5 +1,5 @@ from conan import ConanFile -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir +from conan.tools.files import get, copy, rm, rmdir from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.layout import basic_layout @@ -9,7 +9,7 @@ import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0" class ScnlibConan(ConanFile): name = "scnlib" @@ -35,38 +35,15 @@ class ScnlibConan(ConanFile): @property def _min_cppstd(self): - if Version(self.version) < "2.0.0": - return "11" - else: - # scn/2.0.0 has complation error on MSVC c++17 - # we have to use versions which support c++20 - # https://github.com/eliaskosunen/scnlib/issues/97 - # https://github.com/conan-io/conan-center-index/pull/22455#issuecomment-1924444193 - return "20" if is_msvc(self) else "17" - - @property - def _compilers_minimum_version(self): - return { - "17": { - "gcc": "8", - "clang": "7", - # scn/2.0.0 requires std::regex_constants::multiline - "apple-clang": "14", - }, - "20": { - "Visual Studio": "17", - "msvc": "193", - } - }.get(self._min_cppstd, {}) - - def export_sources(self): - export_conandata_patches(self) + # scn/2.0.0 has complation error on MSVC c++17 + # we have to use versions which support c++20 + # https://github.com/eliaskosunen/scnlib/issues/97 + # https://github.com/conan-io/conan-center-index/pull/22455#issuecomment-1924444193 + return "20" if is_msvc(self) else "17" def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if Version(self.version) < "2.0": - del self.options.regex_backend def configure(self): if self.options.get_safe("header_only") or self.options.shared: @@ -83,7 +60,7 @@ def layout(self): def requirements(self): self.requires("fast_float/6.1.0") - if "2.0" <= Version(self.version) < "3.0": + if Version(self.version) < "3.0": self.requires("simdutf/4.0.5") if self.options.get_safe("regex_backend") in ["boost", "boost_icu"]: self.requires("boost/1.83.0") @@ -95,21 +72,17 @@ def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler.get_safe("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." - ) + check_min_cppstd(self, self._min_cppstd) + if self.options.get_safe("regex_backend") == "boost_icu" and \ not self.dependencies["boost"].options.get_safe("i18n_backend_icu"): raise ConanInvalidConfiguration( f"{self.ref} with regex_backend=Boost_icu option requires boost::i18n_backend_icu to be enabled." ) - if Version(self.version) >= "2.0.0" and self.options.header_only: + # TODO: This should probably be a del self.options.header_only in config_options once the CI supports it + if self.options.header_only: raise ConanInvalidConfiguration(f"{self.ref} doesn't support header only mode.") - if Version(self.version) >= "2.0.0" and self.settings.compiler == "gcc" and Version(self.settings.compiler.version).major == "11": + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version).major == "11": raise ConanInvalidConfiguration(f"{self.ref} doesn't support gcc 11.x due to std::regex_constants::multiline is not defined.") def build_requirements(self): @@ -129,24 +102,21 @@ def generate(self): tc.variables["SCN_DOCS"] = False tc.variables["SCN_INSTALL"] = True tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True - if Version(self.version) < "2.0": - tc.variables["SCN_USE_BUNDLED_FAST_FLOAT"] = False - else: - tc.variables["SCN_USE_EXTERNAL_SIMDUTF"] = True - tc.variables["SCN_USE_EXTERNAL_FAST_FLOAT"] = True - tc.variables["SCN_BENCHMARKS_BUILDTIME"] = False - tc.variables["SCN_BENCHMARKS_BINARYSIZE"] = False - tc.variables["SCN_DISABLE_REGEX"] = self.options.regex_backend is None - if self.options.regex_backend is not None: - tc.variables["SCN_REGEX_BACKEND"] = self.options.regex_backend - tc.variables["SCN_USE_EXTERNAL_REGEX_BACKEND"] = True + + tc.variables["SCN_USE_EXTERNAL_SIMDUTF"] = True + tc.variables["SCN_USE_EXTERNAL_FAST_FLOAT"] = True + tc.variables["SCN_BENCHMARKS_BUILDTIME"] = False + tc.variables["SCN_BENCHMARKS_BINARYSIZE"] = False + tc.variables["SCN_DISABLE_REGEX"] = self.options.regex_backend is None + if self.options.regex_backend is not None: + tc.variables["SCN_REGEX_BACKEND"] = self.options.regex_backend + tc.variables["SCN_USE_EXTERNAL_REGEX_BACKEND"] = True tc.generate() deps = CMakeDeps(self) deps.generate() def build(self): - apply_conandata_patches(self) if not self.options.get_safe("header_only"): cmake = CMake(self) cmake.configure() @@ -157,13 +127,10 @@ def package(self): if self.options.get_safe("header_only"): copy(self, "*", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) src_folder = os.path.join(self.source_folder, "src") - if Version(self.version) >= "1.0": - copy(self, "reader_*.cpp", src=src_folder, dst=os.path.join(self.package_folder, "include", "scn", "reader")) - copy(self, "vscan.cpp", src=src_folder, dst=os.path.join(self.package_folder, "include", "scn", "scan")) - copy(self, "locale.cpp", src=src_folder, dst=os.path.join(self.package_folder, "include", "scn", "detail")) - copy(self, "file.cpp", src=src_folder, dst=os.path.join(self.package_folder, "include", "scn", "detail")) - else: - copy(self, "*.cpp", src=src_folder, dst=os.path.join(self.package_folder, "include", "scn", "detail")) + copy(self, "reader_*.cpp", src=src_folder, dst=os.path.join(self.package_folder, "include", "scn", "reader")) + copy(self, "vscan.cpp", src=src_folder, dst=os.path.join(self.package_folder, "include", "scn", "scan")) + copy(self, "locale.cpp", src=src_folder, dst=os.path.join(self.package_folder, "include", "scn", "detail")) + copy(self, "file.cpp", src=src_folder, dst=os.path.join(self.package_folder, "include", "scn", "detail")) else: cmake = CMake(self) cmake.install() @@ -184,13 +151,8 @@ def package_info(self): self.cpp_info.components["_scnlib"].defines = ["SCN_HEADER_ONLY=0"] self.cpp_info.components["_scnlib"].libs = ["scn"] self.cpp_info.components["_scnlib"].requires.append("fast_float::fast_float") - if "2.0" <= Version(self.version) < "3.0": + if Version(self.version) < "3.0": self.cpp_info.components["_scnlib"].requires.append("simdutf::simdutf") - if Version(self.version) >= "2.0": - if self.options.get_safe("regex_backend") in ["boost", "boost_icu"]: - self.cpp_info.components["_scnlib"].requires.append("boost::regex") - elif self.options.get_safe("regex_backend") == "re2": - self.cpp_info.components["_scnlib"].requires.append("re2::re2") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["_scnlib"].system_libs.append("m") diff --git a/recipes/scnlib/all/patches/1.0-0001-install-dll-windows.patch b/recipes/scnlib/all/patches/1.0-0001-install-dll-windows.patch deleted file mode 100644 index c2d5fe9c223ea..0000000000000 --- a/recipes/scnlib/all/patches/1.0-0001-install-dll-windows.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d960eb9..c914832 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -167,6 +167,7 @@ if (SCN_INSTALL) - - install(TARGETS ${SCN_EXPORT_TARGETS_LIST} - EXPORT scnTargets -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/recipes/scnlib/all/patches/1.0-0002-remove-header-only-target.patch b/recipes/scnlib/all/patches/1.0-0002-remove-header-only-target.patch deleted file mode 100644 index 6c35d57c4ca41..0000000000000 --- a/recipes/scnlib/all/patches/1.0-0002-remove-header-only-target.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c914832..1aba404 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -106,12 +106,10 @@ function(generate_header_only_target target_name) - endfunction() - - generate_library_target(scn) --generate_header_only_target(scn-header-only) - - set(SCN_EXPORT_TARGETS_LIST -- scn scn-header-only) -+ scn) - add_library(scn::scn ALIAS scn) --add_library(scn::scn-header-only ALIAS scn-header-only) - - set_property(TARGET scn PROPERTY SOVERSION 0) - diff --git a/recipes/scnlib/all/patches/1.0-0003-use-conan-package.patch b/recipes/scnlib/all/patches/1.0-0003-use-conan-package.patch deleted file mode 100644 index 5b5354a04f783..0000000000000 --- a/recipes/scnlib/all/patches/1.0-0003-use-conan-package.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1aba404..f0c4b94 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -48,6 +48,8 @@ if (NOT (${CMAKE_VERSION} VERSION_LESS "3.9.0")) - cmake_policy(SET CMP0069 NEW) - endif () - -+find_package(FastFloat REQUIRED) -+ - include(sanitizers) - include(flags) - -@@ -83,8 +85,8 @@ function(generate_library_target target_name) - target_include_directories(${target_name} PRIVATE - $) - else () -- target_link_libraries(${target_name} INTERFACE -- fast_float) -+ target_link_libraries(${target_name} PRIVATE -+ FastFloat::fast_float) - endif () - endfunction() - function(generate_header_only_target target_name) -@@ -100,8 +102,8 @@ function(generate_header_only_target target_name) - target_include_directories(${target_name} INTERFACE - $) - else () -- target_link_libraries(${target_name} INTERFACE -- fast_float) -+ target_link_libraries(${target_name} PRIVATE -+ FastFloat::fast_float) - endif () - endfunction() - diff --git a/recipes/scnlib/all/patches/1.1.2-0001-install-dll-windows.patch b/recipes/scnlib/all/patches/1.1.2-0001-install-dll-windows.patch deleted file mode 100644 index ee64fa9407251..0000000000000 --- a/recipes/scnlib/all/patches/1.1.2-0001-install-dll-windows.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f1864c6..b42736e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -171,6 +171,7 @@ if (SCN_INSTALL) - - install(TARGETS ${SCN_EXPORT_TARGETS_LIST} - EXPORT scnTargets -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/recipes/scnlib/all/patches/1.1.2-0002-remove-header-only-target.patch b/recipes/scnlib/all/patches/1.1.2-0002-remove-header-only-target.patch deleted file mode 100644 index 08f98586c6b5b..0000000000000 --- a/recipes/scnlib/all/patches/1.1.2-0002-remove-header-only-target.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b42736e..87cb1f7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -110,12 +110,10 @@ function(generate_header_only_target target_name) - endfunction() - - generate_library_target(scn) --generate_header_only_target(scn-header-only) - - set(SCN_EXPORT_TARGETS_LIST -- scn scn-header-only) -+ scn) - add_library(scn::scn ALIAS scn) --add_library(scn::scn-header-only ALIAS scn-header-only) - - set_property(TARGET scn PROPERTY SOVERSION 0) - diff --git a/recipes/scnlib/all/patches/1.1.2-0003-fix-link-keyword.patch b/recipes/scnlib/all/patches/1.1.2-0003-fix-link-keyword.patch deleted file mode 100644 index 9fedf6c33071c..0000000000000 --- a/recipes/scnlib/all/patches/1.1.2-0003-fix-link-keyword.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 87cb1f7..4524490 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -87,7 +87,7 @@ function(generate_library_target target_name) - target_include_directories(${target_name} PRIVATE - $) - else () -- target_link_libraries(${target_name} INTERFACE -+ target_link_libraries(${target_name} PRIVATE - FastFloat::fast_float) - endif () - endfunction() -@@ -104,7 +104,7 @@ function(generate_header_only_target target_name) - target_include_directories(${target_name} INTERFACE - $) - else () -- target_link_libraries(${target_name} INTERFACE -+ target_link_libraries(${target_name} PRIVATE - FastFloat::fast_float) - endif () - endfunction() diff --git a/recipes/scnlib/all/patches/1.1.3-0001-install-dll-windows.patch b/recipes/scnlib/all/patches/1.1.3-0001-install-dll-windows.patch deleted file mode 100644 index 97cf567063d67..0000000000000 --- a/recipes/scnlib/all/patches/1.1.3-0001-install-dll-windows.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7caf642..05bbf4a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -205,6 +205,7 @@ if (SCN_INSTALL) - install(TARGETS ${SCN_EXPORT_TARGETS_LIST} - COMPONENT scnlib_Development - EXPORT scnTargets -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/recipes/scnlib/all/patches/1.1.3-0002-remove-header-only-target.patch b/recipes/scnlib/all/patches/1.1.3-0002-remove-header-only-target.patch deleted file mode 100644 index 5a50483b54c0f..0000000000000 --- a/recipes/scnlib/all/patches/1.1.3-0002-remove-header-only-target.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 05bbf4a..fe6647b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -135,12 +135,12 @@ function(generate_header_only_target target_name) - endfunction() - - generate_library_target(scn) --generate_header_only_target(scn-header-only) -+# generate_header_only_target(scn-header-only) - - set(SCN_EXPORT_TARGETS_LIST -- scn scn-header-only) -+ scn) - add_library(scn::scn ALIAS scn) --add_library(scn::scn-header-only ALIAS scn-header-only) -+# add_library(scn::scn-header-only ALIAS scn-header-only) - - set_property(TARGET scn PROPERTY SOVERSION 0) - diff --git a/recipes/scnlib/all/patches/1.1.3-0003-fix-link-keyword.patch b/recipes/scnlib/all/patches/1.1.3-0003-fix-link-keyword.patch deleted file mode 100644 index 1b34af4ceeb25..0000000000000 --- a/recipes/scnlib/all/patches/1.1.3-0003-fix-link-keyword.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fe6647b..6f34c67 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -112,7 +112,7 @@ function(generate_library_target target_name) - target_include_directories(${target_name} PRIVATE - $) - else () -- target_link_libraries(${target_name} INTERFACE -+ target_link_libraries(${target_name} PRIVATE - FastFloat::fast_float) - endif () - endfunction() -@@ -129,7 +129,7 @@ function(generate_header_only_target target_name) - target_include_directories(${target_name} INTERFACE - $) - else () -- target_link_libraries(${target_name} INTERFACE -+ target_link_libraries(${target_name} PRIVATE - FastFloat::fast_float) - endif () - endfunction() diff --git a/recipes/scnlib/all/patches/2.0.0-0001-remove-re2-version.patch b/recipes/scnlib/all/patches/2.0.0-0001-remove-re2-version.patch deleted file mode 100644 index a256652f48c41..0000000000000 --- a/recipes/scnlib/all/patches/2.0.0-0001-remove-re2-version.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake -index ae2832b..fec6359 100644 ---- a/cmake/dependencies.cmake -+++ b/cmake/dependencies.cmake -@@ -154,7 +154,7 @@ if (SCN_REGEX_BACKEND STREQUAL "re2") - message(FATAL_ERROR "SCN_REGEX_BOOST_USE_ICU isn't supported when SCN_REGEX_BACKEND is re2") - endif () - -- find_package(re2 11.0.0 REQUIRED) -+ find_package(re2 REQUIRED) - set(SCN_REGEX_BACKEND_TARGET re2::re2) - endif () - diff --git a/recipes/scnlib/all/test_v1_package/CMakeLists.txt b/recipes/scnlib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/scnlib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/scnlib/all/test_v1_package/conanfile.py b/recipes/scnlib/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/scnlib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/scnlib/config.yml b/recipes/scnlib/config.yml index 40bb839ac3cd3..a66959b861c3f 100644 --- a/recipes/scnlib/config.yml +++ b/recipes/scnlib/config.yml @@ -1,17 +1,9 @@ versions: - "3.0.1": - folder: all - "2.0.3": - folder: all - "2.0.2": + "4.0.1": folder: all - "2.0.1": + "3.0.2": folder: all - "2.0.0": - folder: all - "1.1.3": - folder: all - "1.1.2": + "3.0.1": folder: all - "1.0": + "2.0.3": folder: all diff --git a/recipes/scope-lite/all/test_v1_package/CMakeLists.txt b/recipes/scope-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8cf0930ee8587..0000000000000 --- a/recipes/scope-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(scope-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::scope-lite) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/scope-lite/all/test_v1_package/conanfile.py b/recipes/scope-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/scope-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/screen_capture_lite/all/test_v1_package/CMakeLists.txt b/recipes/screen_capture_lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/screen_capture_lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/screen_capture_lite/all/test_v1_package/conanfile.py b/recipes/screen_capture_lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/screen_capture_lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sdbus-cpp/all/conandata.yml b/recipes/sdbus-cpp/all/conandata.yml index ad223afb6b24c..597865c12dd7d 100644 --- a/recipes/sdbus-cpp/all/conandata.yml +++ b/recipes/sdbus-cpp/all/conandata.yml @@ -23,18 +23,3 @@ sources: "0.8.3": url: "https://github.com/Kistler-Group/sdbus-cpp/archive/v0.8.3.tar.gz" sha256: "0fd575ae0f463773dd9141242d1133731e2b780fd6526650ce992ba711d88628" - -patches: - "1.0.0": - - patch_file: "patches/0002-correct-readme-cpack-resource-path.patch" - patch_description: "fix out of tree build by using proper paths in cmake file" - patch_type: "bugfix" - patch_source: "https://github.com/Kistler-Group/sdbus-cpp/commit/0b8f2d97524f354bcaf816b27b6139a5b0c480ba" - "0.8.3": - - patch_file: "patches/0001-xml2cpp-Add-missing-EXPAT-include-dirs-136.patch" - patch_description: "fix build error by adding missing headers" - patch_type: "bugfix" - patch_source: "https://github.com/Kistler-Group/sdbus-cpp/commit/fb008445b15b452f461c34667f4991f5ce06e481" - "2.0.0": - - patch_file: "patches/0003-fix-expat-casing-and-library-linkage.patch" - patch_type: "conan" diff --git a/recipes/sdbus-cpp/all/conanfile.py b/recipes/sdbus-cpp/all/conanfile.py index 7733d1b0759bc..18ebec3e55883 100644 --- a/recipes/sdbus-cpp/all/conanfile.py +++ b/recipes/sdbus-cpp/all/conanfile.py @@ -3,11 +3,13 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import export_conandata_patches, apply_conandata_patches, copy, get, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rmdir +from conan.tools.gnu import PkgConfigDeps from conan.tools.scm import Version -required_conan_version = ">=1.51.0" +required_conan_version = ">=1.55.0" class SdbusCppConan(ConanFile): @@ -32,7 +34,6 @@ class SdbusCppConan(ConanFile): "with_code_gen": False, "with_sdbus": "systemd", } - generators = "PkgConfigDeps", "VirtualBuildEnv" @property def _minimum_cpp_standard(self): @@ -57,9 +58,6 @@ def _with_sdbus(self): return ("basu" if self.settings.os == "FreeBSD" else self.options.get_safe("with_sdbus", "systemd")) - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if Version(self.version) < "1.4.0" or self.settings.os != "Linux": del self.options.with_sdbus @@ -71,40 +69,42 @@ def configure(self): if self.options.shared: del self.options.fPIC + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): if self._with_sdbus == "systemd": self.requires("libsystemd/255.2") elif self._with_sdbus == "basu": self.requires("basu/0.2.1") + if self.options.with_code_gen: + # Trick: always force transitive_libs=False, in order to not propagate expat lib + # transitively even when sdbus-cpp is static, since expat is a dependency of the executable, not the lib + self.requires("expat/[>=2.6.2 <3]", transitive_libs=False) def validate(self): if self.settings.os not in self._supported_os: raise ConanInvalidConfiguration( f"{self.ref} does not support {self.settings.os}") - if self.info.settings.compiler.get_safe("cppstd"): + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._minimum_cpp_standard) - min_version = self._minimum_compilers_version.get(str(self.info.settings.compiler)) - if not min_version: - self.output.warning("{} recipe lacks information about the {} compiler support.".format( - self.name, self.info.settings.compiler)) - else: - if Version(self.info.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration("{} requires C++{} support. The current compiler {} {} does not support it.".format( - self.name, self._minimum_cpp_standard, self.info.settings.compiler, self.info.settings.compiler.version)) + min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) + if min_version and Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration("{} requires C++{} support. The current compiler {} {} does not support it.".format( + self.name, self._minimum_cpp_standard, self.settings.compiler, self.settings.compiler.version)) def build_requirements(self): - self.tool_requires("pkgconf/2.1.0") - if self.options.with_code_gen: - self.tool_requires("expat/[>=2.6.2 <3]") - - def layout(self): - cmake_layout(self, src_folder="src") + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/[>=2.2 <3]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = CMakeToolchain(self) if Version(self.version) >= "2.0.0": tc.variables["SDBUSCPP_BUILD_CODEGEN"] = self.options.with_code_gen @@ -117,12 +117,15 @@ def generate(self): tc.variables["SDBUSCPP_SDBUS_LIB"] = self._with_sdbus tc.generate() - # workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/18150 - copy(self, "*.pc", self.generators_folder, - os.path.join(self.generators_folder, "lib", "pkgconfig")) + deps = PkgConfigDeps(self) + deps.generate() + + if self.options.with_code_gen: + deps = CMakeDeps(self) + deps.set_property("expat", "cmake_file_name", "EXPAT") + deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -162,6 +165,10 @@ def package_info(self): elif self._with_sdbus == "basu": self.cpp_info.components["sdbus-c++"].requires.append( "basu::basu") + if self.options.with_code_gen: + # Not a dependency of the lib, only of executable, but there is no way to modelize this + # with conan + self.cpp_info.components["sdbus-c++"].requires.append("expat::expat") if self.options.with_code_gen: bin_path = os.path.join(self.package_folder, "bin") self.env_info.PATH.append(bin_path) diff --git a/recipes/sdbus-cpp/all/patches/0001-xml2cpp-Add-missing-EXPAT-include-dirs-136.patch b/recipes/sdbus-cpp/all/patches/0001-xml2cpp-Add-missing-EXPAT-include-dirs-136.patch deleted file mode 100644 index 3d0422bc85f54..0000000000000 --- a/recipes/sdbus-cpp/all/patches/0001-xml2cpp-Add-missing-EXPAT-include-dirs-136.patch +++ /dev/null @@ -1,35 +0,0 @@ -From fb008445b15b452f461c34667f4991f5ce06e481 Mon Sep 17 00:00:00 2001 -From: bobrofon -Date: Fri, 12 Mar 2021 19:17:55 +0700 -Subject: [PATCH] xml2cpp: Add missing EXPAT include dirs (#136) - -This patch is required if EXPAT library is installed in non-standard location. -Without 'target_include_directories' cmake will find EXPAT library: - ... - -- Found EXPAT: .../lib/libexpat.a (found version "2.2.10") - ... - -But 'xml.cpp' compilation will fail with error: - ... - tools/xml2cpp-codegen/xml.cpp:7:10: fatal error: expat.h: No such file or directory - 7 | #include - ... ---- - tools/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt -index 375c379..8d7a3d0 100644 ---- a/tools/CMakeLists.txt -+++ b/tools/CMakeLists.txt -@@ -43,6 +43,7 @@ set(CMAKE_CXX_STANDARD 14) - - add_executable(sdbus-c++-xml2cpp ${SDBUSCPP_XML2CPP_SRCS}) - target_link_libraries (sdbus-c++-xml2cpp ${EXPAT_LIBRARIES}) -+target_include_directories(sdbus-c++-xml2cpp PRIVATE ${EXPAT_INCLUDE_DIRS}) - - #---------------------------------- - # INSTALLATION --- -2.31.1 - diff --git a/recipes/sdbus-cpp/all/patches/0002-correct-readme-cpack-resource-path.patch b/recipes/sdbus-cpp/all/patches/0002-correct-readme-cpack-resource-path.patch deleted file mode 100644 index 5b37424cc3112..0000000000000 --- a/recipes/sdbus-cpp/all/patches/0002-correct-readme-cpack-resource-path.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --color -Naur --label a/CMakeLists.txt --label b/CMakeLists.txt a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -180,7 +180,6 @@ - #---------------------------------- - - option(BUILD_DOC "Build documentation for sdbus-c++" ON) -- - if(BUILD_DOC) - message(STATUS "Building with documentation") - option(BUILD_DOXYGEN_DOC "Build doxygen documentation for sdbus-c++ API" OFF) -@@ -217,7 +216,7 @@ - set(CPACK_PACKAGE_VENDOR "Kistler") - set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "high-level C++ D-Bus library") - set(CPACK_PACKAGE_CONTACT "info@kistler.com") --set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md") -+set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md") - set(CPACK_COMPONENTS_ALL runtime dev doc) - set(CPACK_COMPONENT_DEV_DEPENDS "runtime") - diff --git a/recipes/sdbus-cpp/all/patches/0003-fix-expat-casing-and-library-linkage.patch b/recipes/sdbus-cpp/all/patches/0003-fix-expat-casing-and-library-linkage.patch deleted file mode 100644 index 6fcd6cd1fd255..0000000000000 --- a/recipes/sdbus-cpp/all/patches/0003-fix-expat-casing-and-library-linkage.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt -index c025e36..ef3f6ce 100644 ---- a/tools/CMakeLists.txt -+++ b/tools/CMakeLists.txt -@@ -12,7 +12,7 @@ include(GNUInstallDirs) - # PERFORMING CHECKS - #------------------------------- - --find_package(EXPAT REQUIRED) -+find_package(expat REQUIRED) - - #------------------------------- - # SOURCE FILES CONFIGURATION -@@ -42,7 +42,7 @@ set(CMAKE_CXX_STANDARD 14) - #---------------------------------- - - add_executable(sdbus-c++-xml2cpp ${SDBUSCPP_XML2CPP_SRCS}) --target_link_libraries (sdbus-c++-xml2cpp ${EXPAT_LIBRARIES}) -+target_link_libraries (sdbus-c++-xml2cpp expat::expat) - target_include_directories(sdbus-c++-xml2cpp PRIVATE ${EXPAT_INCLUDE_DIRS}) - - #---------------------------------- diff --git a/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py b/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py index 591a984b8692f..3b0485074eb5d 100644 --- a/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py +++ b/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py @@ -3,7 +3,6 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout -from conan.tools.files import copy class SdbusCppTestConan(ConanFile): @@ -11,19 +10,14 @@ class SdbusCppTestConan(ConanFile): generators = "CMakeToolchain", "PkgConfigDeps", "VirtualBuildEnv", "VirtualRunEnv" test_type = "explicit" + def layout(self): + cmake_layout(self) + def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - self.tool_requires("pkgconf/2.1.0") - - def layout(self): - cmake_layout(self) - - def generate(self): - # workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/18150 - copy(self, "*.pc", self.generators_folder, - os.path.join(self.generators_folder, "lib", "pkgconfig")) + self.tool_requires("pkgconf/[>=2.2 <3]") def build(self): cmake = CMake(self) diff --git a/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py b/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py index 29f2d7295e0f4..710a613734954 100644 --- a/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py +++ b/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py @@ -11,7 +11,7 @@ class SdbusCppTestConan(ConanFile): generators = ("cmake", "pkg_config") def build_requirements(self): - self.tool_requires("pkgconf/2.1.0") + self.tool_requires("pkgconf/[>=2.2 <3]") def build(self): cmake = CMake(self) diff --git a/recipes/sdf/all/test_v1_package/CMakeLists.txt b/recipes/sdf/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index a27e3332baf0d..0000000000000 --- a/recipes/sdf/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(sdf REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE sdf::sdf) diff --git a/recipes/sdf/all/test_v1_package/conanfile.py b/recipes/sdf/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/sdf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sdl/all/conandata.yml b/recipes/sdl/all/conandata.yml index 9c6746b76929a..a225ab98d3530 100644 --- a/recipes/sdl/all/conandata.yml +++ b/recipes/sdl/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "2.30.9": + url: "https://www.libsdl.org/release/SDL2-2.30.9.tar.gz" + sha256: "24b574f71c87a763f50704bbb630cbe38298d544a1f890f099a4696b1d6beba4" + "2.30.8": + url: "https://www.libsdl.org/release/SDL2-2.30.8.tar.gz" + sha256: "380c295ea76b9bd72d90075793971c8bcb232ba0a69a9b14da4ae8f603350058" "2.30.7": url: "https://www.libsdl.org/release/SDL2-2.30.7.tar.gz" sha256: "2508c80438cd5ff3bbeb8fe36b8f3ce7805018ff30303010b61b03bb83ab9694" @@ -11,39 +17,12 @@ sources: "2.30.4": url: "https://www.libsdl.org/release/SDL2-2.30.4.tar.gz" sha256: "59c89d0ed40d4efb23b7318aa29fe7039dbbc098334b14f17f1e7e561da31a26" - "2.30.3": - url: "https://www.libsdl.org/release/SDL2-2.30.3.tar.gz" - sha256: "820440072f8f5b50188c1dae104f2ad25984de268785be40c41a099a510f0aec" - "2.30.2": - url: "https://www.libsdl.org/release/SDL2-2.30.2.tar.gz" - sha256: "891d66ac8cae51361d3229e3336ebec1c407a8a2a063b61df14f5fdf3ab5ac31" - "2.30.1": - url: "https://www.libsdl.org/release/SDL2-2.30.1.tar.gz" - sha256: "01215ffbc8cfc4ad165ba7573750f15ddda1f971d5a66e9dcaffd37c587f473a" "2.28.5": url: "https://www.libsdl.org/release/SDL2-2.28.5.tar.gz" sha256: "332cb37d0be20cb9541739c61f79bae5a477427d79ae85e352089afdaf6666e4" "2.28.3": url: "https://www.libsdl.org/release/SDL2-2.28.3.tar.gz" sha256: "7acb8679652701a2504d734e2ba7543ec1a83e310498ddd22fd44bf965eb5518" - "2.28.2": - url: "https://www.libsdl.org/release/SDL2-2.28.2.tar.gz" - sha256: "64b1102fa22093515b02ef33dd8739dee1ba57e9dbba6a092942b8bbed1a1c5e" - "2.26.5": - url: "https://www.libsdl.org/release/SDL2-2.26.5.tar.gz" - sha256: "ad8fea3da1be64c83c45b1d363a6b4ba8fd60f5bde3b23ec73855709ec5eabf7" - "2.26.1": - url: "https://www.libsdl.org/release/SDL2-2.26.1.tar.gz" - sha256: "02537cc7ebd74071631038b237ec4bfbb3f4830ba019e569434da33f42373e04" - "2.26.0": - url: "https://www.libsdl.org/release/SDL2-2.26.0.tar.gz" - sha256: "8000d7169febce93c84b6bdf376631f8179132fd69f7015d4dadb8b9c2bdb295" - "2.24.1": - url: "https://www.libsdl.org/release/SDL2-2.24.1.tar.gz" - sha256: "bc121588b1105065598ce38078026a414c28ea95e66ed2adab4c44d80b309e1b" - "2.24.0": - url: "https://www.libsdl.org/release/SDL2-2.24.0.tar.gz" - sha256: "91e4c34b1768f92d399b078e171448c6af18cafda743987ed2064a28954d6d97" "2.0.20": url: "https://www.libsdl.org/release/SDL2-2.0.20.tar.gz" sha256: "c56aba1d7b5b0e7e999e4a7698c70b63a3394ff9704b5f6e1c57e0c16f04dd06" diff --git a/recipes/sdl/all/conanfile.py b/recipes/sdl/all/conanfile.py index 5a843281891dc..7da398025b290 100644 --- a/recipes/sdl/all/conanfile.py +++ b/recipes/sdl/all/conanfile.py @@ -49,6 +49,7 @@ class SDLConan(ConanFile): "opengles": [True, False], "vulkan": [True, False], "libunwind": [True, False], + "hidapi": [True, False], } default_options = { "shared": False, @@ -77,6 +78,7 @@ class SDLConan(ConanFile): "opengles": True, "vulkan": True, "libunwind": True, + "hidapi": True, } generators = "CMakeDeps", "PkgConfigDeps", "VirtualBuildEnv" @@ -137,8 +139,10 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - self.settings.rm_safe("compiler.libcxx") - self.settings.rm_safe("compiler.cppstd") + # TODO: C++ is also required for WinRT and Haiku + if not (self.settings.os == "Android" and self.options.hidapi): + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def requirements(self): if self.options.get_safe("iconv", False): @@ -243,6 +247,7 @@ def define_toolchain(self): tc.variables["SDL_OPENGL"] = self.options.opengl tc.variables["SDL_OPENGLES"] = self.options.opengles tc.variables["SDL_VULKAN"] = self.options.vulkan + tc.variables["SDL_HIDAPI"] = self.options.hidapi if self.settings.os == "Linux": # See https://github.com/bincrafters/community/issues/696 tc.variables["SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS"] = 1 @@ -415,7 +420,15 @@ def package_info(self): "AVFoundation", "Foundation", "QuartzCore", ] if self.settings.os == "Macos": - self.cpp_info.components["libsdl2"].frameworks.extend(["Cocoa", "Carbon", "IOKit", "ForceFeedback"]) + self.cpp_info.components["libsdl2"].frameworks.extend([ + "Cocoa", + "Carbon", + "IOKit", + "ForceFeedback", + "CoreFoundation", + "CoreServices", + "AppKit" + ]) self.cpp_info.components["libsdl2"].frameworks.append("GameController") elif self.settings.os in ["iOS", "tvOS", "watchOS"]: self.cpp_info.components["libsdl2"].frameworks.extend([ diff --git a/recipes/sdl/config.yml b/recipes/sdl/config.yml index 70833b6fd8399..dab026397aa4f 100644 --- a/recipes/sdl/config.yml +++ b/recipes/sdl/config.yml @@ -1,33 +1,23 @@ versions: + "2.30.9": + folder: all + "2.30.8": + folder: all "2.30.7": folder: all "2.30.6": folder: all + # keep 2.30.5 for sdl_mixer "2.30.5": folder: all "2.30.4": folder: all - "2.30.3": - folder: all - "2.30.2": - folder: all - "2.30.1": - folder: all + # keep 2.28.5 for pdcurses, ffmpeg, sdl_net, sdl_mixer "2.28.5": folder: all + # keep 2.28.3 for sdl_image, sdl_ttf "2.28.3": folder: all - "2.28.2": - folder: all - "2.26.5": - folder: all - "2.26.1": - folder: all - "2.26.0": - folder: all - "2.24.1": - folder: all - "2.24.0": - folder: all + # keep 2.0.20 for magnum, ogre "2.0.20": folder: all diff --git a/recipes/sdl_image/all/conandata.yml b/recipes/sdl_image/all/conandata.yml index 0444df801e1ac..b4f1bea806d43 100644 --- a/recipes/sdl_image/all/conandata.yml +++ b/recipes/sdl_image/all/conandata.yml @@ -1,7 +1,16 @@ sources: + "2.8.2": + url: "https://github.com/libsdl-org/SDL_image/releases/download/release-2.8.2/SDL2_image-2.8.2.tar.gz" + sha256: "8f486bbfbcf8464dd58c9e5d93394ab0255ce68b51c5a966a918244820a76ddc" "2.6.3": url: "https://github.com/libsdl-org/SDL_image/releases/download/release-2.6.3/SDL2_image-2.6.3.tar.gz" sha256: "931c9be5bf1d7c8fae9b7dc157828b7eee874e23c7f24b44ba7eff6b4836312c" "2.0.5": url: "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.5.tar.gz" sha256: "bdd5f6e026682f7d7e1be0b6051b209da2f402a2dd8bd1c4bd9c25ad263108d0" +patches: + "2.8.2": + - patch_description: "Fix webpdemux cmake target name" + patch_file: "patches/webpdemux-target.patch" + patch_source: "https://github.com/libsdl-org/SDL_image/pull/479" + patch_type: "portability" diff --git a/recipes/sdl_image/all/conanfile.py b/recipes/sdl_image/all/conanfile.py index 15095b9589cff..876e5bdbad7be 100644 --- a/recipes/sdl_image/all/conanfile.py +++ b/recipes/sdl_image/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.scm import Version import os @@ -67,6 +67,7 @@ class SDLImageConan(ConanFile): } def export_sources(self): + export_conandata_patches(self) if Version(self.version) < "2.6": copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) @@ -119,8 +120,12 @@ def build_requirements(self): if Version(self.version) >= "2.6": self.tool_requires("cmake/[>=3.16 <4]") + def _patch_sources(self): + apply_conandata_patches(self) + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + self._patch_sources() def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/sdl_image/all/patches/webpdemux-target.patch b/recipes/sdl_image/all/patches/webpdemux-target.patch new file mode 100644 index 0000000000000..beff89d55cb0a --- /dev/null +++ b/recipes/sdl_image/all/patches/webpdemux-target.patch @@ -0,0 +1,23 @@ +From 35e3cb865f8394bdc8bb2d2cf6e9f91dfd3c94bd Mon Sep 17 00:00:00 2001 +From: Andrey Filipenkov +Date: Sat, 23 Nov 2024 00:47:15 +0300 +Subject: [PATCH] fix name case of webpdemux target + +(cherry picked from commit 0d418a2a2dc562699854d9c2fc264304ec404e2c) +--- + cmake/Findwebp.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/Findwebp.cmake b/cmake/Findwebp.cmake +index 58891318..e07b377c 100644 +--- a/cmake/Findwebp.cmake ++++ b/cmake/Findwebp.cmake +@@ -43,7 +43,7 @@ if (webp_FOUND) + INTERFACE_LINK_FLAGS "${webp_LINK_FLAGS}" + ) + endif() +- if (NOT TARGET WEBP::webpdemux) ++ if (NOT TARGET WebP::webpdemux) + add_library(WebP::webpdemux UNKNOWN IMPORTED) + set_target_properties(WebP::webpdemux PROPERTIES + IMPORTED_LOCATION "${webpdemux_LIBRARY}" diff --git a/recipes/sdl_image/config.yml b/recipes/sdl_image/config.yml index 53a0b9c216274..12dfc58746326 100644 --- a/recipes/sdl_image/config.yml +++ b/recipes/sdl_image/config.yml @@ -1,4 +1,6 @@ versions: + "2.8.2": + folder: "all" "2.6.3": folder: "all" "2.0.5": diff --git a/recipes/sdl_mixer/all/test_v1_package/CMakeLists.txt b/recipes/sdl_mixer/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/sdl_mixer/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/sdl_mixer/all/test_v1_package/conanfile.py b/recipes/sdl_mixer/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/sdl_mixer/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sdl_mixer/cmake/conanfile.py b/recipes/sdl_mixer/cmake/conanfile.py index 4e5f82fa8bef5..5180b62854006 100644 --- a/recipes/sdl_mixer/cmake/conanfile.py +++ b/recipes/sdl_mixer/cmake/conanfile.py @@ -62,7 +62,7 @@ def config_options(self): del self.options.fPIC if self.settings.os not in ["Linux", "FreeBSD"]: del self.options.tinymidi - if not (self.settings.os == "Windows" or is_apple_os(self)): + if not (self.settings.os == "Windows" or self.settings.os == "Macos"): del self.options.nativemidi def configure(self): @@ -260,10 +260,10 @@ def package_info(self): if self.settings.os == "Windows": if self.options.nativemidi: self.cpp_info.system_libs.append("winmm") - elif is_apple_os(self): - self.cpp_info.frameworks.extend(["AudioToolbox", "AudioUnit", "CoreServices", "CoreGraphics", "CoreFoundation"]) + elif is_apple_os(self) and not self.options.shared: + self.cpp_info.frameworks.extend(["AudioToolbox", "CoreServices", "CoreGraphics", "CoreFoundation"]) if self.settings.os == "Macos": - self.cpp_info.frameworks.append("AppKit") + self.cpp_info.frameworks.extend(["AppKit", "AudioUnit"]) self.cpp_info.names["cmake_find_package"] = "SDL2_mixer" self.cpp_info.names["cmake_find_package_multi"] = "SDL2_mixer" diff --git a/recipes/sdl_mixer/cmake/test_v1_package/CMakeLists.txt b/recipes/sdl_mixer/cmake/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/sdl_mixer/cmake/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/sdl_mixer/cmake/test_v1_package/conanfile.py b/recipes/sdl_mixer/cmake/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/sdl_mixer/cmake/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sdl_net/all/test_v1_package/CMakeLists.txt b/recipes/sdl_net/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/sdl_net/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/sdl_net/all/test_v1_package/conanfile.py b/recipes/sdl_net/all/test_v1_package/conanfile.py deleted file mode 100644 index cb4e97ea795b6..0000000000000 --- a/recipes/sdl_net/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - test_ip = "127.0.0.1" - self.run(f"{bin_path} {test_ip}", run_environment=True) diff --git a/recipes/sdl_ttf/all/test_v1_package/CMakeLists.txt b/recipes/sdl_ttf/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/sdl_ttf/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/sdl_ttf/all/test_v1_package/conanfile.py b/recipes/sdl_ttf/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/sdl_ttf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/seadex-essentials/all/test_v1_package/CMakeLists.txt b/recipes/seadex-essentials/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/seadex-essentials/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/seadex-essentials/all/test_v1_package/conanfile.py b/recipes/seadex-essentials/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/seadex-essentials/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/seadex-genesis/all/test_v1_package/CMakeLists.txt b/recipes/seadex-genesis/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/seadex-genesis/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/seadex-genesis/all/test_v1_package/conanfile.py b/recipes/seadex-genesis/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/seadex-genesis/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/seasocks/all/test_v1_package/CMakeLists.txt b/recipes/seasocks/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/seasocks/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/seasocks/all/test_v1_package/conanfile.py b/recipes/seasocks/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/seasocks/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/semimap/all/test_v1_package/CMakeLists.txt b/recipes/semimap/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/semimap/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/semimap/all/test_v1_package/conanfile.py b/recipes/semimap/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/semimap/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/semver.c/all/test_v1_package/CMakeLists.txt b/recipes/semver.c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/semver.c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/semver.c/all/test_v1_package/conanfile.py b/recipes/semver.c/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/semver.c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sentry-native/all/conandata.yml b/recipes/sentry-native/all/conandata.yml index 12d9363d69381..d293ef70c288e 100644 --- a/recipes/sentry-native/all/conandata.yml +++ b/recipes/sentry-native/all/conandata.yml @@ -1,13 +1,13 @@ sources: - "0.7.8": - url: "https://github.com/getsentry/sentry-native/releases/download/0.7.8/sentry-native.zip" - sha256: "7cfde453866edf4ae7991f4300fc08a5cb4e6d679d31011ff93b4cfe5e3e5d8a" - "0.7.6": - url: "https://github.com/getsentry/sentry-native/releases/download/0.7.6/sentry-native.zip" - sha256: "42180ad933a3a2bd86a1649ed0f1a41df20e783ce17c5cb1f86775f7caf06bc1" - "0.7.5": - url: "https://github.com/getsentry/sentry-native/releases/download/0.7.5/sentry-native.zip" - sha256: "d9f1b44753fae3e9462aa1e6fd3021cb0ff2f51c1a1fa02b34510e3bc311f429" + "0.7.15": + url: "https://github.com/getsentry/sentry-native/releases/download/0.7.15/sentry-native.zip" + sha256: "9880614984c75fc6ed1967b7aa29aebbea2f0c88f2d7c707b18391b5632091c0" + "0.7.12": + url: "https://github.com/getsentry/sentry-native/releases/download/0.7.12/sentry-native.zip" + sha256: "03c99ef84992fddd37f79c63ae78a69ec49b1b1d7598c7a7c5d8e6742b97ea0a" + "0.7.11": + url: "https://github.com/getsentry/sentry-native/releases/download/0.7.11/sentry-native.zip" + sha256: "7fb41a8e5270168958d867504f503beb014035f382edaa07132be65348df27e0" "0.6.6": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.6/sentry-native.zip" sha256: "7a98467c0b2571380a3afc5e681cb13aa406a709529be12d74610b0015ccde0c" diff --git a/recipes/sentry-native/all/conanfile.py b/recipes/sentry-native/all/conanfile.py index 569658beb597f..8c7c36679a563 100644 --- a/recipes/sentry-native/all/conanfile.py +++ b/recipes/sentry-native/all/conanfile.py @@ -9,7 +9,7 @@ from conan.tools.files import copy, get, rm, rmdir from conan.tools.scm import Version -required_conan_version = ">=1.55.0" +required_conan_version = ">=2.1" class SentryNativeConan(ConanFile): @@ -131,8 +131,7 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._min_cppstd) + check_min_cppstd(self, self._min_cppstd) minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: @@ -302,30 +301,3 @@ def package_info(self): bin_path = os.path.join(self.package_folder, "bin") self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "crashpad" - self.cpp_info.names["cmake_find_package_multi"] = "crashpad" - self.cpp_info.components["crashpad_mini_chromium"].names["cmake_find_package"] = "mini_chromium" - self.cpp_info.components["crashpad_mini_chromium"].names["cmake_find_package_multi"] = "mini_chromium" - self.cpp_info.components["crashpad_compat"].names["cmake_find_package"] = "compat" - self.cpp_info.components["crashpad_compat"].names["cmake_find_package_multi"] = "compat" - self.cpp_info.components["crashpad_util"].names["cmake_find_package"] = "util" - self.cpp_info.components["crashpad_util"].names["cmake_find_package_multi"] = "util" - self.cpp_info.components["crashpad_client"].names["cmake_find_package"] = "client" - self.cpp_info.components["crashpad_client"].names["cmake_find_package_multi"] = "client" - self.cpp_info.components["crashpad_snapshot"].names["cmake_find_package"] = "snapshot" - self.cpp_info.components["crashpad_snapshot"].names["cmake_find_package_multi"] = "snapshot" - self.cpp_info.components["crashpad_minidump"].names["cmake_find_package"] = "minidump" - self.cpp_info.components["crashpad_minidump"].names["cmake_find_package_multi"] = "minidump" - if self.settings.os == "Windows": - self.cpp_info.components["crashpad_getopt"].names["cmake_find_package"] = "getopt" - self.cpp_info.components["crashpad_getopt"].names["cmake_find_package_multi"] = "getopt" - self.cpp_info.components["crashpad_handler"].names["cmake_find_package"] = "handler" - self.cpp_info.components["crashpad_handler"].names["cmake_find_package_multi"] = "handler" - self.cpp_info.components["crashpad_tools"].names["cmake_find_package"] = "tools" - self.cpp_info.components["crashpad_tools"].names["cmake_find_package_multi"] = "tools" - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "sentry" - self.cpp_info.names["cmake_find_package_multi"] = "sentry" diff --git a/recipes/sentry-native/config.yml b/recipes/sentry-native/config.yml index 4abee834d6ecf..089b115c055c4 100644 --- a/recipes/sentry-native/config.yml +++ b/recipes/sentry-native/config.yml @@ -1,9 +1,9 @@ versions: - "0.7.8": + "0.7.15": folder: all - "0.7.6": + "0.7.12": folder: all - "0.7.5": + "0.7.11": folder: all "0.6.6": folder: all diff --git a/recipes/seqan/2.x.x/test_v1_package/CMakeLists.txt b/recipes/seqan/2.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/seqan/2.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/seqan/2.x.x/test_v1_package/conanfile.py b/recipes/seqan/2.x.x/test_v1_package/conanfile.py deleted file mode 100644 index abcaeed3f89b6..0000000000000 --- a/recipes/seqan/2.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/seqan3/all/test_v1_package/CMakeLists.txt b/recipes/seqan3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/seqan3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/seqan3/all/test_v1_package/conanfile.py b/recipes/seqan3/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/seqan3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/serd/all/test_v1_package/CMakeLists.txt b/recipes/serd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/serd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/serd/all/test_v1_package/conanfile.py b/recipes/serd/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/serd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/serdepp/all/test_v1_package/CMakeLists.txt b/recipes/serdepp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/serdepp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/serdepp/all/test_v1_package/conanfile.py b/recipes/serdepp/all/test_v1_package/conanfile.py deleted file mode 100644 index e788460ad0765..0000000000000 --- a/recipes/serdepp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/serial/all/test_v1_package/CMakeLists.txt b/recipes/serial/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/serial/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/serial/all/test_v1_package/conanfile.py b/recipes/serial/all/test_v1_package/conanfile.py deleted file mode 100644 index 1bf1c7e26255d..0000000000000 --- a/recipes/serial/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/serial/all/test_v1_package/test_package.cpp b/recipes/serial/all/test_v1_package/test_package.cpp deleted file mode 100644 index 8cb01ed6a8b53..0000000000000 --- a/recipes/serial/all/test_v1_package/test_package.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include -#include -#include -#include - -#include "serial/serial.h" - -using namespace std; - -int main() { - vector devices_found = serial::list_ports(); - - vector::iterator iter = devices_found.begin(); - - while (iter != devices_found.end()) { - serial::PortInfo device = *iter++; - - printf("(%s, %s, %s)\n", device.port.c_str(), - device.description.c_str(), device.hardware_id.c_str()); - } - - return 0; -} diff --git a/recipes/sfl/all/conandata.yml b/recipes/sfl/all/conandata.yml index 93608ba5ad222..6e0da0d8aaa7b 100644 --- a/recipes/sfl/all/conandata.yml +++ b/recipes/sfl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.2": + url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.8.2.tar.gz" + sha256: "06dc215f73ebfbbcbb4ef39cd556bffe0da16918f542045407f51c4b9effcabb" "1.8.0": url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.8.0.tar.gz" sha256: "bb473a8e0b46ecff957c06112593b9a4104e0d1ec8e9d5840ff33c20ad3a243e" diff --git a/recipes/sfl/config.yml b/recipes/sfl/config.yml index e2decd2fe802d..6954c22c7ff15 100644 --- a/recipes/sfl/config.yml +++ b/recipes/sfl/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.2": + folder: "all" "1.8.0": folder: "all" "1.7.0": diff --git a/recipes/sfml/all/conandata.yml b/recipes/sfml/all/conandata.yml index 37e057f517a7d..e8b0f34c7c588 100644 --- a/recipes/sfml/all/conandata.yml +++ b/recipes/sfml/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.6.2": + url: "https://www.sfml-dev.org/files/SFML-2.6.2-sources.zip" + sha256: "19d6dbd9c901c74441d9888c13cb1399f614fe8993d59062a72cfbceb00fed04" "2.6.1": url: "https://www.sfml-dev.org/files/SFML-2.6.1-sources.zip" sha256: "5bf19e5c303516987f7f54d4ff1b208a0f9352ffa1cd55f992527016de0e8cb7" @@ -9,6 +12,16 @@ sources: url: "https://www.sfml-dev.org/files/SFML-2.5.1-sources.zip" sha256: "bf1e0643acb92369b24572b703473af60bac82caf5af61e77c063b779471bb7f" patches: + "2.6.2": + - patch_file: "patches/2.6.2-0001-cmake-robust-find-deps.patch" + patch_description: "Robust discovery of dependencies" + patch_type: "conan" + - patch_file: "patches/2.6.2-0003-allow-shared-MT.patch" + patch_description: "Allow to build shared SFML with MT runtime" + patch_type: "portability" + - patch_file: "patches/2.6.1-0006-disable-warning-flags.patch" + patch_description: "Disable warning flags which may cause compilation errors" + patch_type: "portability" "2.6.1": - patch_file: "patches/2.6.0-0001-cmake-robust-find-deps.patch" patch_description: "Robust discovery of dependencies" diff --git a/recipes/sfml/all/conanfile.py b/recipes/sfml/all/conanfile.py index ca66440dcf795..54c2d3087bcf4 100644 --- a/recipes/sfml/all/conanfile.py +++ b/recipes/sfml/all/conanfile.py @@ -99,6 +99,13 @@ def generate(self): tc.variables["SFML_USE_STATIC_STD_LIBS"] = is_msvc_static_runtime(self) tc.generate() deps = CMakeDeps(self) + if Version(self.version) >= "2.6.2": + if self.options.audio: + deps.set_property("vorbis", "cmake_file_name", "VORBIS") + if self.options.graphics: + deps.set_property("freetype", "cmake_file_name", "Freetype") + deps.set_property("freetype", "cmake_additional_variables_prefixes", ["FREETYPE"]) + deps.set_property("freetype", "cmake_target_name", "Freetype") deps.generate() def build(self): @@ -115,27 +122,6 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "share")) - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self._create_cmake_module_alias_targets( - os.path.join(self.package_folder, self._module_file_rel_path), - {values["target"]: f"SFML::{component}" for component, values in self._sfml_components.items()} - ) - - def _create_cmake_module_alias_targets(self, module_file, targets): - content = "" - for alias, aliased in targets.items(): - content += textwrap.dedent(f"""\ - if(TARGET {aliased} AND NOT TARGET {alias}) - add_library({alias} INTERFACE IMPORTED) - set_property(TARGET {alias} PROPERTY INTERFACE_LINK_LIBRARIES {aliased}) - endif() - """) - save(self, module_file, content) - - @property - def _module_file_rel_path(self): - return os.path.join("lib", "cmake", f"conan-official-{self.name}-targets.cmake") - @property def _sfml_components(self): def gdi32(): @@ -305,13 +291,4 @@ def _register_components(components): self.cpp_info.components[component].frameworks = frameworks self.cpp_info.components[component].exelinkflags = exelinkflags - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.components[component].build_modules["cmake_find_package"] = [self._module_file_rel_path] - self.cpp_info.components[component].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] - _register_components(self._sfml_components) - - # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed - self.cpp_info.names["cmake_find_package"] = "SFML" - self.cpp_info.names["cmake_find_package_multi"] = "SFML" - self.cpp_info.names["pkgconfig"] = "sfml-all" diff --git a/recipes/sfml/all/patches/2.6.2-0001-cmake-robust-find-deps.patch b/recipes/sfml/all/patches/2.6.2-0001-cmake-robust-find-deps.patch new file mode 100644 index 0000000000000..5cd33b253b9f0 --- /dev/null +++ b/recipes/sfml/all/patches/2.6.2-0001-cmake-robust-find-deps.patch @@ -0,0 +1,54 @@ +diff --git a/src/SFML/Audio/CMakeLists.txt b/src/SFML/Audio/CMakeLists.txt +index 8158365..a2e029a 100644 +--- a/src/SFML/Audio/CMakeLists.txt ++++ b/src/SFML/Audio/CMakeLists.txt +@@ -73,8 +73,8 @@ sfml_find_package(VORBIS INCLUDE "VORBIS_INCLUDE_DIRS" LINK "VORBIS_LIBRARIES") + sfml_find_package(FLAC INCLUDE "FLAC_INCLUDE_DIR" LINK "FLAC_LIBRARY") + + # avoids warnings in vorbisfile.h +-target_compile_definitions(VORBIS INTERFACE "OV_EXCLUDE_STATIC_CALLBACKS") +-target_compile_definitions(FLAC INTERFACE "FLAC__NO_DLL") ++# target_compile_definitions(VORBIS INTERFACE "OV_EXCLUDE_STATIC_CALLBACKS") ++# target_compile_definitions(FLAC INTERFACE "FLAC__NO_DLL") + + # define the sfml-audio target + sfml_add_library(sfml-audio +@@ -84,7 +84,8 @@ sfml_add_library(sfml-audio + target_link_libraries(sfml-audio PRIVATE OpenAL::OpenAL) + + # minimp3 sources +-target_include_directories(sfml-audio SYSTEM PRIVATE "${PROJECT_SOURCE_DIR}/extlibs/headers/minimp3") ++find_package(minimp3 REQUIRED CONFIG) ++target_include_directories(sfml-audio SYSTEM PRIVATE ${minimp3_INCLUDE_DIRS}) + + if(SFML_OS_ANDROID) + target_link_libraries(sfml-audio PRIVATE android OpenSLES) +@@ -92,4 +93,4 @@ endif() + + target_link_libraries(sfml-audio + PUBLIC sfml-system +- PRIVATE VORBIS FLAC) ++ PRIVATE Vorbis::vorbisenc Vorbis::vorbisfile FLAC::FLAC minimp3::minimp3) +diff --git a/src/SFML/Graphics/CMakeLists.txt b/src/SFML/Graphics/CMakeLists.txt +index a939a98..6f16273 100644 +--- a/src/SFML/Graphics/CMakeLists.txt ++++ b/src/SFML/Graphics/CMakeLists.txt +@@ -93,7 +93,8 @@ sfml_add_library(sfml-graphics + target_link_libraries(sfml-graphics PUBLIC sfml-window) + + # stb_image sources +-target_include_directories(sfml-graphics SYSTEM PRIVATE "${PROJECT_SOURCE_DIR}/extlibs/headers/stb_image") ++find_package(stb REQUIRED CONFIG) ++target_link_libraries(sfml-graphics PRIVATE stb::stb) + + # glad sources + target_include_directories(sfml-graphics SYSTEM PRIVATE "${PROJECT_SOURCE_DIR}/extlibs/headers/glad/include") +@@ -123,7 +124,7 @@ if((SFML_COMPILER_MSVC AND SFML_MSVC_VERSION GREATER_EQUAL 14) OR (SFML_COMPILER + target_link_libraries(sfml-graphics PRIVATE legacy_stdio_definitions.lib) + endif() + +-sfml_find_package(Freetype INCLUDE "FREETYPE_INCLUDE_DIRS" LINK "FREETYPE_LIBRARY") ++find_package(Freetype REQUIRED) + target_link_libraries(sfml-graphics PRIVATE Freetype) + + # add preprocessor symbols diff --git a/recipes/sfml/all/patches/2.6.2-0003-allow-shared-MT.patch b/recipes/sfml/all/patches/2.6.2-0003-allow-shared-MT.patch new file mode 100644 index 0000000000000..57308c95f28c9 --- /dev/null +++ b/recipes/sfml/all/patches/2.6.2-0003-allow-shared-MT.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a302f23..afe1830 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -208,7 +208,7 @@ if(SFML_OS_WINDOWS) + sfml_set_option(SFML_USE_STATIC_STD_LIBS FALSE BOOL "TRUE to statically link to the standard libraries, FALSE to use them as DLLs") + + # the following combination of flags is not valid +- if(BUILD_SHARED_LIBS AND SFML_USE_STATIC_STD_LIBS) ++ if(0) + message(FATAL_ERROR "BUILD_SHARED_LIBS and SFML_USE_STATIC_STD_LIBS cannot be used together") + endif() + diff --git a/recipes/sfml/all/test_v1_package/CMakeLists.txt b/recipes/sfml/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/sfml/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/sfml/all/test_v1_package/conanfile.py b/recipes/sfml/all/test_v1_package/conanfile.py deleted file mode 100644 index d431379ec6c21..0000000000000 --- a/recipes/sfml/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["SFML_WITH_WINDOW"] = self.options["sfml"].window - cmake.definitions["SFML_WITH_GRAPHICS"] = self.options["sfml"].graphics - cmake.definitions["SFML_WITH_NETWORK"] = self.options["sfml"].network - cmake.definitions["SFML_WITH_AUDIO"] = self.options["sfml"].audio - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sfml/config.yml b/recipes/sfml/config.yml index 7ce3d994f27a7..20ad3255593e1 100644 --- a/recipes/sfml/config.yml +++ b/recipes/sfml/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.2": + folder: all "2.6.1": folder: all "2.6.0": diff --git a/recipes/shaderc/all/test_v1_package/CMakeLists.txt b/recipes/shaderc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/shaderc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/shaderc/all/test_v1_package/conanfile.py b/recipes/shaderc/all/test_v1_package/conanfile.py deleted file mode 100644 index fdb8622025dbc..0000000000000 --- a/recipes/shaderc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - # Test programs consuming shaderc lib - bin_path_shaderc_c = os.path.join("bin", "test_package_shaderc_c") - self.run(bin_path_shaderc_c, run_environment=True) - bin_path_shaderc_cpp = os.path.join("bin", "test_package_shaderc_cpp") - self.run(bin_path_shaderc_cpp, run_environment=True) - - self.run(f"glslc -h", run_environment=True) diff --git a/recipes/shapelib/all/test_v1_package/CMakeLists.txt b/recipes/shapelib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2f11d9b196ef7..0000000000000 --- a/recipes/shapelib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/shapelib/all/test_v1_package/conanfile.py b/recipes/shapelib/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/shapelib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/shield/all/test_v1_package/CMakeLists.txt b/recipes/shield/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/shield/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/shield/all/test_v1_package/conanfile.py b/recipes/shield/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/shield/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/si/all/test_v1_package/CMakeLists.txt b/recipes/si/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/si/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/si/all/test_v1_package/conanfile.py b/recipes/si/all/test_v1_package/conanfile.py deleted file mode 100644 index 8ae9b638e62fe..0000000000000 --- a/recipes/si/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ - -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sigslot/all/test_v1_package/CMakeLists.txt b/recipes/sigslot/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/sigslot/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/sigslot/all/test_v1_package/conanfile.py b/recipes/sigslot/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/sigslot/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/simd/all/conandata.yml b/recipes/simd/all/conandata.yml index 93a1a396f05ce..4806772037748 100644 --- a/recipes/simd/all/conandata.yml +++ b/recipes/simd/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "6.1.143": + url: "https://github.com/ermig1979/Simd/archive/refs/tags/v6.1.143.tar.gz" + sha256: "f6cd1031eddc8f1f2bd0140a766e242ab2a9f8e38f133748187fe2cd51ac94cb" + "6.1.142": + url: "https://github.com/ermig1979/Simd/archive/refs/tags/v6.1.142.tar.gz" + sha256: "e9b83b91d38d0c1b1e50e1cee51314f036f6f96efc3f035314cb59ff6345c393" "6.1.138": url: "https://github.com/ermig1979/Simd/archive/refs/tags/v6.1.138.tar.gz" sha256: "5090e4879d48851d5d7d9605485f517dea9a27d9431ec2d54a74a6f04cf3ba00" diff --git a/recipes/simd/all/conanfile.py b/recipes/simd/all/conanfile.py index f5a7dce572f35..37b86bba68c29 100644 --- a/recipes/simd/all/conanfile.py +++ b/recipes/simd/all/conanfile.py @@ -6,6 +6,7 @@ from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import get, copy, rmdir, replace_in_file, collect_libs from conan.tools.microsoft import is_msvc, MSBuild, MSBuildToolchain, is_msvc_static_runtime, msvs_toolset +from conan.tools.scm import Version required_conan_version = ">=1.59.0" @@ -50,6 +51,10 @@ def validate(self): raise ConanInvalidConfiguration("Windows only supports x86/x64 architectures.") if is_msvc(self) and self.settings.arch == "armv8": raise ConanInvalidConfiguration("ARM64 building with MSVC is not supported.") + if Version(self.version) >= "6.1.142" and \ + self.settings.arch in ["x86", "x86_64"] and \ + self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "9": + raise ConanInvalidConfiguration("${self.ref} requires GCC >= 9") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/simd/config.yml b/recipes/simd/config.yml index cade1c07e0823..27fd4dbf8a73a 100644 --- a/recipes/simd/config.yml +++ b/recipes/simd/config.yml @@ -1,3 +1,7 @@ versions: + "6.1.143": + folder: all + "6.1.142": + folder: all "6.1.138": folder: all diff --git a/recipes/simdjson/all/conandata.yml b/recipes/simdjson/all/conandata.yml index ce05f59a5be18..9697453b1dc9f 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.10.1": + url: "https://github.com/simdjson/simdjson/archive/v3.10.1.tar.gz" + sha256: "1e8f881cb2c0f626c56cd3665832f1e97b9d4ffc648ad9e1067c134862bba060" "3.10.0": url: "https://github.com/simdjson/simdjson/archive/v3.10.0.tar.gz" sha256: "9c30552f1dd0ee3d0832bb1c6b7b97d813b18d5ef294c10dcb6fc242e5947de8" diff --git a/recipes/simdjson/all/test_v1_package/CMakeLists.txt b/recipes/simdjson/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/simdjson/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/simdjson/all/test_v1_package/conanfile.py b/recipes/simdjson/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/simdjson/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index 884caaae676a0..8dc9180fc8813 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.10.1": + folder: all "3.10.0": folder: all "3.9.3": diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index b7901ec89c9c1..50f57687007b9 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "5.6.3": + url: "https://github.com/simdutf/simdutf/archive/v5.6.3.tar.gz" + sha256: "503070ddf27e26c051b9500dfc7354ec8850e11076f47db32635931c85b630c0" + "5.6.2": + url: "https://github.com/simdutf/simdutf/archive/v5.6.2.tar.gz" + sha256: "c71b5478c9b912e07f75098f3a60920f1c4de3227b5285ea8a90a2fcf8bd6a89" + "5.6.0": + url: "https://github.com/simdutf/simdutf/archive/v5.6.0.tar.gz" + sha256: "98cc5761b638642b018a628b1609f1b2df489b555836fa88706055bb56a4d6fe" "5.5.0": url: "https://github.com/simdutf/simdutf/archive/v5.5.0.tar.gz" sha256: "47090a770b8eecf610ac4d1fafadde60bb7ba3c9d576d2a3a545aba989a3d749" @@ -17,24 +26,6 @@ sources: "5.3.1": url: "https://github.com/simdutf/simdutf/archive/v5.3.1.tar.gz" sha256: "373e1e66a1c245817f0aa08ae8693b71d1703f9355d364e0d9d002929738ddcc" - "5.2.8": - url: "https://github.com/simdutf/simdutf/archive/v5.2.8.tar.gz" - sha256: "2706f1bef85a6d8598f82defd3848f1c5100e2e065c5d416d993118b53ea8d77" - "5.2.6": - url: "https://github.com/simdutf/simdutf/archive/v5.2.6.tar.gz" - sha256: "ab9e56facf7cf05f4e9d062a0adef310fc6a0f82a8132e8ec1e1bb7ab5e234df" - "5.2.3": - url: "https://github.com/simdutf/simdutf/archive/v5.2.3.tar.gz" - sha256: "dfa55d85c3ee51e9b52e55c02701b16f83dcf1921e1075b67f99b1036df5adb8" - "5.2.2": - url: "https://github.com/simdutf/simdutf/archive/v5.2.2.tar.gz" - sha256: "6cd905ac7fcf6293e34d7acaa9d5af901d85f182f82ec6ec3ee9f9273881791d" - "5.0.0": - url: "https://github.com/simdutf/simdutf/archive/v5.0.0.tar.gz" - sha256: "088d750466bf3487117cce7f828eb94a0a3474d7e76b45d4902c99a2387212b7" - "4.0.9": - url: "https://github.com/simdutf/simdutf/archive/v4.0.9.tar.gz" - sha256: "599E6558FC8D06F8346E5F210564F8B18751C93D83BCE1A40A0E6A326C57B61E" # 4.0.5 is required by scnlib "4.0.5": url: "https://github.com/simdutf/simdutf/archive/v4.0.5.tar.gz" diff --git a/recipes/simdutf/all/test_v1_package/CMakeLists.txt b/recipes/simdutf/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b4c2f89fe6420..0000000000000 --- a/recipes/simdutf/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(simdutf REQUIRED CONFIG) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/simdutf/all/test_v1_package/conanfile.py b/recipes/simdutf/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/simdutf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index f002a2c442833..b6e34e53a5f9e 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,10 @@ versions: + "5.6.3": + folder: all + "5.6.2": + folder: all + "5.6.0": + folder: all "5.5.0": folder: all "5.4.15": @@ -11,17 +17,5 @@ versions: folder: all "5.3.1": folder: all - "5.2.8": - folder: all - "5.2.6": - folder: all - "5.2.3": - folder: all - "5.2.2": - folder: all - "5.0.0": - folder: all - "4.0.9": - folder: all "4.0.5": folder: all diff --git a/recipes/simfil/all/conandata.yml b/recipes/simfil/all/conandata.yml index d5a01b392c11c..ee332d47a6410 100644 --- a/recipes/simfil/all/conandata.yml +++ b/recipes/simfil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.3": + url: "https://github.com/Klebert-Engineering/simfil/archive/refs/tags/v0.3.3.tar.gz" + sha256: "1e09c3785dc14e0a9a6c2c64962debd6ab1c7f7750a2de49dbb5dea18a461973" "0.3.2": url: "https://github.com/Klebert-Engineering/simfil/archive/refs/tags/v0.3.2.tar.gz" sha256: "b8357db1d46058bb5b02eee4945801fc96cf06736c15195235a4b35da72e2ac2" diff --git a/recipes/simfil/config.yml b/recipes/simfil/config.yml index 1dab437cf32dd..c35577e608344 100644 --- a/recipes/simfil/config.yml +++ b/recipes/simfil/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.3": + folder: all "0.3.2": folder: all "0.3.1": diff --git a/recipes/simple-websocket-server/all/test_v1_package/CMakeLists.txt b/recipes/simple-websocket-server/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/simple-websocket-server/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/simple-websocket-server/all/test_v1_package/conanfile.py b/recipes/simple-websocket-server/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/simple-websocket-server/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sjson-cpp/all/test_v1_package/CMakeLists.txt b/recipes/sjson-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/sjson-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/sjson-cpp/all/test_v1_package/conanfile.py b/recipes/sjson-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/sjson-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/skyr-url/all/test_v1_package/CMakeLists.txt b/recipes/skyr-url/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 54d2c07bb9d41..0000000000000 --- a/recipes/skyr-url/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/skyr-url/all/test_v1_package/conanfile.py b/recipes/skyr-url/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/skyr-url/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sleef/all/test_v1_package/CMakeLists.txt b/recipes/sleef/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/sleef/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/sleef/all/test_v1_package/conanfile.py b/recipes/sleef/all/test_v1_package/conanfile.py deleted file mode 100644 index a9f777f7680ff..0000000000000 --- a/recipes/sleef/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sml/all/test_v1_package/CMakeLists.txt b/recipes/sml/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2ecfffc8e29bc..0000000000000 --- a/recipes/sml/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(sml REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE sml::sml) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/sml/all/test_v1_package/conanfile.py b/recipes/sml/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/sml/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/snappy/all/test_v1_package/CMakeLists.txt b/recipes/snappy/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/snappy/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/snappy/all/test_v1_package/conanfile.py b/recipes/snappy/all/test_v1_package/conanfile.py deleted file mode 100644 index 00d8ab9e282f8..0000000000000 --- a/recipes/snappy/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - bin_path_c = os.path.join("bin", "test_package_c") - self.run(bin_path_c, run_environment=True) diff --git a/recipes/snitch/all/test_v1_package/CMakeLists.txt b/recipes/snitch/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/snitch/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/snitch/all/test_v1_package/conanfile.py b/recipes/snitch/all/test_v1_package/conanfile.py deleted file mode 100644 index c8d1d20a4e7d2..0000000000000 --- a/recipes/snitch/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["WITH_SHORTHAND"] = self.options["snitch"].with_shorthand_macros - cmake.definitions["HEADER_ONLY"] = self.options["snitch"].header_only - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "standalone"), run_environment=True) diff --git a/recipes/snowhouse/all/test_v1_package/CMakeLists.txt b/recipes/snowhouse/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/snowhouse/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/snowhouse/all/test_v1_package/conanfile.py b/recipes/snowhouse/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/snowhouse/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/so5extra/all/test_v1_package/CMakeLists.txt b/recipes/so5extra/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/so5extra/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/so5extra/all/test_v1_package/conanfile.py b/recipes/so5extra/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/so5extra/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sobjectizer/all/conandata.yml b/recipes/sobjectizer/all/conandata.yml index 9867b85e58972..e7e112967920a 100644 --- a/recipes/sobjectizer/all/conandata.yml +++ b/recipes/sobjectizer/all/conandata.yml @@ -1,41 +1,13 @@ sources: - "5.7.2.2": - url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.2.2.tar.gz" - sha256: "85f6cdd10bc4b05b8e7eeff7cd6eb76cc0338810114ba6d517163f143676054f" - "5.7.2.3": - url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.2.3.tar.gz" - sha256: "3dd3936fdd5443056fb0698477ad2b299c11b90ff6f551fa2dfb031a17930ee2" - "5.7.2.4": - url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.2.4.tar.gz" - sha256: "1ab370e430a1621c7f3ec8a530c3933efed1c5718953fbea214c1694fecc7128" - "5.7.2.5": - url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.2.5.tar.gz" - sha256: "0bf87f9a4ec631b2dd53033cbb9a8b84a09a8e499f4edf6504121c6a7d1ef459" - "5.7.2.6": - url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.2.6.tar.gz" - sha256: "62f1cfca8181bd60af2fb31b295471d0494b7ba72ab23e5a749bd70c9aa9e7b2" - "5.7.3": - url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.3.tar.gz" - sha256: "15ddaa69861e2853fb8888faf70766e7c56c3cf66a6293f72848e0909875a4c3" "5.7.4": url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.4.tar.gz" sha256: "f032d071579d80fb423171d411ae0e33af0da46776ca0db7eb1d933c69fb0726" - - "5.7.4.1": - url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.4.1.tar.gz" - sha256: "9f5fb9d0be46d427be17f1c47cfa3d332dfe40877d1f9fafd38bcc05c46ff013" - "5.7.4.2": - url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.4.2.tar.gz" - sha256: "defaec29e135a21b1b279b1db8eb56993099a7368baae93e7ea1f3f79909f3d8" - "5.7.4.3": - url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.4.3.tar.gz" - sha256: "ef54ec1c8c5c05a415e44a67ef02e95550b480594e459ccedab5a49d8c909a56" "5.7.5": url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.7.5.tar.gz" sha256: "282b7c72f6a6ee30b9c08b5339c3e327452903e1b246a163a7c8e57b3e37932f" - "5.8.0": - url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.8.0.tar.gz" - sha256: "de2b4ae0e817a108dae6d6787c79ed84c33bd447842b5fdcb780f6697b4c2d49" "5.8.1": url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.8.1.tar.gz" sha256: "2d6a1d57ecb1263d00460fd2dbf386e7323ab8643d10667d1646c3bbc91ef764" + "5.8.3": + url: "https://github.com/Stiffstream/sobjectizer/archive/v.5.8.3.tar.gz" + sha256: "c76661771c7a0a272ff2cefc62cf3100e9530ec670f225c0e11c6bfa2cc6974e" diff --git a/recipes/sobjectizer/all/test_v1_package/CMakeLists.txt b/recipes/sobjectizer/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index c960a336839f6..0000000000000 --- a/recipes/sobjectizer/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(sobjectizer REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) -if(TARGET sobjectizer::SharedLib) - target_link_libraries(${PROJECT_NAME} sobjectizer::SharedLib) -else() - target_link_libraries(${PROJECT_NAME} sobjectizer::StaticLib) -endif() diff --git a/recipes/sobjectizer/all/test_v1_package/conanfile.py b/recipes/sobjectizer/all/test_v1_package/conanfile.py deleted file mode 100644 index 9b63bd176646b..0000000000000 --- a/recipes/sobjectizer/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/sobjectizer/config.yml b/recipes/sobjectizer/config.yml index 648b2e28b68fb..0ebef8a63c5ee 100644 --- a/recipes/sobjectizer/config.yml +++ b/recipes/sobjectizer/config.yml @@ -1,27 +1,9 @@ versions: - "5.7.2.2": - folder: all - "5.7.2.3": - folder: all - "5.7.2.4": - folder: all - "5.7.2.5": - folder: all - "5.7.2.6": - folder: all - "5.7.3": - folder: all - "5.7.4": - folder: all - "5.7.4.1": - folder: all - "5.7.4.2": - folder: all - "5.7.4.3": + "5.7.4": # Used in so5extra folder: all "5.7.5": folder: all - "5.8.0": + "5.8.1": # Used in so5extra folder: all - "5.8.1": + "5.8.3": folder: all diff --git a/recipes/sofa/all/test_v1_package/CMakeLists.txt b/recipes/sofa/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/sofa/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/sofa/all/test_v1_package/conanfile.py b/recipes/sofa/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/sofa/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sokol/all/test_v1_package/CMakeLists.txt b/recipes/sokol/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 4999ac8ba67d0..0000000000000 --- a/recipes/sokol/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(sokol REQUIRED CONFIG) - -add_executable(test_package ../test_package/test_package.c) -target_link_libraries(test_package PRIVATE sokol::sokol) diff --git a/recipes/sokol/all/test_v1_package/conanfile.py b/recipes/sokol/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/sokol/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sol2/all/test_v1_package/CMakeLists.txt b/recipes/sol2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index db5ac2a1312e0..0000000000000 --- a/recipes/sol2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/sol2/all/test_v1_package/conanfile.py b/recipes/sol2/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/sol2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sole/all/conanfile.py b/recipes/sole/all/conanfile.py index e15d1c06c6dc1..ac242d0a91892 100644 --- a/recipes/sole/all/conanfile.py +++ b/recipes/sole/all/conanfile.py @@ -14,6 +14,7 @@ class SoleConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/r-lyeh-archived/sole" topics = ("uuid", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" def export_sources(self): @@ -30,19 +31,14 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) def package(self): - copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - copy( - self, - pattern="*.hpp", - dst=os.path.join(self.package_folder, "include"), - src=self.source_folder, - ) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*.hpp", self.source_folder, os.path.join(self.package_folder, "include")) def package_info(self): self.cpp_info.bindirs = [] diff --git a/recipes/sole/all/test_package/CMakeLists.txt b/recipes/sole/all/test_package/CMakeLists.txt index 829b5ca81b9ce..a08164097e4da 100644 --- a/recipes/sole/all/test_package/CMakeLists.txt +++ b/recipes/sole/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(sole REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE sole::sole) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/sole/all/test_package/conanfile.py b/recipes/sole/all/test_package/conanfile.py index bd7165a553cf4..ef5d7042163ec 100644 --- a/recipes/sole/all/test_package/conanfile.py +++ b/recipes/sole/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +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", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/sonic-cpp/all/test_v1_package/CMakeLists.txt b/recipes/sonic-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/sonic-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/sonic-cpp/all/test_v1_package/conanfile.py b/recipes/sonic-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/sonic-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sophus/all/test_v1_package/CMakeLists.txt b/recipes/sophus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8a25f45a5a90a..0000000000000 --- a/recipes/sophus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(Sophus REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) -target_link_libraries(${PROJECT_NAME} PRIVATE Sophus::Sophus) diff --git a/recipes/sophus/all/test_v1_package/conanfile.py b/recipes/sophus/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/sophus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/soplex/all/conandata.yml b/recipes/soplex/all/conandata.yml index 082b7e8e0f6dc..aa0fdcefcf969 100644 --- a/recipes/soplex/all/conandata.yml +++ b/recipes/soplex/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.1.2": + url: "https://github.com/scipopt/soplex/archive/refs/tags/release-712.tar.gz" + sha256: "a1a7d7f7e30d1db65548b32f75d6f2ed9bd0bf289f639eb4481d3d141c67a332" "7.1.1": url: "https://github.com/scipopt/soplex/archive/refs/tags/release-711.tar.gz" sha256: "75752dca395e219e350f3b462f1f4c08e9d3c2deb2782414862f546a9489cdeb" diff --git a/recipes/soplex/config.yml b/recipes/soplex/config.yml index d583730ab48c3..7c8e24f77726a 100644 --- a/recipes/soplex/config.yml +++ b/recipes/soplex/config.yml @@ -1,4 +1,6 @@ versions: + "7.1.2": + folder: all "7.1.1": folder: all "7.1.0": diff --git a/recipes/soundtouch/all/conandata.yml b/recipes/soundtouch/all/conandata.yml index ed99d82ff219b..0d3d865ce3fdb 100644 --- a/recipes/soundtouch/all/conandata.yml +++ b/recipes/soundtouch/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.3": + url: "https://www.surina.net/soundtouch/soundtouch-2.3.3.tar.gz" + sha256: "43b23dfac2f64a3aff55d64be096ffc7b73842c3f5665caff44975633a975a99" "2.3.2": url: "https://www.surina.net/soundtouch/soundtouch-2.3.2.tar.gz" sha256: "3bde8ddbbc3661f04e151f72cf21ca9d8f8c88e265833b65935b8962d12d6b08" diff --git a/recipes/soundtouch/all/conanfile.py b/recipes/soundtouch/all/conanfile.py index 66a875621a86d..dc042457b29be 100644 --- a/recipes/soundtouch/all/conanfile.py +++ b/recipes/soundtouch/all/conanfile.py @@ -1,11 +1,14 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd from conan.tools.microsoft import is_msvc -from conan.tools.files import get, copy, rm, rmdir +from conan.tools.files import get, copy, rm, rmdir, replace_in_file from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0" class SoundTouchConan(ConanFile): name = "soundtouch" @@ -14,6 +17,8 @@ class SoundTouchConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://codeberg.org/soundtouch/soundtouch" topics = ("audio", "processing", "tempo", "pitch", "playback") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -43,8 +48,26 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def validate(self): + if Version(self.version) >= "2.3.3": + check_min_cppstd(self, 17) + + if self.settings.os == "Macos" and self.options.integer_samples and self.options.with_dll: + # Undefined symbols for architecture arm64: + # "soundtouch::BPMDetect::inputSamples(float const*, int)", referenced from: + # _bpm_putSamples in SoundTouchDLL.cpp.o + # _bpm_putSamples_i16 in SoundTouchDLL.cpp.o + raise ConanInvalidConfiguration('The -o="&:integer_samples=True" option is incompatible with -o="&:with_dll=True"') + def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + self._patch_sources() + + def _patch_sources(self): + if Version(self.version) >= "2.3.3": + # Let Conan handle the C++ standard + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set(CMAKE_CXX_STANDARD 17)", "") def generate(self): tc = CMakeToolchain(self) @@ -105,15 +128,5 @@ def package_info(self): self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.names["cmake_find_package"] = "SoundTouch" - self.cpp_info.names["cmake_find_package_multi"] = "SoundTouch" - self.cpp_info.components["_soundtouch"].names["cmake_find_package"] = "SoundTouch" - self.cpp_info.components["_soundtouch"].names["cmake_find_package_multi"] = "SoundTouch" - self.cpp_info.names["pkg_config"] = "SoundTouch" - if self.options.with_dll: - self.cpp_info.components["SoundTouchDLL"].names["cmake_find_package"] = "SoundTouchDLL" - self.cpp_info.components["SoundTouchDLL"].names["cmake_find_package_multi"] = "SoundTouchDLL" - if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("mvec") diff --git a/recipes/soundtouch/all/test_v1_package/CMakeLists.txt b/recipes/soundtouch/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/soundtouch/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/soundtouch/all/test_v1_package/conanfile.py b/recipes/soundtouch/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/soundtouch/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/soundtouch/config.yml b/recipes/soundtouch/config.yml index aee8de619ec30..5ca4acfdc4f7b 100644 --- a/recipes/soundtouch/config.yml +++ b/recipes/soundtouch/config.yml @@ -1,3 +1,5 @@ versions: + "2.3.3": + folder: all "2.3.2": folder: all diff --git a/recipes/source_location/all/test_v1_package/CMakeLists.txt b/recipes/source_location/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/source_location/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/source_location/all/test_v1_package/conanfile.py b/recipes/source_location/all/test_v1_package/conanfile.py deleted file mode 100644 index cbe0be23191a2..0000000000000 --- a/recipes/source_location/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "arch", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - self.cmake = CMake(self) - self.cmake.configure() - self.cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/source_location/all/test_v1_package/src/test.cpp b/recipes/source_location/all/test_v1_package/src/test.cpp deleted file mode 100644 index 1e3734bb24378..0000000000000 --- a/recipes/source_location/all/test_v1_package/src/test.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include -#include - -int main() { - constexpr auto loc = std::source_location::current(); - - return loc.line() == 5 ? EXIT_SUCCESS : EXIT_FAILURE; -} diff --git a/recipes/soxr/all/test_v1_package/CMakeLists.txt b/recipes/soxr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index c23ed5cfe6d98..0000000000000 --- a/recipes/soxr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_v1_package) - -enable_testing() - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/soxr/all/test_v1_package/conanfile.py b/recipes/soxr/all/test_v1_package/conanfile.py deleted file mode 100644 index 4240acdf711cd..0000000000000 --- a/recipes/soxr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,15 +0,0 @@ -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(f"ctest --output-on-failure -C {self.settings.build_type} -j {tools.cpu_count()}", run_environment=True) diff --git a/recipes/span-lite/all/test_v1_package/CMakeLists.txt b/recipes/span-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index b91df846606c0..0000000000000 --- a/recipes/span-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(span-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::span-lite) diff --git a/recipes/span-lite/all/test_v1_package/conanfile.py b/recipes/span-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/span-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/spdlog/all/conandata.yml b/recipes/spdlog/all/conandata.yml index b8131b03e011e..e6248ae597ba5 100644 --- a/recipes/spdlog/all/conandata.yml +++ b/recipes/spdlog/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.15.0": + url: "https://github.com/gabime/spdlog/archive/v1.15.0.tar.gz" + sha256: "9962648c9b4f1a7bbc76fd8d9172555bad1871fdb14ff4f842ef87949682caa5" "1.14.1": url: "https://github.com/gabime/spdlog/archive/v1.14.1.tar.gz" sha256: "1586508029a7d0670dfcb2d97575dcdc242d3868a259742b69f100801ab4e16b" @@ -32,3 +35,15 @@ patches: patch_description: "Fix fmt 10.0.0 build" patch_type: "conan" patch_source: "https://github.com/gabime/spdlog/pull/2694" +# Each release is intended to work with some specific versions +fmt_version_mapping: + "1.15.0": "11.0.2" + "1.14.1": "10.2.1" + "1.14.0": "10.2.1" + "1.13.0": "10.2.1" + "1.12.0": "10.2.1" + "1.11.0": "10.0.0" + "1.10.0": "8.1.1" + "1.9.2": "8.0.1" + "1.9.1": "8.0.1" + "1.8.5": "7.1.3" diff --git a/recipes/spdlog/all/conanfile.py b/recipes/spdlog/all/conanfile.py index b0c1ca14504e0..26289fe3fbce1 100644 --- a/recipes/spdlog/all/conanfile.py +++ b/recipes/spdlog/all/conanfile.py @@ -25,6 +25,7 @@ class SpdlogConan(ConanFile): "header_only": [True, False], "wchar_support": [True, False], "wchar_filenames": [True, False], + "wchar_console": [True, False], "no_exceptions": [True, False], "use_std_fmt": [True, False], } @@ -34,6 +35,7 @@ class SpdlogConan(ConanFile): "header_only": False, "wchar_support": False, "wchar_filenames": False, + "wchar_console": False, "no_exceptions": False, "use_std_fmt": False, } @@ -44,8 +46,14 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + else: + del self.options.wchar_support + del self.options.wchar_filenames + del self.options.wchar_console if Version(self.version) < "1.10.0": del self.options.use_std_fmt + if Version(self.version) < "1.15.0": + self.options.rm_safe("wchar_console") def configure(self): if self.options.get_safe("shared") or self.options.header_only: @@ -58,20 +66,7 @@ def layout(self): def requirements(self): if not self.options.get_safe("use_std_fmt"): - self_version = Version(self.version) - fmt_version = "7.1.3" - - if self_version >= "1.12.0": - fmt_version = "10.2.1" - elif self_version >= "1.11.0": - fmt_version = "10.0.0" - elif self_version >= "1.10.0": - fmt_version = "8.1.1" - elif self_version >= "1.9.0": - fmt_version = "8.0.1" - elif self_version >= "1.7.0": - fmt_version = "7.1.3" - + fmt_version = self.conan_data["fmt_version_mapping"][self.version] self.requires(f"fmt/{fmt_version}", transitive_headers=True, transitive_libs=True) def package_id(self): @@ -89,27 +84,22 @@ def _std_fmt_compilers_minimum_version(self): } def validate(self): - if self.settings.get_safe("compiler.cppstd"): - if self.options.get_safe("use_std_fmt"): - check_min_cppstd(self, 20) - else: - check_min_cppstd(self, 11) - if self.settings.os != "Windows" and (self.options.wchar_support or self.options.wchar_filenames): - raise ConanInvalidConfiguration("wchar is only supported under windows") + if self.options.get_safe("use_std_fmt"): + check_min_cppstd(self, 20) + else: + check_min_cppstd(self, 11) if self.options.get_safe("shared") and is_msvc_static_runtime(self): raise ConanInvalidConfiguration("Visual Studio build for shared library with MT runtime is not supported") if self.options.get_safe("use_std_fmt"): - check_min_vs(self, self._std_fmt_compilers_minimum_version["msvc"]) - if not is_msvc(self): - compiler_name = str(self.settings.compiler) - minimum_version = self._std_fmt_compilers_minimum_version.get(compiler_name, False) - if not minimum_version: - self.output.warning(f"{self.name} recipe lacks information about the {compiler_name} compiler support.") - elif Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} using std::fmt requires std::fmt, which your compiler does not support." - ) + compiler_name = str(self.settings.compiler) + minimum_version = self._std_fmt_compilers_minimum_version.get(compiler_name, False) + if not minimum_version: + self.output.warning(f"{self.name} recipe lacks information about the {compiler_name} compiler support.") + elif Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} using std::fmt requires std::fmt, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -127,8 +117,10 @@ def generate(self): tc.variables["SPDLOG_FMT_EXTERNAL"] = not fmt.options.header_only tc.variables["SPDLOG_FMT_EXTERNAL_HO"] = fmt.options.header_only tc.variables["SPDLOG_BUILD_SHARED"] = not self.options.header_only and self.options.shared - tc.variables["SPDLOG_WCHAR_SUPPORT"] = self.options.wchar_support - tc.variables["SPDLOG_WCHAR_FILENAMES"] = self.options.wchar_filenames + tc.variables["SPDLOG_WCHAR_SUPPORT"] = self.options.get_safe("wchar_support", False) + tc.variables["SPDLOG_WCHAR_FILENAMES"] = self.options.get_safe("wchar_filenames", False) + if Version(self.version) >= "1.15.0": + tc.variables["SDPLOG_WCHAR_CONSOLE"] = self.options.get_safe("wchar_console", False) tc.variables["SPDLOG_INSTALL"] = True tc.variables["SPDLOG_NO_EXCEPTIONS"] = self.options.no_exceptions tc.variables["SPDLOG_USE_STD_FORMAT"] = self.options.get_safe("use_std_fmt") @@ -139,19 +131,17 @@ def generate(self): cmake_deps = CMakeDeps(self) cmake_deps.generate() - def _disable_werror(self): - replace_in_file(self, os.path.join(self.source_folder, "cmake", "utils.cmake"), "/WX", "") - def _use_cpp20_for_std_format(self): + def _patch_sources(self): + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "cmake", "utils.cmake"), "/WX", "") # This is properly set in later versions if self.options.get_safe("use_std_fmt") and Version(self.version) < "1.12": replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "CMAKE_CXX_STANDARD 11", "CMAKE_CXX_STANDARD 20") def build(self): - apply_conandata_patches(self) - self._disable_werror() - self._use_cpp20_for_std_format() + self._patch_sources() if not self.options.header_only: cmake = CMake(self) cmake.configure() @@ -192,18 +182,15 @@ def package_info(self): suffix = "d" if self.settings.build_type == "Debug" else "" self.cpp_info.components["libspdlog"].libs = [f"spdlog{suffix}"] self.cpp_info.components["libspdlog"].defines.append("SPDLOG_COMPILED_LIB") - if self.options.wchar_support: + if self.options.get_safe("wchar_support"): self.cpp_info.components["libspdlog"].defines.append("SPDLOG_WCHAR_TO_UTF8_SUPPORT") - if self.options.wchar_filenames: + if self.options.get_safe("wchar_filenames"): self.cpp_info.components["libspdlog"].defines.append("SPDLOG_WCHAR_FILENAMES") + if self.options.get_safe("wchar_console"): + self.cpp_info.components["libspdlog"].defines.append("SPDLOG_UTF8_TO_WCHAR_CONSOLE") if self.options.no_exceptions: self.cpp_info.components["libspdlog"].defines.append("SPDLOG_NO_EXCEPTIONS") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["libspdlog"].system_libs = ["pthread"] if self.options.header_only and self.settings.os in ("iOS", "tvOS", "watchOS"): self.cpp_info.components["libspdlog"].defines.append("SPDLOG_NO_TLS") - - self.cpp_info.names["cmake_find_package"] = "spdlog" - self.cpp_info.names["cmake_find_package_multi"] = "spdlog" - self.cpp_info.components["libspdlog"].names["cmake_find_package"] = target - self.cpp_info.components["libspdlog"].names["cmake_find_package_multi"] = target diff --git a/recipes/spdlog/all/test_v1_package/CMakeLists.txt b/recipes/spdlog/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/spdlog/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/spdlog/all/test_v1_package/conanfile.py b/recipes/spdlog/all/test_v1_package/conanfile.py deleted file mode 100644 index 30ca1d12b0933..0000000000000 --- a/recipes/spdlog/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - tools.mkdir("logs/") - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/spdlog/config.yml b/recipes/spdlog/config.yml index c6637b62befb2..8eb73c576f53e 100644 --- a/recipes/spdlog/config.yml +++ b/recipes/spdlog/config.yml @@ -1,4 +1,6 @@ versions: + "1.15.0": + folder: "all" "1.14.1": folder: "all" "1.14.0": diff --git a/recipes/spectra/all/test_v1_package/CMakeLists.txt b/recipes/spectra/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/spectra/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/spectra/all/test_v1_package/conanfile.py b/recipes/spectra/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/spectra/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/spirv-cross/all/conandata.yml b/recipes/spirv-cross/all/conandata.yml index 124af978201fc..40968efaae61f 100644 --- a/recipes/spirv-cross/all/conandata.yml +++ b/recipes/spirv-cross/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.296.0": + url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/vulkan-sdk-1.3.296.0.tar.gz" + sha256: "4f7f9a8a643e6694f155712016b9b572c13a9444e65b3f43b27bb464c0ab76e0" "1.3.268.0": url: "https://github.com/KhronosGroup/SPIRV-Cross/archive/refs/tags/vulkan-sdk-1.3.268.0.tar.gz" sha256: "dd656a51ba4c229c1a0bb220b7470723e8fd4b68abb7f2cf2ca4027df824f4a0" diff --git a/recipes/spirv-cross/all/test_v1_package/CMakeLists.txt b/recipes/spirv-cross/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/spirv-cross/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/spirv-cross/all/test_v1_package/conanfile.py b/recipes/spirv-cross/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/spirv-cross/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/spirv-cross/config.yml b/recipes/spirv-cross/config.yml index fee2421b06ee6..b8b365f369ae0 100644 --- a/recipes/spirv-cross/config.yml +++ b/recipes/spirv-cross/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.296.0": + folder: all "1.3.268.0": folder: all "1.3.261.1": diff --git a/recipes/spirv-headers/all/conandata.yml b/recipes/spirv-headers/all/conandata.yml index 44f2fdcf490ab..20f89cd355d4d 100644 --- a/recipes/spirv-headers/all/conandata.yml +++ b/recipes/spirv-headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.296.0": + url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.3.296.0.tar.gz" + sha256: "1423d58a1171611d5aba2bf6f8c69c72ef9c38a0aca12c3493e4fda64c9b2dc6" "1.3.268.0": url: "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.3.268.0.tar.gz" sha256: "1022379e5b920ae21ccfb5cb41e07b1c59352a18c3d3fdcbf38d6ae7733384d4" diff --git a/recipes/spirv-headers/all/conanfile.py b/recipes/spirv-headers/all/conanfile.py index 854ef17328263..0d28680817678 100644 --- a/recipes/spirv-headers/all/conanfile.py +++ b/recipes/spirv-headers/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.50.0" @@ -28,6 +29,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["SPIRV_HEADERS_SKIP_EXAMPLES"] = True + if Version(self.version) > "1.3.275.0": + tc.variables["SPIRV_HEADERS_ENABLE_TESTS"] = False tc.generate() def build(self): diff --git a/recipes/spirv-headers/all/test_v1_package/CMakeLists.txt b/recipes/spirv-headers/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/spirv-headers/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/spirv-headers/all/test_v1_package/conanfile.py b/recipes/spirv-headers/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/spirv-headers/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/spirv-headers/config.yml b/recipes/spirv-headers/config.yml index f615fa9738359..7154e9cb262ce 100644 --- a/recipes/spirv-headers/config.yml +++ b/recipes/spirv-headers/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.296.0": + folder: all "1.3.268.0": folder: all "1.3.261.1": diff --git a/recipes/spix/all/test_v1_package/CMakeLists.txt b/recipes/spix/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 8272097b5b3da..0000000000000 --- a/recipes/spix/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/spix/all/test_v1_package/conanfile.py b/recipes/spix/all/test_v1_package/conanfile.py deleted file mode 100644 index c71bbcebecf4a..0000000000000 --- a/recipes/spix/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestSpixV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_spix") - self.run(bin_path, run_environment=True) diff --git a/recipes/splunk-opentelemetry-cpp/all/test_v1_package/CMakeLists.txt b/recipes/splunk-opentelemetry-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/splunk-opentelemetry-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/splunk-opentelemetry-cpp/all/test_v1_package/conanfile.py b/recipes/splunk-opentelemetry-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/splunk-opentelemetry-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/spscqueue/all/test_v1_package/CMakeLists.txt b/recipes/spscqueue/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index d44850ff451c0..0000000000000 --- a/recipes/spscqueue/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(SPSCQueue REQUIRED CONFIG) -find_package(Threads REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE SPSCQueue::SPSCQueue Threads::Threads) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/spscqueue/all/test_v1_package/conanfile.py b/recipes/spscqueue/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/spscqueue/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/spy/all/test_v1_package/CMakeLists.txt b/recipes/spy/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 4d114077005dc..0000000000000 --- a/recipes/spy/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(spy REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE spy::spy) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/spy/all/test_v1_package/conanfile.py b/recipes/spy/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/spy/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml index cc14778b41f4c..e283b6b94455a 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "3.47.1": + url: "https://sqlite.org/2024/sqlite-amalgamation-3470100.zip" + sha256: "9da21e6b14ef6a943cdc30f973df259fb390bb4483f77e7f171b9b6e977e5458" + "3.47.0": + url: "https://sqlite.org/2024/sqlite-amalgamation-3470000.zip" + sha256: "2842fddbb1cc33f66c7da998a57535f14a6bfee159676a07bb4bf3e59375d93e" "3.46.1": url: "https://sqlite.org/2024/sqlite-amalgamation-3460100.zip" sha256: "77823cb110929c2bcb0f5d48e4833b5c59a8a6e40cdea3936b99e199dbbe5784" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index 379a6a6a50b9a..07c91fa6c8739 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,8 @@ versions: + "3.47.1": + folder: all + "3.47.0": + folder: all "3.46.1": folder: all "3.46.0": diff --git a/recipes/sqlite3mc/all/conandata.yml b/recipes/sqlite3mc/all/conandata.yml index b6bf8601df3b1..41db86853d2fd 100644 --- a/recipes/sqlite3mc/all/conandata.yml +++ b/recipes/sqlite3mc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.0": + url: "https://github.com/utelle/SQLite3MultipleCiphers/archive/refs/tags/v1.9.0.tar.gz" + sha256: "b30dcf695ad3a53b32b8907a3920ab2b38670c7d37232839d0fb3148c41166da" "1.8.6": url: "https://github.com/utelle/SQLite3MultipleCiphers/archive/refs/tags/v1.8.6.tar.gz" sha256: "7250e3d9ca4368df00d0ebfaa744add66b458a5de318728b95369d621ebf2028" diff --git a/recipes/sqlite3mc/config.yml b/recipes/sqlite3mc/config.yml index fe83104a79e5b..6ebdf822191fc 100644 --- a/recipes/sqlite3mc/config.yml +++ b/recipes/sqlite3mc/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.0": + folder: all "1.8.6": folder: all "1.8.4": diff --git a/recipes/sqlpp11/all/test_v1_package/CMakeLists.txt b/recipes/sqlpp11/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/sqlpp11/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/sqlpp11/all/test_v1_package/conanfile.py b/recipes/sqlpp11/all/test_v1_package/conanfile.py deleted file mode 100644 index 37ada808989d9..0000000000000 --- a/recipes/sqlpp11/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -import os - -from conan.tools.build import cross_building -from conans import ConanFile, CMake - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/squirrel/all/test_v1_package/CMakeLists.txt b/recipes/squirrel/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/squirrel/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/squirrel/all/test_v1_package/conanfile.py b/recipes/squirrel/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/squirrel/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/srt/all/test_v1_package/CMakeLists.txt b/recipes/srt/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/srt/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/srt/all/test_v1_package/conanfile.py b/recipes/srt/all/test_v1_package/conanfile.py deleted file mode 100644 index b5ecfa88d3a13..0000000000000 --- a/recipes/srt/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package_multi", "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin","test_package"), run_environment=True) diff --git a/recipes/statslib/all/test_v1_package/CMakeLists.txt b/recipes/statslib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/statslib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/statslib/all/test_v1_package/conanfile.py b/recipes/statslib/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/statslib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/status-code/all/test_v1_package/CMakeLists.txt b/recipes/status-code/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 54d2c07bb9d41..0000000000000 --- a/recipes/status-code/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/status-code/all/test_v1_package/conanfile.py b/recipes/status-code/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/status-code/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/status-value-lite/all/test_v1_package/CMakeLists.txt b/recipes/status-value-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index ed3eb47f85dd6..0000000000000 --- a/recipes/status-value-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(status-value-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::status-value-lite) diff --git a/recipes/status-value-lite/all/test_v1_package/conanfile.py b/recipes/status-value-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/status-value-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/stb/all/test_v1_package/CMakeLists.txt b/recipes/stb/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/stb/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/stb/all/test_v1_package/conanfile.py b/recipes/stb/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/stb/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/stc/all/test_v1_package/CMakeLists.txt b/recipes/stc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/stc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/stc/all/test_v1_package/conanfile.py b/recipes/stc/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/stc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/stduuid/all/test_v1_package/CMakeLists.txt b/recipes/stduuid/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/stduuid/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/stduuid/all/test_v1_package/conanfile.py b/recipes/stduuid/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/stduuid/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/strawberryperl/all/test_v1_package/conanfile.py b/recipes/strawberryperl/all/test_v1_package/conanfile.py deleted file mode 100644 index 641d8fdb8a176..0000000000000 --- a/recipes/strawberryperl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,12 +0,0 @@ -import os -from conans import ConanFile, tools - - -class DefaultNameConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not tools.cross_building(self): - self.run("perl --version", run_environment=True) - perl_script = os.path.join(self.source_folder, os.pardir, "test_package", "list_files.pl") - self.run(f"perl {perl_script}", run_environment=True) diff --git a/recipes/string-view-lite/all/test_v1_package/CMakeLists.txt b/recipes/string-view-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 16690fb612bcb..0000000000000 --- a/recipes/string-view-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(string-view-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::string-view-lite) diff --git a/recipes/string-view-lite/all/test_v1_package/conanfile.py b/recipes/string-view-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/string-view-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/stringzilla/all/conandata.yml b/recipes/stringzilla/all/conandata.yml index c4ca6e70109b7..eb0fe1d568743 100644 --- a/recipes/stringzilla/all/conandata.yml +++ b/recipes/stringzilla/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "3.10.3": + url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v3.10.3.tar.gz" + sha256: "8a19b5a8e24f4160dc8d00e77a308a75462c3d211c0879ac218887bb41d26ce6" + "3.10.0": + url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v3.10.0.tar.gz" + sha256: "69729a1403c4609256f861a0221e5331f836b4945f6848472e81183726e436e6" "3.9.6": url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v3.9.6.tar.gz" sha256: "21577e967d79155f5bcbe9bfd885dd817a79666f384fb2a955c0ac5dbf0657a3" diff --git a/recipes/stringzilla/all/test_package/test_package_3_0.cpp b/recipes/stringzilla/all/test_package/test_package_3_0.cpp index 9611c090a6122..04385a3492e0c 100644 --- a/recipes/stringzilla/all/test_package/test_package_3_0.cpp +++ b/recipes/stringzilla/all/test_package/test_package_3_0.cpp @@ -12,7 +12,7 @@ int main(void) { auto substring_position = haystack.find(needle); // Or `rfind` haystack.end() - haystack.begin() == haystack.size(); // Or `rbegin`, `rend` - haystack.find_first_of(" \w\t") == 4; // Or `find_last_of`, `find_first_not_of`, `find_last_not_of` + haystack.find_first_of(" \v\t") == 4; // Or `find_last_of`, `find_first_not_of`, `find_last_not_of` haystack.starts_with(needle) == true; // Or `ends_with` haystack.remove_prefix(needle.size()); // Why is this operation in-place?! diff --git a/recipes/stringzilla/config.yml b/recipes/stringzilla/config.yml index c6b356c693aac..1bc4b692fbdb2 100644 --- a/recipes/stringzilla/config.yml +++ b/recipes/stringzilla/config.yml @@ -1,4 +1,8 @@ versions: + "3.10.3": + folder: all + "3.10.0": + folder: all "3.9.6": folder: all "3.9.3": diff --git a/recipes/strong_type/all/test_v1_package/CMakeLists.txt b/recipes/strong_type/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 1690306012889..0000000000000 --- a/recipes/strong_type/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(strong_type REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE rollbear::strong_type) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/strong_type/all/test_v1_package/conanfile.py b/recipes/strong_type/all/test_v1_package/conanfile.py deleted file mode 100644 index a500b98343c74..0000000000000 --- a/recipes/strong_type/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/structopt/all/test_v1_package/CMakeLists.txt b/recipes/structopt/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/structopt/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/structopt/all/test_v1_package/conanfile.py b/recipes/structopt/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/structopt/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/svector/all/test_v1_package/CMakeLists.txt b/recipes/svector/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 33ce3d62f2939..0000000000000 --- a/recipes/svector/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(svector REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE svector::svector) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/svector/all/test_v1_package/conanfile.py b/recipes/svector/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/svector/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/svtjpegxs/all/conandata.yml b/recipes/svtjpegxs/all/conandata.yml new file mode 100644 index 0000000000000..d22e8967fad5f --- /dev/null +++ b/recipes/svtjpegxs/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "0.9.0": + url: "https://github.com/OpenVisualCloud/SVT-JPEG-XS/archive/refs/tags/v0.9.0.tar.gz" + sha256: "ff5dfb3b98348a39049da4fd3062d3391cbadec4c4b61825a9f3435ca671effa" +patches: + "0.9.0": + - patch_file: "patches/0.9.0-0001-manage-fpic.patch" + patch_type: "conan" + patch_description: "Let Conan configure fPIC" diff --git a/recipes/svtjpegxs/all/conanfile.py b/recipes/svtjpegxs/all/conanfile.py new file mode 100644 index 0000000000000..2f024fb63798b --- /dev/null +++ b/recipes/svtjpegxs/all/conanfile.py @@ -0,0 +1,84 @@ +import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import cmake_layout, CMakeToolchain, CMake +from conan.tools.files import copy, get, rmdir, apply_conandata_patches, export_conandata_patches +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=2.0.9" + + +class SvtJpegXsConan(ConanFile): + name = "svtjpegxs" + description = "A JPEG XS (ISO/IEC 21122) compatible software encoder/decoder library" + license = "BSD-2-Clause-Patent" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/OpenVisualCloud/SVT-JPEG-XS" + topics = ("jpegxs", "codec", "encoder", "decoder", "image", "video") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + implements = ["auto_shared_fpic"] + + def export_sources(self): + export_conandata_patches(self) + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def build_requirements(self): + self.tool_requires("yasm/1.3.0") + + def validate(self): + if self.settings.arch not in ["x86", "x86_64"]: + # INFO: The upstream mention about only supporting x86, SSE and AVX + # https://github.com/OpenVisualCloud/SVT-JPEG-XS/tree/v0.9.0?tab=readme-ov-file#environment-and-requirements + raise ConanInvalidConfiguration(f"{self.ref} does not support {self.settings.arch}. Only x86 and x86_64 are supported.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + apply_conandata_patches(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_APPS"] = False + if self.settings.os != "Windows": + # INFO: The upstream use OBJECT library for shared library. CMake does not pass -fPIC to OBJECT library + tc.variables["CMAKE_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE.md", self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.configure() + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + + def package_info(self): + self.cpp_info.libs = ["SvtJpegxs"] + self.cpp_info.set_property("pkg_config_name", "SvtJpegxs") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "pthread"] + + if is_msvc(self) and self.options.shared: + self.cpp_info.bindirs = ["lib"] + self.cpp_info.defines.append("DEF_DLL") diff --git a/recipes/svtjpegxs/all/patches/0.9.0-0001-manage-fpic.patch b/recipes/svtjpegxs/all/patches/0.9.0-0001-manage-fpic.patch new file mode 100644 index 0000000000000..a0d3589cc7639 --- /dev/null +++ b/recipes/svtjpegxs/all/patches/0.9.0-0001-manage-fpic.patch @@ -0,0 +1,40 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e7cdc8d..6039b5c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -88,7 +88,6 @@ else() + set_property(CACHE SANITIZER PROPERTY STRINGS Address Memory Thread Undefined Integer) + endif() + +-set(CMAKE_POSITION_INDEPENDENT_CODE ON) + set(CMAKE_C_STANDARD 99) + set(CMAKE_CXX_STANDARD 11) + +@@ -120,7 +119,6 @@ if(UNIX) + endif() + + # Always build with -fPIC +-set(CMAKE_POSITION_INDEPENDENT_CODE ON) + + function(check_flag lang flag) + string(REGEX REPLACE "[^A-Za-z0-9]" "_" flag_var "${flag}") +diff --git a/third_party/cpuinfo/CMakeLists.txt b/third_party/cpuinfo/CMakeLists.txt +index c994d47..7ca34bc 100644 +--- a/third_party/cpuinfo/CMakeLists.txt ++++ b/third_party/cpuinfo/CMakeLists.txt +@@ -112,7 +112,6 @@ CPUINFO_TARGET_ENABLE_C99(cpuinfo) + + INCLUDE_DIRECTORIES(deps/clog/include) + +-SET_PROPERTY(TARGET cpuinfo PROPERTY POSITION_INDEPENDENT_CODE ON) + + CPUINFO_TARGET_RUNTIME_LIBRARY(cpuinfo) + IF(CMAKE_SYSTEM_NAME MATCHES "^(Windows|CYGWIN|MSYS)$") +@@ -160,7 +159,6 @@ IF(NOT TARGET clog) + ADD_SUBDIRECTORY( + "${CLOG_SOURCE_DIR}") + # We build static version of clog but a dynamic library may indirectly depend on it +- SET_PROPERTY(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON) + ENDIF() + + ADD_LIBRARY(cpuinfo_public INTERFACE) diff --git a/recipes/svtjpegxs/all/test_package/CMakeLists.txt b/recipes/svtjpegxs/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..7e22587af3e7c --- /dev/null +++ b/recipes/svtjpegxs/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(svtjpegxs REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE svtjpegxs::svtjpegxs) diff --git a/recipes/svtjpegxs/all/test_package/conanfile.py b/recipes/svtjpegxs/all/test_package/conanfile.py new file mode 100644 index 0000000000000..01276b37d172f --- /dev/null +++ b/recipes/svtjpegxs/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeToolchain", "CMakeDeps" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/svtjpegxs/all/test_package/test_package.cpp b/recipes/svtjpegxs/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..7660d632cd305 --- /dev/null +++ b/recipes/svtjpegxs/all/test_package/test_package.cpp @@ -0,0 +1,10 @@ +#include + +#include "svt-jpegxs/SvtJpegxs.h" +#include "svt-jpegxs/SvtJpegxsImageBufferTools.h" + +int main() +{ + svt_jpeg_xs_frame_pool_free(nullptr); + return EXIT_SUCCESS; +} diff --git a/recipes/svtjpegxs/config.yml b/recipes/svtjpegxs/config.yml new file mode 100644 index 0000000000000..7dbf8a1dbf4a8 --- /dev/null +++ b/recipes/svtjpegxs/config.yml @@ -0,0 +1,3 @@ +versions: + "0.9.0": + folder: all diff --git a/recipes/symengine/all/conandata.yml b/recipes/symengine/all/conandata.yml index f1d9cf2996b49..6cba7bfe87f6a 100644 --- a/recipes/symengine/all/conandata.yml +++ b/recipes/symengine/all/conandata.yml @@ -17,3 +17,6 @@ sources: "0.12.0": url: "https://github.com/symengine/symengine/archive/refs/tags/v0.12.0.tar.gz" sha256: "1b5c3b0bc6a9f187635f93585649f24a18e9c7f2167cebcd885edeaaf211d956" + "0.13.0": + url: "https://github.com/symengine/symengine/archive/refs/tags/v0.13.0.tar.gz" + sha256: "f46bcf037529cd1a422369327bf360ad4c7d2b02d0f607a62a5b09c74a55bb59" diff --git a/recipes/symengine/all/conanfile.py b/recipes/symengine/all/conanfile.py index c6d7a378b2e21..270776ba7fe08 100644 --- a/recipes/symengine/all/conanfile.py +++ b/recipes/symengine/all/conanfile.py @@ -1,16 +1,21 @@ from conan import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps from conan.tools.files import ( - apply_conandata_patches, collect_libs, copy, get, rm, rmdir, + replace_in_file, ) -import os +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc_static_runtime +from conan.tools.scm import Version -required_conan_version = ">=1.54.0" +import os +required_conan_version = ">=2.1" class SymengineConan(ConanFile): @@ -20,8 +25,8 @@ class SymengineConan(ConanFile): topics = ("symbolic", "algebra") homepage = "https://symengine.org/" url = "https://github.com/conan-io/conan-center-index" - exports_sources = ["CMakeLists.txt", "patches/**"] settings = "os", "compiler", "build_type", "arch" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -34,11 +39,36 @@ class SymengineConan(ConanFile): } short_paths = True + def layout(self): + basic_layout(self, src_folder="src") + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def validate(self): + min_cppstd = "11" + check_min_cppstd(self, min_cppstd) + + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "7": + raise ConanInvalidConfiguration(f"{self.ref} requires GCC >= 7") + + @property + def _needs_fast_float(self): + return Version(self.version) >= "0.13.0" + def requirements(self): if self.options.integer_class == "boostmp": - self.requires("boost/1.83.0") + # symengine/mp_class.h:12 + self.requires("boost/1.86.0", transitive_headers=True) else: self.requires("gmp/6.3.0", transitive_headers=True, transitive_libs=True) + if self._needs_fast_float: + self.requires("fast_float/6.1.5") def source(self): get( @@ -48,24 +78,42 @@ def source(self): destination=self.source_folder, ) - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_TESTS"] = False tc.variables["BUILD_BENCHMARKS"] = False tc.variables["INTEGER_CLASS"] = self.options.integer_class - tc.variables["MSVC_USE_MT"] = False + tc.variables["MSVC_USE_MT"] = is_msvc_static_runtime(self) + if self._needs_fast_float: + tc.variables["WITH_SYSTEM_FASTFLOAT"] = True + tc.generate() + deps = CMakeDeps(self) + if self.options.integer_class == "gmp": + deps.set_property("gmp", "cmake_file_name", "GMP") + # If we ever add support for gmpxx, we should set this property + # if self.dependencies["gmp"].options.enable_cxx: + # deps.set_property("gmp::gmpxx", "cmake_target_name", "gmpxx") + if self._needs_fast_float: + deps.set_property("fast_float", "cmake_file_name", "FASTFLOAT") + deps.generate() + + def _patch_sources(self): + # Disable hardcoded C++11 + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + 'set(CMAKE_CXX_FLAGS "${CXX11_OPTIONS} ${CMAKE_CXX_FLAGS}")', + '') + # Let Conan choose fPIC + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + 'set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${common}")', + '') + # cmake_target_name not working? + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set(LIBS ${LIBS} ${GMP_TARGETS})", + "set(LIBS ${LIBS} gmp::gmp)") def build(self): - apply_conandata_patches(self) + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() @@ -90,6 +138,5 @@ def package_info(self): self.cpp_info.libs.append("teuchos") if self.settings.os == "Linux": self.cpp_info.system_libs.append("m") - self.cpp_info.names["cmake_find_package"] = "symengine" - # FIXME: symengine exports a non-namespaced `symengine` target. - self.cpp_info.names["cmake_find_package_multi"] = "symengine" + + self.cpp_info.set_property("cmake_target_name", "symengine") diff --git a/recipes/symengine/all/test_package/CMakeLists.txt b/recipes/symengine/all/test_package/CMakeLists.txt index 7b0ebad6adca2..db1bcb5e287ec 100644 --- a/recipes/symengine/all/test_package/CMakeLists.txt +++ b/recipes/symengine/all/test_package/CMakeLists.txt @@ -1,7 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) find_package(symengine REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE symengine::symengine) # FIXME: Replace `symengine::symengine` with `symengine` +target_link_libraries(${PROJECT_NAME} PRIVATE symengine) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/symengine/all/test_package/conanfile.py b/recipes/symengine/all/test_package/conanfile.py index 8a86f655664c1..f72d1f660e19f 100644 --- a/recipes/symengine/all/test_package/conanfile.py +++ b/recipes/symengine/all/test_package/conanfile.py @@ -17,7 +17,6 @@ def requirements(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["CMAKE_CXX_STANDARD"] = "11" tc.generate() def build(self): diff --git a/recipes/symengine/all/test_package/test_package.cpp b/recipes/symengine/all/test_package/test_package.cpp index 62249dac49da7..da10361cc19de 100644 --- a/recipes/symengine/all/test_package/test_package.cpp +++ b/recipes/symengine/all/test_package/test_package.cpp @@ -2,12 +2,19 @@ #include #include #include +#include +#include +#include #include int main() { SymEngine::Expression pi_by_12 = SymEngine::div(SymEngine::pi, SymEngine::integer(12)); std::cout << pi_by_12 << std::endl; + std::cout << SymEngine::mp_perfect_power_p(SymEngine::integer_class("9")) << std::endl; + std::string input = "123.0"; + auto parsed_value = SymEngine::parse(input, true); + return 0; } diff --git a/recipes/symengine/all/test_v1_package/CMakeLists.txt b/recipes/symengine/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 62739795b7eca..0000000000000 --- a/recipes/symengine/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(symengine REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE symengine::symengine) # FIXME: Replace `symengine::symengine` with `symengine` diff --git a/recipes/symengine/all/test_v1_package/conanfile.py b/recipes/symengine/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e1802f4cdc24..0000000000000 --- a/recipes/symengine/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["CMAKE_CXX_STANDARD"] = "11" - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/symengine/all/test_v1_package/test_package.cpp b/recipes/symengine/all/test_v1_package/test_package.cpp deleted file mode 100644 index 62249dac49da7..0000000000000 --- a/recipes/symengine/all/test_v1_package/test_package.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include -#include -#include - -#include - -int main() { - SymEngine::Expression pi_by_12 = - SymEngine::div(SymEngine::pi, SymEngine::integer(12)); - std::cout << pi_by_12 << std::endl; - return 0; -} diff --git a/recipes/symengine/config.yml b/recipes/symengine/config.yml index 7edc4135e663c..5536e9803e451 100644 --- a/recipes/symengine/config.yml +++ b/recipes/symengine/config.yml @@ -11,3 +11,5 @@ versions: folder: all "0.12.0": folder: all + "0.13.0": + folder: all diff --git a/recipes/systemc-cci/all/test_v1_package/CMakeLists.txt b/recipes/systemc-cci/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/systemc-cci/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/systemc-cci/all/test_v1_package/conanfile.py b/recipes/systemc-cci/all/test_v1_package/conanfile.py deleted file mode 100644 index 189bd25a7c208..0000000000000 --- a/recipes/systemc-cci/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class SystemccciTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/systemc/all/test_v1_package/CMakeLists.txt b/recipes/systemc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/systemc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/systemc/all/test_v1_package/conanfile.py b/recipes/systemc/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/systemc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/szip/all/test_v1_package/CMakeLists.txt b/recipes/szip/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 54dab32a19430..0000000000000 --- a/recipes/szip/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - - -find_package(szip REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) - -if(TARGET szip-shared) - target_link_libraries(${PROJECT_NAME} szip-shared) -else () - target_link_libraries(${PROJECT_NAME} szip-static) -endif () diff --git a/recipes/szip/all/test_v1_package/conanfile.py b/recipes/szip/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/szip/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tabulate/all/test_v1_package/CMakeLists.txt b/recipes/tabulate/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/tabulate/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tabulate/all/test_v1_package/conanfile.py b/recipes/tabulate/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/tabulate/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/taglib/all/test_v1_package/CMakeLists.txt b/recipes/taglib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/taglib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/taglib/all/test_v1_package/conanfile.py b/recipes/taglib/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/taglib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/taocpp-json/all/test_v1_package/CMakeLists.txt b/recipes/taocpp-json/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2a4b77ef89cd7..0000000000000 --- a/recipes/taocpp-json/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/taocpp-json/all/test_v1_package/conanfile.py b/recipes/taocpp-json/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/taocpp-json/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/taocpp-operators/all/test_v1_package/CMakeLists.txt b/recipes/taocpp-operators/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/taocpp-operators/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/taocpp-operators/all/test_v1_package/conanfile.py b/recipes/taocpp-operators/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/taocpp-operators/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/taocpp-pegtl/2.x.x/test_v1_package/CMakeLists.txt b/recipes/taocpp-pegtl/2.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 799649d28d583..0000000000000 --- a/recipes/taocpp-pegtl/2.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/taocpp-pegtl/2.x.x/test_v1_package/conanfile.py b/recipes/taocpp-pegtl/2.x.x/test_v1_package/conanfile.py deleted file mode 100644 index 2490acfa82ff8..0000000000000 --- a/recipes/taocpp-pegtl/2.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/taocpp-pegtl/3.x.x/test_v1_package/CMakeLists.txt b/recipes/taocpp-pegtl/3.x.x/test_v1_package/CMakeLists.txt deleted file mode 100644 index 799649d28d583..0000000000000 --- a/recipes/taocpp-pegtl/3.x.x/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/taocpp-pegtl/3.x.x/test_v1_package/conanfile.py b/recipes/taocpp-pegtl/3.x.x/test_v1_package/conanfile.py deleted file mode 100644 index 2490acfa82ff8..0000000000000 --- a/recipes/taocpp-pegtl/3.x.x/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/taocpp-sequences/all/test_v1_package/CMakeLists.txt b/recipes/taocpp-sequences/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/taocpp-sequences/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/taocpp-sequences/all/test_v1_package/conanfile.py b/recipes/taocpp-sequences/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/taocpp-sequences/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/taocpp-taopq/all/test_v1_package/CMakeLists.txt b/recipes/taocpp-taopq/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/taocpp-taopq/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/taocpp-taopq/all/test_v1_package/conanfile.py b/recipes/taocpp-taopq/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/taocpp-taopq/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/taocpp-tuple/all/test_v1_package/CMakeLists.txt b/recipes/taocpp-tuple/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/taocpp-tuple/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/taocpp-tuple/all/test_v1_package/conanfile.py b/recipes/taocpp-tuple/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/taocpp-tuple/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tar/all/test_v1_package/conanfile.py b/recipes/tar/all/test_v1_package/conanfile.py deleted file mode 100644 index 68b1151321a11..0000000000000 --- a/recipes/tar/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - - def test(self): - tar_bin = self.deps_user_info["tar"].tar - if not tools.cross_building(self): - with tools.chdir(self.source_folder): - test_tar = os.path.join(self.build_folder, "test.tar.gz") - self.run("{} -czf {} conanfile.py".format(tar_bin, test_tar), run_environment=True) - assert os.path.isfile("test.tar.gz") - self.run("{} -tf test.tar.gz".format(tar_bin), run_environment=True) - self.run("{} -xf test.tar.gz".format(tar_bin), run_environment=True) - assert tools.load(os.path.join(self.source_folder, "conanfile.py")) == tools.load(os.path.join(self.build_folder, "conanfile.py")) diff --git a/recipes/taskflow/all/conandata.yml b/recipes/taskflow/all/conandata.yml index bc9d6699fbb72..8d29a2455eda0 100644 --- a/recipes/taskflow/all/conandata.yml +++ b/recipes/taskflow/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.0": + url: "https://github.com/taskflow/taskflow/archive/v3.8.0.tar.gz" + sha256: "51316ee5fbf0c8f8f4638eb7428430cadfe6e8910756593884710e99129fa0ab" "3.7.0": url: "https://github.com/taskflow/taskflow/archive/v3.7.0.tar.gz" sha256: "788b88093fb3788329ebbf7c7ee05d1f8960d974985a301798df01e77e04233b" @@ -20,18 +23,6 @@ sources: "3.1.0": url: "https://github.com/taskflow/taskflow/archive/v3.1.0.tar.gz" sha256: "B83E9A78C254D831B8401D0F8A766E3C5B60D8D20BE5AF6E2D2FAD4AA4A8B980" - "3.0.0": - url: "https://github.com/taskflow/taskflow/archive/v3.0.0.tar.gz" - sha256: "553C88A6E56E115D29AC1520B8A0FEA4557A5FCDA1AF1427BD3BA454926D03A2" - "2.7.0": - url: "https://github.com/taskflow/taskflow/archive/v2.7.0.tar.gz" - sha256: "BC2227DCABEC86ABEBA1FEE56BB357D9D3C0EF0184F7C2275D7008E8758DFC3E" - "2.6.0": - url: "https://github.com/taskflow/taskflow/archive/v2.6.0.tar.gz" - sha256: "2F511F4291653D759AF12A7854BABCEBF57CFBB8B49BF6CD3EB0DD98A1A4039C" - "2.5.0": - url: "https://github.com/taskflow/taskflow/archive/v2.5.0.tar.gz" - sha256: "B7016EE3486458AE401D521EA6BC0403DDE975828038B9734621A6A325ACAC1A" patches: "3.3.0": - patch_file: "patches/3.3.0-immintrin-guard.patch" diff --git a/recipes/taskflow/all/conanfile.py b/recipes/taskflow/all/conanfile.py index e16199ca67bf9..b7c01ed9815d0 100644 --- a/recipes/taskflow/all/conanfile.py +++ b/recipes/taskflow/all/conanfile.py @@ -26,28 +26,17 @@ class TaskflowConan(ConanFile): @property def _min_cppstd(self): - if Version(self.version) >= "3.0.0": - return "17" - return "14" + return "17" @property def _compilers_minimum_version(self): return { - "17": { - "Visual Studio": "16", - "msvc": "192", - "gcc": "7.3" if Version(self.version) < "3.7.0" else "8.4", - "clang": "6.0", - "apple-clang": "10.0", - }, - "14": { - "Visual Studio": "15", - "msvc": "191", - "gcc": "5", - "clang": "4.0", - "apple-clang": "8.0", - }, - }[self._min_cppstd] + "Visual Studio": "16", + "msvc": "192", + "gcc": "7.3" if Version(self.version) < "3.7.0" else "8.4", + "clang": "6.0", + "apple-clang": "10.0", + } def export_sources(self): export_conandata_patches(self) diff --git a/recipes/taskflow/all/test_v1_package/CMakeLists.txt b/recipes/taskflow/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/taskflow/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/taskflow/all/test_v1_package/conanfile.py b/recipes/taskflow/all/test_v1_package/conanfile.py deleted file mode 100644 index 94b8dc83beff4..0000000000000 --- a/recipes/taskflow/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, tools, CMake -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/taskflow/config.yml b/recipes/taskflow/config.yml index 805659f33f589..94741c12af489 100644 --- a/recipes/taskflow/config.yml +++ b/recipes/taskflow/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.0": + folder: all "3.7.0": folder: all "3.6.0": @@ -13,11 +15,3 @@ versions: folder: all "3.1.0": folder: all - "3.0.0": - folder: all - "2.7.0": - folder: all - "2.6.0": - folder: all - "2.5.0": - folder: all diff --git a/recipes/taywee-args/all/test_v1_package/CMakeLists.txt b/recipes/taywee-args/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/taywee-args/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/taywee-args/all/test_v1_package/conanfile.py b/recipes/taywee-args/all/test_v1_package/conanfile.py deleted file mode 100644 index 3e9c09d77df0c..0000000000000 --- a/recipes/taywee-args/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(f"{bin_path} -h", run_environment=True) diff --git a/recipes/tcb-span/all/test_v1_package/CMakeLists.txt b/recipes/tcb-span/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 6930ecd6ea58a..0000000000000 --- a/recipes/tcb-span/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(tcb-span REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cxx) -target_link_libraries(${PROJECT_NAME} PRIVATE tcb-span::tcb-span) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/tcb-span/all/test_v1_package/conanfile.py b/recipes/tcb-span/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/tcb-span/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tclap/all/test_v1_package/CMakeLists.txt b/recipes/tclap/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/tclap/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tclap/all/test_v1_package/conanfile.py b/recipes/tclap/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/tclap/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tcp-wrappers/all/test_v1_package/CMakeLists.txt b/recipes/tcp-wrappers/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/tcp-wrappers/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tcp-wrappers/all/test_v1_package/conanfile.py b/recipes/tcp-wrappers/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/tcp-wrappers/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tcsbank-uconfig/all/test_v1_package/CMakeLists.txt b/recipes/tcsbank-uconfig/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/tcsbank-uconfig/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tcsbank-uconfig/all/test_v1_package/conanfile.py b/recipes/tcsbank-uconfig/all/test_v1_package/conanfile.py deleted file mode 100644 index 6bbeeb230e6b0..0000000000000 --- a/recipes/tcsbank-uconfig/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - os.environ["APP_VARIABLE"] = "123456" - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tcsbank-uri-template/all/test_v1_package/CMakeLists.txt b/recipes/tcsbank-uri-template/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/tcsbank-uri-template/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tcsbank-uri-template/all/test_v1_package/conanfile.py b/recipes/tcsbank-uri-template/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/tcsbank-uri-template/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/teemo/all/test_v1_package/CMakeLists.txt b/recipes/teemo/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/teemo/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/teemo/all/test_v1_package/conanfile.py b/recipes/teemo/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/teemo/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tensorflow-lite/all/test_v1_package/CMakeLists.txt b/recipes/tensorflow-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tensorflow-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tensorflow-lite/all/test_v1_package/conanfile.py b/recipes/tensorflow-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index b6d768011ed00..0000000000000 --- a/recipes/tensorflow-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - command = os.path.join("bin", "test_package") - self.run(command, run_environment=True) diff --git a/recipes/tensorpipe/all/test_v1_package/CMakeLists.txt b/recipes/tensorpipe/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tensorpipe/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tensorpipe/all/test_v1_package/conanfile.py b/recipes/tensorpipe/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tensorpipe/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/termcap/all/test_v1_package/CMakeLists.txt b/recipes/termcap/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/termcap/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/termcap/all/test_v1_package/conanfile.py b/recipes/termcap/all/test_v1_package/conanfile.py deleted file mode 100644 index a7ccb827b1a74..0000000000000 --- a/recipes/termcap/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - with tools.environment_append({"TERM": "xtermc"}): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/termcolor/all/test_v1_package/CMakeLists.txt b/recipes/termcolor/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/termcolor/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/termcolor/all/test_v1_package/conanfile.py b/recipes/termcolor/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/termcolor/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tesseract/all/conandata.yml b/recipes/tesseract/all/conandata.yml index dde624ec73438..08462108f4e18 100644 --- a/recipes/tesseract/all/conandata.yml +++ b/recipes/tesseract/all/conandata.yml @@ -1,7 +1,10 @@ sources: + "5.5.0": + url: "https://github.com/tesseract-ocr/tesseract/archive/5.5.0.tar.gz" + sha256: "f2fb34ca035b6d087a42875a35a7a5c4155fa9979c6132365b1e5a28ebc3fc11" "5.4.1": - url: "https://github.com/tesseract-ocr/tesseract/archive/5.4.0.tar.gz" - sha256: "30ceffd9b86780f01cbf4eaf9b7fc59abddfcbaf5bbd52f9a633c6528cb183fd" + url: "https://github.com/tesseract-ocr/tesseract/archive/5.4.1.tar.gz" + sha256: "c4bc2a81c12a472f445b7c2fb4705a08bd643ef467f51ec84f0e148bd368051b" "5.4.0": url: "https://github.com/tesseract-ocr/tesseract/archive/5.4.0.tar.gz" sha256: "30ceffd9b86780f01cbf4eaf9b7fc59abddfcbaf5bbd52f9a633c6528cb183fd" @@ -27,10 +30,20 @@ sources: url: "https://github.com/tesseract-ocr/tesseract/archive/4.1.1.tar.gz" sha256: "2a66ff0d8595bff8f04032165e6c936389b1e5727c3ce5a27b3e059d218db1cb" patches: + "5.5.0": + - patch_file: "patches/0004-control-optimizations-5.4.0.patch" + patch_description: "fix condition for cpu optimizations" + patch_type: "portability" + - patch_file: "patches/0005-disable-install-pdb-5.5.0.patch" + patch_description: "disable installing PDB files" + patch_type: "portability" "5.4.1": - patch_file: "patches/0004-control-optimizations-5.4.0.patch" patch_description: "fix condition for cpu optimizations" patch_type: "portability" + - patch_file: "patches/0005-disable-install-pdb-5.4.1.patch" + patch_description: "disable installing PDB files" + patch_type: "portability" "5.4.0": - patch_file: "patches/0004-control-optimizations-5.4.0.patch" patch_description: "fix condition for cpu optimizations" diff --git a/recipes/tesseract/all/patches/0005-disable-install-pdb-5.4.1.patch b/recipes/tesseract/all/patches/0005-disable-install-pdb-5.4.1.patch new file mode 100644 index 0000000000000..17461653a60f4 --- /dev/null +++ b/recipes/tesseract/all/patches/0005-disable-install-pdb-5.4.1.patch @@ -0,0 +1,179 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0dec189..70a11c0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -927,7 +927,7 @@ install( + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig + RENAME tesseract.pc) + install(TARGETS tesseract DESTINATION bin) +-if (MSVC) ++if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + install( +@@ -937,7 +937,7 @@ install( + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +-if (MSVC) ++if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + install( +diff --git a/src/training/CMakeLists.txt b/src/training/CMakeLists.txt +index 7fbf021..97fb7a4 100644 +--- a/src/training/CMakeLists.txt ++++ b/src/training/CMakeLists.txt +@@ -126,7 +126,7 @@ install( + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + generate_export_header(common_training EXPORT_MACRO_NAME + TESS_COMMON_TRAINING_API) +-if (MSVC) ++if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + project_group(common_training "Training Tools") +@@ -144,7 +144,7 @@ if(NOT DISABLED_LEGACY_ENGINE) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + endif() +@@ -162,7 +162,7 @@ if(NOT DISABLED_LEGACY_ENGINE) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + endif() +@@ -179,7 +179,7 @@ install( + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +-if (MSVC) ++if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -196,7 +196,7 @@ if(NOT DISABLED_LEGACY_ENGINE) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + endif() +@@ -213,7 +213,7 @@ install( + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +-if (MSVC) ++if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -230,7 +230,7 @@ if(NOT DISABLED_LEGACY_ENGINE) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + endif() +@@ -248,7 +248,7 @@ if(NOT DISABLED_LEGACY_ENGINE) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + endif() +@@ -265,7 +265,7 @@ install( + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +-if (MSVC) ++if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -298,7 +298,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + generate_export_header(unicharset_training EXPORT_MACRO_NAME +@@ -317,7 +317,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -333,7 +333,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -349,7 +349,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -365,7 +365,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -381,7 +381,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -398,7 +398,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -457,7 +457,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + endif() diff --git a/recipes/tesseract/all/patches/0005-disable-install-pdb-5.5.0.patch b/recipes/tesseract/all/patches/0005-disable-install-pdb-5.5.0.patch new file mode 100644 index 0000000000000..4f18422a50e90 --- /dev/null +++ b/recipes/tesseract/all/patches/0005-disable-install-pdb-5.5.0.patch @@ -0,0 +1,179 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6cb5a6c..1802e38 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -925,7 +925,7 @@ install( + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig + RENAME tesseract.pc) + install(TARGETS tesseract DESTINATION bin) +-if (MSVC) ++if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + install( +@@ -935,7 +935,7 @@ install( + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +-if (MSVC AND BUILD_SHARED_LIBS) ++if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + install( +diff --git a/src/training/CMakeLists.txt b/src/training/CMakeLists.txt +index c764442..97fb7a4 100644 +--- a/src/training/CMakeLists.txt ++++ b/src/training/CMakeLists.txt +@@ -126,7 +126,7 @@ install( + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + generate_export_header(common_training EXPORT_MACRO_NAME + TESS_COMMON_TRAINING_API) +-if (MSVC AND BUILD_SHARED_LIBS) ++if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + project_group(common_training "Training Tools") +@@ -144,7 +144,7 @@ if(NOT DISABLED_LEGACY_ENGINE) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + endif() +@@ -162,7 +162,7 @@ if(NOT DISABLED_LEGACY_ENGINE) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + endif() +@@ -179,7 +179,7 @@ install( + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +-if (MSVC) ++if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -196,7 +196,7 @@ if(NOT DISABLED_LEGACY_ENGINE) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + endif() +@@ -213,7 +213,7 @@ install( + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +-if (MSVC) ++if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -230,7 +230,7 @@ if(NOT DISABLED_LEGACY_ENGINE) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + endif() +@@ -248,7 +248,7 @@ if(NOT DISABLED_LEGACY_ENGINE) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + endif() +@@ -265,7 +265,7 @@ install( + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +-if (MSVC) ++if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -298,7 +298,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +- if (MSVC AND BUILD_SHARED_LIBS) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + generate_export_header(unicharset_training EXPORT_MACRO_NAME +@@ -317,7 +317,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -333,7 +333,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -349,7 +349,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -365,7 +365,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -381,7 +381,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -398,7 +398,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + +@@ -457,7 +457,7 @@ if(ICU_FOUND) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +- if (MSVC) ++ if (0) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + endif() diff --git a/recipes/tesseract/config.yml b/recipes/tesseract/config.yml index 2a1c379104746..231de224a5d0c 100644 --- a/recipes/tesseract/config.yml +++ b/recipes/tesseract/config.yml @@ -1,4 +1,6 @@ versions: + "5.5.0": + folder: all "5.4.1": folder: all "5.4.0": diff --git a/recipes/tgbot/all/test_v1_package/CMakeLists.txt b/recipes/tgbot/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/tgbot/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tgbot/all/test_v1_package/conanfile.py b/recipes/tgbot/all/test_v1_package/conanfile.py deleted file mode 100644 index 80f8edbcec938..0000000000000 --- a/recipes/tgbot/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package_multi", "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/tgc/all/test_v1_package/CMakeLists.txt b/recipes/tgc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tgc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tgc/all/test_v1_package/conanfile.py b/recipes/tgc/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tgc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/thelink2012-any/all/test_v1_package/CMakeLists.txt b/recipes/thelink2012-any/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/thelink2012-any/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/thelink2012-any/all/test_v1_package/conanfile.py b/recipes/thelink2012-any/all/test_v1_package/conanfile.py deleted file mode 100644 index 6b551939fbde3..0000000000000 --- a/recipes/thelink2012-any/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - -class TestConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/thorvg/all/conandata.yml b/recipes/thorvg/all/conandata.yml index 54a4d7a98be69..06a5832709b16 100644 --- a/recipes/thorvg/all/conandata.yml +++ b/recipes/thorvg/all/conandata.yml @@ -1,22 +1,16 @@ sources: + "0.15.4": + url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.15.4.tar.gz" + sha256: "3031a3e070322194fc5368419e996420f05f26ec2ec8137beca17eba5e5e8a58" + "0.15.3": + url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.15.3.tar.gz" + sha256: "c3d57167a54f0ecc3ead8bb33340593acc00bcd8477e784287307bc4e2c82b38" + "0.14.10": + url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.10.tar.gz" + sha256: "e11e2e27ef26ed018807e828cce3bca1fb9a7f25683a152c9cd1f7aac9f3b67a" "0.14.6": url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.6.tar.gz" sha256: "13d7778968ce10f4f7dd1ea1f66861d4ee8ff22f669566992b4ac00e050496cf" - "0.14.5": - url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.5.tar.gz" - sha256: "a007c548e39b0fad5d66ce9cf71244d3d219d9188fd80ccc049a5fa1b7f7aac2" - "0.14.4": - url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.4.tar.gz" - sha256: "0adabdb61395d9ad126c49ac80aa9c971ad7a37268a77a9712790a556df32838" - "0.14.2": - url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.2.tar.gz" - sha256: "04202e8f5e17b427c3b16ae3b3d4be5d3f3cdac96d5c64ed3efd7b6db3ad731f" - "0.14.1": - url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.1.tar.gz" - sha256: "9c0346fda8b62a3b13a764dda5784e0465c8cab54fb5342d0240c7fb40e415bd" - "0.14.0": - url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.14.0.tar.gz" - sha256: "6f186b53be3a0bd971dabde7a58022f43303467794e89e3641c774f38cdc2664" "0.13.8": url: "https://github.com/thorvg/thorvg/archive/refs/tags/v0.13.8.tar.gz" sha256: "ce49929a94d1686d4f1436da6ef5fa7a8439901c22b5fa0879d7d5879b8ba2bd" diff --git a/recipes/thorvg/all/conanfile.py b/recipes/thorvg/all/conanfile.py index 922751fa36250..f5807d200b459 100644 --- a/recipes/thorvg/all/conanfile.py +++ b/recipes/thorvg/all/conanfile.py @@ -21,7 +21,7 @@ class ThorvgConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/thorvg/thorvg" - topics = ("svg", "animation", "tvg") + topics = ("svg", "lottie", "animation", "graphics", "rendering") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -33,8 +33,7 @@ class ThorvgConan(ConanFile): "with_bindings": [False, 'capi', 'wasm_beta'], "with_tools": [False, 'svg2tvg', 'svg2png', 'lottie2gif', 'all'], "with_threads": [True, False], - "with_vector": [True, False], # removed in thorvg 0.13.1. Renamed to simd - "with_simd": [True, False], # legacy with_vector + "with_simd": [True, False], "with_examples": [True, False], "with_extra": [False, 'lottie_expressions'], } @@ -47,7 +46,6 @@ class ThorvgConan(ConanFile): "with_bindings": 'capi', "with_tools": False, "with_threads": True, - "with_vector": False, "with_simd": False, "with_examples": False, "with_extra": 'lottie_expressions', @@ -58,7 +56,6 @@ class ThorvgConan(ConanFile): "with_loaders": "Enable File Loaders in thorvg", "with_savers": "Enable File Savers in thorvg", "with_threads": "Enable the multi-threading task scheduler in thorvg", - "with_vector": "Enable CPU Vectorization(SIMD) in thorvg (renamed in 0.13.1 to 'simd')", "with_simd": "Enable CPU Vectorization(SIMD) in thorvg", "with_bindings": "Enable API bindings", "with_tools": "Enable building thorvg tools", @@ -84,13 +81,6 @@ def _compilers_minimum_version(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - # Renamed to simd in higher versions - if Version(self.version) > "0.13.0": - del self.options.with_vector - else: - del self.options.with_simd - if Version(self.version) < "0.13.3": - del self.options.with_extra def configure(self): if self.options.shared: @@ -131,9 +121,9 @@ def requirements(self): self.requires("opengl/system") def build_requirements(self): - self.tool_requires("meson/1.4.0") + self.tool_requires("meson/[>=1.2.3 <2]") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.1.0") + self.tool_requires("pkgconf/[>=2.2 <3]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -155,13 +145,9 @@ def generate(self): # Workaround to avoid: error D8016: '/O1' and '/RTC1' command-line options are incompatible if is_msvc(self) and is_debug: tc.project_options["optimization"] = "plain" - # vector option renamed to simd - if Version(self.version) > "0.13.0": - tc.project_options["simd"] = bool(self.options.with_simd) - else: - tc.project_options["vector"] = bool(self.options.with_vector) - if self.options.get_safe("with_extra") is not None: - tc.project_options["extra"] = str(self.options.with_extra) if self.options.with_extra else '' + tc.project_options["simd"] = bool(self.options.with_simd) + if self.options.with_extra: + tc.project_options["extra"] = str(self.options.with_extra) tc.generate() tc = PkgConfigDeps(self) tc.generate() @@ -173,6 +159,16 @@ def _patch_sources(self): if is_msvc(self) and self.options.shared: replace_in_file(self, os.path.join(self.source_folder, "meson.build"), ", 'strip=true'", "") + # TODO: As OpenMP is tagged as "required: false", let's disable it for now to avoid extra flags and requirements injections. + if Version(self.version) >= "0.15.1" and self.options.with_threads: + # Notice that the use of disabler() is not working here. If it's used, there is no targets to build. + replace_in_file(self, os.path.join(self.source_folder, "src", "renderer", "sw_engine", "meson.build"), + "omp_dep = dependency('openmp', required: false)", + "omp_dep = []") + replace_in_file(self, os.path.join(self.source_folder, "src", "renderer", "sw_engine", "meson.build"), + "omp_dep.found()", + "false") + def build(self): self._patch_sources() meson = Meson(self) diff --git a/recipes/thorvg/all/test_package/test_package.cpp b/recipes/thorvg/all/test_package/test_package.cpp index 7d7acdb5cafb7..9953a7b6e75e3 100644 --- a/recipes/thorvg/all/test_package/test_package.cpp +++ b/recipes/thorvg/all/test_package/test_package.cpp @@ -14,7 +14,7 @@ int main() { auto rect = tvg::Shape::gen(); // generate a shape rect->appendRect(50, 50, 200, 200, 20, 20); // define it as a rounded rectangle (x, y, w, h, rx, ry) rect->fill(100, 100, 100, 255); // set its color (r, g, b, a) - canvas->push(move(rect)); // push the rectangle into the canvas + canvas->push(std::move(rect)); // push the rectangle into the canvas auto circle = tvg::Shape::gen(); // generate a shape circle->appendCircle(400, 400, 100, 100); // define it as a circle (cx, cy, rx, ry) @@ -27,6 +27,6 @@ int main() { colorStops[1] = {1.0, 0, 0, 0, 255}; // 2nd color values (offset, r, g, b, a) fill->colorStops(colorStops, 2); // set the gradient colors info - circle->fill(move(fill)); // set the circle fill - canvas->push(move(circle)); // push the circle into the canvas + circle->fill(std::move(fill)); // set the circle fill + canvas->push(std::move(circle)); // push the circle into the canvas } diff --git a/recipes/thorvg/config.yml b/recipes/thorvg/config.yml index d575fd184ff22..8ba127d279335 100644 --- a/recipes/thorvg/config.yml +++ b/recipes/thorvg/config.yml @@ -1,15 +1,11 @@ versions: - "0.14.6": - folder: all - "0.14.5": + "0.15.4": folder: all - "0.14.4": + "0.15.3": folder: all - "0.14.2": + "0.14.10": folder: all - "0.14.1": - folder: all - "0.14.0": + "0.14.6": folder: all "0.13.8": folder: all diff --git a/recipes/threadpool/all/test_v1_package/CMakeLists.txt b/recipes/threadpool/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 338ffbb0c05f3..0000000000000 --- a/recipes/threadpool/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(ThreadPool REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE ThreadPool::ThreadPool) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/threadpool/all/test_v1_package/conanfile.py b/recipes/threadpool/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/threadpool/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/thrift/all/test_v1_package/CMakeLists.txt b/recipes/thrift/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/thrift/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/thrift/all/test_v1_package/conanfile.py b/recipes/thrift/all/test_v1_package/conanfile.py deleted file mode 100644 index 26e744ddda5b0..0000000000000 --- a/recipes/thrift/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - self.run("thrift --version", run_environment=True) diff --git a/recipes/tidy-html5/all/test_v1_package/CMakeLists.txt b/recipes/tidy-html5/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/tidy-html5/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tidy-html5/all/test_v1_package/conanfile.py b/recipes/tidy-html5/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/tidy-html5/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tiledb/all/conandata.yml b/recipes/tiledb/all/conandata.yml new file mode 100644 index 0000000000000..9683a1cfcc4e0 --- /dev/null +++ b/recipes/tiledb/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.26.1": + url: "https://github.com/TileDB-Inc/TileDB/archive/refs/tags/2.26.1.tar.gz" + sha256: "f90461850c6f87f63fe77788d7932fd53a4d1de7e2ba7263f5e8f2fd1df23e38" diff --git a/recipes/tiledb/all/conanfile.py b/recipes/tiledb/all/conanfile.py new file mode 100644 index 0000000000000..3a434ad427fa5 --- /dev/null +++ b/recipes/tiledb/all/conanfile.py @@ -0,0 +1,275 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd, stdcpp_library +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get, copy, rmdir, replace_in_file, save +from conan.tools.gnu import PkgConfigDeps +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + +class TileDBConan(ConanFile): + name = "tiledb" + description = ("TileDB is a powerful engine for storing and accessing dense and sparse multi-dimensional arrays, " + "which can help you model any complex data efficiently.") + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/TileDB-Inc/TileDB" + topics = ("data-science", "storage-engine", "s3", "sparse-data", "scientific-computing", "s3-storage", + "arrays", "data-analysis", "dataframes", "dense-data", "sparse-arrays") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "cpp_api": [True, False], + "s3": [True, False], + "azure": [True, False], + "gcs": [True, False], + "serialization": [True, False], + "webp": [True, False], + "tools": [True, False], + "remove_deprecations": [True, False], + "verbose": [True, False], + "stats": [True, False], + "experimental_features": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "cpp_api": True, + "s3": False, + "azure": False, + "gcs": False, + "serialization": False, + "webp": True, + "tools": False, + "remove_deprecations": False, + "verbose": False, + "stats": True, + "experimental_features": False, + } + options_description = { + "cpp_api": "Enable building of the TileDB C++ API", + "s3": "Support AWS S3 Storage", + "azure": "Support Azure Blob Storage", + "gcs": "Support Google Cloud Storage", + "serialization": "Enable TileDB Cloud support by building with support for query serialization.", + "webp": "Support WebP compression", + "tools": "Build tiledb command-line tool", + "remove_deprecations": "Do not build deprecated APIs", + "verbose": "Print TileDB errors with verbosity", + "stats": "Enable internal TileDB statistics gathering", + "experimental_features": "Build and include experimental features", + } + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + # https://github.com/TileDB-Inc/TileDB/blob/2.21.0/doc/dev/BUILD.md#prerequisites + return { + "gcc": "10", + "clang": "10", + "apple-clang": "14", + "msvc": "192", + "Visual Studio": "16", + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + if self.options.serialization: + self.options["libcurl"].with_zstd = True + if self.options.azure: + self.options["azure-sdk-for-cpp"]["azure-storage-blobs"] = True + if self.options.s3: + self.options["aws-sdk-cpp"].s3 = True + self.options["aws-sdk-cpp"]["identity-management"] = True + self.options["aws-sdk-cpp"].sts = True + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + # TileDB has no transitive header deps + self.requires("bzip2/1.0.8") + self.requires("libxml2/[>=2.12.5 <3]") + self.requires("lz4/1.9.4") + self.requires("spdlog/1.14.1") + self.requires("xz_utils/[>=5.4.5 <6]") + self.requires("zlib/[>=1.2.11 <2]") + self.requires("zstd/[^1.5]") + if self.settings.os != "Windows": + self.requires("openssl/[>=1.1 <4]") + self.requires("libmagic/5.45") + if self.options.azure: + self.requires("azure-sdk-for-cpp/1.11.3") + if self.options.gcs: + self.requires("google-cloud-cpp/2.28.0") + if self.options.serialization: + self.requires("capnproto/1.0.2") + self.requires("libcurl/[>=7.78 <9]") + if self.options.s3: + self.requires("aws-sdk-cpp/1.11.352") + if self.options.tools: + self.requires("clipp/1.2.3") + if self.options.webp: + self.requires("libwebp/1.4.0") + + # TODO: unvendor + # - bitshuffle + # - blosc + # - boost::interprocess + # - nlohmann_json + # - tcb-span + + 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." + ) + + if self.options.serialization and not self.dependencies["libcurl"].options.with_zstd: + raise ConanInvalidConfiguration("TileDB serialization requires libcurl with with_zstd option enabled.") + if self.options.s3: + aws_opts = self.dependencies["aws-sdk-cpp"].options + if not (aws_opts.get_safe("s3") and aws_opts.get_safe("identity-management") and aws_opts.get_safe("sts")): + raise ConanInvalidConfiguration( + f"TileDB S3 support requires aws-sdk-cpp with 's3', 'identity-management' and 'sts' options enabled." + ) + + def build_requirements(self): + self.tool_requires("cmake/[>=3.21 <4]") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/[>=2.2 <3]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + # https://github.com/TileDB-Inc/TileDB/blob/2.26.1/cmake/Options/BuildOptions.cmake + tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared + tc.cache_variables["TILEDB_AZURE"] = self.options.azure + tc.cache_variables["TILEDB_CPP_API"] = self.options.cpp_api + tc.cache_variables["TILEDB_DISABLE_AUTO_VCPKG"] = True + tc.cache_variables["TILEDB_EXPERIMENTAL_FEATURES"] = self.options.experimental_features + tc.cache_variables["TILEDB_GCS"] = self.options.gcs + tc.cache_variables["TILEDB_INSTALL_LIBDIR"] = os.path.join(self.package_folder, "lib") + tc.cache_variables["TILEDB_REMOVE_DEPRECATIONS"] = self.options.remove_deprecations + tc.cache_variables["TILEDB_S3"] = self.options.s3 + tc.cache_variables["TILEDB_SERIALIZATION"] = self.options.serialization + tc.cache_variables["TILEDB_STATS"] = self.options.stats + tc.cache_variables["TILEDB_TESTS"] = False + tc.cache_variables["TILEDB_TOOLS"] = self.options.tools + tc.cache_variables["TILEDB_VERBOSE"] = self.options.verbose + tc.cache_variables["TILEDB_WEBP"] = self.options.webp + tc.cache_variables["TILEDB_WERROR"] = False + # Disable ExternalProject just in case + tc.cache_variables["FETCHCONTENT_FULLY_DISCONNECTED"] = True + tc.cache_variables["libmagic_DICTIONARY"] = os.path.join(self.dependencies["libmagic"].package_folder, "res", "magic.mgc").replace("\\", "/") + tc.generate() + + deps = CMakeDeps(self) + conan_to_cmake_name = { + "aws-sdk-cpp": "AWSSDK", + "azure-sdk-for-cpp": "azure-storage-blobs-cpp", + "bzip2": "BZip2", + "capnproto": "CapnProto", + "clipp": "clipp", + "google-cloud-cpp": "google_cloud_cpp_storage", + "libcurl": "CURL", + "libmagic": "unofficial-libmagic", + "libwebp": "WebP", + "libxml2": "LibXml2", + "lz4": "lz4", + "openssl": "OpenSSL", + "spdlog": "spdlog", + "zlib": "ZLIB", + "zstd": "zstd", + } + for conan_name, cmake_name in conan_to_cmake_name.items(): + deps.set_property(conan_name, "cmake_file_name", cmake_name) + + renamed_targets = { + "azure-sdk-for-cpp::azure-storage-blobs": "Azure::azure-storage-blobs", + "bzip2": "BZip2::BZip2", + "clipp": "clipp::clipp", + "google-cloud-cpp::storage": "google-cloud-cpp::storage", + "libmagic": "unofficial::libmagic::libmagic", + "libwebp::webp": "WebP::webp", + "libwebp::webpdecoder": "WebP::webpdecoder", + "libwebp::webpdemux": "WebP::webpdemux", + "libwebp::webpmux": "WebP::libwebpmux", + "lz4": "LZ4::LZ4", + "zlib": "ZLIB::ZLIB", + "zstd": "Zstd::Zstd", + } + for component, new_target_name in renamed_targets.items(): + deps.set_property(component, "cmake_target_name", new_target_name) + + deps.generate() + + deps = PkgConfigDeps(self) + deps.generate() + + def _patch_sources(self): + # Disable examples + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "add_subdirectory(examples)", "") + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "add_subdirectory(experimental/experimental_examples)", "") + # Don't actually run vcpkg + save(self, os.path.join(self.source_folder, "cmake", "Options", "TileDBToolchain.cmake"), "") + # No such target defined in CCI + if self.options.serialization: + capnproto_bindir = self.dependencies['capnproto'].cpp_info.bindir + replace_in_file(self, os.path.join(self.source_folder, "tiledb", "CMakeLists.txt"), + "set(CAPNP_PLUGIN_DIR $)", + f'set(CAPNP_PLUGIN_DIR "{capnproto_bindir}")') + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + # tools are not installed by CMake + if self.options.tools: + suffix = ".exe" if self.settings.os == "Windows" else "" + copy(self, f"tiledb{suffix}", + src=os.path.join(self.build_folder, "tools"), + dst=os.path.join(self.package_folder, "bin"), + keep_path=False) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "TileDB") + suffix = "shared" if self.options.shared else "static" + self.cpp_info.set_property("cmake_target_name", f"TileDB::tiledb_{suffix}") + self.cpp_info.set_property("cmake_target_aliases", ["TileDB::tiledb"]) + self.cpp_info.set_property("pkg_config_name", "tiledb") + + self.cpp_info.libs = ["tiledb"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["m", "pthread", "dl"]) + if stdcpp_library(self): + self.cpp_info.system_libs.append(stdcpp_library(self)) diff --git a/recipes/tiledb/all/test_package/CMakeLists.txt b/recipes/tiledb/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..6de1a132987e0 --- /dev/null +++ b/recipes/tiledb/all/test_package/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX C) + +find_package(TileDB REQUIRED CONFIG) + +if (TILEDB_CPP_API) + add_executable(${PROJECT_NAME}_cpp test_package.cpp) + target_link_libraries(${PROJECT_NAME}_cpp PRIVATE TileDB::tiledb) + target_compile_features(${PROJECT_NAME}_cpp PRIVATE cxx_std_17) +endif() + +add_executable(${PROJECT_NAME}_c test_package.c) +target_link_libraries(${PROJECT_NAME}_c PRIVATE TileDB::tiledb) +target_compile_features(${PROJECT_NAME}_c PRIVATE c_std_99) diff --git a/recipes/tiledb/all/test_package/conanfile.py b/recipes/tiledb/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e12ef4e9a27cb --- /dev/null +++ b/recipes/tiledb/all/test_package/conanfile.py @@ -0,0 +1,42 @@ +import os + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain +from conan.tools.files import save, load + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str, run=True) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["TILEDB_CPP_API"] = self.dependencies["tiledb"].options.cpp_api + tc.generate() + save(self, os.path.join(self.build_folder, "have_tools"), str(self.dependencies["tiledb"].options.tools)) + + 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_cpp") + if os.path.exists(bin_path): + self.run(bin_path, env="conanrun") + + bin_path = os.path.join(self.cpp.build.bindir, "test_package_c") + self.run(bin_path, env="conanrun") + + have_tools = load(self, os.path.join(self.build_folder, "have_tools")) == "True" + if have_tools: + self.run("tiledb help info", env="conanrun") diff --git a/recipes/tiledb/all/test_package/test_package.c b/recipes/tiledb/all/test_package/test_package.c new file mode 100644 index 0000000000000..399f427b0fe86 --- /dev/null +++ b/recipes/tiledb/all/test_package/test_package.c @@ -0,0 +1,15 @@ +#include + +#include + +int main() { + tiledb_ctx_t* ctx; + tiledb_ctx_alloc(NULL, &ctx); + tiledb_ctx_free(&ctx); + + int32_t major, minor, rev; + tiledb_version(&major, &minor, &rev); + printf("TileDB version: %d.%d.%d\n", major, minor, rev); + + return 0; +} diff --git a/recipes/tiledb/all/test_package/test_package.cpp b/recipes/tiledb/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..a8b39dd993dc1 --- /dev/null +++ b/recipes/tiledb/all/test_package/test_package.cpp @@ -0,0 +1,14 @@ +#include + +#include + +int main() { + tiledb::Context ctx; + + auto version = tiledb::version(); + std::cout << "TileDB version: " + << std::get<0>(version) << "." << std::get<1>(version) << "." << std::get<2>(version) + << std::endl; + + return 0; +} diff --git a/recipes/tiledb/config.yml b/recipes/tiledb/config.yml new file mode 100644 index 0000000000000..a6f63ba7f5ece --- /dev/null +++ b/recipes/tiledb/config.yml @@ -0,0 +1,3 @@ +versions: + "2.26.1": + folder: all diff --git a/recipes/timsort/all/conandata.yml b/recipes/timsort/all/conandata.yml index 494ae5cf97b30..0a421d85bab63 100644 --- a/recipes/timsort/all/conandata.yml +++ b/recipes/timsort/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.0": + url: "https://github.com/timsort/cpp-TimSort/archive/v3.0.0.tar.gz" + sha256: "d61b92850996305e5248d1621c8ac437c31b474f74907e223019739e2e556b1f" "2.1.0": url: "https://github.com/timsort/cpp-TimSort/archive/v2.1.0.tar.gz" sha256: "b16606f85316d9a3cfde638c02dd9ce23324b0a904bb020e4ad2497cb8cf9ebd" diff --git a/recipes/timsort/all/conanfile.py b/recipes/timsort/all/conanfile.py index 9df11dc1a164c..2cf482ec5ce9d 100644 --- a/recipes/timsort/all/conanfile.py +++ b/recipes/timsort/all/conanfile.py @@ -5,20 +5,28 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.50.0" +required_conan_version = ">=2.0.9" class TimsortConan(ConanFile): name = "timsort" description = "A C++ implementation of timsort" - topics = ("sorting", "algorithms") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/timsort/cpp-TimSort" - license = "MIT" + topics = ("sorting", "algorithms", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _min_cppstd(self): + if Version(self.version) < "2.0.0": + return "98" + if Version(self.version) < "3.0.0": + return "11" + return "20" + def layout(self): basic_layout(self, src_folder="src") @@ -26,9 +34,7 @@ def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler.get_safe("cppstd"): - if Version(self.version) >= "2.0.0": - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -43,14 +49,6 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "gfx-timsort") self.cpp_info.set_property("cmake_target_name", "gfx::timsort") + self.cpp_info.components["gfx-timsort"].set_property("cmake_target_name", "gfx::timsort") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.filenames["cmake_find_package"] = "gfx-timsort" - self.cpp_info.filenames["cmake_find_package_multi"] = "gfx-timsort" - self.cpp_info.names["cmake_find_package"] = "gfx" - self.cpp_info.names["cmake_find_package_multi"] = "gfx" - self.cpp_info.components["gfx-timsort"].names["cmake_find_package"] = "timsort" - self.cpp_info.components["gfx-timsort"].names["cmake_find_package_multi"] = "timsort" - self.cpp_info.components["gfx-timsort"].set_property("cmake_target_name", "gfx::timsort") diff --git a/recipes/timsort/all/test_package/CMakeLists.txt b/recipes/timsort/all/test_package/CMakeLists.txt index 0e39263ef4095..a73e92bb7c600 100644 --- a/recipes/timsort/all/test_package/CMakeLists.txt +++ b/recipes/timsort/all/test_package/CMakeLists.txt @@ -5,4 +5,4 @@ find_package(gfx-timsort REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE gfx::timsort) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/timsort/all/test_v1_package/CMakeLists.txt b/recipes/timsort/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/timsort/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/timsort/all/test_v1_package/conanfile.py b/recipes/timsort/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/timsort/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/timsort/config.yml b/recipes/timsort/config.yml index 798460e5d36d8..81269db497bd6 100644 --- a/recipes/timsort/config.yml +++ b/recipes/timsort/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.0": + folder: all "2.1.0": folder: all "2.0.2": diff --git a/recipes/tinkerforge-bindings/all/test_v1_package/CMakeLists.txt b/recipes/tinkerforge-bindings/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/tinkerforge-bindings/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tinkerforge-bindings/all/test_v1_package/conanfile.py b/recipes/tinkerforge-bindings/all/test_v1_package/conanfile.py deleted file mode 100644 index 9b63bd176646b..0000000000000 --- a/recipes/tinkerforge-bindings/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/tiny-aes-c/all/test_v1_package/CMakeLists.txt b/recipes/tiny-aes-c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tiny-aes-c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tiny-aes-c/all/test_v1_package/conanfile.py b/recipes/tiny-aes-c/all/test_v1_package/conanfile.py deleted file mode 100644 index 43f372e78e8c3..0000000000000 --- a/recipes/tiny-aes-c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package_c") - self.run(bin_path, run_environment=True) - bin_path = os.path.join("bin", "test_package_cpp") - self.run(bin_path, run_environment=True) diff --git a/recipes/tiny-bignum-c/all/test_v1_package/CMakeLists.txt b/recipes/tiny-bignum-c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tiny-bignum-c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tiny-bignum-c/all/test_v1_package/conanfile.py b/recipes/tiny-bignum-c/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tiny-bignum-c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tiny-dnn/all/test_v1_package/CMakeLists.txt b/recipes/tiny-dnn/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/tiny-dnn/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tiny-dnn/all/test_v1_package/conanfile.py b/recipes/tiny-dnn/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tiny-dnn/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tiny-regex-c/all/test_v1_package/CMakeLists.txt b/recipes/tiny-regex-c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tiny-regex-c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tiny-regex-c/all/test_v1_package/conanfile.py b/recipes/tiny-regex-c/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tiny-regex-c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tiny-utf8/all/test_v1_package/CMakeLists.txt b/recipes/tiny-utf8/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 5cf8cfb85bc6b..0000000000000 --- a/recipes/tiny-utf8/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(tinyutf8 REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE tinyutf8::tinyutf8) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/tiny-utf8/all/test_v1_package/conanfile.py b/recipes/tiny-utf8/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tiny-utf8/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tinyad/all/conandata.yml b/recipes/tinyad/all/conandata.yml new file mode 100644 index 0000000000000..a2c45fe6ad86b --- /dev/null +++ b/recipes/tinyad/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20240718": + url: "https://github.com/patr-schm/TinyAD/archive/29417031c185b6dc27b6d4b684550d844459b735.tar.gz" + sha256: "0458b9aabd31bff079aa5e9e559bd4753744c29f9ffce9d06a6510409c92e221" \ No newline at end of file diff --git a/recipes/tinyad/all/conanfile.py b/recipes/tinyad/all/conanfile.py new file mode 100644 index 0000000000000..a71ac5080cf3f --- /dev/null +++ b/recipes/tinyad/all/conanfile.py @@ -0,0 +1,68 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + + +class TinyADConan(ConanFile): + name = "tinyad" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/patr-schm/TinyAD" + description = "TinyAD is a C++ header-only library for second-order automatic differentiation" + topics = ("algebra", "linear-algebra", "optimization", "autodiff", "numerical", "header-only") + package_type = "header-library" + license = ("MIT") + settings = "os", "arch", "compiler", "build_type" + + def requirements(self): + self.requires("eigen/3.4.0") + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "7", + "apple-clang": "12.0", + "Visual Studio": "15", + "msvc": "191", + } + + def validate(self): + required_min_cppstd = "17" + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, required_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++{required_min_cppstd}, which your compiler does not support." + ) + + def package_id(self): + self.info.clear() + + def source(self): + get(self, **self.conan_data["sources"][self.version], + destination=self.source_folder, strip_root=True) + + def package(self): + # The project has a CMakelists.txt file, but it doesn't have "install" logic + # so we just copy the headers to the package folder + copy(self, "include/**", src=self.source_folder, dst=self.package_folder) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "TinyAD") + self.cpp_info.set_property("cmake_target_name", "TinyAD") + + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if is_msvc(self): + # https://github.com/patr-schm/TinyAD/blob/29417031c185b6dc27b6d4b684550d844459b735/CMakeLists.txt#L35 + self.cpp_info.cxxflags.append("/bigobj") diff --git a/recipes/tinyad/all/test_package/CMakeLists.txt b/recipes/tinyad/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..3deb656633e62 --- /dev/null +++ b/recipes/tinyad/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES CXX) + +find_package(TinyAD REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE TinyAD) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/tinyad/all/test_package/conanfile.py b/recipes/tinyad/all/test_package/conanfile.py new file mode 100644 index 0000000000000..c0ba081cf41ea --- /dev/null +++ b/recipes/tinyad/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +import os + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun") diff --git a/recipes/tinyad/all/test_package/test_package.cpp b/recipes/tinyad/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..2b49f0bdc7ad9 --- /dev/null +++ b/recipes/tinyad/all/test_package/test_package.cpp @@ -0,0 +1,21 @@ +#include +#include +#include + +int main(void) { + // Choose autodiff scalar type for 3 variables + using ADouble = TinyAD::Double<3>; + + // Init a 3D vector of active variables and a 3D vector of passive variables + Eigen::Vector3 x = ADouble::make_active({0.0, -1.0, 1.0}); + Eigen::Vector3 y(2.0, 3.0, 5.0); + + // Compute angle using Eigen functions and retrieve gradient and Hessian w.r.t. x + ADouble angle = acos(x.dot(y) / (x.norm() * y.norm())); + Eigen::Vector3d g = angle.grad; + Eigen::Matrix3d H = angle.Hess; + + std::cout << "TinyAD test package successful \n"; + + return 0; +} diff --git a/recipes/tinyad/config.yml b/recipes/tinyad/config.yml new file mode 100644 index 0000000000000..ade632d071b81 --- /dev/null +++ b/recipes/tinyad/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20240718": + folder: all diff --git a/recipes/tinyalsa/all/test_v1_package/CMakeLists.txt b/recipes/tinyalsa/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tinyalsa/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tinyalsa/all/test_v1_package/conanfile.py b/recipes/tinyalsa/all/test_v1_package/conanfile.py deleted file mode 100644 index bb566468b9731..0000000000000 --- a/recipes/tinyalsa/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/tinycbor/all/test_v1_package/CMakeLists.txt b/recipes/tinycbor/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tinycbor/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tinycbor/all/test_v1_package/conanfile.py b/recipes/tinycbor/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tinycbor/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tinycthread/all/test_v1_package/CMakeLists.txt b/recipes/tinycthread/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/tinycthread/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tinycthread/all/test_v1_package/conanfile.py b/recipes/tinycthread/all/test_v1_package/conanfile.py deleted file mode 100644 index a500b98343c74..0000000000000 --- a/recipes/tinycthread/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tinycthreadpool/all/test_v1_package/CMakeLists.txt b/recipes/tinycthreadpool/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/tinycthreadpool/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tinycthreadpool/all/test_v1_package/conanfile.py b/recipes/tinycthreadpool/all/test_v1_package/conanfile.py deleted file mode 100644 index 2a41ea908ed28..0000000000000 --- a/recipes/tinycthreadpool/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/tinydir/all/test_v1_package/CMakeLists.txt b/recipes/tinydir/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/tinydir/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tinydir/all/test_v1_package/conanfile.py b/recipes/tinydir/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tinydir/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tinydir/all/test_v1_package/test_package.c b/recipes/tinydir/all/test_v1_package/test_package.c deleted file mode 100644 index cc0003c9c9d0c..0000000000000 --- a/recipes/tinydir/all/test_v1_package/test_package.c +++ /dev/null @@ -1,27 +0,0 @@ -#include -#include - -#include "tinydir.h" - -int main() -{ - tinydir_dir dir; - tinydir_open(&dir, "."); - - while (dir.has_next) - { - tinydir_file file; - tinydir_readfile(&dir, &file); - - printf("%s", file.name); - if (file.is_dir) - { - printf("/"); - } - printf("\n"); - - tinydir_next(&dir); - } - - tinydir_close(&dir); -} diff --git a/recipes/tinyexif/all/test_v1_package/CMakeLists.txt b/recipes/tinyexif/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/tinyexif/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tinyexif/all/test_v1_package/conanfile.py b/recipes/tinyexif/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/tinyexif/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tinyexr/all/test_v1_package/CMakeLists.txt b/recipes/tinyexr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/tinyexr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tinyexr/all/test_v1_package/conanfile.py b/recipes/tinyexr/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/tinyexr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tinygltf/all/test_v1_package/CMakeLists.txt b/recipes/tinygltf/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tinygltf/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tinygltf/all/test_v1_package/conanfile.py b/recipes/tinygltf/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tinygltf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tinymidi/all/test_v1_package/CMakeLists.txt b/recipes/tinymidi/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tinymidi/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tinymidi/all/test_v1_package/conanfile.py b/recipes/tinymidi/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tinymidi/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tinyobjloader/all/test_v1_package/CMakeLists.txt b/recipes/tinyobjloader/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tinyobjloader/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tinyobjloader/all/test_v1_package/conanfile.py b/recipes/tinyobjloader/all/test_v1_package/conanfile.py deleted file mode 100644 index 159afa2f8c340..0000000000000 --- a/recipes/tinyobjloader/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - res_dir = os.path.join(self.source_folder, os.pardir, "test_package") - obj_path = os.path.join(res_dir, "cube.obj") - mtl_dir = os.path.join(res_dir, "") - self.run(f"{bin_path} {obj_path} {mtl_dir}", run_environment=True) diff --git a/recipes/tinyply/all/test_v1_package/CMakeLists.txt b/recipes/tinyply/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tinyply/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tinyply/all/test_v1_package/conanfile.py b/recipes/tinyply/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tinyply/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tinyspline/all/test_v1_package/CMakeLists.txt b/recipes/tinyspline/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/tinyspline/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tinyspline/all/test_v1_package/conanfile.py b/recipes/tinyspline/all/test_v1_package/conanfile.py deleted file mode 100644 index f0e24ab54dc38..0000000000000 --- a/recipes/tinyspline/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["TINYSPLINE_CXX"] = self.options["tinyspline"].cxx - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_c_path = os.path.join("bin", "test_package_c") - self.run(bin_c_path, run_environment=True) - if self.options["tinyspline"].cxx: - bin_cpp_path = os.path.join("bin", "test_package_cpp") - self.run(bin_cpp_path, run_environment=True) diff --git a/recipes/tinyxml/all/test_v1_package/CMakeLists.txt b/recipes/tinyxml/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index f0821ea56fd5b..0000000000000 --- a/recipes/tinyxml/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(TinyXML REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE TinyXML::TinyXML) diff --git a/recipes/tinyxml/all/test_v1_package/conanfile.py b/recipes/tinyxml/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tinyxml/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tinyxml2/all/test_v1_package/CMakeLists.txt b/recipes/tinyxml2/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tinyxml2/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tinyxml2/all/test_v1_package/conanfile.py b/recipes/tinyxml2/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tinyxml2/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tixi3/all/conanfile.py b/recipes/tixi3/all/conanfile.py index 51cfcf9ef724f..d67da63a2bb15 100644 --- a/recipes/tixi3/all/conanfile.py +++ b/recipes/tixi3/all/conanfile.py @@ -34,7 +34,7 @@ def generate(self): def requirements(self): self.requires("libxml2/[>=2.12.5 <3]") - self.requires("libxslt/1.1.39") + self.requires("libxslt/1.1.42") self.requires("libcurl/[>=7.78.0 <9]") def layout(self): diff --git a/recipes/tl-expected/all/test_v1_package/CMakeLists.txt b/recipes/tl-expected/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9e3965ccc9cc1..0000000000000 --- a/recipes/tl-expected/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(tl-expected REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE tl::expected) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/tl-expected/all/test_v1_package/conanfile.py b/recipes/tl-expected/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tl-expected/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tl-function-ref/all/test_v1_package/CMakeLists.txt b/recipes/tl-function-ref/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7b288bff158e7..0000000000000 --- a/recipes/tl-function-ref/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(tl-function-ref REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE tl::function-ref) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/tl-function-ref/all/test_v1_package/conanfile.py b/recipes/tl-function-ref/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tl-function-ref/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tl-optional/all/test_v1_package/CMakeLists.txt b/recipes/tl-optional/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index ea7e390161229..0000000000000 --- a/recipes/tl-optional/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(tl-optional REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE tl::optional) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/tl-optional/all/test_v1_package/conanfile.py b/recipes/tl-optional/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tl-optional/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tl-ranges/all/conandata.yml b/recipes/tl-ranges/all/conandata.yml new file mode 100644 index 0000000000000..52e4715a40621 --- /dev/null +++ b/recipes/tl-ranges/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20221207": + url: "https://github.com/TartanLlama/ranges/archive/361dae81e48ea9d0099e8783b56b903c2a6cd01c.tar.gz" + sha256: "9174e368d1f6e89d2ab5b059454dc402e68afdfe6d9bf5376d6634dab7aa2a36" diff --git a/recipes/tl-ranges/all/conanfile.py b/recipes/tl-ranges/all/conanfile.py new file mode 100644 index 0000000000000..a6ce8136be512 --- /dev/null +++ b/recipes/tl-ranges/all/conanfile.py @@ -0,0 +1,65 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + +class TLRangesConan(ConanFile): + name = "tl-ranges" + description = "Ranges that didn't make C++20" + license = "CC0-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/TartanLlama/ranges" + topics = ("ranges", "views", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "11", + "clang": "15", + "apple-clang": "14", + "Visual Studio": "16", + "msvc": "192", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("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, "COPYING", 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"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/tl-ranges/all/test_package/CMakeLists.txt b/recipes/tl-ranges/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..03b4aa241a9d0 --- /dev/null +++ b/recipes/tl-ranges/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(tl-ranges REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE tl-ranges::tl-ranges) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/tl-ranges/all/test_package/conanfile.py b/recipes/tl-ranges/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/tl-ranges/all/test_package/conanfile.py @@ -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") diff --git a/recipes/tl-ranges/all/test_package/test_package.cpp b/recipes/tl-ranges/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..76c10d34a8bc4 --- /dev/null +++ b/recipes/tl-ranges/all/test_package/test_package.cpp @@ -0,0 +1,12 @@ +#include +#include + +#include "tl/enumerate.hpp" + +int main() { + std::vector data = {1, 2, 3, 4, 5}; + + for (auto&& [index, element] : data | tl::views::enumerate) { + std::cout << index << " " << element << '\n'; + } +} diff --git a/recipes/tl-ranges/config.yml b/recipes/tl-ranges/config.yml new file mode 100644 index 0000000000000..676cc76a125dc --- /dev/null +++ b/recipes/tl-ranges/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20221207": + folder: all diff --git a/recipes/tl/all/test_v1_package/CMakeLists.txt b/recipes/tl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 59fddf2767731..0000000000000 --- a/recipes/tl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(tl REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE tl::tl) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/tl/all/test_v1_package/conanfile.py b/recipes/tl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tllist/all/test_v1_package/CMakeLists.txt b/recipes/tllist/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/tllist/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tllist/all/test_v1_package/conanfile.py b/recipes/tllist/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/tllist/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tllist/all/test_v1_package/test_package.c b/recipes/tllist/all/test_v1_package/test_package.c deleted file mode 100644 index 77b3400127915..0000000000000 --- a/recipes/tllist/all/test_v1_package/test_package.c +++ /dev/null @@ -1,10 +0,0 @@ -#include -#include - -int main(int argc, const char *const *argv) { - tll(int) l = tll_init(); - - tll_push_back(l, 43); - - return EXIT_SUCCESS; -} diff --git a/recipes/tlx/all/test_v1_package/CMakeLists.txt b/recipes/tlx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tlx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tlx/all/test_v1_package/conanfile.py b/recipes/tlx/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tlx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tmx/all/test_v1_package/CMakeLists.txt b/recipes/tmx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7b3630d9b9ae2..0000000000000 --- a/recipes/tmx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(tmx REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE tmx) diff --git a/recipes/tmx/all/test_v1_package/conanfile.py b/recipes/tmx/all/test_v1_package/conanfile.py deleted file mode 100644 index 5654af76091cf..0000000000000 --- a/recipes/tmx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - tmx_path = os.path.join(self.source_folder, os.pardir, "test_package", "externtileset.tmx") - self.run(f"{bin_path} {tmx_path}", run_environment=True) diff --git a/recipes/tmxlite/all/test_v1_package/CMakeLists.txt b/recipes/tmxlite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index ca4979c8e62d9..0000000000000 --- a/recipes/tmxlite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(tmxlite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE tmxlite::tmxlite) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/tmxlite/all/test_v1_package/conanfile.py b/recipes/tmxlite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tmxlite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tng/all/test_v1_package/CMakeLists.txt b/recipes/tng/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tng/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tng/all/test_v1_package/conanfile.py b/recipes/tng/all/test_v1_package/conanfile.py deleted file mode 100644 index 2fc9de9b0d3fc..0000000000000 --- a/recipes/tng/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path , run_environment=True ) diff --git a/recipes/toml11/all/test_v1_package/CMakeLists.txt b/recipes/toml11/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/toml11/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/toml11/all/test_v1_package/conanfile.py b/recipes/toml11/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/toml11/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tomlplusplus/all/test_v1_package/CMakeLists.txt b/recipes/tomlplusplus/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index a6b6b2e67ed13..0000000000000 --- a/recipes/tomlplusplus/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) - diff --git a/recipes/tomlplusplus/all/test_v1_package/conanfile.py b/recipes/tomlplusplus/all/test_v1_package/conanfile.py deleted file mode 100644 index 0e8807dfd3ae4..0000000000000 --- a/recipes/tomlplusplus/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,27 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.scm import Version -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "8": - self.single_header_only = True - if hasattr(self, "single_header_only"): - cmake.definitions["TOMLPP_BUILD_SINGLE_ONLY"] = True - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - conf_path = os.path.join(self.source_folder, os.pardir, "test_package", "configuration.toml") - self.run(f"{bin_path} {conf_path}", run_environment=True) - if not hasattr(self, "single_header_only"): - bin_path = os.path.join("bin", "test_package_multi") - self.run(f"{bin_path} {conf_path}", run_environment=True) diff --git a/recipes/tracy/all/conandata.yml b/recipes/tracy/all/conandata.yml index d32d6dc01cb9f..b98d6d618bb5d 100644 --- a/recipes/tracy/all/conandata.yml +++ b/recipes/tracy/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.1": + url: "https://github.com/wolfpld/tracy/archive/refs/tags/v0.11.1.tar.gz" + sha256: "2c11ca816f2b756be2730f86b0092920419f3dabc7a7173829ffd897d91888a1" "0.11.0": url: "https://github.com/wolfpld/tracy/archive/refs/tags/v0.11.0.tar.gz" sha256: "b591ef2820c5575ccbf17e2e7a1dc1f6b9a2708f65bfd00f4ebefad2a1ccf830" diff --git a/recipes/tracy/all/conanfile.py b/recipes/tracy/all/conanfile.py index dd2a2bdace141..a83ee515f3fc9 100644 --- a/recipes/tracy/all/conanfile.py +++ b/recipes/tracy/all/conanfile.py @@ -1,7 +1,8 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.files import copy, get, rmdir, replace_in_file from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration import os @@ -45,6 +46,7 @@ class TracyConan(ConanFile): "libunwind_backtrace": ([True, False], False), "symbol_offline_resolve": ([True, False], False), "libbacktrace_elf_dynload_support": ([True, False], False), + "verbose": ([True, False], False), } options = { "shared": [True, False], @@ -81,6 +83,10 @@ def config_options(self): del self._tracy_options["symbol_offline_resolve"] del self._tracy_options["libbacktrace_elf_dynload_support"] + if Version(self.version) < "0.11.1": + self.options.rm_safe("verbose") + del self._tracy_options["verbose"] + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -88,6 +94,10 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + if self.options.get_safe("libunwind_backtrace"): + self.requires("libunwind/1.8.1", transitive_headers=True, transitive_libs=True) + def validate(self): if self.info.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) @@ -97,8 +107,7 @@ def validate(self): raise ConanInvalidConfiguration(f"libunwind_backtrace is not supported in {self.ref}") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -109,6 +118,9 @@ def generate(self): opt = f"TRACY_{opt.upper()}" tc.variables[opt] = switch tc.generate() + if self.options.get_safe("libunwind_backtrace"): + deps = PkgConfigDeps(self) + deps.generate() def build(self): cmake = CMake(self) @@ -142,6 +154,8 @@ def package_info(self): "dbghelp", "ws2_32" ]) + if self.options.get_safe("libunwind_backtrace"): + self.cpp_info.components["tracyclient"].requires.append("libunwind::libunwind") # Tracy CMake adds options set to ON as public for opt in self._tracy_options.keys(): diff --git a/recipes/tracy/all/test_v1_package/CMakeLists.txt b/recipes/tracy/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tracy/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tracy/all/test_v1_package/conanfile.py b/recipes/tracy/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tracy/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tracy/config.yml b/recipes/tracy/config.yml index 45ba8e874f0e1..01f7199be9c6a 100644 --- a/recipes/tracy/config.yml +++ b/recipes/tracy/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.1": + folder: all "0.11.0": folder: all "0.10": diff --git a/recipes/transwarp/all/test_v1_package/CMakeLists.txt b/recipes/transwarp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index f5ef1888af073..0000000000000 --- a/recipes/transwarp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(transwarp REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE transwarp::transwarp) -target_compile_definitions(${PROJECT_NAME} PRIVATE TRANSWARP_CPP11) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/transwarp/all/test_v1_package/conanfile.py b/recipes/transwarp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/transwarp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/trantor/all/conandata.yml b/recipes/trantor/all/conandata.yml index 5a4f49b13641d..8d5dd0ad82696 100644 --- a/recipes/trantor/all/conandata.yml +++ b/recipes/trantor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.22": + url: "https://github.com/an-tao/trantor/archive/v1.5.22.tar.gz" + sha256: "2f870b016a592228d617ef51eec4e9a9ab7dc56c066923af9bf6dd42fefb63de" "1.5.21": url: "https://github.com/an-tao/trantor/archive/v1.5.21.tar.gz" sha256: "c267e8d3657a85751554a6877efd1199f6766a9fd6418d2c72839ad0a8943988" @@ -21,6 +24,10 @@ sources: url: "https://github.com/an-tao/trantor/archive/v1.5.13.tar.gz" sha256: "36f02302bff3ffa8d2b1bff29f451d7a11d215a43963fb95aa543b555de2f9bf" patches: + "1.5.22": + - patch_file: "patches/1.5.19-0001-disable-werror.patch" + patch_description: "disable -Werror for gcc5" + patch_type: "portability" "1.5.21": - patch_file: "patches/1.5.19-0001-disable-werror.patch" patch_description: "disable -Werror for gcc5" diff --git a/recipes/trantor/all/test_v1_package/CMakeLists.txt b/recipes/trantor/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index bc541ea90b512..0000000000000 --- a/recipes/trantor/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/trantor/all/test_v1_package/conanfile.py b/recipes/trantor/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/trantor/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/trantor/config.yml b/recipes/trantor/config.yml index ab1925b20e516..1869cd2282d5e 100644 --- a/recipes/trantor/config.yml +++ b/recipes/trantor/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.22": + folder: "all" "1.5.21": folder: "all" "1.5.20": diff --git a/recipes/tree-gen/all/conandata.yml b/recipes/tree-gen/all/conandata.yml index 2ecf4e1d6e143..ff188eda8fa4f 100644 --- a/recipes/tree-gen/all/conandata.yml +++ b/recipes/tree-gen/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.9": + url: "https://github.com/QuTech-Delft/tree-gen/archive/refs/tags/1.0.9.tar.gz" + sha256: "4ae8bd44f281ec76f25ac6f8228586467f7c7b2b9f67c4dc38ca524fb4e94d3a" "1.0.8": url: "https://github.com/QuTech-Delft/tree-gen/archive/refs/tags/1.0.8.tar.gz" sha256: "a840f1da2fa377d2d791885d83b95dc15f081b308208d3497c395721488a4130" diff --git a/recipes/tree-gen/config.yml b/recipes/tree-gen/config.yml index 89fc823a7d6b8..afebf2e48e20c 100644 --- a/recipes/tree-gen/config.yml +++ b/recipes/tree-gen/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.9": + folder: all "1.0.8": folder: all "1.0.7": diff --git a/recipes/tree-sitter-c/all/CMakeLists.txt b/recipes/tree-sitter-c/all/CMakeLists.txt index a028ec4e4627c..afdc4445b1ec2 100644 --- a/recipes/tree-sitter-c/all/CMakeLists.txt +++ b/recipes/tree-sitter-c/all/CMakeLists.txt @@ -1,12 +1,11 @@ cmake_minimum_required(VERSION 3.0) -project(tree-sitter-c C) +project(tree-sitter-c LANGUAGES C) find_package(tree-sitter REQUIRED CONFIG) include(GenerateExportHeader) file(WRITE api.h [[ #pragma once -#include #include "tree_sitter_c_export.h" #ifdef __cplusplus diff --git a/recipes/tree-sitter-c/all/conandata.yml b/recipes/tree-sitter-c/all/conandata.yml index f225285a8fae5..95bb76f1a288f 100644 --- a/recipes/tree-sitter-c/all/conandata.yml +++ b/recipes/tree-sitter-c/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "0.23.2": + url: "https://github.com/tree-sitter/tree-sitter-c/archive/refs/tags/v0.23.2.tar.gz" + sha256: "d8b9c1b2ffb6a42caf9bc76e07c52507d4e60b17175ed9beb0e779be8db1200c" + "0.23.1": + url: "https://github.com/tree-sitter/tree-sitter-c/archive/refs/tags/v0.23.1.tar.gz" + sha256: "8f90f481c28a45c7dcba84d05fc07853df043ff813868cdfa074a3835e89467a" + "0.20.7": + url: "https://github.com/tree-sitter/tree-sitter-c/archive/refs/tags/v0.20.7.tar.gz" + sha256: "00abd71259093983fc7e2b51f3efc724ccab3e69af3a37d3cdd0a2a01d703061" "0.20.3": url: "https://github.com/tree-sitter/tree-sitter-c/archive/refs/tags/v0.20.3.tar.gz" sha256: "8c72a765230324f2b64e9ed66e027daf1a2ed24dde5fbf21398ad8ff7fca2a2d" @@ -8,3 +17,9 @@ sources: "0.20.1": url: "https://github.com/tree-sitter/tree-sitter-c/archive/refs/tags/v0.20.1.tar.gz" sha256: "ffcc2ef0eded59ad1acec9aec4f9b0c7dd209fc1a85d85f8b0e81298e3dddcc2" +patches: + "0.23.2": + - patch_file: "patches/0.23.2-0001-disable-gencode-fpic.patch" + patch_description: "disable gencode and fPIC" + patch_type: "portability" + diff --git a/recipes/tree-sitter-c/all/conanfile.py b/recipes/tree-sitter-c/all/conanfile.py index 9f73c2c805dce..a31cd6efa959a 100644 --- a/recipes/tree-sitter-c/all/conanfile.py +++ b/recipes/tree-sitter-c/all/conanfile.py @@ -1,6 +1,8 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import get, replace_in_file, copy +from conan.tools.files import get, replace_in_file, apply_conandata_patches, copy, export_conandata_patches, rmdir + +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -9,10 +11,10 @@ class TreeSitterCConan(ConanFile): name = "tree-sitter-c" description = "C grammar for tree-sitter." - topics = ("parser", "grammar", "tree", "c", "ide") + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/tree-sitter/tree-sitter-c" - license = "MIT" + topics = ("parser", "grammar", "tree", "c", "ide") settings = "os", "arch", "compiler", "build_type" package_type = "library" @@ -25,18 +27,18 @@ class TreeSitterCConan(ConanFile): "fPIC": True, } - - exports_sources = "CMakeLists.txt" - def layout(self): cmake_layout(self, src_folder="src") def export_sources(self): - copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=(self.export_sources_folder + "/src")) + export_conandata_patches(self) + if Version(self.version) < "0.23.2": + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=os.path.join(self.export_sources_folder, "src")) def generate(self): tc = CMakeToolchain(self) - tc.variables["TREE_SITTER_C_SRC_DIR"] = self.source_folder.replace("\\", "/") + if Version(self.version) < "0.23.2": + tc.variables["TREE_SITTER_C_SRC_DIR"] = self.source_folder.replace("\\", "/") tc.generate() deps = CMakeDeps(self) deps.generate() @@ -53,12 +55,13 @@ def configure(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + apply_conandata_patches(self) def requirements(self): - self.requires("tree-sitter/0.20.8", transitive_headers=True, transitive_libs=True) + self.requires("tree-sitter/0.24.3", transitive_headers=True, transitive_libs=True) def _patch_sources(self): - if not self.options.shared: + if Version(self.version) < "0.23.2" and not self.options.shared: replace_in_file( self, os.path.join(self.source_folder, "src", "parser.c"), @@ -80,6 +83,7 @@ def package(self): ) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.libs = ["tree-sitter-c"] diff --git a/recipes/tree-sitter-c/all/patches/0.23.2-0001-disable-gencode-fpic.patch b/recipes/tree-sitter-c/all/patches/0.23.2-0001-disable-gencode-fpic.patch new file mode 100644 index 0000000000000..db0bbdd64f019 --- /dev/null +++ b/recipes/tree-sitter-c/all/patches/0.23.2-0001-disable-gencode-fpic.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 20754b4..7a2d575 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -14,7 +14,7 @@ if(NOT ${TREE_SITTER_ABI_VERSION} MATCHES "^[0-9]+$") + unset(TREE_SITTER_ABI_VERSION CACHE) + message(FATAL_ERROR "TREE_SITTER_ABI_VERSION must be an integer") + endif() +- ++if(0) + find_program(TREE_SITTER_CLI tree-sitter DOC "Tree-sitter CLI") + + add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/parser.c" +@@ -23,7 +23,7 @@ add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/parser.c" + --abi=${TREE_SITTER_ABI_VERSION} + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + COMMENT "Generating parser.c") +- ++endif() + add_library(tree-sitter-c src/parser.c) + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/scanner.c) + target_sources(tree-sitter-c PRIVATE src/scanner.c) +@@ -37,7 +37,7 @@ target_compile_definitions(tree-sitter-c PRIVATE + set_target_properties(tree-sitter-c + PROPERTIES + C_STANDARD 11 +- POSITION_INDEPENDENT_CODE ON ++ # POSITION_INDEPENDENT_CODE ON + SOVERSION "${TREE_SITTER_ABI_VERSION}.${PROJECT_VERSION_MAJOR}" + DEFINE_SYMBOL "") + diff --git a/recipes/tree-sitter-c/all/test_package/CMakeLists.txt b/recipes/tree-sitter-c/all/test_package/CMakeLists.txt index 177a777e8ddf7..a70c3e67c9d21 100644 --- a/recipes/tree-sitter-c/all/test_package/CMakeLists.txt +++ b/recipes/tree-sitter-c/all/test_package/CMakeLists.txt @@ -1,7 +1,10 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) +project(test_package LANGUAGES C) find_package(tree-sitter-c REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} tree-sitter-c::tree-sitter-c) +target_link_libraries(${PROJECT_NAME} PRIVATE tree-sitter-c::tree-sitter-c) +if(tree-sitter-c_VERSION VERSION_LESS "0.23.2") + target_compile_definitions(${PROJECT_NAME} PRIVATE TREE_SITTER_C_API_H) +endif() \ No newline at end of file diff --git a/recipes/tree-sitter-c/all/test_package/test_package.c b/recipes/tree-sitter-c/all/test_package/test_package.c index d5f86eae18cce..cffc87a0869d4 100644 --- a/recipes/tree-sitter-c/all/test_package/test_package.c +++ b/recipes/tree-sitter-c/all/test_package/test_package.c @@ -1,8 +1,14 @@ #include + +#ifdef TREE_SITTER_C_API_H #include +#else +#include +#endif #include #include +#include int main() { TSParser *parser = ts_parser_new(); diff --git a/recipes/tree-sitter-c/config.yml b/recipes/tree-sitter-c/config.yml index 7070a273f171a..54a7df0c98705 100644 --- a/recipes/tree-sitter-c/config.yml +++ b/recipes/tree-sitter-c/config.yml @@ -1,4 +1,10 @@ versions: + "0.23.2": + folder: all + "0.23.1": + folder: all + "0.20.7": + folder: all "0.20.3": folder: all "0.20.2": diff --git a/recipes/tree-sitter-cql/all/CMakeLists.txt b/recipes/tree-sitter-cql/all/CMakeLists.txt new file mode 100644 index 0000000000000..c382967b7491f --- /dev/null +++ b/recipes/tree-sitter-cql/all/CMakeLists.txt @@ -0,0 +1,29 @@ +cmake_minimum_required(VERSION 3.15) +project(tree-sitter-cql LANGUAGES C) + +find_package(tree-sitter REQUIRED CONFIG) + +add_library(${PROJECT_NAME} + "${CMAKE_CURRENT_SOURCE_DIR}/src/src/parser.c" +) +target_link_libraries(${PROJECT_NAME} + PUBLIC + tree-sitter::tree-sitter +) +target_include_directories(${PROJECT_NAME} + PRIVATE + $ +) +set_target_properties(${PROJECT_NAME} + PROPERTIES + C_STANDARD 99 + PUBLIC_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/bindings/c/tree-sitter-cql.h" +) + +include(GNUInstallDirs) +install(TARGETS ${PROJECT_NAME} + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) diff --git a/recipes/tree-sitter-cql/all/conandata.yml b/recipes/tree-sitter-cql/all/conandata.yml new file mode 100644 index 0000000000000..ceb9f8a016e2a --- /dev/null +++ b/recipes/tree-sitter-cql/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.2.0": + url: "https://github.com/shotover/tree-sitter-cql/archive/refs/tags/v0.2.0.tar.gz" + sha256: "fc5aa2c660b6e6daa48e14b4bb7aca0a5a69294229bfae4fdcd9761d288edf07" diff --git a/recipes/tree-sitter-cql/all/conanfile.py b/recipes/tree-sitter-cql/all/conanfile.py new file mode 100644 index 0000000000000..ba45993bad869 --- /dev/null +++ b/recipes/tree-sitter-cql/all/conanfile.py @@ -0,0 +1,72 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get, copy +from conan.tools.microsoft import is_msvc +import os + +required_conan_version = ">=2.0.9" + + +class TreeSitterCQLConan(ConanFile): + name = "tree-sitter-cql" + description = "Tree-sitter parser for Cassandra CQL language" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/shotover/tree-sitter-cql" + topics = ("parser", "grammar", "tree", "CQL", "cassandra") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + implements = ["auto_shared_fpic"] + + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + + def configure(self): + if self.options.get_safe("shared"): + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("tree-sitter/0.24.3", transitive_headers=True, transitive_libs=True) + + def generate(self): + tc = CMakeToolchain(self) + if is_msvc(self): + tc.variables.preprocessor_definitions["TREE_SITTER_HIDE_SYMBOLS"] = not self.options.shared + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.build() + + def package(self): + copy( + self, + "LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + ) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["tree-sitter-cql"] + self.cpp_info.set_property("pkg_config_name", "tree-sitter-cql") diff --git a/recipes/tree-sitter-cql/all/test_package/CMakeLists.txt b/recipes/tree-sitter-cql/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..802cad95e018c --- /dev/null +++ b/recipes/tree-sitter-cql/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(tree-sitter-cql REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE tree-sitter-cql::tree-sitter-cql) diff --git a/recipes/tree-sitter-cql/all/test_package/conanfile.py b/recipes/tree-sitter-cql/all/test_package/conanfile.py new file mode 100644 index 0000000000000..cb81bc4873df8 --- /dev/null +++ b/recipes/tree-sitter-cql/all/test_package/conanfile.py @@ -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 = "CMakeToolchain", "CMakeDeps" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + 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") diff --git a/recipes/tree-sitter-cql/all/test_package/test_package.c b/recipes/tree-sitter-cql/all/test_package/test_package.c new file mode 100644 index 0000000000000..5972b3828b0bb --- /dev/null +++ b/recipes/tree-sitter-cql/all/test_package/test_package.c @@ -0,0 +1,10 @@ +#include +#include + +int main() { + TSParser *parser = ts_parser_new(); + ts_parser_set_language(parser, tree_sitter_cql()); + ts_parser_delete(parser); + return 0; +} + diff --git a/recipes/tree-sitter-cql/config.yml b/recipes/tree-sitter-cql/config.yml new file mode 100644 index 0000000000000..b370fcee5fe7c --- /dev/null +++ b/recipes/tree-sitter-cql/config.yml @@ -0,0 +1,3 @@ +versions: + "0.2.0": + folder: all diff --git a/recipes/tree-sitter-sql/all/CMakeLists.txt b/recipes/tree-sitter-sql/all/CMakeLists.txt new file mode 100644 index 0000000000000..2c51456eb9a4e --- /dev/null +++ b/recipes/tree-sitter-sql/all/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.15) +project(tree-sitter-sql LANGUAGES C) + +find_package(tree-sitter REQUIRED CONFIG) + +add_library(${PROJECT_NAME} + ${TREE_SITTER_SQL_SRC_DIR}/src/scanner.c + ${TREE_SITTER_SQL_SRC_DIR}/src/parser.c +) +target_link_libraries(${PROJECT_NAME} + PUBLIC + tree-sitter::tree-sitter +) +target_include_directories(${PROJECT_NAME} + PRIVATE + $ +) +set_target_properties(${PROJECT_NAME} + PROPERTIES + C_STANDARD 99 + PUBLIC_HEADER "${TREE_SITTER_SQL_SRC_DIR}/bindings/c/tree-sitter-sql.h" +) + +include(GNUInstallDirs) +install(TARGETS ${PROJECT_NAME} + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) diff --git a/recipes/tree-sitter-sql/all/conandata.yml b/recipes/tree-sitter-sql/all/conandata.yml new file mode 100644 index 0000000000000..818e7a2ebebb0 --- /dev/null +++ b/recipes/tree-sitter-sql/all/conandata.yml @@ -0,0 +1,15 @@ +sources: + # As per the official README, the release tarballs don't include the generated codes. + # > We don't commit the generated parser files to the main branch. Instead, you can find them on the gh-pages branch. + # We have to obtain the corresponding snapshot of the github-pages branch. + "0.3.7": + url: "https://github.com/DerekStride/tree-sitter-sql/archive/f58f33955ea0a3e6a0aa2ef4b90a133ebee02173.tar.gz" + sha256: "947f6236251b4e2388441f3748871e4a93884229a05b66c59603b80721c2c1fe" + "0.3.5": + url: "https://github.com/DerekStride/tree-sitter-sql/archive/c67ecbd37d8d12f22e4cc7138afd14bc20253e10.tar.gz" + sha256: "d8cd967ca4daa376614995fe8a439a957a303c7ca5b9858ca15ad243e6b176d3" +patches: + "0.3.7": + - patch_file: "patches/0.3.7-0001-fix-cmake.patch" + patch_description: "disable generating code and fPIC" + patch_type: "conan" diff --git a/recipes/tree-sitter-sql/all/conanfile.py b/recipes/tree-sitter-sql/all/conanfile.py new file mode 100644 index 0000000000000..b5038be7e60cf --- /dev/null +++ b/recipes/tree-sitter-sql/all/conanfile.py @@ -0,0 +1,83 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.53.0" + + +class TreeSitterSqlConan(ConanFile): + name = "tree-sitter-sql" + description = "SQL grammar for tree-sitter" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/DerekStride/tree-sitter-sql" + topics = ("tree-sitter", "sql", "parser") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def export_sources(self): + if Version(self.version) < "0.3.7": + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if is_msvc(self) and Version(self.version) < "0.3.7": + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("tree-sitter/0.24.3", transitive_headers=True) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + apply_conandata_patches(self) + + def generate(self): + tc = CMakeToolchain(self) + if Version(self.version) < "0.3.7": + tc.variables["TREE_SITTER_SQL_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.generate() + tc = CMakeDeps(self) + tc.generate() + + def build(self): + cmake = CMake(self) + if Version(self.version) < "0.3.7": + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + else: + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + if Version(self.version) >= "0.3.7": + rmdir(self, os.path.join(self.package_folder, "share")) + + def package_info(self): + self.cpp_info.libs = ["tree-sitter-sql"] + self.cpp_info.set_property("pkg_config_name", "tree-sitter-sql") diff --git a/recipes/tree-sitter-sql/all/patches/0.3.7-0001-fix-cmake.patch b/recipes/tree-sitter-sql/all/patches/0.3.7-0001-fix-cmake.patch new file mode 100644 index 0000000000000..f6c65596a92c4 --- /dev/null +++ b/recipes/tree-sitter-sql/all/patches/0.3.7-0001-fix-cmake.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index faaef1e..c939c26 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -14,7 +14,7 @@ if(NOT ${TREE_SITTER_ABI_VERSION} MATCHES "^[0-9]+$") + unset(TREE_SITTER_ABI_VERSION CACHE) + message(FATAL_ERROR "TREE_SITTER_ABI_VERSION must be an integer") + endif() +- ++if(0) + find_program(TREE_SITTER_CLI tree-sitter DOC "Tree-sitter CLI") + + add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/parser.c" +@@ -23,9 +23,9 @@ add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/parser.c" + --abi=${TREE_SITTER_ABI_VERSION} + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + COMMENT "Generating parser.c") +- ++endif() + add_library(tree-sitter-sql src/parser.c) +-if(EXISTS src/scanner.c) ++if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/scanner.c) + target_sources(tree-sitter-sql PRIVATE src/scanner.c) + endif() + target_include_directories(tree-sitter-sql PRIVATE src) +@@ -37,7 +37,7 @@ target_compile_definitions(tree-sitter-sql PRIVATE + set_target_properties(tree-sitter-sql + PROPERTIES + C_STANDARD 11 +- POSITION_INDEPENDENT_CODE ON ++ # POSITION_INDEPENDENT_CODE ON + SOVERSION "${TREE_SITTER_ABI_VERSION}.${PROJECT_VERSION_MAJOR}" + DEFINE_SYMBOL "") + diff --git a/recipes/tree-sitter-sql/all/test_package/CMakeLists.txt b/recipes/tree-sitter-sql/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..2f8015847ed2a --- /dev/null +++ b/recipes/tree-sitter-sql/all/test_package/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(PkgConfig) +pkg_check_modules(TREE_SITTER_SQL IMPORTED_TARGET "tree-sitter-sql") + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::TREE_SITTER_SQL) +if(TREE_SITTER_SQL_VERSION VERSION_LESS "0.3.7") + target_compile_definitions(${PROJECT_NAME} PRIVATE TREE_SITTER_SQL_OLD_PATH) +endif() + diff --git a/recipes/tree-sitter-sql/all/test_package/conanfile.py b/recipes/tree-sitter-sql/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e8f597c20ddd4 --- /dev/null +++ b/recipes/tree-sitter-sql/all/test_package/conanfile.py @@ -0,0 +1,30 @@ +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 = "PkgConfigDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/[>=2.2 <3]") + + 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") diff --git a/recipes/tree-sitter-sql/all/test_package/test_package.c b/recipes/tree-sitter-sql/all/test_package/test_package.c new file mode 100644 index 0000000000000..133b02dd2df77 --- /dev/null +++ b/recipes/tree-sitter-sql/all/test_package/test_package.c @@ -0,0 +1,30 @@ +#include +#include + +#include "tree_sitter/api.h" +#ifdef TREE_SITTER_SQL_OLD_PATH +#include "tree-sitter-sql.h" +#else +#include "tree_sitter/tree-sitter-sql.h" +#endif + +int main() { + TSParser *parser = ts_parser_new(); + ts_parser_set_language(parser, tree_sitter_sql()); + const char *source_code = "select * from dummy_table;\n"; + TSTree *tree = ts_parser_parse_string( + parser, + NULL, + source_code, + strlen(source_code) + ); + TSNode root_node = ts_tree_root_node(tree); + + char *string = ts_node_string(root_node); + printf("Syntax tree: %s\n", string); + free(string); + + ts_tree_delete(tree); + ts_parser_delete(parser); + return 0; +} diff --git a/recipes/tree-sitter-sql/config.yml b/recipes/tree-sitter-sql/config.yml new file mode 100644 index 0000000000000..92762b2a22839 --- /dev/null +++ b/recipes/tree-sitter-sql/config.yml @@ -0,0 +1,5 @@ +versions: + "0.3.7": + folder: all + "0.3.5": + folder: all diff --git a/recipes/tree-sitter/all/conandata.yml b/recipes/tree-sitter/all/conandata.yml index fcc659c5b1ecb..0ac2ffd32fc0b 100644 --- a/recipes/tree-sitter/all/conandata.yml +++ b/recipes/tree-sitter/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "0.24.4": + url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.24.4.tar.gz" + sha256: "d704832a6bfaac8b3cbca3b5d773cad613183ba8c04166638af2c6e5dfb9e2d2" + "0.24.3": + url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.24.3.tar.gz" + sha256: "0a8d0cf8e09caba22ed0d8439f7fa1e3d8453800038e43ccad1f34ef29537da1" + "0.23.1": + url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.23.1.tar.gz" + sha256: "30ea382bdaea8fc71e3d52850da509398f56d77b7c41e3494da46a1158d37b86" "0.23.0": url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.23.0.tar.gz" sha256: "6403b361b0014999e96f61b9c84d6950d42f0c7d6e806be79382e0232e48a11b" @@ -17,12 +26,3 @@ sources: "0.20.8": url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.20.8.tar.gz" sha256: "6181ede0b7470bfca37e293e7d5dc1d16469b9485d13f13a605baec4a8b1f791" - "0.20.6": - url: "https://github.com/tree-sitter/tree-sitter/archive/v0.20.6.tar.gz" - sha256: "4d37eaef8a402a385998ff9aca3e1043b4a3bba899bceeff27a7178e1165b9de" - "0.20.0": - url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.20.0.tar.gz" - sha256: "4a8070b9de17c3b8096181fe8530320ab3e8cca685d8bee6a3e8d164b5fb47da" - "0.17.3": - url: "https://github.com/tree-sitter/tree-sitter/archive/0.17.3.tar.gz" - sha256: "a897e5c9a7ccb74271d9b20d59121d2d2e9de8b896c4d1cfaac0f8104c1ef9f8" diff --git a/recipes/tree-sitter/all/conanfile.py b/recipes/tree-sitter/all/conanfile.py index a3ccebe4f64da..ac605167e9581 100644 --- a/recipes/tree-sitter/all/conanfile.py +++ b/recipes/tree-sitter/all/conanfile.py @@ -2,7 +2,8 @@ from conan import ConanFile from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout -from conan.tools.files import get, copy +from conan.tools.files import get, copy, rmdir +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -24,14 +25,21 @@ class TreeSitterConan(ConanFile): "fPIC": True, "shared": False, } - exports_sources = "CMakeLists.txt" + + def export_sources(self): + if Version(self.version) < "0.24.1": + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) >= "0.24.1": + self.package_type = "static-library" def configure(self): - if self.options.shared: + if Version(self.version) >= "0.24.1" and self.settings.os == "Windows": + self.options.rm_safe("shared") + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") @@ -44,13 +52,19 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["TREE_SITTER_SRC_DIR"] = self.source_folder.replace("\\", "/") - tc.variables["TREE_SITTER_VERSION"] = str(self.version) + if Version(self.version) < "0.24.1": + tc.variables["TREE_SITTER_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.variables["TREE_SITTER_VERSION"] = str(self.version) + else: + tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.get_safe("shared", False) tc.generate() def build(self): cmake = CMake(self) - cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + if Version(self.version) < "0.24.1": + cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + else: + cmake.configure(build_script_folder=os.path.join(self.source_folder, "lib")) cmake.build() def package(self): @@ -63,5 +77,7 @@ def package(self): cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) + def package_info(self): self.cpp_info.libs = ["tree-sitter"] diff --git a/recipes/tree-sitter/config.yml b/recipes/tree-sitter/config.yml index 27314a988e804..adc6affbd55b4 100644 --- a/recipes/tree-sitter/config.yml +++ b/recipes/tree-sitter/config.yml @@ -1,4 +1,10 @@ versions: + "0.24.4": + folder: all + "0.24.3": + folder: all + "0.23.1": + folder: all "0.23.0": folder: all "0.22.6": @@ -9,11 +15,6 @@ versions: folder: all "0.21.0": folder: all + # keep 0.20.8 for tree-sitter-c "0.20.8": folder: all - "0.20.6": - folder: all - "0.20.0": - folder: all - "0.17.3": - folder: all diff --git a/recipes/troldal-zippy/all/test_v1_package/CMakeLists.txt b/recipes/troldal-zippy/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/troldal-zippy/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/troldal-zippy/all/test_v1_package/conanfile.py b/recipes/troldal-zippy/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/troldal-zippy/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/trompeloeil/all/conandata.yml b/recipes/trompeloeil/all/conandata.yml index 5d3ef4f707e9a..8fdd3be7c6bf2 100644 --- a/recipes/trompeloeil/all/conandata.yml +++ b/recipes/trompeloeil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "49": + url: "https://github.com/rollbear/trompeloeil/archive/v49.tar.gz" + sha256: "2523571fb7920b2813cbc23b46e60294aba8ead7eba434bfec69c24408615593" "48": url: "https://github.com/rollbear/trompeloeil/archive/v48.tar.gz" sha256: "eebd18456975251ea3450b815e241cccfefba5b883e4a36bd309f9cf629bdec6" diff --git a/recipes/trompeloeil/all/test_package/test_package.cpp b/recipes/trompeloeil/all/test_package/test_package.cpp index 356b535560158..2d62e62471f0e 100644 --- a/recipes/trompeloeil/all/test_package/test_package.cpp +++ b/recipes/trompeloeil/all/test_package/test_package.cpp @@ -1,3 +1,4 @@ +#include #include struct S diff --git a/recipes/trompeloeil/all/test_v1_package/CMakeLists.txt b/recipes/trompeloeil/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 328f7742d99d6..0000000000000 --- a/recipes/trompeloeil/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(trompeloeil REQUIRED) - -add_executable(test_package ../test_package/test_package.cpp) -target_link_libraries(test_package PRIVATE trompeloeil::trompeloeil) -target_compile_features(test_package PRIVATE cxx_std_14) diff --git a/recipes/trompeloeil/all/test_v1_package/conanfile.py b/recipes/trompeloeil/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/trompeloeil/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/trompeloeil/config.yml b/recipes/trompeloeil/config.yml index db787f96cb936..39c766357c1eb 100644 --- a/recipes/trompeloeil/config.yml +++ b/recipes/trompeloeil/config.yml @@ -1,4 +1,6 @@ versions: + "49": + folder: all "48": folder: all "47": diff --git a/recipes/tscns/all/test_v1_package/CMakeLists.txt b/recipes/tscns/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tscns/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tscns/all/test_v1_package/conanfile.py b/recipes/tscns/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tscns/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tsil/all/test_v1_package/CMakeLists.txt b/recipes/tsil/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 141659813702c..0000000000000 --- a/recipes/tsil/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(tsil REQUIRED CONFIG) - -add_executable(test_package ../test_package/test_package.c) -target_link_libraries(test_package PRIVATE tsil::tsil) diff --git a/recipes/tsil/all/test_v1_package/conanfile.py b/recipes/tsil/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tsil/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/tsl-array-hash/all/test_v1_package/CMakeLists.txt b/recipes/tsl-array-hash/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tsl-array-hash/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tsl-array-hash/all/test_v1_package/conanfile.py b/recipes/tsl-array-hash/all/test_v1_package/conanfile.py deleted file mode 100644 index 1e9df9e32dfbd..0000000000000 --- a/recipes/tsl-array-hash/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - test_package = os.path.join("bin", "test_package") - self.run(test_package, run_environment=True) diff --git a/recipes/tsl-hat-trie/all/test_v1_package/CMakeLists.txt b/recipes/tsl-hat-trie/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tsl-hat-trie/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tsl-hat-trie/all/test_v1_package/conanfile.py b/recipes/tsl-hat-trie/all/test_v1_package/conanfile.py deleted file mode 100644 index 1e9df9e32dfbd..0000000000000 --- a/recipes/tsl-hat-trie/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - test_package = os.path.join("bin", "test_package") - self.run(test_package, run_environment=True) diff --git a/recipes/tsl-hopscotch-map/all/test_v1_package/CMakeLists.txt b/recipes/tsl-hopscotch-map/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index d71994382aff0..0000000000000 --- a/recipes/tsl-hopscotch-map/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(tsl-hopscotch-map REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE tsl::hopscotch_map) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/tsl-hopscotch-map/all/test_v1_package/conanfile.py b/recipes/tsl-hopscotch-map/all/test_v1_package/conanfile.py deleted file mode 100644 index 1e9df9e32dfbd..0000000000000 --- a/recipes/tsl-hopscotch-map/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - test_package = os.path.join("bin", "test_package") - self.run(test_package, run_environment=True) diff --git a/recipes/tsl-ordered-map/all/test_v1_package/CMakeLists.txt b/recipes/tsl-ordered-map/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/tsl-ordered-map/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tsl-ordered-map/all/test_v1_package/conanfile.py b/recipes/tsl-ordered-map/all/test_v1_package/conanfile.py deleted file mode 100644 index 1e9df9e32dfbd..0000000000000 --- a/recipes/tsl-ordered-map/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - test_package = os.path.join("bin", "test_package") - self.run(test_package, run_environment=True) diff --git a/recipes/tsl-robin-map/all/test_v1_package/CMakeLists.txt b/recipes/tsl-robin-map/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/tsl-robin-map/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tsl-robin-map/all/test_v1_package/conanfile.py b/recipes/tsl-robin-map/all/test_v1_package/conanfile.py deleted file mode 100644 index 1e9df9e32dfbd..0000000000000 --- a/recipes/tsl-robin-map/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - test_package = os.path.join("bin", "test_package") - self.run(test_package, run_environment=True) diff --git a/recipes/tsl-sparse-map/all/test_v1_package/CMakeLists.txt b/recipes/tsl-sparse-map/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/tsl-sparse-map/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tsl-sparse-map/all/test_v1_package/conanfile.py b/recipes/tsl-sparse-map/all/test_v1_package/conanfile.py deleted file mode 100644 index 1e9df9e32dfbd..0000000000000 --- a/recipes/tsl-sparse-map/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - test_package = os.path.join("bin", "test_package") - self.run(test_package, run_environment=True) diff --git a/recipes/tuplet/all/test_v1_package/CMakeLists.txt b/recipes/tuplet/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/tuplet/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tuplet/all/test_v1_package/conanfile.py b/recipes/tuplet/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/tuplet/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/turtle/all/conandata.yml b/recipes/turtle/all/conandata.yml index 1b973e23b0f99..3460796e19388 100644 --- a/recipes/turtle/all/conandata.yml +++ b/recipes/turtle/all/conandata.yml @@ -1,7 +1,10 @@ sources: - "1.3.1": - url: "https://github.com/mat007/turtle/archive/v1.3.1.tar.gz" - sha256: "1ea10600a4046286a781c898ed3110d48fdab473f5320dc48cc2775353039b8b" + "2.0.0": + url: "https://github.com/mat007/turtle/archive/v2.0.0.tar.gz" + sha256: "636a552fc442d452955eca1f554e6a962b38270c1a6290538c6405da59b49e45" "1.3.2": url: "https://github.com/mat007/turtle/archive/v1.3.2.tar.gz" sha256: "4dc0bd79ddecd337691d5805ecb25f427bd85d9549f44d06cd3a6b7f0f0235d4" + "1.3.1": + url: "https://github.com/mat007/turtle/archive/v1.3.1.tar.gz" + sha256: "1ea10600a4046286a781c898ed3110d48fdab473f5320dc48cc2775353039b8b" diff --git a/recipes/turtle/all/conanfile.py b/recipes/turtle/all/conanfile.py index 1f12c41eb77c7..6b80db4af4ab7 100644 --- a/recipes/turtle/all/conanfile.py +++ b/recipes/turtle/all/conanfile.py @@ -1,6 +1,9 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd from conan.tools.files import get, copy from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -8,13 +11,27 @@ class TurtleConan(ConanFile): name = "turtle" description = "Turtle is a C++ mock object library based on Boost with a focus on usability, simplicity and flexibility." - topics = ("mock", "test", "boost") + license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/mat007/turtle" - license = "BSL-1.0" - no_copy_source = True + topics = ("mock", "test", "boost", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", + } def layout(self): basic_layout(self, src_folder="src") @@ -25,9 +42,17 @@ def requirements(self): def package_id(self): self.info.clear() - def package_info(self): - self.cpp_info.libdirs = [] - self.cpp_info.bindirs = [] + def validate(self): + if Version(self.version) < "2.0.0": + return + + if self.settings.compiler.get_safe("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) @@ -35,3 +60,7 @@ def source(self): def package(self): copy(self, "LICENSE_1_0.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy(self, "*.hpp", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) + + def package_info(self): + self.cpp_info.libdirs = [] + self.cpp_info.bindirs = [] diff --git a/recipes/turtle/all/test_package/CMakeLists.txt b/recipes/turtle/all/test_package/CMakeLists.txt index 284560de8122d..17dd4096afba2 100644 --- a/recipes/turtle/all/test_package/CMakeLists.txt +++ b/recipes/turtle/all/test_package/CMakeLists.txt @@ -5,3 +5,6 @@ find_package(turtle REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} turtle::turtle) +if(turtle_VERSION VERSION_GREATER_EQUAL "2.0.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +endif() diff --git a/recipes/turtle/config.yml b/recipes/turtle/config.yml index 266cd9ad48136..5a4bc86b61751 100644 --- a/recipes/turtle/config.yml +++ b/recipes/turtle/config.yml @@ -1,5 +1,7 @@ versions: - "1.3.1": + "2.0.0": folder: all "1.3.2": folder: all + "1.3.1": + folder: all diff --git a/recipes/tweetnacl/all/test_v1_package/CMakeLists.txt b/recipes/tweetnacl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/tweetnacl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/tweetnacl/all/test_v1_package/conanfile.py b/recipes/tweetnacl/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/tweetnacl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/twitch-native-ipc/all/test_v1_package/CMakeLists.txt b/recipes/twitch-native-ipc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/twitch-native-ipc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/twitch-native-ipc/all/test_v1_package/conanfile.py b/recipes/twitch-native-ipc/all/test_v1_package/conanfile.py deleted file mode 100644 index bbac244c5a058..0000000000000 --- a/recipes/twitch-native-ipc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TwitchNativeIpcTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "example"), run_environment=True) - self.run(os.path.join("bin", "example2"), run_environment=True) diff --git a/recipes/twitchtv-libsoundtrackutil/all/test_v1_package/CMakeLists.txt b/recipes/twitchtv-libsoundtrackutil/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/twitchtv-libsoundtrackutil/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/twitchtv-libsoundtrackutil/all/test_v1_package/conanfile.py b/recipes/twitchtv-libsoundtrackutil/all/test_v1_package/conanfile.py deleted file mode 100644 index a4ca380f17734..0000000000000 --- a/recipes/twitchtv-libsoundtrackutil/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TwitchNativeIpcTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "example"), run_environment=True) diff --git a/recipes/type_safe/all/test_v1_package/CMakeLists.txt b/recipes/type_safe/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/type_safe/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/type_safe/all/test_v1_package/conanfile.py b/recipes/type_safe/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/type_safe/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ua-nodeset/all/test_v1_package/conanfile.py b/recipes/ua-nodeset/all/test_v1_package/conanfile.py deleted file mode 100644 index 872e7a1f2874d..0000000000000 --- a/recipes/ua-nodeset/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,12 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestUaNodeSetConan(ConanFile): - - def build(self): - pass - - def test(self): - assert os.path.exists(os.path.join(self.deps_user_info["ua-nodeset"].nodeset_dir, "PLCopen")) - diff --git a/recipes/uchardet/all/test_v1_package/CMakeLists.txt b/recipes/uchardet/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/uchardet/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/uchardet/all/test_v1_package/conanfile.py b/recipes/uchardet/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/uchardet/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/ulfius/all/conanfile.py b/recipes/ulfius/all/conanfile.py index cfafd90c8a600..22361ddec897d 100644 --- a/recipes/ulfius/all/conanfile.py +++ b/recipes/ulfius/all/conanfile.py @@ -31,8 +31,8 @@ class UlfiusConan(ConanFile): default_options = { "shared": False, "fPIC": True, - "enable_websockets": False, # FIXME: should be True (cannot be True because of missing gnutls recipe) - "with_gnutls": False, # FIXME: should be True + "enable_websockets": True, + "with_gnutls": True, "with_jansson": True, "with_libcurl": True, "with_yder": True, @@ -40,14 +40,13 @@ class UlfiusConan(ConanFile): def config_options(self): if self.settings.os == "Windows": - self.options.enable_websockets = False + # INSTALL.md says that websockets are not supported on Windows + del self.options.enable_websockets del self.options.fPIC def validate(self): - if self.options.with_gnutls: - raise ConanInvalidConfiguration("with_gnutls=True is not yet implemented due to missing gnutls CCI recipe") - if self.settings.os == "Windows" and self.options.enable_websockets: - raise ConanInvalidConfiguration("ulfius does not support with_websockets=True on Windows") + if self.options.get_safe("enable_websockets") and not self.options.with_gnutls: + raise ConanInvalidConfiguration(f"{self.ref} requires -o=&:with_gnutls=True when -o=&:enable_websockets=True") def configure(self): if self.options.shared: @@ -56,7 +55,7 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") def requirements(self): - self.requires("orcania/2.3.1", transitive_headers=True) + self.requires("orcania/2.3.3", transitive_headers=True) self.requires("libmicrohttpd/0.9.75", transitive_headers=True) if self.options.with_yder: self.requires("yder/1.4.18", transitive_headers=True) @@ -64,6 +63,11 @@ def requirements(self): self.requires("jansson/2.14", transitive_headers=True) if self.options.with_libcurl: self.requires("libcurl/[>=7.78.0 <9]") + if self.options.with_gnutls: + # Used in public ulfius.h:43 + self.requires("gnutls/3.8.2", transitive_headers=True) + if self.options.get_safe("enable_websockets"): + self.requires("zlib/[>=1.2.11 <2]") def source(self): get(self, **self.conan_data["sources"][self.version], @@ -81,62 +85,33 @@ def generate(self): tc.variables["BUILD_STATIC"] = not self.options.shared tc.variables["DOWNLOAD_DEPENDENCIES"] = False tc.variables["WITH_GNUTLS"] = self.options.with_gnutls - tc.variables["WITH_WEBSOCKETS"] = self.options.enable_websockets + tc.variables["WITH_WEBSOCKET"] = self.options.get_safe("enable_websockets") tc.variables["WITH_CURL"] = self.options.with_libcurl tc.variables["WITH_JANSSON"] = self.options.with_jansson + + # Compilation issues when setting Ulifus as a dependency internally + tc.variables["BUILD_UWSC"] = False + tc.generate() deps = CMakeDeps(self) - deps.generate() - # https://github.com/conan-io/conan/issues/12367 + move this before running CMakeDeps.generate() - save(self, os.path.join(self.generators_folder, "MHDConfig.cmake"), textwrap.dedent(f"""\ - include(CMakeFindDependencyMacro) - find_dependency(libmicrohttpd) - - set(MHD_FOUND TRUE) - add_library(MHD::MHD INTERFACE IMPORTED) - set_target_properties(MHD::MHD PROPERTIES INTERFACE_LINK_LIBRARIES "libmicrohttpd::libmicrohttpd") - set(MHD_VERSION_STRING {self.dependencies['libmicrohttpd'].ref.version}) - """)) - save(self, os.path.join(self.generators_folder, "MHDConfigVersion.cmake"), textwrap.dedent(f"""\ - set(PACKAGE_VERSION "{ self.dependencies['libmicrohttpd'].ref.version }") - - if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) - endif() - endif() - """)) + deps.set_property("libmicrohttpd", "cmake_file_name", "MHD") + deps.set_property("libmicrohttpd", "cmake_target_name", "MHD::MHD") + + # Orcania generates -static targets for static libraries, but Ulfius does not check for them, + # unconditionally set the target name to Orcania::Orcania + deps.set_property("orcania", "cmake_target_name", "Orcania::Orcania") + + # Same for Yder + if self.options.with_yder: + deps.set_property("yder", "cmake_target_name", "Yder::Yder") - # Shared ulfius looks for Orcania::Orcania and Yder::Yder - # Static ulfius looks for Orcania::Orcania-static and Yder::Yder-static - if self.options.shared: - if not self.dependencies["orcania"].options.shared: - save(self, os.path.join(self.generators_folder, "OrcaniaConfig.cmake"), textwrap.dedent("""\ - add_library(Orcania::Orcania INTERFACE IMPORTED) - set_target_properties(Orcania::Orcania PROPERTIES INTERFACE_LINK_LIBRARIES "Orcania::Orcania-static") - """), append=True) - if self.options.with_yder and not self.dependencies["yder"].options.shared: - save(self, os.path.join(self.generators_folder, "YderConfig.cmake"), textwrap.dedent("""\ - add_library(Yder::Yder INTERFACE IMPORTED) - set_target_properties(Yder::Yder PROPERTIES INTERFACE_LINK_LIBRARIES "Yder::Yder-static") - """), append=True) - - # Create Jansson::Jansson if self.options.with_jansson: - save(self, os.path.join(self.generators_folder, "jansson-config.cmake"), textwrap.dedent(f"""\ - add_library(Jansson::Jansson INTERFACE IMPORTED) - set_target_properties(Jansson::Jansson PROPERTIES INTERFACE_LINK_LIBRARIES "jansson::jansson") - set(JANSSON_VERSION_STRING {self.dependencies['jansson'].ref.version}) - """), append=True) + deps.set_property("jansson", "cmake_file_name", "Jansson") + deps.set_property("jansson", "cmake_target_name", "Jansson::Jansson") - if self.options.with_gnutls: - # FIXME: make sure gnutls creates GnuTLSCOnfig.cmake + GnuTLS::GnuTLS target + GNUTLS_VERSION_STRING - pass + deps.generate() def _patch_sources(self): apply_conandata_patches(self) diff --git a/recipes/ulfius/all/test_v1_package/CMakeLists.txt b/recipes/ulfius/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index c0c854f00b188..0000000000000 --- a/recipes/ulfius/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -find_package(Ulfius REQUIRED CONFIG) - -option(ULFIUS_SHARED "Ulfius is built as a shared library") - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -if(ULFIUS_SHARED) - target_link_libraries(${PROJECT_NAME} PRIVATE Ulfius::Ulfius) -else() - target_link_libraries(${PROJECT_NAME} PRIVATE Ulfius::Ulfius-static) -endif() diff --git a/recipes/ulfius/all/test_v1_package/conanfile.py b/recipes/ulfius/all/test_v1_package/conanfile.py deleted file mode 100644 index 32ed9b5ed5ce3..0000000000000 --- a/recipes/ulfius/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["ULFIUS_SHARED"] = self.options["ulfius"].shared - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/uncrustify/all/test_v1_package/conanfile.py b/recipes/uncrustify/all/test_v1_package/conanfile.py deleted file mode 100644 index a60815102333e..0000000000000 --- a/recipes/uncrustify/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,9 +0,0 @@ -from conans import ConanFile, tools - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not tools.cross_building(self): - self.run("uncrustify --version", run_environment=True) diff --git a/recipes/uni-algo/all/test_v1_package/CMakeLists.txt b/recipes/uni-algo/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/uni-algo/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/uni-algo/all/test_v1_package/conanfile.py b/recipes/uni-algo/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/uni-algo/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/unicorn/all/test_v1_package/CMakeLists.txt b/recipes/unicorn/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/unicorn/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/unicorn/all/test_v1_package/conanfile.py b/recipes/unicorn/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/unicorn/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/units/all/test_v1_package/CMakeLists.txt b/recipes/units/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/units/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/units/all/test_v1_package/conanfile.py b/recipes/units/all/test_v1_package/conanfile.py deleted file mode 100644 index e0a85886fc12c..0000000000000 --- a/recipes/units/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import CMake, ConanFile, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/univalue/all/test_v1_package/CMakeLists.txt b/recipes/univalue/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/univalue/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/univalue/all/test_v1_package/conanfile.py b/recipes/univalue/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/univalue/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/unordered_dense/all/test_v1_package/CMakeLists.txt b/recipes/unordered_dense/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2a9b48732268c..0000000000000 --- a/recipes/unordered_dense/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.1) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/unordered_dense/all/test_v1_package/conanfile.py b/recipes/unordered_dense/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/unordered_dense/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/unqlite/all/test_v1_package/CMakeLists.txt b/recipes/unqlite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/unqlite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/unqlite/all/test_v1_package/conanfile.py b/recipes/unqlite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/unqlite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/upx/all/test_v1_package/CMakeLists.txt b/recipes/upx/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/upx/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/upx/all/test_v1_package/conanfile.py b/recipes/upx/all/test_v1_package/conanfile.py deleted file mode 100644 index 2b7a8250c9937..0000000000000 --- a/recipes/upx/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,35 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - bin_ext = ".exe" if self.settings.os == "Windows" else "" - bin_path = os.path.join("bin", f"test_package{bin_ext}") - - upx_bin = self.deps_user_info["upx"].upx - self.run(f"{upx_bin} --help", run_environment=True) - - original_size = os.stat(bin_path).st_size - - self.run(f"{upx_bin} {bin_path}", run_environment=True) - - packed_size = os.stat(bin_path).st_size - - # Run the packed executable to see whether it still works - self.run(bin_path, run_environment=True) - - self.output.info(f"File: {bin_path}") - self.output.info(f"Original size: {original_size:>9}") - self.output.info(f"Packed size: {packed_size:>9}") - self.output.info(f" ---------") - self.output.info(f"Size diff: {original_size-packed_size:>9}") diff --git a/recipes/uriparser/all/test_v1_package/CMakeLists.txt b/recipes/uriparser/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/uriparser/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/uriparser/all/test_v1_package/conanfile.py b/recipes/uriparser/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/uriparser/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/userspace-rcu/all/test_v1_package/CMakeLists.txt b/recipes/userspace-rcu/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/userspace-rcu/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/userspace-rcu/all/test_v1_package/conanfile.py b/recipes/userspace-rcu/all/test_v1_package/conanfile.py deleted file mode 100644 index a8ac0984771ba..0000000000000 --- a/recipes/userspace-rcu/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,23 +0,0 @@ -import os - -from conans import ConanFile, CMake -from conan.tools.build import cross_building - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - for test in ["", "-mb", "-signal"]: - bin_path = os.path.join("bin", f"test_package{test}") - self.run(bin_path, run_environment=True) diff --git a/recipes/usrsctp/all/test_v1_package/CMakeLists.txt b/recipes/usrsctp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/usrsctp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/usrsctp/all/test_v1_package/conanfile.py b/recipes/usrsctp/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/usrsctp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/utf8.h/all/test_v1_package/CMakeLists.txt b/recipes/utf8.h/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/utf8.h/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/utf8.h/all/test_v1_package/conanfile.py b/recipes/utf8.h/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/utf8.h/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/utf8proc/all/test_v1_package/CMakeLists.txt b/recipes/utf8proc/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 93470a5a40dd5..0000000000000 --- a/recipes/utf8proc/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(utf8proc REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE utf8proc::utf8proc) diff --git a/recipes/utf8proc/all/test_v1_package/conanfile.py b/recipes/utf8proc/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/utf8proc/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/utfcpp/all/test_v1_package/CMakeLists.txt b/recipes/utfcpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/utfcpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/utfcpp/all/test_v1_package/conanfile.py b/recipes/utfcpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/utfcpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/util-linux-libuuid/all/conanfile.py b/recipes/util-linux-libuuid/all/conanfile.py index 0a90fad2ce052..33b4289d276d1 100644 --- a/recipes/util-linux-libuuid/all/conanfile.py +++ b/recipes/util-linux-libuuid/all/conanfile.py @@ -23,10 +23,12 @@ class UtilLinuxLibuuidConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "with_python_bindings": [True, False], } default_options = { "shared": False, "fPIC": True, + "with_python_bindings": True, } @property @@ -82,6 +84,8 @@ def generate(self): tc = AutotoolsToolchain(self) tc.configure_args.append("--disable-all-programs") tc.configure_args.append("--enable-libuuid") + if not self.options.with_python_bindings: + tc.configure_args.append("--without-python") if self._has_sys_file_header: tc.extra_defines.append("HAVE_SYS_FILE_H") if "x86" in self.settings.arch: diff --git a/recipes/uvw/all/test_v1_package/CMakeLists.txt b/recipes/uvw/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/uvw/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/uvw/all/test_v1_package/conanfile.py b/recipes/uvw/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/uvw/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index aee0683603d8b..d785e8d1b3db4 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "20.70.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.70.0.tar.gz" + sha256: "39a7e32182df2da02955ab1c1681af9710c82115075f4caabb8689a2c04460b9" + "20.68.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.68.0.tar.gz" + sha256: "02dd1dd2925c639c01222d19f4ddd6fe12261571bcb3befc7eedaf8fa75c008f" + "20.67.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.67.0.tar.gz" + sha256: "8124bb46326f81d99ad3552b7a3bf78489784d3660fb60d7fe5f5337a21203a3" "20.66.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.66.0.tar.gz" sha256: "54d1a8cfb46e1814e1525e9bc72a4652aa708f352e55f35ef4b55804c98bfee1" @@ -15,27 +24,3 @@ sources: "20.62.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.62.0.tar.gz" sha256: "03dfc8037cf43856a41e64bbc7fc5a7cf5e6369c9158682753074ecbbe09eed1" - "20.60.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.60.0.tar.gz" - sha256: "eb72223768f93d40038181653ee5b59a53736448a6ff4e8924fd56b2fcdc00db" - "20.58.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.58.0.tar.gz" - sha256: "f71ca310cc5c39b12f56db1cf85727ee4d0f03fdf019a9e14ef4ba08addc6077" - "20.57.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.57.0.tar.gz" - sha256: "82d15eea0889a6b73c6e6170dd506995162bddfc7565c6df2c2d1e8287bbb9b0" - "20.56.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.56.0.tar.gz" - sha256: "bbac3e317eabf4e558dffe9bfeab4f5ae2d23affcc6df54fb8e580a9e0372767" - "20.55.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.55.0.tar.gz" - sha256: "bf6b22229fcd10c7cbd256bfd9abf31c829d44eefd56341c0f404e0fa0184f2f" - "20.53.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.53.0.tar.gz" - sha256: "324b857e787a472bd258aaa66f5ceeac6b01ebc41bbb423fff71559d72872783" - "19.3.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v19.3.0.tar.gz" - sha256: "6f709b4e5fe053a94a952da93c07c919b36bcb8c838c69067560ae85f97c5621" - "18.3.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v18.3.0.tar.gz" - sha256: "f51317e2a8cd743e6ff9dfd215569824eaca489c24f7d8fd94eaca44443a9728" diff --git a/recipes/uwebsockets/all/conanfile.py b/recipes/uwebsockets/all/conanfile.py index 27af62e1db549..e4cc307e9cf27 100644 --- a/recipes/uwebsockets/all/conanfile.py +++ b/recipes/uwebsockets/all/conanfile.py @@ -36,31 +36,20 @@ def _compilers_minimum_version(self): return { "Visual Studio": "15", "msvc": "191", - "gcc": "7" if Version(self.version) < "20.11.0" else "8", - "clang": "5" if Version(self.version) < "20.11.0" else "7", + "gcc": "8", + "clang": "7", "apple-clang": "10", } - def config_options(self): - # libdeflate is not supported before 19.0.0 - if Version(self.version) < "19.0.0": - del self.options.with_libdeflate - def layout(self): basic_layout(self, src_folder="src") def requirements(self): if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") - if self.options.get_safe("with_libdeflate"): + if self.options.with_libdeflate: self.requires("libdeflate/1.19") - - if Version(self.version) > "20.17.0": - self.requires("usockets/0.8.8") - elif Version(self.version) >= "19.0.0": - self.requires("usockets/0.8.1") - else: - self.requires("usockets/0.4.0") + self.requires("usockets/0.8.8") def package_id(self): self.info.clear() @@ -74,7 +63,7 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - if Version(self.version) >= "20.14.0" and self.settings.compiler == "clang" and str(self.settings.compiler.libcxx) == "libstdc++": + if self.settings.compiler == "clang" and str(self.settings.compiler.libcxx) == "libstdc++": raise ConanInvalidConfiguration(f"{self.ref} needs recent libstdc++ with charconv.") def source(self): @@ -101,7 +90,7 @@ def package_info(self): if not self.options.with_zlib: self.cpp_info.defines.append("UWS_NO_ZLIB") - if self.options.get_safe("with_libdeflate"): + if self.options.with_libdeflate: self.cpp_info.defines.append("UWS_USE_LIBDEFLATE") self.cpp_info.includedirs.append(os.path.join("include", "uWebSockets")) diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index ef42fd1e163d6..11fa83a523312 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,10 @@ versions: + "20.70.0": + folder: all + "20.68.0": + folder: all + "20.67.0": + folder: all "20.66.0": folder: all "20.65.0": @@ -9,19 +15,3 @@ versions: folder: all "20.62.0": folder: all - "20.60.0": - folder: all - "20.58.0": - folder: all - "20.57.0": - folder: all - "20.56.0": - folder: all - "20.55.0": - folder: all - "20.53.0": - folder: all - "19.3.0": - folder: all - "18.3.0": - folder: all diff --git a/recipes/v-hacd/all/test_v1_package/CMakeLists.txt b/recipes/v-hacd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/v-hacd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/v-hacd/all/test_v1_package/conanfile.py b/recipes/v-hacd/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/v-hacd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/vaapi/all/test_v1_package/CMakeLists.txt b/recipes/vaapi/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2f5bce0e6460d..0000000000000 --- a/recipes/vaapi/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -set(SOURCES ../test_package/test_package.c) - -add_executable(${PROJECT_NAME} ${SOURCES}) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/vaapi/all/test_v1_package/conanfile.py b/recipes/vaapi/all/test_v1_package/conanfile.py deleted file mode 100644 index 1b482d65b9b4e..0000000000000 --- a/recipes/vaapi/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - requires = ("xorg/system",) - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/valijson/all/test_v1_package/CMakeLists.txt b/recipes/valijson/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index a2f6329c538d2..0000000000000 --- a/recipes/valijson/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(ValiJSON REQUIRED CONFIG) -find_package(nlohmann_json REQUIRED CONFIG) -find_package(picojson REQUIRED CONFIG) -find_package(RapidJSON REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries( - ${PROJECT_NAME} - ValiJSON::valijson - nlohmann_json::nlohmann_json - picojson::picojson - RapidJSON::RapidJSON -) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/valijson/all/test_v1_package/conanfile.py b/recipes/valijson/all/test_v1_package/conanfile.py deleted file mode 100644 index f02d6b2bb8320..0000000000000 --- a/recipes/valijson/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,25 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def requirements(self): - self.requires("nlohmann_json/3.11.2") - self.requires("rapidjson/cci.20200410") - self.requires("picojson/1.3.0") - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - schema_file = os.path.join(self.source_folder, os.pardir, "test_package", "schema.json") - valid_file = os.path.join(self.source_folder, os.pardir, "test_package", "valid.json") - invalid_file = os.path.join(self.source_folder, os.pardir, "test_package", "invalid.json") - self.run(f"{bin_path} {schema_file} {valid_file} {invalid_file}", run_environment=True) diff --git a/recipes/variant-lite/all/test_v1_package/CMakeLists.txt b/recipes/variant-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7c27a523717ef..0000000000000 --- a/recipes/variant-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(variant-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::variant-lite) diff --git a/recipes/variant-lite/all/test_v1_package/conanfile.py b/recipes/variant-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/variant-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/vcglib/all/test_v1_package/CMakeLists.txt b/recipes/vcglib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/vcglib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/vcglib/all/test_v1_package/conanfile.py b/recipes/vcglib/all/test_v1_package/conanfile.py deleted file mode 100644 index 4d2909d5e4d45..0000000000000 --- a/recipes/vcglib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - obj_path = os.path.join(self.source_folder, os.pardir, "test_package", "cube.obj") - self.run(f"{bin_path} {obj_path}", run_environment=True) diff --git a/recipes/vdpau/all/test_v1_package/CMakeLists.txt b/recipes/vdpau/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9dfdf0083dcd8..0000000000000 --- a/recipes/vdpau/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/vdpau/all/test_v1_package/conanfile.py b/recipes/vdpau/all/test_v1_package/conanfile.py deleted file mode 100644 index 1b482d65b9b4e..0000000000000 --- a/recipes/vdpau/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - requires = ("xorg/system",) - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/vectorclass/all/test_v1_package/CMakeLists.txt b/recipes/vectorclass/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/vectorclass/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/vectorclass/all/test_v1_package/conanfile.py b/recipes/vectorclass/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/vectorclass/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/vectorial/all/test_v1_package/CMakeLists.txt b/recipes/vectorial/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/vectorial/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/vectorial/all/test_v1_package/conanfile.py b/recipes/vectorial/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/vectorial/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/veque/all/test_v1_package/CMakeLists.txt b/recipes/veque/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 79a72d05c7d54..0000000000000 --- a/recipes/veque/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(veque REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE veque::veque) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/veque/all/test_v1_package/conanfile.py b/recipes/veque/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/veque/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/vincentlaucsb-csv-parser/all/test_v1_package/CMakeLists.txt b/recipes/vincentlaucsb-csv-parser/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index acffc65296726..0000000000000 --- a/recipes/vincentlaucsb-csv-parser/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.9) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/vincentlaucsb-csv-parser/all/test_v1_package/conanfile.py b/recipes/vincentlaucsb-csv-parser/all/test_v1_package/conanfile.py deleted file mode 100644 index bd7165a553cf4..0000000000000 --- a/recipes/vincentlaucsb-csv-parser/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/visit_struct/all/test_v1_package/CMakeLists.txt b/recipes/visit_struct/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/visit_struct/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/visit_struct/all/test_v1_package/conanfile.py b/recipes/visit_struct/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/visit_struct/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/volk/all/conandata.yml b/recipes/volk/all/conandata.yml index ca101fd03c2bd..5f8a920ef96d6 100644 --- a/recipes/volk/all/conandata.yml +++ b/recipes/volk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.296.0": + url: "https://github.com/zeux/volk/archive/refs/tags/vulkan-sdk-1.3.296.0.tar.gz" + sha256: "8ffd0e81e29688f4abaa39e598937160b098228f37503903b10d481d4862ab85" "1.3.268.0": url: "https://github.com/zeux/volk/archive/refs/tags/vulkan-sdk-1.3.268.0.tar.gz" sha256: "f1d30fac1cdc17a8fdc8c69f371663547f92db99cfd612962190bb1e2c8ce74d" diff --git a/recipes/volk/all/conanfile.py b/recipes/volk/all/conanfile.py index ec73b65420573..d15dc5ab17016 100644 --- a/recipes/volk/all/conanfile.py +++ b/recipes/volk/all/conanfile.py @@ -59,16 +59,25 @@ def generate(self): def _patch_sources(self): cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") - replace_in_file(self, cmakelists, "find_package(Vulkan QUIET)", "find_package(VulkanHeaders REQUIRED)") + if Version(self.version) < "1.3.296": + replace_in_file(self, cmakelists, "find_package(Vulkan QUIET)", "find_package(VulkanHeaders REQUIRED)") + if Version(self.version) < "1.3.261": replace_in_file(self, cmakelists, "Vulkan::Vulkan", "Vulkan::Headers") - else: + elif Version(self.version) < "1.3.296": replace_in_file( self, cmakelists, "if(VULKAN_HEADERS_INSTALL_DIR)", "if(1)\nset(VOLK_INCLUDES ${VulkanHeaders_INCLUDE_DIRS})\nelseif(VULKAN_HEADERS_INSTALL_DIR)", ) + else: + replace_in_file( + self, + cmakelists, + "if(VULKAN_HEADERS_INSTALL_DIR)", + "if(1)\nfind_package(VulkanHeaders REQUIRED)\nset(VOLK_INCLUDES ${VulkanHeaders_INCLUDE_DIRS})\nelseif(VULKAN_HEADERS_INSTALL_DIR)", + ) def build(self): self._patch_sources() diff --git a/recipes/volk/all/test_v1_package/CMakeLists.txt b/recipes/volk/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 528a71ca307f4..0000000000000 --- a/recipes/volk/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(volk REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE volk::volk) - -add_executable(${PROJECT_NAME}_nolibs ../test_package/test_package.c) -target_compile_definitions(${PROJECT_NAME}_nolibs PRIVATE VOLK_IMPLEMENTATION) -target_link_libraries(${PROJECT_NAME}_nolibs PRIVATE volk::volk_headers) diff --git a/recipes/volk/all/test_v1_package/conanfile.py b/recipes/volk/all/test_v1_package/conanfile.py deleted file mode 100644 index da79ceaaf9ebd..0000000000000 --- a/recipes/volk/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join("bin", "test_package"), run_environment=True) - self.run(os.path.join("bin", "test_package_nolibs"), run_environment=True) diff --git a/recipes/volk/config.yml b/recipes/volk/config.yml index 76e46074dd1b4..a4fde06481cb0 100644 --- a/recipes/volk/config.yml +++ b/recipes/volk/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.296.0": + folder: "all" "1.3.268.0": folder: "all" "1.3.261.1": diff --git a/recipes/vorbis/all/test_v1_package/CMakeLists.txt b/recipes/vorbis/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 2eeb793aad929..0000000000000 --- a/recipes/vorbis/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(Vorbis REQUIRED Enc CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE Vorbis::vorbisenc) diff --git a/recipes/vorbis/all/test_v1_package/conanfile.py b/recipes/vorbis/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/vorbis/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/voropp/all/test_v1_package/CMakeLists.txt b/recipes/voropp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/voropp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/voropp/all/test_v1_package/conanfile.py b/recipes/voropp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/voropp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/vtu11/all/test_v1_package/CMakeLists.txt b/recipes/vtu11/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/vtu11/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/vtu11/all/test_v1_package/conanfile.py b/recipes/vtu11/all/test_v1_package/conanfile.py deleted file mode 100644 index 15d4a3b51a02d..0000000000000 --- a/recipes/vtu11/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,25 +0,0 @@ -from conans import ConanFile, CMake -from conan.errors import ConanException -from conan.tools.build import cross_building - -import os - -from pathlib import Path - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - test_vtu = Path(self.build_folder, "test.vtu") - if not test_vtu.exists() or "VTKFile" not in test_vtu.read_text(): - raise ConanException("Failed to generate a viable vtu file") diff --git a/recipes/vulkan-headers/all/conandata.yml b/recipes/vulkan-headers/all/conandata.yml index 707195d109331..6aa8cd0d34424 100644 --- a/recipes/vulkan-headers/all/conandata.yml +++ b/recipes/vulkan-headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.296.0": + url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/vulkan-sdk-1.3.296.0.tar.gz" + sha256: "1e872a0be3890784bbe68dcd89b7e017fed77ba95820841848718c98bda6dc33" "1.3.290.0": url: "https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/vulkan-sdk-1.3.290.0.tar.gz" sha256: "5b186e1492d97c44102fe858fb9f222b55524a8b6da940a8795c9e326ae6d722" diff --git a/recipes/vulkan-headers/all/test_v1_package/CMakeLists.txt b/recipes/vulkan-headers/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/vulkan-headers/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/vulkan-headers/all/test_v1_package/conanfile.py b/recipes/vulkan-headers/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/vulkan-headers/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/vulkan-headers/config.yml b/recipes/vulkan-headers/config.yml index dc699b4e5ec0f..dca330da68efa 100644 --- a/recipes/vulkan-headers/config.yml +++ b/recipes/vulkan-headers/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.296.0": + folder: all "1.3.290.0": folder: all "1.3.268.0": diff --git a/recipes/waf/all/test_v1_package/conanfile.py b/recipes/waf/all/test_v1_package/conanfile.py deleted file mode 100644 index 252c1f1ae1d96..0000000000000 --- a/recipes/waf/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,43 +0,0 @@ -from conan.tools.apple import is_apple_os -from conans import ConanFile, tools -from contextlib import contextmanager -import os -import shutil - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - exports_sources = "a.cpp", "b.cpp", "main.c", "main.cpp", "wscript" - - def build(self): - if tools.cross_building(self.settings): - return - - for src in self.exports_sources: - shutil.copy(os.path.join(self.source_folder, os.pardir, "test_package", src), self.build_folder) - - waf_path = tools.which("waf") - if waf_path: - waf_path = waf_path.replace("\\", "/") - assert waf_path.startswith(str(self.deps_cpp_info["waf"].rootpath)) - - with tools.vcvars(self.settings) if self.settings.compiler == "Visual Studio" else tools.no_op(): - self.run("waf -h") - self.run("waf configure") - self.run("waf") - - @contextmanager - def _add_ld_search_path(self): - env = {} - if self.settings.os in ["Linux", "FreeBSD"]: - env["LD_LIBRARY_PATH"] = [os.path.join(os.getcwd(), "build")] - elif is_apple_os(self): - env["DYLD_LIBRARY_PATH"] = [os.path.join(os.getcwd(), "build")] - with tools.environment_append(env): - yield - - def test(self): - if not tools.cross_building(self.settings): - with self._add_ld_search_path(): - self.run(os.path.join("build", "app"), run_environment=True) - self.run(os.path.join("build", "app2"), run_environment=True) diff --git a/recipes/wasm-micro-runtime/all/conandata.yml b/recipes/wasm-micro-runtime/all/conandata.yml index 507fb63f45893..ba4fdc32928ed 100644 --- a/recipes/wasm-micro-runtime/all/conandata.yml +++ b/recipes/wasm-micro-runtime/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "2.2.0": + url: "https://github.com/bytecodealliance/wasm-micro-runtime/archive/refs/tags/WAMR-2.2.0.tar.gz" + sha256: "93b6ba03f681e061967106046b1908631ee705312b9a6410f3baee7af7c6aac9" + "1.3.3": + url: "https://github.com/bytecodealliance/wasm-micro-runtime/archive/refs/tags/WAMR-1.3.3.tar.gz" + sha256: "94d18b081b6fac0574faf36338c7762a659ff175b9ae2cbc1c0a8f045edcbe7a" "1.2.3": url: "https://github.com/bytecodealliance/wasm-micro-runtime/archive/refs/tags/WAMR-1.2.3.tar.gz" sha256: "85057f788630dc1b8c371f5443cc192627175003a8ea63c491beaff29a338346" @@ -6,6 +12,14 @@ sources: url: "https://github.com/bytecodealliance/wasm-micro-runtime/archive/refs/tags/WAMR-1.2.2.tar.gz" sha256: "d328fc1e19c54cfdb4248b861de54b62977b9b85c0a40eaaeb9cd9b628c0c788" patches: + "2.2.0": + - patch_file: "patches/2.2.0-0001-fix-cmake.patch" + patch_description: "link ntdll on Windows" + patch_type: "conan" + "1.3.3": + - patch_file: "patches/1.3.3-0001-fix-cmake.patch" + patch_description: "separate static and shared build, link ntdll on Windows" + patch_type: "conan" "1.2.3": - patch_file: "patches/1.2.3-0001-fix-cmake.patch" patch_description: "separate static and shasred build" diff --git a/recipes/wasm-micro-runtime/all/conanfile.py b/recipes/wasm-micro-runtime/all/conanfile.py index 4cd796f406c9c..e8354068cc7fd 100644 --- a/recipes/wasm-micro-runtime/all/conanfile.py +++ b/recipes/wasm-micro-runtime/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -136,3 +137,5 @@ def package_info(self): self.cpp_info.system_libs.append("pthread") if self.settings.os == "Windows": self.cpp_info.system_libs.append("ws2_32") + if Version(self.version) >= "1.3.0": + self.cpp_info.system_libs.append("ntdll") diff --git a/recipes/wasm-micro-runtime/all/patches/1.3.3-0001-fix-cmake.patch b/recipes/wasm-micro-runtime/all/patches/1.3.3-0001-fix-cmake.patch new file mode 100644 index 0000000000000..c86c12d4bcbe1 --- /dev/null +++ b/recipes/wasm-micro-runtime/all/patches/1.3.3-0001-fix-cmake.patch @@ -0,0 +1,64 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0ffba05..68d03d2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -114,10 +114,10 @@ set (WAMR_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + + include (${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake) + +-set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wshadow -Wno-unused-parameter") ++# set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wshadow -Wno-unused-parameter") + # set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion -Wsign-conversion") + +-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wno-unused") ++# set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wno-unused") + + if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64") + if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang")) +@@ -135,22 +135,34 @@ endif () + + include (${SHARED_DIR}/utils/uncommon/shared_uncommon.cmake) + ++if (NOT BUILD_SHARED_LIBS) + # STATIC LIBRARY + add_library(iwasm_static STATIC ${WAMR_RUNTIME_LIB_SOURCE}) + set_target_properties (iwasm_static PROPERTIES OUTPUT_NAME vmlib) + target_include_directories(iwasm_static INTERFACE ${WAMR_ROOT_DIR}/core/iwasm/include) +-target_link_libraries (iwasm_static INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl -lpthread) ++# target_link_libraries (iwasm_static INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl -lpthread) ++target_link_libraries (iwasm_static INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS}) ++if(NOT MSVC) ++ target_link_libraries (iwasm_static INTERFACE -lm -ldl -lpthread) ++endif() + if (WAMR_BUILD_WASM_CACHE EQUAL 1) + target_link_libraries(iwasm_static INTERFACE boringssl_crypto) + endif () + + install (TARGETS iwasm_static ARCHIVE DESTINATION lib) +- ++else() + # SHARED LIBRARY + add_library (iwasm_shared SHARED ${WAMR_RUNTIME_LIB_SOURCE}) + set_target_properties (iwasm_shared PROPERTIES OUTPUT_NAME iwasm) + target_include_directories(iwasm_shared INTERFACE ${WAMR_ROOT_DIR}/core/iwasm/include) +-target_link_libraries (iwasm_shared INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl -lpthread) ++# target_link_libraries (iwasm_shared INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl -lpthread) ++target_link_libraries (iwasm_shared INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS}) ++if(NOT MSVC) ++ target_link_libraries (iwasm_shared INTERFACE -lm -ldl -lpthread) ++endif() ++if(WIN32) ++ target_link_libraries (iwasm_shared PUBLIC ntdll) ++endif() + if (WAMR_BUILD_WASM_CACHE EQUAL 1) + target_link_libraries(iwasm_shared INTERFACE boringssl_crypto) + endif () +@@ -160,6 +172,7 @@ if (MINGW) + endif () + + install (TARGETS iwasm_shared LIBRARY DESTINATION lib) ++endif() + + # HEADERS + install (FILES + diff --git a/recipes/wasm-micro-runtime/all/patches/2.2.0-0001-fix-cmake.patch b/recipes/wasm-micro-runtime/all/patches/2.2.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..c386cfb73769f --- /dev/null +++ b/recipes/wasm-micro-runtime/all/patches/2.2.0-0001-fix-cmake.patch @@ -0,0 +1,55 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 40658e9..05538a2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -122,13 +122,13 @@ set (WAMR_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + include (${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake) + + if (NOT WIN32) +- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security \ +- -ffunction-sections -fdata-sections \ +- -Wno-unused-parameter -Wno-pedantic \ +- -fvisibility=hidden") ++ # set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security \ ++ # -ffunction-sections -fdata-sections \ ++ # -Wno-unused-parameter -Wno-pedantic \ ++ # -fvisibility=hidden") + # Remove the extra spaces for better make log + string (REGEX REPLACE " *" " " CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) +- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wno-unused") ++ # set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wno-unused") + endif() + + if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64") +@@ -159,7 +159,14 @@ if (WAMR_BUILD_STATIC) + add_library(iwasm_static STATIC ${WAMR_RUNTIME_LIB_SOURCE}) + set_target_properties (iwasm_static PROPERTIES OUTPUT_NAME vmlib) + target_include_directories(iwasm_static INTERFACE ${WAMR_ROOT_DIR}/core/iwasm/include) +- target_link_libraries (iwasm_static INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl ${CMAKE_THREAD_LIBS_INIT}) ++ target_link_libraries (iwasm_static INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} ${CMAKE_THREAD_LIBS_INIT}) ++ target_link_libraries (iwasm_static INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} ${CMAKE_THREAD_LIBS_INIT}) ++ if(NOT MSVC) ++ target_link_libraries (iwasm_static INTERFACE -lm -ldl) ++ endif() ++ if(WIN32) ++ target_link_libraries (iwasm_static PUBLIC ntdll) ++ endif() + if (WAMR_BUILD_WASM_CACHE EQUAL 1) + target_link_libraries(iwasm_static INTERFACE boringssl_crypto) + endif () +@@ -180,7 +187,14 @@ if (WAMR_BUILD_SHARED) + add_library (iwasm_shared SHARED ${WAMR_RUNTIME_LIB_SOURCE}) + set_target_properties (iwasm_shared PROPERTIES OUTPUT_NAME iwasm) + target_include_directories(iwasm_shared INTERFACE ${WAMR_ROOT_DIR}/core/iwasm/include) +- target_link_libraries (iwasm_shared INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl ${CMAKE_THREAD_LIBS_INIT}) ++ target_link_libraries (iwasm_shared INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} ${CMAKE_THREAD_LIBS_INIT}) ++ target_link_libraries (iwasm_shared INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} ${CMAKE_THREAD_LIBS_INIT}) ++ if(NOT MSVC) ++ target_link_libraries (iwasm_shared INTERFACE -lm -ldl) ++ endif() ++ if(WIN32) ++ target_link_libraries (iwasm_shared PUBLIC ntdll) ++ endif() + if (WAMR_BUILD_WASM_CACHE EQUAL 1) + target_link_libraries(iwasm_shared INTERFACE boringssl_crypto) + endif () diff --git a/recipes/wasm-micro-runtime/config.yml b/recipes/wasm-micro-runtime/config.yml index 6d9f399765e2d..542597ea3f803 100644 --- a/recipes/wasm-micro-runtime/config.yml +++ b/recipes/wasm-micro-runtime/config.yml @@ -1,4 +1,8 @@ versions: + "2.2.0": + folder: all + "1.3.3": + folder: all "1.2.3": folder: all "1.2.2": diff --git a/recipes/wasmedge/all/conandata.yml b/recipes/wasmedge/all/conandata.yml index d88f2037f15aa..9dcc47a29915a 100644 --- a/recipes/wasmedge/all/conandata.yml +++ b/recipes/wasmedge/all/conandata.yml @@ -1,4 +1,45 @@ sources: + "0.14.1": + Windows: + "x86_64": + Visual Studio: + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-windows.zip" + sha256: "cc38f2be3000743becaeb8b00871dcd04b0a0a47b8329735a71615ee06cf1d7b" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.14.1/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + Linux: + "x86_64": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-manylinux2014_x86_64.tar.gz" + sha256: "a82f9fb01a6a6f1dfbd1cb069dc96d116f22c15cdb01207a5d0e65096055d092" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.14.1/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + "armv8": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-manylinux2014_aarch64.tar.gz" + sha256: "d5ac5c2405ff8a878558379740498e5fe4b126fe746eac585f7efa9bb7f32e28" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.11.1/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + Macos: + "x86_64": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-darwin_x86_64.tar.gz" + sha256: "96d01cf083d4f7e1c55683dc4b60acca6d8517ad901e2d7b4b5d64ca9a6532e0" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.14.1/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + "armv8": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-darwin_arm64.tar.gz" + sha256: "38dd10f4e78d339be91e0c3501055d4dad9bf08c3dc648e07a30df9bea2d6c4a" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.14.1/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + Android: + "armv8": + "gcc": + - url: "https://github.com/WasmEdge/WasmEdge/releases/download/0.14.1/WasmEdge-0.14.1-android_aarch64.tar.gz" + sha256: "8d979abc7777d01a4ab99e20c1052ba34985e795b6dc84101a7958fb171767a6" + - url: "https://raw.githubusercontent.com/WasmEdge/WasmEdge/0.14.0/LICENSE" + sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" "0.14.0": Windows: "x86_64": diff --git a/recipes/wasmedge/all/test_v1_package/CMakeLists.txt b/recipes/wasmedge/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/wasmedge/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/wasmedge/all/test_v1_package/conanfile.py b/recipes/wasmedge/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/wasmedge/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wasmedge/config.yml b/recipes/wasmedge/config.yml index 4d4208e046a5e..3eb29fd257a6f 100644 --- a/recipes/wasmedge/config.yml +++ b/recipes/wasmedge/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.1": + folder: "all" "0.14.0": folder: "all" "0.13.5": diff --git a/recipes/wasmer/all/conandata.yml b/recipes/wasmer/all/conandata.yml index 8cdd0665cc1d3..0ac30b85d7ed6 100644 --- a/recipes/wasmer/all/conandata.yml +++ b/recipes/wasmer/all/conandata.yml @@ -1,4 +1,66 @@ sources: + "5.0.0": + Windows: + "x86_64": + "Visual Studio": + url: "https://github.com/wasmerio/wasmer/releases/download/v5.0.0/wasmer-windows-amd64.tar.gz" + sha256: "1da23b195fb44582f9ff798e5ff23b064ce94d918ff850e54e612c207c08caa6" + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v5.0.0/wasmer-windows-gnu64.tar.gz" + sha256: "9a9edeb9909b5314fd94a3afabf83d84ed0eb0ff52b29d3b425118b0df7c65c4" + Linux: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v5.0.0/wasmer-linux-amd64.tar.gz" + sha256: "3293457cd2c7cdc9cdebd684c7b9c22ece90e05ea1b8f2a0a97ce9e2af560bcb" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v5.0.0/wasmer-linux-aarch64.tar.gz" + sha256: "99c5fbc2c448b089bb6195f0242ecca2a8ecc2bfb723400080ae653de59e34c1" + "riscv64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v5.0.0/wasmer-linux-riscv64.tar.gz" + sha256: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + Macos: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v5.0.0/wasmer-darwin-amd64.tar.gz" + sha256: "b41d6120380add11ada9f4cbe8811bb3f051d0c00600bb2c20f2cfb10f99b4f9" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v5.0.0/wasmer-darwin-arm64.tar.gz" + sha256: "b114eb2b42e3140a74f212d58e3b622e395bd83dad97466e1aa191d2d4af20ab" + "4.4.0": + Windows: + "x86_64": + "Visual Studio": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.4.0/wasmer-windows-amd64.tar.gz" + sha256: "15565759624f6847135ea8f1d2ca94bc3c8971a32443df39ad0e5b04afc659b9" + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.4.0/wasmer-windows-gnu64.tar.gz" + sha256: "e4c275e52d74343abf03d231684d8e57f5d418eb28494972c7f311028cb4e433" + Linux: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.4.0/wasmer-linux-amd64.tar.gz" + sha256: "5d29f37c52089c4f8c0303df9ba82ab03fe5cc2b6cbafa25e9535347f26ce6a5" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.4.0/wasmer-linux-aarch64.tar.gz" + sha256: "1efa2f6953248920cce1b27783ee3174bedcdb88b2e2bdca012446ad8a966261" + "riscv64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.4.0/wasmer-linux-riscv64.tar.gz" + sha256: "34e4350c2bca7a542d7a41d82f8104998b45bdf1dbafae22dbb0b4e5ca83bf4e" + Macos: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.4.0/wasmer-darwin-amd64.tar.gz" + sha256: "dd7a913e40e8d6a4051bf7430d5df15a818df0da6962ffdeb1a1c87860f5083f" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.4.0/wasmer-darwin-arm64.tar.gz" + sha256: "c703e3a94e5010e68abdedf832175c64388e749fdbe31b532a5bdc8cf8ab628e" "4.3.3": Windows: "x86_64": diff --git a/recipes/wasmer/all/test_v1_package/CMakeLists.txt b/recipes/wasmer/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/wasmer/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/wasmer/all/test_v1_package/conanfile.py b/recipes/wasmer/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/wasmer/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wasmer/config.yml b/recipes/wasmer/config.yml index faad7585c3845..57768d8568a22 100644 --- a/recipes/wasmer/config.yml +++ b/recipes/wasmer/config.yml @@ -1,4 +1,8 @@ versions: + "5.0.0": + folder: "all" + "4.4.0": + folder: "all" "4.3.3": folder: "all" "4.3.0": diff --git a/recipes/wasmtime-cpp/all/test_v1_package/CMakeLists.txt b/recipes/wasmtime-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index bc541ea90b512..0000000000000 --- a/recipes/wasmtime-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/wasmtime-cpp/all/test_v1_package/conanfile.py b/recipes/wasmtime-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/wasmtime-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/watcher/all/conandata.yml b/recipes/watcher/all/conandata.yml index bda0c9f5ba9f9..6976da974f6c5 100644 --- a/recipes/watcher/all/conandata.yml +++ b/recipes/watcher/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.12.0": + url: "https://github.com/e-dant/watcher/archive/release/0.12.0.tar.gz" + sha256: "9dd4758f4c45ae7925619ceee9e3bd5a0b33577aa5ac2cd857eca14d16749723" "0.11.0": url: "https://github.com/e-dant/watcher/archive/release/0.11.0.tar.gz" sha256: "dd92496d77b6bc27e27ed28253faae4d81bc58b19407d154bb49504b2af73664" diff --git a/recipes/watcher/all/test_v1_package/CMakeLists.txt b/recipes/watcher/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 3154400093a96..0000000000000 --- a/recipes/watcher/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.12) - -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/watcher/all/test_v1_package/conanfile.py b/recipes/watcher/all/test_v1_package/conanfile.py deleted file mode 100644 index 20d4d2e28d57e..0000000000000 --- a/recipes/watcher/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/watcher/config.yml b/recipes/watcher/config.yml index ed37614dda7ca..4670527815f92 100644 --- a/recipes/watcher/config.yml +++ b/recipes/watcher/config.yml @@ -1,4 +1,6 @@ versions: + "0.12.0": + folder: all "0.11.0": folder: all "0.10.1": diff --git a/recipes/wavelet_buffer/all/test_v1_package/CMakeLists.txt b/recipes/wavelet_buffer/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/wavelet_buffer/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/wavelet_buffer/all/test_v1_package/conanfile.py b/recipes/wavelet_buffer/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/wavelet_buffer/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wayland-protocols/all/test_v1_package/conanfile.py b/recipes/wayland-protocols/all/test_v1_package/conanfile.py deleted file mode 100644 index 37376c2138077..0000000000000 --- a/recipes/wayland-protocols/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,27 +0,0 @@ -from conans import Meson, tools -from conan import ConanFile -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "pkg_config" - - def build_requirements(self): - self.build_requires("wayland/1.21.0") - self.build_requires("meson/1.0.0") - - def requirements(self): - self.requires("wayland/1.21.0") - - def build(self): - meson = Meson(self) - env_build = tools.RunEnvironment(self) - with tools.environment_append(env_build.vars): - meson.configure() - meson.build() - - def test(self): - if not cross_building(self): - self.run(os.path.join(".", "test_package"), run_environment=True) diff --git a/recipes/wayland-protocols/all/test_v1_package/meson.build b/recipes/wayland-protocols/all/test_v1_package/meson.build deleted file mode 100644 index d1776cc1915fd..0000000000000 --- a/recipes/wayland-protocols/all/test_v1_package/meson.build +++ /dev/null @@ -1,30 +0,0 @@ -project('test_wayland_protocols', 'c') - -wayland_client_dep = dependency('wayland-client', version: '>=1.2.0', required: true) -wayland_protocols_dep = dependency('wayland-protocols', required: true) -wayland_protocols_datadir = wayland_protocols_dep.get_pkgconfig_variable('pkgdatadir') - -wayland_scanner = find_program('wayland-scanner') -wayland_scanner_code_gen = generator( - wayland_scanner, - output: '@BASENAME@-protocol.c', - arguments: ['code', '@INPUT@', '@OUTPUT@'], -) -wayland_scanner_client_header_gen = generator( - wayland_scanner, - output: '@BASENAME@-client-protocol.h', - arguments: ['client-header', '@INPUT@', '@OUTPUT@'], -) - -xdg_shell_xml = wayland_protocols_datadir/'stable/xdg-shell/xdg-shell.xml' - -xdg_shell_sources = [ - wayland_scanner_code_gen.process(xdg_shell_xml), - wayland_scanner_client_header_gen.process(xdg_shell_xml), -] - -executable('test_package', - '../test_package/test_package.c', - xdg_shell_sources, - dependencies: [wayland_client_dep], - link_args : '-lrt') diff --git a/recipes/wayland/all/conandata.yml b/recipes/wayland/all/conandata.yml index 02888e74f53f7..fd05ff5a3e0d6 100644 --- a/recipes/wayland/all/conandata.yml +++ b/recipes/wayland/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.23.0": + url: "https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.23.0/downloads/wayland-1.23.0.tar.xz" + sha256: "05b3e1574d3e67626b5974f862f36b5b427c7ceeb965cb36a4e6c2d342e45ab2" "1.22.0": url: "https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.22.0/downloads/wayland-1.22.0.tar.xz" sha256: "1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842" diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index a946c8f8c05b2..6f65f69cfb7a5 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -58,9 +58,9 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.4.0") + self.tool_requires("meson/[>=1.4.0 <2]") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.1.0") + self.tool_requires("pkgconf/[>=2.2 <3]") if not can_run(self): self.tool_requires(str(self.ref)) @@ -174,6 +174,3 @@ def package_info(self): self.cpp_info.components["wayland-egl-backend"].set_property("pkg_config_name", "wayland-egl-backend") self.cpp_info.components["wayland-egl-backend"].set_property("component_version", "3") - - # TODO: to remove in conan v2 - self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) diff --git a/recipes/wayland/all/test_package/conanfile.py b/recipes/wayland/all/test_package/conanfile.py index ad22b7b8367de..82a45a316a981 100644 --- a/recipes/wayland/all/test_package/conanfile.py +++ b/recipes/wayland/all/test_package/conanfile.py @@ -3,25 +3,18 @@ from conan import ConanFile from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout, CMakeDeps, CMakeToolchain -from conan.tools.env import VirtualBuildEnv from conan.tools.gnu import PkgConfig, PkgConfigDeps class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - test_type = "explicit" - - @property - def _has_build_profile(self): - return hasattr(self, "settings_build") def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - self.tool_requires(self.tested_reference_str) if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.1.0") + self.tool_requires("pkgconf/[2.2 <3]") def layout(self): cmake_layout(self) @@ -32,21 +25,16 @@ def generate(self): cmake_deps = CMakeDeps(self) cmake_deps.generate() pkg_config_deps = PkgConfigDeps(self) - if self._has_build_profile: - pkg_config_deps.build_context_activated = ["wayland"] - pkg_config_deps.build_context_suffix = {"wayland": "_BUILD"} pkg_config_deps.generate() - virtual_build_env = VirtualBuildEnv(self) - virtual_build_env.generate() def build(self): cmake = CMake(self) cmake.configure() cmake.build() - if self._has_build_profile: - pkg_config = PkgConfig(self, "wayland-scanner_BUILD", self.generators_folder) - wayland_scanner = pkg_config.variables["wayland_scanner"] + pkg_config = PkgConfig(self, "wayland-scanner", self.generators_folder) + wayland_scanner = pkg_config.variables["wayland_scanner"] + if can_run(self): self.run(f"{wayland_scanner} --version", env="conanrun") def test(self): diff --git a/recipes/wayland/all/test_v1_package/CMakeLists.txt b/recipes/wayland/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/wayland/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/wayland/all/test_v1_package/conanfile.py b/recipes/wayland/all/test_v1_package/conanfile.py deleted file mode 100644 index e7b714f005817..0000000000000 --- a/recipes/wayland/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,21 +0,0 @@ -import os - -from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - self.run("wayland-scanner --version", run_environment=True) - cmd = os.path.join(self.build_folder, "bin", "test_package") - self.run(cmd, run_environment=True) diff --git a/recipes/wayland/config.yml b/recipes/wayland/config.yml index 27ca5fdc22826..077dbaede856b 100644 --- a/recipes/wayland/config.yml +++ b/recipes/wayland/config.yml @@ -1,4 +1,6 @@ versions: + "1.23.0": + folder: all "1.22.0": folder: all "1.21.0": diff --git a/recipes/websocketpp/all/test_v1_package/CMakeLists.txt b/recipes/websocketpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/websocketpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/websocketpp/all/test_v1_package/conanfile.py b/recipes/websocketpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/websocketpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wg21-linear_algebra/all/test_v1_package/CMakeLists.txt b/recipes/wg21-linear_algebra/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index daf2832b167b8..0000000000000 --- a/recipes/wg21-linear_algebra/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.12) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/wg21-linear_algebra/all/test_v1_package/conanfile.py b/recipes/wg21-linear_algebra/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e264aad8e8ec..0000000000000 --- a/recipes/wg21-linear_algebra/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/whereami/all/test_v1_package/CMakeLists.txt b/recipes/whereami/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/whereami/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/whereami/all/test_v1_package/conanfile.py b/recipes/whereami/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/whereami/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/whisper-cpp/all/conandata.yml b/recipes/whisper-cpp/all/conandata.yml index 9575136360485..09dcb08b0e9bb 100644 --- a/recipes/whisper-cpp/all/conandata.yml +++ b/recipes/whisper-cpp/all/conandata.yml @@ -1,22 +1,15 @@ sources: + "1.7.2": + url: "https://github.com/ggerganov/whisper.cpp/archive/refs/tags/v1.7.2.tar.gz" + sha256: "d48e1b5b6ee18b931e98ac791eba838f83eb3b81bb8917db37fe9a79fa5e3ccb" "1.6.2": url: "https://github.com/ggerganov/whisper.cpp/archive/refs/tags/v1.6.2.tar.gz" sha256: "da7988072022acc3cfa61b370b3c51baad017f1900c3dc4e68cb276499f66894" "1.5.2": url: "https://github.com/ggerganov/whisper.cpp/archive/refs/tags/v1.5.2.tar.gz" sha256: "be9c4d5d4b5f28f02e36f28e602b7d2dcfd734dd1c834ddae91ae8db601e951f" - "1.4.3": - url: "https://github.com/ggerganov/whisper.cpp/archive/refs/tags/v1.4.3.tar.gz" - sha256: "5f11c0542639bfb0b3c9d1b033d10ccd69ca26e739aec9366766617bc58a6e7c" - "1.2.1": - url: "https://github.com/ggerganov/whisper.cpp/archive/refs/tags/v1.2.1.tar.gz" - sha256: "69d47fc2ba982c42bd5bade4b7c827d5b3ed74b9c59323991c45a9f0f24eb6ed" patches: "1.6.2": - patch_file: "patches/1.6.2-0001-remove_hardcoded_cxxstd.patch" patch_description: "Remove hardcoded CMAKE_CXX_STANDARD" patch_type: "conan" - "1.2.1": - - patch_file: "patches/1.2.1-0001-find_package_openblas.patch" - patch_description: "Fix OpenBlas cmake target name" - patch_type: "conan" diff --git a/recipes/whisper-cpp/all/conanfile.py b/recipes/whisper-cpp/all/conanfile.py index 089cc8be428c0..7351a78bc7271 100644 --- a/recipes/whisper-cpp/all/conanfile.py +++ b/recipes/whisper-cpp/all/conanfile.py @@ -5,10 +5,10 @@ from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.scm import Version -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.1" class WhisperCppConan(ConanFile): @@ -48,7 +48,7 @@ class WhisperCppConan(ConanFile): "no_fma": False, "no_f16c": False, "no_accelerate": False, - "metal": False, + "metal": True, "metal_ndebug": False, "with_coreml": False, "coreml_allow_fallback": False, @@ -73,10 +73,6 @@ def _compilers_minimum_version(self): }, }.get(self._min_cppstd, {}) - @property - def _is_metal_option_available(self): - return is_apple_os(self) and Version(self.version) >= "1.5.2" - @property def _is_openvino_option_available(self): return Version(self.version) >= "1.5.2" @@ -85,6 +81,8 @@ def config_options(self): if is_apple_os(self): del self.options.with_blas else: + del self.options.metal + del self.options.metal_ndebug del self.options.no_accelerate del self.options.with_coreml del self.options.coreml_allow_fallback @@ -92,10 +90,6 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if not self._is_metal_option_available: - del self.options.metal - del self.options.metal_ndebug - if not self._is_openvino_option_available: del self.options.with_openvino @@ -158,6 +152,9 @@ def generate(self): if self.options.no_f16c: tc.variables["WHISPER_NO_F16C"] = True + # TODO: Implement OpenMP support + tc.variables["GGML_OPENMP"] = False + if self.options.get_safe("with_openvino"): tc.variables["WHISPER_OPENVINO"] = True # TODO: remove with Conan 1.x support @@ -166,15 +163,15 @@ def generate(self): if is_apple_os(self): if self.options.no_accelerate: tc.variables["WHISPER_NO_ACCELERATE"] = True - if not self.options.get_safe("metal"): - tc.variables["WHISPER_METAL"] = False if self.options.get_safe("metal_ndebug"): tc.variables["WHISPER_METAL_NDEBUG"] = True if self.options.with_coreml: tc.variables["WHISPER_COREML"] = True if self.options.coreml_allow_fallback: tc.variables["WHISPER_COREML_ALLOW_FALLBACK"] = True - if self._is_metal_option_available: + if Version(self.version) >= "1.7.0": + tc.variables["GGML_METAL"] = self.options.metal + else: tc.variables["WHISPER_METAL"] = self.options.metal else: if self.options.with_blas: @@ -199,6 +196,8 @@ def package(self): def package_info(self): self.cpp_info.libs = ["whisper"] + if Version(self.version) >= "1.7.0": + self.cpp_info.libs.append("ggml") self.cpp_info.resdirs = ["res"] self.cpp_info.libdirs = ["lib", "lib/static"] diff --git a/recipes/whisper-cpp/all/patches/1.2.1-0001-find_package_openblas.patch b/recipes/whisper-cpp/all/patches/1.2.1-0001-find_package_openblas.patch deleted file mode 100644 index c8752384a40d1..0000000000000 --- a/recipes/whisper-cpp/all/patches/1.2.1-0001-find_package_openblas.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -100,15 +100,7 @@ - endif() - - if (WHISPER_SUPPORT_OPENBLAS) -- find_library(OPENBLAS_LIB -- NAMES openblas libopenblas -- ) -- if (OPENBLAS_LIB) -- message(STATUS "OpenBLAS found") -- -- set(WHISPER_EXTRA_LIBS ${WHISPER_EXTRA_LIBS} ${OPENBLAS_LIB}) -- set(WHISPER_EXTRA_FLAGS ${WHISPER_EXTRA_FLAGS} -DGGML_USE_OPENBLAS) -- else() -- message(WARNING "OpenBLAS not found") -- endif() -+ find_package(BLAS REQUIRED CONFIG) -+ set(WHISPER_EXTRA_LIBS ${WHISPER_EXTRA_LIBS} OpenBLAS::OpenBLAS) -+ set(WHISPER_EXTRA_FLAGS ${WHISPER_EXTRA_FLAGS} -DGGML_USE_OPENBLAS) - endif() - diff --git a/recipes/whisper-cpp/config.yml b/recipes/whisper-cpp/config.yml index a159f6f70ca5c..de09f794ed1f1 100644 --- a/recipes/whisper-cpp/config.yml +++ b/recipes/whisper-cpp/config.yml @@ -1,9 +1,7 @@ versions: + "1.7.2": + folder: "all" "1.6.2": folder: "all" "1.5.2": folder: "all" - "1.4.3": - folder: "all" - "1.2.1": - folder: "all" diff --git a/recipes/wil/all/test_v1_package/CMakeLists.txt b/recipes/wil/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/wil/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/wil/all/test_v1_package/conanfile.py b/recipes/wil/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/wil/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wildmidi/all/test_v1_package/CMakeLists.txt b/recipes/wildmidi/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/wildmidi/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/wildmidi/all/test_v1_package/conanfile.py b/recipes/wildmidi/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/wildmidi/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wilzegers-autotest/all/test_v1_package/CMakeLists.txt b/recipes/wilzegers-autotest/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/wilzegers-autotest/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/wilzegers-autotest/all/test_v1_package/conanfile.py b/recipes/wilzegers-autotest/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/wilzegers-autotest/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wineditline/all/test_v1_package/CMakeLists.txt b/recipes/wineditline/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/wineditline/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/wineditline/all/test_v1_package/conanfile.py b/recipes/wineditline/all/test_v1_package/conanfile.py deleted file mode 100644 index ec80e0c5cc134..0000000000000 --- a/recipes/wineditline/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = ("os", "compiler", "build_type", "arch") - generators = ("cmake", "cmake_find_package_multi") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/winflexbison/all/test_v1_package/CMakeLists.txt b/recipes/winflexbison/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/winflexbison/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/winflexbison/all/test_v1_package/conanfile.py b/recipes/winflexbison/all/test_v1_package/conanfile.py deleted file mode 100644 index 744b30cd87048..0000000000000 --- a/recipes/winflexbison/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,26 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake" - test_type = "explicit" - - def build_requirements(self): - self.build_requires(self.tested_reference_str) - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - self.run("win_flex --version") - self.run("win_bison --version") - if not tools.cross_building(self, skip_x64_x86=True): - bison_test = os.path.join("bin", "bison_test_package") - self.run(bison_test, run_environment=True) - flex_test = os.path.join("bin", "flex_test_package") - basic_nr_txt = os.path.join(self.source_folder, os.pardir, "test_package", "basic_nr.txt") - self.run(f"{flex_test} {basic_nr_txt}", run_environment=True) diff --git a/recipes/winmd/all/test_v1_package/CMakeLists.txt b/recipes/winmd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/winmd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/winmd/all/test_v1_package/conanfile.py b/recipes/winmd/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/winmd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wiringpi/all/test_v1_package/CMakeLists.txt b/recipes/wiringpi/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index caae3a2fdfe40..0000000000000 --- a/recipes/wiringpi/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(wiringpi REQUIRED CONFIG) - -add_executable(test_package ../test_package/test_package.c) -target_link_libraries(test_package wiringpi::wiringpi) diff --git a/recipes/wiringpi/all/test_v1_package/conanfile.py b/recipes/wiringpi/all/test_v1_package/conanfile.py deleted file mode 100644 index 0a93a273ba575..0000000000000 --- a/recipes/wiringpi/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wise_enum/all/test_v1_package/CMakeLists.txt b/recipes/wise_enum/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/wise_enum/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/wise_enum/all/test_v1_package/conanfile.py b/recipes/wise_enum/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/wise_enum/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wolfssl/all/conandata.yml b/recipes/wolfssl/all/conandata.yml index df40064b3c0f9..ac2d8b39c2b06 100644 --- a/recipes/wolfssl/all/conandata.yml +++ b/recipes/wolfssl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.7.2": + url: "https://github.com/wolfSSL/wolfssl/archive/v5.7.2-stable.tar.gz" + sha256: "0f2ed82e345b833242705bbc4b08a2a2037a33f7bf9c610efae6464f6b10e305" "5.7.0": url: "https://github.com/wolfSSL/wolfssl/archive/v5.7.0-stable.tar.gz" sha256: "2de93e8af588ee856fe67a6d7fce23fc1b226b74d710b0e3946bc8061f6aa18f" diff --git a/recipes/wolfssl/all/conanfile.py b/recipes/wolfssl/all/conanfile.py index af1ac29b52447..71b7470fcdfeb 100644 --- a/recipes/wolfssl/all/conanfile.py +++ b/recipes/wolfssl/all/conanfile.py @@ -14,13 +14,13 @@ class WolfSSLConan(ConanFile): name = "wolfssl" - license = "GPL-2.0-or-later" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://www.wolfssl.com/" description = ( "wolfSSL (formerly CyaSSL) is a small, fast, portable implementation " "of TLS/SSL for embedded devices to the cloud." ) + license = "GPL-2.0-or-later" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.wolfssl.com/" topics = ("wolfssl", "tls", "ssl", "iot", "fips", "secure", "cryptology", "secret") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -42,6 +42,7 @@ class WolfSSLConan(ConanFile): "with_curl": [True, False], "with_quic": [True, False], "with_experimental": [True, False], + "with_rpk": [True, False], } default_options = { "shared": False, @@ -61,6 +62,7 @@ class WolfSSLConan(ConanFile): "with_curl": False, "with_quic": False, "with_experimental": False, + "with_rpk": False, } @property @@ -76,6 +78,8 @@ def config_options(self): del self.options.with_quic if Version(self.version) < "5.7.0": del self.options.with_experimental + if Version(self.version) < "5.7.2": + del self.options.with_rpk def configure(self): if self.options.shared: @@ -92,6 +96,7 @@ def validate(self): def build_requirements(self): self.tool_requires("libtool/2.4.7") + self.tool_requires("cmake/[>=3.22 <4]") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): @@ -132,6 +137,8 @@ def generate(self): tc.configure_args.append("--enable-quic") if self.options.get_safe("with_experimental"): tc.configure_args.append("--enable-experimental") + if self.options.get_safe("with_rpk"): + tc.configure_args.append("--enable-rpk") if is_msvc(self): tc.extra_ldflags.append("-ladvapi32") if check_min_vs(self, "180", raise_invalid=False): diff --git a/recipes/wolfssl/all/test_v1_package/CMakeLists.txt b/recipes/wolfssl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/wolfssl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/wolfssl/all/test_v1_package/conanfile.py b/recipes/wolfssl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/wolfssl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wolfssl/config.yml b/recipes/wolfssl/config.yml index 336a121cbb73d..0734e5e20ba48 100644 --- a/recipes/wolfssl/config.yml +++ b/recipes/wolfssl/config.yml @@ -1,4 +1,6 @@ versions: + "5.7.2": + folder: all "5.7.0": folder: all "5.6.6": diff --git a/recipes/wslay/all/test_v1_package/CMakeLists.txt b/recipes/wslay/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/wslay/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/wslay/all/test_v1_package/conanfile.py b/recipes/wslay/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/wslay/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wtl/all/test_v1_package/CMakeLists.txt b/recipes/wtl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/wtl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/wtl/all/test_v1_package/conanfile.py b/recipes/wtl/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/wtl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/wxwidgets/all/conanfile.py b/recipes/wxwidgets/all/conanfile.py index 59a1e6e30d3ee..2c7e205109d1f 100644 --- a/recipes/wxwidgets/all/conanfile.py +++ b/recipes/wxwidgets/all/conanfile.py @@ -140,14 +140,14 @@ def requirements(self): self.requires("gstreamer/1.22.3") self.requires("gst-plugins-base/1.19.2") self.requires("libcurl/[>=7.78.0 <9]") - + if self.options.jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.jpeg == "libjpeg-turbo": self.requires("libjpeg-turbo/3.0.2") elif self.options.jpeg == "mozjpeg": self.requires("mozjpeg/4.1.5") - + self.requires("libpng/[>=1.6 <2]") self.requires("libtiff/4.6.0") self.requires("zlib/[>=1.2.11 <2]") @@ -240,6 +240,7 @@ def generate(self): tc.variables["wxUSE_URL"] = self.options.protocol tc.variables["wxUSE_PROTOCOL"] = self.options.protocol tc.variables["wxUSE_FS_INET"] = self.options.fs_inet + tc.cache_variables["CMAKE_CONFIGURATION_TYPES"] = "Debug;Release;RelWithDebInfo;MinSizeRel" tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" for item in str(self.options.custom_enables).split(","): diff --git a/recipes/wyhash/all/conanfile.py b/recipes/wyhash/all/conanfile.py index 5ef173786f6ec..1fde6aed28d50 100644 --- a/recipes/wyhash/all/conanfile.py +++ b/recipes/wyhash/all/conanfile.py @@ -16,6 +16,7 @@ class WyhashConan(ConanFile): package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + deprecated = "rapidhash" def layout(self): basic_layout(self, src_folder="src") diff --git a/recipes/wyhash/all/test_v1_package/CMakeLists.txt b/recipes/wyhash/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 961b416af6b07..0000000000000 --- a/recipes/wyhash/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/wyhash/all/test_v1_package/conanfile.py b/recipes/wyhash/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/wyhash/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xapian-core/all/test_v1_package/CMakeLists.txt b/recipes/xapian-core/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/xapian-core/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/xapian-core/all/test_v1_package/conanfile.py b/recipes/xapian-core/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/xapian-core/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xbyak/all/conandata.yml b/recipes/xbyak/all/conandata.yml index ea15bf45963b8..5fbe0f98a2367 100644 --- a/recipes/xbyak/all/conandata.yml +++ b/recipes/xbyak/all/conandata.yml @@ -1,4 +1,16 @@ sources: + "7.21": + url: "https://github.com/herumi/xbyak/archive/v7.21.tar.gz" + sha256: "23aad8abc682205ad718d77d51e8e66a569c66de1722b8772d1afb6cbb8d300b" + "7.20": + url: "https://github.com/herumi/xbyak/archive/v7.20.tar.gz" + sha256: "82824b436751d570f404f9d4598216dfd29596ac149bba8b6b5b4fc555061a12" + "7.10": + url: "https://github.com/herumi/xbyak/archive/v7.10.tar.gz" + sha256: "0f1060c9d14a090615f67391d7790ae596d0580726c79c9db6a249febda7ad63" + "7.08": + url: "https://github.com/herumi/xbyak/archive/v7.08.tar.gz" + sha256: "ef7f0504676635a04f2d0befdaf1c324bb1ea6af4e2636cb09eecb3da31d3402" "7.07.1": url: "https://github.com/herumi/xbyak/archive/v7.07.1.tar.gz" sha256: "9f2a1215ed0511e421895d57e2681981f9f9f8fb952655919a9cf859cfe474ae" diff --git a/recipes/xbyak/all/test_v1_package/CMakeLists.txt b/recipes/xbyak/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9eb3258c25176..0000000000000 --- a/recipes/xbyak/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(xbyak REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE xbyak::xbyak) diff --git a/recipes/xbyak/all/test_v1_package/conanfile.py b/recipes/xbyak/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/xbyak/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xbyak/config.yml b/recipes/xbyak/config.yml index 6b2757b9d33b2..00913bb048c6f 100644 --- a/recipes/xbyak/config.yml +++ b/recipes/xbyak/config.yml @@ -1,4 +1,12 @@ versions: + "7.21": + folder: all + "7.20": + folder: all + "7.10": + folder: all + "7.08": + folder: all "7.07.1": folder: all "7.07": diff --git a/recipes/xege/all/test_v1_package/CMakeLists.txt b/recipes/xege/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/xege/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/xege/all/test_v1_package/conanfile.py b/recipes/xege/all/test_v1_package/conanfile.py deleted file mode 100644 index 423b8142d5f25..0000000000000 --- a/recipes/xege/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class XegeTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xerces-c/all/conandata.yml b/recipes/xerces-c/all/conandata.yml index 7c2baf54d287f..f8a528e307948 100644 --- a/recipes/xerces-c/all/conandata.yml +++ b/recipes/xerces-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.0": + url: "https://github.com/apache/xerces-c/archive/v3.3.0.tar.gz" + sha256: "0f28ea2d7a0a3824d326c8bc4be26a3bb01dde289663beb6f15b241f80cbd3ae" "3.2.5": url: "https://github.com/apache/xerces-c/archive/v3.2.5.tar.gz" sha256: "4042f6f11c9eba745dc0e5f8035d98b442097ee4efc69e4853410e4737a987f8" @@ -12,6 +15,10 @@ sources: url: "https://github.com/apache/xerces-c/archive/v3.2.2.tar.gz" sha256: "7fe5af7d7ad9d4a06503c15fb5bb0aa5f2ba7959700d16c21b8bd183ca542e7f" patches: + "3.3.0": + - patch_file: "patches/0002-find-icu-programs.patch" + patch_description: "Find ICU programs on environment" + patch_type: "conan" "3.2.5": - patch_file: "patches/0002-find-icu-programs.patch" patch_description: "Find ICU programs on environment" diff --git a/recipes/xerces-c/all/conanfile.py b/recipes/xerces-c/all/conanfile.py index 057e07e361250..a7daf64e71cdb 100644 --- a/recipes/xerces-c/all/conanfile.py +++ b/recipes/xerces-c/all/conanfile.py @@ -120,6 +120,10 @@ def generate(self): tc = CMakeToolchain(self) # Because upstream overrides BUILD_SHARED_LIBS as a CACHE variable tc.cache_variables["BUILD_SHARED_LIBS"] = "ON" if self.options.shared else "OFF" + + # Prevent linking against unused found library + tc.cache_variables["NSL_LIBRARY"] = "NSL_LIBRARY-NOTFOUND" + # https://xerces.apache.org/xerces-c/build-3.html tc.variables["network"] = self.options.network if self.options.network: @@ -172,7 +176,7 @@ def package_info(self): if self.settings.os == "Macos": self.cpp_info.frameworks = ["CoreFoundation", "CoreServices"] elif self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.extend(["pthread", "nsl"]) + self.cpp_info.system_libs.extend(["pthread"]) if Version(conan_version).major < 2: self.cpp_info.names["cmake_find_package"] = "XercesC" diff --git a/recipes/xerces-c/all/test_v1_package/CMakeLists.txt b/recipes/xerces-c/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/xerces-c/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/xerces-c/all/test_v1_package/conanfile.py b/recipes/xerces-c/all/test_v1_package/conanfile.py deleted file mode 100644 index 19e6a0c06e3d8..0000000000000 --- a/recipes/xerces-c/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xerces-c/config.yml b/recipes/xerces-c/config.yml index a8902c8d470c0..563b86a347844 100644 --- a/recipes/xerces-c/config.yml +++ b/recipes/xerces-c/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.0": + folder: all "3.2.5": folder: all "3.2.4": diff --git a/recipes/xkbcommon/all/test_v1_package/CMakeLists.txt b/recipes/xkbcommon/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/xkbcommon/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/xkbcommon/all/test_v1_package/conanfile.py b/recipes/xkbcommon/all/test_v1_package/conanfile.py deleted file mode 100644 index e9bf8aa5f82dd..0000000000000 --- a/recipes/xkbcommon/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -import os - -from conans import ConanFile, CMake -from conan.tools.build import cross_building - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xkeyboard-config/all/test_v1_package/conanfile.py b/recipes/xkeyboard-config/all/test_v1_package/conanfile.py deleted file mode 100644 index 510f8a1855391..0000000000000 --- a/recipes/xkeyboard-config/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,13 +0,0 @@ -from conans import ConanFile, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "pkg_config" - - def build(self): - pass - - def test(self): - self.run("pkg-config --validate ./xkeyboard-config.pc") diff --git a/recipes/xlnt/all/test_v1_package/CMakeLists.txt b/recipes/xlnt/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/xlnt/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/xlnt/all/test_v1_package/conanfile.py b/recipes/xlnt/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/xlnt/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xlsxio/all/test_v1_package/CMakeLists.txt b/recipes/xlsxio/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/xlsxio/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/xlsxio/all/test_v1_package/conanfile.py b/recipes/xlsxio/all/test_v1_package/conanfile.py deleted file mode 100644 index 49a3a66ea5bad..0000000000000 --- a/recipes/xlsxio/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xmlsec/all/conandata.yml b/recipes/xmlsec/all/conandata.yml index d050eee6edc63..387c156be7f71 100644 --- a/recipes/xmlsec/all/conandata.yml +++ b/recipes/xmlsec/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.6": + url: "https://github.com/lsh123/xmlsec/releases/download/1.3.6/xmlsec1-1.3.6.tar.gz" + sha256: "952b626ad3f3be1a4598622dab52fdab2a8604d0837c1b00589f3637535af92f" "1.3.4": url: "https://github.com/lsh123/xmlsec/releases/download/1.3.4/xmlsec1-1.3.4.tar.gz" sha256: "45ad9078d41ae76844ad2f8651600ffeec0fdd128ead988a8d69e907c57aee75" diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index e22e7d46a9e13..f6e3b2305fa3e 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -64,7 +64,7 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) if self.options.with_xslt: - self.requires("libxslt/1.1.39") + self.requires("libxslt/1.1.42") def validate(self): if self.options.with_nss: @@ -80,7 +80,7 @@ def build_requirements(self): if not is_msvc(self): self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.1.0") + self.tool_requires("pkgconf/[>=2.2 <3]") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/xmlsec/all/test_v1_package/CMakeLists.txt b/recipes/xmlsec/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/xmlsec/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/xmlsec/all/test_v1_package/conanfile.py b/recipes/xmlsec/all/test_v1_package/conanfile.py deleted file mode 100644 index 8a68c0f50f6f9..0000000000000 --- a/recipes/xmlsec/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["XMLSEC_WITH_XSLT"] = self.options["xmlsec"].with_xslt - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - xml_file = os.path.join(self.source_folder, os.pardir, "test_package", "sign1-tmpl.xml") - pem_file = os.path.join(self.source_folder, os.pardir, "test_package", "rsakey.pem") - self.run(f"{bin_path} {xml_file} {pem_file}", run_environment=True) diff --git a/recipes/xmlsec/config.yml b/recipes/xmlsec/config.yml index ee5db77e3b9e5..58bd6590d5b0d 100644 --- a/recipes/xmlsec/config.yml +++ b/recipes/xmlsec/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.6": + folder: all "1.3.4": folder: all "1.3.3": diff --git a/recipes/xnnpack/all/test_v1_package/CMakeLists.txt b/recipes/xnnpack/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 7a503e7fa1a41..0000000000000 --- a/recipes/xnnpack/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(xnnpack REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE xnnpack::xnnpack) -target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) diff --git a/recipes/xnnpack/all/test_v1_package/conanfile.py b/recipes/xnnpack/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/xnnpack/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xorg-cf-files/all/test_v1_package/Imakefile b/recipes/xorg-cf-files/all/test_v1_package/Imakefile deleted file mode 100644 index a4a7f50021773..0000000000000 --- a/recipes/xorg-cf-files/all/test_v1_package/Imakefile +++ /dev/null @@ -1,4 +0,0 @@ -PROGRAMS = ProgramTargetName(test_package) -AllTarget($(PROGRAMS)) - -NormalProgramTarget(test_package,test_package.o,,,) diff --git a/recipes/xorg-cf-files/all/test_v1_package/conanfile.py b/recipes/xorg-cf-files/all/test_v1_package/conanfile.py deleted file mode 100644 index 843ab72802179..0000000000000 --- a/recipes/xorg-cf-files/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,45 +0,0 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -import contextlib -import os -import shutil - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - exports_sources = "Imakefile", "test_package.c" - - def build_requirements(self): - self.build_requires("imake/1.0.8") - if not tools.get_env("CONAN_MAKE_PROGRAM"): - self.build_requires("make/4.3") - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - @contextlib.contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "CC": "cl -nologo", - } - with tools.environment_append(env): - yield - else: - yield - - def build(self): - for src in self.exports_sources: - shutil.copy(os.path.join(self.source_folder, src), os.path.join(self.build_folder, src)) - if not tools.cross_building(self): - with self._build_context(): - self.run("imake -DUseInstalled -I{}".format(self.deps_user_info["xorg-cf-files"].CONFIG_PATH), run_environment=True) - with self._build_context(): - autotools = AutoToolsBuildEnvironment(self) - with tools.environment_append(autotools.vars): - autotools.make(target="test_package") - - def test(self): - if not tools.cross_building(self): - self.run(os.path.join(".", "test_package"), run_environment=True) diff --git a/recipes/xorg-cf-files/all/test_v1_package/test_package.c b/recipes/xorg-cf-files/all/test_v1_package/test_package.c deleted file mode 100644 index c5e7cd00f008f..0000000000000 --- a/recipes/xorg-cf-files/all/test_v1_package/test_package.c +++ /dev/null @@ -1,6 +0,0 @@ -#include - -int main() { - printf("hello world!\n"); - return 0; -} diff --git a/recipes/xorg-gccmakedep/all/test_v1_package/Makefile b/recipes/xorg-gccmakedep/all/test_v1_package/Makefile deleted file mode 100644 index b129780b6cb50..0000000000000 --- a/recipes/xorg-gccmakedep/all/test_v1_package/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -test_package: - $(CC) test_package.c -o test_package diff --git a/recipes/xorg-gccmakedep/all/test_v1_package/conanfile.py b/recipes/xorg-gccmakedep/all/test_v1_package/conanfile.py deleted file mode 100644 index 7ac03637058e2..0000000000000 --- a/recipes/xorg-gccmakedep/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, tools -from conans.errors import ConanException -import os -import shutil - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - exports_sources = "Makefile", "test_package.c", "test_package.h" - - def build(self): - for src in self.exports_sources: - shutil.copy(os.path.join(self.source_folder, src), os.path.join(self.build_folder, src)) - - def test(self): - src = os.path.join(self.source_folder, "test_package.c") - self.run("gccmakedep {}".format(src), run_environment=True) - - if tools.load(os.path.join(self.source_folder, "Makefile")) == os.path.join(self.build_folder, "Makefile"): - raise ConanException("xorg-gccmakedep did not modify `Makefile'") diff --git a/recipes/xorg-gccmakedep/all/test_v1_package/test_package.c b/recipes/xorg-gccmakedep/all/test_v1_package/test_package.c deleted file mode 100644 index d58f0ed2d240b..0000000000000 --- a/recipes/xorg-gccmakedep/all/test_v1_package/test_package.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "test_package.h" - -#include - -int main() { - printf(TEXT); - return EXIT_SUCCESS; -} diff --git a/recipes/xorg-gccmakedep/all/test_v1_package/test_package.h b/recipes/xorg-gccmakedep/all/test_v1_package/test_package.h deleted file mode 100644 index 32e2088cba479..0000000000000 --- a/recipes/xorg-gccmakedep/all/test_v1_package/test_package.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef TEST_PACKAGE_H -#define TEST_PACKAGE_H - -#include - -#define TEXT "hello world\n" - -#endif // TEST_PACKAGE_H diff --git a/recipes/xorg-macros/all/test_v1_package/Makefile.am b/recipes/xorg-macros/all/test_v1_package/Makefile.am deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/recipes/xorg-macros/all/test_v1_package/conanfile.py b/recipes/xorg-macros/all/test_v1_package/conanfile.py deleted file mode 100644 index 81b7391be15ba..0000000000000 --- a/recipes/xorg-macros/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,32 +0,0 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -import os -import shutil - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - exports_sources = "configure.ac", "Makefile.am", - generators = "pkg_config" - test_type = "explicit" - - @property - def _settings_build(self): - return self.settings_build if hasattr(self, "settings_build") else self.settings - - def build_requirements(self): - self.build_requires(self.tested_reference_str) - self.build_requires("automake/1.16.3") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - - def build(self): - for src in self.exports_sources: - shutil.copy(os.path.join(self.source_folder, src), self.build_folder) - print(tools.get_env("AUTOMAKE_CONAN_INCLUDES")) - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), win_bash=self._settings_build.os == "Windows", run_environment=True) - autotools = AutoToolsBuildEnvironment(self, win_bash=self._settings_build.os == "Windows") - autotools.configure() - - def test(self): - # FIXME: how to test extra pkg_config content? - pass diff --git a/recipes/xorg-macros/all/test_v1_package/configure.ac b/recipes/xorg-macros/all/test_v1_package/configure.ac deleted file mode 100644 index 3bb86acef57c9..0000000000000 --- a/recipes/xorg-macros/all/test_v1_package/configure.ac +++ /dev/null @@ -1,14 +0,0 @@ -AC_PREREQ([2.69]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_INIT([test_package], [1.0]) -AC_CONFIG_SRCDIR([configure.ac]) -AM_INIT_AUTOMAKE([-Wall -Werror foreign]) - -m4_ifndef([XORG_MACROS_VERSION],[ - m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])],[ - AC_MSG_NOTICE([xorg-macros version ok])]) - -XORG_MACROS_VERSION([1.1]) - -AC_CONFIG_FILES(Makefile) -AC_OUTPUT diff --git a/recipes/xorg-makedepend/all/test_v1_package/conanfile.py b/recipes/xorg-makedepend/all/test_v1_package/conanfile.py deleted file mode 100644 index b34e1e6e6345d..0000000000000 --- a/recipes/xorg-makedepend/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,13 +0,0 @@ -from conans import ConanFile, tools -import os - -required_conan_version = ">=1.36.0" - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not tools.cross_building(self): - src = os.path.join(self.source_folder, "test_package.c") - self.run("makedepend -f- -- -- {}".format(src), run_environment=True) diff --git a/recipes/xorg-makedepend/all/test_v1_package/test_package.c b/recipes/xorg-makedepend/all/test_v1_package/test_package.c deleted file mode 100644 index d58f0ed2d240b..0000000000000 --- a/recipes/xorg-makedepend/all/test_v1_package/test_package.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "test_package.h" - -#include - -int main() { - printf(TEXT); - return EXIT_SUCCESS; -} diff --git a/recipes/xorg-makedepend/all/test_v1_package/test_package.h b/recipes/xorg-makedepend/all/test_v1_package/test_package.h deleted file mode 100644 index 32e2088cba479..0000000000000 --- a/recipes/xorg-makedepend/all/test_v1_package/test_package.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef TEST_PACKAGE_H -#define TEST_PACKAGE_H - -#include - -#define TEXT "hello world\n" - -#endif // TEST_PACKAGE_H diff --git a/recipes/xorg-proto/all/test_v1_package/CMakeLists.txt b/recipes/xorg-proto/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 39b78234180b2..0000000000000 --- a/recipes/xorg-proto/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_executable(${PROJECT_NAME} ../test_package/src/test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_property(TARGET ${PROJECT_NAME} PROPERTY C_STANDARD 99) diff --git a/recipes/xorg-proto/all/test_v1_package/conanfile.py b/recipes/xorg-proto/all/test_v1_package/conanfile.py deleted file mode 100644 index 74a00ca1ef212..0000000000000 --- a/recipes/xorg-proto/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xorg/all/test_v1_package/CMakeLists.txt b/recipes/xorg/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index e6abf262eddbd..0000000000000 --- a/recipes/xorg/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(xorg REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE xorg::xorg) diff --git a/recipes/xorg/all/test_v1_package/conanfile.py b/recipes/xorg/all/test_v1_package/conanfile.py deleted file mode 100644 index ce69ba8b754ca..0000000000000 --- a/recipes/xorg/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi", "pkg_config" - - def build(self): - self.run("pkg-config --validate ./uuid.pc") - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xorstr/all/test_v1_package/CMakeLists.txt b/recipes/xorstr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/xorstr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/xorstr/all/test_v1_package/conanfile.py b/recipes/xorstr/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/xorstr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xoshiro-cpp/all/test_v1_package/CMakeLists.txt b/recipes/xoshiro-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/xoshiro-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/xoshiro-cpp/all/test_v1_package/conanfile.py b/recipes/xoshiro-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 2fc6ad2a6a2ba..0000000000000 --- a/recipes/xoshiro-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import CMake, ConanFile, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run("{0}".format(bin_path), run_environment=True) diff --git a/recipes/xpack/all/test_v1_package/CMakeLists.txt b/recipes/xpack/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/xpack/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/xpack/all/test_v1_package/conanfile.py b/recipes/xpack/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/xpack/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xproperty/all/conandata.yml b/recipes/xproperty/all/conandata.yml index e22cd28ead6ab..b13aae1530d67 100644 --- a/recipes/xproperty/all/conandata.yml +++ b/recipes/xproperty/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.12.0": + url: "https://github.com/jupyter-xeus/xproperty/archive/refs/tags/0.12.0.tar.gz" + sha256: "27cbc8e441dcc515a1ebbf11bad5ef240748d32f5e1adf84deed87a1dc57a440" "0.11.0": url: "https://github.com/jupyter-xeus/xproperty/archive/refs/tags/0.11.0.tar.gz" sha256: "bf86a11c6758308aa0aa0f64d8dd24cd3e9d78378467b74002f552bfb75fc0eb" diff --git a/recipes/xproperty/all/conanfile.py b/recipes/xproperty/all/conanfile.py index e6eeff282118e..dce5d7f565304 100644 --- a/recipes/xproperty/all/conanfile.py +++ b/recipes/xproperty/all/conanfile.py @@ -2,35 +2,42 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get, save from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os import textwrap -required_conan_version = ">=1.52.0" +required_conan_version = ">=2.1.0" class XpropertyConan(ConanFile): name = "xproperty" description = "Traitlets-like C++ properties and implementation of the observer pattern." license = "BSD-3-Clause" - topics = ("observer", "traitlets") - homepage = "https://github.com/jupyter-xeus/xproperty" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/jupyter-xeus/xproperty" + topics = ("observer", "traitlets", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _min_cppstd(self): + return "14" if Version(self.version) <= "0.12.0" else "17" + def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("xtl/0.7.4", transitive_headers=True, transitive_libs=True) + if Version(self.version) < "0.12.0": + self.requires("xtl/0.7.4", transitive_headers=True, transitive_libs=True) + else: + self.requires("nlohmann_json/3.11.3") def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 14) + check_min_cppstd(self, self._min_cppstd) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/xproperty/all/test_package/CMakeLists.txt b/recipes/xproperty/all/test_package/CMakeLists.txt index 5115f7961f51a..b676192b1da44 100644 --- a/recipes/xproperty/all/test_package/CMakeLists.txt +++ b/recipes/xproperty/all/test_package/CMakeLists.txt @@ -5,4 +5,8 @@ find_package(xproperty REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE xproperty) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +if(xproperty_VERSION VERSION_LESS "0.12.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +endif() diff --git a/recipes/xproperty/all/test_v1_package/CMakeLists.txt b/recipes/xproperty/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/xproperty/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/xproperty/all/test_v1_package/conanfile.py b/recipes/xproperty/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/xproperty/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xproperty/config.yml b/recipes/xproperty/config.yml index 98fa57f62a6c8..b63b89545fb06 100644 --- a/recipes/xproperty/config.yml +++ b/recipes/xproperty/config.yml @@ -1,3 +1,5 @@ versions: + "0.12.0": + folder: all "0.11.0": folder: all diff --git a/recipes/xsd/all/test_v1_package/conanfile.py b/recipes/xsd/all/test_v1_package/conanfile.py deleted file mode 100644 index 7ea50ba1ad430..0000000000000 --- a/recipes/xsd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,10 +0,0 @@ -from conans import ConanFile, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not tools.cross_building(self): - self.run("xsd --help", run_environment=True) diff --git a/recipes/xsimd/all/test_v1_package/CMakeLists.txt b/recipes/xsimd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/xsimd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/xsimd/all/test_v1_package/conanfile.py b/recipes/xsimd/all/test_v1_package/conanfile.py deleted file mode 100644 index 71bd246c37e4e..0000000000000 --- a/recipes/xsimd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["XSIMD_WITH_XTL"] = self.options["xsimd"].xtl_complex - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xtensor/all/conanfile.py b/recipes/xtensor/all/conanfile.py index 892b72ea17486..1181b6ae698ab 100644 --- a/recipes/xtensor/all/conanfile.py +++ b/recipes/xtensor/all/conanfile.py @@ -57,7 +57,7 @@ def requirements(self): if Version(self.version) < "0.24.0": self.requires("xsimd/7.5.0") else: - self.requires("xsimd/12.0.0") + self.requires("xsimd/13.0.0") if self.options.tbb: self.requires("onetbb/2021.10.0") diff --git a/recipes/xtensor/all/test_v1_package/CMakeLists.txt b/recipes/xtensor/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/xtensor/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/xtensor/all/test_v1_package/conanfile.py b/recipes/xtensor/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/xtensor/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xtl/all/test_v1_package/CMakeLists.txt b/recipes/xtl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/xtl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/xtl/all/test_v1_package/conanfile.py b/recipes/xtl/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/xtl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xtr/all/conandata.yml b/recipes/xtr/all/conandata.yml index 2ce24b56ad5da..36f7c0c7ec615 100644 --- a/recipes/xtr/all/conandata.yml +++ b/recipes/xtr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.2": + url: "https://github.com/choll/xtr/archive/refs/tags/2.1.2.tar.gz" + sha256: "81ff3511e877db68882d01be9e521d317c8222838b0793e48cfd631f405bb3e8" "2.1.1": url: "https://github.com/choll/xtr/archive/refs/tags/2.1.1.tar.gz" sha256: "dbd8d1fbb5308329fe21bbe704206e2e69a5d49696959d43a2504ea1bec00140" diff --git a/recipes/xtr/all/conanfile.py b/recipes/xtr/all/conanfile.py index 267bd2a3780a0..d298982bf4d46 100644 --- a/recipes/xtr/all/conanfile.py +++ b/recipes/xtr/all/conanfile.py @@ -133,11 +133,12 @@ def _patch_sources(self): "find_package(liburing REQUIRED NO_DEFAULT_PATH PATHS ${CMAKE_PREFIX_PATH})" if self.options.get_safe("enable_io_uring") else "") - # Non-single header installation is broken as of 2.1.0 - # https://github.com/choll/xtr/pull/4 - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - " PUBLIC_HEADER DESTINATION include)", - ")\ninstall(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include)") + if Version(self.version) < "2.1.2": + # Non-single header installation is broken until 2.1.2 + # https://github.com/choll/xtr/pull/4 + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + " PUBLIC_HEADER DESTINATION include)", + ")\ninstall(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include)") def build(self): self._patch_sources() diff --git a/recipes/xtr/all/test_v1_package/CMakeLists.txt b/recipes/xtr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/xtr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/xtr/all/test_v1_package/conanfile.py b/recipes/xtr/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/xtr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xtr/config.yml b/recipes/xtr/config.yml index 06db99424bd4b..6712968772b74 100644 --- a/recipes/xtr/config.yml +++ b/recipes/xtr/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.2": + folder: all "2.1.1": folder: all "2.1.0": diff --git a/recipes/xtrans/all/test_v1_package/conanfile.py b/recipes/xtrans/all/test_v1_package/conanfile.py deleted file mode 100644 index c20eb932e465e..0000000000000 --- a/recipes/xtrans/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,13 +0,0 @@ -from conans import ConanFile -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "pkg_config" - - def build(self): - pass - - def test(self): - self.run("pkg-config --validate ./xtrans.pc") diff --git a/recipes/xxhash/all/test_v1_package/CMakeLists.txt b/recipes/xxhash/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/xxhash/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/xxhash/all/test_v1_package/conanfile.py b/recipes/xxhash/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/xxhash/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/xxsds-sdsl-lite/all/test_v1_package/CMakeLists.txt b/recipes/xxsds-sdsl-lite/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/xxsds-sdsl-lite/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/xxsds-sdsl-lite/all/test_v1_package/conanfile.py b/recipes/xxsds-sdsl-lite/all/test_v1_package/conanfile.py deleted file mode 100644 index 75634e62bcb66..0000000000000 --- a/recipes/xxsds-sdsl-lite/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -import os - -from conans import ConanFile, CMake, tools - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/yaclib/all/test_v1_package/CMakeLists.txt b/recipes/yaclib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/yaclib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/yaclib/all/test_v1_package/conanfile.py b/recipes/yaclib/all/test_v1_package/conanfile.py deleted file mode 100644 index 22642ac137bfa..0000000000000 --- a/recipes/yaclib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,16 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/yajl/all/test_v1_package/CMakeLists.txt b/recipes/yajl/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/yajl/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/yajl/all/test_v1_package/conanfile.py b/recipes/yajl/all/test_v1_package/conanfile.py deleted file mode 100644 index c492184eec19c..0000000000000 --- a/recipes/yajl/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -# legacy validation with Conan 1.x -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/yandex-ozo/all/test_v1_package/CMakeLists.txt b/recipes/yandex-ozo/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/yandex-ozo/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/yandex-ozo/all/test_v1_package/conanfile.py b/recipes/yandex-ozo/all/test_v1_package/conanfile.py deleted file mode 100644 index a614ddb69f634..0000000000000 --- a/recipes/yandex-ozo/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class YandexOzoTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake_find_package_multi", "cmake" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) diff --git a/recipes/yas/all/test_v1_package/CMakeLists.txt b/recipes/yas/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/yas/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/yas/all/test_v1_package/conanfile.py b/recipes/yas/all/test_v1_package/conanfile.py deleted file mode 100644 index 7e2dfe859bb27..0000000000000 --- a/recipes/yas/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/yasm/all/test_v1_package/conanfile.py b/recipes/yasm/all/test_v1_package/conanfile.py deleted file mode 100644 index 5992797490cc6..0000000000000 --- a/recipes/yasm/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,10 +0,0 @@ -from conans import ConanFile -from conan.tools.build import cross_building - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - - def test(self): - if not cross_building(self): - self.run("yasm --help", run_environment=True) diff --git a/recipes/yder/all/test_v1_package/CMakeLists.txt b/recipes/yder/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 376a5ed06c20a..0000000000000 --- a/recipes/yder/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) - -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -find_package(Yder REQUIRED CONFIG) - -option(YDER_SHARED "Yder is built as a shared library") - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -if(YDER_SHARED) - target_link_libraries(${PROJECT_NAME} PRIVATE Yder::Yder) -else() - target_link_libraries(${PROJECT_NAME} PRIVATE Yder::Yder-static) -endif() diff --git a/recipes/yder/all/test_v1_package/conanfile.py b/recipes/yder/all/test_v1_package/conanfile.py deleted file mode 100644 index af01824ff624e..0000000000000 --- a/recipes/yder/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["YDER_SHARED"] = self.options["yder"].shared - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/yomm2/all/conandata.yml b/recipes/yomm2/all/conandata.yml index 6a145498b3d66..b863f98db9295 100644 --- a/recipes/yomm2/all/conandata.yml +++ b/recipes/yomm2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.0": + url: "https://github.com/jll63/yomm2/archive/refs/tags/v1.6.0.tar.gz" + sha256: "5d617704755637b863a90129d09b8c3a1d3a06e3be809693c07575e0289cb508" "1.5.2": url: "https://github.com/jll63/yomm2/archive/refs/tags/v1.5.2.tar.gz" sha256: "12f3f735b4870606199b889a242ebfed84cf0cd392b04a1c32db11291de684be" diff --git a/recipes/yomm2/all/conanfile.py b/recipes/yomm2/all/conanfile.py index f02471f2e1d50..3f5eaff0f2be7 100644 --- a/recipes/yomm2/all/conanfile.py +++ b/recipes/yomm2/all/conanfile.py @@ -60,7 +60,7 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("cmake/[>=3.20 <4]") + self.tool_requires("cmake/[>=3.21 <4]") def requirements(self): # Upstream requires Boost 1.74 diff --git a/recipes/yomm2/config.yml b/recipes/yomm2/config.yml index e13089a05a884..46b176795aa94 100644 --- a/recipes/yomm2/config.yml +++ b/recipes/yomm2/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: all "1.5.2": folder: all "1.5.1": diff --git a/recipes/yyjson/all/test_v1_package/CMakeLists.txt b/recipes/yyjson/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/yyjson/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/yyjson/all/test_v1_package/conanfile.py b/recipes/yyjson/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/yyjson/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/z3/all/test_v1_package/CMakeLists.txt b/recipes/z3/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/z3/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/z3/all/test_v1_package/conanfile.py b/recipes/z3/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/z3/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zbar/all/test_v1_package/CMakeLists.txt b/recipes/zbar/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/zbar/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/zbar/all/test_v1_package/conanfile.py b/recipes/zbar/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/zbar/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zeromq/all/test_v1_package/CMakeLists.txt b/recipes/zeromq/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/zeromq/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/zeromq/all/test_v1_package/conanfile.py b/recipes/zeromq/all/test_v1_package/conanfile.py deleted file mode 100644 index 507e0ac53bc64..0000000000000 --- a/recipes/zeromq/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,20 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["WITH_LIBSODIUM"] = self.options["zeromq"].encryption == "libsodium" - cmake.definitions["ZEROMQ_SHARED"] = self.options["zeromq"].shared - cmake.definitions["WITH_NORM"] = self.options["zeromq"].with_norm - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zeus_expected/all/conandata.yml b/recipes/zeus_expected/all/conandata.yml index 2bad1674f5012..4ddc999dfc0ef 100644 --- a/recipes/zeus_expected/all/conandata.yml +++ b/recipes/zeus_expected/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/zeus-cpp/expected/archive/refs/tags/v1.2.0.tar.gz" + sha256: "460da641f212c793f46a5a8f29107c9b9540a17a91f197e2dc396dac0269a2b5" "1.1.1": url: "https://github.com/zeus-cpp/expected/archive/refs/tags/v1.1.1.tar.gz" sha256: "47b411677ffb2fa0d43b308797542509ae2bdb101426cf0d4777e3c162b1d726" diff --git a/recipes/zeus_expected/config.yml b/recipes/zeus_expected/config.yml index f9d1ffa27feeb..3e22acea70d08 100644 --- a/recipes/zeus_expected/config.yml +++ b/recipes/zeus_expected/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.1": folder: all "1.1.0": diff --git a/recipes/zfp/all/test_v1_package/CMakeLists.txt b/recipes/zfp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/zfp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/zfp/all/test_v1_package/conanfile.py b/recipes/zfp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/zfp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zimg/all/test_v1_package/CMakeLists.txt b/recipes/zimg/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/zimg/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/zimg/all/test_v1_package/conanfile.py b/recipes/zimg/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/zimg/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zlib-ng/all/test_v1_package/CMakeLists.txt b/recipes/zlib-ng/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/zlib-ng/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/zlib-ng/all/test_v1_package/conanfile.py b/recipes/zlib-ng/all/test_v1_package/conanfile.py deleted file mode 100644 index d374156671cbb..0000000000000 --- a/recipes/zlib-ng/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.definitions["ZLIB_COMPAT"] = self.options["zlib-ng"].zlib_compat - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zmarok-semver/all/test_v1_package/CMakeLists.txt b/recipes/zmarok-semver/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/zmarok-semver/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/zmarok-semver/all/test_v1_package/conanfile.py b/recipes/zmarok-semver/all/test_v1_package/conanfile.py deleted file mode 100644 index 2263c38965a38..0000000000000 --- a/recipes/zmarok-semver/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,19 +0,0 @@ -from conans import ConanFile -from conans import CMake -from conan.tools.build import cross_building -import os - - -class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zmqpp/all/test_v1_package/CMakeLists.txt b/recipes/zmqpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/zmqpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/zmqpp/all/test_v1_package/conanfile.py b/recipes/zmqpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/zmqpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zoe/all/conandata.yml b/recipes/zoe/all/conandata.yml index 2f140c9ad3d15..a315e5dbd038a 100644 --- a/recipes/zoe/all/conandata.yml +++ b/recipes/zoe/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "3.6": + url: "https://github.com/winsoft666/zoe/archive/refs/tags/v3.6.tar.gz" + sha256: "5cae2a51bbac0bfa54aab78a4d2b534a66bea7bc2d72764cfb5bc8e02a751927" + "3.3": + url: "https://github.com/winsoft666/zoe/archive/refs/tags/v3.3.tar.gz" + sha256: "e75d24690d16feff8bf1fc57d1943d545a5203ba769ff94034dc1f35f89927a5" "3.1": url: "https://github.com/winsoft666/zoe/archive/refs/tags/v3.1.tar.gz" sha256: "4b5a0c0cac5fb61846875699cb7e013c84bc33d852041824bde7af80d793f15d" @@ -6,6 +12,10 @@ sources: url: "https://github.com/winsoft666/zoe/archive/refs/tags/v3.0.tar.gz" sha256: "718c6de993bea2a4b1866070a8685e77cfa7929bbd9e22abb29e54c67a687a5e" patches: + "3.3": + - patch_file: "patches/3.1-0002-support-macosx.patch" + patch_description: "support macosx" + patch_type: "portability" "3.1": - patch_file: "patches/3.1-0002-support-macosx.patch" patch_description: "support macosx" diff --git a/recipes/zoe/all/conanfile.py b/recipes/zoe/all/conanfile.py index 3206756ac4936..598bbd6c08ccd 100644 --- a/recipes/zoe/all/conanfile.py +++ b/recipes/zoe/all/conanfile.py @@ -1,13 +1,13 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.microsoft import is_msvc_static_runtime -from conan.tools.files import get, copy, apply_conandata_patches, export_conandata_patches, rmdir +from conan.tools.files import get, copy, apply_conandata_patches, export_conandata_patches, rmdir, replace_in_file from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.1" class ZoeConan(ConanFile): name = "zoe" @@ -27,21 +27,11 @@ class ZoeConan(ConanFile): "fPIC": True, } - @property - def _min_cppstd(self): - return 11 + implements = ["auto_shared_fpic"] def export_sources(self): export_conandata_patches(self) - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - def layout(self): cmake_layout(self, src_folder="src") @@ -50,11 +40,13 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]", transitive_headers=True) def validate(self): - if self.info.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._min_cppstd) + check_min_cppstd(self, "11") if self.info.settings.compiler == "apple-clang" and Version(self.info.settings.compiler.version) < "12.0": raise ConanInvalidConfiguration(f"{self.ref} can not build on apple-clang < 12.0.") + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -68,8 +60,16 @@ def generate(self): deps = CMakeDeps(self) deps.generate() - def build(self): + def _apply_patches(self): apply_conandata_patches(self) + # Remove hardcoded CMAKE_CXX_STANDANRD in newer versions + if Version(self.version) >= "3.2": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "set (CMAKE_CXX_STANDARD 11)", + "") + + def build(self): + self._apply_patches() cmake = CMake(self) cmake.configure() cmake.build() @@ -90,5 +90,9 @@ def package_info(self): else: self.cpp_info.defines.append("ZOE_STATIC") + # https://github.com/winsoft666/zoe/blob/master/src/CMakeLists.txt#L88 + if self.settings.os == "Windows": + self.cpp_info.system_libs = ["ws2_32", "crypt32"] + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") diff --git a/recipes/zoe/all/test_package/test_package.cpp b/recipes/zoe/all/test_package/test_package.cpp index c802a922c2c55..3e7bf50d85e8c 100644 --- a/recipes/zoe/all/test_package/test_package.cpp +++ b/recipes/zoe/all/test_package/test_package.cpp @@ -1,4 +1,3 @@ -#include #include "zoe/zoe.h" int main(int argc, char** argv) { @@ -8,20 +7,6 @@ int main(int argc, char** argv) { Zoe efd; - efd.setThreadNum(10); // Optional - efd.setTmpFileExpiredTime(3600); // Optional - efd.setDiskCacheSize(20 * (2 << 19)); // Optional - efd.setMaxDownloadSpeed(50 * (2 << 19)); // Optional - efd.setHashVerifyPolicy(ALWAYS, MD5, "6fe294c3ef4765468af4950d44c65525"); // Optional, support MD5, CRC32, SHA256 - // There are more options available, please check zoe.h - efd.setVerboseOutput([](const utf8string& verbose) { // Optional - printf("%s\n", verbose.c_str()); - }); - efd.setHttpHeaders({ // Optional - {"Origin", "http://xxx.xxx.com"}, - {"User-Agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"} - }); - Zoe::GlobalUnInit(); return 0; diff --git a/recipes/zoe/config.yml b/recipes/zoe/config.yml index 53d82d0ad2363..ac84b262b6517 100644 --- a/recipes/zoe/config.yml +++ b/recipes/zoe/config.yml @@ -1,4 +1,8 @@ versions: + "3.6": + folder: all + "3.3": + folder: all "3.1": folder: all "3.0": diff --git a/recipes/zopfli/all/test_v1_package/CMakeLists.txt b/recipes/zopfli/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/zopfli/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/zopfli/all/test_v1_package/conanfile.py b/recipes/zopfli/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/zopfli/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zpp_bits/all/conandata.yml b/recipes/zpp_bits/all/conandata.yml index 21dad3174e487..8ce4aa57f1915 100644 --- a/recipes/zpp_bits/all/conandata.yml +++ b/recipes/zpp_bits/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "4.4.25": + url: "https://github.com/eyalz800/zpp_bits/archive/v4.4.25.tar.gz" + sha256: "d4afb8cf73aec19686928445e912dbbe8d39bffdac43ea69b4781f145195a09e" + "4.4.24": + url: "https://github.com/eyalz800/zpp_bits/archive/v4.4.24.tar.gz" + sha256: "eff8bf4507f26e670ddf760374c9b691abf501426c468b5fd938cc8d53985153" "4.4.20": url: "https://github.com/eyalz800/zpp_bits/archive/v4.4.20.tar.gz" sha256: "13023d3752392d64f89113bf8099a2a50b2602a7e26a2fdf78a27e327104819c" diff --git a/recipes/zpp_bits/all/test_v1_package/CMakeLists.txt b/recipes/zpp_bits/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 925ecbe19e448..0000000000000 --- a/recipes/zpp_bits/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/zpp_bits/all/test_v1_package/conanfile.py b/recipes/zpp_bits/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/zpp_bits/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zpp_bits/config.yml b/recipes/zpp_bits/config.yml index 4b6dc9c688350..e5c2dd1bf22b4 100644 --- a/recipes/zpp_bits/config.yml +++ b/recipes/zpp_bits/config.yml @@ -1,4 +1,8 @@ versions: + "4.4.25": + folder: all + "4.4.24": + folder: all "4.4.20": folder: all "4.4.19": diff --git a/recipes/zpp_throwing/all/test_v1_package/CMakeLists.txt b/recipes/zpp_throwing/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/zpp_throwing/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/zpp_throwing/all/test_v1_package/conanfile.py b/recipes/zpp_throwing/all/test_v1_package/conanfile.py deleted file mode 100644 index 0f735b51a2642..0000000000000 --- a/recipes/zpp_throwing/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zserio/all/conandata.yml b/recipes/zserio/all/conandata.yml index 3d6ead71c8ec8..7a037e6e14e17 100644 --- a/recipes/zserio/all/conandata.yml +++ b/recipes/zserio/all/conandata.yml @@ -1,4 +1,14 @@ sources: + "2.15.0": + runtime: + url: "https://github.com/ndsev/zserio/releases/download/v2.15.0/zserio-2.15.0-runtime-libs.zip" + sha256: "6bfc82723715dccc4022f1aaf590513f4105f402cf33e3cf7bd15b04e203b218" + compiler: + url: "https://github.com/ndsev/zserio/releases/download/v2.15.0/zserio-2.15.0-bin.zip" + sha256: "17398de9856cc48e05e37eab34783f5d421a758f65efad6a20672f2547fc60b8" + license: + url: "https://raw.githubusercontent.com/ndsev/zserio/v2.15.0/LICENSE" + sha256: "8fd7b040fc223bb07551dfed490df0d55d6af25e331e58bc7c7599163ed1bb5a" "2.14.1": runtime: url: "https://github.com/ndsev/zserio/releases/download/v2.14.1/zserio-2.14.1-runtime-libs.zip" diff --git a/recipes/zserio/config.yml b/recipes/zserio/config.yml index 3c2e35ec8e993..723c11ae74ab0 100644 --- a/recipes/zserio/config.yml +++ b/recipes/zserio/config.yml @@ -1,4 +1,6 @@ versions: + "2.15.0": + folder: all "2.14.1": folder: all "2.14.0": diff --git a/recipes/zstd/all/test_v1_package/CMakeLists.txt b/recipes/zstd/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/zstd/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/zstd/all/test_v1_package/conanfile.py b/recipes/zstd/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/zstd/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zstr/all/test_v1_package/CMakeLists.txt b/recipes/zstr/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 9d54a092e0a67..0000000000000 --- a/recipes/zstr/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/zstr/all/test_v1_package/conanfile.py b/recipes/zstr/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/zstr/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zug/all/test_v1_package/CMakeLists.txt b/recipes/zug/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 91630d79f4abb..0000000000000 --- a/recipes/zug/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/zug/all/test_v1_package/conanfile.py b/recipes/zug/all/test_v1_package/conanfile.py deleted file mode 100644 index 34e439b02360c..0000000000000 --- a/recipes/zug/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -import os -from conans import ConanFile, CMake, tools - - -class ZugTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zxing-cpp/all/test_v1_package/CMakeLists.txt b/recipes/zxing-cpp/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index be00a8c7f57c7..0000000000000 --- a/recipes/zxing-cpp/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ - ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/zxing-cpp/all/test_v1_package/conanfile.py b/recipes/zxing-cpp/all/test_v1_package/conanfile.py deleted file mode 100644 index 030ecca50ee45..0000000000000 --- a/recipes/zxing-cpp/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,27 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def requirements(self): - self.requires("stb/cci.20220909") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - try: - os.unlink("output.png") - except FileNotFoundError: - pass - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - - assert os.path.isfile("output.png") diff --git a/recipes/zziplib/all/conandata.yml b/recipes/zziplib/all/conandata.yml index 2b47b2bf41c26..546e31624c427 100644 --- a/recipes/zziplib/all/conandata.yml +++ b/recipes/zziplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.13.78": + url: "https://github.com/gdraheim/zziplib/archive/refs/tags/v0.13.78.tar.gz" + sha256: "feaeee7c34f18aa27bd3da643cc6a47d04d2c41753a59369d09102d79b9b0a31" "0.13.72": url: "https://github.com/gdraheim/zziplib/archive/v0.13.72.tar.gz" sha256: "93ef44bf1f1ea24fc66080426a469df82fa631d13ca3b2e4abaeab89538518dc" diff --git a/recipes/zziplib/all/conanfile.py b/recipes/zziplib/all/conanfile.py index bb584cb53822b..4c16c3a78d846 100644 --- a/recipes/zziplib/all/conanfile.py +++ b/recipes/zziplib/all/conanfile.py @@ -1,11 +1,12 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.1" class ZziplibConan(ConanFile): @@ -17,6 +18,7 @@ class ZziplibConan(ConanFile): license = "GPL-2.0-or-later" settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], @@ -51,13 +53,25 @@ def layout(self): def requirements(self): self.requires("zlib/[>=1.2.11 <2]") + def validate(self): + # Old versions do not support llvm >= 15 + if (Version(self.version) < "0.13.78" + and self.settings.compiler in ("clang", "apple-clang") + and Version(self.settings.compiler.version) >= "15.0"): + raise ConanInvalidConfiguration(f"{self.ref} does not support {self.settings.compiler} >= 15 due to incompatible pointer to integer conversion errors") + def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["BUILD_STATIC_LIBS"] = not self.options.shared + # Older versions had BUILD_STATIC_LIBS option, new ones only have BUILD_SHARED_LIBS + if Version(self.version) < "0.13.78": + tc.variables["BUILD_STATIC_LIBS"] = not self.options.shared + else: + # Disable sanitizer for newer versions + tc.variables["FORTIFY"] = False tc.variables["ZZIPCOMPAT"] = self.settings.os != "Windows" tc.variables["ZZIPMMAPPED"] = self.options.zzipmapped tc.variables["ZZIPFSEEKO"] = self.options.zzipfseeko @@ -85,6 +99,7 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.set_property("pkg_config_name", "zziplib-all-do-not-use") @@ -112,7 +127,7 @@ def package_info(self): if Version(self.version) >= "0.13.72" and self.options.shared and is_apple_os(self): self.cpp_info.components["zzipfseeko"].libs = [f"zzipfseeko"] else: - self.cpp_info.components["zzipfseeko"].libs = [f"zzipfseeko{suffix}"] + self.cpp_info.components["zzipfseeko"].libs = [f"zzipfseeko{suffix}"] self.cpp_info.components["zzipfseeko"].requires = ["zlib::zlib"] # libzzipwrap if self.options.zzipwrap: diff --git a/recipes/zziplib/all/test_v1_package/CMakeLists.txt b/recipes/zziplib/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/zziplib/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/zziplib/all/test_v1_package/conanfile.py b/recipes/zziplib/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/zziplib/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/zziplib/config.yml b/recipes/zziplib/config.yml index 68a29e739876a..f22b5dfa45a07 100644 --- a/recipes/zziplib/config.yml +++ b/recipes/zziplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.13.78": + folder: all "0.13.72": folder: all "0.13.71":