File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -230,6 +230,48 @@ if(CMAKE_SIZEOF_VOID_P EQUAL 4)
230230 target_compile_options (framework_d3d9 PRIVATE /utf-8 /FS )
231231 endif ()
232232
233+ # --- Skyrim Framework ---
234+ add_library (framework_skyrim STATIC
235+ ${SHARED_SOURCES}
236+ d3d9/framework.cpp
237+ d3d9/d3d9_proxy.cpp
238+ d3d9/d3d9_proxy_d3d9.cpp
239+ d3d9/d3d9_proxy_device.cpp
240+ d3d9/d3d9_proxy_surface.cpp
241+ d3d9/d3d9_proxy_swapchain.cpp
242+ d3d9/dx_overlay.cpp
243+ ${PROJECT_SOURCE_DIR} /external/imgui/backends/imgui_impl_dx9.cpp
244+ )
245+
246+ set_target_properties (framework_skyrim PROPERTIES OUTPUT_NAME "framework_skyrim" )
247+
248+ target_compile_definitions (framework_skyrim PRIVATE
249+ FRAMEWORK_EXPORTS
250+ GamePlug_INTERNAL_LOGGER
251+ )
252+ target_include_directories (framework_skyrim PUBLIC
253+ ${PROJECT_SOURCE_DIR} /include
254+ ${PROJECT_SOURCE_DIR} /src/d3d9
255+ ${PROJECT_SOURCE_DIR} /src/shared
256+ ${PROJECT_SOURCE_DIR} /external/spdlog/include
257+ ${PROJECT_SOURCE_DIR} /external/imgui
258+ ${PROJECT_SOURCE_DIR} /external/imgui/backends
259+ ${PROJECT_SOURCE_DIR} /external/minhook/include
260+ )
261+ target_compile_definitions (framework_skyrim PUBLIC
262+ "IMGUI_USER_CONFIG=\" GAMEPLUG_imgui_config.h\" "
263+ )
264+ target_link_libraries (framework_skyrim PUBLIC
265+ minhook
266+ d3d9
267+ d3dcompiler
268+ dxguid
269+ )
270+
271+ if (MSVC )
272+ target_compile_options (framework_skyrim PRIVATE /utf-8 /FS )
273+ endif ()
274+
233275 add_subdirectory (d3d9 )
234276endif ()
235277
Original file line number Diff line number Diff line change @@ -54,3 +54,47 @@ if(BIN_OUTPUT_DIR)
5454 COMMENT "Copying D3D9 proxy to d3d9/dinput8.dll"
5555 )
5656endif ()
57+
58+ # --- Skyrim Specific Target ---
59+ add_library (dinput8_skyrim SHARED
60+ d3d9.cpp
61+ d3d9.def
62+ )
63+
64+ target_include_directories (dinput8_skyrim PRIVATE
65+ ${PROJECT_SOURCE_DIR} /include
66+ ${PROJECT_SOURCE_DIR} /src/d3d9
67+ ${PROJECT_SOURCE_DIR} /src/shared
68+ ${PROJECT_SOURCE_DIR} /external/imgui
69+ ${PROJECT_SOURCE_DIR} /external/imgui/backends
70+ )
71+
72+ if (MSVC )
73+ target_compile_options (dinput8_skyrim PRIVATE /utf-8 /FS )
74+ endif ()
75+
76+ target_link_libraries (dinput8_skyrim PRIVATE
77+ shlwapi
78+ framework_skyrim
79+ minhook
80+ d3d9
81+ d3dcompiler
82+ dxguid
83+ )
84+
85+ set_target_properties (dinput8_skyrim PROPERTIES
86+ PREFIX ""
87+ SUFFIX ".dll"
88+ OUTPUT_NAME "dinput8"
89+ )
90+
91+ # Deployment for Skyrim
92+ if (BIN_OUTPUT_DIR)
93+ add_custom_command (TARGET dinput8_skyrim POST_BUILD
94+ COMMAND ${CMAKE_COMMAND} -E make_directory "${BIN_OUTPUT_DIR} /d3d9_skyrim"
95+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
96+ "$<TARGET_FILE :dinput8_skyrim >"
97+ "${BIN_OUTPUT_DIR} /d3d9_skyrim/dinput8.dll"
98+ COMMENT "Copying Skyrim D3D9 proxy to d3d9_skyrim/dinput8.dll"
99+ )
100+ endif ()
You can’t perform that action at this time.
0 commit comments