aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/detect_compiler/CMakeLists.txt8
-rw-r--r--scripts/detect_compiler/portfile.cmake28
-rw-r--r--scripts/ports.cmake7
3 files changed, 39 insertions, 4 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}")
diff --git a/scripts/ports.cmake b/scripts/ports.cmake
index cd687026f..8c7c71d34 100644
--- a/scripts/ports.cmake
+++ b/scripts/ports.cmake
@@ -43,9 +43,6 @@ if(CMD MATCHES "^BUILD$")
if(NOT EXISTS ${CURRENT_PORT_DIR}/portfile.cmake)
message(FATAL_ERROR "Port is missing portfile: ${CURRENT_PORT_DIR}/portfile.cmake")
endif()
- if(NOT EXISTS ${CURRENT_PORT_DIR}/CONTROL)
- message(FATAL_ERROR "Port is missing control file: ${CURRENT_PORT_DIR}/CONTROL")
- endif()
unset(PACKAGES_DIR)
unset(BUILDTREES_DIR)
@@ -74,7 +71,9 @@ if(CMD MATCHES "^BUILD$")
include(${SCRIPTS}/cmake/vcpkg_common_definitions.cmake)
include(${SCRIPTS}/cmake/vcpkg_common_functions.cmake)
include(${CURRENT_PORT_DIR}/portfile.cmake)
- include(${SCRIPTS}/build_info.cmake)
+ if(DEFINED PORT)
+ include(${SCRIPTS}/build_info.cmake)
+ endif()
elseif(CMD MATCHES "^CREATE$")
file(TO_NATIVE_PATH ${VCPKG_ROOT_DIR} NATIVE_VCPKG_ROOT_DIR)
file(TO_NATIVE_PATH ${DOWNLOADS} NATIVE_DOWNLOADS)