cmake_minimum_required(VERSION 3.16) project(CPackIFWGenerator) add_executable(hello main.cpp) install(TARGETS hello ARCHIVE DESTINATION . RUNTIME DESTINATION . LIBRARY DESTINATION . BUNDLE DESTINATION .) # Component that is a reserved name on Windows. # See https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file install( DIRECTORY . DESTINATION txt COMPONENT CON FILES_MATCHING PATTERN *.txt) # Component name that is similar to a reserved name on Windows. install( DIRECTORY . DESTINATION txt COMPONENT Console FILES_MATCHING PATTERN *.txt) # Component name that is strongly discouraged on Windows. install( DIRECTORY . DESTINATION txt COMPONENT EndsWithDot. FILES_MATCHING PATTERN *.txt) set(CPACK_IFW_PRODUCT_URL "https://cmake.org/") if(WIN32) set(CPACK_IFW_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/install.ico") else() set(CPACK_IFW_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/BundleIcon.icns") endif() set(CPACK_IFW_PACKAGE_WINDOW_ICON "${PROJECT_SOURCE_DIR}/install.ico") set(CPACK_GENERATOR "IFW") set(CPACK_IFW_PACKAGE_PRODUCT_IMAGES "${PROJECT_SOURCE_DIR}/ApplicationIcon.png" "${PROJECT_SOURCE_DIR}/SplashScreen.png" ) set(CPACK_IFW_PACKAGE_PRODUCT_IMAGE_URLS "https://www.ApplicationIcon.org" "https://www.SplashScreen.org" ) include(CPack) include(CPackIFW)