Page MenuHomePhabricator (Chris)

No OneTemporary

Authored By
Unknown
Size
15 KB
Referenced Files
None
Subscribers
None
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

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)

Event Timeline