@@ -4,30 +4,60 @@ set(CMAKE_CXX_STANDARD 17)
44project (libnut)
55
66# 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+
813if (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+ )
1024elseif (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+ )
1235elseif (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+ )
1445endif ()
46+
1547add_library (${PROJECT_NAME} SHARED ${SOURCE_FILES} ${CMAKE_JS_SRC} )
1648
49+ # External libs
1750set (LIBS "" )
1851set (INCLUDES "" )
1952
20- # External libs
2153if (UNIX AND APPLE )
2254 message (STATUS "macOS build" )
23- set (LIBS "${LIBS} " "-framework ApplicationServices" )
24- set (LIBS "${LIBS} " "-framework Cocoa" )
55+ list (APPEND LIBS "-framework ApplicationServices" "-framework Cocoa" )
2556elseif (WIN32 )
2657 message (STATUS "Windows build" )
2758elseif (UNIX AND NOT APPLE )
2859 message (STATUS "Linux build" )
29- set (LIBS "${LIBS} " "-lX11" )
30- set (LIBS "${LIBS} " "-lXtst" )
60+ list (APPEND LIBS "-lX11" "-lXtst" )
3161endif ()
3262
3363if (NOT "${CMAKE_CXX_COMPILER_ID} " STREQUAL "MSVC" )
@@ -39,27 +69,27 @@ else()
3969endif ()
4070
4171if (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+ )
5484endif ()
5585
5686add_compile_definitions (NAPI_CPP_EXCEPTIONS)
5787add_compile_definitions (NAPI_VERSION=3)
5888
5989# cmake-js
60- set (INCLUDES ${ INCLUDES} ${CMAKE_JS_INC} )
90+ list ( APPEND INCLUDES ${CMAKE_JS_INC} )
6191message (STATUS "Includes: ${INCLUDES} " )
62- set (LIBS ${ LIBS} ${CMAKE_JS_LIB} )
92+ list ( APPEND LIBS ${CMAKE_JS_LIB} )
6393message (STATUS "Libs: ${LIBS} " )
6494
6595# N-API
0 commit comments