SHA256
10
0
forked from pool/lammps
Files
lammps/lammps-allow-system-gtest.patch
Dmitry Roshchin efdcdfdcb0 * Update to stable_29Aug2024_update2.
* Adapt package version to reflect upstream releases; example: the current version 20240829.02 reflects upstream's (weirdly but consistently named) stable_29Aug2024_update2 tag.
* Implement python packaging using python rpm macros (for now default python3-* only).
* Enable a few non-expensive modules (in terms of build dependencies): compress (depends on gzip, libzstd), manybody, molecule (needed for python tests), extra-molecule, and lepton.
* Drop a few unnecessary build dependencies: intel-opencl-devel, armnn-opencl-devel.
* Add lammps-allow-system-gtest.patch to allow using system installed gtest/gmock for tests. Note that upstream seems to be reticent about this (gh#lammp/lammps#3540), but we have no choice if we want to run tests. So, mark our patch as PATCH-FEATURE-OPENSUSE for now.
* Use pkgconfig based BuildRequires wherever possible.
* Use ninja for build.
* Define and use macro for shared library name consistency.
* Disable MPI on i586 to resolve builds (missing openmpi-macros-devel).

OBS-URL: https://build.opensuse.org/package/show/science/lammps?expand=0&rev=84
2025-05-05 19:59:22 +00:00

59 lines
2.8 KiB
Diff

---
unittest/CMakeLists.txt | 41 +++++++++++++++++++++++++----------------
1 file changed, 25 insertions(+), 16 deletions(-)
Index: lammps-stable_29Aug2024_update2/unittest/CMakeLists.txt
===================================================================
--- lammps-stable_29Aug2024_update2.orig/unittest/CMakeLists.txt
+++ lammps-stable_29Aug2024_update2/unittest/CMakeLists.txt
@@ -9,24 +9,33 @@ if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
message(FATAL_ERROR "Need GNU C++ compiler version 6.x or later for unit testing")
endif()
-message(STATUS "Downloading and building googletest framework")
-set(GTEST_URL "https://github.com/google/googletest/archive/release-1.12.1.tar.gz" CACHE STRING "URL of googletest source")
-set(GTEST_MD5 "e82199374acdfda3f425331028eb4e2a" CACHE STRING "MD5 sum for googletest source")
-mark_as_advanced(GTEST_URL)
-mark_as_advanced(GTEST_MD5)
-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+set(EXTERNAL_GTEST OFF CACHE BOOL "Use system gtest")
+if (EXTERNAL_GTEST)
+ find_package(GTest REQUIRED)
+ add_library(GTest::GTest ALIAS GTest::gtest)
+ add_library(GTest::GMock ALIAS GTest::gmock)
+ add_library(GTest::GTestMain ALIAS GTest::gtest_main)
+ add_library(GTest::GMockMain ALIAS GTest::gmock_main)
+else()
+ message(STATUS "Downloading and building googletest framework")
+ set(GTEST_URL "https://github.com/google/googletest/archive/release-1.12.1.tar.gz" CACHE STRING "URL of googletest source")
+ set(GTEST_MD5 "e82199374acdfda3f425331028eb4e2a" CACHE STRING "MD5 sum for googletest source")
+ mark_as_advanced(GTEST_URL)
+ mark_as_advanced(GTEST_MD5)
+ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
-include(ExternalCMakeProject)
-if(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
- set(cxx_strict_flags "-Wno-error -Wno-unused-command-line-argument")
+ include(ExternalCMakeProject)
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
+ set(cxx_strict_flags "-Wno-error -Wno-unused-command-line-argument")
+ endif()
+ set(INSTALL_GTEST OFF CACHE BOOL "" FORCE)
+ set(INSTALL_GMOCK OFF CACHE BOOL "" FORCE)
+ ExternalCMakeProject(googletest ${GTEST_URL} ${GTEST_MD5} googletest . "")
+ add_library(GTest::GTest ALIAS gtest)
+ add_library(GTest::GMock ALIAS gmock)
+ add_library(GTest::GTestMain ALIAS gtest_main)
+ add_library(GTest::GMockMain ALIAS gmock_main)
endif()
-set(INSTALL_GTEST OFF CACHE BOOL "" FORCE)
-set(INSTALL_GMOCK OFF CACHE BOOL "" FORCE)
-ExternalCMakeProject(googletest ${GTEST_URL} ${GTEST_MD5} googletest . "")
-add_library(GTest::GTest ALIAS gtest)
-add_library(GTest::GMock ALIAS gmock)
-add_library(GTest::GTestMain ALIAS gtest_main)
-add_library(GTest::GMockMain ALIAS gmock_main)
option(SKIP_DEATH_TESTS "Do not run 'death tests' to reduce false positives in valgrind" OFF)
mark_as_advanced(SKIP_DEATH_TESTS)