comparison cmake/function/MalikaniaDefineExecutable.cmake @ 141:2cce1729b6da

CMake: enable assets for executable
author David Demelier <markand@malikania.fr>
date Thu, 28 Sep 2017 06:40:09 +0200
parents 8963c68f023c
children 4b292c20124c
comparison
equal deleted inserted replaced
140:a83fff870983 141:2cce1729b6da
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(${EXE_TARGET} PRIVATE ${EXE_INCLUDES}) 57 target_include_directories(
58 ${EXE_TARGET}
59 PRIVATE
60 ${CMAKE_CURRENT_BINARY_DIR}/assets
61 ${EXE_INCLUDES}
62 )
55 target_compile_definitions(${EXE_TARGET} PRIVATE ${EXE_FLAGS}) 63 target_compile_definitions(${EXE_TARGET} PRIVATE ${EXE_FLAGS})
56 set_target_properties( 64 set_target_properties(
57 ${EXE_TARGET} 65 ${EXE_TARGET}
58 PROPERTIES 66 PROPERTIES
59 RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin 67 RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin