Files
meta-kde/recipes-support/libchewing/0001-Cross-compilation-options.patch
2021-01-09 19:30:21 +00:00

63 lines
2.4 KiB
Diff

From 495aded181419717f593364c8b2a369cba00543e Mon Sep 17 00:00:00 2001
From: Andreas Cord-Landwehr <cordlandwehr@kde.org>
Date: Mon, 4 Jan 2021 20:17:32 +0100
Subject: [PATCH] Cross-compilation options
---
CMakeLists.txt | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 07112b0..0bff0dd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,6 +15,9 @@ endif()
include(CheckCCompilerFlag)
+option(USE_TOOLS_FROM_PATH "Use tools from path instead of building them (for cross-compilation)" OFF)
+option(INSTALL_TOOLS "Enable to install the conversion tools (for cross-compilation)" OFF)
+
if(${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR
${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
set(CMAKE_C_FLAGS "-std=gnu99 ${CMAKE_C_FLAGS}")
@@ -113,7 +116,9 @@ test_big_endian(WORDS_BIGENDIAN)
set(SRC_DIR ${PROJECT_SOURCE_DIR}/src)
set(INC_DIR ${PROJECT_SOURCE_DIR}/include)
set(TOOLS_SRC_DIR ${PROJECT_SOURCE_DIR}/src/tools)
-set(TOOLS_BIN_DIR ${PROJECT_BINARY_DIR}/src/tools)
+if (NOT DEFINED TOOLS_BIN_DIR)
+ set(TOOLS_BIN_DIR ${PROJECT_BINARY_DIR}/src/tools)
+endif()
set(DATA_SRC_DIR ${PROJECT_SOURCE_DIR}/data)
set(DATA_BIN_DIR ${PROJECT_BINARY_DIR}/data)
set(TEST_SRC_DIR ${PROJECT_SOURCE_DIR}/test)
@@ -229,11 +234,15 @@ set_target_properties(${ALL_TOOLS} PROPERTIES
)
# tools command
+set(TOOLS_BIN_DIR_EXEC ${TOOLS_BIN_DIR}/)
+if(USE_TOOLS_FROM_PATH)
+ set(TOOLS_BIN_DIR_EXEC "")
+endif()
add_custom_command(
OUTPUT
${ALL_DATA}
COMMAND ${CMAKE_COMMAND} -E make_directory ${DATA_BIN_DIR}
- COMMAND ${CMAKE_COMMAND} -E chdir ${DATA_BIN_DIR} ${TOOLS_BIN_DIR}/init_database ${DATA_SRC_DIR}/phone.cin ${DATA_SRC_DIR}/tsi.src
+ COMMAND ${CMAKE_COMMAND} -E chdir ${DATA_BIN_DIR} ${TOOLS_BIN_DIR_EXEC}init_database ${DATA_SRC_DIR}/phone.cin ${DATA_SRC_DIR}/tsi.src
DEPENDS
${ALL_TOOLS}
${DATA_SRC_DIR}/phone.cin
@@ -458,3 +467,7 @@ install(FILES ${ALL_INC} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/chewing)
install(FILES ${PROJECT_BINARY_DIR}/chewing.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(TARGETS ${LIBS} DESTINATION ${CMAKE_INSTALL_LIBDIR})
+if(INSTALL_TOOLS)
+ install(TARGETS init_database RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ install(TARGETS dump_database RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+endif()
--
2.27.0