diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 7b85d44..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Build Panoptes - -on: - push: - branches: - - main - pull_request: - branches: - - main - -jobs: - build: - runs-on: [self-hosted, DESKTOP-N792BI5] - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup vcpkg - uses: lukka/run-vcpkg@v11 - with: - vcpkgJsonGlob: 'vcpkg.json' - - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v2 - - - name: Configure CMake (Debug) - run: cmake --preset debug -G "Visual Studio 17 2022" -DBUILD_DOC=OFF -DBUILD_DRIVER=ON -DBUILD_WIX_INSTALLER=OFF -DBUILD_GRPC=ON - env: - VCPKG_ROOT: ${{ github.workspace }}/vcpkg - - - name: Build (Debug) - run: msbuild build/debug/Panoptes.sln /p:Configuration=Debug /p:Platform=x64 /m - - - name: Upload Debug Artifacts - uses: actions/upload-artifact@v4 - with: - name: panoptes-debug - path: | - build/debug/**/*.dll - build/debug/**/*.exe - build/debug/**/*.pdb - if-no-files-found: warn diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..0cb4944 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,57 @@ +name: Build Doxygen Docs + +on: + push: + branches: [main] + paths: + - 'src/**' + - 'docs/**' + pull_request: + branches: [main] + paths: + - 'src/**' + - 'docs/**' + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Doxygen + run: sudo apt-get update && sudo apt-get install -y doxygen graphviz + + - name: Build docs + working-directory: docs + run: doxygen Doxyfile + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: docs/Documentation + + deploy: + if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' + needs: build + runs-on: ubuntu-latest + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 0218f98..07d0583 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,6 @@ CMakePresets.json !CMakeLists.txt !external/* external/LIEF* -output.yarc \ No newline at end of file +output.yarc +speech_* +.claude/* diff --git a/CMakeLists.txt b/CMakeLists.txt index 9bdcf59..c1f2903 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,14 +28,14 @@ elseif(DOXYGEN_FOUND AND NOT BUILD_DOC) endif(DOXYGEN_FOUND AND BUILD_DOC) -#add_subdirectory(src/service) -#add_subdirectory(src/libraries) -#add_subdirectory(src/extensibility) -#add_subdirectory(src/container) +add_subdirectory(src/service) +add_subdirectory(src/libraries) +add_subdirectory(src/extensibility) +add_subdirectory(src/container) add_subdirectory(src/dll) -#add_subdirectory(src/linter) -#add_subdirectory(src/scanner) -#add_subdirectory(src/testing) +add_subdirectory(src/linter) +add_subdirectory(src/scanner) +add_subdirectory(src/testing) if(BUILD_DRIVER) add_subdirectory(src/driver) diff --git a/CMakePresets.json b/CMakePresets.json index 9342094..2c7cc77 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -2,36 +2,16 @@ "version": 3, "configurePresets": [ { - "name": "debug", - "displayName": "Debug", - "description": "Debug build using vcpkg", + "name": "default", + "displayName": "Default", + "description": "Default build using vcpkg (use --config Debug/Release at build time)", "generator": "Visual Studio 17 2022", "binaryDir": "${sourceDir}/build/${presetName}", "cacheVariables": { - "CMAKE_BUILD_TYPE": "Debug", "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake", "VCPKG_TARGET_TRIPLET": "x64-windows-static", "CMAKE_PREFIX_PATH": "vcpkg_installed/x64-windows-static", - "Protobuf_PROTOC_EXECUTABLE": "vcpkg_installed/x64-windows-static/tools/protobuf/protoc.exe", - "gRPC_DIR": "vcpkg_installed/x64-windows-static/share/grpc", - "nlohmann_json_DIR": "vcpkg_installed/x64-windows-static/share/nlohmann_json", - "CMAKE_MSVC_RUNTIME_LIBRARY": "MultiThreadedDebug", - "x86_BUILD_TOOLS_PATH": "C:/Program Files (x86)/Windows Kits/10/bin/10.0.26100.0/x86/", - "x64_BUILD_TOOLS_PATH": "C:/Program Files (x86)/Windows Kits/10/bin/10.0.26100.0/x64" - } - }, - { - "name": "release", - "displayName": "Release", - "description": "Release build using vcpkg", - "generator": "Visual Studio 17 2022", - "binaryDir": "${sourceDir}/build/${presetName}", - "cacheVariables": { - "CMAKE_BUILD_TYPE": "Release", - "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake", - "VCPKG_TARGET_TRIPLET": "x64-windows-static", - "CMAKE_PREFIX_PATH": "vcpkg_installed/x64-windows-static", - "Protobuf_PROTOC_EXECUTABLE": "vcpkg_installed/x64-windows-static/tools/protobuf/protoc.exe", + "Protobuf_PROTOC_EXECUTABLE": "${sourceDir}/build/${presetName}/vcpkg_installed/x64-windows-static/tools/protobuf/protoc.exe", "gRPC_DIR": "vcpkg_installed/x64-windows-static/share/grpc", "nlohmann_json_DIR": "vcpkg_installed/x64-windows-static/share/nlohmann_json", "x86_BUILD_TOOLS_PATH": "C:/Program Files (x86)/Windows Kits/10/bin/10.0.26100.0/x86/", @@ -39,4 +19,4 @@ } } ] -} \ No newline at end of file +} diff --git a/README.md b/README.md index 9e36655..1c6d161 100644 --- a/README.md +++ b/README.md @@ -134,33 +134,75 @@ yr.exe compile -o rules.pkg ## Development Setup -Required tools: -- [Vcpkg](https://vcpkg.io/en/) -- [LIEF Project](https://github.com/lief-project/LIEF) -- Visual Studio with Windows Driver Kit -- Test signing enabled -- Virtual Machine configured for Windows Kernel Debugging using Windbg +### Prerequisites + +- [Visual Studio 2022](https://visualstudio.microsoft.com/) with C++ desktop development workload +- [vcpkg](https://vcpkg.io/en/) (included with Visual Studio or standalone) +- [Windows Driver Kit (WDK)](https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) (for kernel driver builds) +- Test signing enabled (for driver development) +- Virtual Machine configured for Windows Kernel Debugging using WinDbg + +Set the `VCPKG_ROOT` environment variable to your vcpkg installation: +```powershell +# If installed with Visual Studio +$env:VCPKG_ROOT = "C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\vcpkg" + +# Or set it permanently +[System.Environment]::SetEnvironmentVariable("VCPKG_ROOT", "C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\vcpkg", "User") +``` For kernel development environment setup, see: - [Ap3x/Windows-Kernel-Development-Infrastructure](https://github.com/Ap3x/Windows-Kernel-Development-Infrastructure) - [Microsoft WDK Installation Guide](https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) +### Building with CMake + +The project uses a single CMake preset with the Visual Studio multi-config generator. You configure once and choose Debug/Release at build time. + +#### Configure +```powershell +cmake --preset default +``` + +#### Build +```powershell +# Debug build (with debug symbols for your code) +cmake --build build/default --config Debug + +# Release build (optimized) +cmake --build build/default --config Release +``` + +#### Build the Kernel Driver +```powershell +cmake --preset default -DBUILD_DRIVER=ON +cmake --build build/default --config Debug --target PanoptesDriver +``` + +#### Run Tests +```powershell +cd bin/tests/Debug +./PanoptesAMSITest.exe +./PanoptesPETest.exe +./PanoptesYaraTest.exe +./PanoptesLinterTest.exe +``` + ### CMake Build Options -The following CMake options are available during configuration: +The following options can be passed during configuration with `-D`: -- `BUILD_DOC` (OFF by default): Build Doxygen documentation -- `BUILD_WIX_INSTALLER` (OFF by default): Build the Wix MSI installer package -- `BUILD_DRIVER` (OFF by default): Build the kernel driver package -- `BUILD_GRPC` (OFF by default): Generate gRPC code from protobuf definitions +| Option | Default | Description | +|--------|---------|-------------| +| `BUILD_DRIVER` | OFF | Build the kernel driver package (requires WDK) | +| `BUILD_GRPC` | ON | Generate gRPC code from protobuf definitions | +| `BUILD_DOC` | OFF | Build Doxygen documentation | +| `BUILD_WIX_INSTALLER` | OFF | Build the Wix MSI installer package | -Example CMake configuration: +Example with multiple options: ```powershell -mkdir build -cd build -cmake --preset debug -DBUILD_DOC=ON -DBUILD_DRIVER=ON -DBUILD_WIX_INSTALLER=ON .. -cd debug -msbuild /p:Configuration=Debug Panoptes.sln +cmake --preset default -DBUILD_DRIVER=ON -DBUILD_DOC=ON +cmake --build build/default --config Release ``` ## Screenshots of Panoptes Features diff --git a/src/container/CMakeLists.txt b/src/container/CMakeLists.txt index c0ff8dd..73723e3 100644 --- a/src/container/CMakeLists.txt +++ b/src/container/CMakeLists.txt @@ -54,14 +54,14 @@ if(BUILD_GRPC) protobuf_generate( TARGET ${PROJECT_NAME} IMPORT_DIRS ${PROTO_FILE_DIR} - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" PROTOC_OUT_DIR "${PROTO_BINARY_DIR}" ) protobuf_generate( TARGET ${PROJECT_NAME} LANGUAGE grpc - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc PLUGIN "protoc-gen-grpc=\$" IMPORT_DIRS ${PROTO_FILE_DIR} diff --git a/src/dll/CMakeLists.txt b/src/dll/CMakeLists.txt index 7cd0e50..8facb9c 100644 --- a/src/dll/CMakeLists.txt +++ b/src/dll/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 4.0) +cmake_minimum_required(VERSION 3.15) project(PanoptesDLL VERSION 1.0 DESCRIPTION "Panoptes DLL Project" diff --git a/src/extensibility/PanoptesAMSI/CMakeLists.txt b/src/extensibility/PanoptesAMSI/CMakeLists.txt index d36367f..1f63714 100644 --- a/src/extensibility/PanoptesAMSI/CMakeLists.txt +++ b/src/extensibility/PanoptesAMSI/CMakeLists.txt @@ -56,14 +56,14 @@ if(BUILD_GRPC) protobuf_generate( TARGET ${PROJECT_NAME} IMPORT_DIRS ${PROTO_FILE_DIR} - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" PROTOC_OUT_DIR "${PROTO_BINARY_DIR}" ) protobuf_generate( TARGET ${PROJECT_NAME} LANGUAGE grpc - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc PLUGIN "protoc-gen-grpc=\$" IMPORT_DIRS ${PROTO_FILE_DIR} diff --git a/src/extensibility/PanoptesAMSI/test/CMakeLists.txt b/src/extensibility/PanoptesAMSI/test/CMakeLists.txt index 87bd82a..e7992c8 100644 --- a/src/extensibility/PanoptesAMSI/test/CMakeLists.txt +++ b/src/extensibility/PanoptesAMSI/test/CMakeLists.txt @@ -58,14 +58,14 @@ if(BUILD_GRPC) protobuf_generate( TARGET ${PROJECT_NAME} IMPORT_DIRS ${PROTO_FILE_DIR} - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" PROTOC_OUT_DIR "${PROTO_BINARY_DIR}" ) protobuf_generate( TARGET ${PROJECT_NAME} LANGUAGE grpc - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc PLUGIN "protoc-gen-grpc=\$" IMPORT_DIRS ${PROTO_FILE_DIR} diff --git a/src/extensibility/PanoptesPE/CMakeLists.txt b/src/extensibility/PanoptesPE/CMakeLists.txt index 06b112b..7904b7d 100644 --- a/src/extensibility/PanoptesPE/CMakeLists.txt +++ b/src/extensibility/PanoptesPE/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 4.0) +cmake_minimum_required(VERSION 3.15) project(PanoptesPE) # Set C++ standard @@ -95,14 +95,14 @@ if(BUILD_GRPC) protobuf_generate( TARGET ${PROJECT_NAME} IMPORT_DIRS ${PROTO_FILE_DIR} - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" PROTOC_OUT_DIR "${PROTO_BINARY_DIR}" ) protobuf_generate( TARGET ${PROJECT_NAME} LANGUAGE grpc - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc PLUGIN "protoc-gen-grpc=\$" IMPORT_DIRS ${PROTO_FILE_DIR} diff --git a/src/extensibility/PanoptesPE/test/CMakeLists.txt b/src/extensibility/PanoptesPE/test/CMakeLists.txt index 1bbabbd..dd7011b 100644 --- a/src/extensibility/PanoptesPE/test/CMakeLists.txt +++ b/src/extensibility/PanoptesPE/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 4.0) +cmake_minimum_required(VERSION 3.15) project(Test_PanoptesPE) # Set C++ standard diff --git a/src/extensibility/PanoptesYara/CMakeLists.txt b/src/extensibility/PanoptesYara/CMakeLists.txt index 6bb9bcf..9ab40de 100644 --- a/src/extensibility/PanoptesYara/CMakeLists.txt +++ b/src/extensibility/PanoptesYara/CMakeLists.txt @@ -67,14 +67,14 @@ if(BUILD_GRPC) protobuf_generate( TARGET ${PROJECT_NAME} IMPORT_DIRS ${PROTO_FILE_DIR} - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" PROTOC_OUT_DIR "${PROTO_BINARY_DIR}" ) protobuf_generate( TARGET ${PROJECT_NAME} LANGUAGE grpc - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc PLUGIN "protoc-gen-grpc=\$" IMPORT_DIRS ${PROTO_FILE_DIR} diff --git a/src/extensibility/PanoptesYara/test/CMakeLists.txt b/src/extensibility/PanoptesYara/test/CMakeLists.txt index adae7e9..9ebf1d3 100644 --- a/src/extensibility/PanoptesYara/test/CMakeLists.txt +++ b/src/extensibility/PanoptesYara/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 4.0) +cmake_minimum_required(VERSION 3.15) project(Test_PanoptesYara) set(CMAKE_CXX_STANDARD 17) diff --git a/src/libraries/CMakeLists.txt b/src/libraries/CMakeLists.txt index 4d393a5..df1fd92 100644 --- a/src/libraries/CMakeLists.txt +++ b/src/libraries/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 4.0) +cmake_minimum_required(VERSION 3.15) project(PanoptesLibraries CXX) add_subdirectory(ResourceCore) diff --git a/src/libraries/Configuration/CMakeLists.txt b/src/libraries/Configuration/CMakeLists.txt index 68969a5..ad4eea0 100644 --- a/src/libraries/Configuration/CMakeLists.txt +++ b/src/libraries/Configuration/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 4.0) +cmake_minimum_required(VERSION 3.15) project(Configuration CXX) # Set static runtime for MSVC - MUST BE SET BEFORE ANY TARGETS diff --git a/src/libraries/ResourceCore/CMakeLists.txt b/src/libraries/ResourceCore/CMakeLists.txt index 012a46e..9b6665a 100644 --- a/src/libraries/ResourceCore/CMakeLists.txt +++ b/src/libraries/ResourceCore/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 4.0) +cmake_minimum_required(VERSION 3.15) project(Resources CXX) # Source files diff --git a/src/libraries/TrayNotificationsCore/CMakeLists.txt b/src/libraries/TrayNotificationsCore/CMakeLists.txt index 9bac53f..12ff045 100644 --- a/src/libraries/TrayNotificationsCore/CMakeLists.txt +++ b/src/libraries/TrayNotificationsCore/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 4.0) +cmake_minimum_required(VERSION 3.15) project(TrayNotificationsCore CXX) set(SOURCES diff --git a/src/linter/test/CMakeLists.txt b/src/linter/test/CMakeLists.txt index 2c54435..1516da0 100644 --- a/src/linter/test/CMakeLists.txt +++ b/src/linter/test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 4.0) +cmake_minimum_required(VERSION 3.15) project(Test_Linter) set(CMAKE_CXX_STANDARD 17) diff --git a/src/scanner/PanoptesScan/CMakeLists.txt b/src/scanner/PanoptesScan/CMakeLists.txt index 8286ab6..6e11a02 100644 --- a/src/scanner/PanoptesScan/CMakeLists.txt +++ b/src/scanner/PanoptesScan/CMakeLists.txt @@ -4,8 +4,6 @@ project(PanoptesScan VERSION 1.0.0 LANGUAGES CXX) # Set C++ standard set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_PREFIX_PATH "B:/vcpkg_installed/x64-windows-static") -set(Protobuf_PROTOC_EXECUTABLE "B:/vcpkg_installed/x64-windows-static/tools/protobuf/protoc.exe") find_package(gRPC CONFIG REQUIRED) set(PROTO_FILE "${CMAKE_SOURCE_DIR}/proto/src/panoptes.proto") @@ -54,12 +52,14 @@ if(BUILD_GRPC) protobuf_generate( TARGET ${PROJECT_NAME} IMPORT_DIRS ${PROTO_FILE_DIR} + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" PROTOC_OUT_DIR "${PROTO_BINARY_DIR}") - + protobuf_generate( TARGET ${PROJECT_NAME} LANGUAGE grpc GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" PLUGIN "protoc-gen-grpc=\$" IMPORT_DIRS ${PROTO_FILE_DIR} PROTOC_OUT_DIR "${PROTO_BINARY_DIR}") diff --git a/src/scanner/PanoptesScanCLI/CMakeLists.txt b/src/scanner/PanoptesScanCLI/CMakeLists.txt index e4c6894..84844a3 100644 --- a/src/scanner/PanoptesScanCLI/CMakeLists.txt +++ b/src/scanner/PanoptesScanCLI/CMakeLists.txt @@ -52,14 +52,14 @@ if(BUILD_GRPC) protobuf_generate( TARGET ${PROJECT_NAME} IMPORT_DIRS ${PROTO_FILE_DIR} - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" PROTOC_OUT_DIR "${PROTO_BINARY_DIR}" ) protobuf_generate( TARGET ${PROJECT_NAME} LANGUAGE grpc - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc PLUGIN "protoc-gen-grpc=\$" IMPORT_DIRS ${PROTO_FILE_DIR} diff --git a/src/service/CMakeLists.txt b/src/service/CMakeLists.txt index c6a4f17..d9de3d3 100644 --- a/src/service/CMakeLists.txt +++ b/src/service/CMakeLists.txt @@ -76,14 +76,14 @@ if(BUILD_GRPC) protobuf_generate( TARGET ${PROJECT_NAME} IMPORT_DIRS ${PROTO_FILE_DIR} - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" PROTOC_OUT_DIR "${PROTO_BINARY_DIR}" ) protobuf_generate( TARGET ${PROJECT_NAME} LANGUAGE grpc - PROTOC_EXE "${CMAKE_BINARY_DIR}/${Protobuf_PROTOC_EXECUTABLE}" + PROTOC_EXE "${Protobuf_PROTOC_EXECUTABLE}" GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc PLUGIN "protoc-gen-grpc=\$" IMPORT_DIRS ${PROTO_FILE_DIR} diff --git a/src/testing/KernelTestHost/CMakeLists.txt b/src/testing/KernelTestHost/CMakeLists.txt index 41e9ba9..8b3e212 100644 --- a/src/testing/KernelTestHost/CMakeLists.txt +++ b/src/testing/KernelTestHost/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 4.0) +cmake_minimum_required(VERSION 3.15) # Project name and language project(KernelTestHost