diff --git a/cmake/Modules/Packages/USER-PACE.cmake b/cmake/Modules/Packages/USER-PACE.cmake index c9e8e1bcfe..008d32444c 100644 --- a/cmake/Modules/Packages/USER-PACE.cmake +++ b/cmake/Modules/Packages/USER-PACE.cmake @@ -1,14 +1,26 @@ -set(PACE_EVALUATOR_PATH ${LAMMPS_LIB_SOURCE_DIR}/pace) -message("CMakeLists.txt DEBUG: PACE_EVALUATOR_PATH=${PACE_EVALUATOR_PATH}") -set(PACE_EVALUATOR_SRC_PATH ${PACE_EVALUATOR_PATH}) -FILE(GLOB PACE_EVALUATOR_SOURCE_FILES ${PACE_EVALUATOR_SRC_PATH}/*.cpp) -set(PACE_EVALUATOR_INCLUDE_DIR ${PACE_EVALUATOR_SRC_PATH}) +set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.2.3.tar.gz" CACHE STRING "URL for PACE evaluator library sources") +set(PACELIB_MD5 "9ebb087cba7e4ca041fde52f7e9e640c" CACHE STRING "MD5 checksum of PACE evaluator library tarball") +mark_as_advanced(PACELIB_URL) +mark_as_advanced(PACELIB_MD5) + +# download library sources to build folder +file(DOWNLOAD ${PACELIB_URL} libpace.tar.gz SHOW_PROGRESS EXPECTED_HASH MD5=${PACELIB_MD5}) + +# uncompress downloaded sources +execute_process( + COMMAND ${CMAKE_COMMAND} -E remove_directory lammps-user-pace* + COMMAND ${CMAKE_COMMAND} -E tar xzf libpace.tar.gz + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} +) -##### aceevaluator ##### -add_library(aceevaluator ${PACE_EVALUATOR_SOURCE_FILES}) -target_include_directories(aceevaluator PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR}) -target_compile_options(aceevaluator PRIVATE -O2) -set_target_properties(aceevaluator PROPERTIES OUTPUT_NAME lammps_pace${LAMMPS_MACHINE}) -target_link_libraries(lammps PRIVATE aceevaluator) \ No newline at end of file +file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE) +file(GLOB PACE_EVALUATOR_SOURCES ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE/*.cpp) +list(FILTER PACE_EVALUATOR_SOURCES EXCLUDE REGEX pair_pace.cpp) + +add_library(pace STATIC ${PACE_EVALUATOR_SOURCES}) +set_target_properties(pace PROPERTIES OUTPUT_NAME lammps_pace${LAMMPS_MACHINE}) +target_include_directories(pace PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR}) +target_link_libraries(lammps PRIVATE pace) +