Browse Source

upgrade heatshrink cmake file

to be in sync with
tamasmeszaros 1 year ago
parent
commit
ce5f1951ce
1 changed files with 30 additions and 19 deletions
  1. 30 19
      deps/+heatshrink/CMakeLists.txt

+ 30 - 19
deps/+heatshrink/CMakeLists.txt

@@ -1,9 +1,13 @@
-cmake_minimum_required(VERSION 3.10)
-
-project(heatshrink C)
-
-add_library(${PROJECT_NAME} heatshrink_decoder.c heatshrink_encoder.c)
-add_library(${PROJECT_NAME}_dynalloc heatshrink_decoder.c heatshrink_encoder.c)
+cmake_minimum_required(VERSION 3.10)
+
+project(heatshrink LANGUAGES C VERSION 0.4.1)
+
+set(CMAKE_C_STANDARD 99)
+set(CMAKE_C_STANDARD_REQUIRED ON)
+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+
+add_library(${PROJECT_NAME} heatshrink_decoder.c heatshrink_encoder.c)
+add_library(${PROJECT_NAME}_dynalloc heatshrink_decoder.c heatshrink_encoder.c)
 
 find_library(MATH_LIBRARY m) # Business as usual
 if(MATH_LIBRARY)
@@ -19,19 +23,26 @@ target_compile_definitions(${PROJECT_NAME}_dynalloc PUBLIC HEATSHRINK_DYNAMIC_AL
 if (UNIX)
   add_executable(${PROJECT_NAME}_cmd heatshrink.c)
   target_link_libraries(${PROJECT_NAME}_cmd ${PROJECT_NAME}_dynalloc)
-  set_target_properties(${PROJECT_NAME}_cmd PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
-endif ()
-
-# Installation and export:
-
-include(CMakePackageConfigHelpers)
-
-write_basic_package_version_file(
-    "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
-    VERSION 0.4.1
-    COMPATIBILITY AnyNewerVersion
-)
-
+  set_target_properties(${PROJECT_NAME}_cmd PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
+endif ()
+
+foreach (tgt ${PROJECT_NAME} ${PROJECT_NAME}_dynalloc)
+  set_target_properties(${tgt}
+    PROPERTIES
+    VERSION ${PROJECT_VERSION}
+    SOVERSION ${PROJECT_VERSION})
+endforeach()
+
+# Installation and export:
+
+include(CMakePackageConfigHelpers)
+
+write_basic_package_version_file(
+    "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
+    VERSION ${PROJECT_VERSION}
+    COMPATIBILITY AnyNewerVersion
+)
+
 set(_exported_targets ${PROJECT_NAME} ${PROJECT_NAME}_dynalloc)
 if (UNIX)
   list(APPEND _exported_targets ${PROJECT_NAME}_cmd)