CMakeLists.txt

changeset 252
da4876bfd822
parent 250
2837b549e616
child 253
8b994c917f69
--- a/CMakeLists.txt	Wed Jun 22 20:10:57 2022 +0300
+++ b/CMakeLists.txt	Wed Jun 22 20:27:53 2022 +0300
@@ -21,6 +21,22 @@
 add_definitions(-DQT_NO_KEYWORDS)
 source_group("LDForge" REGULAR_EXPRESSION "src/.+\\.(cpp|h|ui)")
 
+qt5_wrap_ui(LDFORGEWIDGETS_FORMS
+	widgets/vec3editor.ui
+	widgets/multiplyfactordialog.ui
+	widgets/matrixeditor.ui
+)
+add_library(ldforgewidgets STATIC
+	widgets/matrixeditor.cpp
+	widgets/matrixeditor.h
+	widgets/vec3editor.cpp
+	widgets/vec3editor.h
+	widgets/multiplyfactordialog.cpp
+	widgets/multiplyfactordialog.h
+	${LDFORGEWIDGETS_FORMS}
+)
+target_link_libraries(ldforgewidgets Qt5::Widgets)
+
 set (LDFORGE_SOURCES
 	src/colors.cpp
 	src/document.cpp
@@ -49,14 +65,11 @@
 	src/settingseditor/settingseditor.cpp
 	src/types/boundingbox.cpp
 	src/ui/circletooloptionswidget.cpp
-	src/ui/multiplyfactordialog.cpp
 	src/ui/objecteditor.cpp
 	src/widgets/colorbutton.cpp
 	src/widgets/colorindexinput.cpp
 	src/widgets/colorselectdialog.cpp
 	src/widgets/doublespinbox.cpp
-	src/widgets/matrixeditor.cpp
-	src/widgets/vec3editor.cpp
 )
 set (LDFORGE_HEADERS
 	src/basics.h
@@ -93,26 +106,20 @@
 	src/settingseditor/settingseditor.h
 	src/types/boundingbox.h
 	src/ui/circletooloptionswidget.h
-	src/ui/multiplyfactordialog.h
 	src/ui/objecteditor.h
 	src/widgets/colorbutton.h
 	src/widgets/colorindexinput.h
 	src/widgets/colorselectdialog.h
 	src/widgets/doublespinbox.h
-	src/widgets/matrixeditor.h
-	src/widgets/vec3editor.h
 )
 set (LDFORGE_FORMS
 	src/mainwindow.ui
 	src/settingseditor/librarieseditor.ui
 	src/settingseditor/settingseditor.ui
 	src/ui/circletool.ui
-	src/ui/multiplyfactordialog.ui
 	src/ui/objecteditor.ui
 	src/widgets/colorselectdialog.ui
 	src/widgets/colorindexinput.ui
-	src/widgets/matrixeditor.ui
-	src/widgets/vec3editor.ui
 )
 
 set(LDFORGE_LOCALES
@@ -130,6 +137,7 @@
 set(CMAKE_CXX_EXTENSIONS OFF)
 include_directories("${PROJECT_BINARY_DIR}")
 include_directories("${PROJECT_BINARY_DIR}/src")
+include_directories("${PROJECT_SOURCE_DIR}")
 include_directories("${PROJECT_SOURCE_DIR}/src")
 
 # Translations
@@ -184,6 +192,7 @@
 set_source_files_properties(${LDFORGE_OTHER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE)
 set_target_properties(ldforge PROPERTIES AUTOMOC 1)
 target_link_libraries(ldforge Qt5::Widgets Qt5::Network Qt5::OpenGL ${OPENGL_LIBRARIES})
+target_link_libraries(ldforge ldforgewidgets)
 add_dependencies(ldforge resources)
 #cotire(ldforge)
 

mercurial