Skip to content

Commit c5d0f86

Browse files
committed
Add cmake build support for windows and install target
1 parent 73de0c7 commit c5d0f86

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# -*- cmake -*-
22

3-
cmake_minimum_required(VERSION 2.6)
3+
cmake_minimum_required(VERSION 3.16...4.1.0)
44
project(libndofdev)
55

66
add_subdirectory(src)

src/CMakeLists.txt

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,12 @@ set(libndofdev_SOURCE_FILES
66
ndofdev.c
77
)
88

9+
set(libndofdev_HEADER_FILES
10+
ndofdev_external.h
11+
)
12+
913
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
10-
set(libndofdev_HEADER_FILES
14+
list(APPEND libndofdev_HEADER_FILES
1115
ndofdev_hidutils.h
1216
ndofdev_hidutils_err.h
1317
ndofdev_internal_osx.h
@@ -27,15 +31,32 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
2731
${CORE_SERVICES_FRAMEWORK}
2832
)
2933
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
30-
message(FATAL_ERROR "Windows configuration not implemented.")
34+
list(APPEND libndofdev_HEADER_FILES
35+
ndofdev_internal_win.h
36+
)
37+
list(APPEND libndofdev_SOURCE_FILES
38+
ndofdev_win.cpp
39+
)
40+
41+
set(libndofdev_LIBRARIES
42+
dinput8
43+
)
3144
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
3245
message(FATAL_ERROR "Linux configuration not implemented.")
3346
endif()
3447

3548
set_source_files_properties(${libndofdev_HEADER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE)
3649
list(APPEND libndofdev_SOURCE_FILES ${libndofdev_HEADER_FILES})
3750

38-
add_library (ndofdev SHARED ${libndofdev_SOURCE_FILES})
51+
add_library (ndofdev ${libndofdev_SOURCE_FILES})
3952
target_link_libraries(ndofdev
4053
${libndofdev_LIBRARIES}
4154
)
55+
56+
set_target_properties(ndofdev PROPERTIES PUBLIC_HEADER ndofdev_external.h)
57+
58+
install(TARGETS ndofdev EXPORT ndofdevTargets
59+
RUNTIME DESTINATION bin
60+
ARCHIVE DESTINATION lib
61+
PUBLIC_HEADER DESTINATION include
62+
)

0 commit comments

Comments
 (0)