⬆️ Update qtkeychain
This commit is contained in:
154
CMakeLists.txt
Normal file
154
CMakeLists.txt
Normal file
@@ -0,0 +1,154 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
cmake_policy(SET CMP0087 NEW)
|
||||
include(FeatureSummary)
|
||||
|
||||
# Setup paths
|
||||
SET(RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/")
|
||||
SET(LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/")
|
||||
SET(ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/")
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${RUNTIME_OUTPUT_DIRECTORY})
|
||||
SET(LIBRARY_OUTPUT_PATH ${RUNTIME_OUTPUT_DIRECTORY})
|
||||
# Fix executable paths for windows
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${RUNTIME_OUTPUT_DIRECTORY})
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${RUNTIME_OUTPUT_DIRECTORY})
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${RUNTIME_OUTPUT_DIRECTORY})
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${RUNTIME_OUTPUT_DIRECTORY})
|
||||
|
||||
project(Fuel)
|
||||
|
||||
option(UPDATE_TRANSLATIONS "Update translations" OFF)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTOUIC_SEARCH_PATHS "${CMAKE_SOURCE_DIR}/ui")
|
||||
|
||||
find_package(Qt5 COMPONENTS Core Gui WebEngineWidgets REQUIRED)
|
||||
|
||||
set(FORMS
|
||||
ui/MainWindow.ui
|
||||
ui/CommitDialog.ui
|
||||
ui/FileActionDialog.ui
|
||||
ui/SettingsDialog.ui
|
||||
ui/FslSettingsDialog.ui
|
||||
ui/CloneDialog.ui
|
||||
ui/BrowserWidget.ui
|
||||
ui/RevisionDialog.ui
|
||||
ui/RemoteDialog.ui
|
||||
ui/AboutDialog.ui)
|
||||
|
||||
set(SOURCES
|
||||
src/main.cpp
|
||||
src/MainWindow.cpp
|
||||
src/CommitDialog.cpp
|
||||
src/FileActionDialog.cpp
|
||||
src/SettingsDialog.cpp
|
||||
src/FslSettingsDialog.cpp
|
||||
src/CloneDialog.cpp
|
||||
src/RevisionDialog.cpp
|
||||
src/Utils.cpp
|
||||
src/FileTableView.cpp
|
||||
src/LoggedProcess.cpp
|
||||
src/BrowserWidget.cpp
|
||||
src/CustomWebView.cpp
|
||||
src/Fossil.cpp
|
||||
src/Workspace.cpp
|
||||
src/SearchBox.cpp
|
||||
src/AppSettings.cpp
|
||||
src/RemoteDialog.cpp
|
||||
src/AboutDialog.cpp)
|
||||
|
||||
set(HEADERS
|
||||
src/MainWindow.h
|
||||
src/CommitDialog.h
|
||||
src/FileActionDialog.h
|
||||
src/SettingsDialog.h
|
||||
src/FslSettingsDialog.h
|
||||
src/CloneDialog.h
|
||||
src/RevisionDialog.h
|
||||
src/Utils.h
|
||||
src/FileTableView.h
|
||||
src/LoggedProcess.h
|
||||
src/BrowserWidget.h
|
||||
src/CustomWebView.h
|
||||
src/Fossil.h
|
||||
src/Workspace.h
|
||||
src/SearchBox.h
|
||||
src/AppSettings.h
|
||||
src/RemoteDialog.h
|
||||
src/AboutDialog.h
|
||||
src/WorkspaceCommon.h)
|
||||
|
||||
|
||||
set(RESOURCES
|
||||
rsrc/resources.qrc)
|
||||
|
||||
set(TRANSLATIONS
|
||||
intl/en_US.ts
|
||||
intl/el_GR.ts
|
||||
intl/de_DE.ts
|
||||
intl/es_ES.ts
|
||||
intl/fr_FR.ts
|
||||
intl/ru_RU.ts
|
||||
intl/pt_PT.ts
|
||||
intl/it_IT.ts
|
||||
intl/nl_NL.ts
|
||||
intl/ko_KR.ts)
|
||||
|
||||
set_source_files_properties(${TRANSLATIONS} PROPERTIES OUTPUT_LOCATION "${RUNTIME_OUTPUT_DIRECTORY}translations")
|
||||
|
||||
find_package(Qt5LinguistTools)
|
||||
if (Qt5LinguistTools_FOUND)
|
||||
if (UPDATE_TRANSLATIONS)
|
||||
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR}/ui ${CMAKE_SOURCE_DIR}/src ${TRANSLATIONS})
|
||||
else ()
|
||||
qt5_add_translation(QM_FILES ${TRANSLATIONS})
|
||||
endif ()
|
||||
install(FILES ${QM_FILES} DESTINATION ./translations)
|
||||
else ()
|
||||
message("Qt5LinguistTools not found")
|
||||
endif ()
|
||||
|
||||
if (WIN32)
|
||||
# clang-cl doesn't support resource files
|
||||
if (NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
list(APPEND SOURCES "${CMAKE_SOURCE_DIR}/rsrc/fuel.rc")
|
||||
endif ()
|
||||
elseif (APPLE)
|
||||
list(APPEND SOURCES "${CMAKE_SOURCE_DIR}/rsrc/icons/fuel.icns")
|
||||
endif ()
|
||||
|
||||
add_subdirectory("${CMAKE_SOURCE_DIR}/ext/qtkeychain" EXCLUDE_FROM_ALL)
|
||||
|
||||
add_executable(${PROJECT_NAME}
|
||||
${FORMS}
|
||||
${HEADERS}
|
||||
${SOURCES}
|
||||
${QM_FILES}
|
||||
${RESOURCES})
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/ui/
|
||||
${CMAKE_SOURCE_DIR}/src/)
|
||||
target_link_libraries(${PROJECT_NAME} Qt5::Widgets Qt5::WebEngineCore Qt5::WebEngineWidgets qt5keychain)
|
||||
|
||||
if (WIN32)
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE TRUE)
|
||||
|
||||
get_target_property(Qt5_Core_Location Qt5::Core LOCATION)
|
||||
get_filename_component(QT_BIN_DIR ${Qt5_Core_Location} DIRECTORY)
|
||||
|
||||
add_custom_target(copy_dll
|
||||
COMMAND ${QT_BIN_DIR}/windeployqt.exe $<TARGET_FILE:${PROJECT_NAME}> --release --no-compiler-runtime --no-translations --no-opengl-sw
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
|
||||
install(TARGETS ${PROJECT_NAME}
|
||||
RUNTIME DESTINATION .
|
||||
)
|
||||
|
||||
install(CODE "execute_process(COMMAND ${QT_BIN_DIR}/windeployqt.exe $<TARGET_FILE:${PROJECT_NAME}> --release --no-compiler-runtime --no-translations --no-opengl-sw --dir \${CMAKE_INSTALL_PREFIX})")
|
||||
endif ()
|
||||
|
||||
|
||||
feature_summary(WHAT ALL)
|
||||
Reference in New Issue
Block a user