Page MenuHomePhabricator (Chris)

No OneTemporary

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

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)

Event Timeline