aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmake/QbsAPI.cmake14
-rw-r--r--share/CMakeLists.txt8
2 files changed, 18 insertions, 4 deletions
diff --git a/cmake/QbsAPI.cmake b/cmake/QbsAPI.cmake
index 26e658374..d8847e683 100644
--- a/cmake/QbsAPI.cmake
+++ b/cmake/QbsAPI.cmake
@@ -12,6 +12,7 @@ endif()
set(QBS_OUTPUT_PREFIX "" CACHE STRING "Qbs build output location relative to CMAKE_BINARY_DIR.")
set(QBS_APP_INSTALL_DIR "bin" CACHE STRING "Relative install location for Qbs binaries.")
set(QBS_LIB_INSTALL_DIR "${_DEFAULT_LIB_INSTALL_DIR}" CACHE STRING "Relative install location for Qbs libraries.")
+set(QBS_DLL_INSTALL_DIR "${QBS_LIB_INSTALL_DIR}" CACHE STRING "Relative install location for Qbs DLLs.")
set(QBS_LIBEXEC_INSTALL_DIR "${_DEFAULT_LIBEXEC_INSTALL_DIR}" CACHE STRING "Relative install location for Qbs libexec.")
set(QBS_PLUGINS_INSTALL_BASE "${QBS_LIBDIR_NAME}" CACHE STRING "Relative install location for Qbs plugins.")
set(QBS_RESOURCES_INSTALL_BASE "." CACHE STRING "Relative install location for Qbs resources.")
@@ -135,15 +136,19 @@ function(add_qbs_library target_name)
target_link_libraries(${target_name} PRIVATE ${_arg_DEPENDS} PUBLIC ${_arg_PUBLIC_DEPENDS})
set_target_properties(${target_name} PROPERTIES
+ ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${QBS_OUTPUT_PREFIX}${QBS_LIB_INSTALL_DIR}
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${QBS_OUTPUT_PREFIX}${QBS_LIB_INSTALL_DIR}
- RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${QBS_OUTPUT_PREFIX}${QBS_LIB_INSTALL_DIR}
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${QBS_OUTPUT_PREFIX}${QBS_DLL_INSTALL_DIR}
BUILD_RPATH "${QBS_LIB_RPATH}"
INSTALL_RPATH "${QBS_LIB_RPATH}"
SOVERSION ${_SOVERSION}
VERSION ${QBS_VERSION}
)
if (NOT _arg_STATIC)
- install(TARGETS ${target_name} LIBRARY DESTINATION ${QBS_LIB_INSTALL_DIR})
+ install(TARGETS ${target_name}
+ LIBRARY DESTINATION ${QBS_LIB_INSTALL_DIR}
+ RUNTIME DESTINATION ${QBS_DLL_INSTALL_DIR}
+ )
endif()
endfunction()
@@ -172,7 +177,10 @@ function(add_qbs_plugin target_name)
BUILD_RPATH "${QBS_PLUGINS_RPATH}"
INSTALL_RPATH "${QBS_PLUGINS_RPATH}"
)
- install(TARGETS ${target_name} LIBRARY DESTINATION ${QBS_PLUGINS_INSTALL_DIR})
+ install(TARGETS ${target_name}
+ LIBRARY DESTINATION ${QBS_PLUGINS_INSTALL_DIR}
+ RUNTIME DESTINATION ${QBS_PLUGINS_INSTALL_DIR}
+ )
endfunction()
function(add_qbs_test test_name)
diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt
index 8f53804fd..bfc657b6f 100644
--- a/share/CMakeLists.txt
+++ b/share/CMakeLists.txt
@@ -33,7 +33,13 @@ install(
)
if(WIN32)
- set(UPDATE_PATH_COMMAND set "PATH=${QT_QMAKE_EXECUTABLE}/..\;%PATH%")
+ get_target_property(_QTCORE_LIBRARY Qt5::Core IMPORTED_LOCATION_RELEASE)
+ if(NOT _QTCORE_LIBRARY)
+ get_target_property(_QTCORE_LIBRARY Qt5::Core IMPORTED_LOCATION_DEBUG)
+ endif()
+ get_filename_component(_QT_LIBRARY_PATH "${_QTCORE_LIBRARY}" DIRECTORY)
+ get_target_property(_QBS_LIBRARY_PATH qbscore LIBRARY_OUTPUT_DIRECTORY)
+ set(UPDATE_PATH_COMMAND set "PATH=${_QT_LIBRARY_PATH}\;${_QBS_LIBRARY_PATH}\;%PATH%")
else()
set(UPDATE_PATH_COMMAND "")
endif()