-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
116 lines (116 loc) · 2.79 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
cmake_minimum_required(VERSION 3.16)
project(Retr0Mine VERSION 1.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(QT_QML_GENERATE_QMLLS_INI ON)
set(CMAKE_DISABLE_FIND_PACKAGE_WrapVulkanHeaders TRUE)
find_package(Qt6 REQUIRED COMPONENTS
Core
Gui
Qml
Quick
Multimedia
QuickControls2
LinguistTools
)
qt_standard_project_setup(
REQUIRES 6.5
I18N_SOURCE_LANGUAGE en
I18N_TRANSLATED_LANGUAGES fr
)
qt_policy(SET QTP0004 NEW)
set(SOURCES
src/main.cpp
src/gametimer.cpp
src/gamecore.cpp
src/gamelogic.cpp
src/steamintegration.cpp
)
set(HEADERS
include/gametimer.h
include/gamecore.h
include/gamelogic.h
include/steamintegration.h
)
set(QML_FILES
qml/Cell.qml
qml/SettingsWindow.qml
qml/PostgamePopup.qml
qml/AboutPopup.qml
qml/LoadPopup.qml
qml/SavePopup.qml
qml/ErrorWindow.qml
qml/TopBar.qml
qml/LeaderboardPopup.qml
qml/TempScrollBar.qml
qml/WelcomePopup.qml
qml/Main.qml
qml/InfoIcon.qml
qml/GameGrid.qml
qml/GameAudio.qml
qml/GameView.qml
)
set(QML_SINGLETONS
qml/GameSettings.qml
qml/GameConstants.qml
qml/GameState.qml
qml/SaveManager.qml
)
set_source_files_properties(${QML_SINGLETONS}
PROPERTIES QT_QML_SINGLETON_TYPE TRUE
)
add_executable(${CMAKE_PROJECT_NAME}
${SOURCES}
${HEADERS}
resources/icons/icons.qrc
resources/images/images.qrc
resources/sounds/sounds.qrc
resources/fonts/fonts.qrc
resources/appicon.rc
)
qt_add_qml_module(${CMAKE_PROJECT_NAME}
URI net.odizinne.retr0mine
VERSION 1.0
QML_FILES ${QML_FILES} ${QML_SINGLETONS}
)
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include/steam
)
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE
Qt6::Core
Qt6::Gui
Qt6::Qml
Qt6::Quick
Qt6::Multimedia
Qt6::QuickControls2
)
qt_add_translations(${CMAKE_PROJECT_NAME}
TS_FILE_DIR "translations"
)
# TS_FILES
# translations/retr0mine_en.ts
# translations/retr0mine_fr.ts
# RESOURCE_PREFIX "/translations"
#)
#add_dependencies(${CMAKE_PROJECT_NAME} update_translations)
if(WIN32)
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE
*CRT*SECURE_NO_WARNINGS
)
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE
/wd4828
)
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/lib/steam/win64/steam_api64.lib
)
set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES
WIN32_EXECUTABLE TRUE
)
elseif(UNIX AND NOT APPLE)
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/lib/steam/linux64/libsteam_api.so
)
endif()