For more information on adding a license to a repository, see 'Adding a license to a repository.' The goal of GitHub's open source licensing efforts is to provide a starting point to help you make an informed choice. GitHub displays license information to help users get information about open source licenses and the projects that. GitHub Enterprise Server is the on-premises deployment of GitHub.com, built for collaboration and hosted on your own Azure environment. Start your 45-day free trial of Enterprise Server and request a trial license! IntelliJ IDEA License Server.

If you follow the link, you can see that CLion automatically detects the zlib.h header file from the local Conan cache. Build your project normally using your CLion IDE: You can check a complete example of a CLion project reusing conan packages in this github repository: lasote/clion-conan-consumer.

This post explains how to setup a development environment for C and C++ projectsusing Clang as compiler, CMake as build system, CLion as IDE and Conanas package manager. The name 4 Cs is cool, but not my idea, it has beencoined by well known C++ blogger Arne Metz, authorof the great Simplify C++ blog

Though Clang has some support in Windows, its usage there is still low compared with MSVC,and Apple-Clang is the default on OSX, so it has not special difficulties. This postwill use Ubuntu 14.04. As example, we will develop a simple application using thewell known POCO and Boost libraries.

Setting up Clang C/C++ compiler

The default compiler in Ubuntu is GNU/gcc, so we have to install first Clang:

Installed this way, clang will not add itself to the path. It is true thatsetting environment variables CC and CXX is enough for most use cases. Butfor others, as building boost, it is much simpler if clang is in the path,otherwise editing .bjam files might be necessary. Currently, the conan package for boost,does not do that, so it requires clang to be in the path. Lets add a couple of links(most likely we can also use other ways as update-alternatives):

Setting up latest CMake (meta) build system

The default CMake version bundled with Ubuntu 14 is still 2.8.12, which is really old.CMake current version is 3.5 at the time of this writing, so lets install it. Go toCMake downloads and get it. In this case, the tar.gzwas retrieved and installed, prepending the bin subfolder to the path, so it getshigher priority. I did this way because I have to keep CMake 2.8.12 as default, butit is easy to add it permanently to the path.

Clion

We will be using CMake “Unix Makefiles” generators. Though it is possible to passthe compilers to CMake in the command line, I find it error prone, so I usuallyprefer to set the CC and CXX environment variables:

This is also convenient for later CLion usage with this compiler.

Setting up Conan C/C++ package manager

To install conan in your computer, the easiest way is with Python package:

You might need to use sudo if you are installing it globally, not necessaryif using a virtualenv.

Set up the project

Inside the folder there is a simple conanfile.txt defining our dependencies:

Let’s install the dependencies. We will use a temporary folder called .conan(you can use any name), as the CLion editor uses an external build folder. Usinga known and close folder for conan temporary files allows easy management of dependencies:

Note the final --build=missing. Most packages in conan provide binaries for the mainstream compilers,MSVC in Win, GNU/gcc in Linux and Apple-Clang in OSX. So, it is expected that pre-compiled binariesfor CLang in Linux will not be available, so we have to tell conan to build them from sources.Go and grab a coffee, it will build Poco, Boost and some other libs!

This install step will generate 2 files: conanbuildinfo.cmake with some CMake variablesdefined inside, as include paths and library names and conaninfo.txt which stores your currentconfiguration. You can use in parallel many configurations if you want, just place each one in aseparate folder.

You can check the installed dependencies with:

Developing with CLion

CLion is a cross-platform C/C++ IDE from JetBrains.Let’s build our application with CLion. As we already have defined CC and CXX environment variables, launching CLion inour terminal will automatically use CLang as default compiler.

If you go to File->Settings, you could see the compiler is Clang:

It is possible too to use the CMake variables -D CMAKE_C_COMPILER=clang-3.6 -D CMAKE_CXX_COMPILER=clang++-3.6defined in the CLion IDE, to define the compiler. Note that typically a CMake cache clean&restart might be necessary.Now, it is possible to do such clean&restart without restarting the IDE in Menu->Tools->CMake->Reset Cache and Reload Project(the other option is Menu->File->InvalidateCache&Restart, but as it restarts the IDE, it is slower). The clang compiler will be used in your builds, but it will not show as default in the Settings dialog.

From CLion CMakeLists.txt project file, we can load the generated conanbuildinfo.cmake.

CLion will be able to autocomplete from both Poco and Boost headers:

That is all! You can now select in CLion the “timer” target, build it, and run it!

Conclusions

Setting up a development environment for C++ with these 4 tools is not complicated.Basically make sure that CLang is in the path, and that CMake is using it (throughthe environment variables CC and CXX) instead of the sytem GNU/gcc compiler.

