Skip to content

Commit 8ec54c0

Browse files
authored
transition to header only library (#12)
1 parent 9a15398 commit 8ec54c0

4 files changed

Lines changed: 17 additions & 12 deletions

File tree

CMakeLists.txt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,16 @@ project(pyscheduler VERSION 0.1.0 LANGUAGES CXX)
44

55
set(CMAKE_CXX_STANDARD 17)
66

7+
find_package(pybind11 CONFIG REQUIRED)
8+
find_package(concurrentqueue CONFIG REQUIRED)
79

8-
find_package(pybind11 REQUIRED)
9-
find_package(concurrentqueue REQUIRED)
10-
11-
add_library(${PROJECT_NAME} SHARED "include/pyscheduler/pyscheduler.cpp")
12-
target_link_libraries(pyscheduler PUBLIC pybind11::embed concurrentqueue::concurrentqueue)
13-
target_include_directories(pyscheduler
14-
PUBLIC
10+
# create library target
11+
add_library(${PROJECT_NAME} INTERFACE)
12+
target_link_libraries(${PROJECT_NAME} INTERFACE
13+
pybind11::embed
14+
concurrentqueue::concurrentqueue
15+
)
16+
target_include_directories(${PROJECT_NAME} INTERFACE
1517
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
1618
$<INSTALL_INTERFACE:include>
1719
)

cmake/Config.cmake.in

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
@PACKAGE_INIT@
22

3-
include("${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}Targets.cmake")
3+
include(CMakeFindDependencyMacro)
4+
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
45

5-
find_dependency(pybind11)
6-
find_dependency(concurrentqueue)
6+
find_dependency(pybind11 REQUIRED)
7+
find_dependency(concurrentqueue CONFIG REQUIRED)
File renamed without changes.

include/pyscheduler/pyscheduler.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33

44
#include <atomic>
55
#include <chrono>
6-
#include <moodycamel/blockingconcurrentqueue.h>
76
#include <filesystem>
87
#include <future>
98
#include <iostream>
109
#include <map>
1110
#include <memory>
11+
#include <moodycamel/blockingconcurrentqueue.h>
1212
#include <pybind11/embed.h>
1313
#include <pybind11/pybind11.h>
1414
#include <queue>
@@ -209,4 +209,6 @@ class PYSCHEDULER_LIBRARY_EXPORT PyManager {
209209
void mainLoop();
210210
};
211211

212-
} // namespace pyscheduler
212+
} // namespace pyscheduler
213+
214+
#include "pyscheduler/details/pyscheduler_impl.hpp"

0 commit comments

Comments
 (0)