Skip to content

Commit 2c03459

Browse files
committed
Fix Abseil conflict with or-tools'
Signed-off-by: Jimmy Situ <web@jimmystone.cn>
1 parent b442cab commit 2c03459

2 files changed

Lines changed: 30 additions & 19 deletions

File tree

CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,6 @@ cmake_policy(SET CMP0074 NEW)
2121
# critical for builds in non-standard environments.
2222
cmake_policy(SET CMP0144 NEW)
2323

24-
if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.27")
25-
# Disallows <PACKAGENAME>_ROOT in find_package.
26-
# TODO: resolve absl/or-tools issue and switch to NEW
27-
cmake_policy(SET CMP0144 OLD)
28-
endif()
29-
3024
# Allow AUTOUIC on generated source
3125
cmake_policy(SET CMP0071 NEW)
3226

etc/DependencyInstaller.sh

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,9 @@ LEMON_VERSION="1.3.1"
6363
SPDLOG_VERSION="1.15.0"
6464
GTEST_VERSION="1.17.0"
6565
GTEST_CHECKSUM="3471f5011afc37b6555f6619c14169cf"
66-
ABSL_VERSION="20260107.0"
67-
ABSL_CHECKSUM="2a7add2ee848dd4591f41b0f6339d624"
66+
# Match the Abseil version bundled in prebuilt or-tools ${OR_TOOLS_VERSION_BIG}.
67+
ABSL_VERSION="20250512.0"
68+
ABSL_CHECKSUM="ecd64c3c38b20335c48e1ede28a8db90"
6869
BISON_VERSION="3.8.2"
6970
BISON_CHECKSUM="1e541a097cda9eca675d29dd2832921f"
7071
FLEX_VERSION="2.6.4"
@@ -674,20 +675,28 @@ _install_abseil() {
674675
local absl_prefix_found=""
675676
local absl_version_file=""
676677

677-
# Check in default/user-specified prefix first
678-
local absl_version_file_default="${absl_prefix_install}/lib/cmake/absl/abslConfigVersion.cmake"
679-
if [[ -f "${absl_version_file_default}" ]]; then
680-
absl_prefix_found="${absl_prefix_install}"
681-
absl_version_file="${absl_version_file_default}"
682-
fi
678+
# Check in default/user-specified prefix first (lib64 on RHEL, lib elsewhere).
679+
for absl_version_file_default in \
680+
"${absl_prefix_install}/lib64/cmake/absl/abslConfigVersion.cmake" \
681+
"${absl_prefix_install}/lib/cmake/absl/abslConfigVersion.cmake"; do
682+
if [[ -f "${absl_version_file_default}" ]]; then
683+
absl_prefix_found="${absl_prefix_install}"
684+
absl_version_file="${absl_version_file_default}"
685+
break
686+
fi
687+
done
683688

684689
# If not found, check in or-tools path
685690
if [[ -z "${absl_prefix_found}" && -n "${OR_TOOLS_PATH}" ]]; then
686-
local absl_version_file_or_tools="${OR_TOOLS_PATH}/lib/cmake/absl/abslConfigVersion.cmake"
687-
if [[ -f "${absl_version_file_or_tools}" ]]; then
688-
absl_prefix_found="${OR_TOOLS_PATH}"
689-
absl_version_file="${absl_version_file_or_tools}"
690-
fi
691+
for absl_version_file_or_tools in \
692+
"${OR_TOOLS_PATH}/lib64/cmake/absl/abslConfigVersion.cmake" \
693+
"${OR_TOOLS_PATH}/lib/cmake/absl/abslConfigVersion.cmake"; do
694+
if [[ -f "${absl_version_file_or_tools}" ]]; then
695+
absl_prefix_found="${OR_TOOLS_PATH}"
696+
absl_version_file="${absl_version_file_or_tools}"
697+
break
698+
fi
699+
done
691700
fi
692701

693702
local absl_installed_version="none"
@@ -709,6 +718,14 @@ _install_abseil() {
709718
_execute "Building and installing Abseil..." "${cmake_bin}" --build build --target install
710719
)
711720
absl_prefix_found="${absl_prefix_install}"
721+
for absl_version_file_default in \
722+
"${absl_prefix_install}/lib64/cmake/absl/abslConfigVersion.cmake" \
723+
"${absl_prefix_install}/lib/cmake/absl/abslConfigVersion.cmake"; do
724+
if [[ -f "${absl_version_file_default}" ]]; then
725+
absl_version_file="${absl_version_file_default}"
726+
break
727+
fi
728+
done
712729
INSTALL_SUMMARY+=("Abseil: system=${absl_installed_version}, required=${required_version}, path=${absl_prefix_found}, status=installed")
713730
else
714731
INSTALL_SUMMARY+=("Abseil: system=${absl_installed_version}, required=${required_version}, path=${absl_prefix_found}, status=skipped")

0 commit comments

Comments
 (0)