CMakeLists.txt

Fri, 23 Aug 2013 01:20:09 +0300

author
Santeri Piippo <crimsondusk64@gmail.com>
date
Fri, 23 Aug 2013 01:20:09 +0300
changeset 478
c7f8989c995f
parent 475
1f5ab7410e4d
permissions
-rw-r--r--

bit of a clarification

#######################################################################################
# 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} ${LDFORGE_MOC})
target_link_libraries (ldforge
	${QT_LIBRARIES}
	GL
	GLU
)

mercurial