Skip to content

Commit a6c5c4b

Browse files
committed
Changes to CPACK code for creating installers
1 parent 3f98b85 commit a6c5c4b

File tree

13 files changed

+68
-11
lines changed

13 files changed

+68
-11
lines changed

cmake/packaging/BioGearsLogo.bmp

7.61 KB
Binary file not shown.

cmake/packaging/BioGearsLogo.png

-62.9 KB
Loading

cmake/packaging/CMakeLists.txt

Lines changed: 60 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set(CPACK_PACKAGE_VENDOR "Applied Resaerch Associates")
55
set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.txt")
66
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt")
77
set(CPACK_PACKAGE_HOMEPAGE_URL "http://biogearsengine.com")
8-
set(CMAKE_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/BioGearsLogo.bmp")
8+
set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/biogearslogo_XoQ_icon.ico")
99

1010
set(CPACK_PACKAGE_INSTALL_DIRECTORY "BioGears/${CMAKE_VERSION_MAJOR}.${CMAKE_VERSION_MINOR}")
1111
set(CPACK_PACKAGE_VERSION_MAJOR ${${ROOT_PROJECT_NAME}_VERSION_MAJOR} )
@@ -17,35 +17,86 @@ set(CPACK_PACKAGE_VERSION_TWEAK ${${ROOT_PROJECT_NAME}_VERSION_TWEAK} )
1717
if(WIN32 AND NOT UNIX)
1818
# There is a bug in NSI that does not handle full UNIX paths properly.
1919
# Make sure there is at least one set of four backlashes.
20-
#set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/BioGearsLogo.bmp")
21-
set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\MyExecutable.exe")
22-
set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} My Famous Project")
20+
set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\BioGearsLogo.bmp")
21+
set(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_CURRENT_SOURCE_DIR}/biogearslogo_XoQ_icon.ico")
22+
set(CPACK_NSIS_DISPLAY_NAME "BioGears")
2323
set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\www.biogearsengine.com")
2424
set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.biogearsengine.com")
2525
set(CPACK_NSIS_CONTACT "[email protected]")
2626
set(CPACK_NSIS_MODIFY_PATH ON)
27+
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
2728

