]> git.lizzy.rs Git - irrlicht.git/commitdiff
Include revision in SOVERSION for (in)compatibility checks
authorsfan5 <sfan5@live.de>
Thu, 21 Jul 2022 17:49:36 +0000 (19:49 +0200)
committersfan5 <sfan5@live.de>
Thu, 21 Jul 2022 18:04:34 +0000 (20:04 +0200)
CMakeLists.txt
source/Irrlicht/CMakeLists.txt

index 2ecb9f7d373a9f30c3b556c3d04f982020091ee2..ac3cb9364fbc0ea5d75f63da87940416385e4398 100644 (file)
@@ -7,8 +7,10 @@ else()
        cmake_policy(VERSION 3.9)
 endif()
 
+set(IRRLICHTMT_REVISION 6)
+
 project(Irrlicht
-       VERSION 1.9.0
+       VERSION 1.9.0.${IRRLICHTMT_REVISION}
        LANGUAGES CXX
 )
 
index 9c10d8a59132a516734bc25356e06e7673948be9..57a43048f5c4e1c6d0a1842797d912c86625e481 100644 (file)
@@ -42,6 +42,20 @@ elseif(MSVC)
        endif()
 endif()
 
+# Sanity-check version
+
+include(CheckCXXSourceCompiles)
+set(CMAKE_REQUIRED_INCLUDES ${PROJECT_SOURCE_DIR}/include)
+unset(REVISION_SANITY_CHECK CACHE)
+check_cxx_source_compiles("#include <IrrCompileConfig.h>\n\
+#if IRRLICHT_VERSION_MT_REVISION != ${IRRLICHTMT_REVISION}\n\
+#error\n\
+#endif\n\
+int main() {}" REVISION_SANITY_CHECK)
+if(NOT REVISION_SANITY_CHECK)
+       message(FATAL_ERROR "IrrlichtMt revision number mismatches between CMake and headers.")
+endif()
+
 # Required libs
 
 find_package(ZLIB REQUIRED)
@@ -298,7 +312,6 @@ endif()
 
 set_target_properties(IrrlichtMt PROPERTIES
        VERSION ${PROJECT_VERSION}
-       SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
 )
 
 if(WIN32)