Archived
1
0
Fork 0

Added cmake rules to build libtty from termrec submodule

This commit is contained in:
Julien Dessaux 2019-03-11 19:02:10 +01:00
parent 8f4617d9bd
commit 0d5a0ca1a5
5 changed files with 26 additions and 4 deletions

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "external/termrec"]
path = external/termrec
url = https://github.com/kilobyte/termrec

View file

@ -14,3 +14,4 @@ option(SESSION_RECORDING "whether or not recording feature based on lib termrec
add_subdirectory(bastion)
add_subdirectory(common)
add_subdirectory(external)

View file

@ -1,10 +1,8 @@
include_directories("${bastion_SOURCE_DIR}/termrec/libtty/")
include_directories("${bastion_SOURCE_DIR}/external/termrec/libtty")
include_directories("${bastion_SOURCE_DIR}/")
file(GLOB_RECURSE SOURCES *.c)
add_executable(bastion ${SOURCES})
add_library(libtty.a STATIC IMPORTED)
set_property(TARGET libtty.a PROPERTY IMPORTED_LOCATION "${bastion_SOURCE_DIR}/libtty.a")
target_link_libraries(bastion libtty.a common)
target_link_libraries(bastion libtty common)
target_link_libraries(bastion bz2 curl lzma mysqlclient pthread ssh z)

19
external/CMakeLists.txt vendored Normal file
View file

@ -0,0 +1,19 @@
# Build libtty from the termrec project
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/termrec/)
message("Unable to find termrec, running git submodule update --init")
execute_process(COMMAND git submodule update --init -- termrec WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endif()
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/termrec/configure)
message("Unable to find configure file for termrec, running autogen.sh")
execute_process(COMMAND ./autogen.sh WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/termrec)
endif()
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/termrec/config.h)
message("Unable to find config.h file for termrec, running configure script")
execute_process(COMMAND ./configure WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/termrec)
endif()
file(GLOB_RECURSE LIBTTY_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/termrec/libtty/*.c)
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/termrec/")
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/termrec/libtty")
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/termrec/sys")
ADD_LIBRARY(libtty STATIC ${LIBTTY_SOURCES})
SET_TARGET_PROPERTIES(libtty PROPERTIES COMPILE_FLAGS "-Wno-all -Wno-error -Wno-extra -Wno-pedantic")

1
external/termrec vendored Submodule

@ -0,0 +1 @@
Subproject commit 28567dbccfce08da038d7897355430b82bf20785