xmake VS cmake-conan

Compare xmake vs cmake-conan and see what are their differences.

cmake-conan

CMake wrapper for conan C and C++ package manager (by conan-io)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
xmake cmake-conan
162 18
8,592 785
2.4% 1.8%
9.9 8.2
4 days ago 11 days ago
Lua Python
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

xmake

Posts with mentions or reviews of xmake. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-22.

cmake-conan

Posts with mentions or reviews of cmake-conan. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-15.
  • CMake+Conan2 project template example repositories?
    4 projects | /r/cpp | 15 Apr 2023
    Some pure conan options, there's a 2.0 super early developer preview for https://github.com/conan-io/cmake-conan/tree/develop2
  • Conan package manager completely broken after 2.0 release
    6 projects | /r/cpp | 21 Mar 2023
    I totally agree with you. Have a look at the new cmake-conan integration using Dependency Provider in the develop2 branch : https://github.com/conan-io/cmake-conan/tree/develop2
  • Conan 2.0, the new version of the open-source C and C++ package manager
    4 projects | /r/cpp | 22 Feb 2023
    Assuming you're using cmake as your build system, you can use conan.cmake which would allow you to run cmake normally.
    4 projects | /r/cpp | 22 Feb 2023
    I've always used conan together with the conan cmake module
  • Use cmake to install dependency libraries?
    5 projects | /r/cpp | 19 Aug 2022
  • CMake + Poco + FetchContent build options problem
    5 projects | /r/cpp_questions | 14 Mar 2022
    If OP doesn't want to bother with the all the Conan pre-configuration commands and scripts, there's a really convenient script to embed everything Conan-related inside your CMakeLists, only asking for the path to conan.exe during CMake-configuration step: https://github.com/conan-io/cmake-conan
    5 projects | /r/cpp_questions | 14 Mar 2022
  • Best way to manage dependencies with c++?
    15 projects | /r/cpp | 2 Feb 2022
    I always wanted to try to use cmake-conan so I could let Conan grab all packages but have a neat cmake script being in charge of what gets built when. Also, this would allow me to easily switch between CMake fetchcontent and Conan packages that may or may not be stashed automatically on a local Artifactory server. Secondly, since now all build requirements are stashed on a server and binary reproducible, you could concider adding icecream and ccache into the mix. (Try running a node one of your buildservers for massive speadups with icecream) This however does require a reproducible build environment (by configure script) which conan again is really good in.
  • How do you manage third-party libraries
    8 projects | /r/cpp_questions | 1 Feb 2022
    If you want everything Conan-related to be silently managed by your CMake script, check this: https://github.com/conan-io/cmake-conan
  • Conan combined with mingw doesn't work on Linux
    2 projects | /r/AskProgramming | 20 Oct 2021
    cmake_minimum_required(VERSION 3.20) project(wxocto CXX) set(CMAKE_CXX_STANDARD 23) # Request the required wxWidgets libs find_package(wxWidgets 3.1 REQUIRED) # Include the wxWidgets use file to initialize various settings include(${wxWidgets_USE_FILE}) list(APPEND CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR}) list(APPEND CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}) #if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake") # message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan") # file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/v0.16.1/conan.cmake" # "${CMAKE_BINARY_DIR}/conan.cmake" # EXPECTED_HASH SHA256=396e16d0f5eabdc6a14afddbcfff62a54a7ee75c6da23f32f7a31bc85db23484 # TLS_VERIFY OFF) #endif() include(./conan.cmake) conan_cmake_configure( REQUIRES easyhttpcpp/2.1.0 nlohmann_json/3.10.2 expat/2.4.1 GENERATORS cmake_find_package ) conan_cmake_autodetect(settings) if (WIN32 OR MINGW) set(target WIN32) set(options Poco:enable_netssl_win=True Poco:enable_netssl=False) endif () conan_cmake_install(PATH_OR_REFERENCE . BUILD missing REMOTE conancenter SETTINGS ${settings} OPTIONS ${options} PROFILE cross) find_package(expat) find_package(easyhttpcppeasyhttp) find_package(nlohmann_json) add_executable(wxocto ${target} main.cpp mainwindow/MainWindowBase.cpp mainwindow/MainWindowBase.h mainwindow/MainWindow.cpp mainwindow/MainWindow.h MainApp.cpp MainApp.h settings/wxOctoSettings.h settings/OctoPrintServerSettingsPage.cpp settings/OctoPrintServerSettingsPage.h settings/OctoPrintServerSettingsPagePanel.cpp settings/OctoPrintServerSettingsPagePanel.h helper.h octoprint/OctoprintFile.cpp octoprint/OctoprintFile.h octoprint/FetchFilesThread.cpp octoprint/FetchFilesThread.h octoprint/OctoprintJob.cpp octoprint/OctoprintJob.h octoprint/FetchPrintStatusThread.cpp octoprint/FetchPrintStatusThread.h octoprint/OctoApiEventIds.h octoprint/SelectAndPrintFileThread.cpp octoprint/SelectAndPrintFileThread.h octoprint/CancelPrintThread.cpp octoprint/CancelPrintThread.h octoprint/PausePrintThread.cpp octoprint/PausePrintThread.h octoprint/ResumePrintThread.cpp octoprint/ResumePrintThread.h octoprint/spoolmanager/FetchSpoolsThread.cpp octoprint/spoolmanager/FetchSpoolsThread.h octoprint/spoolmanager/OctoprintSpool.cpp octoprint/spoolmanager/OctoprintSpool.h octoprint/spoolmanager/OctoprintSpoolData.cpp octoprint/spoolmanager/OctoprintSpoolData.h spoolmanager/SpoolDialogBase.cpp spoolmanager/SpoolDialogBase.h spoolmanager/AddSpoolDialog.cpp spoolmanager/AddSpoolDialog.h spoolmanager/EditSpoolDialog.cpp spoolmanager/EditSpoolDialog.h) target_include_directories(wxocto PRIVATE ${wxWidgets_INCLUDE_DIRS}) target_link_libraries(wxocto expat::expat ${wxWidgets_LIBRARIES} easyhttpcppeasyhttp::easyhttpcppeasyhttp nlohmann_json::nlohmann_json)

What are some alternatives?

When comparing xmake and cmake-conan you can also consider the following projects:

CPM.cmake - 📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.

meson - The Meson Build System

Raylib-Basic-Project

conan - Conan - The open-source C and C++ package manager

cmake-init - The missing CMake project initializer

imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

ninja - a small build system with a focus on speed

wxWidgets - Cross-Platform C++ GUI Library

xtd - Free open-source modern C++17 / C++20 framework to create console, GUI (forms like WinForms) and unit test applications and libraries on Microsoft Windows, Apple macOS and Linux.

sciter - Sciter: the Embeddable HTML/CSS/JS engine for modern UI development

GTK+ - Read-only mirror of https://gitlab.gnome.org/GNOME/gtk