Mercurial > malikania
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} |