CMakeLists.txt

changeset 473
2a84149fe642
child 475
1f5ab7410e4d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CMakeLists.txt	Thu Aug 22 20:24:16 2013 +0300
@@ -0,0 +1,124 @@
+#######################################################################################
+# The original ldforge.pro was once generated by qmake (2.01a) Sat Sep 22 17:29:49 2012
+# That shalt be the official birthday of LDForge.
+#######################################################################################
+
+project (ldforge)
+cmake_minimum_required (VERSION 2.8.6)
+
+include(cmake/CheckCXX11Features.cmake)
+
+include_directories (${CMAKE_BINARY_DIR}/src)
+include_directories (${CMAKE_BINARY_DIR})
+
+# C++11 stuff from http://pageant.ghulbus.eu/?p=664
+# GCC specifics
+if(CMAKE_COMPILER_IS_GNUCXX)
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -std=c++0x")
+  set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -ggdb")
+endif()
+# Visual Studio specifics
+if(MSVC)
+  # Warning Level 4 for Debug builds
+  list(APPEND CMAKE_CXX_FLAGS_DEBUG " /W4")
+  list(REMOVE_DUPLICATES CMAKE_CXX_FLAGS_DEBUG)
+endif()
+
+find_package (OpenGL REQUIRED)
+
+if (NOT QT5)
+	find_package (Qt4 REQUIRED)
+else()
+	find_package (Qt5 REQUIRED)
+endif()
+
+set (QT_USE_QTOPENGL true)
+set (QT_USE_QTNETWORK true)
+
+# grep -l Q_OBJECT src/*.h
+set (LDFORGE_MOC_INPUT
+	src/addObjectDialog.h
+	src/colorSelectDialog.h
+	src/configDialog.h
+	src/dialogs.h
+	src/download.h
+	src/file.h
+	src/gldraw.h
+	src/gui.h
+	src/messagelog.h
+	src/primitives.h
+	src/widgets.h
+)
+
+set (LDFORGE_FORMS
+	src/ui/about.ui
+	src/ui/addhistoryline.ui
+	src/ui/colorsel.ui
+	src/ui/config.ui
+	src/ui/coverer.ui
+	src/ui/downloadfrom.ui
+	src/ui/edger2.ui
+	src/ui/editraw.ui
+	src/ui/extprogpath.ui
+	src/ui/flip.ui
+	src/ui/intersector.ui
+	src/ui/isecalc.ui
+	src/ui/ldforge.ui
+	src/ui/ldrawpath.ui
+	src/ui/makeprim.ui
+	src/ui/newpart.ui
+	src/ui/openprogress.ui
+	src/ui/overlay.ui
+	src/ui/rectifier.ui
+	src/ui/replcoords.ui
+	src/ui/rotpoint.ui
+	src/ui/ytruder.ui
+)
+
+set (LDFORGE_SOURCES
+	src/addObjectDialog.cpp
+	src/colors.cpp
+	src/colorSelectDialog.cpp
+	src/config.cpp
+	src/configDialog.cpp
+	src/dialogs.cpp
+	src/docs.cpp
+	src/download.cpp
+	src/extprogs.cpp
+	src/file.cpp
+	src/gldraw.cpp
+	src/gui_actions.cpp
+	src/gui.cpp
+	src/gui_editactions.cpp
+	src/history.cpp
+	src/ldconfig.cpp
+	src/ldtypes.cpp
+	src/main.cpp
+	src/messagelog.cpp
+	src/misc.cpp
+	src/primitives.cpp
+	src/types.cpp
+	src/widgets.cpp
+)
+
+set (LDFORGE_QRC ldforge.qrc)
+set (LDFORGE_RC ldforge.rc)
+
+if (NOT QT5)
+	qt4_wrap_cpp (LDFORGE_MOC ${LDFORGE_MOC_INPUT})
+	qt4_wrap_ui (LDFORGE_XFORMS ${LDFORGE_FORMS})
+	qt4_add_resources (LDFORGE_XQRC ${LDFORGE_QRC})
+else()
+	qt5_wrap_cpp (LDFORGE_MOC ${LDFORGE_MOC_INPUT})
+	qt5_wrap_ui (LDFORGE_XFORMS ${LDFORGE_FORMS})
+	qt5_add_resources (LDFORGE_XQRC ${LDFORGE_QRC})
+endif()
+
+include (${QT_USE_FILE})
+add_definitions (${QT_DEFINITIONS})
+add_executable (ldforge ${LDFORGE_SOURCES} ${LDFORGE_XFORMS} ${LDFORGE_XQRC})
+target_link_libraries (ldforge
+	${QT_LIBRARIES}
+	GL
+	GLU
+)
\ No newline at end of file

mercurial