Skip to content

Instantly share code, notes, and snippets.

View an-dr's full-sized avatar
🦖
___🌵_____🌵_🌵_____🌵_

Andrei Gramakov an-dr

🦖
___🌵_____🌵_🌵_____🌵_
View GitHub Profile
#include <stdio.h>
void *stateStart();
void *state1();
void *state2();
void *stateEnd();
int main()
{
printf("StateMachine Demo\n");
@an-dr
an-dr / CMakeLists.txt
Created April 7, 2019 14:50
CMakeLists.txt - nested source directory
set(PROJECT_NAME libhello)
set(PROJECT_INCLUDES inc_deps include)
set(PROJECT_SRC src/hello.cpp)
cmake_minimum_required(VERSION 3.0)
set(CMAKE_CXX_STANDARD 14)
project(${PROJECT_NAME} LANGUAGES CXX)
# exports ==============================================================================================================
@an-dr
an-dr / CMakeLists.txt
Last active April 7, 2019 15:05
CMakeLists.txt for general purposes
set(PROJECT_NAME libhello)
set(PROJECT_INCLUDES inc_deps include)
set(PROJECT_SRC src/hello.cpp)
#set(MAIN_SRC main.cpp) # Main
cmake_minimum_required(VERSION 3.0)
set(CMAKE_CXX_STANDARD 14)
project(${PROJECT_NAME} LANGUAGES CXX)
"""
Source: https://www.blog.pythonlibrary.org/2014/02/14/python-101-how-to-change-a-dict-into-a-class/
"""
class Dict2Obj(object):
"""
Turns a dictionary into a class
"""
@an-dr
an-dr / alias_print_build_vars.sh
Created May 31, 2019 02:31
An alias for printing of all building variables set in the session (https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html)
alias a_print_build_vars="printf \"
Standart GNU variables for additional building rules:
=====================================================
ARFLAGS = $ARFLAGS
Flags to give the archive-maintaining program; default 'rv'.
ASFLAGS = $ASFLAGS
Extra flags to give to the assembler (when explicitly invoked on a '.s' or '.S' file).
@an-dr
an-dr / CMakeLists.txt
Created July 3, 2019 07:45 — forked from baiwfg2/CMakeLists.txt
How to use add_custom_target and add_custom_command correctly in cmake
# References:
# https://cmake.org/cmake/help/latest/command/add_custom_target.html
# https://samthursfield.wordpress.com/2015/11/21/cmake-dependencies-between-targets-and-files-and-custom-commands/
# https://gist.github.com/socantre/7ee63133a0a3a08f3990
# https://stackoverflow.com/questions/24163778/how-to-add-custom-target-that-depends-on-make-install
# https://stackoverflow.com/questions/30719275/add-custom-command-is-not-generating-a-target
# https://stackoverflow.com/questions/26024235/how-to-call-a-cmake-function-from-add-custom-target-command
# https://blog.csdn.net/gubenpeiyuan/article/details/51096777
cmake_minimum_required(VERSION 3.10)
@an-dr
an-dr / the_script.py
Last active July 30, 2019 06:41
Python template for multi-platform script writing
"""
The Script : https://gist.github.com/an-dr/9f3256f4ccd97bc6e04751b542364bff
"""
class X:
"""
The Script's Class: https://gist.github.com/an-dr/9f3256f4ccd97bc6e04751b542364bff
"""
from os.path import realpath, basename, dirname, join
@an-dr
an-dr / set_env.ps1
Created September 3, 2019 10:52
PS1 Script for setup a working environment
function _expand ($r_path) { return [IO.Path]::GetFullPath($r_path) }
function _path_append ($path) {
$p = expand($path) ; $env:Path += ";" + $p
Write-Output ('PATH' + " = " + $path + ' + $PATH')
}
function _path_add ($path) {
$p = expand($path); $env:Path += $p + ";" + $env:Path
Write-Output ('PATH' + " += " + $path)
@an-dr
an-dr / openocd_build_msys32.sh
Last active September 12, 2019 14:59
Script for fully automatic building of OpenOCD on windows with MSYS2 with some fancy stuff
set -e # exit on error
export LANG="C"
# Prerequirements:
pacman -S --noconfirm --needed autoconf automake colormake git mingw32/mingw-w64-i686-libusb make mingw-w64-i686-gcc mingw-w64-i686-toolchain mingw-w64-i686-libtool mingw-w64-i686-pkg-config mingw-w64-cross-winpthreads-git p7zip
# Setup build system
export CFLAGS="$CFLAGS -Wno-error"
export CPPFLAGS="$CPPFLAGS -D__USE_MINGW_ANSI_STDIO=1 -Wno-error"
@an-dr
an-dr / script.cmake
Created October 22, 2019 12:42
CMake script for using as cross-platform scripting language
# to execute: "cmake -P ./script.cmake"
# *****************************************************************************
if(CMAKE_SCRIPT_MODE_FILE AND NOT CMAKE_PARENT_LIST_FILE) # if it is dirrectly launched in a script mode
execute_process(
# vvv
COMMAND "python" "--version"
# ^^^
RESULT_VARIABLE RES # result of the cmd
OUTPUT_VARIABLE OUT # output var
ERROR_VARIABLE ERR) # error var