mirror of
https://github.com/reactos/reactos.git
synced 2024-08-03 18:10:54 +00:00
[CMAKE]
- Introduce proper set_entrypoint and set_subsystem macros for both mingw and msvc. - Fix the subsystem for console apps. svn path=/branches/cmake-bringup/; revision=48893
This commit is contained in:
parent
0dfa12e039
commit
9ea8827010
16
gcc.cmake
16
gcc.cmake
|
@ -35,11 +35,21 @@ add_definitions(-Os -fno-strict-aliasing -ftracer -momit-leaf-frame-pointer -mpr
|
|||
|
||||
# Macros
|
||||
macro(set_entrypoint MODULE ENTRYPOINT)
|
||||
set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-Wl,-entry,_${ENTRYPOINT}")
|
||||
set(NEW_LINKER_FLAGS "-Wl,-entry,_${ENTRYPOINT}")
|
||||
get_target_property(LINKER_FLAGS ${MODULE} LINK_FLAGS)
|
||||
if(LINKER_FLAGS)
|
||||
set(NEW_LINKER_FLAGS "${LINKER_FLAGS} ${NEW_LINKER_FLAGS}")
|
||||
endif()
|
||||
set_target_properties(${MODULE} PROPERTIES LINK_FLAGS ${NEW_LINKER_FLAGS})
|
||||
endmacro()
|
||||
|
||||
macro(set_subsystem MODULE SUBSYSTEM)
|
||||
set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-Wl,--subsystem,${SUBSYSTEM}")
|
||||
set(NEW_LINKER_FLAGS "-Wl,--subsystem,${SUBSYSTEM}")
|
||||
get_target_property(LINKER_FLAGS ${MODULE} LINK_FLAGS)
|
||||
if(LINKER_FLAGS)
|
||||
set(NEW_LINKER_FLAGS "${LINKER_FLAGS} ${NEW_LINKER_FLAGS}")
|
||||
endif()
|
||||
set_target_properties(${MODULE} PROPERTIES LINK_FLAGS ${NEW_LINKER_FLAGS})
|
||||
endmacro()
|
||||
|
||||
macro(add_importlibs MODULE)
|
||||
|
@ -61,7 +71,7 @@ macro(set_module_type MODULE TYPE)
|
|||
set_entrypoint(${MODULE} WinMainCRTStartup)
|
||||
endif()
|
||||
if(${TYPE} MATCHES win32cui)
|
||||
set_subsystem(${MODULE} windows)
|
||||
set_subsystem(${MODULE} console)
|
||||
set_entrypoint(${MODULE} mainCRTStartup)
|
||||
endif()
|
||||
if(${TYPE} MATCHES win32dll)
|
||||
|
|
14
msc.cmake
14
msc.cmake
|
@ -15,11 +15,21 @@ add_definitions(/GS- /Zl /Zi)
|
|||
add_definitions(-Dinline=__inline -D__STDC__=1)
|
||||
|
||||
macro(set_entrypoint MODULE ENTRYPOINT)
|
||||
set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "/ENTRY:${ENTRYPOINT}")
|
||||
set(NEW_LINKER_FLAGS "/ENTRY:${ENTRYPOINT}")
|
||||
get_target_property(LINKER_FLAGS ${MODULE} LINK_FLAGS)
|
||||
if(LINKER_FLAGS)
|
||||
set(NEW_LINKER_FLAGS "${LINKER_FLAGS} ${NEW_LINKER_FLAGS}")
|
||||
endif()
|
||||
set_target_properties(${MODULE} PROPERTIES LINK_FLAGS ${NEW_LINKER_FLAGS})
|
||||
endmacro()
|
||||
|
||||
macro(set_subsystem MODULE SUBSYSTEM)
|
||||
set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "/subsystem:${SUBSYSTEM}")
|
||||
set(NEW_LINKER_FLAGS "/subsystem:${SUBSYSTEM}")
|
||||
get_target_property(LINKER_FLAGS ${MODULE} LINK_FLAGS)
|
||||
if(LINKER_FLAGS)
|
||||
set(NEW_LINKER_FLAGS "${LINKER_FLAGS} ${NEW_LINKER_FLAGS}")
|
||||
endif()
|
||||
set_target_properties(${MODULE} PROPERTIES LINK_FLAGS ${NEW_LINKER_FLAGS})
|
||||
endmacro()
|
||||
|
||||
macro(add_importlibs MODULE)
|
||||
|
|
Loading…
Reference in a new issue