Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Jsonnet | 6,266 | 61 | 26 | 18 hours ago | 58 | December 21, 2021 | 258 | apache-2.0 | Jsonnet | |
Jsonnet - The data templating language | ||||||||||
Sol2 | 3,394 | 2 months ago | 147 | mit | C++ | |||||
Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation: | ||||||||||
Compile Time Regular Expressions | 2,765 | a month ago | 85 | apache-2.0 | C++ | |||||
Compile Time Regular Expression in C++ | ||||||||||
Benchmarks | 2,568 | 22 days ago | 49 | mit | Makefile | |||||
Some benchmarks of different languages | ||||||||||
Epijudge | 2,550 | 6 months ago | 77 | other | C++ | |||||
EPI Judge - Preview Release | ||||||||||
Yyjson | 2,481 | 12 days ago | 6 | mit | C | |||||
The fastest JSON library in C | ||||||||||
Osxcross | 2,419 | 11 days ago | 101 | gpl-2.0 | C++ | |||||
Mac OS X cross toolchain for Linux, FreeBSD, OpenBSD and Android (Termux) | ||||||||||
C | 1,991 | 8 months ago | 1 | September 07, 2022 | 14 | mit | Shell | |||
Compile and execute C "scripts" in one go! | ||||||||||
Ccache | 1,890 | 2 days ago | 12 | May 16, 2022 | 50 | other | C++ | |||
ccache – a fast compiler cache | ||||||||||
Judge0 | 1,430 | 5 days ago | 87 | gpl-3.0 | HTML | |||||
🔥 The most advanced open-source online code execution system in the world. |
Collection of CMake toolchain files and scripts.
Linux/OSX | Windows |
---|---|
Every toolchain defines compiler/flags and two variables:
POLLY_TOOLCHAIN_NAME
POLLY_TOOLCHAIN_TAG
First variable will be printed while processing file:
-- [polly] Used toolchain: Name of toolchain A
-- The CXX compiler identification is Clang 5.0.0
-- Check for working CXX compiler: /usr/bin/c++
-- [polly] Used toolchain: Name of toolchain A
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- [polly] Used toolchain: Name of toolchain A
-- Detecting CXX compiler ABI info - done
-- [polly] Used toolchain: Name of toolchain A
-- Configuring done
-- Generating done
-- Build files have been written to: ...
Second
variable coincide with toolchain file name and can be used to define CMAKE_INSTALL_PREFIX
like:
set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}/_install/${POLLY_TOOLCHAIN_TAG}")
In this case targets can coexist simultaneously:
- Project\ -
- CMakeLists.txt
- sources\
- documentation\
- ...
- _install\ -
- toolchain-A\
- toolchain-B\
- toolchain-C\
- ...
Note: This is a core idea of the tagged builds in hunter package manager.
Just define CMAKE_TOOLCHAIN_FILE variable:
> cmake -H. -B_builds/clang-libstdcxx -DCMAKE_TOOLCHAIN_FILE=${POLLY_ROOT}/clang-libstdcxx.cmake -DCMAKE_VERBOSE_MAKEFILE=ON
-- [polly] Used toolchain: clang / GNU Standard C++ Library (libstdc++) / c++11 support
-- The CXX compiler identification is Clang 5.0.0
-- Check for working CXX compiler: /usr/bin/c++
-- [polly] Used toolchain: clang / GNU Standard C++ Library (libstdc++) / c++11 support
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- [polly] Used toolchain: clang / GNU Standard C++ Library (libstdc++) / c++11 support
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: /.../_builds/make-debug
Take a look at make output, you must see -stdlib=libstdc++
string:
> cmake --build _builds/clang_libstdcxx
/usr/bin/c++ -std=c++11 -stdlib=libstdc++ -o CMakeFiles/.../main.cpp.o -c /.../main.cpp
This is a python script that wrap cmake for you and automatically set:
_builds/xcode
, _builds/libcxx-Debug
, _builds/nmake-Release
_install/vs-12-2013-x64
, _install/libcxx
--open
passedctest
after the build done if option --test
passedcpack
after the build done if option --pack
passedOS X
/iOS
framework if option --framework
passed (can be used for broken iOS framework creation on CMake)Example of usage (also see polly.py --help
):
polly.py --toolchain xcode --config Debug
(_builds/xcode
)libcxx
:
polly.py --toolchain libcxx --config Release --test
(_builds/libcxx-Release
)polly.py --toolchain xcode --config Debug --install
(_builds/xcode
, _install/xcode
)See examples. Please read coding style and agreements before start looking through examples (may explain a lot). Take a look at the Travis config files: mac and linux, it's quite self-explanatory.
See CONTRIBUTING.md.