Skip to content

Commit

Permalink
DBC Lib v1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ihedvall committed May 27, 2023
1 parent 8797f9d commit 6d215f8
Show file tree
Hide file tree
Showing 9 changed files with 59 additions and 66 deletions.
6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/_includes/head-custom.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<nav>
<a href="index.html">Home</a> |
<a href="dbclib.html">DBC C++ Library</a> |
<a href="dbcviewer.html">MDF Viewer</a> |
<a href="dbcviewer.html">DBC Viewer</a> |
<a href="manual/html/index.html">API Manual</a> |
</nav>
</section>
Expand Down
Binary file added img/dbclib.ico
Binary file not shown.
Binary file added img/dbclib.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/document.ico
Binary file not shown.
Binary file removed img/mdflib.ico
Binary file not shown.
Binary file removed img/mdflib.png
Binary file not shown.
113 changes: 50 additions & 63 deletions script/dbclib.nsi
Original file line number Diff line number Diff line change
@@ -1,36 +1,40 @@
# Copyright 2022 Ingemar Hedvall
# Copyright 2023 Ingemar Hedvall
# SPDX-License-Identifier: MIT

!include MUI2.nsh
!include x64.nsh
!include FileFunc.nsh

Name "Util Applications and Libraries"
OutFile "..\cmake-build-release\utillib.exe"

!define APP_BUILD_DIR "..\cmake-build-release" ; Path to executable and release library
!define APP_BUILD_DIR_DEBUG "..\cmake-build-debug" ; Path to the util debug library

Name "DBC Applications and Libraries 1.0"
OutFile "..\cmake-build-release\dbclib.exe"
Unicode True

RequestExecutionLevel admin
RequestExecutionLevel admin ; Request for admin login

Var StartMenuFolder

InstallDir "$LOCALAPPDATA\UtilLib"
InstallDirRegKey HKLM "Software\UtilLib" ""
InstallDir "$LOCALAPPDATA\dbclib"
InstallDirRegKey HKLM "Software\DbcLib" ""


!define MUI_ABORTWARNING
!define ARP "Software\Microsoft\Windows\CurrentVersion\Uninstall\UtilLib"
!define ARP "Software\Microsoft\Windows\CurrentVersion\Uninstall\DbcLib"
!define MSVS_DIR "d:\msvs" ; Path where the MS Visual Studio Run-Time libraries are downloaded

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "..\LICENSE"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY

!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Util Apps & Libs"
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "DBC Apps & Libs"
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\UtilLib"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\DbcLib"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder

!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH

Expand All @@ -44,22 +48,29 @@ InstallDirRegKey HKLM "Software\UtilLib" ""
;--------------------------------
;Installer Sections

Section "Applications" App
SectionIn RO
Section "Visual Studio Runtime" MSCRT
SectionIn RO ; Must be included
SetShellVarContext all
SetRegView 64
SetOutPath "$INSTDIR\bin"
File "${MSVS_DIR}\VC_redist.x64.exe"
ExecWait '"$INSTDIR\bin\VC_redist.x64.exe" /passive /norestart'
; Delete "$INSTDIR\bin\VC_redist.x64.exe.exe"
SectionEnd

Section "Applications" APP
; SectionIn RO
SetRegView 64
SetShellVarContext all

SetOutPath "$INSTDIR\bin"
File "..\cmake-build-release\listend\*.exe"
File "..\cmake-build-release\listenviewer\*.exe"
File "..\cmake-build-release\serviced\serviced.exe"
File "..\cmake-build-release\serviceexplorer\serviceexplorer.exe"

File "${APP_BUILD_DIR}\dbcviewer\*.exe"

SetOutPath "$INSTDIR\img"
File "..\img\*.*"

;Store installation folder
WriteRegStr HKLM "Software\ReportServer" "" $INSTDIR
WriteRegStr HKLM "Software\DbcLib" "" $INSTDIR

WriteUninstaller "$INSTDIR\Uninstall.exe"

Expand All @@ -70,8 +81,8 @@ Section "Applications" App

WriteRegNone HKLM "${ARP}" ""
WriteRegStr HKLM "${ARP}" "InstallLocation" $INSTDIR
WriteRegStr HKLM "${ARP}" "DisplayIcon" "$INSTDIR\img\utillib.ico"
WriteRegStr HKLM "${ARP}" "DisplayName" "Util Apps & Libs 1.0"
WriteRegStr HKLM "${ARP}" "DisplayIcon" "$INSTDIR\img\dbclib.ico"
WriteRegStr HKLM "${ARP}" "DisplayName" "DBC Apps & Libs 1.0"
WriteRegStr HKLM "${ARP}" "DisplayVersion" "1.0.0"
WriteRegStr HKLM "${ARP}" "Publisher" "Ingemar Hedvall"
WriteRegDWORD HKLM "${ARP}" "NoModify" 1
Expand All @@ -83,69 +94,45 @@ Section "Applications" App

