Page Menu
Home
Phabricator (Chris)
Search
Configure Global Search
Log In
Files
F133894
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
15 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b399886..ff6eedc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,393 +1,47 @@
cmake_minimum_required(VERSION 3.2)
project(Guitar
VERSION 1.0.0
LANGUAGES CXX C
)
-
-add_definitions(-DAPP_GUITAR)
+set(CMAKE_CXX_EXTENSIONS OFF)
+set(CMAKE_CXX_STANDARD 11)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
-list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/")
+# Disable in-source-build
+set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
+set(CMAKE_DISABLE_SOURCE_CHANGES ON)
+
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/")
+set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
find_package(Qt5 COMPONENTS Core Widgets Network Svg REQUIRED)
find_package(zlib REQUIRED )
find_package(OpenSSL REQUIRED )
find_package(Qt5LinguistTools REQUIRED)
if(WIN32)
# check package at
# https://github.com/rprichard/winpty
find_package(winpty REQUIRED )
endif()
# extract version information
string(TIMESTAMP Guitar_copyright_year "%Y")
execute_process(
COMMAND git rev-parse --short=7 HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE Guitar_git_hash
OUTPUT_STRIP_TRAILING_WHITESPACE
)
configure_file(version.h.in version.h)
configure_file(win.rc.in win.rc.h)
configure_file(Info.plist.in Info.plist)
-set(Guitar_SOURCES
- src/AboutDialog.cpp
- src/AbstractProcess.cpp
- src/AbstractSettingForm.cpp
- src/ApplicationGlobal.cpp
- src/AreYouSureYouWantToContinueConnectingDialog.cpp
- src/AvatarLoader.cpp
- src/BasicMainWindow.cpp
- src/BasicRepositoryDialog.cpp
- src/BigDiffWindow.cpp
- src/BlameWindow.cpp
- src/CheckoutDialog.cpp
- src/ClearButton.cpp
- src/CloneDialog.cpp
- src/CloneFromGitHubDialog.cpp
- src/CommitDialog.cpp
- src/CommitExploreWindow.cpp
- src/CommitPropertyDialog.cpp
- src/CommitViewWindow.cpp
- src/ConfigCredentialHelperDialog.cpp
- src/ConfigSigningDialog.cpp
- src/CreateRepositoryDialog.cpp
- src/DeleteBranchDialog.cpp
- src/DeleteTagsDialog.cpp
- src/DialogHeaderFrame.cpp
- src/DirectoryLineEdit.cpp
- src/DoYouWantToInitDialog.cpp
- src/EditGitIgnoreDialog.cpp
- src/EditRemoteDialog.cpp
- src/EditTagsDialog.cpp
- src/ExperimentDialog.cpp
- src/FileDiffSliderWidget.cpp
- src/FileDiffWidget.cpp
- src/FileHistoryWindow.cpp
- src/FilePropertyDialog.cpp
- src/FilesListWidget.cpp
- src/FileUtil.cpp
- src/FileViewWidget.cpp
- src/FindCommitDialog.cpp
- src/Git.cpp
- src/GitDiff.cpp
- src/GitHubAPI.cpp
- src/GitObjectManager.cpp
- src/GitPack.cpp
- src/GitPackIdxV2.cpp
- src/HyperLinkLabel.cpp
- src/ImageViewWidget.cpp
- src/InputNewTagDialog.cpp
- src/JumpDialog.cpp
- src/LineEditDialog.cpp
- src/LocalSocketReader.cpp
- src/LogTableWidget.cpp
- src/MainWindow.cpp
- src/MaximizeButton.cpp
- src/MemoryReader.cpp
- src/MenuButton.cpp
- src/MergeDialog.cpp
- src/MyImageViewWidget.cpp
- src/MyProcess.cpp
- src/MySettings.cpp
- src/MyTableWidgetDelegate.cpp
- src/MyTextEditorWidget.cpp
- src/MyToolButton.cpp
- src/ObjectBrowserDialog.cpp
- src/Photoshop.cpp
- src/PushDialog.cpp
- src/ReadOnlyLineEdit.cpp
- src/ReadOnlyPlainTextEdit.cpp
- src/ReflogWindow.cpp
- src/RemoteRepositoriesTableWidget.cpp
- src/RemoteWatcher.cpp
- src/RepositoriesTreeWidget.cpp
- src/RepositoryData.cpp
- src/RepositoryInfoFrame.cpp
- src/RepositoryLineEdit.cpp
- src/RepositoryPropertyDialog.cpp
- src/SearchFromGitHubDialog.cpp
- src/SelectCommandDialog.cpp
- src/SelectGpgKeyDialog.cpp
- src/SelectItemDialog.cpp
- src/SetGlobalUserDialog.cpp
- src/SetGpgSigningDialog.cpp
- src/SetRemoteUrlDialog.cpp
- src/SetUserDialog.cpp
- src/SettingBehaviorForm.cpp
- src/SettingExampleForm.cpp
- src/SettingGeneralForm.cpp
- src/SettingNetworkForm.cpp
- src/SettingProgramsForm.cpp
- src/SettingsDialog.cpp
- src/StatusLabel.cpp
- src/Terminal.cpp
- src/TextEditDialog.cpp
- src/Theme.cpp
- src/WelcomeWizardDialog.cpp
- src/charvec.cpp
- src/common/joinpath.cpp
- src/common/misc.cpp
- src/darktheme/DarkStyle.cpp
- src/darktheme/NinePatch.cpp
- src/darktheme/StandardStyle.cpp
- src/darktheme/TraditionalWindowsStyleTreeControl.cpp
- src/gpg.cpp
- src/gunzip.cpp
- src/main.cpp
- src/texteditor/AbstractCharacterBasedApplication.cpp
- src/texteditor/InputMethodPopup.cpp
- src/texteditor/TextEditorTheme.cpp
- src/texteditor/TextEditorWidget.cpp
- src/texteditor/UnicodeWidth.cpp
- src/texteditor/unicode.cpp
- src/urlencode.cpp
- src/webclient.cpp
- )
-
-set(Guitar_HEADERS
- src/AboutDialog.h
- src/AbstractProcess.h
- src/AbstractSettingForm.h
- src/ApplicationGlobal.h
- src/AreYouSureYouWantToContinueConnectingDialog.h
- src/AvatarLoader.h
- src/BasicMainWindow.h
- src/BasicRepositoryDialog.h
- src/BigDiffWindow.h
- src/BlameWindow.h
- src/CheckoutDialog.h
- src/ClearButton.h
- src/CloneDialog.h
- src/CloneFromGitHubDialog.h
- src/CommitDialog.h
- src/CommitExploreWindow.h
- src/CommitPropertyDialog.h
- src/CommitViewWindow.h
- src/ConfigCredentialHelperDialog.h
- src/ConfigSigningDialog.h
- src/CreateRepositoryDialog.h
- src/Debug.h
- src/DeleteBranchDialog.h
- src/DeleteTagsDialog.h
- src/DialogHeaderFrame.h
- src/DirectoryLineEdit.h
- src/DoYouWantToInitDialog.h
- src/EditGitIgnoreDialog.h
- src/EditRemoteDialog.h
- src/EditTagsDialog.h
- src/ExperimentDialog.h
- src/FileDiffSliderWidget.h
- src/FileDiffWidget.h
- src/FileHistoryWindow.h
- src/FilePropertyDialog.h
- src/FilesListWidget.h
- src/FileUtil.h
- src/FileViewWidget.h
- src/FindCommitDialog.h
- src/Git.h
- src/GitDiff.h
- src/GitHubAPI.h
- src/GitObjectManager.h
- src/GitPack.h
- src/GitPackIdxV2.h
- src/HyperLinkLabel.h
- src/ImageViewWidget.h
- src/InputNewTagDialog.h
- src/JumpDialog.h
- src/LineEditDialog.h
- src/LocalSocketReader.h
- src/LogTableWidget.h
- src/MainWindow.h
- src/MaximizeButton.h
- src/MemoryReader.h
- src/MenuButton.h
- src/MergeDialog.h
- src/MyImageViewWidget.h
- src/MyProcess.h
- src/MySettings.h
- src/MyTableWidgetDelegate.h
- src/MyTextEditorWidget.h
- src/MyToolButton.h
- src/ObjectBrowserDialog.h
- src/Photoshop.h
- src/PushDialog.h
- src/ReadOnlyLineEdit.h
- src/ReadOnlyPlainTextEdit.h
- src/ReflogWindow.h
- src/RemoteRepositoriesTableWidget.h
- src/RemoteWatcher.h
- src/RepositoriesTreeWidget.h
- src/RepositoryData.h
- src/RepositoryInfoFrame.h
- src/RepositoryLineEdit.h
- src/RepositoryPropertyDialog.h
- src/SearchFromGitHubDialog.h
- src/SelectCommandDialog.h
- src/SelectGpgKeyDialog.h
- src/SelectItemDialog.h
- src/SetGlobalUserDialog.h
- src/SetGpgSigningDialog.h
- src/SetRemoteUrlDialog.h
- src/SetUserDialog.h
- src/SettingBehaviorForm.h
- src/SettingExampleForm.h
- src/SettingGeneralForm.h
- src/SettingNetworkForm.h
- src/SettingProgramsForm.h
- src/SettingsDialog.h
- src/StatusLabel.h
- src/Terminal.h
- src/TextEditDialog.h
- src/Theme.h
- src/WelcomeWizardDialog.h
- src/charvec.h
- src/common/joinpath.h
- src/common/misc.h
- src/darktheme/DarkStyle.h
- src/darktheme/NinePatch.h
- src/darktheme/StandardStyle.h
- src/darktheme/TraditionalWindowsStyleTreeControl.h
- src/gpg.h
- src/gunzip.h
- src/main.h
- src/texteditor/AbstractCharacterBasedApplication.h
- src/texteditor/InputMethodPopup.h
- src/texteditor/TextEditorTheme.h
- src/texteditor/TextEditorWidget.h
- src/texteditor/UnicodeWidth.h
- src/texteditor/unicode.h
- src/urlencode.h
- src/webclient.h
- )
-
-if(UNIX)
- list(APPEND Guitar_SOURCES
- src/unix/UnixProcess.cpp
- src/unix/UnixPtyProcess.cpp
- )
- list(APPEND Guitar_HEADERS
- src/unix/UnixProcess.h
- src/unix/UnixPtyProcess.h
- )
-elseif(WIN32)
- list(APPEND Guitar_SOURCES
- src/win32/Win32Process.cpp
- src/win32/Win32PtyProcess.cpp
- src/win32/event.cpp
- src/win32/thread.cpp
- src/win32/win32.cpp
- )
- list(APPEND Guitar_HEADERS
- src/win32/Win32Process.h
- src/win32/Win32PtyProcess.h
- src/win32/event.h
- src/win32/mutex.h
- src/win32/thread.h
- src/win32/win32.h
- )
-endif()
-
-set(Guitar_UIS
- src/AboutDialog.ui
- src/AreYouSureYouWantToContinueConnectingDialog.ui
- src/BigDiffWindow.ui
- src/BlameWindow.ui
- src/CheckoutDialog.ui
- src/CloneDialog.ui
- src/CloneFromGitHubDialog.ui
- src/CommitDialog.ui
- src/CommitExploreWindow.ui
- src/CommitPropertyDialog.ui
- src/CommitViewWindow.ui
- src/ConfigCredentialHelperDialog.ui
- src/ConfigSigningDialog.ui
- src/CreateRepositoryDialog.ui
- src/DeleteBranchDialog.ui
- src/DeleteTagsDialog.ui
- src/DoYouWantToInitDialog.ui
- src/EditGitIgnoreDialog.ui
- src/EditRemoteDialog.ui
- src/EditTagsDialog.ui
- src/ExperimentDialog.ui
- src/FileDiffWidget.ui
- src/FileHistoryWindow.ui
- src/FilePropertyDialog.ui
- src/FindCommitDialog.ui
- src/InputNewTagDialog.ui
- src/JumpDialog.ui
- src/LineEditDialog.ui
- src/MainWindow.ui
- src/MergeDialog.ui
- src/ObjectBrowserDialog.ui
- src/PushDialog.ui
- src/ReflogWindow.ui
- src/RepositoryPropertyDialog.ui
- src/SearchFromGitHubDialog.ui
- src/SelectCommandDialog.ui
- src/SelectGpgKeyDialog.ui
- src/SelectItemDialog.ui
- src/SetGlobalUserDialog.ui
- src/SetGpgSigningDialog.ui
- src/SetRemoteUrlDialog.ui
- src/SetUserDialog.ui
- src/SettingBehaviorForm.ui
- src/SettingExampleForm.ui
- src/SettingGeneralForm.ui
- src/SettingNetworkForm.ui
- src/SettingProgramsForm.ui
- src/SettingsDialog.ui
- src/TextEditDialog.ui
- src/WelcomeWizardDialog.ui
- )
-
-set(Guitar_RESOURCES
- src/resources/resources.qrc
- )
-
-set(Guitar_TRANSLATIONS
- src/resources/translations/Guitar_ja.ts
- src/resources/translations/Guitar_ru.ts
- )
-
-qt5_add_translation(Guitar_QM_FILES ${Guitar_TRANSLATIONS})
-configure_file(${Guitar_RESOURCES} ${CMAKE_BINARY_DIR} COPYONLY)
-
-add_custom_target(translations ALL DEPENDS ${Guitar_QM_FILES})
-
-add_custom_target(resources ALL DEPENDS ${Guitar_RESOURCES})
-
-add_dependencies(resources translations)
-
-include_directories(src)
-include_directories(src/texteditor)
-
-add_executable(${PROJECT_NAME}
- ${Guitar_SOURCES}
- ${Guitar_HEADERS}
- ${Guitar_UIS}
- ${Guitar_RESOURCES}
- ${Guitar_QM_FILES}
- )
-
-set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 11
- CXX_EXTENSIONS OFF
- )
-
-target_link_libraries(${PROJECT_NAME}
- Qt5::Widgets
- Qt5::Network
- Qt5::Svg
- zlib
- OpenSSL::SSL OpenSSL::Crypto
- )
-# add_subdirectory(extra)
+add_subdirectory(src)
+#add_subdirectory(extra)
diff --git a/extra/FileView/CMakeLists.txt b/extra/FileView/CMakeLists.txt
index 58071bb..932a6d9 100644
--- a/extra/FileView/CMakeLists.txt
+++ b/extra/FileView/CMakeLists.txt
@@ -1,64 +1,52 @@
cmake_minimum_required(VERSION 3.2)
project(FileView
VERSION 0.9.0
LANGUAGES CXX C
)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
-find_package(Qt5 COMPONENTS Core Widgets Network Svg REQUIRED)
-
-set(FileView_SOURCES
- main.cpp
- MainWindow.cpp
- ../../src/texteditor/AbstractCharacterBasedApplication.cpp
- ../../src/texteditor/InputMethodPopup.cpp
- ../../src/texteditor/TextEditorTheme.cpp
- ../../src/texteditor/TextEditorWidget.cpp
- ../../src/texteditor/unicode.cpp
- ../../src/texteditor/UnicodeWidth.cpp
- ../../src/FileViewWidget.cpp
- ../../src/common/joinpath.cpp
- ../../src/common/misc.cpp
- ../../src/ImageViewWidget.cpp
- ../../src/MemoryReader.cpp
- ../../src/Photoshop.cpp
- ../../src/ImageViewWidget.cpp
- )
-
-set(FileView_HEADERS
- MainWindow.h
- ../../src/texteditor/AbstractCharacterBasedApplication.h
- ../../src/texteditor/InputMethodPopup.h
- ../../src/texteditor/TextEditorTheme.h
- ../../src/texteditor/TextEditorWidget.h
- ../../src/texteditor/unicode.h
- ../../src/texteditor/UnicodeWidth.h
- ../../src/FileViewWidget.h
- ../../src/common/joinpath.h
- ../../src/common/misc.h
- ../../src/ImageViewWidget.h
- ../../src/MemoryReader.h
- ../../src/Photoshop.h
- ../../src/ImageViewWidget.h
- )
-
-set(FileView_UIS
- MainWindow.ui
- )
-
+# 再帰的にSourceを取得...としたいけど不要なものをとりすぎてしまうので限定的
+file(GLOB_RECURSE FileView_SOURCES ${CMAKE_SOURCE_DIR}/src/texteditor/*.cpp)
+file(GLOB_RECURSE common ${CMAKE_SOURCE_DIR}/src/common/*.cpp)
+list(APPEND FileView_SOURCES
+ ${common}
+ ${CMAKE_SOURCE_DIR}/src/FileViewWidget.cpp
+ ${CMAKE_SOURCE_DIR}/src/ImageViewWidget.cpp
+ ${CMAKE_SOURCE_DIR}/src/MemoryReader.cpp
+ ${CMAKE_SOURCE_DIR}/src/Photoshop.cpp)
+
+# MainWindow.cppをSWAP
+list(APPEND FileView_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/MainWindow.cpp)
+list(REMOVE_ITEM FileView_SOURCES ${CMAKE_SOURCE_DIR}/src/MainWindow.cpp)
+list(REMOVE_ITEM FileView_SOURCES ${CMAKE_SOURCE_DIR}/src/main.cpp)
+
+# main.cpp以外のSourceをコンパイル
+add_library(fileview-lib ${FileView_SOURCES})
+target_link_libraries(fileview-lib PUBLIC
+ Qt5::Widgets
+ Qt5::Network
+ Qt5::Svg)
+target_include_directories(fileview-lib PUBLIC ${CMAKE_BINARY_DIR})
+target_include_directories(fileview-lib PUBLIC ${PROJECT_SOURCE_DIR})
+target_include_directories(fileview-lib PUBLIC ${CMAKE_SOURCE_DIR}/src)
+target_include_directories(fileview-lib PUBLIC ${CMAKE_SOURCE_DIR}/src/texteditor)
+target_include_directories(fileview-lib PUBLIC ${CMAKE_SOURCE_DIR}/src/common)
+
+set_target_properties(fileview-lib PROPERTIES OUTPUT_NAME fileview)
+
+
+file(GLOB_RECURSE FileView_UIS ./*.ui)
+
+# main.cppをコンパイル
add_executable(${PROJECT_NAME}
- ${FileView_SOURCES}
- ${FileView_HEADERS}
- ${FileView_UIS}
- )
+ main.cpp
+ ${FileView_UIS})
-target_link_libraries(${PROJECT_NAME}
- Qt5::Widgets
- Qt5::Network
- Qt5::Svg
-)
+
+# 結合
+target_link_libraries(${PROJECT_NAME} fileview-lib)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..f491849
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,61 @@
+add_definitions(-DAPP_GUITAR)
+
+# Sourceを再帰的に取得
+file(GLOB_RECURSE Guitar_SOURCES ./*.cpp)
+
+
+if(WIN32)
+# win32環境においてunix関係のアイテムを使用しないように
+ file(GLOB uinx_src ./unix/*.cpp)
+ list(REMOVE_ITEM Guitar_SOURCES ${uinx_src})
+elseif(UNIX)
+# unix環境においてwin32関係のアイテムを使用しないように
+ file(GLOB_RECURSE win32_src ./win32/*.cpp)
+ list(REMOVE_ITEM Guitar_SOURCES ${win32_src})
+endif()
+
+# main.cppは別個にコンパイルしたいのでリストから除外
+list(REMOVE_ITEM Guitar_SOURCES main.cpp)
+
+file(GLOB_RECURSE Guitar_UIS ./*.ui)
+
+file(GLOB_RECURSE Guitar_RESOURCES ./resources/*.qrc)
+
+file(GLOB_RECURSE Guitar_TRANSLATIONS ./resources/translations/*.ts)
+qt5_add_translation(Guitar_QM_FILES ${Guitar_TRANSLATIONS})
+
+configure_file(${Guitar_RESOURCES} ${CMAKE_BINARY_DIR} COPYONLY)
+
+add_custom_target(translations ALL DEPENDS ${Guitar_QM_FILES})
+add_custom_target(resources ALL DEPENDS ${Guitar_RESOURCES})
+add_dependencies(resources translations)
+
+# Sourceをライブラリとして構築する
+add_library(guitar-lib ${Guitar_SOURCES})
+target_link_libraries(guitar-lib PUBLIC
+ Qt5::Widgets
+ Qt5::Network
+ Qt5::Svg
+ zlib
+ OpenSSL::SSL
+ OpenSSL::Crypto
+ )
+
+
+# ライブラリに読み込むHeaderの設定
+target_include_directories(guitar-lib PUBLIC ${CMAKE_BINARY_DIR})
+target_include_directories(guitar-lib PUBLIC ${PROJECT_SOURCE_DIR}/src)
+target_include_directories(guitar-lib PUBLIC ${PROJECT_SOURCE_DIR}/src/texteditor)
+
+set_target_properties(guitar-lib PROPERTIES OUTPUT_NAME guitar)
+
+# main.cppのコンパイル
+add_executable(${PROJECT_NAME}
+ main.cpp
+ ${Guitar_RESOURCES}
+ ${Guitar_QM_FILES}
+ ${Guitar_UIS}
+ )
+
+# main.cppとそれ以外をリンク
+target_link_libraries(${PROJECT_NAME} guitar-lib)
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Wed, Jun 17, 9:09 PM (1 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
70661
Default Alt Text
(15 KB)
Attached To
Mode
R77 Guitar
Attached
Detach File
Event Timeline