# 3 june 2016 list(APPEND _LIBUI_SOURCES windows/alloc.cpp windows/area.cpp windows/areadraw.cpp windows/areaevents.cpp windows/areascroll.cpp windows/areautil.cpp windows/attrstr.cpp windows/box.cpp windows/button.cpp windows/checkbox.cpp windows/colorbutton.cpp windows/colordialog.cpp windows/combobox.cpp windows/container.cpp windows/control.cpp windows/d2dscratch.cpp windows/datetimepicker.cpp windows/debug.cpp windows/draw.cpp windows/drawmatrix.cpp windows/drawpath.cpp windows/drawtext.cpp windows/dwrite.cpp windows/editablecombo.cpp windows/entry.cpp windows/events.cpp windows/fontbutton.cpp windows/fontdialog.cpp windows/fontmatch.cpp windows/form.cpp windows/graphemes.cpp windows/grid.cpp windows/group.cpp windows/init.cpp windows/label.cpp windows/main.cpp windows/menu.cpp windows/multilineentry.cpp windows/opentype.cpp windows/parent.cpp windows/progressbar.cpp windows/radiobuttons.cpp windows/separator.cpp windows/sizing.cpp windows/slider.cpp windows/spinbox.cpp windows/stddialogs.cpp windows/tab.cpp windows/tabpage.cpp windows/text.cpp windows/utf16.cpp windows/utilwin.cpp windows/window.cpp windows/winpublic.cpp windows/winutil.cpp windows/resources.rc ) set(_LIBUI_SOURCES ${_LIBUI_SOURCES} PARENT_SCOPE) list(APPEND _LIBUI_INCLUDEDIRS windows ) set(_LIBUI_INCLUDEDIRS _LIBUI_INCLUDEDIRS PARENT_SCOPE) # Windows won't link resources in static libraries; we need to provide the libui.res file in this case. set(_LIBUINAME libui PARENT_SCOPE) if(NOT BUILD_SHARED_LIBS) set(_LIBUI_STATIC_RES ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/libui.res PARENT_SCOPE) endif() macro(_handle_static) # TODO this full path feels hacky add_custom_command( TARGET libui POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $/CMakeFiles/libui.dir/windows/resources.rc.* ${_LIBUI_STATIC_RES} COMMENT "Copying libui.res") endmacro() # TODO prune this list set(_LIBUI_LIBS user32 kernel32 gdi32 comctl32 uxtheme msimg32 comdlg32 d2d1 dwrite ole32 oleaut32 oleacc uuid PARENT_SCOPE) if(NOT MSVC) if(BUILD_SHARED_LIBS) message(FATAL_ERROR "Sorry, but libui for Windows can currently only be built as a static library with MinGW. You will need to either build as a static library or switch to MSVC." ) endif() endif()