forked from qt-creator/qt-creator
CMakePM: Detect C/C++ object extension for single source build
When using CMake package manager auto-setup the CMAKE_C| XX_OUTPUT_EXTENSION is stored in the CMake cache. This way CMake project manager can know about the correct extension when building a single source file. If CMAKE_C|XX_OUTPUT_EXTENSION is not found in cache it will only use ".obj" for Clang-Cl/MSVC/MinGW toolchains. Task-number: QTCREATORBUG-27471 Change-Id: Ib9b75608d5a6834014150c57f3098f79284d8276 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -16,6 +16,12 @@ if (QT_CREATOR_SKIP_PACKAGE_MANAGER_SETUP)
|
||||
endif()
|
||||
option(QT_CREATOR_SKIP_PACKAGE_MANAGER_SETUP "Skip Qt Creator's package manager auto-setup" OFF)
|
||||
|
||||
# Store the C/C++ object output extension
|
||||
if (CMAKE_VERSION GREATER_EQUAL "3.19")
|
||||
cmake_language(DEFER CALL set CMAKE_C_OUTPUT_EXTENSION "${CMAKE_C_OUTPUT_EXTENSION}" CACHE STRING "" FORCE)
|
||||
cmake_language(DEFER CALL set CMAKE_CXX_OUTPUT_EXTENSION "${CMAKE_CXX_OUTPUT_EXTENSION}" CACHE STRING "" FORCE)
|
||||
endif()
|
||||
|
||||
macro(qtc_auto_setup_compiler_standard toolchainFile)
|
||||
foreach(lang_var C CXX CUDA OBJC OBJCXX)
|
||||
foreach(prop_var STANDARD STANDARD_REQUIRED EXTENSIONS)
|
||||
|
||||
Reference in New Issue
Block a user