;Create uninstaller


!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Listen Viewer.lnk" "$INSTDIR\bin\listenviewer.exe"
CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Service Explorer.lnk" "$INSTDIR\bin\serviceexplorer.exe"
!insertmacro MUI_STARTMENU_WRITE_END
CreateShortcut "$SMPROGRAMS\$StartMenuFolder\DBC Viewer.lnk" "$INSTDIR\bin\dbcview.exe"
!insertmacro MUI_STARTMENU_WRITE_END

SectionEnd

Section /o "Util Library" Util
Section /o "DBC Library" LIB
SetRegView 64

SetOutPath "$INSTDIR\lib"
File "..\cmake-build-release\util.lib"
File "..\cmake-build-debug\utild.lib"
File "${APP_BUILD_DIR}\dbc.lib"
File "${APP_BUILD_DIR_DEBUG}\dbcd.lib"

SetOutPath "$INSTDIR\include\util"
File "..\include\util\*.*"
SetOutPath "$INSTDIR\include\dbc"
File "..\include\dbc\*.*"

SetOutPath "$INSTDIR\doc\util"
SetOutPath "$INSTDIR\doc\dbc"
File /r "..\docs\manual\html\*.*"

CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Util Library Documentation.lnk" \
"$INSTDIR\doc\util\index.html" "" "$INSTDIR\img\document.ico" \
CreateShortcut "$SMPROGRAMS\$StartMenuFolder\DBC Library Documentation.lnk" \
"$INSTDIR\doc\dbc\index.html" "" "$INSTDIR\img\document.ico" \
0 SW_SHOWNORMAL

${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
IntFmt $0 "0x%08X" $0
WriteRegDWORD HKLM "${ARP}" "EstimatedSize" "$0"
SectionEnd

;Section /o "MDF Library" MDF
; SetRegView 64

; SetOutPath "$INSTDIR\lib"
; File "..\cmake-build-release\mdflib\libmdf.a"
; File "..\cmake-build-debug\mdflib\libmdfd.a"

; SetOutPath "$INSTDIR\include\mdf"
; File "..\mdflib\include\mdf\*.*"

; SetOutPath "$INSTDIR\doc\mdf"
; File /r "..\cmake-build-release\mdflib\html\*.*"

; CreateShortcut "$SMPROGRAMS\$StartMenuFolder\MDF Library Documentation.lnk" \
; "$INSTDIR\doc\mdf\index.html" "" "$INSTDIR\img\document.ico" \
; 0 SW_SHOWNORMAL

; ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
; IntFmt $0 "0x%08X" $0
; WriteRegDWORD HKLM "${ARP}" "EstimatedSize" "$0"
;SectionEnd


LangString DESC_App ${LANG_ENGLISH} "All executables."
LangString DESC_Util ${LANG_ENGLISH} "Util Library"
;LangString DESC_MDF ${LANG_ENGLISH} "MDF Library"
LangString DESC_CRT ${LANG_ENGLISH} "Microsoft Visual Studio Runtime."
LangString DESC_APP ${LANG_ENGLISH} "All executables."
LangString DESC_LIB ${LANG_ENGLISH} "DBC Library"


!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${App} $(DESC_App)
!insertmacro MUI_DESCRIPTION_TEXT ${Util} $(DESC_Util)
; !insertmacro MUI_DESCRIPTION_TEXT ${MDF} $(DESC_MDF)
!insertmacro MUI_DESCRIPTION_TEXT ${MSCRT} $(DESC_CRT)
!insertmacro MUI_DESCRIPTION_TEXT ${APP} $(DESC_APP)
!insertmacro MUI_DESCRIPTION_TEXT ${LIB} $(DESC_LIB)
!insertmacro MUI_FUNCTION_DESCRIPTION_END

;--------------------------------
Expand All @@ -161,7 +148,7 @@ Section "Uninstall"
RMDir /r "$INSTDIR"
RMDir /r "$SMPROGRAMS\$StartMenuFolder"

DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\UtilLib"
DeleteRegKey HKLM "Software\UtilLib"
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DbcLib"
DeleteRegKey HKLM "Software\DbcLib"

SectionEnd
4 changes: 2 additions & 2 deletions test/TestdbclibCMake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ set(CMAKE_CXX_STANDARD 20)

find_package(dbc REQUIRED)

add_executable(TestdbcCMake ${CMAKE_CURRENT_SOURCE_DIR}/../../doc/dbclibexample.cpp)
target_compile_definitions(TestdbcCMake PRIVATE DBC_FILE_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../../doc/example.dbc")
add_executable(TestdbcCMake ${CMAKE_CURRENT_SOURCE_DIR}/../../docs/dbclibexample.cpp)
target_compile_definitions(TestdbcCMake PRIVATE DBC_FILE_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../../docs/example.dbc")
target_link_libraries(TestdbcCMake Dbc::dbc)

0 comments on commit 6d215f8

Please sign in to comment.