]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
CMake: Throw a clear error when config.h in top-level source directory
authorFrank Lichtenheld <frank@lichtenheld.com>
Mon, 3 Jul 2023 15:39:25 +0000 (17:39 +0200)
committerGert Doering <gert@greenie.muc.de>
Tue, 4 Jul 2023 11:44:52 +0000 (13:44 +0200)
This causes weird, difficult to debug compilation errors. Usually
caused by trying to run CMake against a source that had an
in-tree autoconfig build.

Note that you're able to do out-of-tree autoconfig builds and
they can obviously mix with out-of-tree cmake builds.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Arne Schwabe <arne@rfc2549.org>
Message-Id: <20230703153925.48990-1-frank@lichtenheld.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg26809.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
CMakeLists.txt

index acebbb73cdc21e1178bbecda515c4f5582b2250c..597dc90746753a442c65fae1e8521e37ea558a84 100644 (file)
@@ -26,6 +26,10 @@ if (NOT WIN32 AND NOT ${UNSUPPORTED_BUILDS})
     message(FATAL_ERROR "Note: on Unix platform the official and supported build method is using autoconfig. CMake based build should be only used for Windows and internal testing/development.")
 endif()
 
+if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/config.h")
+    message(FATAL_ERROR "The top level source directory has a config.h file. Note that you can't mix in-tree autoconfig builds with out-of-tree cmake builds.")
+endif ()
+
 option(MBED "BUILD with mbed" OFF)
 option(WOLFSSL "BUILD with wolfSSL" OFF)
 option(ENABLE_LZ4 "BUILD with lz4" ON)