Skip to content

Commit 23b8f25

Browse files
committed
Add nwserver.lib generation.
1 parent 7585d31 commit 23b8f25

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

Core/CMakeLists.txt

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,22 @@ target_compile_definitions(Core PRIVATE "-DPLUGIN_NAME=\"${PLUGIN_PREFIX}Core\""
88
target_link_libraries(Core NWNXLib)
99

1010
if(MSVC)
11-
set_target_properties(Core PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
12-
set_target_properties(Core PROPERTIES BUILD_SHARED_LIBS TRUE)
13-
set_target_properties(Core PROPERTIES ENABLE_EXPORTS TRUE)
14-
target_link_libraries(Core ${CMAKE_CURRENT_SOURCE_DIR}/nwserver.lib)
11+
file(DOWNLOAD https://nwn.beamdog.net/downloads/nwnee-dedicated-8193.35-40.zip nwserver.zip)
12+
file(ARCHIVE_EXTRACT INPUT nwserver.zip DESTINATION "." PATTERNS "bin/win32/nwserver.exe")
13+
14+
add_custom_command(
15+
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/nwserver.lib"
16+
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/create_lib.bat
17+
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/create_lib.bat ARGS "bin/win32/nwserver.exe"
18+
)
19+
20+
add_custom_target(NWServerLib DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/nwserver.lib")
21+
22+
add_dependencies(Core NWServerLib)
23+
set_target_properties(Core PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
24+
set_target_properties(Core PROPERTIES BUILD_SHARED_LIBS TRUE)
25+
set_target_properties(Core PROPERTIES ENABLE_EXPORTS TRUE)
26+
target_link_libraries(Core "${CMAKE_CURRENT_BINARY_DIR}/nwserver.lib")
1527
endif ()
1628

1729
# The name defined here will be ignored when loading plugins.

Core/create_lib.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@echo off
22

3-
dumpbin /exports nwserver.exe > nwserver.exports
3+
dumpbin /exports %1 > nwserver.exports
44

55
echo LIBRARY nwserver.exe > nwserver.def
66
echo EXPORTS >> nwserver.def

0 commit comments

Comments
 (0)