comparison cmake/MlkExecutable.cmake @ 327:42a6710629f5

ui: implement notifications
author David Demelier <markand@malikania.fr>
date Sun, 03 Oct 2021 10:31:45 +0200
parents 8f9937403749
children 570ab19bf268
comparison
equal deleted inserted replaced
326:06782f7888f3 327:42a6710629f5
17 # 17 #
18 18
19 function(mlk_executable) 19 function(mlk_executable)
20 set(options "INSTALL") 20 set(options "INSTALL")
21 set(oneValueArgs "NAME;FOLDER") 21 set(oneValueArgs "NAME;FOLDER")
22 set(multiValueArgs "SOURCES;LIBRARIES;INCLUDES;FLAGS") 22 set(multiValueArgs "ASSETS;SOURCES;LIBRARIES;INCLUDES;FLAGS")
23 23
24 cmake_parse_arguments(EXE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) 24 cmake_parse_arguments(EXE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
25 25
26 if (NOT EXE_NAME) 26 if (NOT EXE_NAME)
27 message(FATAL_ERROR "Missing NAME") 27 message(FATAL_ERROR "Missing NAME")
28 endif () 28 endif ()
29 29
30 add_executable(${EXE_NAME} ${EXE_SOURCES}) 30 if (EXE_ASSETS)
31 mlk_bcc(ASSETS ${EXE_ASSETS} OUTPUTS_VAR HEADERS)
32 source_group(build/assets FILES ${HEADERS})
33 endif ()
34
35 add_executable(${EXE_NAME} ${EXE_SOURCES} ${HEADERS})
31 set_target_properties(${EXE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}) 36 set_target_properties(${EXE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR})
32 37
33 foreach (cfg ${CMAKE_CONFIGURATION_TYPES}) 38 foreach (cfg ${CMAKE_CONFIGURATION_TYPES})
34 string(TOUPPER ${cfg} cfg) 39 string(TOUPPER ${cfg} cfg)
35 set_target_properties(${EXE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_${CFG} ${CMAKE_SOURCE_DIR}) 40 set_target_properties(${EXE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_${CFG} ${CMAKE_SOURCE_DIR})