aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio <silvio.traversaro@iit.it>2017-03-05 16:48:00 +0100
committerSilvio <silvio.traversaro@iit.it>2017-03-05 17:09:23 +0100
commitd22f7719cb6a610be6cc20cbfbb79698177360cd (patch)
tree5eaf7a4bd401fc600047a7bf0b792f49fb67a702
parente32762ce3ccbd10af00fed78995fb442931e55bb (diff)
downloaddlfcn-win32-d22f7719cb6a610be6cc20cbfbb79698177360cd.tar.gz
dlfcn-win32-d22f7719cb6a610be6cc20cbfbb79698177360cd.tar.bz2
dlfcn-win32-d22f7719cb6a610be6cc20cbfbb79698177360cd.zip
Add testing of CMake exported targets
-rw-r--r--.appveyor.yml13
-rw-r--r--cmake-test/CMakeLists.txt14
-rw-r--r--test.c1
3 files changed, 27 insertions, 1 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index fd488ba..d97a44e 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -52,7 +52,7 @@ build_script:
52 - ps: if($env:PLATFORM -eq "x64") { $env:CMAKE_GEN_SUFFIX=" Win64" } 52 - ps: if($env:PLATFORM -eq "x64") { $env:CMAKE_GEN_SUFFIX=" Win64" }
53 - md build 53 - md build
54 - cd build 54 - cd build
55 - cmake "-G%GENERATOR%%CMAKE_GEN_SUFFIX%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS% -DBUILD_TESTS=ON .. 55 - cmake "-G%GENERATOR%%CMAKE_GEN_SUFFIX%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS% -DBUILD_TESTS=ON -DCMAKE_INSTALL_PREFIX="./install" ..
56 - cmake --build . --config "%CONFIGURATION%" 56 - cmake --build . --config "%CONFIGURATION%"
57 57
58test_script: 58test_script:
@@ -60,4 +60,15 @@ test_script:
60 60
61after_test: 61after_test:
62 - cmake --build . --config "%CONFIGURATION%" --target INSTALL 62 - cmake --build . --config "%CONFIGURATION%" --target INSTALL
63 # Test also the use of dlfcn-win32 from an external CMake project
64 # Append the instllation directory of dlfcn-win32 to CMAKE_PREFIX_PATH to make sure that the CMake project is found
65 - set CMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%/build/install
66 # Append the bin installation directory of dlfcn-win32 to the path to make sure that .dll are found
67 - set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%/build/install/bin
68 - cd ../cmake-test
69 - md build
70 - cd build
71 - cmake "-G%GENERATOR%%CMAKE_GEN_SUFFIX%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS% -DBUILD_TESTS=ON ..
72 - cmake --build . --config "%CONFIGURATION%"
73 - ctest --output-on-failure --build-config "%CONFIGURATION%"
63 74
diff --git a/cmake-test/CMakeLists.txt b/cmake-test/CMakeLists.txt
new file mode 100644
index 0000000..532f2b8
--- /dev/null
+++ b/cmake-test/CMakeLists.txt
@@ -0,0 +1,14 @@
1# Simple CMake project to test the use of dlfcn-win32
2# imported target. The test compiled is the same compiled
3# as part of the main dlfcn-win32 project
4
5cmake_minimum_required(VERSION 3.0)
6
7find_package(dlfcn-win32 REQUIRED)
8
9add_library(testdll SHARED ../testdll.c)
10set_target_properties(testdll PROPERTIES PREFIX "")
11add_executable(t_dlfcn ../test.c)
12target_link_libraries(t_dlfcn dlfcn-win32::dl)
13enable_testing()
14add_test(NAME t_dlfcn COMMAND t_dlfcn)
diff --git a/test.c b/test.c
index e7124ae..14523ad 100644
--- a/test.c
+++ b/test.c
@@ -24,6 +24,7 @@
24#include <crtdbg.h> 24#include <crtdbg.h>
25#endif 25#endif
26#include <stdio.h> 26#include <stdio.h>
27#include <string.h>
27#include "dlfcn.h" 28#include "dlfcn.h"
28 29
29/* If these dlclose's fails, we don't care as the handles are going to be 30/* If these dlclose's fails, we don't care as the handles are going to be