-
Notifications
You must be signed in to change notification settings - Fork 65
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
76 lines (67 loc) · 2.51 KB
/
CMakeLists.txt
File metadata and controls
76 lines (67 loc) · 2.51 KB
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
cmake_minimum_required( VERSION 2.8 )
function( build_example SAMPLE_NAME SOURCES )
add_executable( ${SAMPLE_NAME} ${SOURCES} )
target_link_libraries( ${SAMPLE_NAME} PRIVATE SFGUI::SFGUI)
install(
TARGETS ${SAMPLE_NAME}
RUNTIME DESTINATION "${SHARE_PATH}/examples" COMPONENT examples
)
install(
FILES ${SOURCES}
DESTINATION "${SHARE_PATH}/examples" COMPONENT examples
)
endfunction()
build_example( "HelloWorld" "HelloWorld.cpp" )
build_example( "Window" "Window.cpp" )
build_example( "Label" "Label.cpp" )
build_example( "Box" "Box.cpp" )
build_example( "Entry" "Entry.cpp" )
build_example( "Range" "Range.cpp" )
build_example( "Desktop" "Desktop.cpp" )
build_example( "Signals" "Signals.cpp" )
build_example( "OpenGL-Example" "OpenGL.cpp" )
build_example( "ComboBox" "ComboBox.cpp" )
build_example( "Notebook" "Notebook.cpp" )
build_example( "GuessMyNumber" "GuessMyNumber.cpp" )
build_example( "Multiview" "Multiview.cpp" )
build_example( "Image" "Image.cpp" )
build_example( "Layout" "Layout.cpp" )
build_example( "ScrolledWindowViewport" "ScrolledWindowViewport.cpp" )
build_example( "Spinner" "Spinner.cpp" )
build_example( "Table" "Table.cpp" )
build_example( "Buttons" "Buttons.cpp" )
build_example( "ProgressBar" "ProgressBar.cpp" )
build_example( "SpinButton" "SpinButton.cpp" )
build_example( "Canvas" "Canvas.cpp" )
build_example( "CustomWidget" "CustomWidget.cpp" )
build_example( "ListBox" "ListBox.cpp" )
build_example( "SFGUI-Test" "Test.cpp" )
if( SFGUI_BOOST_FILESYSTEM_SUPPORT )
build_example( "FilePickerDialog" "FilePickerDialog.cpp" )
include_directories( SYSTEM ${Boost_INCLUDE_DIR} )
target_link_libraries( FilePickerDialog ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} )
endif()
# Copy data directory to build cache directory to be able to run examples from
# there. Useful for testing stuff.
# Don't try to copy if the directories are the same.
if( NOT ( "${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}" ) )
add_custom_command(
TARGET "SFGUI-Test"
COMMAND "${CMAKE_COMMAND}"
ARGS -E copy_directory "${PROJECT_SOURCE_DIR}/examples/data" "${PROJECT_BINARY_DIR}/examples/data"
)
add_custom_command(
TARGET "Image"
COMMAND "${CMAKE_COMMAND}"
ARGS -E copy_directory "${PROJECT_SOURCE_DIR}/examples/data" "${PROJECT_BINARY_DIR}/examples/data"
)
add_custom_command(
TARGET "Canvas"
COMMAND "${CMAKE_COMMAND}"
ARGS -E copy_directory "${PROJECT_SOURCE_DIR}/examples/data" "${PROJECT_BINARY_DIR}/examples/data"
)
endif()
install(
DIRECTORY data
DESTINATION "${SHARE_PATH}/examples"
)