I’m working on setting up an integration test and ...
# general
c
I’m working on setting up an integration test and running
cmake --build . --target test
gives the following: `make: * No rule to make target test’. Stop. File has been added to
CMakeLists.txt
. Running from the build dir. Any suggestions?
s
Have you configured with
-DOSQUERY_BUILD_TESTS=ON
? Tests are not enabled by default
c
ran
cmake -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOSQUERY_BUILD_TESTS=ON  -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
from
build/
s
Did it run successfully? Can you share the output?
c
Copy code
-- osquery version: 5.7.0-52-g831924c84-dirty
-- Found ccache: /opt/homebrew/bin/ccache
-- Found clang-format: /opt/homebrew/bin/clang-format
-- Build type: RelWithDebInfo
-- Shared libraries: OFF
-- Importing: source/augeas/gnulib
-- Importing: source/augeas
-- Importing: source/boost
-- osquery: boost::context is using the fcontext backend
-- Importing: source/bzip2
-- Importing: source/gflags
-- Importing: source/glog
-- Importing: source/googletest
-- Importing: source/libarchive
-- Importing: source/libmagic
-- Importing: source/librdkafka
-- Importing: source/libxml2
-- Importing: source/linenoise-ng
-- Importing: source/lzma
-- Importing: source/rapidjson
-- Importing: source/rocksdb
-- Importing: source/sleuthkit
-- Importing: source/sqlite
-- Disabling the SQLite R*Tree module
-- Disabling the SQLite FTS extensions
-- Importing: source/thrift
-- Importing: source/yara
-- Importing: source/zlib
-- Importing: source/zstd
-- Importing formula: formula/openssl
CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.25.2/share/cmake/Modules/ExternalProject.cmake:3075 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.25.2/share/cmake/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
  libraries/cmake/formula/openssl/CMakeLists.txt:194 (ExternalProject_Add)
  libraries/cmake/formula/openssl/CMakeLists.txt:225 (opensslMain)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Importing: source/aws-sdk-cpp
CMake Warning at external/CMakeLists.txt:39 (message):
  External project: /Users/cc/osquery/external/.DS_Store must be a directory
Call Stack (most recent call first):
  external/CMakeLists.txt:61 (subdirlist)
  external/CMakeLists.txt:96 (externalsMain)


-- Could NOT find cppcheck (missing: CPPCHECK_EXECUTABLE) 
-- cppcheck: The executable was not found
-- Configuring done
You have changed variables that require your cache to be deleted.
Configure will be re-run and you may have to reset some variables.
The following variables have changed:
CMAKE_C_COMPILER= clang
CMAKE_CXX_COMPILER= clang++
CMAKE_C_COMPILER= clang
CMAKE_CXX_COMPILER= clang++
CMAKE_CXX_COMPILER= clang++
CMAKE_C_COMPILER= clang
CMAKE_CXX_COMPILER= clang++
CMAKE_C_COMPILER= clang
CMAKE_C_COMPILER= clang
CMAKE_CXX_COMPILER= clang++
CMAKE_C_COMPILER= clang
CMAKE_CXX_COMPILER= clang++
CMAKE_C_COMPILER= clang
CMAKE_CXX_COMPILER= clang++
CMAKE_C_COMPILER= clang
CMAKE_CXX_COMPILER= clang++
CMAKE_C_COMPILER= clang
CMAKE_CXX_COMPILER= clang++

-- The C compiler identification is AppleClang 14.0.0.14000029
-- The CXX compiler identification is AppleClang 14.0.0.14000029
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is Clang with GNU-like command-line
-- Found assembler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-- The OBJCXX compiler identification is AppleClang 14.0.0.14000029
-- Detecting OBJCXX compiler ABI info
-- Detecting OBJCXX compiler ABI info - done
-- Check for working OBJCXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ - skipped
-- Found Git: /opt/homebrew/bin/git (found version "2.39.1") 
-- osquery version: 5.7.0-52-g831924c84-dirty
-- Found ccache: /opt/homebrew/bin/ccache
-- Found clang-format: /opt/homebrew/bin/clang-format
-- Found Python3: /opt/homebrew/Frameworks/Python.framework/Versions/3.11/bin/python3.11 (found suitable version "3.11.2", minimum required is "3.5") found components: Interpreter 
-- Build type: RelWithDebInfo
-- Shared libraries: OFF
-- Importing: source/augeas/gnulib
-- Importing: source/augeas
-- Importing: source/boost
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- osquery: boost::context is using the fcontext backend
-- Importing: source/bzip2
-- Importing: source/gflags
-- Importing: source/glog
-- Importing: source/googletest
-- Found Python: /opt/homebrew/Frameworks/Python.framework/Versions/3.11/bin/python3.11 (found version "3.11.2") found components: Interpreter 
-- Importing: source/libarchive
-- Importing: source/libmagic
-- Importing: source/librdkafka
-- Importing: source/libxml2
-- Importing: source/linenoise-ng
-- Importing: source/lzma
-- Importing: source/rapidjson
-- Importing: source/rocksdb
-- Importing: source/sleuthkit
-- Importing: source/sqlite
-- Disabling the SQLite R*Tree module
-- Disabling the SQLite FTS extensions
-- Importing: source/thrift
-- Importing: source/yara
-- Importing: source/zlib
-- Importing: source/zstd
-- Importing formula: formula/openssl
CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.25.2/share/cmake/Modules/ExternalProject.cmake:3075 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.25.2/share/cmake/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
  libraries/cmake/formula/openssl/CMakeLists.txt:194 (ExternalProject_Add)
  libraries/cmake/formula/openssl/CMakeLists.txt:225 (opensslMain)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Importing: source/aws-sdk-cpp
CMake Warning at external/CMakeLists.txt:39 (message):
  External project: /Users/cc/osquery/external/.DS_Store must be a directory
Call Stack (most recent call first):
  external/CMakeLists.txt:61 (subdirlist)
  external/CMakeLists.txt:96 (externalsMain)


-- Could NOT find cppcheck (missing: CPPCHECK_EXECUTABLE) 
-- cppcheck: The executable was not found
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/cc/osquery/build
s
hum so, It's a bit weird that it has tried to reconfigure the compiler; I would delete the CMakeCache.txt file in the build folder, then configure again, then build all (since tests do not have a common target to build them, the
test
target only runs them), and try again.
I just tried locally here and it works, so I'm not sure what happened at the configuration in that build folder ^^'
c
That worked, thank you!