reactos/sdk/tools/widl/CMakeLists.txt
Victor Perevertkin 5375e33490
[CMAKE] Generate Flex and Bison files at build time
We have Flex and Bison distributed along with RosBE 2.2 so this should
not be a problem
2021-01-28 06:43:05 +03:00

52 lines
1.3 KiB
CMake

if(MSVC)
if(MSVC_VERSION LESS 1900)
add_definitions(-Dsnprintf=_snprintf)
# Add this definition for WDK only, VS 9 doesn't like that
if(DEFINED ENV{DDKBUILDENV})
add_definitions(-Dvsnprintf=_vsnprintf)
endif()
endif()
endif()
FLEX_TARGET(p_scanner parser.l ${CMAKE_CURRENT_BINARY_DIR}/parser.yy.c)
BISON_TARGET(p_parser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.tab.c COMPILE_FLAGS "-p parser_")
ADD_FLEX_BISON_DEPENDENCY(p_scanner p_parser)
list(APPEND SOURCE
client.c
expr.c
hash.c
header.c
proxy.c
register.c
server.c
typegen.c
typelib.c
typetree.c
utils.c
widl.c
write_msft.c
write_sltg.c
${FLEX_p_scanner_OUTPUTS}
${BISON_p_parser_OUTPUTS}
../port/getopt.c
../port/getopt1.c
../port/mkstemps.c)
# Taken from widl.rbuild
add_definitions(-DINT16=SHORT)
add_host_tool(widl ${SOURCE})
target_link_libraries(widl PRIVATE host_includes wpphost)
if(MSVC)
# Disable warning "'>': signed/unsigned mismatch"
target_compile_options(widl PRIVATE "/wd4018")
# Disable warning "unary minus operator applied to unsigned type, result still unsigned"
target_compile_options(widl PRIVATE "/wd4146")
# Disable warning "'=': conversion from 'a' to 'b', possible loss of data"
target_compile_options(widl PRIVATE "/wd4244")
endif()