[CMAKE]
[reactos.git] / base / applications / rapps / CMakeLists.txt
1
2 set_unicode()
3
4 list(APPEND SOURCE
5 aboutdlg.c
6 available.c
7 installdlg.c
8 installed.c
9 listview.c
10 loaddlg.c
11 misc.c
12 parser.c
13 richedit.c
14 settingsdlg.c
15 splitter.c
16 statusbar.c
17 toolbar.c
18 treeview.c
19 winmain.c
20 rapps.rc)
21
22 include_directories(${CMAKE_CURRENT_BINARY_DIR})
23 include_directories(${REACTOS_BINARY_DIR}/include/reactos)
24 set_rc_compiler()
25
26 add_executable(rapps ${SOURCE})
27 set_module_type(rapps win32gui)
28 target_link_libraries(rapps uuid)
29
30 add_importlibs(rapps advapi32 comctl32 gdi32 urlmon user32 shell32 shlwapi kernel32 msvcrt ntdll)
31 add_dependencies(rapps rappsmsg)
32
33 #FIXME : move this to cmakemacros + gcc/msvc.cmake
34
35 if(MSVC)
36 MACRO(MACRO_MC FILE)
37 set (COMMAND_MC mc -r ${REACTOS_BINARY_DIR}/include/reactos -h ${REACTOS_BINARY_DIR}/include/reactos ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.mc)
38 ENDMACRO()
39 else()
40 MACRO(MACRO_MC FILE)
41 set(COMMAND_MC ${MINGW_PREFIX}windmc -A -b ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.mc -r ${REACTOS_BINARY_DIR}/include/reactos -h ${REACTOS_BINARY_DIR}/include/reactos)
42 ENDMACRO()
43 endif()
44
45 MACRO (MACRO_ADD_MESSAGE_HEADERS)
46
47 FOREACH(_in_FILE ${ARGN})
48
49 get_filename_component(FILE ${_in_FILE} NAME_WE)
50 MACRO_MC(${FILE})
51 add_custom_command(
52 OUTPUT ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.rc ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h
53 COMMAND ${COMMAND_MC}
54 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.mc
55 )
56 set_source_files_properties(
57 ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.rc
58 PROPERTIES GENERATED TRUE
59 )
60 add_custom_target(${FILE} ALL DEPENDS ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.rc)
61
62 ENDFOREACH(_in_FILE ${ARGN})
63
64 ENDMACRO (MACRO_ADD_MESSAGE_HEADERS)
65
66 MACRO_ADD_MESSAGE_HEADERS(rappsmsg.mc)
67
68 add_cab_target(rapps 1)