From 52d99700ec36ee4cfcd797cac983fe71e1ea6a42 Mon Sep 17 00:00:00 2001 From: Yury Lysogorskiy Date: Mon, 25 Oct 2021 17:34:08 +0200 Subject: [PATCH] Download and compile modified YAML-cpp 0.6.3 in namespace YAML_PACE --- cmake/Modules/Packages/ML-PACE.cmake | 69 ++++------------------------ lib/pace/Install.py | 3 +- 2 files changed, 11 insertions(+), 61 deletions(-) diff --git a/cmake/Modules/Packages/ML-PACE.cmake b/cmake/Modules/Packages/ML-PACE.cmake index 5ab56de62b..263df9f24d 100644 --- a/cmake/Modules/Packages/ML-PACE.cmake +++ b/cmake/Modules/Packages/ML-PACE.cmake @@ -1,61 +1,10 @@ -# try to find system libyaml-cpp v.0.6.3 library -find_package(yaml-cpp 0.6.3 EXACT QUIET) - - -if(yaml-cpp_FOUND) - message(STATUS "Library yaml-cpp(v0.6.3) found") - #message(STATUS "YAML_CPP_LIBRARY_DIRS=${YAML_CPP_LIBRARY_DIRS}") - -# get_cmake_property(_variableNames VARIABLES) -# list (SORT _variableNames) -# foreach (_variableName ${_variableNames}) -# message(STATUS "${_variableName}=${${_variableName}}") -# endforeach() - - find_path(YAML_CPP_INCLUDE_DIR - NAMES yaml.h - PATHS ${YAML_CPP_INCLUDE_DIRS}) - - if(NOT YAML_CPP_LIBRARIES) - find_library(YAML_CPP_LIBRARY - NAMES yaml-cpp - PATHS ${YAML_CPP_LIBRARY_DIRS}) - else() - set(YAML_CPP_LIBRARY ${YAML_CPP_LIBRARIES}) - endif() -else() - message(STATUS "Library yaml-cpp(v0.6.3) not found, downloading") - - set(YAML_063_URL "https://github.com/jbeder/yaml-cpp/archive/refs/tags/yaml-cpp-0.6.3.tar.gz" CACHE STRING "URL for yaml-cpp (v.0.6.3) library sources") - set(YAML_063_MD5 "b45bf1089a382e81f6b661062c10d0c2" CACHE STRING "MD5 checksum of yaml-cpp (v.0.6.3) library tarball") - mark_as_advanced(YAML_063_URL) - mark_as_advanced(YAML_063_MD5) - - # download library sources to build folder - file(DOWNLOAD ${YAML_063_URL} ${CMAKE_BINARY_DIR}/yaml-cpp-0.6.3.tar.gz SHOW_PROGRESS EXPECTED_HASH MD5=${YAML_063_MD5}) - - execute_process( - COMMAND ${CMAKE_COMMAND} -E remove_directory yaml-cpp-yaml-cpp-0.6.3* - COMMAND ${CMAKE_COMMAND} -E tar xzf yaml-cpp-0.6.3.tar.gz - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - ) - - set(YAML_DIR ${CMAKE_BINARY_DIR}/yaml-cpp-yaml-cpp-0.6.3) - - add_subdirectory(${YAML_DIR} build-yaml-cpp EXCLUDE_FROM_ALL) - set(YAML_CPP_INCLUDE_DIR ${YAML_DIR}/include) - set(YAML_CPP_LIBRARY yaml-cpp) -endif() - - - -set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.9.28.upd1.tar.gz" CACHE STRING "URL for PACE evaluator library sources") -set(PACELIB_MD5 "ec75bc491edd75e10560cdbf129d91a7" CACHE STRING "MD5 checksum of PACE evaluator library tarball") +set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.10.25.yaml_pace.tar.gz" CACHE STRING "URL for PACE evaluator library sources") +set(PACELIB_MD5 "4c84c1cb1e2d8c690e3f797433ed2886" 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} ${CMAKE_BINARY_DIR}/libpace.tar.gz SHOW_PROGRESS EXPECTED_HASH MD5=${PACELIB_MD5}) +file(DOWNLOAD ${PACELIB_URL} ${CMAKE_BINARY_DIR}/libpace.tar.gz EXPECTED_HASH MD5=${PACELIB_MD5}) #SHOW_PROGRESS # uncompress downloaded sources execute_process( @@ -65,9 +14,8 @@ execute_process( ) file(GLOB lib-pace ${CMAKE_BINARY_DIR}/lammps-user-pace-*) - -message(STATUS "YAML_CPP_INCLUDE_DIR=${YAML_CPP_INCLUDE_DIR}") -message(STATUS "YAML_CPP_LIBRARY=${YAML_CPP_LIBRARY}") +add_subdirectory(${lib-pace}/yaml-cpp build-yaml-cpp) +set(YAML_CPP_INCLUDE_DIR ${lib-pace}/yaml-cpp/include) file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${lib-pace}/ML-PACE) file(GLOB PACE_EVALUATOR_SOURCES ${lib-pace}/ML-PACE/*.cpp) @@ -75,8 +23,9 @@ list(FILTER PACE_EVALUATOR_SOURCES EXCLUDE REGEX pair_pace.cpp) add_library(pace STATIC ${PACE_EVALUATOR_SOURCES}) set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE}) -target_include_directories(pace PRIVATE ${YAML_CPP_INCLUDE_DIR}) -target_include_directories(pace PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR}) +target_include_directories(pace PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR} ${YAML_CPP_INCLUDE_DIR}) + + +target_link_libraries(pace PRIVATE yaml-cpp-pace) target_link_libraries(lammps PRIVATE pace) -target_link_libraries(lammps PRIVATE ${YAML_CPP_LIBRARY}) diff --git a/lib/pace/Install.py b/lib/pace/Install.py index 946c29676a..1c243c0446 100644 --- a/lib/pace/Install.py +++ b/lib/pace/Install.py @@ -15,13 +15,14 @@ from install_helpers import fullpath, geturl, checkmd5sum # settings thisdir = fullpath('.') -version = 'v.2021.9.28' +version = 'v.2021.10.25.yaml_pace' # known checksums for different PACE versions. used to validate the download. checksums = { \ 'v.2021.2.3.upd2' : '8fd1162724d349b930e474927197f20d', 'v.2021.4.9' : '4db54962fbd6adcf8c18d46e1798ceb5', 'v.2021.9.28' : 'f98363bb98adc7295ea63974738c2a1b', + 'v.2021.10.25.yaml_pace' : '4c84c1cb1e2d8c690e3f797433ed2886' }