]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fix build error when cross-compiling for Windows
authorSteve Lhomme <robux4@ycbcr.xyz>
Thu, 25 May 2023 09:33:23 +0000 (11:33 +0200)
committerMartin Matuška <martin@matuska.de>
Thu, 13 Jul 2023 22:28:13 +0000 (00:28 +0200)
CHECK_C_SOURCE_RUNS generates a build error when cross-compiling.

ZLIB_WINAPI is the only one tested. When the run test fails, it's tested again
with just a compilation.

CMakeLists.txt

index dbb95e34d3fdc10fc9a3ec312c31ce5db83cc8f9..f0bbfd02c84cbb381978392cf01328ffaadb278d 100644 (file)
@@ -370,7 +370,11 @@ MACRO (TRY_MACRO_FOR_LIBRARY INCLUDES LIBRARIES
       IF("${TRY_TYPE}" MATCHES "COMPILES")
         CHECK_C_SOURCE_COMPILES("${SAMPLE_SOURCE}" ${VAR})
       ELSEIF("${TRY_TYPE}" MATCHES "RUNS")
-        CHECK_C_SOURCE_RUNS("${SAMPLE_SOURCE}" ${VAR})
+        IF(CMAKE_CROSSCOMPILING)
+          MESSAGE(WARNING "Cannot test run \"${VAR}\" when cross-compiling")
+        ELSE(CMAKE_CROSSCOMPILING)
+          CHECK_C_SOURCE_RUNS("${SAMPLE_SOURCE}" ${VAR})
+        ENDIF(CMAKE_CROSSCOMPILING)
       ELSE("${TRY_TYPE}" MATCHES "COMPILES")
         MESSAGE(FATAL_ERROR "UNKNOWN KEYWORD \"${TRY_TYPE}\" FOR TRY_TYPE")
       ENDIF("${TRY_TYPE}" MATCHES "COMPILES")