mirror of
https://github.com/openharmony/third_party_ejdb.git
synced 2026-07-01 04:52:25 -04:00
86b1d0e7f3
Signed-off-by: stesen <stesen.ma@huawei.com> Change-Id: Idd85e9f93d8c2fb983958db2c79c1cfdb6f75275
54 lines
1.5 KiB
CMake
54 lines
1.5 KiB
CMake
if (NOT CMAKE_HOST_UNIX OR NOT WIN32)
|
|
return()
|
|
endif()
|
|
|
|
find_program(WINTOOLS_WINE_EXEC wine)
|
|
if (NOT WINTOOLS_WINE_EXEC)
|
|
message("Wine executable not found! Failed to initiate wintools staff.")
|
|
return()
|
|
endif()
|
|
|
|
find_program(WINTOOLS_WGET_EXEC wget)
|
|
if (NOT WINTOOLS_WGET_EXEC)
|
|
message("Wget executable not found! Failed to initiate wintools staff.")
|
|
return()
|
|
endif()
|
|
|
|
set(WINTOOLS_DIR ${CMAKE_BINARY_DIR}/WINTOOLS)
|
|
set(WINTOOLS_DL_ROOT "http://softmotions.com/windev")
|
|
|
|
if (NOT EXISTS ${WINTOOLS_DIR})
|
|
file(MAKE_DIRECTORY ${WINTOOLS_DIR})
|
|
endif()
|
|
|
|
set(WINTOOLS_EXECS)
|
|
foreach (WINTOOLS_EXEC link.exe lib.exe mspdb100.dll)
|
|
if (NOT EXISTS ${WINTOOLS_DIR}/${WINTOOLS_EXEC})
|
|
add_custom_command(OUTPUT ${WINTOOLS_DIR}/${WINTOOLS_EXEC}
|
|
COMMAND ${WINTOOLS_WGET_EXEC} ${WINTOOLS_DL_ROOT}/${WINTOOLS_EXEC} -nv -O${WINTOOLS_DIR}/${WINTOOLS_EXEC}
|
|
WORKING_DIRECTORY ${WINTOOLS_DIR})
|
|
list(APPEND WINTOOLS_EXECS ${WINTOOLS_DIR}/${WINTOOLS_EXEC})
|
|
endif()
|
|
endforeach(WINTOOLS_EXEC)
|
|
|
|
add_custom_target(wintools_init
|
|
DEPENDS ${WINTOOLS_EXECS})
|
|
|
|
if (CMAKE_SIZEOF_VOID_P MATCHES 8)
|
|
set(WINTOOLS_LIB_MACHINE "X64")
|
|
else()
|
|
set(WINTOOLS_LIB_MACHINE "X86")
|
|
endif()
|
|
message("${PROJECT_NAME} WINTOOLS_LIB_MACHINE: ${WINTOOLS_LIB_MACHINE}")
|
|
|
|
macro(add_w32_importlib tgt libname wdir)
|
|
add_custom_command(
|
|
TARGET ${tgt}
|
|
POST_BUILD
|
|
COMMAND ${WINTOOLS_WINE_EXEC} ${WINTOOLS_DIR}/lib.exe /def:${libname}.def /machine:${WINTOOLS_LIB_MACHINE}
|
|
WORKING_DIRECTORY ${wdir}
|
|
)
|
|
endmacro(add_w32_importlib)
|
|
|
|
|