Giter VIP home page Giter VIP logo

docs's People

Contributors

adiatzmony avatar aleksa2808 avatar claremacrae avatar climblinne avatar czoido avatar danimtb avatar danpetry avatar dslotter avatar ernigh avatar fbauzac avatar franramirez688 avatar jcar87 avatar jgsogo avatar juansblanco avatar jwillikers avatar lasote avatar liberforce avatar memsharded avatar menuet avatar perseogi avatar pvicente avatar rubenrbs avatar sixten-hilborn avatar solvingj avatar sse4 avatar ssrobins avatar tapia avatar tivek avatar uilianries avatar vincefrog avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

Upgrading Conan Version via CLI - HowTo?

I got this message today when using conan:

WARN: A new conan version (v0.17.0) is available in current remote. Please, upgrade conan client to avoid deprecation.

However, I could not find any instructions on how to do this, other than downloading the new version and running the installer. Is there a way to do this via CLI? If so, I don't think it's documented.

DLL paths and binaries on Windows for examples/zmq_protobuf.rst

Hi,

after working through the excellent introduction at: https://github.com/conan-io/docs/blob/master/examples/zmq_protobuf.rst I ran into a couple of problems with the steps as outlined in the text:

  1. The protoc.exe-file ends up in the top folder, while the libprotoc.dll-file ends up with the other dll files in the "bin" folder. The easiest fix is to move the protoc.exe-file to the bin-folder, and call it from the work-dir like so (avoiding issues with the path for protobuf if calling protoc.exe from within the bin-folder): .\bin\protoc.exe message.proto --cpp_out="."

  2. The dll-files are not copied into the build\bin-folder and so the server.exe and client.exe files won't run -- again the easiest fix, is to manually copy the server.exe and client.exe to the project .\bin folder (they are created in .\build\bin).

I feel that both of these issues should probably be taken care of automatically, but I'm not sure what would be the best way -- it certainly seems like the build process should copy the needed dlls to the bin-folder (as "." is sadly and insecurely always in the dll search path on windows).

Not submitting a PR, as I'm not sure if this is easily fixed by tweaking the build-scripts or if it is more of a documentation problem on Windows (ie: the change should be to the tutorial text)?

The default conan server address is nowhere documented

I removed my conan.io remote during some tests - Unfortunately I wasn't able to find the address again. After some time I stumbled across the sources where the default remotes are defined.

It would probably be better to document the default server address somewhere. Perhaps this info could be part of the conan webpage search results / package info?

Comparison to similar tools

Having a comparison page like Gitlab has (Gitlab Comparison) could help people decide on whether Conan is the right idea.

Some cases I can think of:

  • Conan versus Linux package managers
  • Conan versus VcPkg

My company uses mostly Linux and most developers are used to using the built-in package manager for their dependencies. When I present Conan to them I would like to have the right features on hand, so that acceptance is easier to achieve.

This issue could be a way to collect ideas - I'll create the docpage when I find some time during the next days.

configure methods not documented

  • config_options and configure instead of config.
  • Document how to remove options.
  • Document how to check if option exists, if "cpp_std" in self.options produces an infinite loop :S
  • Document again how to change dependency options (self.options["OpenSSL"].shared)

Getting CLion to find conaninfo.txt when executing internal cmake

Hello! I had a small problem using conan and clion, and as I didn't find any mention to this problem in the docs, I thought it might be useful including in the docs this approach.

The CMakeLists.txt explained in the docs as-is, makes CLion to try reading the conaninfo.txt in the CLion's internal build folders, and it won't be there (Error quoted below).

I fixed this in my project adding this line to my CMakeLists.txt, which I suggest adding to the Integrations/CLion section:

file(COPY build/conaninfo.txt DESTINATION "${CMAKE_BINARY_DIR}")

Given that I'm building in a build directory like this:

mkdir build && cd build/
conan install ..
cmake -G Ninja ..
cmake --build .

Without the COPY line, Clion fails to recognize the included folders, fails to compile, fails to highlight properly, etc. The error given is:

Error:Error:file failed to open for reading (No such file or directory):
  /home/jmmut/.CLion12/system/cmake/generated/f6d8bf47/f6d8bf47/__default__/conaninfo.txt
Error:Error:Configuration Debug
file failed to open for reading (No such file or directory):
  /home/jmmut/.CLion12/system/cmake/generated/f6d8bf47/f6d8bf47/Debug/conaninfo.txt
Error:Error:Configuration Release
file failed to open for reading (No such file or directory):
  /home/jmmut/.CLion12/system/cmake/generated/f6d8bf47/f6d8bf47/Release/conaninfo.txt
Error:Error:Configuration RelWithDebInfo
file failed to open for reading (No such file or directory):
  /home/jmmut/.CLion12/system/cmake/generated/f6d8bf47/f6d8bf47/RelWithDebInfo/conaninfo.txt
Error:Error:Configuration MinSizeRel
file failed to open for reading (No such file or directory):
  /home/jmmut/.CLion12/system/cmake/generated/f6d8bf47/f6d8bf47/MinSizeRel/conaninfo.txt

