update 2024-09-12 20:35:48

This commit is contained in:
kenzok8 2024-09-12 20:35:48 +08:00
parent 0679288f21
commit 03fddfe136
1 changed files with 32 additions and 12 deletions

View File

@ -13,19 +13,33 @@ if(GIT_FOUND)
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_TAG OUTPUT_VARIABLE GIT_TAG
OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE GIT_TAG_RESULT
) )
if ((NOT GIT_TAG_RESULT EQUAL 0) OR (GIT_TAG STREQUAL ""))
set(GIT_TAG "unknown")
endif ()
execute_process( execute_process(
COMMAND ${GIT_EXECUTABLE} branch --show-current COMMAND ${GIT_EXECUTABLE} branch --show-current
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_BRANCH OUTPUT_VARIABLE GIT_BRANCH
OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE GIT_BRANCH_RESULT
) )
if ((NOT GIT_BRANCH_RESULT EQUAL 0) OR (GIT_BRANCH STREQUAL ""))
set(GIT_BRANCH "unknown")
endif ()
execute_process( execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse HEAD COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT OUTPUT_VARIABLE GIT_COMMIT
OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE GIT_COMMIT_RESULT
) )
if ((NOT GIT_COMMIT_RESULT EQUAL 0) OR (GIT_COMMIT STREQUAL ""))
set(GIT_COMMIT "unknown")
endif ()
else () else ()
set(GIT_COMMIT "unknown") set(GIT_COMMIT "unknown")
set(GIT_BRANCH "unknown") set(GIT_BRANCH "unknown")
@ -39,15 +53,23 @@ else ()
message(STATUS "Using version string: unknown") message(STATUS "Using version string: unknown")
endif () endif ()
# Define macros
add_compile_definitions(UA2F_GIT_COMMIT="${GIT_COMMIT}") add_compile_definitions(UA2F_GIT_COMMIT="${GIT_COMMIT}")
add_compile_definitions(UA2F_GIT_BRANCH="${GIT_BRANCH}") add_compile_definitions(UA2F_GIT_BRANCH="${GIT_BRANCH}")
add_compile_definitions(UA2F_GIT_TAG="${GIT_TAG}") add_compile_definitions(UA2F_GIT_TAG="${GIT_TAG}")
add_compile_definitions(UA2F_VERSION="${UA2F_VERSION_STR}") add_compile_definitions(UA2F_VERSION="${UA2F_VERSION_STR}")
if (DEFINED ENV{UA2F_ENABLE_ASAN})
set(UA2F_ENABLE_ASAN $ENV{UA2F_ENABLE_ASAN})
message(STATUS "UA2F_ENABLE_ASAN set from environment: ${UA2F_ENABLE_ASAN}")
else ()
set(UA2F_ENABLE_ASAN OFF)
message(STATUS "UA2F_ENABLE_ASAN not set in environment, using default: OFF")
endif ()
if (UA2F_ENABLE_ASAN) if (UA2F_ENABLE_ASAN)
add_compile_options(-fsanitize=address) add_compile_options(-fsanitize=address)
add_link_options(-fsanitize=address) add_link_options(-fsanitize=address)
message(STATUS "AddressSanitizer is enabled.")
else () else ()
message(STATUS "AddressSanitizer is disabled.") message(STATUS "AddressSanitizer is disabled.")
endif () endif ()
@ -63,10 +85,8 @@ if(UA2F_CUSTOM_USER_AGENT)
add_compile_definitions(UA2F_USE_CUSTOM_UA=1) add_compile_definitions(UA2F_USE_CUSTOM_UA=1)
endif () endif ()
# Configure the header file
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/custom.h.in ${CMAKE_CURRENT_BINARY_DIR}/custom.h) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/custom.h.in ${CMAKE_CURRENT_BINARY_DIR}/custom.h)
# Include the binary directory to find the generated header file
include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR})
add_executable(ua2f add_executable(ua2f