MNGL (Community Member) asked a question.

how to generate required files using GCC?

Here is the documentation about generating required files using GCC.

https://docs.veracode.com/r/C_Cplus_preprocessed_source_packaging

 

Here is my CMakeLists.txt. How should I edit my CMakeLists.txt in order to generating required binary files with debug info? Thanks.

 

CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)

 

# get project version from debian changelog

FILE (READ "${CMAKE_CURRENT_SOURCE_DIR}/debian/changelog" CHANGELOG)

STRING (REGEX MATCH "([0-9]+\\.[0-9]+\\.[0-9]+)" WVDVERSION "${CHANGELOG}")

SET(DEBVERSION ${WVDVERSION} CACHE INTERNAL "WVD Package Version" FORCE)

 

# git commit revision

execute_process(COMMAND git log --pretty=format:%h -n 1

OUTPUT_VARIABLE CLIENT_GIT_REV

ERROR_QUIET)

 

# git branch

execute_process(COMMAND git rev-parse --abbrev-ref HEAD

OUTPUT_VARIABLE CLIENT_GIT_BRANCH

OUTPUT_STRIP_TRAILING_WHITESPACE

ERROR_QUIET)

 

# get build timestamp

string(TIMESTAMP CLIENT_BUILD_TS "%Y-%m-%d %H:%M:%S")

 

# project name

project(CLIENT VERSION ${DEBVERSION})

 

# useful for debugging CMake variables

#get_cmake_property(_variableNames VARIABLES)

#list (SORT _variableNames)

#foreach (_variableName ${_variableNames})

#  message(STATUS "${_variableName}=${${_variableName}}")

#endforeach()

 

# make sure we don't introduce -flto=auto on Ubuntu 22.04 which causes build to fail

#set(CMAKE_EXE_LINKER_FLAGS, "-Wl,-Bsymbolic-functions -Wl,-z,relro")

#set(CMAKE_EXE_LINKER_FLAGS_INIT, "-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro")

#set(CMAKE_MODULE_LINKER_FLAGS, "-Wl,-Bsymbolic-functions -Wl,-z,relro")

#set(CMAKE_MODULE_LINKER_FLAGS_INIT, "-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro")

#set(CMAKE_SHARED_LINKER_FLAGS, "-Wl,-Bsymbolic-functions -Wl,-z,relro")

#set(CMAKE_SHARED_LINKER_FLAGS_INIT, "-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro")

#set(CMAKE_CXX_FLAGS "-test")

#set(CMAKE_CXX_FLAGS "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2")

set(CMAKE_CXX_FLAGS "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -gdwarf-2 -g3 -O0 -fno-builtin")

#set(CMAKE_EXE_LINKER_FLAGS "-test")

#set(CMAKE_CXX_FLAGS_INIT "-fexceptions")

#set(CMAKE_CXX_COMPILE_OPTIONS_IPO -test)

set(CMAKE_CXX_COMPILER_VERSION 11)

set(CMAKE_CXX_STANDARD 17)

set(CMAKE_CXX_STANDARD_REQUIRED True)

#set(CMAKE_INTERPROCEDURAL_OPTIMIZATION FALSE)

#set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_JOBS 4)

 

set(CMAKE_INSTALL_PREFIX "/usr")

 

include(GNUInstallDirs)

 

configure_file(config.h.in config.h)

include_directories("${CMAKE_CURRENT_BINARY_DIR}")

 

add_subdirectory(common)

add_subdirectory(wvd-feed)

add_subdirectory(wvd-resource)

 

include(InstallRequiredSystemLibraries)

# set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")

set(CPACK_PACKAGE_VERSION_MAJOR "${CLIENT_VERSION_MAJOR}")

set(CPACK_PACKAGE_VERSION_MINOR "${CLIENT_VERSION_MINOR}")

 

set(CLIENT_GIT_REV "${CLIENT_GIT_REV}")

set(CLIENT_GIT_BRANCH "${CLIENT_GIT_BRANCH}")

 

#include(CPack)

 

 


Topics (10)

No articles found
Loading

Ask the Community

Get answers, share a use case, discuss your favorite features, or get input from the community.