wip: libsinsp as external project add

Co-authored-by: Lorenzo Fontana <lo@linux.com>
Signed-off-by: Leonardo Di Donato <leodidonato@gmail.com>
This commit is contained in:
Leonardo Di Donato
2019-12-17 18:02:35 +00:00
committed by Leo Di Donato
parent dd2602296c
commit 18e3bd235c

View File

@@ -11,9 +11,18 @@
# specific language governing permissions and limitations under the License.
#
# The sysdig git reference (branch name, commit hash, or tag)
# set(SYSDIG_VERSION "falco/${FALCO_VERSION_MAJOR}.${FALCO_VERSION_MINOR}.${FALCO_VERSION_PATCH}") # todo(leodido, fntlnz) > use this when FALCO_VERSION variable is ok (PR 872)
set(SYSDIG_VERSION "falco/0.18.0")
# The sysdig git reference (branch name, commit hash, or tag) set(SYSDIG_VERSION
# "falco/${FALCO_VERSION_MAJOR}.${FALCO_VERSION_MINOR}.${FALCO_VERSION_PATCH}") # todo(leodido, fntlnz) > use this when
# FALCO_VERSION variable is ok (PR 872)
# get_cmake_property(_variableNames VARIABLES)
# list (SORT _variableNames)
# foreach (_variableName ${_variableNames})
# message(STATUS "${_variableName}=${${_variableName}}")
# endforeach()
if(NOT SYSDIG_VERSION)
set(SYSDIG_VERSION "dev")
endif()
ExternalProject_Add(
sysdig
@@ -25,30 +34,36 @@ ExternalProject_Add(
TEST_COMMAND "")
# Fetch the sysdig source directory
ExternalProject_Get_property(sysdig SOURCE_DIR)
ExternalProject_Get_Property(sysdig SOURCE_DIR)
set(SYSDIG_SOURCE_DIR "${SOURCE_DIR}")
unset(SOURCE_DIR)
message(STATUS "Source directory of sysdig: ${SYSDIG_SOURCE_DIR}")
message(STATUS "Sysdig version: ${SYSDIG_VERSION}")
ExternalProject_Add(
libsinsp
DEPENDS sysdig
DOWNLOAD_COMMAND ""
SOURCE_DIR "${SYSDIG_SOURCE_DIR}/userspace/libsinsp"
# CMAKE_ARGS "-DB64_INCLUDE=${B64_INCLUDE} -DCURSES_INCLUDE_DIR=${CURSES_INCLUDE_DIR} -DGRPC_INCLUDE=${GRPC_INCLUDE} -DJQ_INCLUDE=${JQ_INCLUDE} -DOPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR} -DPROTOBUF_INCLUDE=${PROTOBUF_INCLUDE}"
CMAKE_ARGS -DPROTOBUF_INCLUDE=${PROTOBUF_INCLUDE} -DB64_INCLUDE=${B64_INCLUDE} -DJSONCPP_INCLUDE=${JSONCPP_INCLUDE} -DLUAJIT_INCLUDE=${LUAJIT_INCLUDE} -DTBB_INCLUDE_DIR=${TBB_INCLUDE_DIR} -DCURSES_INCLUDE_DIR=${CURSES_INCLUDE_DIR} -DGRPC_INCLUDE=${GRPC_INCLUDE} -DJQ_INCLUDE=${JQ_INCLUDE} -DOPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR} -DCURL_INCLUDE_DIR=${CURL_INCLUDE_DIR} -DCURL_LIBRARIES=${CURL_LIBRARIES} -DJSONCPP_LIB=${JSONCPP_LIB} -DTBB_LIB=${TBB_LIB} -DUSE_BUNDLED_LUAJIT=OFF -DUSE_BUNDLED_OPENSSL=OFF -DUSE_BUNDLED_CURL=OFF -DUSE_BUNDLED_TBB=OFF -DUSE_BUNDLED_GRPC=OFF -DGRPC_CPP_PLUGIN=${GRPC_CPP_PLUGIN} -DPROTOC=${PROTOC} -DOPENSSL_LIBRARIES=${OPENSSL_LIBRARIES} -DLUAJIT_LIB=${LUAJIT_LIB}
)
# list(APPEND CMAKE_MODULE_PATH "${SYSDIG_SOURCE_DIR}/cmake/modules")
#
# ExternalProject_Get_property(sysdig BINARY_DIR)
# set(SYSDIG_BINARY_DIR "${BINARY_DIR}")
# unset(BINARY_DIR)
# message(STATUS "Source directory of sysdig: ${SYSDIG_BINARY_DIR}")
list(APPEND CMAKE_MODULE_PATH "${SYSDIG_SOURCE_DIR}/cmake/modules")
include(FindMakedev)
# jsoncpp
set(JSONCPP_SRC "${SYSDIG_SOURCE_DIR}/userspace/libsinsp/third-party/jsoncpp")
set(JSONCPP_INCLUDE "${JSONCPP_SRC}")
set(JSONCPP_LIB_SRC "${JSONCPP_SRC}/jsoncpp.cpp")
# # jsoncpp
# set(JSONCPP_SRC "${SYSDIG_SOURCE_DIR}/userspace/libsinsp/third-party/jsoncpp")
# set(JSONCPP_INCLUDE "${JSONCPP_SRC}")
# set(JSONCPP_LIB_SRC "${JSONCPP_SRC}/jsoncpp.cpp")
# Add driver directory
add_subdirectory("${SYSDIG_SOURCE_DIR}/driver" "${PROJECT_BINARY_DIR}/driver")
# # Add driver directory
# add_subdirectory("${SYSDIG_SOURCE_DIR}/driver" "${PROJECT_BINARY_DIR}/driver")
# Add libscap directory
add_subdirectory("${SYSDIG_SOURCE_DIR}/userspace/libscap" "${PROJECT_BINARY_DIR}/userspace/libscap")
# # Add libscap directory
# add_subdirectory("${SYSDIG_SOURCE_DIR}/userspace/libscap" "${PROJECT_BINARY_DIR}/userspace/libscap")
# Add libsinsp directory
add_subdirectory("${SYSDIG_SOURCE_DIR}/userspace/libsinsp" "${PROJECT_BINARY_DIR}/userspace/libsinsp")
# # Add libsinsp directory
# add_subdirectory("${SYSDIG_SOURCE_DIR}/userspace/libsinsp" "${PROJECT_BINARY_DIR}/userspace/libsinsp")