build: execute inner cmake for sysdig deps

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-18 12:37:03 +00:00 committed by Leo Di Donato
parent c99502ff57
commit 572f134762

View File

@ -11,59 +11,66 @@
# specific language governing permissions and limitations under the License. # 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)
# get_cmake_property(_variableNames VARIABLES)
# list (SORT _variableNames)
# foreach (_variableName ${_variableNames})
# message(STATUS "${_variableName}=${${_variableName}}")
# endforeach()
if(NOT SYSDIG_VERSION) set(SYSDIG_WORKING_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/sysdig-repo")
set(SYSDIG_VERSION "dev") set(SYSDIG_REPO_DIR "${CMAKE_BINARY_DIR}/sysdig-repo")
endif() # execute_process(COMMAND cmake -E make_directory ${SYSDIG_REPO_DIR})
execute_process(COMMAND "${CMAKE_COMMAND}" -B ${SYSDIG_REPO_DIR} WORKING_DIRECTORY "${SYSDIG_WORKING_DIR}")
execute_process(COMMAND "${CMAKE_COMMAND}" --build . WORKING_DIRECTORY "${SYSDIG_REPO_DIR}")
set(SYSDIG_SOURCE_DIR "${SYSDIG_REPO_DIR}/sysdig-prefix/src/sysdig")
ExternalProject_Add( # if(NOT SYSDIG_VERSION)
sysdig # set(SYSDIG_VERSION "dev")
GIT_REPOSITORY https://github.com/draios/sysdig.git # endif()
GIT_TAG ${SYSDIG_VERSION}
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND "")
# Fetch the sysdig source directory # ExternalProject_Add(
ExternalProject_Get_Property(sysdig SOURCE_DIR) # sysdig
set(SYSDIG_SOURCE_DIR "${SOURCE_DIR}") # GIT_REPOSITORY https://github.com/draios/sysdig.git
unset(SOURCE_DIR) # GIT_TAG ${SYSDIG_VERSION}
message(STATUS "Source directory of sysdig: ${SYSDIG_SOURCE_DIR}") # CONFIGURE_COMMAND ""
message(STATUS "Sysdig version: ${SYSDIG_VERSION}") # BUILD_COMMAND ""
# INSTALL_COMMAND ""
# TEST_COMMAND "")
# # Fetch the sysdig source directory
# 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( # set(LIBSCAP_CXX_FLAGS "${CMAKE_CXX_FLAGS}") set(LIBSCAP_C_FLAGS "${CMAKE_C_FLAGS}")
libsinsp
DEPENDS sysdig # ExternalProject_Add( libscap DOWNLOAD_COMMAND "" INSTALL_COMMAND "" SOURCE_DIR
DOWNLOAD_COMMAND "" # "${SYSDIG_SOURCE_DIR}/userspace/libscap" CMAKE_ARGS -DCMAKE_CXX_FLAGS=${LIBSCAP_CXX_FLAGS}
SOURCE_DIR "${SYSDIG_SOURCE_DIR}/userspace/libsinsp" # -DCMAKE_C_FLAGS=${LIBSCAP_C_FLAGS} -DZLIB_INCLUDE=${ZLIB_INCLUDE} -DZLIB_LIB=${ZLIB_LIB} -DBUILD_LIBSCAP_EXAMPLES=OFF
# 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}" # -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} ) target_compile_options(libscap -DPLATFORM_NAME="${CMAKE_SYSTEM_NAME}")
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}
) # set(LIBSINPS_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAS_CAPTURE") set(LIBSINPS_C_FLAGS "${CMAKE_C_FLAGS}")
# ExternalProject_Add( libsinsp DEPENDS sysdig DOWNLOAD_COMMAND "" INSTALL_COMMAND "" SOURCE_DIR
# "${SYSDIG_SOURCE_DIR}/userspace/libsinsp" CMAKE_ARGS -DCMAKE_CXX_FLAGS=${LIBSINPS_CXX_FLAGS}
# -DCMAKE_C_FLAGS=${LIBSINPS_C_FLAGS} -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") # list(APPEND CMAKE_MODULE_PATH "${SYSDIG_SOURCE_DIR}/cmake/modules")
# #
# 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 # Add driver directory
# set(JSONCPP_SRC "${SYSDIG_SOURCE_DIR}/userspace/libsinsp/third-party/jsoncpp") add_subdirectory("${SYSDIG_SOURCE_DIR}/driver" "${PROJECT_BINARY_DIR}/driver")
# set(JSONCPP_INCLUDE "${JSONCPP_SRC}")
# set(JSONCPP_LIB_SRC "${JSONCPP_SRC}/jsoncpp.cpp")
# # Add driver directory # Add libscap directory
# add_subdirectory("${SYSDIG_SOURCE_DIR}/driver" "${PROJECT_BINARY_DIR}/driver") add_subdirectory("${SYSDIG_SOURCE_DIR}/userspace/libscap" "${PROJECT_BINARY_DIR}/userspace/libscap")
# # Add libscap directory # Add libsinsp directory
# add_subdirectory("${SYSDIG_SOURCE_DIR}/userspace/libscap" "${PROJECT_BINARY_DIR}/userspace/libscap") 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")