mirror of
https://github.com/Dark98/threeSD.git
synced 2026-07-03 00:38:58 +00:00
92 lines
2.8 KiB
CMake
92 lines
2.8 KiB
CMake
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTORCC ON)
|
|
set(CMAKE_AUTOUIC ON)
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
if (POLICY CMP0071)
|
|
cmake_policy(SET CMP0071 NEW)
|
|
endif()
|
|
|
|
file(GLOB_RECURSE THEMES ${PROJECT_SOURCE_DIR}/dist/themes/*)
|
|
|
|
add_executable(threeSD
|
|
helpers/dpi_aware_dialog.cpp
|
|
helpers/dpi_aware_dialog.h
|
|
helpers/frontend_common.cpp
|
|
helpers/frontend_common.h
|
|
helpers/multi_job.cpp
|
|
helpers/multi_job.h
|
|
helpers/rate_limited_progress_dialog.cpp
|
|
helpers/rate_limited_progress_dialog.h
|
|
helpers/simple_job.cpp
|
|
helpers/simple_job.h
|
|
cia_build_dialog.cpp
|
|
cia_build_dialog.h
|
|
cia_build_dialog.ui
|
|
import_dialog.cpp
|
|
import_dialog.h
|
|
import_dialog.ui
|
|
main.cpp
|
|
main.h
|
|
main.ui
|
|
select_files_dialog.cpp
|
|
select_files_dialog.h
|
|
select_files_dialog.ui
|
|
select_nand_dialog.cpp
|
|
select_nand_dialog.h
|
|
select_nand_dialog.ui
|
|
title_info_dialog.cpp
|
|
title_info_dialog.h
|
|
title_info_dialog.ui
|
|
utilities.cpp
|
|
utilities.h
|
|
utilities.ui
|
|
${THEMES}
|
|
)
|
|
|
|
target_link_libraries(threeSD PRIVATE common core)
|
|
target_link_libraries(threeSD PRIVATE Qt5::Widgets)
|
|
target_link_libraries(threeSD PRIVATE qdevicewatcher)
|
|
target_link_libraries(threeSD PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
|
|
|
|
if (APPLE)
|
|
# set(MACOSX_ICON "../../dist/citra.icns")
|
|
# set_source_files_properties(${MACOSX_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
|
# target_sources(threeSD PRIVATE ${MACOSX_ICON})
|
|
set_target_properties(threeSD PROPERTIES MACOSX_BUNDLE TRUE)
|
|
set_target_properties(threeSD PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
|
elseif(WIN32)
|
|
# compile as a win32 gui application instead of a console application
|
|
target_link_libraries(threeSD PRIVATE Qt5::WinMain)
|
|
if(MSVC)
|
|
set_target_properties(threeSD PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS")
|
|
elseif(MINGW)
|
|
set_target_properties(threeSD PROPERTIES LINK_FLAGS_RELEASE "-mwindows")
|
|
endif()
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
# In Ubuntu, the executable would be recognized as a shared library otherwise.
|
|
set_target_properties(threeSD PROPERTIES LINK_FLAGS "-no-pie")
|
|
endif()
|
|
|
|
target_compile_definitions(threeSD PRIVATE
|
|
# Use QStringBuilder for string concatenation to reduce
|
|
# the overall number of temporary strings created.
|
|
-DQT_USE_QSTRINGBUILDER
|
|
|
|
# Disable implicit type narrowing in signal/slot connect() calls.
|
|
-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT
|
|
|
|
# Disable unsafe overloads of QProcess' start() function.
|
|
-DQT_NO_PROCESS_COMBINED_ARGUMENT_START
|
|
|
|
# Disable implicit QString->QUrl conversions to enforce use of proper resolving functions.
|
|
-DQT_NO_URL_CAST_FROM_STRING
|
|
|
|
# Disable automatic conversions from 8-bit strings (char *) to unicode QStrings
|
|
-DQT_NO_CAST_FROM_ASCII
|
|
)
|
|
|
|
if (MSVC)
|
|
include(CopyQt5Deps)
|
|
copy_Qt5_deps(threeSD)
|
|
endif()
|