ItsDrike
529753b078
This makes cmake export the qmlls.ini settings for qmlls (lang server), which makes it aware of the C++ components used in the project. By default, qmlls wasn't able to find these as they lived in a separate build dir which it didn't know about. Additionally, this also enables exporting compile commands to provide better support for other editors that rely on these. Note that the compile_commands.json will still only be exported into the build dir though, so to make use of this, you'll probably want to symlink this from the build dir.
58 lines
1.4 KiB
CMake
58 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
|
|
project(Solitare VERSION 0.1 LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
set(QT_QML_GENERATE_QMLLS_INI ON)
|
|
|
|
find_package(Qt6 6.5 REQUIRED COMPONENTS Quick)
|
|
qt_standard_project_setup(REQUIRES 6.5)
|
|
|
|
set(CMAKE_AUTORCC ON)
|
|
|
|
qt_add_executable(appSolitare
|
|
main.cpp
|
|
images.qrc
|
|
)
|
|
|
|
qt_add_qml_module(appSolitare
|
|
URI Solitare
|
|
VERSION 1.0
|
|
QML_FILES
|
|
qml/Main.qml
|
|
qml/CardModel.qml
|
|
qml/DrawPile.qml
|
|
qml/FoundationPiles.qml
|
|
qml/ScoreBar.qml
|
|
qml/Tableau.qml
|
|
qml/ThrowawayPile.qml
|
|
SOURCES
|
|
playingcard.h playingcard.cpp
|
|
gamestate.h gamestate.cpp
|
|
columnslot.h columnslot.cpp
|
|
)
|
|
|
|
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
|
|
# If you are developing for iOS or macOS you should consider setting an
|
|
# explicit, fixed bundle identifier manually though.
|
|
set_target_properties(appSolitare PROPERTIES
|
|
# MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appSolitare
|
|
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
|
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
|
MACOSX_BUNDLE TRUE
|
|
WIN32_EXECUTABLE TRUE
|
|
)
|
|
|
|
target_link_libraries(appSolitare
|
|
PRIVATE Qt6::Quick
|
|
)
|
|
|
|
include(GNUInstallDirs)
|
|
install(TARGETS appSolitare
|
|
BUNDLE DESTINATION .
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
)
|