Call python explicitly from cmake for collecting repo info on Windows

This commit is contained in:
Tim Wojtulewicz 2023-02-14 11:46:36 -07:00 committed by Tim Wojtulewicz
parent 9dd6ddf548
commit d34e4fb29b

View file

@ -860,14 +860,26 @@ endforeach()
######################################################################## ########################################################################
## Populate the ZEEK_BUILD_INFO for use in src/version.c.in ## Populate the ZEEK_BUILD_INFO for use in src/version.c.in
execute_process(COMMAND "${PROJECT_SOURCE_DIR}/ci/collect-repo-info.py" "${ZEEK_INCLUDE_PLUGINS}"
if ( WIN32 )
# Windows installs Python to C:\Python311\python, but doesn't create a version
# or symlink to python3. Call python with the script directly since the shebang
# in the script won't work here.
execute_process(COMMAND "python" "${PROJECT_SOURCE_DIR}/ci/collect-repo-info.py" "${ZEEK_INCLUDE_PLUGINS}"
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
OUTPUT_VARIABLE ZEEK_BUILD_INFO OUTPUT_VARIABLE ZEEK_BUILD_INFO
RESULT_VARIABLE ZEEK_BUILD_INFO_RESULT RESULT_VARIABLE ZEEK_BUILD_INFO_RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_STRIP_TRAILING_WHITESPACE)
else()
execute_process(COMMAND "${PROJECT_SOURCE_DIR}/ci/collect-repo-info.py" "${ZEEK_INCLUDE_PLUGINS}"
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
OUTPUT_VARIABLE ZEEK_BUILD_INFO
RESULT_VARIABLE ZEEK_BUILD_INFO_RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
if ( NOT ZEEK_BUILD_INFO_RESULT EQUAL "0" ) if ( NOT ZEEK_BUILD_INFO_RESULT EQUAL "0" )
message( FATAL_ERROR "Could not collect repository info") message(FATAL_ERROR "Could not collect repository info")
endif () endif ()
# string(JSON ... ) requires CMake 3.19, but then we could do something like: # string(JSON ... ) requires CMake 3.19, but then we could do something like: