diff options
author | dundargoc <33953936+dundargoc@users.noreply.github.com> | 2023-01-24 08:55:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-24 08:55:38 +0100 |
commit | 20a932cb72cf077d54e3498ef93341ffe3d4cdbb (patch) | |
tree | 7cc6b89b3a10e53f8bfa95eb83a36eaebe9039a8 | |
parent | fca39eeabba84853960fb514edf402fbf8f586e3 (diff) | |
download | rneovim-20a932cb72cf077d54e3498ef93341ffe3d4cdbb.tar.gz rneovim-20a932cb72cf077d54e3498ef93341ffe3d4cdbb.tar.bz2 rneovim-20a932cb72cf077d54e3498ef93341ffe3d4cdbb.zip |
build: use cmake for all platforms for unibilium and libtermkey (#21926)
It's simpler to rely on the same build file, especially if there aren't
any platform-specific workarounds like in this case.
-rw-r--r-- | cmake.deps/cmake/BuildLibtermkey.cmake | 39 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildUnibilium.cmake | 30 | ||||
-rw-r--r-- | cmake.deps/cmake/UnibiliumCMakeLists.txt | 8 |
3 files changed, 26 insertions, 51 deletions
diff --git a/cmake.deps/cmake/BuildLibtermkey.cmake b/cmake.deps/cmake/BuildLibtermkey.cmake index 1e0fb5d36a..ac453591e0 100644 --- a/cmake.deps/cmake/BuildLibtermkey.cmake +++ b/cmake.deps/cmake/BuildLibtermkey.cmake @@ -1,27 +1,3 @@ -if(WIN32) - set(LIBTERMKEY_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/libtermkeyCMakeLists.txt - ${DEPS_BUILD_DIR}/src/libtermkey/CMakeLists.txt - COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/libtermkey - -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} - ${BUILD_TYPE_STRING} - # Hack to avoid -rdynamic in Mingw - -DCMAKE_SHARED_LIBRARY_LINK_C_FLAGS="" - -DCMAKE_GENERATOR=${CMAKE_GENERATOR} - -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} - -DUNIBILIUM_INCLUDE_DIRS=${DEPS_INSTALL_DIR}/include - -DUNIBILIUM_LIBRARIES=${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}unibilium${CMAKE_STATIC_LIBRARY_SUFFIX}) - set(LIBTERMKEY_BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>) - set(LIBTERMKEY_INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>) -else() - find_package(PkgConfig REQUIRED) - - set(LIBTERMKEY_BUILD_COMMAND "" BUILD_IN_SOURCE 1) - set(LIBTERMKEY_INSTALL_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER} - PREFIX=${DEPS_INSTALL_DIR} PKG_CONFIG_PATH=${DEPS_LIB_DIR}/pkgconfig - CFLAGS=-fPIC LDFLAGS+=-static ${DEFAULT_MAKE_CFLAGS} install) -endif() - if(USE_EXISTING_SRC_DIR) unset(LIBTERMKEY_URL) endif() @@ -30,8 +6,17 @@ ExternalProject_Add(libtermkey URL_HASH SHA256=${LIBTERMKEY_SHA256} DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libtermkey - CONFIGURE_COMMAND "${LIBTERMKEY_CONFIGURE_COMMAND}" - BUILD_COMMAND "${LIBTERMKEY_BUILD_COMMAND}" - INSTALL_COMMAND "${LIBTERMKEY_INSTALL_COMMAND}") + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/libtermkeyCMakeLists.txt + ${DEPS_BUILD_DIR}/src/libtermkey/CMakeLists.txt + CMAKE_ARGS + -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} + -DCMAKE_SHARED_LIBRARY_LINK_C_FLAGS="" # Hack to avoid -rdynamic in Mingw + -DCMAKE_GENERATOR=${CMAKE_GENERATOR} + -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} + -DCMAKE_POSITION_INDEPENDENT_CODE=ON + -DUNIBILIUM_INCLUDE_DIRS=${DEPS_INSTALL_DIR}/include + -DUNIBILIUM_LIBRARIES=${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}unibilium${CMAKE_STATIC_LIBRARY_SUFFIX} + ${BUILD_TYPE_STRING}) list(APPEND THIRD_PARTY_DEPS libtermkey) diff --git a/cmake.deps/cmake/BuildUnibilium.cmake b/cmake.deps/cmake/BuildUnibilium.cmake index cc56499edb..e76e39a148 100644 --- a/cmake.deps/cmake/BuildUnibilium.cmake +++ b/cmake.deps/cmake/BuildUnibilium.cmake @@ -1,21 +1,3 @@ -if(WIN32) - set(UNIBILIUM_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/UnibiliumCMakeLists.txt - ${DEPS_BUILD_DIR}/src/unibilium/CMakeLists.txt - COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/unibilium - -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} - -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} - ${BUILD_TYPE_STRING} - -DCMAKE_GENERATOR=${CMAKE_GENERATOR}) - set(UNIBILIUM_BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>) - set(UNIBILIUM_INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>) -else() - set(UNIBILIUM_BUILD_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER} - PREFIX=${DEPS_INSTALL_DIR} CFLAGS=-fPIC LDFLAGS+=-static - BUILD_IN_SOURCE 1) - set(UNIBILIUM_INSTALL_COMMAND ${MAKE_PRG} PREFIX=${DEPS_INSTALL_DIR} install) -endif() - if(USE_EXISTING_SRC_DIR) unset(UNIBILIUM_URL) endif() @@ -24,8 +6,14 @@ ExternalProject_Add(unibilium URL_HASH SHA256=${UNIBILIUM_SHA256} DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/unibilium - CONFIGURE_COMMAND "${UNIBILIUM_CONFIGURE_COMMAND}" - BUILD_COMMAND "${UNIBILIUM_BUILD_COMMAND}" - INSTALL_COMMAND "${UNIBILIUM_INSTALL_COMMAND}") + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/UnibiliumCMakeLists.txt + ${DEPS_BUILD_DIR}/src/unibilium/CMakeLists.txt + CMAKE_ARGS + -DCMAKE_GENERATOR=${CMAKE_GENERATOR} + -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} + -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} + -DCMAKE_POSITION_INDEPENDENT_CODE=ON + ${BUILD_TYPE_STRING}) list(APPEND THIRD_PARTY_DEPS unibilium) diff --git a/cmake.deps/cmake/UnibiliumCMakeLists.txt b/cmake.deps/cmake/UnibiliumCMakeLists.txt index 0a5d8481a7..e22c07cb3d 100644 --- a/cmake.deps/cmake/UnibiliumCMakeLists.txt +++ b/cmake.deps/cmake/UnibiliumCMakeLists.txt @@ -7,16 +7,18 @@ set_target_properties(unibilium PROPERTIES PUBLIC_HEADER ${PROJECT_SOURCE_DIR}/u VERSION "${VERSION_MAJOR}.${VERSION_MINOR}") if(NOT WIN32) - execute_process(COMMAND "shell ncursesw6-config --terminfo-dirs 2>/dev/null || \ + execute_process(COMMAND sh -c "ncursesw6-config --terminfo-dirs 2>/dev/null || \ ncurses6-config --terminfo-dirs 2>/dev/null || \ ncursesw5-config --terminfo-dirs 2>/dev/null || \ ncurses5-config --terminfo-dirs 2>/dev/null || \ echo '/etc/terminfo:/lib/terminfo:/usr/share/terminfo:/usr/lib/terminfo:/usr/local/share/terminfo:/usr/local/lib/terminfo'" OUTPUT_VARIABLE TERMINFO_DIRS) + # Remove trailing newline + string(STRIP "${TERMINFO_DIRS}" TERMINFO_DIRS) else() - set(TERMINFO_DIRS "\"\"") + set(TERMINFO_DIRS "") endif() -target_compile_definitions(unibilium PUBLIC TERMINFO_DIRS=${TERMINFO_DIRS}) +target_compile_definitions(unibilium PUBLIC "TERMINFO_DIRS=\"${TERMINFO_DIRS}\"") include(GNUInstallDirs) install(TARGETS unibilium |