forked from Kistler-Group/sdbus-cpp
chore: add INSTALL_TESTS CMake option (#382)
* Change default test installation path to tests/sdbus-c++ , while also respecting CMAKE_INSTALL_PREFIX * Introduce INSTALL_TESTS CMake option, so BUILD_TESTS is now split into BUILD_TESTS just for building and INSTALL_TESTS for installing the test binaries Per discussion in #358 (comment), the change in the default settings is fine a for a minor release.
This commit is contained in:
committed by
GitHub
parent
fb9e4ae371
commit
934d51fa8a
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@ -48,19 +48,19 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="-O0 -g -W -Wextra -Wall -Wnon-virtual-dtor -Werror" -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON -DBUILD_CODE_GEN=ON ..
|
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="-O0 -g -W -Wextra -Wall -Wnon-virtual-dtor -Werror" -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON -DBUILD_CODE_GEN=ON ..
|
||||||
- name: configure-release
|
- name: configure-release
|
||||||
if: matrix.build == 'shared-libsystemd' && matrix.os == 'ubuntu-22.04'
|
if: matrix.build == 'shared-libsystemd' && matrix.os == 'ubuntu-22.04'
|
||||||
run: |
|
run: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="-O3 -DNDEBUG -W -Wextra -Wall -Wnon-virtual-dtor -Werror" -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON -DBUILD_CODE_GEN=ON ..
|
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="-O3 -DNDEBUG -W -Wextra -Wall -Wnon-virtual-dtor -Werror" -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON -DBUILD_CODE_GEN=ON ..
|
||||||
- name: configure-with-embedded-libsystemd
|
- name: configure-with-embedded-libsystemd
|
||||||
if: matrix.build == 'embedded-static-libsystemd'
|
if: matrix.build == 'embedded-static-libsystemd'
|
||||||
run: |
|
run: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON -DBUILD_CODE_GEN=ON -DBUILD_LIBSYSTEMD=ON -DLIBSYSTEMD_VERSION=244 ..
|
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON -DBUILD_CODE_GEN=ON -DBUILD_LIBSYSTEMD=ON -DLIBSYSTEMD_VERSION=244 ..
|
||||||
- name: make
|
- name: make
|
||||||
run: |
|
run: |
|
||||||
cd build
|
cd build
|
||||||
@ -97,7 +97,7 @@ jobs:
|
|||||||
prepare: |
|
prepare: |
|
||||||
pkg install -y cmake ninja pkgconf basu expat googletest
|
pkg install -y cmake ninja pkgconf basu expat googletest
|
||||||
run: |
|
run: |
|
||||||
cmake -B _build -G Ninja -DBUILD_CODE_GEN=ON -DBUILD_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON
|
cmake -B _build -G Ninja -DBUILD_CODE_GEN=ON -DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON
|
||||||
cmake --build _build
|
cmake --build _build
|
||||||
cmake --install _build
|
cmake --install _build
|
||||||
pkg install -y dbus
|
pkg install -y dbus
|
||||||
|
@ -172,7 +172,7 @@ install(TARGETS ${EXPORT_SET}
|
|||||||
# TESTS
|
# TESTS
|
||||||
#----------------------------------
|
#----------------------------------
|
||||||
|
|
||||||
option(BUILD_TESTS "Build and install tests (default OFF)" OFF)
|
option(BUILD_TESTS "Build tests (default OFF)" OFF)
|
||||||
|
|
||||||
if(BUILD_TESTS)
|
if(BUILD_TESTS)
|
||||||
message(STATUS "Building with tests")
|
message(STATUS "Building with tests")
|
||||||
|
@ -50,9 +50,13 @@ $ sudo cmake --build . --target install
|
|||||||
|
|
||||||
Option for building sdbus-c++ stress tests. Default value: `OFF`.
|
Option for building sdbus-c++ stress tests. Default value: `OFF`.
|
||||||
|
|
||||||
|
* `INSTALL_TESTS` [boolean]
|
||||||
|
|
||||||
|
Option for installing tests that were built. Default value: `OFF`.
|
||||||
|
|
||||||
* `TESTS_INSTALL_PATH` [string]
|
* `TESTS_INSTALL_PATH` [string]
|
||||||
|
|
||||||
Path where the test binaries shall get installed. Default value: `/opt/test/bin`.
|
Path where the test binaries shall get installed. Default value: `${CMAKE_INSTALL_PREFIX}/tests/sdbus-c++` (previously: `/opt/test/bin`).
|
||||||
|
|
||||||
* `BUILD_LIBSYSTEMD` [boolean]
|
* `BUILD_LIBSYSTEMD` [boolean]
|
||||||
|
|
||||||
|
@ -140,22 +140,26 @@ endif()
|
|||||||
# INSTALLATION
|
# INSTALLATION
|
||||||
#----------------------------------
|
#----------------------------------
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
option(INSTALL_TESTS "Install tests (default OFF)" OFF)
|
||||||
set(TESTS_INSTALL_PATH "/opt/test/bin" CACHE STRING "Specifies where the test binaries will be installed")
|
|
||||||
|
|
||||||
install(TARGETS sdbus-c++-unit-tests DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
if(INSTALL_TESTS)
|
||||||
install(TARGETS sdbus-c++-integration-tests DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
include(GNUInstallDirs)
|
||||||
install(FILES ${INTEGRATIONTESTS_SOURCE_DIR}/files/org.sdbuscpp.integrationtests.conf DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/dbus-1/system.d COMPONENT test)
|
set(TESTS_INSTALL_PATH "tests/${PROJECT_NAME}" CACHE STRING "Specifies where the test binaries will be installed")
|
||||||
|
|
||||||
if(ENABLE_PERF_TESTS)
|
install(TARGETS sdbus-c++-unit-tests DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
||||||
install(TARGETS sdbus-c++-perf-tests-client DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
install(TARGETS sdbus-c++-integration-tests DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
||||||
install(TARGETS sdbus-c++-perf-tests-server DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
install(FILES ${INTEGRATIONTESTS_SOURCE_DIR}/files/org.sdbuscpp.integrationtests.conf DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/dbus-1/system.d COMPONENT test)
|
||||||
install(FILES ${PERFTESTS_SOURCE_DIR}/files/org.sdbuscpp.perftests.conf DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/dbus-1/system.d COMPONENT test)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(ENABLE_STRESS_TESTS)
|
if(ENABLE_PERF_TESTS)
|
||||||
install(TARGETS sdbus-c++-stress-tests DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
install(TARGETS sdbus-c++-perf-tests-client DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
||||||
install(FILES ${STRESSTESTS_SOURCE_DIR}/files/org.sdbuscpp.stresstests.conf DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/dbus-1/system.d COMPONENT test)
|
install(TARGETS sdbus-c++-perf-tests-server DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
||||||
|
install(FILES ${PERFTESTS_SOURCE_DIR}/files/org.sdbuscpp.perftests.conf DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/dbus-1/system.d COMPONENT test)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_STRESS_TESTS)
|
||||||
|
install(TARGETS sdbus-c++-stress-tests DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
||||||
|
install(FILES ${STRESSTESTS_SOURCE_DIR}/files/org.sdbuscpp.stresstests.conf DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/dbus-1/system.d COMPONENT test)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#----------------------------------
|
#----------------------------------
|
||||||
|
Reference in New Issue
Block a user