-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
73 lines (59 loc) · 2.12 KB
/
Copy pathCMakeLists.txt
File metadata and controls
73 lines (59 loc) · 2.12 KB
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
cmake_minimum_required(VERSION 3.21)
project(FileFlattener CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
add_subdirectory(core)
add_executable(FileFlattenerCLI
app/main_cli.cpp
)
target_link_libraries(FileFlattenerCLI PRIVATE FileFlattenerCore)
find_package(Qt6 REQUIRED COMPONENTS Widgets)
add_executable(FileFlattenerApp
app/resources/app.rc
app/main_gui.cpp
app/MainWindow.cpp
app/include/MainWindow.h
app/dialogs/PreviewDialog.cpp
app/include/PreviewDialog.h
app/FlattenWorker.cpp
app/include/FlattenWorker.h
app/GraphView.cpp
app/include/GraphView.h
app/CodeGraphView.cpp
app/include/CodeGraphView.h
app/CodeAnalysisWorker.cpp
app/include/CodeAnalysisWorker.h
app/CallGraphWorker.cpp
app/include/CallGraphWorker.h
app/CallGraphView.cpp
app/include/CallGraphView.h
)
target_include_directories(FileFlattenerApp PRIVATE app/include)
target_link_libraries(FileFlattenerApp PRIVATE FileFlattenerCore Qt6::Widgets)
set_target_properties(FileFlattenerApp PROPERTIES
WIN32_EXECUTABLE TRUE
LINK_FLAGS "/MANIFEST:NO"
)
add_custom_command(TARGET FileFlattenerApp POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_SOURCE_DIR}/app/resources/app_icon.ico"
"$<TARGET_FILE_DIR:FileFlattenerApp>/app_icon.ico"
COMMENT "Copying app icon next to exe"
)
find_program(WINDEPLOYQT_EXE windeployqt HINTS "C:/Qt/6.11.1/msvc2022_64/bin")
if(WINDEPLOYQT_EXE)
add_custom_command(TARGET FileFlattenerApp POST_BUILD
COMMAND ${WINDEPLOYQT_EXE} --compiler-runtime $<TARGET_FILE:FileFlattenerApp>
COMMENT "Deploying Qt dependencies"
)
endif()
set(VC_REDIST_CRT_DIR "C:/Program Files/Microsoft Visual Studio/18/Community/VC/Redist/MSVC/14.51.36231/x64/Microsoft.VC145.CRT")
if(EXISTS "${VC_REDIST_CRT_DIR}")
add_custom_command(TARGET FileFlattenerApp POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${VC_REDIST_CRT_DIR}"
"$<TARGET_FILE_DIR:FileFlattenerApp>"
COMMENT "Copying VC++ runtime DLLs for MSIX self-containment"
)
endif()