libui/examples/CMakeLists.txt

63 lines
1.2 KiB
CMake

# 3 june 2016
if(WIN32)
set(_EXAMPLE_RESOURCES_RC resources.rc)
endif()
macro(_add_example _name)
_add_exec(${_name} ${ARGN})
# because Microsoft's toolchain is dumb
if(MSVC)
set_property(TARGET ${_name} APPEND_STRING PROPERTY
LINK_FLAGS " /ENTRY:mainCRTStartup")
endif()
endmacro()
_add_example(controlgallery
controlgallery/main.c
${_EXAMPLE_RESOURCES_RC}
)
_add_example(histogram
histogram/main.c
${_EXAMPLE_RESOURCES_RC}
)
_add_example(cpp-multithread
cpp-multithread/main.cpp
${_EXAMPLE_RESOURCES_RC}
)
if(NOT WIN32)
target_link_libraries(cpp-multithread pthread)
endif()
if(APPLE)
# since we use a deployment target of 10.8, the non-C++11-compliant libstdc++ is chosen by default; we need C++11
# see issue #302 for more details
target_compile_options(cpp-multithread PRIVATE --stdlib=libc++)
target_link_libraries(cpp-multithread --stdlib=libc++)
endif()
_add_example(drawtext
drawtext/main.c
${_EXAMPLE_RESOURCES_RC}
)
_add_example(timer
timer/main.c
${_EXAMPLE_RESOURCES_RC}
)
_add_example(datetime
datetime/main.c
${_EXAMPLE_RESOURCES_RC}
)
add_custom_target(examples
DEPENDS
controlgallery
histogram
cpp-multithread
drawtext
timer
datetime)