Have plugin projects run ModORganizer.exe from install.

This commit is contained in:
Mikaël Capelle
2020-05-22 20:32:39 +02:00
parent 985d603687
commit fc6f4fbfba
+21 -1
View File
@@ -5,6 +5,26 @@ if(NOT DEFINED install_dir)
set(install_dir bin/plugins)
endif()
function(set_project_to_run_from_install)
set(vcxproj_user_file "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.vcxproj.user")
get_target_property(output_name ${PROJECT_NAME} OUTPUT_NAME)
if("${output_name}" STREQUAL "output_name-NOTFOUND")
set(output_name ${PROJECT_NAME})
endif()
if(NOT EXISTS ${vcxproj_user_file})
file(WRITE ${vcxproj_user_file}
"<?xml version=\"1.0\" encoding=\"utf-8\"?>
<Project ToolsVersion=\"Current\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">
<PropertyGroup>
<LocalDebuggerWorkingDirectory>${CMAKE_INSTALL_PREFIX}/bin</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerCommand>${CMAKE_INSTALL_PREFIX}/bin/ModOrganizer.exe</LocalDebuggerCommand>
</PropertyGroup>
</Project>")
endif()
endfunction()
macro(do_project)
do_cpp_project()
@@ -17,9 +37,9 @@ macro(do_src)
add_library(${PROJECT_NAME} SHARED ${input_files})
target_link_libraries(${PROJECT_NAME} uibase)
set_project_to_run_from_install()
cpp_post_target()
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${install_dir})
install(FILES $<TARGET_PDB_FILE:${PROJECT_NAME}> DESTINATION pdb)
endmacro()