63 lines
2.4 KiB
Diff
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
|
|
|