@@ -325,6 +325,7 @@ add_subdirectory(libultraship ${CMAKE_CURRENT_SOURCE_DIR}/libultraship)
325325add_dependencies (${PROJECT_NAME } libultraship )
326326target_link_libraries (${PROJECT_NAME } PRIVATE "$<LINK_LIBRARY :WHOLE_ARCHIVE ,libultraship >" )
327327set_target_properties (${PROJECT_NAME } PROPERTIES ENABLE_EXPORTS TRUE )
328+ set_target_properties (${PROJECT_NAME } PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE )
328329
329330if (${CMAKE_SYSTEM_NAME } STREQUAL "iOS" )
330331 get_property (IOS_TOOLCHAIN_FILE GLOBAL PROPERTY IOS_TOOLCHAIN_FILE)
@@ -613,6 +614,30 @@ add_custom_command(
613614 COMMAND ${CMAKE_COMMAND } -E copy_directory "${CMAKE_SOURCE_DIR } /assets/" "$<TARGET_FILE_DIR :Ghostship >/assets/"
614615)
615616
617+ if (MSVC )
618+ add_custom_command (
619+ TARGET ${PROJECT_NAME } POST_BUILD
620+ COMMENT "Packaging all generated .lib files into Ghostship.sdk..."
621+ COMMAND cmd /c "lib.exe /NOLOGO /OUT:\" $<TARGET_FILE_DIR :Ghostship >/Ghostship.sdk\" \" $<TARGET_FILE_DIR :Ghostship >/*.lib\" "
622+ )
623+ add_custom_command (
624+ TARGET ${PROJECT_NAME } POST_BUILD
625+ COMMENT "Copying libtcc headers and libs..."
626+ COMMAND ${CMAKE_COMMAND } -E make_directory "$<TARGET_FILE_DIR :Ghostship >/.tcc/lib/"
627+ COMMAND ${CMAKE_COMMAND } -E make_directory "$<TARGET_FILE_DIR :Ghostship >/.tcc/include/"
628+ COMMAND ${CMAKE_COMMAND } -E copy_directory "${CMAKE_BINARY_DIR } /_deps/tinycc-src/include/" "$<TARGET_FILE_DIR :Ghostship >/.tcc/include/"
629+ COMMAND ${CMAKE_COMMAND } -E copy_directory "${CMAKE_BINARY_DIR } /_deps/tinycc-src/win32/include/" "$<TARGET_FILE_DIR :Ghostship >/.tcc/include/"
630+ COMMAND ${CMAKE_COMMAND } -E copy "${CMAKE_BINARY_DIR } /_deps/tinycc-src/win32/lib/libtcc1.a" "$<TARGET_FILE_DIR :Ghostship >/.tcc/lib/"
631+ VERBATIM
632+ )
633+ add_custom_command (
634+ TARGET ${PROJECT_NAME } POST_BUILD
635+ COMMENT "Generating .def file..."
636+ COMMAND "${CMAKE_BINARY_DIR } /_deps/tinycc-src/win32/tcc.exe" -impdef "$<TARGET_FILE :Ghostship >" -o "$<TARGET_FILE_DIR :Ghostship >/.tcc/lib/Ghostship.def"
637+ VERBATIM
638+ )
639+ endif ()
640+
616641if (NOT CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch" )
617642include (ExternalProject )
618643ExternalProject_Add (TorchExternal
0 commit comments