aboutsummaryrefslogtreecommitdiff
path: root/scripts/detect_compiler
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/detect_compiler')
-rw-r--r--scripts/detect_compiler/CMakeLists.txt8
-rw-r--r--scripts/detect_compiler/portfile.cmake28
2 files changed, 36 insertions, 0 deletions
diff --git a/scripts/detect_compiler/CMakeLists.txt b/scripts/detect_compiler/CMakeLists.txt
new file mode 100644
index 000000000..5dc0889a6
--- /dev/null
+++ b/scripts/detect_compiler/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.10)
+project(detect_compiler)
+
+file(SHA1 "${CMAKE_CXX_COMPILER}" CXX_HASH)
+file(SHA1 "${CMAKE_C_COMPILER}" C_HASH)
+string(SHA1 COMPILER_HASH "${C_HASH}${CXX_HASH}")
+
+message("#COMPILER_HASH#${COMPILER_HASH}")
diff --git a/scripts/detect_compiler/portfile.cmake b/scripts/detect_compiler/portfile.cmake
new file mode 100644
index 000000000..16c760706
--- /dev/null
+++ b/scripts/detect_compiler/portfile.cmake
@@ -0,0 +1,28 @@
+set(LOGS
+ ${CURRENT_BUILDTREES_DIR}/config-${TARGET_TRIPLET}-out.log
+ ${CURRENT_BUILDTREES_DIR}/config-${TARGET_TRIPLET}-rel-out.log
+ ${CURRENT_BUILDTREES_DIR}/config-${TARGET_TRIPLET}-dbg-out.log
+)
+
+foreach(LOG IN LISTS LOGS)
+ file(REMOVE ${LOG})
+ if(EXISTS ${LOG})
+ message(FATAL_ERROR "Could not remove ${LOG}")
+ endif()
+endforeach()
+
+set(VCPKG_BUILD_TYPE release)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}"
+ PREFER_NINJA
+)
+
+foreach(LOG IN LISTS LOGS)
+ if(EXISTS ${LOG})
+ file(READ "${LOG}" _contents)
+ message("${_contents}")
+ return()
+ endif()
+endforeach()
+message(FATAL_ERROR "Could read logs: ${LOGS}")