diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..7d173bdb99dee0da933531ef5792d4652dcbe8ff --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0 + +cmake_minimum_required(VERSION 3.14) +project(syscare) + +add_subdirectory(upatch) +add_subdirectory(build) diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..ec63d175733b6d611af4a67eba0719c7d2ee4108 --- /dev/null +++ b/build/CMakeLists.txt @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0 + +cmake_minimum_required(VERSION 3.14) +project(syscare-build) + +set(SYSCARE_INSTALL_DIR /usr/libexec/syscare) + +set(CARGO_CMD cargo build --release) +set(TARGET_DIR "release") + +set(SYSCARE_BUILD_BIN "syscare-build") + +add_custom_target(syscare-build ALL + COMMENT "Compiling syscare-build..." + COMMAND CARGO_TARGET_DIR=${CMAKE_CURRENT_BINARY_DIR} ${CARGO_CMD} + COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_DIR}/${SYSCARE_BUILD_BIN} ${CMAKE_CURRENT_BINARY_DIR} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SYSCARE_BUILD_BIN} DESTINATION ${SYSCARE_INSTALL_DIR}) + diff --git a/upatch/kmod/CMakeLists.txt b/upatch/kmod/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..e40b8fe2e9f528a160460793bc9bd2457388669a --- /dev/null +++ b/upatch/kmod/CMakeLists.txt @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0 + +cmake_minimum_required(VERSION 3.14) +project(upatch-kmod) + +set(UPATCH_KMOD "upatch.ko") +set(UPATCH_INSTALL_DIR /usr/libexec/syscare) + +set(UPATCH_KMOD_CMD make) + +add_custom_target(upatch-kmod ALL + COMMENT "Compiling upatch-mod..." + BYPRODUCTS ${UPATCH_KMOD} + COMMAND ${UPATCH_KMOD_CMD} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + +install(FILES ${UPATCH_KMOD} DESTINATION ${UPATCH_INSTALL_DIR})