From 455ee4c08c8136849913e16d93dc475af07762f5 Mon Sep 17 00:00:00 2001 From: Seppe Stas Date: Wed, 5 Jun 2019 22:39:27 +0200 Subject: [PATCH] Set KiCad version in MacOS apps Uses CMake's configure_file function [1] to automaticaly set the CFBundleShortVersionString [2] value in every app's Info.plist file. Also updates the CFBundleLongVersionString and CFBundleVersion with the extended KiCad Version [1]: https://cmake.org/cmake/help/latest/command/configure_file.html [2]: https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring --- .gitignore | 10 ++++++++++ bitmap2component/CMakeLists.txt | 3 +++ bitmap2component/{Info.plist => Info.plist.in} | 6 +++--- cvpcb/CMakeLists.txt | 3 +++ cvpcb/{Info.plist => Info.plist.in} | 6 +++--- eeschema/CMakeLists.txt | 3 +++ eeschema/{Info.plist => Info.plist.in} | 6 +++--- gerbview/CMakeLists.txt | 3 +++ gerbview/{Info.plist => Info.plist.in} | 6 +++--- kicad/CMakeLists.txt | 3 +++ kicad/{Info.plist => Info.plist.in} | 6 +++--- pagelayout_editor/CMakeLists.txt | 3 +++ pagelayout_editor/{Info.plist => Info.plist.in} | 6 +++--- pcb_calculator/CMakeLists.txt | 3 +++ pcb_calculator/{Info.plist => Info.plist.in} | 6 +++--- pcbnew/CMakeLists.txt | 3 +++ pcbnew/{Info.plist => Info.plist.in} | 6 +++--- 17 files changed, 58 insertions(+), 24 deletions(-) rename bitmap2component/{Info.plist => Info.plist.in} (91%) rename cvpcb/{Info.plist => Info.plist.in} (92%) rename eeschema/{Info.plist => Info.plist.in} (87%) rename gerbview/{Info.plist => Info.plist.in} (90%) rename kicad/{Info.plist => Info.plist.in} (87%) rename pagelayout_editor/{Info.plist => Info.plist.in} (87%) rename pcb_calculator/{Info.plist => Info.plist.in} (90%) rename pcbnew/{Info.plist => Info.plist.in} (86%) diff --git a/.gitignore b/.gitignore index 7e3caf91d0..7a4c04491c 100644 --- a/.gitignore +++ b/.gitignore @@ -59,6 +59,16 @@ demos/**/*-bak demos/**/_autosave-* demos/**/fp-info-cache +# MacOS package info created by CMake +bitmap2component/Info.plist +cvpcb/Info.plist +eeschema/Info.plist +gerbview/Info.plist +kicad/Info.plist +pagelayout_editor/Info.plist +pcb_calculator/Info.plist +pcbnew/Info.plist + # editor/OS fluff .*.swp *~ diff --git a/bitmap2component/CMakeLists.txt b/bitmap2component/CMakeLists.txt index 59e68f4f94..3cf1913a88 100644 --- a/bitmap2component/CMakeLists.txt +++ b/bitmap2component/CMakeLists.txt @@ -56,6 +56,9 @@ target_link_libraries( bitmap2component ) if( APPLE ) + include( ${CMAKE_MODULE_PATH}/KiCadVersion.cmake ) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist @ONLY ) + set_target_properties( bitmap2component PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist ) diff --git a/bitmap2component/Info.plist b/bitmap2component/Info.plist.in similarity index 91% rename from bitmap2component/Info.plist rename to bitmap2component/Info.plist.in index a4f4cffd6c..d390f46db9 100644 --- a/bitmap2component/Info.plist +++ b/bitmap2component/Info.plist.in @@ -17,17 +17,17 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString - + @KICAD_VERSION_FULL@ CFBundleName Bitmap 2 Component CFBundlePackageType APPL CFBundleShortVersionString - + @KICAD_VERSION@ CFBundleSignature ???? CFBundleVersion - + @KICAD_VERSION_FULL@ CSResourcesFileMapped LSRequiresCarbon diff --git a/cvpcb/CMakeLists.txt b/cvpcb/CMakeLists.txt index 88e91fa4d8..684ea7b873 100644 --- a/cvpcb/CMakeLists.txt +++ b/cvpcb/CMakeLists.txt @@ -94,6 +94,9 @@ if( false ) # no CVPCB exe any more, only the *.kiface endif() if( APPLE ) + include( ${CMAKE_MODULE_PATH}/KiCadVersion.cmake ) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist @ONLY ) + set_target_properties( cvpcb PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist ) diff --git a/cvpcb/Info.plist b/cvpcb/Info.plist.in similarity index 92% rename from cvpcb/Info.plist rename to cvpcb/Info.plist.in index 0b7f606741..195a4467bc 100644 --- a/cvpcb/Info.plist +++ b/cvpcb/Info.plist.in @@ -31,17 +31,17 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString - + @KICAD_VERSION_FULL@ CFBundleName CvPcb CFBundlePackageType APPL CFBundleShortVersionString - + @KICAD_VERSION@ CFBundleSignature ???? CFBundleVersion - + @KICAD_VERSION_FULL@ CSResourcesFileMapped LSRequiresCarbon diff --git a/eeschema/CMakeLists.txt b/eeschema/CMakeLists.txt index bf831a7549..ca86d46080 100644 --- a/eeschema/CMakeLists.txt +++ b/eeschema/CMakeLists.txt @@ -383,6 +383,9 @@ endif() # these 2 binaries are a matched set, keep them together: if( APPLE ) + include( ${CMAKE_MODULE_PATH}/KiCadVersion.cmake ) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist @ONLY ) + set_target_properties( eeschema PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist ) diff --git a/eeschema/Info.plist b/eeschema/Info.plist.in similarity index 87% rename from eeschema/Info.plist rename to eeschema/Info.plist.in index f67decc9c3..1dddb23d51 100644 --- a/eeschema/Info.plist +++ b/eeschema/Info.plist.in @@ -21,12 +21,12 @@ CFBundleIconFile eeschema.icns CFBundleIdentifier org.kicad-pcb.eeschema CFBundleInfoDictionaryVersion 6.0 - CFBundleLongVersionString + CFBundleLongVersionString @KICAD_VERSION_FULL@ CFBundleName Eeschema CFBundlePackageType APPL - CFBundleShortVersionString + CFBundleShortVersionString @KICAD_VERSION@ CFBundleSignature ???? - CFBundleVersion + CFBundleVersion @KICAD_VERSION_FULL@ CSResourcesFileMapped LSRequiresCarbon NSRequiresAquaSystemAppearance diff --git a/gerbview/CMakeLists.txt b/gerbview/CMakeLists.txt index ce02aad723..799ae63547 100644 --- a/gerbview/CMakeLists.txt +++ b/gerbview/CMakeLists.txt @@ -154,6 +154,9 @@ add_dependencies( gerbview gerbview_kiface ) # these 2 binaries are a matched set, keep them together if( APPLE ) + include( ${CMAKE_MODULE_PATH}/KiCadVersion.cmake ) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist @ONLY ) + set_target_properties( gerbview PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist ) diff --git a/gerbview/Info.plist b/gerbview/Info.plist.in similarity index 90% rename from gerbview/Info.plist rename to gerbview/Info.plist.in index 5ddd7015ac..4ea656e514 100644 --- a/gerbview/Info.plist +++ b/gerbview/Info.plist.in @@ -41,12 +41,12 @@ CFBundleIconFile gerbview.icns CFBundleIdentifier org.kicad-pcb.gerbview CFBundleInfoDictionaryVersion 6.0 - CFBundleLongVersionString + CFBundleLongVersionString @KICAD_VERSION_FULL@ CFBundleName GerbView CFBundlePackageType APPL - CFBundleShortVersionString + CFBundleShortVersionString @KICAD_VERSION@ CFBundleSignature ???? - CFBundleVersion + CFBundleVersion @KICAD_VERSION_FULL@ CSResourcesFileMapped LSRequiresCarbon NSRequiresAquaSystemAppearance diff --git a/kicad/CMakeLists.txt b/kicad/CMakeLists.txt index 2949956d3f..c811ede479 100644 --- a/kicad/CMakeLists.txt +++ b/kicad/CMakeLists.txt @@ -65,6 +65,9 @@ if( UNIX ) endif() if( APPLE ) + include( ${CMAKE_MODULE_PATH}/KiCadVersion.cmake ) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist @ONLY ) + set_target_properties( kicad PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist ) diff --git a/kicad/Info.plist b/kicad/Info.plist.in similarity index 87% rename from kicad/Info.plist rename to kicad/Info.plist.in index d1eb9210b2..7a2d1de403 100644 --- a/kicad/Info.plist +++ b/kicad/Info.plist.in @@ -20,12 +20,12 @@ CFBundleIconFile kicad.icns CFBundleIdentifier org.kicad-pcb.kicad CFBundleInfoDictionaryVersion 6.0 - CFBundleLongVersionString + CFBundleLongVersionString @KICAD_VERSION_FULL@ CFBundleName KiCad CFBundlePackageType APPL - CFBundleShortVersionString + CFBundleShortVersionString @KICAD_VERSION@ CFBundleSignature ???? - CFBundleVersion + CFBundleVersion @KICAD_VERSION_FULL@ CSResourcesFileMapped LSRequiresCarbon NSRequiresAquaSystemAppearance diff --git a/pagelayout_editor/CMakeLists.txt b/pagelayout_editor/CMakeLists.txt index a1955b06f7..2187bfa9fb 100644 --- a/pagelayout_editor/CMakeLists.txt +++ b/pagelayout_editor/CMakeLists.txt @@ -122,6 +122,9 @@ add_dependencies( pl_editor pl_editor_kiface ) # these 2 binaries are a matched set, keep them together: if( APPLE ) + include( ${CMAKE_MODULE_PATH}/KiCadVersion.cmake ) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist @ONLY ) + set_target_properties( pl_editor PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist ) diff --git a/pagelayout_editor/Info.plist b/pagelayout_editor/Info.plist.in similarity index 87% rename from pagelayout_editor/Info.plist rename to pagelayout_editor/Info.plist.in index bcea27bd1b..ad51f4b7b4 100644 --- a/pagelayout_editor/Info.plist +++ b/pagelayout_editor/Info.plist.in @@ -21,12 +21,12 @@ CFBundleIconFile pl_editor.icns CFBundleIdentifier org.kicad-pcb.pl_editor CFBundleInfoDictionaryVersion 6.0 - CFBundleLongVersionString + CFBundleLongVersionString @KICAD_VERSION_FULL@ CFBundleName Page Layout Editor CFBundlePackageType APPL - CFBundleShortVersionString + CFBundleShortVersionString @KICAD_VERSION@ CFBundleSignature ???? - CFBundleVersion + CFBundleVersion @KICAD_VERSION_FULL@ CSResourcesFileMapped LSRequiresCarbon NSRequiresAquaSystemAppearance diff --git a/pcb_calculator/CMakeLists.txt b/pcb_calculator/CMakeLists.txt index 7196a32816..2f66733343 100644 --- a/pcb_calculator/CMakeLists.txt +++ b/pcb_calculator/CMakeLists.txt @@ -106,6 +106,9 @@ add_dependencies( pcb_calculator pcb_calculator_kiface ) # these 2 binaries are a matched set, keep them together if( APPLE ) + include( ${CMAKE_MODULE_PATH}/KiCadVersion.cmake ) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist @ONLY ) + set_target_properties( pcb_calculator PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist ) diff --git a/pcb_calculator/Info.plist b/pcb_calculator/Info.plist.in similarity index 90% rename from pcb_calculator/Info.plist rename to pcb_calculator/Info.plist.in index 726193803c..8a09b13b33 100644 --- a/pcb_calculator/Info.plist +++ b/pcb_calculator/Info.plist.in @@ -15,17 +15,17 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString - + @KICAD_VERSION_FULL@ CFBundleName PCB Calculator CFBundlePackageType APPL CFBundleShortVersionString - + @KICAD_VERSION@ CFBundleSignature ???? CFBundleVersion - + @KICAD_VERSION_FULL@ CSResourcesFileMapped LSRequiresCarbon diff --git a/pcbnew/CMakeLists.txt b/pcbnew/CMakeLists.txt index 9813b13d58..8ec8057928 100644 --- a/pcbnew/CMakeLists.txt +++ b/pcbnew/CMakeLists.txt @@ -674,6 +674,9 @@ add_dependencies( pcbnew_kiface_objects specctra_lexer_source_files ) # these 2 binaries are a matched set, keep them together: if( APPLE ) + include( ${CMAKE_MODULE_PATH}/KiCadVersion.cmake ) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist @ONLY ) + set_target_properties( pcbnew PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist ) diff --git a/pcbnew/Info.plist b/pcbnew/Info.plist.in similarity index 86% rename from pcbnew/Info.plist rename to pcbnew/Info.plist.in index 2c00f01110..d7ab563644 100644 --- a/pcbnew/Info.plist +++ b/pcbnew/Info.plist.in @@ -23,12 +23,12 @@ CFBundleIconFile pcbnew.icns CFBundleIdentifier org.kicad-pcb.pcbnew CFBundleInfoDictionaryVersion 6.0 - CFBundleLongVersionString + CFBundleLongVersionString @KICAD_VERSION_FULL@ CFBundleName Pcbnew CFBundlePackageType APPL - CFBundleShortVersionString + CFBundleShortVersionString @KICAD_VERSION@ CFBundleSignature ???? - CFBundleVersion + CFBundleVersion @KICAD_VERSION_FULL@ CSResourcesFileMapped LSRequiresCarbon NSRequiresAquaSystemAppearance