1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

cmake: check if criterion is present

This commit is contained in:
Steffen Vogel 2018-06-30 10:37:49 +02:00
parent bea165de41
commit f7bf0cc1fe
3 changed files with 41 additions and 29 deletions

View file

@ -24,11 +24,12 @@ cmake_minimum_required(VERSION 3.3)
project(VILLASnode C CXX)
# Several CMake settings/defaults
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_THREAD_PREFER_PTHREAD ON)
set(CMAKE_SKIP_INSTALL_RPATH ON)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/share/pkgconfig")
if(APPLE)
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/opt/local/lib/pkgconfig")
@ -85,12 +86,16 @@ check_include_file("sys/mman.h" HAS_MMAN)
# Check packages
find_package(PkgConfig REQUIRED)
find_package(Threads REQUIRED)
find_package(Libwebsockets REQUIRED)
find_package(OpenSSL REQUIRED)
find_package(CURL REQUIRED)
find_package(ProtobufC)
find_package(Opal)
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/share/pkgconfig")
pkg_check_modules(CRITERION IMPORTED_TARGET criterion)
pkg_check_modules(JANSSON IMPORTED_TARGET REQUIRED jansson)
pkg_check_modules(LIBNL3_ROUTE IMPORTED_TARGET libnl-route-3.0)
pkg_check_modules(LIBIEC61850 IMPORTED_TARGET libiec61850>=1.2.0)

View file

@ -30,12 +30,12 @@ add_executable(villas-test-shmem villas-test-shmem.c)
set(SRCS )
if(WITH_IO)
target_link_libraries(villas-pipe PUBLIC pthread)
add_executable(villas-test-cmp villas-test-cmp.c)
add_executable(villas-convert villas-convert.c)
add_executable(villas-pipe villas-pipe.c)
add_executable(villas-signal villas-signal.c)
target_link_libraries(villas-pipe PUBLIC Threads::Threads)
endif()
if(WITH_IO AND WITH_HOOKS)

View file

@ -20,31 +20,38 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
###################################################################################
set(TEST_SRC
advio.c
bitset.c
config_json.c
hist.c
io.c
json.c
kernel.c
list.c
log.c
main.c
mapping.c
memory.c
pool.c
queue.c
queue_signalled.c
task.c
timing.c
utils.c
)
if(CRITERION_FOUND)
add_executable(unit-tests ${TEST_SRC})
target_link_libraries(unit-tests PUBLIC villas criterion pthread)
set(TEST_SRC
advio.c
bitset.c
config_json.c
hist.c
io.c
json.c
kernel.c
list.c
log.c
main.c
mapping.c
memory.c
pool.c
queue.c
queue_signalled.c
task.c
timing.c
utils.c
)
add_custom_target(run-unit-tests
COMMAND $<TARGET_FILE:unit-tests> ${CRITERION_OPTS}
DEPENDS unit-tests
)
add_executable(unit-tests ${TEST_SRC})
target_link_libraries(unit-tests PUBLIC
${CRITERION_LIBRARIES}
villas
Threads::Threads
)
add_custom_target(run-unit-tests
COMMAND $<TARGET_FILE:unit-tests> ${CRITERION_OPTS}
DEPENDS unit-tests
)
endif()