1 2remove_definitions(-D_WIN32_WINNT=0x502) 3add_definitions(-D_WIN32_WINNT=0x600) 4 5include_directories( 6 concfg 7 consrv) 8 9list(APPEND CONSRV_SOURCE 10 consrv/alias.c 11 consrv/coninput.c 12 consrv/conoutput.c 13 consrv/console.c 14 consrv/frontendctl.c 15 consrv/handle.c 16 consrv/history.c 17 consrv/init.c 18 consrv/lineinput.c 19 consrv/popup.c 20 consrv/settings.c 21 consrv/shutdown.c 22 consrv/subsysreg.c 23 consrv/condrv/coninput.c 24 consrv/condrv/conoutput.c 25 consrv/condrv/console.c 26 consrv/condrv/dummyterm.c 27 consrv/condrv/graphics.c 28 consrv/condrv/text.c 29 consrv/frontends/input.c 30 consrv/frontends/terminal.c 31 consrv/frontends/wcwidth.c 32 consrv/frontends/gui/conwnd.c 33 consrv/frontends/gui/fullscreen.c 34 consrv/frontends/gui/guiterm.c 35 consrv/frontends/gui/guisettings.c 36 consrv/frontends/gui/graphics.c 37 consrv/frontends/gui/text.c 38 consrv/frontends/tui/tuiterm.c 39 # consrv/consrv.rc 40 consrv/consrv.h) 41 42# 43# Explicitly enable MS extensions to be able to use unnamed (anonymous) nested structs. 44# 45# FIXME: http://www.cmake.org/Bug/view.php?id=12998 46if(MSVC) 47 ## NOTE: No need to specify it as we use MSVC :) 48 ##target_compile_options(consrv PRIVATE "/Ze") 49 #set_source_files_properties(${CONSRV_SOURCE} PROPERTIES COMPILE_FLAGS "/Ze") 50else() 51 #target_compile_options(consrv PRIVATE "-fms-extensions") 52 set_source_files_properties(${CONSRV_SOURCE} PROPERTIES COMPILE_FLAGS "-fms-extensions") 53endif() 54 55add_library(consrv ${CONSRV_SOURCE}) 56target_link_libraries(consrv pseh) 57add_dependencies(consrv psdk) 58add_pch(consrv consrv/consrv.h CONSRV_SOURCE) 59#add_object_library(consrv ${CONSRV_SOURCE}) 60list(APPEND CONSRV_IMPORT_LIBS psapi) 61list(APPEND CONSRV_DELAY_IMPORT_LIBS shell32 ole32) 62list(APPEND CONSRV_TARGET_LINK_LIBS concfg uuid) 63set_module_type(consrv module UNICODE) 64