Download and compile modified YAML-cpp 0.6.3 in namespace YAML_PACE
This commit is contained in:
@ -1,61 +1,10 @@
|
|||||||
# try to find system libyaml-cpp v.0.6.3 library
|
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")
|
||||||
find_package(yaml-cpp 0.6.3 EXACT QUIET)
|
set(PACELIB_MD5 "4c84c1cb1e2d8c690e3f797433ed2886" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
|
||||||
|
|
||||||
|
|
||||||
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")
|
|
||||||
mark_as_advanced(PACELIB_URL)
|
mark_as_advanced(PACELIB_URL)
|
||||||
mark_as_advanced(PACELIB_MD5)
|
mark_as_advanced(PACELIB_MD5)
|
||||||
|
|
||||||
# download library sources to build folder
|
# 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
|
# uncompress downloaded sources
|
||||||
execute_process(
|
execute_process(
|
||||||
@ -65,9 +14,8 @@ execute_process(
|
|||||||
)
|
)
|
||||||
|
|
||||||
file(GLOB lib-pace ${CMAKE_BINARY_DIR}/lammps-user-pace-*)
|
file(GLOB lib-pace ${CMAKE_BINARY_DIR}/lammps-user-pace-*)
|
||||||
|
add_subdirectory(${lib-pace}/yaml-cpp build-yaml-cpp)
|
||||||
message(STATUS "YAML_CPP_INCLUDE_DIR=${YAML_CPP_INCLUDE_DIR}")
|
set(YAML_CPP_INCLUDE_DIR ${lib-pace}/yaml-cpp/include)
|
||||||
message(STATUS "YAML_CPP_LIBRARY=${YAML_CPP_LIBRARY}")
|
|
||||||
|
|
||||||
file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${lib-pace}/ML-PACE)
|
file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${lib-pace}/ML-PACE)
|
||||||
file(GLOB PACE_EVALUATOR_SOURCES ${lib-pace}/ML-PACE/*.cpp)
|
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})
|
add_library(pace STATIC ${PACE_EVALUATOR_SOURCES})
|
||||||
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
|
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} ${YAML_CPP_INCLUDE_DIR})
|
||||||
target_include_directories(pace PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR})
|
|
||||||
|
|
||||||
|
target_link_libraries(pace PRIVATE yaml-cpp-pace)
|
||||||
|
|
||||||
target_link_libraries(lammps PRIVATE pace)
|
target_link_libraries(lammps PRIVATE pace)
|
||||||
target_link_libraries(lammps PRIVATE ${YAML_CPP_LIBRARY})
|
|
||||||
|
|||||||
@ -15,13 +15,14 @@ from install_helpers import fullpath, geturl, checkmd5sum
|
|||||||
# settings
|
# settings
|
||||||
|
|
||||||
thisdir = fullpath('.')
|
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.
|
# known checksums for different PACE versions. used to validate the download.
|
||||||
checksums = { \
|
checksums = { \
|
||||||
'v.2021.2.3.upd2' : '8fd1162724d349b930e474927197f20d',
|
'v.2021.2.3.upd2' : '8fd1162724d349b930e474927197f20d',
|
||||||
'v.2021.4.9' : '4db54962fbd6adcf8c18d46e1798ceb5',
|
'v.2021.4.9' : '4db54962fbd6adcf8c18d46e1798ceb5',
|
||||||
'v.2021.9.28' : 'f98363bb98adc7295ea63974738c2a1b',
|
'v.2021.9.28' : 'f98363bb98adc7295ea63974738c2a1b',
|
||||||
|
'v.2021.10.25.yaml_pace' : '4c84c1cb1e2d8c690e3f797433ed2886'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user