@@ -4,30 +4,60 @@ set(CMAKE_CXX_STANDARD 17)
4
4
project (libnut)
5
5
6
6
# Source
7
- set (SOURCE_FILES "src/main.cc" "src/deadbeef_rand.c" "src/MMBitmap.c" )
7
+ set (SOURCE_FILES
8
+ src/main.cc
9
+ src/deadbeef_rand.c
10
+ src/MMBitmap.c
11
+ )
12
+
8
13
if (UNIX AND NOT APPLE )
9
- set (SOURCE_FILES "${SOURCE_FILES} " "src/linux/keycode.c" "src/linux/keypress.c" "src/linux/mouse.c" "src/linux/screen.c" "src/linux/screengrab.c" "src/linux/xdisplay.c" "src/linux/highlightwindow.c" "src/linux/window_manager.cc" )
14
+ list (APPEND SOURCE_FILES
15
+ src/linux/keycode.c
16
+ src/linux/keypress.c
17
+ src/linux/mouse.c
18
+ src/linux/screen.c
19
+ src/linux/screengrab.c
20
+ src/linux/xdisplay.c
21
+ src/linux/highlightwindow.c
22
+ src/linux/window_manager.cc
23
+ )
10
24
elseif (UNIX AND APPLE )
11
- set (SOURCE_FILES "${SOURCE_FILES} " "src/macos/keycode.c" "src/macos/keypress.c" "src/macos/mouse.c" "src/macos/mouse_utils.mm" "src/macos/screen.c" "src/macos/screengrab.c" "src/macos/highlightwindow.m" "src/macos/window_manager.mm" )
25
+ list (APPEND SOURCE_FILES
26
+ src/macos/keycode.c
27
+ src/macos/keypress.c
28
+ src/macos/mouse.c
29
+ src/macos/mouse_utils.mm
30
+ src/macos/screen.c
31
+ src/macos/screengrab.m
32
+ src/macos/highlightwindow.m
33
+ src/macos/window_manager.mm
34
+ )
12
35
elseif (WIN32 )
13
- set (SOURCE_FILES "${SOURCE_FILES} " "src/win32/keycode.c" "src/win32/keypress.c" "src/win32/mouse.c" "src/win32/screen.c" "src/win32/screengrab.c" "src/win32/highlightwindow.c" "src/win32/window_manager.cc" )
36
+ list (APPEND SOURCE_FILES
37
+ src/win32 /keycode.c
38
+ src/win32 /keypress.c
39
+ src/win32 /mouse.c
40
+ src/win32 /screen.c
41
+ src/win32 /screengrab.c
42
+ src/win32 /highlightwindow.c
43
+ src/win32 /window_manager.cc
44
+ )
14
45
endif ()
46
+
15
47
add_library (${PROJECT_NAME} SHARED ${SOURCE_FILES} ${CMAKE_JS_SRC} )
16
48
49
+ # External libs
17
50
set (LIBS "" )
18
51
set (INCLUDES "" )
19
52
20
- # External libs
21
53
if (UNIX AND APPLE )
22
54
message (STATUS "macOS build" )
23
- set (LIBS "${LIBS} " "-framework ApplicationServices" )
24
- set (LIBS "${LIBS} " "-framework Cocoa" )
55
+ list (APPEND LIBS "-framework ApplicationServices" "-framework Cocoa" )
25
56
elseif (WIN32 )
26
57
message (STATUS "Windows build" )
27
58
elseif (UNIX AND NOT APPLE )
28
59
message (STATUS "Linux build" )
29
- set (LIBS "${LIBS} " "-lX11" )
30
- set (LIBS "${LIBS} " "-lXtst" )
60
+ list (APPEND LIBS "-lX11" "-lXtst" )
31
61
endif ()
32
62
33
63
if (NOT "${CMAKE_CXX_COMPILER_ID} " STREQUAL "MSVC" )
@@ -39,27 +69,27 @@ else()
39
69
endif ()
40
70
41
71
if (WIN32 )
42
- # Copy runtime distributable
43
- add_custom_command (
44
- TARGET ${PROJECT_NAME} POST_BUILD
45
- COMMAND ${CMAKE_COMMAND} -E copy
46
- ${CMAKE_SOURCE_DIR} /3rdparty/win32 /msvcp140.dll
47
- ${CMAKE_SOURCE_DIR} /3rdparty/win32 /vcruntime140.dll
48
- ${CMAKE_SOURCE_DIR} /3rdparty/win32 /vcruntime140_1.dll
49
- ${CMAKE_SOURCE_DIR} /3rdparty/win32 /api-ms-win-crt-heap-l1-1-0.dll
50
- ${CMAKE_SOURCE_DIR} /3rdparty/win32 /api-ms-win-crt-runtime-l1-1-0.dll
51
- ${CMAKE_SOURCE_DIR} /3rdparty/win32 /api-ms-win-crt-string -l1-1-0.dll
52
- ${CMAKE_CURRENT_BINARY_DIR} /${CMAKE_BUILD_TYPE} /
53
- )
72
+ # Copy runtime distributable
73
+ add_custom_command (
74
+ TARGET ${PROJECT_NAME} POST_BUILD
75
+ COMMAND ${CMAKE_COMMAND} -E copy
76
+ ${CMAKE_SOURCE_DIR} /3rdparty/win32 /msvcp140.dll
77
+ ${CMAKE_SOURCE_DIR} /3rdparty/win32 /vcruntime140.dll
78
+ ${CMAKE_SOURCE_DIR} /3rdparty/win32 /vcruntime140_1.dll
79
+ ${CMAKE_SOURCE_DIR} /3rdparty/win32 /api-ms-win-crt-heap-l1-1-0.dll
80
+ ${CMAKE_SOURCE_DIR} /3rdparty/win32 /api-ms-win-crt-runtime-l1-1-0.dll
81
+ ${CMAKE_SOURCE_DIR} /3rdparty/win32 /api-ms-win-crt-string -l1-1-0.dll
82
+ ${CMAKE_CURRENT_BINARY_DIR} /${CMAKE_BUILD_TYPE} /
83
+ )
54
84
endif ()
55
85
56
86
add_compile_definitions (NAPI_CPP_EXCEPTIONS)
57
87
add_compile_definitions (NAPI_VERSION=3)
58
88
59
89
# cmake-js
60
- set (INCLUDES ${ INCLUDES} ${CMAKE_JS_INC} )
90
+ list ( APPEND INCLUDES ${CMAKE_JS_INC} )
61
91
message (STATUS "Includes: ${INCLUDES} " )
62
- set (LIBS ${ LIBS} ${CMAKE_JS_LIB} )
92
+ list ( APPEND LIBS ${CMAKE_JS_LIB} )
63
93
message (STATUS "Libs: ${LIBS} " )
64
94
65
95
# N-API
0 commit comments