File: CMakeLists.txt

package info (click to toggle)
fltk1.3 1.3.11-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 25,224 kB
  • sloc: cpp: 105,017; ansic: 91,383; sh: 6,825; makefile: 1,948; perl: 24; xml: 7
file content (119 lines) | stat: -rw-r--r-- 3,341 bytes parent folder | download | duplicates (2)
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#
# CMakeLists.txt used to build example apps by the CMake build system
#
# Copyright 2020-2021 by Bill Spitzak and others.
#
# This library is free software. Distribution and use rights are outlined in
# the file "COPYING" which should have been included with this file.  If this
# file is missing or damaged, see the license at:
#
#     https://www.fltk.org/COPYING.php
#
# Please see the following page on how to report bugs and issues:
#
#     https://www.fltk.org/bugs.php
#
################################################################################

include (../CMake/fl_create_example.cmake)

set (EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/../bin/examples)
file (MAKE_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})

################################################################################

# create separate lists of all source (.cxx) files
# depending on the required FLTK and system libraries

############################################################
# simple examples w/o extra libs
############################################################

set (SIMPLE_SOURCES
  howto-add_fd-and-popen
  howto-browser-with-icons
  howto-drag-and-drop
  howto-parse-args
  howto-text-over-image-button
  menubar-add
  nativefilechooser-simple-app
  progress-simple
  shapedwindow
  table-as-container
  table-simple
  table-sort
  table-spreadsheet
  table-spreadsheet-with-keyboard-nav
  table-with-keynav
  tabs-simple
  textdisplay-with-colors
  texteditor-simple
  tree-as-container
  tree-custom-draw-items
  tree-custom-sort
  tree-of-tables
  tree-simple
  wizard-simple
)

############################################################
# examples requiring fltk_images
############################################################

set (IMAGE_SOURCES
  clipboard
)

############################################################
# examples requiring OpenGL + libGLEW
############################################################

set (OPENGL_SOURCES
  OpenGL3-glut-test
  OpenGL3test
)

############################################################
# create simple example programs
############################################################

foreach (src ${SIMPLE_SOURCES})
  CREATE_EXAMPLE (${src} ${src}.cxx fltk)
endforeach (src)

############################################################
# create example programs with fltk_images library
############################################################

foreach (src ${IMAGE_SOURCES})
  CREATE_EXAMPLE (${src} ${src}.cxx "fltk_images;fltk")
endforeach (src)

############################################################
# create example programs with OpenGL + libGLEW
############################################################

# Note: macOS does not need libGLEW

if (APPLE AND (NOT OPTION_APPLE_X11))
  if (NOT LIB_GLEW)
    set (LIB_GLEW TRUE)
  endif ()
  set (REQUIRED_LIBS fltk_gl fltk ${OPENGL_LIBRARIES})
else ()
  set (REQUIRED_LIBS fltk_gl fltk ${OPENGL_LIBRARIES} GLEW)
endif ()

if (OPENGL_FOUND AND LIB_GLEW)
  foreach (src ${OPENGL_SOURCES})
    CREATE_EXAMPLE (${src} ${src}.cxx "${REQUIRED_LIBS}")
  endforeach (src)
else ()
  message (STATUS
    "OpenGL or libGLEW not present: OpenGL example programs will not be built.")
  fl_debug_var (OPENGL_FOUND)
  fl_debug_var (LIB_GLEW)
  message ("")
endif (OPENGL_FOUND AND LIB_GLEW)

unset (REQUIRED_LIBS)