diff options
author | Eike Ziller <eike.ziller@qt.io> | 2021-05-10 13:54:19 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2021-05-20 10:03:11 +0000 |
commit | 759e15dbb4d3262e174d0d5ef15db355e2b18878 (patch) | |
tree | c20a9a52589336709c576a0d945305884f49e419 | |
parent | 2c8a9a67610c38e86ca0c2b59b3fa7a3834915ca (diff) |
CMake build: put .lib files next to .dll files for libraries
- there is no reason for putting them elsewhere
- since CMake file-api only reports the .lib location for linked
libraries, Qt Creator has difficulties with adding the correct
PATH for running e.g. manual tests, when the .lib files are at
an arbitrary location
Fixes: QTCREATORBUG-25684
Change-Id: I24b26a79c70fd5384f534f8f0b66b51fca1ecc56
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
-rw-r--r-- | cmake/QtCreatorAPI.cmake | 5 | ||||
-rw-r--r-- | cmake/QtCreatorAPIInternal.cmake | 3 | ||||
-rw-r--r-- | qtcreator.pri | 2 | ||||
-rw-r--r-- | src/libs/CMakeLists.txt | 3 | ||||
m--------- | src/libs/qlitehtml | 0 |
5 files changed, 10 insertions, 3 deletions
diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index 4c2b612af1e..9198f0b234d 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -13,6 +13,7 @@ set(IDE_APP_TARGET "${_IDE_APP_TARGET}") # The IDE application na set(IDE_PLUGIN_PATH "${_IDE_PLUGIN_PATH}") # The IDE plugin path (relative to CMAKE_INSTALL_PREFIX). set(IDE_LIBRARY_BASE_PATH "${_IDE_LIBRARY_BASE_PATH}") # The IDE library base path (relative to CMAKE_INSTALL_PREFIX). set(IDE_LIBRARY_PATH "${_IDE_LIBRARY_PATH}") # The IDE library path (relative to CMAKE_INSTALL_PREFIX). +set(IDE_LIBRARY_ARCHIVE_PATH "${_IDE_LIBRARY_ARCHIVE_PATH}") # The IDE library archive path (relative to CMAKE_INSTALL_PREFIX). set(IDE_LIBEXEC_PATH "${_IDE_LIBEXEC_PATH}") # The IDE libexec path (relative to CMAKE_INSTALL_PREFIX). set(IDE_DATA_PATH "${_IDE_DATA_PATH}") # The IDE data path (relative to CMAKE_INSTALL_PREFIX). set(IDE_DOC_PATH "${_IDE_DOC_PATH}") # The IDE documentation path (relative to CMAKE_INSTALL_PREFIX). @@ -249,7 +250,7 @@ function(add_qtc_library name) INSTALL_RPATH "${_LIB_RPATH}" RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${_DESTINATION}" LIBRARY_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_PATH}" - ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_PATH}" + ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_ARCHIVE_PATH}" ${_arg_PROPERTIES} ) enable_pch(${name}) @@ -289,7 +290,7 @@ function(add_qtc_library name) DESTINATION "${IDE_LIBRARY_PATH}" COMPONENT Devel EXCLUDE_FROM_ALL ARCHIVE - DESTINATION "${IDE_LIBRARY_PATH}" + DESTINATION "${IDE_LIBRARY_ARCHIVE_PATH}" COMPONENT Devel EXCLUDE_FROM_ALL OPTIONAL ) diff --git a/cmake/QtCreatorAPIInternal.cmake b/cmake/QtCreatorAPIInternal.cmake index 549f05a9448..4c32dca5090 100644 --- a/cmake/QtCreatorAPIInternal.cmake +++ b/cmake/QtCreatorAPIInternal.cmake @@ -46,6 +46,7 @@ if (APPLE) set(_IDE_DATA_PATH "${_IDE_OUTPUT_PATH}/Resources") set(_IDE_DOC_PATH "${_IDE_OUTPUT_PATH}/Resources/doc") set(_IDE_BIN_PATH "${_IDE_OUTPUT_PATH}/MacOS") + set(_IDE_LIBRARY_ARCHIVE_PATH "${_IDE_LIBRARY_PATH}") set(_IDE_HEADER_INSTALL_PATH "${_IDE_DATA_PATH}/Headers/qtcreator") set(_IDE_CMAKE_INSTALL_PATH "${_IDE_DATA_PATH}/lib/cmake") @@ -60,6 +61,7 @@ elseif(WIN32) set(_IDE_DATA_PATH "share/qtcreator") set(_IDE_DOC_PATH "share/doc/qtcreator") set(_IDE_BIN_PATH "bin") + set(_IDE_LIBRARY_ARCHIVE_PATH "${_IDE_BIN_PATH}") set(_IDE_HEADER_INSTALL_PATH "include/qtcreator") set(_IDE_CMAKE_INSTALL_PATH "lib/cmake") @@ -75,6 +77,7 @@ else () set(_IDE_DATA_PATH "${CMAKE_INSTALL_DATAROOTDIR}/qtcreator") set(_IDE_DOC_PATH "${CMAKE_INSTALL_DATAROOTDIR}/doc/qtcreator") set(_IDE_BIN_PATH "${CMAKE_INSTALL_BINDIR}") + set(_IDE_LIBRARY_ARCHIVE_PATH "${_IDE_LIBRARY_PATH}") set(_IDE_HEADER_INSTALL_PATH "include/qtcreator") set(_IDE_CMAKE_INSTALL_PATH "lib/cmake") diff --git a/qtcreator.pri b/qtcreator.pri index 584e3970d0d..a03d88ad310 100644 --- a/qtcreator.pri +++ b/qtcreator.pri @@ -193,6 +193,8 @@ CONFIG += \ LIBS *= -L$$LINK_LIBRARY_PATH # Qt Creator libraries exists($$IDE_LIBRARY_PATH): LIBS *= -L$$IDE_LIBRARY_PATH # library path from output path +# linking against Qt Creator built with CMake +win32: LIBS *= -L$$IDE_BUILD_TREE/bin !isEmpty(vcproj) { DEFINES += IDE_LIBRARY_BASENAME=\"$$IDE_LIBRARY_BASENAME\" diff --git a/src/libs/CMakeLists.txt b/src/libs/CMakeLists.txt index 7907d8272af..920f1607dd5 100644 --- a/src/libs/CMakeLists.txt +++ b/src/libs/CMakeLists.txt @@ -25,6 +25,7 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/qlitehtml/src/CMakeLists.txt) if(BUILD_LIBRARY_QLITEHTML) set(QLITEHTML_BIN_PATH ${IDE_BIN_PATH}) set(QLITEHTML_LIBRARY_PATH ${IDE_LIBRARY_PATH}) + set(QLITEHTML_LIBRARY_ARCHIVE_PATH ${IDE_LIBRARY_ARCHIVE_PATH}) set(QLITEHTML_EXPORT QtCreator) set(QLITEHTML_DEVEL_COMPONENT Devel) set(QLITEHTML_DEVEL_EXCLUDE_FROM_ALL ON) @@ -42,7 +43,7 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/qlitehtml/src/CMakeLists.txt) INSTALL_RPATH "${_LIB_RPATH}" RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_BIN_PATH}" LIBRARY_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_PATH}" - ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_PATH}" + ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_ARCHIVE_PATH}" ) endif() endif() diff --git a/src/libs/qlitehtml b/src/libs/qlitehtml -Subproject b90c00274b47fa7d66f9889872506e7e898d08a +Subproject 44e15759b7400901bfdc6b69ffb1256c82cc169 |