forked from pool/lammps
* 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
59 lines
2.8 KiB
Diff
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)
|