aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt56
1 files changed, 3 insertions, 53 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bd0d7a7..a6e2d6e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,65 +3,15 @@ project(ble_toys C CXX)
find_package(PkgConfig)
# Use Clang by default: http://stackoverflow.com/a/7031553/245614
-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
-set(SOURCE_FILES "${SOURCE_FILES}"
- Bluetooth.cpp
- LinuxBluetooth.cpp
- ByteBuffer.cpp)
-
-add_library(ble ${SOURCE_FILES})
-
-add_executable(ble_toys main.cpp)
-target_link_libraries(ble_toys ble)
-
# Boost
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED OFF)
set(Boost_USE_STATIC_RUNTIME OFF)
-find_package(Boost COMPONENTS system log thread REQUIRED)
-target_link_libraries(ble_toys ${Boost_LIBRARIES})
-
add_definitions(-DBOOST_ALL_DYN_LINK)
-# Bluez
-pkg_check_modules(BLUEZ bluez REQUIRED)
-target_link_libraries(ble_toys ${BLUEZ_LIBRARIES})
-
-# pthreads
-find_package(Threads REQUIRED)
-target_link_libraries(ble_toys ${CMAKE_THREAD_LIBS_INIT})
-
-enable_testing()
-find_package(Boost COMPONENTS log unit_test_framework REQUIRED)
-
-# If we can change directory here add_definition and test-specific stuff could be moved to the test directory
-file(GLOB TEST_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} test/*.cpp)
-add_definitions(-DBOOST_TEST_DYN_LINK)
-
-foreach(testSrc ${TEST_SRCS})
- #Extract the filename without an extension (NAME_WE)
- get_filename_component(testName ${testSrc} NAME_WE)
-
- #Add compile target
- add_executable(${testName} ${testSrc})
-
- include_directories(${PROJECT_SOURCE_DIR})
-
- #link to Boost libraries AND your targets and dependencies
- target_link_libraries(${testName} ble)
- target_link_libraries(${testName} pthread)
- target_link_libraries(${testName} ${Boost_LIBRARIES})
-
- #I like to move testing binaries into a testBin directory
- set_target_properties(${testName} PROPERTIES
- RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/test)
-
- #Finally add it to test execution -
- #Notice the WORKING_DIRECTORY and COMMAND
- add_test(NAME ${testName}
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/test
- COMMAND ${CMAKE_BINARY_DIR}/test/${testName} )
-endforeach(testSrc)
+add_subdirectory(ble)
+add_subdirectory(apps)
+add_subdirectory(test)