Page Menu
Home
Phabricator (Chris)
Search
Configure Global Search
Log In
Files
F131439
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1d02c9a..9663c96 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,50 +1,63 @@
file(GLOB_RECURSE Guitar_SOURCES ./*.cpp)
file(GLOB_RECURSE Guitar_HEADERS ./*.h)
if(WIN32)
# win32環境においてunix関係のアイテムを使用しないように
file(GLOB uinx_src ./unix/*.cpp)
file(GLOB unix_h ./unix/*.h)
list(REMOVE_ITEM Guitar_SOURCES ${uinx_src})
list(REMOVE_ITEM Guitar_HEADERS ${uinx_h})
elseif(UNIX)
# unix環境においてwin32関係のアイテムを使用しないように
file(GLOB_RECURSE win32_src ./win32/*.cpp)
file(GLOB_RECURSE win32_h ./win32/*.h)
list(REMOVE_ITEM Guitar_SOURCES ${win32_src})
list(REMOVE_ITEM Guitar_HEADERS ${win32_src})
endif()
-file(GLOB_RECURSE Guitar_UIS ./*.ui)
+# 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)
-include_directories(${CMAKE_BINARY_DIR})
-include_directories(./texteditor)
-add_executable(${PROJECT_NAME}
- ${Guitar_SOURCES}
- ${Guitar_HEADERS}
- ${Guitar_UIS}
- ${Guitar_RESOURCES}
- ${Guitar_QM_FILES}
-)
-
-target_link_libraries(${PROJECT_NAME}
+# Sourceをライブラリとして構築する
+add_library(guitar-lib ${Guitar_SOURCES})
+target_link_libraries(guitar-lib PUBLIC
Qt5::Widgets
Qt5::Network
Qt5::Svg
- zlib
- OpenSSL::SSL OpenSSL::Crypto
+ 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
Tue, Jun 16, 12:13 AM (2 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
70687
Default Alt Text
(2 KB)
Attached To
Mode
R77 Guitar
Attached
Detach File
Event Timeline