Add packaging.
This commit is contained in:
parent
fa238f650d
commit
4f267f5edf
|
|
@ -8,35 +8,42 @@ find_package(yaml-cpp)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
|
|
||||||
add_library(utils SHARED src/utils.cpp)
|
add_library(j7s-plugin-utils SHARED src/utils.cpp)
|
||||||
target_include_directories(utils PUBLIC
|
target_include_directories(j7s-plugin-utils PUBLIC
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||||
$<INSTALL_INTERFACE:include>
|
$<INSTALL_INTERFACE:include>
|
||||||
)
|
)
|
||||||
target_link_libraries(utils OpenSSL::Crypto jwt-cpp)
|
target_link_libraries(j7s-plugin-utils OpenSSL::Crypto jwt-cpp)
|
||||||
|
|
||||||
add_library(Authorizer SHARED src/Authorizer.cpp src/AuthList.cpp)
|
add_library(Authorizer SHARED src/Authorizer.cpp src/AuthList.cpp)
|
||||||
target_include_directories(Authorizer PUBLIC
|
target_include_directories(Authorizer PUBLIC
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||||
$<INSTALL_INTERFACE:include>
|
$<INSTALL_INTERFACE:include>
|
||||||
)
|
)
|
||||||
target_link_libraries(Authorizer utils yaml-cpp)
|
target_link_libraries(Authorizer j7s-plugin-utils yaml-cpp)
|
||||||
|
|
||||||
add_library(j7s-plugin SHARED src/j7s-plugin.cpp)
|
add_library(j7s-plugin SHARED src/j7s-plugin.cpp)
|
||||||
target_include_directories(j7s-plugin PUBLIC
|
target_include_directories(j7s-plugin PUBLIC
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||||
$<INSTALL_INTERFACE:include>
|
$<INSTALL_INTERFACE:include>
|
||||||
)
|
)
|
||||||
target_link_libraries(j7s-plugin utils Authorizer)
|
target_link_libraries(j7s-plugin j7s-plugin-utils Authorizer)
|
||||||
|
|
||||||
add_executable(gen-token src/gen-token.cpp)
|
add_executable(j7s-gen-token src/gen-token.cpp)
|
||||||
target_include_directories(gen-token PUBLIC
|
target_include_directories(j7s-gen-token PUBLIC
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||||
$<INSTALL_INTERFACE:include>
|
$<INSTALL_INTERFACE:include>
|
||||||
)
|
)
|
||||||
target_link_libraries(gen-token utils argparse::argparse)
|
target_link_libraries(j7s-gen-token j7s-plugin-utils argparse::argparse)
|
||||||
|
|
||||||
if(BUILD_TESTING)
|
if(BUILD_TESTING)
|
||||||
|
FetchContent_Declare(googletest
|
||||||
|
GIT_REPOSITORY "https://github.com/google/googletest.git"
|
||||||
|
GIT_TAG "release-1.11.0"
|
||||||
|
GIT_SHALLOW "True"
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(googletest)
|
||||||
|
|
||||||
include(GoogleTest)
|
include(GoogleTest)
|
||||||
|
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
@ -46,6 +53,19 @@ if(BUILD_TESTING)
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||||
$<INSTALL_INTERFACE:include>
|
$<INSTALL_INTERFACE:include>
|
||||||
)
|
)
|
||||||
target_link_libraries(token_test utils GTest::gtest_main)
|
target_link_libraries(token_test j7s-plugin-utils GTest::gtest_main)
|
||||||
gtest_discover_tests(token_test)
|
gtest_discover_tests(token_test)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
install(
|
||||||
|
TARGETS
|
||||||
|
j7s-plugin
|
||||||
|
Authorizer
|
||||||
|
j7s-plugin-utils
|
||||||
|
j7s-gen-token
|
||||||
|
LIBRARY DESTINATION lib
|
||||||
|
ARCHIVE DESTINATION lib
|
||||||
|
RUNTIME DESTINATION bin
|
||||||
|
INCLUDES DESTINATION include
|
||||||
|
COMPONENT Plugin
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
j7s-mosquitto-plugin (0.0.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Initial release.
|
||||||
|
|
||||||
|
-- James Pace <jpace121@gmail.com> Sat, 26 Mar 2022 23:49:28 +0000
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
Source: j7s-mosquitto-plugin
|
||||||
|
Maintainer: James Pace <jpace121@gmail.com>
|
||||||
|
Build-Depends: cmake, dh-cmake, dh-cmake-compat (= 1), dh-sequence-cmake, debhelper-compat (= 12),
|
||||||
|
mosquitto-dev, libmosquitto-dev, libssl-dev, libyaml-cpp-dev
|
||||||
|
Standards-Version: 4.1.5
|
||||||
|
Homepage: https://github.com/jpace121/j7s-jwt-mosquitto-auth
|
||||||
|
Section: misc
|
||||||
|
Priority: optional
|
||||||
|
|
||||||
|
Package: j7s-mosquitto-plugin
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||||
|
Description: Authentication plugin for mosquitto for the j7s project.
|
||||||
|
Authentication plugin for mosquitto for the j7s project.
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
Files: *
|
||||||
|
Copyright: 2021-2022 James Pace <jpace121@gmail.com>
|
||||||
|
License: Apache-2.0
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
|
||||||
|
On Debian systems, the full text of the Apache Software License version 2 can
|
||||||
|
be found in the file `/usr/share/common-licenses/Apache-2.0'.
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
j7s-mosquitto-plugin-dbgsym_0.0.1-1_amd64.deb debug optional automatic=yes
|
||||||
|
j7s-mosquitto-plugin_0.0.1-1_amd64.buildinfo misc optional
|
||||||
|
j7s-mosquitto-plugin_0.0.1-1_amd64.deb misc optional
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
Plugin
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
|
%:
|
||||||
|
dh $@ --buildsystem=cmake
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
activate-noawait ldconfig
|
||||||
|
|
@ -1,17 +1,17 @@
|
||||||
per_listener_settings true
|
per_listener_settings true
|
||||||
log_type all
|
log_type all
|
||||||
|
|
||||||
listener 8082
|
listener 9000
|
||||||
protocol websockets
|
protocol websockets
|
||||||
allow_anonymous false
|
allow_anonymous false
|
||||||
auth_plugin /home/jimmy/Develop/mosquitto-plugin/build/libj7s-plugin.so
|
auth_plugin /opt/libj7s-plugin.so
|
||||||
auth_opt_key_file /home/jimmy/Develop/mosquitto-plugin/examples/keys.yaml
|
auth_opt_key_file /opt/websocket-keys.yaml
|
||||||
auth_opt_acl_file /home/jimmy/Develop/mosquitto-plugin/examples/acl.yaml
|
auth_opt_acl_file /opt/websocket-acl.yaml
|
||||||
|
|
||||||
listener 8081
|
listener 9001
|
||||||
protocol mqtt
|
protocol mqtt
|
||||||
allow_anonymous false
|
allow_anonymous false
|
||||||
auth_plugin /home/jimmy/Develop/mosquitto-plugin/build/libj7s-plugin.so
|
auth_plugin /opt/libj7s-plugin.so
|
||||||
auth_opt_key_file /home/jimmy/Develop/mosquitto-plugin/examples/keys.yaml
|
auth_opt_key_file /home/jimmy/Develop/mosquitto-plugin/examples/keys.yaml
|
||||||
auth_opt_acl_file /home/jimmy/Develop/mosquitto-plugin/examples/acl.yaml
|
auth_opt_acl_file /home/jimmy/Develop/mosquitto-plugin/examples/acl.yaml
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,5 @@
|
||||||
include(FetchContent)
|
include(FetchContent)
|
||||||
|
|
||||||
FetchContent_Declare(googletest
|
|
||||||
GIT_REPOSITORY "https://github.com/google/googletest.git"
|
|
||||||
GIT_TAG "release-1.11.0"
|
|
||||||
GIT_SHALLOW "True"
|
|
||||||
)
|
|
||||||
FetchContent_MakeAvailable(googletest)
|
|
||||||
|
|
||||||
FetchContent_Declare(jwt-cpp
|
FetchContent_Declare(jwt-cpp
|
||||||
GIT_REPOSITORY "https://github.com/Thalhammer/jwt-cpp.git"
|
GIT_REPOSITORY "https://github.com/Thalhammer/jwt-cpp.git"
|
||||||
GIT_TAG "v0.5.2"
|
GIT_TAG "v0.5.2"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue