From 65215d480ffa7823265507348067cfdfcbe0cc0e Mon Sep 17 00:00:00 2001
From: Jacki <jacki@thejackimonster.de>
Date: Sun, 13 Oct 2024 06:18:37 +0200
Subject: [PATCH] Adjust cmake to find programs

Signed-off-by: Jacki <jacki@thejackimonster.de>
---
 CMakeLists.txt                 | 13 ++++++++-----
 config/ext/ClangFormat.cmake   |  6 ++++--
 config/ext/IncludeShader.cmake |  2 +-
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b2a6176..517e6d0d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,13 +44,16 @@ if (CMAKE_BUILD_TYPE)
 	set(vkcv_build_${_vkcv_build_type} 1)
 endif()
 
-if (EXISTS "/usr/bin/mold")
-	set(CMAKE_LINKER "/usr/bin/mold")
+find_program(mold_program "mold")
+
+if (EXISTS ${mold_program})
+	set(CMAKE_LINKER ${mold_program})
 endif()
 
-message(STATUS "Language: [ C++ " ${CMAKE_CXX_STANDARD} " ]")
-message(STATUS "Compiler: [ " ${CMAKE_CXX_COMPILER_ID} " " ${CMAKE_CXX_COMPILER_VERSION} " ]")
-message(STATUS "Linker: [ " ${CMAKE_LINKER} " ]")
+message(STATUS "Language:  [ C++ " ${CMAKE_CXX_STANDARD} " ]")
+message(STATUS "Generator: [ " ${CMAKE_GENERATOR} " ]")
+message(STATUS "Compiler:  [ " ${CMAKE_CXX_COMPILER_ID} " " ${CMAKE_CXX_COMPILER_VERSION} " ]")
+message(STATUS "Linker:    [ " ${CMAKE_LINKER} " ]")
 
 if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0.0"))
 	message(FATAL_ERROR "Upgrade your compiler! GCC 9.0+ is required!")
diff --git a/config/ext/ClangFormat.cmake b/config/ext/ClangFormat.cmake
index 723fd7a9..54e04a15 100644
--- a/config/ext/ClangFormat.cmake
+++ b/config/ext/ClangFormat.cmake
@@ -1,8 +1,10 @@
 
-if (EXISTS "/usr/bin/clang-format")
+find_program(clang_format_program "clang-format")
+
+if (EXISTS ${clang_format_program})
 	# note the option ALL which allows to format the source together with the application
 	add_custom_target( clang_format ALL
-			COMMAND /usr/bin/clang-format -style=file --sort-includes -i ${vkcv_sources}
+			COMMAND ${clang_format_program} -style=file --sort-includes -i ${vkcv_sources}
 			WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
 			COMMENT "Formatting code with Clang-Format"
 			VERBATIM )
diff --git a/config/ext/IncludeShader.cmake b/config/ext/IncludeShader.cmake
index e67a8716..f7f51101 100644
--- a/config/ext/IncludeShader.cmake
+++ b/config/ext/IncludeShader.cmake
@@ -38,7 +38,7 @@ function(include_shader shader include_dir source_dir)
 				add_custom_command(
 						OUTPUT ${source_target_file}
 						WORKING_DIRECTORY "${shader_directory}"
-						COMMAND xxd -i -C "${filename}" "${source_target_file}"
+						COMMAND ${xxd_program} -i -C "${filename}" "${source_target_file}"
 						COMMENT "Processing shader into source files: ${shader}"
 				)
 			else()
-- 
GitLab