Skip to main content

newconan creates default project structure that is convenient for developing in IDEs like Clion and Visual Studio.

Requirements

cmake >= 3.14

Installation

$ pip install newconan

Create Project

$ newconan TestExe                      # create exe project
$ newconan TestSharedLibrary -shared    # create shared library project
$ newconan TestStaticLibrary -static    # create static library project

Project Structure

TestSharedLibrary
├── .git
├── .travis
│   ├── install.sh
│   └── run.sh
├── assets
│   └── public
│       └── TestSharedLibrary
├── cmake
│   ├── conan.cmake
│   ├── symlink.cmake
│   └── symlink.py
├── src
│   ├── main.cpp
│   └── main.h
├── test
│   └── test.cpp
├── .clang-format
├── .gitignore
├── .gitlab-ci.yml
├── .travis.yml
├── appveyor.yml
├── build.py
├── CMakeLists.txt
├── CMakeSettings.json
├── conanfile.py
└── README.md
  • newconan will automatically create the git repository which is .git folder.
  • assets folder will contains resource files which will be symlink to ${CMAKE_CURRENT_BINARY_DIR}/bin/assets. In this way, your binary can use the relative path ./assets to access the resource files.
  • cmake folder contains some cmake macros to symlink folder and setup conan.
  • src folder contains the main source code for your project.
  • test folder contains all the test cpp files.
  • .clang-format is the default format that clang-format will use.
  • .gitignore ignores everything except exisiting folders and files. You can edit this file to add other folders to git.
  • .gitlab-ci.yml is the default ci configuration for gitlab.
  • .travis.yml and folder .travis is the default ci configuration for travis.
  • appveyor.yml is the default ci configuration for appveyor.
  • build.py will be used by gitlab-ci to build and upload this project as conan recipe for others to use your library.
  • CMakeLists.txt will define a target for your project and link all the necessary libraries against it. CMakeLists.txt also scans test folder and create corresponding a test target for each cpp file.
  • CMakeSettings.json is used by Visual Studio. This file will make Visual Studio put the build folder relative to your project rather than some hashed folder which you can't find easily.
  • conanfile.py defines the library dependencies. conan will download and compile all the required libraries and copy *.dll/*.dylib to ${CMAKE_CURRENT_BINARY_DIR}/bin folder. At the same time, dependent library resource files will also be copied.
  • README.md shows how to build this project using cmake and conan.

Add dependency

You can add library dependencies to your project by modifying the requires attribute of conanfile.py:

class ProjectNameConan(ConanFile):
    name = "ProjectName"
    version = "1.0.0"
    settings = "os", "compiler", "build_type", "arch"
    requires = ( # Add dependencies here.
        "library1/1.0.0@conan/stable", 
        "library2/2.0.0@conan/testing",
        ...
    ) 

And then refresh cmake, conan will download and compile all the listed dependencies.

Metadata

Release files for newconan 2.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for newconan 2.6
File Size Uploaded
newconan-2.6.tar.gz 17.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for newconan 2.6
File Interpreter ABI Platform
newconan-2.6-py3-none-any.whl Python 3 none any Details

Total release size: 37.4 kB

Release files / newconan-2.6.tar.gz

Download URL newconan-2.6.tar.gz
Size 17.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ff7e4f837179cb1ecc05bf33ec2cbd2ea5729a85703d7726ef65ae5544bcc4c4
BLAKE2b-256 checksum
How to use checksums
3186d4c61671ac9939c47b16d593d4202d8d2b59beecac13321b90ae9dd1465f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

Release files / newconan-2.6-py3-none-any.whl

Download URL newconan-2.6-py3-none-any.whl
Size 20.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
65aa8c8b32dea071f89e3800069e7a6ae09a22906e3f26b952960ccd704b33d0
BLAKE2b-256 checksum
How to use checksums
596066406c0085c4363c7f2fb8b42aa6e83876746f350eb06627fc46becd8f82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

Release history Release notifications | RSS feed

This release

2.6 This release

2 release files

2.5

2 release files

2.4

2 release files

2.3

2 release files

2.2

2 release files

2.1

2 release files

2.0

2 release files

1.99

2 release files

1.98

2 release files

1.97

2 release files

1.96

2 release files

1.95

2 release files

1.94

2 release files

1.93

2 release files

1.92

2 release files

1.91

2 release files

1.90

2 release files

1.89

2 release files

1.88

2 release files

1.87

2 release files

1.86

2 release files

1.85

2 release files

1.84

2 release files

1.83

2 release files

1.82

2 release files

1.81

2 release files

1.80

2 release files

1.79

2 release files

1.78

2 release files

1.77

2 release files

1.76

2 release files

1.75

2 release files

1.74

2 release files

1.73

2 release files

1.72

2 release files

1.71

2 release files

1.70

2 release files

1.69

2 release files

1.68

2 release files

1.67

1 release file

1.66

1 release file

1.65

1 release file

1.64

1 release file

1.63

1 release file

1.62

1 release file

1.61

1 release file

1.60

1 release file

1.59

1 release file

1.58

1 release file

1.57

1 release file

1.56

1 release file

1.55

1 release file

1.54

1 release file

1.53

1 release file

1.52

1 release file

1.51

1 release file

1.50

1 release file

1.49

1 release file

1.48

1 release file

1.47

1 release file

1.46

1 release file

1.45

1 release file

1.44

1 release file

1.43

1 release file

1.42

1 release file

1.41

1 release file

1.40

1 release file

1.39

1 release file

1.38

1 release file

1.37

1 release file

1.36

1 release file

1.35

1 release file

1.34

1 release file

1.33

1 release file

1.32

1 release file

1.31

1 release file

1.30

1 release file

1.29

1 release file

1.28

1 release file

1.27

1 release file

1.26

1 release file

1.25

1 release file

1.24

1 release file

1.23

1 release file

1.22

1 release file

1.21

1 release file

1.20

1 release file

1.19

1 release file

1.18

1 release file

1.17

1 release file

1.16

1 release file

1.15

1 release file

1.14

1 release file

1.13

1 release file

1.12

1 release file

1.11.9

1 release file

1.11.8

1 release file

1.11.7

1 release file

1.11.6

1 release file

1.11.5

1 release file

1.11.4

1 release file

1.11.3

1 release file

1.11.2

1 release file

1.11.1

1 release file

1.11

1 release file

1.10

1 release file

1.9

1 release file

1.8

1 release file

1.7

1 release file

1.6

1 release file

1.5

1 release file

1.4

1 release file

1.3

1 release file

1.2

1 release file

1.1

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page