Initial commit
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
project(Bluehound)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# SimpleBLE local build
|
||||
set(SIMPLEBLE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/simpleble/simpleble")
|
||||
set(SIMPLEBLE_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/simpleble")
|
||||
add_library(simpleble STATIC IMPORTED)
|
||||
set_target_properties(simpleble PROPERTIES
|
||||
IMPORTED_LOCATION "${SIMPLEBLE_DIR}/build/lib/libsimpleble.a"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${SIMPLEBLE_DIR}/include;${SIMPLEBLE_DIR}/build/export;${SIMPLEBLE_ROOT}/dependencies/external"
|
||||
)
|
||||
|
||||
# Find other packages
|
||||
find_package(SQLite3 REQUIRED)
|
||||
|
||||
# cpp-httplib v0.14.3 vendored under third_party for offline builds
|
||||
set(HTTPLIB_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party")
|
||||
|
||||
# Executable
|
||||
add_executable(bluehound
|
||||
bluehound.cpp
|
||||
classic_bluetooth.mm
|
||||
)
|
||||
|
||||
# Enable Objective-C++ for .mm files
|
||||
set_source_files_properties(classic_bluetooth.mm PROPERTIES
|
||||
COMPILE_FLAGS "-x objective-c++ -fobjc-arc"
|
||||
)
|
||||
|
||||
target_link_libraries(bluehound
|
||||
simpleble
|
||||
SQLite::SQLite3
|
||||
pthread
|
||||
"-framework Foundation"
|
||||
"-framework CoreBluetooth"
|
||||
"-framework IOKit"
|
||||
"-framework IOBluetooth"
|
||||
)
|
||||
|
||||
target_include_directories(bluehound PRIVATE
|
||||
${HTTPLIB_DIR}
|
||||
)
|
||||
|
||||
# Installation
|
||||
install(TARGETS bluehound DESTINATION bin)
|
||||
Reference in New Issue
Block a user