Skip to content

Commit 290f60d

Browse files
committed
Revert "Remove explicit need of uname and lsb_release file"
This reverts commit 3736d2e.
1 parent 5191f32 commit 290f60d

File tree

2 files changed

+28
-23
lines changed

2 files changed

+28
-23
lines changed

FindCMDEF.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
# - include all CMDEF modules
1010
#
1111

12-
CMAKE_MINIMUM_REQUIRED(VERSION 3.22 FATAL_ERROR)
12+
CMAKE_MINIMUM_REQUIRED(VERSION 3.21 FATAL_ERROR)
1313

1414
SET(CMDEF_PACKAGE_NAME "CMDEF")
1515

system_modules/CMDEF_ENV.cmake

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -429,23 +429,24 @@ FUNCTION(_CMDEF_ENV_GET_ARCH arch)
429429
RETURN()
430430
ENDIF()
431431
IF(CMDEF_OS_LINUX)
432-
CMAKE_HOST_SYSTEM_INFORMATION(RESULT _arch QUERY OS_PLATFORM)
432+
FIND_PROGRAM(CMDEF_UNAME uname REQUIRED)
433+
EXECUTE_PROCESS(COMMAND "${CMDEF_UNAME}" -m
434+
OUTPUT_VARIABLE _arch
435+
RESULT_VARIABLE result
436+
OUTPUT_STRIP_TRAILING_WHITESPACE
437+
)
438+
IF(NOT (result EQUAL 0))
439+
MESSAGE(FATAL_ERROR "Cannot determine architecture! Set up CMDEF_ARCHITECTURE manually or repair uname")
440+
ENDIF()
433441
STRING(REGEX REPLACE "[^a-zA-Z0-9.]" "-" _arch_mapped "${_arch}")
434442
STRING(TOLOWER "${_arch_mapped}" _arch_normalized)
435-
IF(NOT _arch_normalized)
436-
MESSAGE(FATAL_ERROR "Cannot determine system architecture."
437-
" It seems the system has system arch set to empty or invalid string."
438-
" Consult os-release file."
439-
)
440-
ENDIF()
441443
SET(${arch} "${_arch_normalized}" PARENT_SCOPE)
442444
RETURN()
443445
ENDIF()
444446
MESSAGE(FATAL_ERROR "Cannot get architecture for unknown OS ${CMDEF_OS_NAME}")
445447
ENDFUNCTION()
446448

447449

448-
449450
## Helper
450451
#
451452
# Determine distribution ID
@@ -464,15 +465,17 @@ FUNCTION(_CMDEF_ENV_GET_DISTRO_ID distro_id)
464465
RETURN()
465466
ENDIF()
466467
IF(CMDEF_OS_LINUX)
467-
CMAKE_HOST_SYSTEM_INFORMATION(RESULT _distro_id QUERY DISTRIB_ID)
468+
FIND_PROGRAM(CMDEF_LSB_RELEASE lsb_release REQUIRED)
469+
EXECUTE_PROCESS(COMMAND "${CMDEF_LSB_RELEASE}" -i -s
470+
OUTPUT_VARIABLE _distro_id
471+
RESULT_VARIABLE result
472+
OUTPUT_STRIP_TRAILING_WHITESPACE
473+
)
474+
IF(NOT (result EQUAL 0))
475+
MESSAGE(FATAL_ERROR "Cannot determine distro ID! Set up CMDEF_DISTRO_ID manually or repair lsb_release")
476+
ENDIF()
468477
STRING(REGEX REPLACE "[^a-zA-Z0-9.]" "-" _distro_id_mapped "${_distro_id}")
469478
STRING(TOLOWER "${_distro_id_mapped}" _distro_id_normalized)
470-
IF(NOT _distro_id_normalized)
471-
MESSAGE(FATAL_ERROR "Cannot determine Distro ID."
472-
"It seems the system has Distro ID set to empty or invalid string."
473-
" Consult os-release file."
474-
)
475-
ENDIF()
476479
SET(${distro_id} "${_distro_id_normalized}" PARENT_SCOPE)
477480
RETURN()
478481
ENDIF()
@@ -499,15 +502,17 @@ FUNCTION(_CMDEF_ENV_GET_DISTRO_VERSION_ID version_id)
499502
RETURN()
500503
ENDIF()
501504
IF(CMDEF_OS_LINUX)
502-
CMAKE_HOST_SYSTEM_INFORMATION(RESULT _version_id QUERY DISTRIB_VERSION_ID)
505+
FIND_PROGRAM(CMDEF_LSB_RELEASE lsb_release REQUIRED)
506+
EXECUTE_PROCESS(COMMAND "${CMDEF_LSB_RELEASE}" -r -s
507+
OUTPUT_VARIABLE _version_id
508+
RESULT_VARIABLE result
509+
OUTPUT_STRIP_TRAILING_WHITESPACE
510+
)
511+
IF(NOT (result EQUAL 0))
512+
MESSAGE(FATAL_ERROR "Cannot determine version ID! Set up CMDEF_DISTRO_VERSION_ID manually or repair lsb_release")
513+
ENDIF()
503514
STRING(REGEX REPLACE "[^a-zA-Z0-9.]" "-" _version_id_mapped "${_version_id}")
504515
STRING(TOLOWER "${_version_id_mapped}" _version_id_normalized)
505-
IF(NOT _version_id_normalized)
506-
MESSAGE(FATAL "Cannot determine Distro Version ID."
507-
" It seems the system has Distro Version ID set to empty or invalid string."
508-
" Consult os-release file."
509-
)
510-
ENDIF()
511516
SET(${version_id} "${_version_id_normalized}" PARENT_SCOPE)
512517
RETURN()
513518
ENDIF()

0 commit comments

Comments
 (0)