comparison cmake/function/MalikaniaDefineExecutable.cmake @ 182:3107ce017c3a

Misc: switch back to SDL Qt Quick and QML was an exciting experiment but it's definitely not enough flexible and easy to use for game development. Using SDL2 will let us focusing on our own drawing functions without any kind of overhead. While here, start massive cleanup.
author David Demelier <markand@malikania.fr>
date Fri, 19 Oct 2018 20:18:19 +0200
parents 3e3040d085b5
children 387f6b0a5420
comparison
equal deleted inserted replaced
181:fbfc2555bda5 182:3107ce017c3a
32 # If you need flags, just pass them without -D or /D, this is automatically done for you. 32 # If you need flags, just pass them without -D or /D, this is automatically done for you.
33 # 33 #
34 34
35 include(CMakeParseArguments) 35 include(CMakeParseArguments)
36 36
37 include(${CMAKE_CURRENT_LIST_DIR}/MalikaniaBuildAssets.cmake)
37 include(${CMAKE_CURRENT_LIST_DIR}/MalikaniaVeraCheck.cmake) 38 include(${CMAKE_CURRENT_LIST_DIR}/MalikaniaVeraCheck.cmake)
38 39
39 function(malikania_define_executable) 40 function(malikania_define_executable)
40 set(singleArgs TARGET) 41 set(singleArgs TARGET)
41 set(multiArgs SOURCES FLAGS INCLUDES LIBRARIES) 42 set(multiArgs ASSETS SOURCES FLAGS INCLUDES LIBRARIES)
42 43
43 cmake_parse_arguments(EXE "" "${singleArgs}" "${multiArgs}" ${ARGN}) 44 cmake_parse_arguments(EXE "" "${singleArgs}" "${multiArgs}" ${ARGN})
44 45
45 if (NOT EXE_TARGET) 46 if (NOT EXE_TARGET)
46 message(FATAL_ERROR "Missing TARGET parameter") 47 message(FATAL_ERROR "Missing TARGET parameter")
47 endif () 48 endif ()
48 if (NOT EXE_SOURCES) 49 if (NOT EXE_SOURCES)
49 message(FATAL_ERROR "Missing SOURCES parameter") 50 message(FATAL_ERROR "Missing SOURCES parameter")
50 endif () 51 endif ()
51 52
52 add_executable(${EXE_TARGET} ${EXE_SOURCES}) 53 malikania_build_assets("${EXE_ASSETS}" assets)
54
55 add_executable(${EXE_TARGET} ${EXE_SOURCES} ${EXE_ASSETS} ${assets})
53 target_link_libraries(${EXE_TARGET} ${EXE_LIBRARIES}) 56 target_link_libraries(${EXE_TARGET} ${EXE_LIBRARIES})
54 target_include_directories( 57 target_include_directories(
55 ${EXE_TARGET} 58 ${EXE_TARGET}
56 PRIVATE 59 PRIVATE
60 ${CMAKE_CURRENT_BINARY_DIR}/assets
57 ${EXE_INCLUDES} 61 ${EXE_INCLUDES}
58 ) 62 )
59 target_compile_definitions(${EXE_TARGET} PRIVATE ${EXE_FLAGS}) 63 target_compile_definitions(${EXE_TARGET} PRIVATE ${EXE_FLAGS})
60 set_target_properties( 64 set_target_properties(
61 ${EXE_TARGET} 65 ${EXE_TARGET}