set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) add_executable(${TG_APP} src/main.cpp src/wnd_main.cpp src/wnd_main.h src/resource.cpp src/resource.h src/wnd_resource.cpp src/wnd_resource.h src/wnd_inspector.cpp src/wnd_inspector.h src/wnd_hierachy.cpp src/wnd_hierachy.h src/wnd_debug.cpp src/wnd_debug.h src/states.h src/states.cpp src/wgt_listitem.cpp src/wgt_listitem.h src/wnd_create_mat.cpp src/wnd_create_mat.h src/wgt_prop_input.cpp src/wgt_prop_input.h src/wnd_add_tex.cpp src/wnd_add_tex.h ) set(INC_QTLIB Qt::Core Qt::Gui Qt::Widgets ) target_link_libraries(${TG_APP} PUBLIC ${INC_QTLIB} ${TG_RENDER} ${TG_CORE} ${TG_ZASSIMP} ${TG_TOOL} ole32 windowscodecs ) set_target_properties(${TG_APP} PROPERTIES WIN32_EXECUTABLE FALSE ) # 拷贝 assets 目录 add_custom_command(TARGET ${TG_APP} POST_BUILD COMMAND "${CMAKE_COMMAND}" "-DSRC_DIR=${CMAKE_SOURCE_DIR}/assets" "-DDST_DIR=$/assets" -P "${CMAKE_SOURCE_DIR}/cmake/copy_assets_to_output.cmake" COMMENT "Copying assets..." VERBATIM ) # 拷贝 assimp相关依赖 add_custom_command(TARGET ${TG_APP} POST_BUILD COMMAND "${CMAKE_COMMAND}" -E copy_if_different "$" "$" ) # 拷贝 QT相关依赖 #if (WIN32 AND NOT DEFINED CMAKE_TOOLCHAIN_FILE) if (WIN32) set(DEBUG_SUFFIX) if (MSVC AND CMAKE_BUILD_TYPE MATCHES "Debug") set(DEBUG_SUFFIX "d") endif () set(QT_INSTALL_PATH "${PATH_QT}") if (NOT EXISTS "${QT_INSTALL_PATH}/bin") set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..") if (NOT EXISTS "${QT_INSTALL_PATH}/bin") set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..") endif () endif () if (EXISTS "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll") add_custom_command(TARGET ${TG_APP} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "$/plugins/platforms/") add_custom_command(TARGET ${TG_APP} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll" "$/plugins/platforms/") endif () foreach (QTLIB ${INC_QTLIB}) string(REPLACE "Qt::" "" VAR ${QTLIB}) list(APPEND _INC_QTLIB ${VAR}) endforeach (QTLIB) foreach (QT_LIB ${_INC_QTLIB}) add_custom_command(TARGET ${TG_APP} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${QT_INSTALL_PATH}/bin/Qt6${QT_LIB}${DEBUG_SUFFIX}.dll" "$") endforeach (QT_LIB) endif ()