File: CMakeLists.txt

package info (click to toggle)
mathgl 8.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 248,044 kB
  • sloc: cpp: 87,365; ansic: 3,299; javascript: 3,284; pascal: 1,562; python: 52; sh: 51; makefile: 47; f90: 22
file content (88 lines) | stat: -rw-r--r-- 4,030 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
include(GenerateExportHeader)

if(MSVC)
	add_definitions(-DMGL_LIB_MSVC -DMGL_WIDGETS_DLL)
endif(MSVC)

set(MGL_WND_SRC)
set(MGL_WND_INC)
set(MGL_WND_LIB)

if(QT_ENABLED)
        add_subdirectory( qt5 )
        add_subdirectory( qt6 )
        add_subdirectory( qt4 )

        if(TARGET mgl-qt)
                get_target_property(mgl_qt_major mgl-qt mgl_qt_major)
                get_target_property(mgl_qt_version mgl-qt mgl_qt_version)
                get_target_property(mgl_qt_components mgl-qt mgl_qt_components)
                get_target_property(mgl_qt_components_wk mgl-qt mgl_qt_components_wk)
                get_target_property(mgl_qt_components_we mgl-qt mgl_qt_components_we)
                set(mgl_qt_major ${mgl_qt_major} PARENT_SCOPE)
                set(mgl_qt_version ${mgl_qt_version} PARENT_SCOPE)
                set(mgl_qt_components ${mgl_qt_components} PARENT_SCOPE)
                set(mgl_qt_components_wk ${mgl_qt_components_wk} PARENT_SCOPE)
                set(mgl_qt_components_we ${mgl_qt_components_we} PARENT_SCOPE)
        else(TARGET mgl-qt)
                message(SEND_ERROR "No Qt of any version found!")
        endif(TARGET mgl-qt)
endif(QT_ENABLED)


if(MGL_HAVE_FLTK)
	set(MGL_FLTK_SRC fltk.cpp  image.cpp  image.h ../include/mgl2/fltk.h ../include/mgl2/Fl_MathGL.h)
	list(APPEND MGL_WND_SRC ${MGL_FLTK_SRC})
	list(APPEND MGL_WND_INC ${FLTK_INCLUDE_DIR})
	list(APPEND MGL_WND_LIB ${FLTK_LIBRARIES})
	mgl_add_lib(fltk ${MGL_FLTK_SRC})
	target_include_directories(mgl-fltk SYSTEM PUBLIC ${FLTK_INCLUDE_DIR})
	target_include_directories(mgl-fltk-static SYSTEM PUBLIC ${FLTK_INCLUDE_DIR})
	target_link_libraries(mgl-fltk mgl ${FLTK_LIBRARIES})
	target_link_libraries(mgl-fltk-static mgl-static ${FLTK_LIBRARIES})
endif(MGL_HAVE_FLTK)

if(MGL_HAVE_GLUT)
	mgl_add_lib(glut glut.cpp ../include/mgl2/glut.h)
	target_include_directories(mgl-glut SYSTEM PUBLIC ${GLUT_INCLUDE_DIR})
	target_include_directories(mgl-glut-static SYSTEM PUBLIC ${GLUT_INCLUDE_DIR})
	target_link_libraries(mgl-glut mgl ${GLUT_LIBRARIES} ${OPENGL_LIBRARIES})
	target_link_libraries(mgl-glut-static mgl-static ${GLUT_LIBRARIES} ${OPENGL_LIBRARIES})
endif(MGL_HAVE_GLUT)

if(MGL_HAVE_WX)
	set(MGL_WX_SRC wx.cpp ../include/mgl2/wx.h)
	list(APPEND MGL_WND_SRC ${MGL_WX_SRC})
	list(APPEND MGL_WND_LIB ${wxWidgets_LIBRARIES})
	mgl_add_lib(wx ${MGL_WX_SRC})
	include(${wxWidgets_USE_FILE})
	target_link_libraries(mgl-wx mgl ${wxWidgets_LIBRARIES})
	target_link_libraries(mgl-wx-static mgl-static ${wxWidgets_LIBRARIES})
endif(MGL_HAVE_WX)

if(MGL_HAVE_FLTK OR MGL_HAVE_WX OR TARGET mgl-qt)
	if(TARGET mgl-qt)
                include(../scripts/qt.cmake)
                if(MGL_HAVE_WX)
            		include(${wxWidgets_USE_FILE})
                endif(MGL_HAVE_WX)
                find_qt_libs(${mgl_qt_major} ${mgl_qt_version} ON ON ${mgl_qt_components})
                mgl_add_lib(wnd ${MGL_QT_FILES} ${MGL_WND_SRC})
                target_include_directories(mgl-wnd SYSTEM PUBLIC ${MGL_WND_INC})
                target_include_directories(mgl-wnd-static SYSTEM PUBLIC ${MGL_WND_INC})
                target_link_libraries(mgl-wnd mgl ${MGL_WND_LIB} ${MGL_QT_LIBS})
                target_link_libraries(mgl-wnd-static mgl-static ${MGL_WND_LIB} ${MGL_QT_LIBS})
	else(TARGET mgl-qt)
                if(MGL_HAVE_WX)
            		include(${wxWidgets_USE_FILE})
                endif(MGL_HAVE_WX)
                mgl_add_lib(wnd ${MGL_WND_SRC})
                target_include_directories(mgl-wnd SYSTEM PUBLIC ${MGL_WND_INC})
                target_include_directories(mgl-wnd-static SYSTEM PUBLIC ${MGL_WND_INC})
                target_link_libraries(mgl-wnd mgl ${MGL_WND_LIB})
                target_link_libraries(mgl-wnd-static mgl-static ${MGL_WND_LIB})
	endif(TARGET mgl-qt)
endif(MGL_HAVE_FLTK OR MGL_HAVE_WX OR TARGET mgl-qt)


mgl_po_src(fltk.cpp ../include/mgl2/fltk.h ../include/mgl2/Fl_MathGL.h glut.cpp ../include/mgl2/glut.h wx.cpp ../include/mgl2/wx.h qt.cpp ../include/mgl2/qt.h  ../include/mgl2/qmathgl.h)