Skip to content

Instantly share code, notes, and snippets.

@jpihl
Last active February 10, 2021 08:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jpihl/cebcdf4566cfc7110046847614d3b973 to your computer and use it in GitHub Desktop.
Save jpihl/cebcdf4566cfc7110046847614d3b973 to your computer and use it in GitHub Desktop.
Steinwurf CMake Example
cmake_minimum_required (VERSION 3.11)
project(cmake_example)
include(FetchContent)
FetchContent_Declare(
kodo_rlnc
GIT_REPOSITORY git@github.com:steinwurf/kodo-rlnc.git
GIT_TAG 17.0.0
)
FetchContent_MakeAvailable(kodo_rlnc)
add_executable(cmake_example main.cpp)
target_link_libraries(cmake_example steinwurf::kodo_rlnc)
#include <iostream>
#include <kodo_rlnc/version.hpp>
int main(int argc, char const *argv[]) {
std::cout << kodo_rlnc::version() << std::endl;
return 0;
}
@jpihl
Copy link
Author

jpihl commented Jan 29, 2021

Usage

$ git clone git@github.com:cebcdf4566cfc7110046847614d3b973.git cmake_example
$ cd cmake_example
$ cmake_example$ mkdir build
$ cmake_example$ cd build
$ cmake_example/build$ cmake ..
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Resolving dependencies...
Resolve "waf-tools" (git semver)         : resolve_symlinks/waf-tools => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/waf-tools-ae40a5/4.34.0-9e59db 
Resolve "kodo-core" (git semver)         : resolve_symlinks/kodo-core => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/kodo-core-f711a6/24.0.0-ac0469 
Resolve "boost" (git semver)             : resolve_symlinks/boost => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/boost-6990ca/4.0.2-3e07bd 
Resolve "fifi" (git semver)              : resolve_symlinks/fifi => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/fifi-f85dcd/34.0.0-0956ac 
Resolve "platform" (git semver)          : resolve_symlinks/platform => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/platform-e774c1/4.0.0-1749ac 
Resolve "cpuid" (git semver)             : resolve_symlinks/cpuid => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/cpuid-a4173a/8.0.0-e1f78f 
Resolve "bourne" (git semver)            : resolve_symlinks/bourne => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/bourne-e56c59/9.0.0-0dce58 
Resolve "hex" (git semver)               : resolve_symlinks/hex => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/hex-4a4db2/4.6.0-f526f3 
Resolve "storage" (git semver)           : resolve_symlinks/storage => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/storage-a97dfa/5.3.0-a1e1bb 
Resolve "endian" (git semver)            : resolve_symlinks/endian => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/endian-10cf49/12.0.0-177794 
Resolve "gauge" (git semver)             : resolve_symlinks/gauge => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/gauge-1a4df2/12.0.0-a6f8d5 
Resolve "tables" (git semver)            : resolve_symlinks/tables => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/tables-eaf062/8.0.1-158ec7 
Resolve "stub" (git semver)              : resolve_symlinks/stub => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/stub-5d6b38/6.4.0-08b994 
Resolve "gtest" (git semver)             : resolve_symlinks/gtest => cmake_example/build/_deps/kodo_rlnc-src/resolved_dependencies/gtest-39e104/4.0.0-532226 
'resolve' finished successfully (0.000s)
-- Performing Test HAS_SSE2
-- Performing Test HAS_SSE2 - Success
-- Performing Test HAS_SSSE3
-- Performing Test HAS_SSSE3 - Success
-- Performing Test HAS_SSE42
-- Performing Test HAS_SSE42 - Success
-- Performing Test HAS_AVX2
-- Performing Test HAS_AVX2 - Success
-- Performing Test HAS_NEON
-- Performing Test HAS_NEON - Failed
-- Configuring done
-- Generating done
-- Build files have been written to: cmake_example/build
$ cmake_example/build$ cmake --build .
Scanning dependencies of target bourne
[  2%] Building CXX object _deps/kodo_rlnc-build/fifi/bourne/CMakeFiles/bourne.dir/src/bourne/detail/parser.cpp.o
[  4%] Building CXX object _deps/kodo_rlnc-build/fifi/bourne/CMakeFiles/bourne.dir/src/bourne/json.cpp.o
[  6%] Building CXX object _deps/kodo_rlnc-build/fifi/bourne/CMakeFiles/bourne.dir/src/bourne/version.cpp.o
[  8%] Linking CXX static library libbourne.a
[  8%] Built target bourne
Scanning dependencies of target cpuid
[ 10%] Building CXX object _deps/kodo_rlnc-build/fifi/cpuid/CMakeFiles/cpuid.dir/src/cpuid/cpuinfo.cpp.o
[ 13%] Building CXX object _deps/kodo_rlnc-build/fifi/cpuid/CMakeFiles/cpuid.dir/src/cpuid/version.cpp.o
[ 15%] Linking CXX static library libcpuid.a
[ 15%] Built target cpuid
Scanning dependencies of target fifi
[ 17%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/detail/cpu_support.cpp.o
[ 19%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/detail/simd_allocator.cpp.o
[ 21%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/detail/to_json.cpp.o
[ 23%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary16_basic.cpp.o
[ 26%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary16_math.cpp.o
[ 28%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary4_avx2.cpp.o
[ 30%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary4_basic.cpp.o
[ 32%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary4_math.cpp.o
[ 34%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary4_neon.cpp.o
[ 36%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary4_ssse3.cpp.o
[ 39%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary8_avx2.cpp.o
[ 41%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary8_basic.cpp.o
[ 43%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary8_math.cpp.o
[ 45%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary8_neon.cpp.o
[ 47%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary8_ssse3.cpp.o
[ 50%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary_avx2.cpp.o
[ 52%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary_basic.cpp.o
[ 54%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary_math.cpp.o
[ 56%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary_neon.cpp.o
[ 58%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/binary_sse2.cpp.o
[ 60%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/prime2325_basic.cpp.o
[ 63%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/prime2325_math.cpp.o
[ 65%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/fields/prime2325_sse42.cpp.o
[ 67%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/math.cpp.o
[ 69%] Building CXX object _deps/kodo_rlnc-build/fifi/CMakeFiles/fifi.dir/src/fifi/version.cpp.o
[ 71%] Linking CXX static library libfifi.a
[ 71%] Built target fifi
Scanning dependencies of target kodo_core
[ 73%] Building CXX object _deps/kodo_rlnc-build/kodo_core/CMakeFiles/kodo_core.dir/src/kodo_core/nocode/carousel_decoder.cpp.o
[ 76%] Building CXX object _deps/kodo_rlnc-build/kodo_core/CMakeFiles/kodo_core.dir/src/kodo_core/nocode/carousel_encoder.cpp.o
[ 78%] Building CXX object _deps/kodo_rlnc-build/kodo_core/CMakeFiles/kodo_core.dir/src/kodo_core/symbol_decoder.cpp.o
[ 80%] Building CXX object _deps/kodo_rlnc-build/kodo_core/CMakeFiles/kodo_core.dir/src/kodo_core/symbol_encoder.cpp.o
[ 82%] Building CXX object _deps/kodo_rlnc-build/kodo_core/CMakeFiles/kodo_core.dir/src/kodo_core/version.cpp.o
[ 84%] Linking CXX static library libkodo_core.a
[ 84%] Built target kodo_core
Scanning dependencies of target kodo_rlnc
[ 86%] Building CXX object _deps/kodo_rlnc-build/CMakeFiles/kodo_rlnc.dir/src/kodo_rlnc/decoder.cpp.o
[ 89%] Building CXX object _deps/kodo_rlnc-build/CMakeFiles/kodo_rlnc.dir/src/kodo_rlnc/encoder.cpp.o
[ 91%] Building CXX object _deps/kodo_rlnc-build/CMakeFiles/kodo_rlnc.dir/src/kodo_rlnc/pure_recoder.cpp.o
[ 93%] Building CXX object _deps/kodo_rlnc-build/CMakeFiles/kodo_rlnc.dir/src/kodo_rlnc/version.cpp.o
[ 95%] Linking CXX static library libkodo_rlnc.a
[ 95%] Built target kodo_rlnc
Scanning dependencies of target cmake_example
[ 97%] Building CXX object CMakeFiles/cmake_example.dir/main.cpp.o
[100%] Linking CXX executable cmake_example
[100%] Built target cmake_example
$ cmake_example/build$ ./cmake_example 
17.0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment