ae2f_docs
Loading...
Searching...
No Matches
Macro.cmake
1set(ae2f_MAC_KEYWORD "ae2f_MAC")
2option(ae2f_MAC_BUILD "Convention variable. If on, macro function will be built." OFF)
3
4function(ae2f_Macro_init prm_CMT_REQUIRED prm_SZPARAM prm_SZTPARAM)
5 file(REMOVE_RECURSE ${ae2f_Macro_ROOT}/build)
6 message("[ae2f_Macro_init] ${CMAKE_GENERATOR}")
7
8 if(DEFINED ae2f_PreProc_CMAKE_C_STANDARD)
9 set(cstd "-DCMAKE_C_STANDARD=${ae2f_PreProc_CMAKE_C_STANDARD}")
10 else()
11 set(cstd "")
12 endif()
13
14 if(DEFINED ae2f_PreProc_CMAKE_C_COMPILER)
15 set(cc "-DCMAKE_C_COMPILER=${ae2f_PreProc_CMAKE_C_COMPILER}")
16 else()
17 set(cc "")
18 endif()
19
20 if(DEFINED CMAKE_GENERATOR)
21 set(gen "-G${CMAKE_GENERATOR}")
22 else()
23 set(gen "")
24 endif()
25
26 execute_process(
27 WORKING_DIRECTORY ${ae2f_Macro_ROOT}
28 COMMAND ${CMAKE_COMMAND}
29 "-S" "." "-B" "./build"
30 -Dae2f_Macro_CMT_REQUIRED=${prm_CMT_REQUIRED}
31 -Dae2f_Macro_SZPARAM=${prm_SZPARAM}
32 -Dae2f_Macro_SZTPARAM=${prm_SZTPARAM}
33 -Dae2f_MAC_KEYWORD=${ae2f_MAC_KEYWORD}
34 ${ae2f_PreProc_C_PRM}
35 ${gen} ${cstd} ${cc}
36 ${ARGN}
37 RESULT_VARIABLE ConfOut
38 )
39
40 if(NOT ConfOut EQUAL 0)
41 message(FATAL_ERROR "[ae2f_Macro_init] Configuration failed. ${ConfOut}")
42 endif()
43
44 execute_process(
45 WORKING_DIRECTORY ${ae2f_Macro_ROOT}
46 COMMAND ${CMAKE_COMMAND} "--build" "build"
47 RESULT_VARIABLE BuildOut
48 )
49
50 if(NOT BuildOut EQUAL 0)
51 message(FATAL_ERROR "[ae2f_Macro_init] Build failed. ${BuildOut}")
52 endif()
53
54 message("[ae2f_Macro_init] Succeed.")
55endfunction()
56
57function(ae2f_Macro_one prm_in prm_out)
58 message("[ae2f_Macro_one] ${prm_in} ${prm_out}")
59 message("[ae2f_Macro_one] ROOT ${ae2f_Macro_ROOT}")
60
61 file(GLOB_RECURSE macrocmd ${ae2f_Macro_ROOT}/build/bin