aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt58
-rw-r--r--cmake-test/CMakeLists.txt8
-rw-r--r--src/CMakeLists.txt43
-rw-r--r--src/dlfcn.c (renamed from dlfcn.c)0
-rw-r--r--src/dlfcn.h (renamed from dlfcn.h)0
-rw-r--r--tests/CMakeLists.txt12
-rw-r--r--tests/test.c (renamed from test.c)0
-rw-r--r--tests/testdll.c (renamed from testdll.c)0
-rw-r--r--tests/testdll2.c (renamed from testdll2.c)0
-rw-r--r--tests/testdll3.c (renamed from testdll3.c)0
10 files changed, 62 insertions, 59 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 48b5016..17d3fc4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,60 +9,8 @@ project (dlfcn-win32 C)
9option(BUILD_SHARED_LIBS "shared/static libs" ON) 9option(BUILD_SHARED_LIBS "shared/static libs" ON)
10option(BUILD_TESTS "tests?" OFF) 10option(BUILD_TESTS "tests?" OFF)
11 11
12set(headers dlfcn.h) 12add_subdirectory(src)
13set(sources dlfcn.c)
14
15if (BUILD_SHARED_LIBS)
16 add_definitions(-DSHARED)
17endif (BUILD_SHARED_LIBS)
18
19add_library(dl ${sources})
20
21install (TARGETS dl EXPORT dlfcn-win32-targets
22 RUNTIME DESTINATION bin
23 LIBRARY DESTINATION lib${LIB_SUFFIX}
24 ARCHIVE DESTINATION lib${LIB_SUFFIX})
25
26install (FILES ${headers} DESTINATION include)
27
28# Correctly export the location of installed includes in the target
29target_include_directories(dl INTERFACE $<INSTALL_INTERFACE:include>)
30
31# Export the targets (build tree)
32export(EXPORT dlfcn-win32-targets
33 FILE "${CMAKE_CURRENT_BINARY_DIR}/dlfcn-win32-targets.cmake"
34 NAMESPACE dlfcn-win32::
35)
36
37# Write the CMake config file
38set(CMAKE_CONF_INSTALL_DIR share/dlfcn-win32)
39set(INCLUDE_INSTALL_DIR include)
40include(CMakePackageConfigHelpers)
41configure_package_config_file(dlfcn-win32-config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/dlfcn-win32-config.cmake
42 INSTALL_DESTINATION ${CMAKE_CONF_INSTALL_DIR}
43 PATH_VARS INCLUDE_INSTALL_DIR
44 NO_CHECK_REQUIRED_COMPONENTS_MACRO)
45
46# Install the targets (install)
47install(EXPORT dlfcn-win32-targets
48 FILE dlfcn-win32-targets.cmake
49 NAMESPACE dlfcn-win32::
50 DESTINATION ${CMAKE_CONF_INSTALL_DIR})
51
52# Install the CMake config file
53install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dlfcn-win32-config.cmake
54 DESTINATION ${CMAKE_CONF_INSTALL_DIR})
55 13
56if (BUILD_TESTS) 14if (BUILD_TESTS)
57 enable_testing() 15 add_subdirectory(tests)
58 add_library(testdll SHARED testdll.c) 16endif()
59 set_target_properties(testdll PROPERTIES PREFIX "")
60 add_library(testdll2 SHARED testdll2.c)
61 set_target_properties(testdll2 PROPERTIES PREFIX "")
62 target_link_libraries(testdll2 dl)
63 add_library(testdll3 SHARED testdll3.c)
64 set_target_properties(testdll3 PROPERTIES PREFIX "")
65 add_executable(t_dlfcn test.c)
66 target_link_libraries(t_dlfcn dl)
67 add_test (NAME t_dlfcn COMMAND t_dlfcn)
68endif ()
diff --git a/cmake-test/CMakeLists.txt b/cmake-test/CMakeLists.txt
index 659a79a..815d127 100644
--- a/cmake-test/CMakeLists.txt
+++ b/cmake-test/CMakeLists.txt
@@ -6,14 +6,14 @@ cmake_minimum_required(VERSION 3.0)
6 6
7find_package(dlfcn-win32 REQUIRED) 7find_package(dlfcn-win32 REQUIRED)
8 8
9add_library(testdll SHARED ../testdll.c) 9add_library(testdll SHARED ../tests/testdll.c)
10set_target_properties(testdll PROPERTIES PREFIX "") 10set_target_properties(testdll PROPERTIES PREFIX "")
11add_library(testdll2 SHARED ../testdll2.c) 11add_library(testdll2 SHARED ../tests/testdll2.c)
12set_target_properties(testdll2 PROPERTIES PREFIX "") 12set_target_properties(testdll2 PROPERTIES PREFIX "")
13target_link_libraries(testdll2 dlfcn-win32::dl) 13target_link_libraries(testdll2 dlfcn-win32::dl)
14add_library(testdll3 SHARED ../testdll3.c) 14add_library(testdll3 SHARED ../tests/testdll3.c)
15set_target_properties(testdll3 PROPERTIES PREFIX "") 15set_target_properties(testdll3 PROPERTIES PREFIX "")
16add_executable(t_dlfcn ../test.c) 16add_executable(t_dlfcn ../tests/test.c)
17target_link_libraries(t_dlfcn dlfcn-win32::dl) 17target_link_libraries(t_dlfcn dlfcn-win32::dl)
18enable_testing() 18enable_testing()
19add_test(NAME t_dlfcn COMMAND t_dlfcn) 19add_test(NAME t_dlfcn COMMAND t_dlfcn)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..d5296b1
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,43 @@
1set(headers dlfcn.h)
2set(sources dlfcn.c)
3
4if (BUILD_SHARED_LIBS)
5 add_definitions(-DSHARED)
6endif (BUILD_SHARED_LIBS)
7
8add_library(dl ${sources})
9
10# Correctly export the location of installed includes in the target
11target_include_directories(dl INTERFACE $<INSTALL_INTERFACE:include>)
12
13install (TARGETS dl EXPORT dlfcn-win32-targets
14 RUNTIME DESTINATION bin
15 LIBRARY DESTINATION lib${LIB_SUFFIX}
16 ARCHIVE DESTINATION lib${LIB_SUFFIX})
17
18install (FILES ${headers} DESTINATION include)
19
20# Export the targets (build tree)
21export(EXPORT dlfcn-win32-targets
22 FILE "${CMAKE_BINARY_DIR}/dlfcn-win32-targets.cmake"
23 NAMESPACE dlfcn-win32::
24)
25
26# Write the CMake config file
27set(CMAKE_CONF_INSTALL_DIR share/dlfcn-win32)
28set(INCLUDE_INSTALL_DIR include)
29include(CMakePackageConfigHelpers)
30configure_package_config_file(../dlfcn-win32-config.cmake.in ${CMAKE_BINARY_DIR}/dlfcn-win32-config.cmake
31 INSTALL_DESTINATION ${CMAKE_CONF_INSTALL_DIR}
32 PATH_VARS INCLUDE_INSTALL_DIR
33 NO_CHECK_REQUIRED_COMPONENTS_MACRO)
34
35# Install the targets (install)
36install(EXPORT dlfcn-win32-targets
37 FILE dlfcn-win32-targets.cmake
38 NAMESPACE dlfcn-win32::
39 DESTINATION ${CMAKE_CONF_INSTALL_DIR})
40
41# Install the CMake config file
42install(FILES ${CMAKE_BINARY_DIR}/dlfcn-win32-config.cmake
43 DESTINATION ${CMAKE_CONF_INSTALL_DIR})
diff --git a/dlfcn.c b/src/dlfcn.c
index 532af91..532af91 100644
--- a/dlfcn.c
+++ b/src/dlfcn.c
diff --git a/dlfcn.h b/src/dlfcn.h
index 9ddbba3..9ddbba3 100644
--- a/dlfcn.h
+++ b/src/dlfcn.h
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
new file mode 100644
index 0000000..64f85f7
--- /dev/null
+++ b/tests/CMakeLists.txt
@@ -0,0 +1,12 @@
1enable_testing()
2include_directories(../src)
3add_library(testdll SHARED testdll.c)
4set_target_properties(testdll PROPERTIES PREFIX "")
5add_library(testdll2 SHARED testdll2.c)
6set_target_properties(testdll2 PROPERTIES PREFIX "")
7target_link_libraries(testdll2 dl)
8add_library(testdll3 SHARED testdll3.c)
9set_target_properties(testdll3 PROPERTIES PREFIX "")
10add_executable(t_dlfcn test.c)
11target_link_libraries(t_dlfcn dl)
12add_test (NAME t_dlfcn COMMAND t_dlfcn)
diff --git a/test.c b/tests/test.c
index 5d060d2..5d060d2 100644
--- a/test.c
+++ b/tests/test.c
diff --git a/testdll.c b/tests/testdll.c
index 5bb0f43..5bb0f43 100644
--- a/testdll.c
+++ b/tests/testdll.c
diff --git a/testdll2.c b/tests/testdll2.c
index 1560738..1560738 100644
--- a/testdll2.c
+++ b/tests/testdll2.c
diff --git a/testdll3.c b/tests/testdll3.c
index b6f4f5b..b6f4f5b 100644
--- a/testdll3.c
+++ b/tests/testdll3.c