Rest API public endpoints

conan uses rest api to interact with conan_server . It would be nice if these endpoints are documented somewhere , then one could make a ui on top of conan using this api ... which would make monitoring of uploaded packages easier .

conan-io/conan#251

Install packaging method

I opened this issue to post the examples @memsharded requested in conan-io/conan#316
Probably the easiest way to demonstrate the installation method that the PR conan-io/conan#316 enables is to provide a modified version of the hello package project described in the docs.
By adding the following lines at the end of the liststfile

INSTALL(TARGETS hello 
    ARCHIVE DESTINATION "lib")
INSTALL(FILES "hello.h" 
    DESTINATION "include")

and by modifying the build and package methods as described in conan-io/conan#316, the package would end up installing exactly the same files as before, and the hello-use project would be able to use it without any changes.
So the entire modified CMakeLists.txt file of the hello project would be:

PROJECT(MyHello)
cmake_minimum_required(VERSION 2.8)

SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/bin)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/bin)

SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY})
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY})

ADD_LIBRARY(hello STATIC hello.cpp)
ADD_EXECUTABLE(greet main.cpp)
TARGET_LINK_LIBRARIES(greet hello)
IF (WIN32 AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
    TARGET_LINK_LIBRARIES(greet stdc++)
ENDIF()

INSTALL(TARGETS hello 
    ARCHIVE DESTINATION "lib")
INSTALL(FILES "hello.h" 
    DESTINATION "include")

and the conanfile.py would be

from conans import ConanFile, CMake

class HelloConan(ConanFile):
    name = "Hello"
    version = "0.1"
    settings = "os", "compiler", "build_type", "arch"
    exports = "*"

    def build(self):
        cmake = CMake(self.settings)
        self.run('cmake %s %s -DCMAKE_INSTALL_PREFIX=%s' % \
            (self.conanfile_directory, cmake.command_line, self.package_folder))
        self.run("cmake --build . %s" % cmake.build_config)

    def package(self):
        self.run("cmake --build . --target install")

    def package_info(self):
        self.cpp_info.libs = ["hello"]

Stackoverflow Documentation

Stackoverflow just introduced a new part of their network: A platform to provide documentation for all kinds of software development topics. Here's a direct link to the intro page.

"Things" that documentation could be generated for are sorted into tags. See for example the tags for C++, Boost or CMake. The platform is very young and good content is currently being added.

My opinion is that this new platform is realized in a very good way. It would problably help Conan to be part of it. It is possible to propose new tags on the main page. If we have created a conan-tag it will be possible to put in documentation and examples.

Getting started CONAN_COMPILER in cmake

When doing getting started in Linux, following steps until:

$ cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release

Reports:

WARN: CONAN_COMPILER variable not set, please make sure yourself that your compiler and version matches your declared settings
WARN: CONAN_COMPILER_VERSION variable not set, please make sure yourself that your compiler version matches your declared settings

I've solved that writing this in CMakeLists.txt:

set(CONAN_COMPILER "cmake") 
set(CONAN_COMPILER_VERSION "2.8")

Is this the way to proceed? Should that be included in getting started CMakeLists.txt example?

Using conan search -q

Since 0.12.0 the search command works entirely different than in previous versions. It would be good to have that documented, best thing would be to have a set of examples.

Is it still possible to get all packages that are stored for a certain component?

Complete Development Workflow Hands On Guide

Currently there are many small hands-on tutorials on certain parts of a complete workflow, and I had to keep many tabs open and jump between them (tutorials, packaging, reference pages) to figure out how things fit together.

I intended to write a guide for the full development cycle, but ended up writing bits on "how things work" and realized there's still parts I don't understand (#16 package command!)

See Conan Quickstart for my initial write up, and search for TODO for parts I wasn't certain about.

My write up may be incorrect, feel free to copy it over and fix up any technically incorrect parts (need to translate markdown to restructured text), otherwise I probably will in the future. I can fix grammar and paraphrase later as well.

uploading header only packages to conan

Hi, I was going through conan docs hoping to find a real quick example to upload my source to conan.io. I've a simple header only library that I plan to use in other projects with conan as package manager. The code currently builds with cmake and meson, and is compatible with meson wrapdb too so other meson users can import it into their projects. I'm only exporting a single header rang.hpp inside include directory of my repo.

Going through the docs, I found -

from conans import ConanFile, CMake

class HelloConan(ConanFile):
    name = "rang"
    version = "1.0"
    settings = "os", "compiler", "build_type", "arch"
    exports = "*"

// should I remove this since I don't need to build anything
    def build(self):
        cmake = CMake(self.settings)
        self.run('cmake %s %s' % (self.conanfile_directory, cmake.command_line))
        self.run("cmake --build . %s" % cmake.build_config)

    def package(self):
        self.copy("*.hpp", dst="include")

// and remove this too?
    def package_info(self):
        self.cpp_info.libs = ["hello"]

would the above conf be able to export rang.hpp so that when user does #include "rang.hpp" and uses conan with it, it compiles successfully?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.