c3e77b07创建于 2025年12月23日历史提交

include(ExternalProject)
include(ProcessorCount)

set(LIBEDIT_LDFLAGS "-L${NCURSES_INSTALL_DIR}/lib -Wl,-z,now -Wl,-s")
set(LIBEDIT_CPPFLAGS "-I${NCURSES_INSTALL_DIR}/include -I${NCURSES_INSTALL_DIR}/include/ncurses -I${ROOT_DIR}/third-party/ncurses -fstack-protector-strong -D_FORTIFY_SOURCE=2 -O2 -ftrapv")



set(LIBEDIT_TAR_GZ "${ROOT_DIR}/third-party/libedit/libedit-20230828-3.1.tar.gz")
set(LIBEDIT_INSTALL_DIR "${PROJECT_BUILD_DIR}/libedit" CACHE PATH "Libedit install directory")
ExternalProject_Add(libedit_project
    DOWNLOAD_COMMAND tar -xzf ${LIBEDIT_TAR_GZ} -C <BINARY_DIR>
    CONFIGURE_COMMAND cd <BINARY_DIR>/libedit-20230828-3.1 && ./configure
        LDFLAGS=${LIBEDIT_LDFLAGS}
        CPPFLAGS=${LIBEDIT_CPPFLAGS}
        --prefix=${LIBEDIT_INSTALL_DIR}
    USES_TERMINAL_BUILD TURE
    BUILD_COMMAND cd <BINARY_DIR>/libedit-20230828-3.1 && make -j ${NPROC} install
    INSTALL_COMMAND ""
    EXCLUDE_FROM_ALL TRUE
    BUILD_ALWAYS OFF
    DEPENDS ncurses_project
)

ExternalProject_Get_Property(libedit_project BINARY_DIR)
set(LIBEDIT_SRC_DIR "${BINARY_DIR}/libedit-20230828-3.1" CACHE PATH "LibEdit SRC directory")

set(LIBEDIT_LIBRARY "${LIBEDIT_INSTALL_DIR}/lib" 
    CACHE INTERNAL "Libedit library file"
)