Skip to content

Commit

Permalink
CMakeLists.txt: use target_sources(); add *.h files
Browse files Browse the repository at this point in the history
  • Loading branch information
KitsuneRal committed Nov 7, 2024
1 parent 63bc6fe commit be43632
Showing 1 changed file with 36 additions and 35 deletions.
71 changes: 36 additions & 35 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -142,35 +142,39 @@ else ()
endif ()
message(STATUS)

# Windows, this is a GUI executable; OSX, make a bundle
add_executable(${PROJECT_NAME} WIN32 MACOSX_BUNDLE)

# Set up source files
set(quaternion_SRCS
client/quaternionroom.cpp
client/htmlfilter.cpp
client/thumbnailprovider.cpp
client/activitydetector.cpp
client/dialog.cpp
client/logindialog.cpp
client/networkconfigdialog.cpp
client/roomdialogs.cpp
client/dockmodemenu.cpp
client/mainwindow.cpp
client/roomlistdock.cpp
client/userlistdock.cpp
client/accountselector.cpp
client/kchatedit.cpp
client/chatedit.cpp
client/timelinewidget.cpp
client/chatroomwidget.cpp
client/systemtrayicon.cpp
client/profiledialog.cpp
client/models/messageeventmodel.cpp
client/models/userlistmodel.cpp
client/models/roomlistmodel.cpp
client/models/abstractroomordering.cpp
client/models/orderbytag.cpp
target_sources(${PROJECT_NAME} PRIVATE
client/quaternionroom.cpp client/quaternionroom.h
client/htmlfilter.cpp client/htmlfilter.h
client/thumbnailprovider.cpp client/thumbnailprovider.h
client/activitydetector.cpp client/activitydetector.h
client/dialog.cpp client/dialog.h
client/logindialog.cpp client/logindialog.h
client/networkconfigdialog.cpp client/networkconfigdialog.h
client/roomdialogs.cpp client/roomdialogs.h
client/dockmodemenu.cpp client/dockmodemenu.h
client/mainwindow.cpp client/mainwindow.h
client/roomlistdock.cpp client/roomlistdock.h
client/userlistdock.cpp client/userlistdock.h
client/accountselector.cpp client/accountselector.h
client/kchatedit.cpp client/kchatedit.h
client/chatedit.cpp client/chatedit.h
client/timelinewidget.cpp client/timelinewidget.h
client/chatroomwidget.cpp client/chatroomwidget.h
client/systemtrayicon.cpp client/systemtrayicon.h
client/profiledialog.cpp client/profiledialog.h
client/models/messageeventmodel.cpp client/models/messageeventmodel.h
client/models/userlistmodel.cpp client/models/userlistmodel.h
client/models/roomlistmodel.cpp client/models/roomlistmodel.h
client/models/abstractroomordering.cpp client/models/abstractroomordering.h
client/models/orderbytag.cpp client/models/orderbytag.h
client/desktop_integration.h client/logging_categories.h
client/main.cpp
client/resources.qrc
)
)

# quaternion_en.ts is updated explicitly by building trbase target,
# while all other translation files are created and updated externally at
Expand All @@ -180,20 +184,21 @@ QT_CREATE_TRANSLATION(quaternion_QM ${quaternion_en_TS}
client/ client/qml/ OPTIONS -no-obsolete)
add_custom_target(trbase DEPENDS ${quaternion_en_TS})

set(quaternion_TS
QT_ADD_TRANSLATION(quaternion_QM
client/translations/quaternion_en_GB.ts
client/translations/quaternion_de.ts
client/translations/quaternion_pl.ts
client/translations/quaternion_ru.ts
client/translations/quaternion_es.ts
)
QT_ADD_TRANSLATION(quaternion_QM ${quaternion_TS})
)
target_sources(${PROJECT_NAME} PRIVATE ${quaternion_QM})

if(WIN32)
set(quaternion_WINRC quaternion_win32.rc)
set_property(SOURCE quaternion_win32.rc APPEND PROPERTY
set_property(SOURCE ${quaternion_WINRC} APPEND PROPERTY
OBJECT_DEPENDS ${PROJECT_SOURCE_DIR}/icons/quaternion.ico
)
target_sources(${PROJECT_NAME} PRIVATE ${quaternion_WINRC})
endif()

if(APPLE)
Expand All @@ -212,13 +217,9 @@ if(APPLE)
set(MACOSX_BUNDLE_ICON_FILE ${ICON_NAME})
set_property(SOURCE "${${PROJECT_NAME}_MAC_ICON}" PROPERTY
MACOSX_PACKAGE_LOCATION Resources)
target_sources(${PROJECT_NAME} PRIVATE ${${PROJECT_NAME}_MAC_ICON})
endif(APPLE)

# Windows, this is a GUI executable; OSX, make a bundle
add_executable(${PROJECT_NAME} WIN32 MACOSX_BUNDLE
${quaternion_SRCS} ${quaternion_QM}
${quaternion_WINRC} ${${PROJECT_NAME}_MAC_ICON})

target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_23)

target_compile_definitions(${PROJECT_NAME} PRIVATE
Expand Down

0 comments on commit be43632

Please sign in to comment.