|
|
补丁记录:记录一下补丁过程,以后新版本需要自己打补丁的可以参考一下
ninjia的补丁相对简单,只需要把googletest包解压到ninjia目录下,然后修改ninja-1.13.1\CMakeLists.txt文件
找到GTest一段,如下修改即可:
find_package(GTest)
if(NOT GTest_FOUND)
include(FetchContent)
FetchContent_Declare(
googletest
SOURCE_DIR ../googletest-1.16.0
# GoogleTest v1.17.0 requires at least C++17 and cmake 3.16 which are above ninja project minimum requirements.
# GoogleTest v1.16.0 requires at least C++14 and cmake 3.13 which are within the ninja project minimum requirements.
#URL https://github.com/google/google ... etest-1.16.0.tar.gz
#URL_HASH SHA256=78c676fc63881529bf97bf9d45948d905a66833fbfa5318ea2cd7478cb98f399
)
FetchContent_MakeAvailable(googletest)
endif()
dftd4-3.7.0的补丁相对比较麻烦,需要先下载mctc-lib-0.3.2、mstore-0.3.0、multicharge-0.3.0三个包,解压到dftd4-3.7.0\subprojects\dftd4\subprojects目录下
然后修改dftd4-3.7.0\subprojects\dftd4\config\cmake目录下的4个cmake配置文件
dftd4-utils.cmake修改86行fetch方法一段,使其不从GIT仓库下载,而是直接使用补丁的本地代码
if("${method}" STREQUAL "fetch")
message(STATUS "Retrieving ${package} revision ${revision} from ${url}")
include(FetchContent)
FetchContent_Declare(
"${_pkg_lc}"
SOURCE_DIR "${url}"
#GIT_REPOSITORY "${url}"
#GIT_TAG "${revision}"
另外,三个库的查找脚本替换url为本地路径:
Findmctc-lib.cmake第17行开始
set(_lib "mctc-lib")
set(_pkg "MCTCLIB")
set(_url "https://github.com/grimme-lab/mctc-lib")
set(_url "../subprojects/mctc-lib-0.3.2")
set(_revision "v0.3.2")
Findmstore.cmake第17行开始
set(_lib "mstore")
set(_pkg "MSTORE")
set(_url "https://github.com/grimme-lab/mstore")
set(_url "../subprojects/mstore-0.3.0")
set(_revision "v0.3.0")
Findmulticharge.cmake第17行开始
set(_lib "multicharge")
set(_pkg "MULTICHARGE")
set(_url "https://github.com/grimme-lab/multicharge")
set(_url "../subprojects/multicharge-0.3.0")
set(_revision "v0.3.0") |
|