Also I found more intuitive to launch CLion with those variable defined, so it detectsthe CLang compiler and shows it in the Settings dialog. It is possible to use cmake command lineparameters -DCMAKE_C_COMPILER=clang-3.6 -DCMAKE_CXX_COMPILER=clang++-3.6 in the same CLionSettings dialog, but a CMake cache restart is typically necessary, as CMake cache onlystores the compiler the first invocation (which is automatically done by CLion, before able to setthe command line parameters).

Conan packages (Poco, Boost and their dependencies: Zlib, electric-fence…) have built finewith Clang, but it is also possible that some other conan packages have not been thoroughlytested yet with CLang, and they might eventually fail to build. Please contribute in thatcase, submitting an issue to the package repository.

Article version: Enterprise Server 2.22
Article version: Enterprise Server 2.22

You can view, manage, and update your GitHub Enterprise license.

In this article

About GitHub Enterprise licenses

When you purchase or renew GitHub Enterprise, you receive a license file to validate your application. A license file has an expiration date and controls the number of user licenses you can add to GitHub Enterprise. After you download and install GitHub Enterprise, uploading the license file unlocks the application for you to use.

You can allocate the user licenses included in your GitHub Enterprise license to users in your GitHub Enterprise Server instance and a GitHub Enterprise Cloud enterprise account. When you add a user to either environment, they will consume a license. If a user has accounts in both environments, to consume only one license, their primary GitHub Enterprise email address must be the same as their verified GitHub Enterprise Cloud email address. You can sync license count and usage between the environments.

If your GitHub Enterprise Server license expires, you won't be able to access your GitHub Enterprise Server instance via a web browser or Git. If needed, you will be able to use command-line utilities to back up all your data. For more information, see 'Configuring backups on your appliance.' If you have any questions about renewing your license, contact GitHub's Sales team.

Uploading a new license to GitHub Enterprise Server

After you purchase a new license or upgrade an existing license from GitHub's Sales team, you must download your new license file, then upload the file to GitHub Enterprise Server to unlock your new user licenses.

Server

If you'd like to renew or add user licenses to GitHub Enterprise, contact GitHub's Sales team. Your new license file will be available for download immediately after you complete your order.

  1. Navigate to GitHub.com.

  2. In the top-right corner of GitHub.com, click your profile photo, then click Your enterprises.

  3. In the list of enterprises, click the enterprise you want to view.

  4. In the enterprise account sidebar, click Settings.

  5. In the left sidebar, click Enterprise licensing.

  6. Under 'Enterprise Server Instances', click to download your license file.

  7. Log into your GitHub Enterprise Server instance as a site administrator.

  8. In the top-right corner of GitHub Enterprise Server, click your profile photo, then click Enterprise settings.

  9. In the enterprise account sidebar, click Settings.

  10. In the left sidebar, click License.

  11. Under 'Quick links', click Update license.

  12. To select your license, click License file, or drag your license file onto License file.

  13. Click Upload.

Viewing license usage

  1. Navigate to GitHub.com.

  2. In the top-right corner of GitHub.com, click your profile photo, then click Your enterprises.

  3. In the list of enterprises, click the enterprise you want to view.

  4. In the enterprise account sidebar, click Settings.

  5. In the left sidebar, click Enterprise licensing.

  6. Review your current GitHub Enterprise license, as well as consumed and available user licenses.

Automatically syncing user license usage with GitHub Enterprise Cloud

You can use GitHub Connect to automatically sync user license count and usage between GitHub Enterprise Server and GitHub Enterprise Cloud. For more information, see 'Enabling automatic user license sync between GitHub Enterprise Server and GitHub Enterprise Cloud.'

Manually syncing user license usage between GitHub Enterprise Server and GitHub Enterprise Cloud

You can download a JSON file from GitHub Enterprise Server and upload the file to GitHub Enterprise Cloud to manually sync user license usage between the two deployments.

  1. In the top-right corner of GitHub Enterprise Server, click your profile photo, then click Enterprise settings.

  2. In the enterprise account sidebar, click Settings.

  3. In the left sidebar, click License.

  4. Under 'Quick links', to download a file containing your current license usage on GitHub Enterprise Server, click Export license usage.

  5. Navigate to GitHub.com.

  6. In the top-right corner of GitHub.com, click your profile photo, then click Your enterprises.

  7. In the list of enterprises, click the enterprise you want to view.

  8. In the enterprise account sidebar, click Settings.

  9. In the left sidebar, click Enterprise licensing.

  10. In the left sidebar, click License.

  11. Under 'Enterprise Server Instances', click Add server usage.

  12. Upload the JSON file you downloaded from GitHub Enterprise Server.

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Clion License Server Github Commands

Or, learn how to contribute.