78 lines
1.7 KiB
CMake
78 lines
1.7 KiB
CMake
# 3 june 2016
|
|
|
|
list(APPEND _LIBUI_SOURCES
|
|
darwin/alloc.m
|
|
darwin/area.m
|
|
darwin/areaevents.m
|
|
darwin/autolayout.m
|
|
darwin/box.m
|
|
darwin/button.m
|
|
darwin/checkbox.m
|
|
darwin/colorbutton.m
|
|
darwin/combobox.m
|
|
darwin/control.m
|
|
darwin/datetimepicker.m
|
|
darwin/debug.m
|
|
darwin/draw.m
|
|
darwin/drawtext.m
|
|
darwin/editablecombo.m
|
|
darwin/entry.m
|
|
darwin/fontbutton.m
|
|
darwin/form.m
|
|
darwin/grid.m
|
|
darwin/group.m
|
|
darwin/label.m
|
|
darwin/main.m
|
|
darwin/map.m
|
|
darwin/menu.m
|
|
darwin/multilineentry.m
|
|
darwin/progressbar.m
|
|
darwin/radiobuttons.m
|
|
darwin/scrollview.m
|
|
darwin/separator.m
|
|
darwin/slider.m
|
|
darwin/spinbox.m
|
|
darwin/stddialogs.m
|
|
darwin/tab.m
|
|
darwin/text.m
|
|
darwin/util.m
|
|
darwin/window.m
|
|
)
|
|
set(_LIBUI_SOURCES ${_LIBUI_SOURCES} PARENT_SCOPE)
|
|
|
|
list(APPEND _LIBUI_INCLUDEDIRS
|
|
darwin
|
|
)
|
|
set(_LIBUI_INCLUDEDIRS _LIBUI_INCLUDEDIRS PARENT_SCOPE)
|
|
|
|
set(_LIBUINAME libui PARENT_SCOPE)
|
|
if(NOT BUILD_SHARED_LIBS)
|
|
set(_LIBUINAME libui-temporary PARENT_SCOPE)
|
|
endif()
|
|
# thanks to Mr-Hide in irc.freenode.net/#cmake
|
|
macro(_handle_static)
|
|
set_target_properties(${_LIBUINAME} PROPERTIES
|
|
ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
|
|
set(_aname $<TARGET_FILE:${_LIBUINAME}>)
|
|
set(_lname libui-combined.list)
|
|
set(_oname libui-combined.o)
|
|
add_custom_command(
|
|
OUTPUT ${_oname}
|
|
COMMAND
|
|
nm -m ${_aname} | sed -E -n "'s/^[0-9a-f]* \\([A-Z_]+,[a-z_]+\\) external //p'" > ${_lname}
|
|
COMMAND
|
|
ld -exported_symbols_list ${_lname} -r -all_load ${_aname} -o ${_oname}
|
|
COMMENT "Removing hidden symbols")
|
|
add_library(libui STATIC ${_oname})
|
|
# otherwise cmake won't know which linker to use
|
|
set_target_properties(libui PROPERTIES
|
|
LINKER_LANGUAGE C)
|
|
set(_aname)
|
|
set(_lname)
|
|
set(_oname)
|
|
endmacro()
|
|
|
|
set(_LIBUI_LIBS
|
|
objc "-framework Foundation" "-framework AppKit"
|
|
PARENT_SCOPE)
|