diff --git a/Source/3rdParty/CMakeLists.txt b/Source/3rdParty/CMakeLists.txt index 0253f791f..9af0adefc 100644 --- a/Source/3rdParty/CMakeLists.txt +++ b/Source/3rdParty/CMakeLists.txt @@ -237,7 +237,7 @@ ExternalProject_Add(mupen64plus-video-rt64 BUILD_IN_SOURCE False BUILD_ALWAYS True - CMAKE_ARGS ${CMAKE_CONFIGURE_ARGS} + CMAKE_ARGS ${CMAKE_CONFIGURE_ARGS} -DRT64_BUILD_PLUGIN=ON BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/rt64 BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/rt64/rt64.${SO_EXT} diff --git a/Source/3rdParty/rt64/CMakeLists.txt b/Source/3rdParty/rt64/CMakeLists.txt index 71de48fd8..eda150d69 100644 --- a/Source/3rdParty/rt64/CMakeLists.txt +++ b/Source/3rdParty/rt64/CMakeLists.txt @@ -5,6 +5,8 @@ set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_POSITION_INDEPENDENT_CODE ON) +option(RT64_BUILD_PLUGIN "Build plugin version of RT64" OFF) + option(RT64_BUILD_EXAMPLES "Build examples for RT64" OFF) if (${RT64_BUILD_EXAMPLES}) set(RT64_STATIC ON) @@ -295,9 +297,6 @@ set (SOURCES "${PROJECT_SOURCE_DIR}/src/contrib/implot/implot.cpp" "${PROJECT_SOURCE_DIR}/src/contrib/implot/implot_demo.cpp" "${PROJECT_SOURCE_DIR}/src/contrib/implot/implot_items.cpp" - - "${PROJECT_SOURCE_DIR}/src/api/rt64_api_common.cpp" - "${PROJECT_SOURCE_DIR}/src/api/rt64_api_plugin.cpp" ) include_directories( @@ -333,7 +332,7 @@ set_target_properties(rt64 PROPERTIES PREFIX "") target_link_libraries(rt64 nfd) # Add any Windows-specific source files and libraries -if (WIN32) +if (NOT RT64_BUILD_PLUGIN AND WIN32) target_sources(rt64 PRIVATE "${PROJECT_SOURCE_DIR}/src/d3d12/rt64_d3d12.cpp" "${PROJECT_SOURCE_DIR}/src/contrib/imgui/backends/imgui_impl_dx12.cpp" @@ -347,13 +346,20 @@ if (WIN32) ${PROJECT_SOURCE_DIR}/src/contrib/dxc/lib/x64/dxcompiler.lib) endif() +if (RT64_BUILD_PLUGIN) + target_sources(rt64 PRIVATE + "${PROJECT_SOURCE_DIR}/src/api/rt64_api_common.cpp" + "${PROJECT_SOURCE_DIR}/src/api/rt64_api_plugin.cpp" + ) +endif(RT64_BUILD_PLUGIN) + target_link_directories(rt64 PRIVATE ${PROJECT_SOURCE_DIR}/src/contrib/dxc) if (NOT ANDROID) target_link_libraries(rt64 ${SDL2_LIBRARIES}) endif() -if (CMAKE_SYSTEM_NAME MATCHES "Linux") +if (NOT RT64_BUILD_PLUGIN AND CMAKE_SYSTEM_NAME MATCHES "Linux") find_package(X11 REQUIRED) target_include_directories(rt64 PUBLIC ${X11_INCLUDE_DIR} ${X11_Xrandr_INCLUDE_PATH}) target_link_libraries(rt64 ${X11_LIBRARIES} ${X11_Xrandr_LIB})