Projects
Mega:24.09
cmake
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 2
View file
_service:tar_scm:cmake.spec
Changed
@@ -1,8 +1,19 @@ %define debug_package %{nil} -%bcond_with bootstrap %bcond_without ncurses -%bcond_without sphinx %bcond_without X11_test + +%ifarch aarch64_ilp32 +%bcond_with cmake_gui +%bcond_with emacs +%bcond_without bootstrap +%bcond_with sphinx +%else +%bcond_without cmake_gui +%bcond_without emacs +%bcond_with bootstrap +%bcond_without sphinx +%endif + %global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; -d $d || d=%{_sysconfdir}/rpm; echo $d) %{!?_pkgdocdir:%global _pkgdocdir %{_docdir}/cmake-%{version}} @@ -11,7 +22,7 @@ Name: cmake Version: 3.27.9 -Release: 3 +Release: 4 Summary: Cross-platform make system License: BSD and MIT and zlib URL: http://www.cmake.org @@ -27,8 +38,21 @@ %endif Patch2: cmake-3.27.9-fix-cxx-standard-check-issue.patch +%ifarch aarch64_ilp32 +Patch6000: backport-cmake-aarch64-ilp32-support.patch +%endif + BuildRequires: coreutils findutils gcc-c++ gcc-gfortran sed -BuildRequires: emacs python3-devel pkgconfig(Qt5Widgets) desktop-file-utils + +%if %{with cmake_gui} +BuildRequires: pkgconfig(Qt5Widgets) desktop-file-utils +%endif + +%if %{with emacs} +BuildRequires: emacs +%endif + +BuildRequires: python3-devel %if %{with X11_test} BuildRequires: libX11-devel %endif @@ -62,7 +86,10 @@ Summary: Common data-files for cmake Requires: cmake = %{version}-%{release} cmake-filesystem = %{version}-%{release} Requires: cmake-rpm-macros = %{version}-%{release} + +%if %{with emacs} Requires: emacs-filesystem%{?_emacs_version: >= %{_emacs_version}} +%endif BuildArch: noarch @@ -75,6 +102,7 @@ %description filesystem This package owns all directories used by CMake modules. +%if %{with cmake_gui} %package gui Summary: Qt GUI for cmake @@ -84,6 +112,7 @@ %description gui The cmake-gui package contains the Qt based GUI for cmake. +%endif %package rpm-macros Summary: Common RPM macros for cmake @@ -128,7 +157,11 @@ %else --sphinx-build=%{_bindir}/false \ %endif +%if %{with cmake_gui} +%if 0%{?build_cross} == 0 --qt-gui \ +%endif +%endif ; %make_build VERBOSE=1 @@ -140,11 +173,17 @@ do ln -s $f %{buildroot}%{_bindir}/${f}3; done + +%if %{with emacs} install -d %{buildroot}%{_emacs_sitelispdir}/cmake install -p -m 0644 Auxiliary/cmake-mode.el %{buildroot}%{_emacs_sitelispdir}/cmake/cmake-mode.el %{_emacs_bytecompile} %{buildroot}%{_emacs_sitelispdir}/cmake/cmake-mode.el install -d %{buildroot}%{_emacs_sitestartdir} install -p -m 0644 %SOURCE1 %{buildroot}%{_emacs_sitestartdir} +%else +rm -f %{buildroot}%{_emacs_sitelispdir} +%endif + install -p -m0644 -D %{SOURCE2} %{buildroot}%{rpm_macros_dir}/macros.cmake sed -i -e "s|@@CMAKE_VERSION@@|%{version}|" -e "s|@@CMAKE_MAJOR_VERSION@@|3|" %{buildroot}%{rpm_macros_dir}/macros.cmake touch -r %{SOURCE2} %{buildroot}%{rpm_macros_dir}/macros.cmake @@ -167,10 +206,14 @@ cp -p Utilities/cmcppdap/LICENSE LICENSE.cppdap cp -p Utilities/cmcppdap/NOTICE NOTICE.cppdap +%if %{with cmake_gui} +%if 0%{?build_cross} == 0 desktop-file-install --delete-original \ --dir=%{buildroot}%{_datadir}/applications \ %{buildroot}%{_datadir}/applications/cmake-gui.desktop +%endif install -d %{buildroot}%{_metainfodir} +%endif find %{buildroot}%{_datadir}/cmake -type d | sed -e 's!^%{buildroot}!%%dir "!g' -e 's!$!"!g' > data_dirs.mf find %{buildroot}%{_datadir}/cmake -type f | sed -e 's!^%{buildroot}!"!g' -e 's!$!"!g' > data_files.mf @@ -184,6 +227,7 @@ #export NO_TEST="CMake.FileDownload|CTestTestUpload|curl|RunCMake.CPack_RPM" #bin/ctest -V -E "$NO_TEST" %{?_smp_mflags} +%if %{with cmake_gui} %post gui update-desktop-database &> /dev/null || : touch --no-create %{_datadir}/mime || : @@ -201,6 +245,7 @@ %posttrans gui update-mime-database %{_datadir}/mime &> /dev/null || : gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +%endif %files -f lib_files.mf %doc %dir %{_pkgdocdir} @@ -210,20 +255,26 @@ %files data -f data_files.mf %{_datadir}/aclocal/cmake.m4 %{_datadir}/bash-completion +%if %{with emacs} %{_emacs_sitelispdir}/cmake %{_emacs_sitelispdir}/cmake-mode.el %{_emacs_sitestartdir}/cmake-init.el +%endif %{_datadir}/vim/vimfiles/indent/%{name}.vim -%{_datadir}/vim/vimfiles//syntax/%{name}.vim +%{_datadir}/vim/vimfiles/syntax/%{name}.vim %exclude %{_datadir}/cmake/Templates/Windows/Windows_TemporaryKey.pfx %files filesystem -f data_dirs.mf -f lib_dirs.mf +%if %{with cmake_gui} %files gui +%if 0%{?build_cross} == 0 %{_bindir}/cmake-gui %{_datadir}/applications/cmake-gui.desktop %{_datadir}/mime/packages %{_datadir}/icons/hicolor/*/apps/CMake%{?name_suffix}Setup.png +%endif +%endif %files rpm-macros %{rpm_macros_dir}/macros.cmake @@ -238,12 +289,20 @@ %{_mandir}/man1/cpack.1.* %{_mandir}/man1/ctest.1.* %{_mandir}/man7/*.7.* +%if %{with cmake_gui} +%if 0%{?build_cross} == 0 %{_mandir}/man1/cmake-gui.1.* %endif +%endif +%endif %doc %{_pkgdocdir} %exclude %{_pkgdocdir}/Copyright.txt %changelog +* Wed Jul 10 2024 fuanan <fuanan3@h-partners.com> - 3.27.9-4 +- Add compilation options for i686. +- Support arrch64-ilp32 compilation. + * Fri Apr 5 2024 tiberium <jinzhe.oerv@isrc.iscas.ac.cn> 3.27.9-3 - fix cmake compile issue due to cxx standard check failed
View file
_service:tar_scm:backport-cmake-aarch64-ilp32-support.patch
Added
@@ -0,0 +1,238 @@ +From d5d39d3adba9f68b7c2e83920230102adb172c23 Mon Sep 17 00:00:00 2001 +From: root <root@localhost.localdomain> +Date: Thu, 3 Dec 2020 17:03:47 +0800 +Subject: PATCH cmake aarch64-ilp32 support + +Reference:https://build.opensuse.org/package/view_file/devel:ARM:Factory:Contrib:ILP32/cmake/aarch64-ilp32.patch?expand=1 +Conflict:Contextual adaptation + +--- + Modules/CMakeCompilerABI.h | 5 +++++ + Modules/FindGTK2.cmake | 2 ++ + Modules/FindJNI.cmake | 4 ++++ + Modules/FindPkgConfig.cmake | 4 ++++ + Modules/GNUInstallDirs.cmake | 5 +++++ + Modules/Platform/UnixPaths.cmake | 3 ++- + Source/cmFindLibraryCommand.cxx | 6 ++++++ + Source/cmFindPackageCommand.cxx | 11 +++++++++++ + Source/cmFindPackageCommand.h | 1 + + Source/cmMakefile.cxx | 13 +++++++++++++ + Source/cmMakefile.h | 3 +++ + 11 files changed, 56 insertions(+), 1 deletion(-) + +diff --git a/Modules/CMakeCompilerABI.h b/Modules/CMakeCompilerABI.h +index 45532af..38545c9 100644 +--- a/Modules/CMakeCompilerABI.h ++++ b/Modules/CMakeCompilerABI.h +@@ -24,6 +24,11 @@ const char info_sizeof_dptr = { + defined(__ILP32__) + # define ABI_ID "ELF X32" + ++#elif defined(__ELF__) && defined(__aarch64__) && defined(__LP64__) ++# define ABI_ID "ELF LP64" ++#elif defined(__ELF__) && defined(__aarch64__) && defined(__ILP32__) ++# define ABI_ID "ELF ILP32" ++ + #elif defined(__ELF__) + # define ABI_ID "ELF" + #endif +diff --git a/Modules/FindGTK2.cmake b/Modules/FindGTK2.cmake +index 83091f3..9ed1f4d 100644 +--- a/Modules/FindGTK2.cmake ++++ b/Modules/FindGTK2.cmake +@@ -293,9 +293,11 @@ function(_GTK2_FIND_INCLUDE_DIR _var _hdr) + PATHS + ${_gtk2_arch_dir} + /usr/local/libx32 ++ /usr/local/libilp32 + /usr/local/lib64 + /usr/local/lib + /usr/libx32 ++ /usr/libilp32 + /usr/lib64 + /usr/lib + /opt/gnome/include +diff --git a/Modules/FindJNI.cmake b/Modules/FindJNI.cmake +index 3a5bd31..04fe966 100644 +--- a/Modules/FindJNI.cmake ++++ b/Modules/FindJNI.cmake +@@ -64,6 +64,8 @@ macro(java_append_library_directories _var) + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") + # Subdir is "arm" for both big-endian (arm) and little-endian (armel). + set(_java_libarch "arm" "aarch32") ++ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64") ++ set(_java_libarch "aarch64" "aarch64_ilp32") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips") + # mips* machines are bi-endian mostly so processor does not tell + # endianness of the underlying system. +@@ -216,6 +218,8 @@ set(_JNI_JAVA_DIRECTORIES_BASE + # SuSE specific paths for default JVM + /usr/lib64/jvm/java + /usr/lib64/jvm/jre ++ /usr/libilp32/jvm/java ++ /usr/libilp32/jvm/jre + ) + + set(_JNI_JAVA_AWT_LIBRARY_TRIES) +diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake +index bd1bc7c..4773d99 100644 +--- a/Modules/FindPkgConfig.cmake ++++ b/Modules/FindPkgConfig.cmake +@@ -317,6 +317,10 @@ macro(_pkg_set_path_internal) + if(uselibx32 AND CMAKE_INTERNAL_PLATFORM_ABI STREQUAL "ELF X32") + list(APPEND _lib_dirs "libx32/pkgconfig") + endif() ++ get_property(uselibilp32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIBILP32_PATHS) ++ if(uselibilp32 AND CMAKE_INTERNAL_PLATFORM_ABI STREQUAL "ELF ILP32") ++ list(APPEND _lib_dirs "libilp32/pkgconfig") ++ endif() + endif() + endif() + if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_CROSSCOMPILING) +diff --git a/Modules/GNUInstallDirs.cmake b/Modules/GNUInstallDirs.cmake +index f95e6e2..003e8cc 100644 +--- a/Modules/GNUInstallDirs.cmake ++++ b/Modules/GNUInstallDirs.cmake +@@ -245,6 +245,11 @@ if(NOT DEFINED CMAKE_INSTALL_LIBDIR OR (_libdir_set + if(DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX) + set(__LAST_LIBDIR_DEFAULT "lib64") + endif() ++ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64") ++ set(_LIBDIR_DEFAULT "libilp32") ++ if(DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX) ++ set(__LAST_LIBDIR_DEFAULT "libilp32") ++ endif() + endif() + endif() + endif() +diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake +index 97f744d..9acb7b3 100644 +--- a/Modules/Platform/UnixPaths.cmake ++++ b/Modules/Platform/UnixPaths.cmake +@@ -60,7 +60,7 @@ list(APPEND CMAKE_SYSTEM_LIBRARY_PATH + ) + + list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES +- /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64 ++ /lib /lib32 /lib64 /libilp32 /usr/lib /usr/lib32 /usr/lib64 /usr/libilp32 + ) + + if(CMAKE_SYSROOT_COMPILE) +@@ -90,3 +90,4 @@ unset(_cmake_sysroot_compile) + set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS TRUE) + set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE) + set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIBX32_PATHS TRUE) ++set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIBILP32_PATHS TRUE) +diff --git a/Source/cmFindLibraryCommand.cxx b/Source/cmFindLibraryCommand.cxx +index 20221b1..b73b1c1 100644 +--- a/Source/cmFindLibraryCommand.cxx ++++ b/Source/cmFindLibraryCommand.cxx +@@ -70,6 +70,12 @@ bool cmFindLibraryCommand::InitialPass(std::vector<std::string> const& argsIn) + "FIND_LIBRARY_USE_LIBX32_PATHS")) { + this->AddArchitecturePaths("x32"); + } ++ // add special 32 bit paths if this is an ilp32 compile. ++ else if (this->Makefile->PlatformIsilp32() && ++ this->Makefile->GetState()->GetGlobalPropertyAsBool( ++ "FIND_LIBRARY_USE_LIBILP32_PATHS")) { ++ this->AddArchitecturePaths("ilp32"); ++ } + + std::string const library = this->FindLibrary(); + if (!library.empty()) { +diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx +index 2b11b62..deb5f1e 100644 +--- a/Source/cmFindPackageCommand.cxx ++++ b/Source/cmFindPackageCommand.cxx +@@ -100,6 +100,7 @@ cmFindPackageCommand::cmFindPackageCommand(cmExecutionStatus& status) + this->UseLib32Paths = false; + this->UseLib64Paths = false; + this->UseLibx32Paths = false; ++ this->UseLibilp32Paths = false; + this->UseRealPath = false; + this->PolicyScope = true; + this->VersionMajor = 0; +@@ -190,6 +191,13 @@ bool cmFindPackageCommand::InitialPass(std::vector<std::string> const& args) + this->UseLibx32Paths = true; + } + ++ // Lookup whether libilp32 paths should be used. ++ if (this->Makefile->PlatformIsilp32() && ++ this->Makefile->GetState()->GetGlobalPropertyAsBool( ++ "FIND_LIBRARY_USE_LIBILP32_PATHS")) { ++ this->UseLibilp32Paths = true; ++ } ++ + // Check if User Package Registry should be disabled + // The `CMAKE_FIND_USE_PACKAGE_REGISTRY` has + // priority over the deprecated CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY +@@ -2097,6 +2105,9 @@ bool cmFindPackageCommand::SearchPrefix(std::string const& prefix_in) + if (this->UseLibx32Paths) { + common.emplace_back("libx32"); + } ++ if (this->UseLibilp32Paths) { ++ common.emplace_back("libilp32"); ++ } + common.emplace_back("lib"); + common.emplace_back("share"); + +diff --git a/Source/cmFindPackageCommand.h b/Source/cmFindPackageCommand.h +index 85fe7b6..f254581 100644 +--- a/Source/cmFindPackageCommand.h ++++ b/Source/cmFindPackageCommand.h +@@ -178,6 +178,7 @@ private: + bool UseLib32Paths; + bool UseLib64Paths; + bool UseLibx32Paths; ++ bool UseLibilp32Paths; + bool UseRealPath; + bool PolicyScope; + std::string LibraryArchitecture; +diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx +index f143ef7..8b5aee4 100644 +--- a/Source/cmMakefile.cxx ++++ b/Source/cmMakefile.cxx +@@ -2569,6 +2569,9 @@ bool cmMakefile::PlatformIs32Bit() const + if (strcmp(plat_abi, "ELF X32") == 0) { + return false; + } ++ if (strcmp(plat_abi, "ELF ILP32") == 0) {
View file
_service
Changed
@@ -2,7 +2,7 @@ <service name="tar_scm"> <param name="scm">git</param> <param name="url">git@gitee.com:src-openeuler/cmake.git</param> - <param name="revision">master</param> + <param name="revision">openEuler-24.09</param> <param name="exclude">*</param> <param name="extract">*</param> </service>
View file
_service:tar_scm:cmake.attr
Changed
@@ -1,3 +1,3 @@ %__cmake_provides %{_rpmconfigdir}/cmake.prov %__cmake_requires %{_rpmconfigdir}/cmake.req -%__cmake_path ^(%{_libdir}|%{_datadir})/cmake/.*/.*(Config\.cmake|-config\.cmake)$ +%__cmake_path ^(/usr/lib(64|ilp32)?|%{_datadir})/cmake/.*/.*(Config\.cmake|-config\.cmake)$
View file
_service:tar_scm:cmake.req
Changed
@@ -45,6 +45,8 @@ has_module = True if re.match(".*/usr/lib(64)?/cmake/.*", modulePath): is_arched = True + elif re.match(".*/usr/libilp32/cmake/.*", modulePath): + is_arched = True if has_module: if is_arched:
View file
_service:tar_scm:macros.cmake
Changed
@@ -31,6 +31,9 @@ %if "%{?_lib}" == "lib64" \ %{?_cmake_lib_suffix64} \\\ %endif \ +%if "%{?_lib}" == "libilp32" \ + -DLIB_SUFFIX=ilp32 \\\ +%endif \ -DBUILD_SHARED_LIBS:BOOL=ON %cmake@@CMAKE_MAJOR_VERSION@@ %cmake
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2