2829
set(CPACK_WIX_UPGRADE_GUID "54B0EF16-257C-4325-A64B-630FFB302F16")
29-
set(CPACK_WIX_PRODUCT_ICON "${CMAKE_CURRENT_SOURCE_DIR}/BioGearsLogo.bmp")
30+
set(CPACK_WIX_PRODUCT_ICON "${CMAKE_CURRENT_SOURCE_DIR}/biogearslogo_XoQ_icon.ico")
3031
set(CPACK_WIX_PROGRAM_MENU_FOLDER "BioGears")
32+
set(CPACK_WIX_UI_BANNER "${CMAKE_CURRENT_SOURCE_DIR}/WIX_UI_BANNER.png")
33+
set(CPACK_WIX_UI_DIALOG "${CMAKE_CURRENT_SOURCE_DIR}/WIX_UI_DIALOG.png")
34+
set(CPACK_WIX_PROPERTY_ARPCOMMENTS "Command line utilities for BioGears ${${ROOT_PROJECT_NAME}_VERSION_TAG}")
35+
set(CPACK_WIX_PROPERTY_ARPHELPLINK "https://biogearsengine.com")
36+
set(ARPURLINFOABOUT "https://biogearsengine.com")
37+
38+
install(CODE "
39+
include(BundleUtilities)
40+
41+
function(EXELIST result curdir)
42+
file(GLOB children RELATIVE \${curdir} \${curdir}/*)
43+
set(artifactList \"\")
44+
foreach(child \${children})
45+
if(NOT IS_DIRECTORY \${curdir}/\${child} AND \${child} MATCHES \".*${CMAKE_EXECUTABLE_SUFFIX}\" )
46+
list(APPEND artifactList \${curdir}/\${child})
47+
set(\${result} \${artifactList} PARENT_SCOPE)
48+
return()
49+
endif()
50+
endforeach()
51+
endfunction()
52+
53+
string(TOUPPER \${CMAKE_INSTALL_CONFIG_NAME} CONFIG)
54+
if( NOT UNIX )
55+
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY \${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_\${CONFIG}} )
56+
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY \${CMAKE_LIBRARY_OUTPUT_DIRECTORY_\${CONFIG}} )
57+
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY \${CMAKE_RUNTIME_OUTPUT_DIRECTORY_\${CONFIG}} )
58+
endif()
59+
60+
61+
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH})
62+
63+
foreach(_dir IN LISTS CMAKE_PREFIX_PATH)
64+
list(APPEND THIRD_PARTY \"\${_dir}\")
65+
list(APPEND THIRD_PARTY_LIB \"\${_dir}/lib\")
66+
list(APPEND THIRD_PARTY_BIN \"\${_dir}/bin\")
67+
endforeach()
68+
69+
EXELIST(artifacts \${CMAKE_INSTALL_PREFIX}/bin )
70+
71+
message(\"CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}\")
72+
message(\"artifacts=\${artifacts}\")
73+
74+
foreach( artifact IN LISTS artifacts)
75+
fixup_bundle(\${artifact}
76+
\"\"
77+
\"\${THIRD_PARTY_LIB};\${THIRD_PARTY_BIN}\"
78+
)
79+
endforeach()
80+
"
81+
)
3182

3283
install(DIRECTORY
3384
${PROJECT_SOURCE_DIR}/share/xsd
34-
DESTINATION runtime/${${ROOT_PROJECT_NAME}_VERSION_TAG}/
85+
DESTINATION bin/
3586
FILE_PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
3687
)
3788

3889
install(DIRECTORY
3990
${PROJECT_SOURCE_DIR}/share/data/
40-
DESTINATION runtime/${${ROOT_PROJECT_NAME}_VERSION_TAG}/
91+
DESTINATION bin/
4192
FILE_PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
4293
FILES_MATCHING
4394
PATTERN "*.xml"
4495
PATTERN "*.xlsx"
4596
)
4697
install(DIRECTORY
4798
${PROJECT_SOURCE_DIR}/share/Scenarios
48-
DESTINATION runtime/${${ROOT_PROJECT_NAME}_VERSION_TAG}/
99+
DESTINATION bin/
49100
FILE_PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
50101
FILES_MATCHING
51102
PATTERN "*.xml"
@@ -55,6 +106,6 @@ else()
55106
set(CPACK_STRIP_FILES "")
56107
set(CPACK_SOURCE_STRIP_FILES "")
57108
endif()
58-
set(CPACK_PACKAGE_EXECUTABLES "bg-cli" "bg-scenario")
109+
set(CPACK_PACKAGE_EXECUTABLES "bg-cli;Command Line" "bg-scenario;Scenario Driver")
59110

60111
include(CPack)

cmake/packaging/WIX_UI_BANNER.bmp

3.44 KB
Binary file not shown.

cmake/packaging/WIX_UI_BANNER.png

1.32 KB
Loading

cmake/packaging/WIX_UI_DIALOG.bmp

454 KB
Binary file not shown.

cmake/packaging/WIX_UI_DIALOG.png

6.32 KB
Loading
137 KB
Binary file not shown.
43.7 KB
Binary file not shown.

projects/cli/CMakeLists.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ set_target_properties(bg-cli
4646
CXX_STANDARD 14
4747
VS_DEBUGGER_WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/runtime
4848
)
49-
49+
if(WIN32)
50+
target_sources(bg-cli PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/bg-cli.rc)
51+
endif()
5052
target_compile_definitions(bg-cli PRIVATE DEBUG_POSTFIX=$<$<CONFIG:Debug>:"${CMAKE_DEBUG_POSTFIX}">)
5153
target_compile_options(bg-cli PRIVATE $<$<PLATFORM_ID:Windows>:/bigobj> PRIVATE $<$<PLATFORM_ID:Windows>:/MP${${ROOT_PROJECT_NAME}_BUILD_PARALLEL_LEVEL}>)
5254
target_include_directories(bg-cli PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src/utils/ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/)
@@ -71,7 +73,9 @@ set_target_properties(bg-scenario
7173
CXX_STANDARD 14
7274
VS_DEBUGGER_WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/runtime
7375
)
74-
76+
if(WIN32)
77+
target_sources(bg-scenario PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/bg-scenario.rc)
78+
endif()
7579
set_property(INSTALL "$<TARGET_FILE_NAME:bg-scenario>"
7680
PROPERTY CPACK_START_MENU_SHORTCUTS "BioGears Scenario Driver"
7781
)

0 commit comments

Comments
 (0)