summaryrefslogtreecommitdiff
path: root/cmake/FindEditbin.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/FindEditbin.cmake')
-rw-r--r--cmake/FindEditbin.cmake21
1 files changed, 19 insertions, 2 deletions
diff --git a/cmake/FindEditbin.cmake b/cmake/FindEditbin.cmake
index 363bc0053..8ed30599f 100644
--- a/cmake/FindEditbin.cmake
+++ b/cmake/FindEditbin.cmake
@@ -1,11 +1,28 @@
# Autodetect editbin. Only useful for MSVC.
-get_filename_component(MSVC_COMPILE_DIRECTORY ${CMAKE_CXX_COMPILER} DIRECTORY)
+if (NOT EDITBIN_DIRECTORY)
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ get_filename_component(MSVC_COMPILE_DIRECTORY ${CMAKE_CXX_COMPILER} DIRECTORY)
+ set(EDITBIN_DIRECTORY ${MSVC_COMPILE_DIRECTORY})
+ else (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ # For clang-cl build
+ # find editbin.exe from environmental variable VCToolsInstallDir
+ set(EDITBIN_DIRECTORY "$ENV{VCToolsInstallDir}/bin/Hostx64/x64")
+ endif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+endif (NOT EDITBIN_DIRECTORY)
+
+message(CHECK_START "Finding editbin.exe")
find_program(
EDITBIN_EXECUTABLE editbin.exe
- HINTS ${MSVC_COMPILE_DIRECTORY}
+ HINTS ${EDITBIN_DIRECTORY}
)
+if (EDITBIN_EXECUTABLE)
+ message(CHECK_PASS "found")
+else (EDITBIN_EXECUTABLE)
+ message(CHECK_FAIL "not found , please manually specify EDITBIN_DIRECTORY")
+endif (EDITBIN_EXECUTABLE)
+
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Editbin
FOUND_VAR EDITBIN_FOUND