summaryrefslogtreecommitdiffstats
path: root/3rdparty/CMakeLists.txt
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-10-05 01:38:18 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-12-14 11:00:25 +0100
commit8df3e437f941912067231250ff5695b8a3a7fd92 (patch)
treec812fb252ad0f8a48041aff28b7fc60a75f245d1 /3rdparty/CMakeLists.txt
parent8364673ab93eb484e25c7c4776e5d705b73330b4 (diff)
LUA lib and bin embedded in project
Change-Id: I1a61b49f55e4daa305800e754a14b6041aa81b34 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to '3rdparty/CMakeLists.txt')
-rw-r--r--3rdparty/CMakeLists.txt63
1 files changed, 63 insertions, 0 deletions
diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
new file mode 100644
index 0000000..7af6f4a
--- /dev/null
+++ b/3rdparty/CMakeLists.txt
@@ -0,0 +1,63 @@
+###########################################################################
+# Copyright 2015, 2016, 2017 IoT.bzh
+#
+# author: Romain Forlot <romain@iot.bzh>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###########################################################################
+
+set(LUA external-lua)
+set(LUA_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lua)
+include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
+ExternalProject_Add(${LUA}
+ URL https://www.lua.org/ftp/lua-5.3.4.tar.gz
+ SOURCE_DIR ${LUA_SOURCE_DIR}
+ PATCH_COMMAND cd ${CMAKE_CURRENT_SOURCE_DIR} && patch -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/crosscompile_lua.patch
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND cd src && make all
+ BUILD_IN_SOURCE 1
+ INSTALL_COMMAND ""
+)
+
+PROJECT_TARGET_ADD(lua-lib)
+
+add_library(${TARGET_NAME} STATIC IMPORTED GLOBAL)
+
+SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
+ IMPORTED_LOCATION ${LUA_SOURCE_DIR}/src/liblua.a
+ INTERFACE_INCLUDE_DIRECTORIES ${LUA_SOURCE_DIR}/src
+)
+
+add_dependencies(${TARGET_NAME} ${LUA})
+
+PROJECT_TARGET_ADD(lua)
+
+add_executable(${TARGET_NAME} IMPORTED GLOBAL)
+
+SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
+ LABELS EXECUTABLE
+ IMPORTED_LOCATION ${LUA_SOURCE_DIR}/src/lua
+)
+
+add_dependencies(${TARGET_NAME} ${LUA})
+
+PROJECT_TARGET_ADD(lua-compiler)
+
+add_executable(${TARGET_NAME} IMPORTED GLOBAL)
+
+SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
+ LABELS EXECUTABLE
+ IMPORTED_LOCATION ${LUA_SOURCE_DIR}/src/luac
+)
+
+add_dependencies(${TARGET_NAME} ${LUA})