From e8b30b2282bc908b837c3e2bf4a030c55f5eb253 Mon Sep 17 00:00:00 2001 From: Atul R Date: Sun, 22 Sep 2019 17:19:41 +0200 Subject: [PATCH] Adds target versioning" --- CMakeLists.txt | 10 ++++++++-- config/common.cmake | 13 ++++++++++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4772cae71..7212b1050 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,10 +4,11 @@ include(./config/common.cmake) include(./config/qt.cmake) include(./config/napi.cmake) -project(NodeGUI VERSION 1.0) +# --------------------------------------- set(CORE_WIDGETS_ADDON "nodegui_core") -# --------------------------------------- + +project(${CORE_WIDGETS_ADDON}) add_library(${CORE_WIDGETS_ADDON} SHARED "${CMAKE_JS_SRC}" @@ -87,4 +88,9 @@ target_include_directories(${CORE_WIDGETS_ADDON} PRIVATE target_link_libraries(${CORE_WIDGETS_ADDON} PRIVATE "${CMAKE_JS_LIB}" +) + +GetModuleVersion(${CORE_WIDGETS_ADDON} "${CMAKE_CURRENT_LIST_DIR}") +set_target_properties(${CORE_WIDGETS_ADDON} PROPERTIES + VERSION "${${CORE_WIDGETS_ADDON}_VERSION}" ) \ No newline at end of file diff --git a/config/common.cmake b/config/common.cmake index e330d5b68..e5bb4bd56 100644 --- a/config/common.cmake +++ b/config/common.cmake @@ -10,4 +10,15 @@ function(AddCommonConfig addonName) ENUM_BITFIELDS_NOT_SUPPORTED ) endif() -endfunction(AddCommonConfig addonName) \ No newline at end of file +endfunction(AddCommonConfig addonName) + +function(GetModuleVersion moduleName packageJsonDir) + execute_process(COMMAND node -p "require('${packageJsonDir}/package.json').version" + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE packageJsonVersion + ) + string(REPLACE "\n" "" packageJsonVersion "${packageJsonVersion}") + string(REPLACE "\"" "" packageJsonVersion "${packageJsonVersion}") + + set("${moduleName}_VERSION" "${packageJsonVersion}" PARENT_SCOPE) +endfunction(GetModuleVersion moduleName packageJsonDir) \ No newline at end of file