----------------------------------------------------------------------------------
@MSGID: 2:5015/46 659086a3
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/lnx 1.9.0-cur 2021-05-15
Hello, All!
В коем-то веке решил хаски собрать. Так то у меня были cmake свои,
но мёрдж не случился, слишком много поменялось в репе.
Думал, ну кто-то взялся починить, должно всё работать, а тут такие
косяки сразу, во всех репозиториях.
fatal: not a git repository (or any of the parent directories): .git
CMake Error at fidoconf/CMakeLists.txt:175 (string):
string sub-command REGEX, mode REPLACE needs at least 6 arguments total to
command.
Вот здесь
string(REGEX REPLACE "-" "" CPACK_PACKAGE_VERSION_PATCH
${CPACK_PACKAGE_VERSION_PATCH})
% cmake --version
cmake version 3.28.1
P.S. Я написал корневой CMakeLists.txt, который тупо делает
project(husky VERSION 1.9 LANGUAGES C)
add_compile_options(тут всяко разно)
add_subdirectory(areafix)
add_subdirectory(fidoconf)
add_subdirectory(hpt)
add_subdirectory(hptzip)
add_subdirectory(htick)
add_subdirectory(huskylib)
add_subdirectory(smapi)
add_subdirectory(sqpack)
Всё что мне требуется от husky чтобы собирать бинари.
P.P.S. Ещё я использую хаски как библиотеку, тогда я её к себе в
проект затаскиваю примерно так
# Import Husky libraries
include(FetchContent)
message(STATUS "Importing huskylib library from github")
FetchContent_Declare(
huskylib
GIT_REPOSITORY
https://github.com/huskyproject/huskylib.git
GIT_TAG 624f968239f5c0dac48ac25bc14c2557472afb52
# Patch command will ru-run every cmake reload, so the patch
should not return an error.
# This fix won`t work in Windows environment.
#PATCH_COMMAND patch -Np1 < ${CMAKE_CURRENT_LIST_DIR}/huskylib.patch
PATCH_COMMAND ${GIT_EXECUTABLE} apply --ignore-whitespace
"${CMAKE_CURRENT_LIST_DIR}/huskylib.patch" || true
)
FetchContent_Populate(huskylib)
# replace the cmake file
#file(COPY_FILE CMakeLists_huskylib.txt
${huskylib_SOURCE_DIR}/CMakeLists.txt) # requires newer cmake
configure_file(CMakeLists_huskylib.txt ${huskylib_SOURCE_DIR}/CMakeLists.txt
COPYONLY)
# generate the date file, content is not that important
file(WRITE ${huskylib_SOURCE_DIR}/cvsdate.h "char cvs_date[]="2023-01-01";")
# delete the version file which confuses the
MacOSX12.sdk/usr/include/c++/v1/cstddef
file(REMOVE ${huskylib_SOURCE_DIR}/version)
add_subdirectory(${huskylib_SOURCE_DIR} huskylib)
Понятно, что мне приходится патчить cmake, потому из-коробки он не
срабатывает как библиотека, но зато потом я просто
target_link_libraries(мой_бинарь PRIVATE smapi huskylib)
Best Regards, Nil
--- GoldED+/LNX 1.1.5
* Origin: Linux 2.6.32-042stab145.3 (2:5015/46)
SEEN-BY: 301/1 341/66 460/58 463/68 467/888 4500/1
5000/111 5001/100 5005/49
SEEN-BY: 5015/42 46 255 5020/620 715 830 846 848
1042 4441 12000 5025/121
SEEN-BY: 5030/49 115 1081 5053/51 5054/8 5058/104
5059/37 5061/133 5080/102
SEEN-BY: 5083/1 444 6090/1
@PATH: 5015/46 5020/1042 4441