diff --git a/.gitignore b/.gitignore index cba7efc..c586031 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ a.out +build/ +CMakeCache.txt +CMakeFiles diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..1b8b49b --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.7.2) +project (dump-build-information) +add_executable(dummy dummy.cpp ) +set_target_properties(dummy PROPERTIES COMPILE_FLAGS ${BUILD_FLAGS} -frecord-gcc-switches) + +add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/buildinformation.h + COMMAND echo \"\#define USED_FLAGS \\\"\"`readelf -p .GCC.command.line ${CMAKE_CURRENT_BINARY_DIR}/dummy | grep -v -e dummy -e "-frecord-gcc-switches" | grep -e \"\\[.*\\]\" | cut -d\\] -f2- | tr -d \"\\n\"`\\\" >> ${CMAKE_CURRENT_BINARY_DIR}/buildinformation.h + COMMAND echo \"\#define GIT_VERSION \\\"\"`git describe --dirty --always --tags`\\\" >> ${CMAKE_CURRENT_BINARY_DIR}/buildinformation.h + COMMAND echo \"\#define USED_COMPILER \\\"\"`${CMAKE_C_COMPILER} --version | head -n1`\\\" >> ${CMAKE_CURRENT_BINARY_DIR}/buildinformation.h + DEPENDS dummy + ) +include_directories("${CMAKE_CURRENT_BINARY_DIR}") +add_executable(dump-build-information main.cpp ${CMAKE_CURRENT_BINARY_DIR}/buildinformation.h ) + diff --git a/main.cpp b/main.cpp index 36cfa3e..c77f3de 100644 --- a/main.cpp +++ b/main.cpp @@ -1,4 +1,5 @@ #include +#include "buildinformation.h" void print_build_information(){ std::cout << "Build from revision: " << GIT_VERSION << std::endl;