Warning, /education/gcompris/src/core/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 #=============================================================================
0002 # SPDX-FileCopyrightText: 2014 Johnny Jazeix <jazeix@gmail.com>
0003 #
0004 # SPDX-License-Identifier: BSD-3-Clause
0005 #=============================================================================
0006 include(qt_helper)
0007 
0008 configure_file(config.h.in "${CMAKE_CURRENT_BINARY_DIR}/config.h" @ONLY)
0009 
0010 if(WITH_KIOSK_MODE)
0011   add_definitions(-DWITH_KIOSK_MODE)
0012 endif()
0013 
0014 if (UBUNTU_TOUCH)
0015   add_definitions(-DUBUNTUTOUCH)
0016 endif()
0017 
0018 if(ANDROID)
0019   # needed since ECM 5.45 (https://bugs.kde.org/show_bug.cgi?id=394042)
0020   include_directories(SYSTEM
0021     "${CMAKE_SYSROOT}/usr/include"
0022     )
0023 endif()
0024 
0025 set(gcompris_SRCS
0026   ActivityInfo.cpp
0027   ActivityInfo.h
0028   ActivityInfoTree.cpp
0029   ActivityInfoTree.h
0030   ApplicationInfo.cpp
0031   ApplicationInfo.h
0032   ApplicationSettings.cpp
0033   ApplicationSettings.h
0034   File.cpp
0035   File.h
0036   Dataset.cpp
0037   Dataset.h
0038   Directory.cpp
0039   Directory.h
0040   DownloadManager.cpp
0041   DownloadManager.h
0042   GComprisPlugin.cpp
0043   GComprisPlugin.h
0044   main.cpp
0045   config.h.in
0046   synth/ADSRenvelope.cpp
0047   synth/ADSRenvelope.h
0048   synth/GSynth.cpp
0049   synth/GSynth.h
0050   synth/linearSynthesis.cpp
0051   synth/linearSynthesis.h
0052   synth/modulation.cpp
0053   synth/modulation.h
0054   synth/generator.cpp
0055   synth/generator.h
0056   synth/preset.h
0057   synth/preset.cpp
0058   synth/waveform.cpp
0059   synth/waveform.h
0060 )
0061 
0062 if(ANDROID)
0063   list(APPEND gcompris_SRCS ApplicationAndroid.cpp)
0064 else()
0065   list(APPEND gcompris_SRCS ApplicationInfoDefault.cpp)
0066 endif()
0067 
0068 # Resources
0069 set(GCOMPRIS_RESOURCES "${PROJECT_SOURCE_DIR}/installer")
0070 if(CMAKE_HOST_WIN32)
0071   set(gcompris_icon GCompris.ico)
0072   set(gcompris_RES
0073     ${GCOMPRIS_RESOURCES}/${gcompris_icon}
0074     GCompris.rc
0075   )
0076 elseif(CMAKE_HOST_APPLE)
0077   set(gcompris_icon GCompris.icns)
0078   set(gcompris_RES ${GCOMPRIS_RESOURCES}/${gcompris_icon})
0079   set_source_files_properties(${gcompris_RES} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
0080 endif()
0081 
0082 set(used_qt_modules Qt5::Qml Qt5::Quick Qt5::Gui Qt5::Multimedia Qt5::Core Qt5::Svg Qt5::Sensors Qt5::QuickControls2 Qt5::QuickTemplates2 Qt5::Charts)
0083 
0084 if(Qt5Widgets_VERSION VERSION_GREATER_EQUAL "5.15.0")
0085   set(used_qt_modules ${used_qt_modules} Qt5::QmlWorkerScript Qt5::QuickParticles)
0086 endif()
0087 
0088 if(ANDROID)
0089   add_library(${GCOMPRIS_EXECUTABLE_NAME} SHARED ${gcompris_SRCS})
0090   set(used_qt_modules ${used_qt_modules} Qt5::AndroidExtras)
0091 elseif(CMAKE_HOST_APPLE)
0092   add_executable(${GCOMPRIS_EXECUTABLE_NAME} MACOSX_BUNDLE ${gcompris_SRCS} ${gcompris_RES})
0093 elseif(CMAKE_HOST_WIN32)
0094   add_executable(${GCOMPRIS_EXECUTABLE_NAME} WIN32 ${gcompris_SRCS} ${gcompris_RES})
0095 else()
0096   add_executable(${GCOMPRIS_EXECUTABLE_NAME} ${gcompris_SRCS} ${gcompris_RES})
0097 endif()
0098 
0099 # only build the lib for testing purpose
0100 if(BUILD_TESTING)
0101   add_library(gcompris_core SHARED ${gcompris_SRCS})
0102   target_link_libraries(gcompris_core ${used_qt_modules})
0103 endif()
0104 
0105 target_link_libraries(${GCOMPRIS_EXECUTABLE_NAME} ${used_qt_modules})
0106 
0107 GCOMPRIS_ADD_RCC(core *.qml *.js resource/*.${COMPRESSED_AUDIO} resource/*.gif resource/*.png resource/*.svg resource/*.pem resource/bonus/* resource/sounds/* resource/fonts/*.* qmldir COPYING)
0108 
0109 # Installation
0110 # ============
0111 
0112 install(TARGETS ${GCOMPRIS_EXECUTABLE_NAME}
0113   ARCHIVE DESTINATION bin
0114   RUNTIME DESTINATION bin
0115   LIBRARY DESTINATION lib
0116   BUNDLE DESTINATION .)
0117 
0118 if(BUILD_STANDALONE)
0119   # Qt plugins to install
0120   set(_qt_plugins "")
0121 
0122   # First plugins should be used on all platforms
0123   foreach(_plugin Qt5::QSvgPlugin Qt5::QWebpPlugin Qt5::QICOPlugin Qt5::QICNSPlugin Qt5::QGifPlugin Qt5::QJpegPlugin Qt5::QWbmpPlugin Qt5::genericSensorPlugin Qt5::QtSensorGesturePlugin Qt5::QShakeSensorGesturePlugin
0124       # Should be specific plugins used on Linux
0125       Qt5::QComposePlatformInputContextPlugin Qt5::QXcbIntegrationPlugin Qt5::QXcbEglIntegrationPlugin Qt5::QXcbGlxIntegrationPlugin Qt5::QAlsaPlugin Qt5::QPulseAudioPlugin
0126       # Should be specific plugins used on MacOS
0127       Qt5::QTgaPlugin Qt5::QTiffPlugin Qt5::QCocoaIntegrationPlugin
0128       # Should be specific plugins used on Windows
0129       Qt5::QWindowsIntegrationPlugin Qt5::QWindowsAudioPlugin Qt5::AudioCaptureServicePlugin Qt5::DSServicePlugin
0130       )
0131     if(TARGET ${_plugin})
0132       message(STATUS "${_plugin} will be included in the package")
0133       list(APPEND _qt_plugins ${_plugin})
0134     else()
0135       message(STATUS "${_plugin} is not a plugin for this system")
0136     endif()
0137   endforeach()
0138 
0139   # Qml plugins to install
0140   if(WIN32)
0141     set(_lib_prefix "")
0142   else()
0143     set(_lib_prefix "lib")
0144   endif()
0145 
0146   set(_qt_plugins2 "")
0147   if(UNIX AND NOT ANDROID AND NOT APPLE AND NOT UBUNTUTOUCH)
0148     list(APPEND _qt_plugins2 mediaservice/${_lib_prefix}gstaudiodecoder
0149       mediaservice/${_lib_prefix}gstcamerabin
0150       mediaservice/${_lib_prefix}gstmediacapture
0151       mediaservice/${_lib_prefix}gstmediaplayer)
0152   elseif(APPLE)
0153     list(APPEND _qt_plugins2 audio/${_lib_prefix}qtaudio_coreaudio
0154       mediaservice/${_lib_prefix}qavfmediaplayer
0155       mediaservice/${_lib_prefix}qtmedia_audioengine
0156       mediaservice/${_lib_prefix}qavfcamera)
0157   endif()
0158 
0159   set(_qml_plugins
0160     QtGraphicalEffects/${_lib_prefix}qtgraphicaleffectsplugin
0161     QtGraphicalEffects/private/${_lib_prefix}qtgraphicaleffectsprivate
0162     QtQml/Models.2/${_lib_prefix}modelsplugin
0163     QtQuick/Window.2/${_lib_prefix}windowplugin
0164     QtQuick/Particles.2/${_lib_prefix}particlesplugin
0165     QtQuick.2/${_lib_prefix}qtquick2plugin
0166     QtMultimedia/${_lib_prefix}declarative_multimedia
0167     QtSensors/${_lib_prefix}declarative_sensors
0168     QtCharts/${_lib_prefix}qtchartsqml2)
0169 
0170   # TODO Double check for ubuntutouch, we may need qtquickcontrols2/templates2!
0171   if(NOT UBUNTUTOUCH)
0172     list(APPEND _qml_plugins
0173       QtQuick/Controls.2/${_lib_prefix}qtquickcontrols2plugin
0174       QtQuick/Templates.2/${_lib_prefix}qtquicktemplates2plugin
0175       QtQuick/Layouts/${_lib_prefix}qquicklayoutsplugin)
0176   endif()
0177 
0178   # For Qt5, we use Qt.labs for Calendar
0179   if(Qt5Widgets_VERSION VERSION_LESS "6.0")
0180     list(APPEND _qml_plugins
0181       Qt/labs/calendar/${_lib_prefix}qtlabscalendarplugin)
0182   endif()
0183 
0184   # Only explicit these dll for Windows to be sure we don't ship the debug dll in the package. Other platforms don't have this issue.
0185   if(WIN32)
0186     list(APPEND _qml_plugins
0187       QtQuick/Controls.2/Fusion/${_lib_prefix}qtquickcontrols2fusionstyleplugin
0188       QtQuick/Controls.2/Imagine/${_lib_prefix}qtquickcontrols2imaginestyleplugin
0189       QtQuick/Controls.2/Material/${_lib_prefix}qtquickcontrols2materialstyleplugin
0190       QtQuick/Controls.2/Universal/${_lib_prefix}qtquickcontrols2universalstyleplugin)
0191   endif()
0192 
0193   set(GCOMPRIS_OTHER_LIBS)
0194 
0195   if(APPLE)
0196     set(_app gcompris-qt.app)
0197     set(_qtconf_destdir ${_app}/Contents/Resources)
0198     set(_qt_plugins_destdir ${_app}/Contents/plugins)
0199     set(_qt_qml_destdir ${_app}/Contents/qml)
0200     set(GCOMPRIS_BUNDLE "\${CMAKE_INSTALL_PREFIX}/${_app}")
0201     set_target_properties(gcompris-qt PROPERTIES
0202       MACOSX_BUNDLE_INFO_STRING "GCompris, Educational game for children 2 to 10"
0203       MACOSX_BUNDLE_ICON_FILE "${gcompris_icon}"
0204       MACOSX_BUNDLE_GUI_IDENTIFIER "net.gcompris"
0205       MACOSX_BUNDLE_LONG_VERSION_STRING "${GCOMPRIS_MAJOR_VERSION}.${GCOMPRIS_MINOR_VERSION}.${GCOMPRIS_PATCH_VERSION}"
0206       MACOSX_BUNDLE_BUNDLE_NAME "gcompris-qt"
0207       MACOSX_BUNDLE_SHORT_VERSION_STRING "${GCOMPRIS_VERSION}"
0208       MACOSX_BUNDLE_BUNDLE_VERSION "${GCOMPRIS_VERSION}"
0209       MACOSX_BUNDLE_COPYRIGHT "AGPL-3.0 License, SPDX-FileCopyrightText: 2000-2022 Timothee Giet and Others.")
0210     set_source_files_properties(${GCOMPRIS_RESOURCES}/${gcompris_icon} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
0211   else()
0212     set(_qtconf_destdir bin)
0213     set(_qt_plugins_destdir bin/plugins)
0214     set(_qt_qml_destdir bin/qml)
0215     if(CMAKE_HOST_WIN32)
0216       set(GCOMPRIS_BUNDLE "\${CMAKE_INSTALL_PREFIX}/bin/${GCOMPRIS_EXECUTABLE_NAME}.exe")
0217     else()
0218       set(GCOMPRIS_BUNDLE "\${CMAKE_INSTALL_PREFIX}/bin/${GCOMPRIS_EXECUTABLE_NAME}")
0219     endif()
0220   endif()
0221 
0222   # install qt.conf file
0223   install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/qt.conf DESTINATION ${_qtconf_destdir})
0224 
0225   # install qt plugins
0226   foreach(_plugin ${_qt_plugins})
0227     installQtPlugin(${_plugin} ${_qt_plugins_destdir} _lib)
0228     list(APPEND GCOMPRIS_OTHER_LIBS ${_lib})
0229   endforeach()
0230   foreach(_plugin ${_qt_plugins2})
0231     if(APPLE)
0232       installQtPlugin2(${_plugin} ${_qt_plugins_destdir}/../Plugins _lib)
0233     else()
0234       installQtPlugin2(${_plugin} ${_qt_plugins_destdir} _lib)
0235     endif()
0236     list(APPEND GCOMPRIS_OTHER_LIBS ${_lib})
0237   endforeach()
0238 
0239   # install qml plugins
0240   foreach(_plugin ${_qml_plugins})
0241     installQmlPlugin(${_plugin} ${_qt_qml_destdir} _lib)
0242     list(APPEND GCOMPRIS_OTHER_LIBS ${_lib})
0243   endforeach()
0244 
0245   ## install QtGraphicalEffects (which is not a lib but only qml files)
0246   # BUT, actually there are some libs in it, and this does not work on APPLE. Moved to _qml_plugins instead
0247   #
0248   #set(_qml_subdir QtGraphicalEffects)
0249   #getQtQmlPath(_qt_qml_path)
0250   #install(DIRECTORY ${_qt_qml_path}/QtGraphicalEffects DESTINATION ${_qt_qml_destdir})
0251 
0252   # Fix for Linux 'make package' that fails to link with libicu; also package OpenSSL libs from system
0253   if(UNIX AND NOT APPLE AND NOT ANDROID)
0254     add_library( libicudata SHARED IMPORTED )
0255     file(GLOB LIBICUDATA_SO "${Qt5_DIR}/../../libicudata.so.[0-9][0-9]")
0256     if("${LIBICUDATA_SO}" STREQUAL "")
0257       file(GLOB LIBICUDATA_SO "/usr/lib/*/libicudata.so.[0-9][0-9]")
0258     endif()
0259     set_target_properties( libicudata PROPERTIES IMPORTED_LOCATION ${LIBICUDATA_SO} )
0260     add_library( libicui18n SHARED IMPORTED )
0261     file(GLOB LIBICUI18N_SO "${Qt5_DIR}/../../libicui18n.so.[0-9][0-9]")
0262     if("${LIBICUI18N_SO}" STREQUAL "")
0263       file(GLOB LIBICUI18N_SO "/usr/lib/*/libicui18n.so.[0-9][0-9]")
0264     endif()
0265     set_target_properties( libicui18n PROPERTIES IMPORTED_LOCATION ${LIBICUI18N_SO} )
0266     add_library( libicuuc SHARED IMPORTED )
0267     file(GLOB LIBICUUC_SO "${Qt5_DIR}/../../libicuuc.so.[0-9][0-9]")
0268     if("${LIBICUUC_SO}" STREQUAL "")
0269       file(GLOB LIBICUUC_SO "/usr/lib/*/libicuuc.so.[0-9][0-9]")
0270     endif()
0271     set_target_properties( libicuuc PROPERTIES IMPORTED_LOCATION ${LIBICUUC_SO} )
0272     target_link_libraries(${GCOMPRIS_EXECUTABLE_NAME} libicudata libicui18n libicuuc)
0273     # package installed OpenSSL libraries
0274     install(FILES "${OPENSSL_SSL_LIBRARY}" DESTINATION bin)
0275     install(FILES "${OPENSSL_CRYPTO_LIBRARY}" DESTINATION bin)
0276     install(FILES "${OPENSSL_SSL_LIBRARY}.10" DESTINATION bin)
0277     install(FILES "${OPENSSL_CRYPTO_LIBRARY}.10" DESTINATION bin)
0278     install(FILES "${OPENSSL_SSL_LIBRARY}.1.0.2k" DESTINATION bin)
0279     install(FILES "${OPENSSL_CRYPTO_LIBRARY}.1.0.2k" DESTINATION bin)
0280     target_link_libraries(${GCOMPRIS_EXECUTABLE_NAME} OpenSSL::SSL OpenSSL::Crypto)
0281   endif()
0282 
0283   #Add OpenSSL support on Windows builds
0284   if(WIN32)
0285     if(MINGW)
0286       if(CMAKE_SIZEOF_VOID_P EQUAL 8)
0287         #64bit
0288         set(OPENSSL_DLL_SUFFIX "-x64")
0289       endif()
0290       install(FILES "${Qt5_DIR}/../../../bin/libcrypto-1_1${OPENSSL_DLL_SUFFIX}.dll" DESTINATION bin)
0291       install(FILES "${Qt5_DIR}/../../../bin/libssl-1_1${OPENSSL_DLL_SUFFIX}.dll" DESTINATION bin)
0292     else() # appveyor
0293       install(FILES "${OPENSSL_INCLUDE_DIR}/../libeay32.dll" DESTINATION bin)
0294       install(FILES "${OPENSSL_INCLUDE_DIR}/../libssl32.dll" DESTINATION bin)
0295       install(FILES "${OPENSSL_INCLUDE_DIR}/../ssleay32.dll" DESTINATION bin)
0296     endif()
0297     target_link_libraries(${GCOMPRIS_EXECUTABLE_NAME} OpenSSL::SSL OpenSSL::Crypto)
0298   endif()
0299 
0300 endif()
0301 
0302 # Hack: do not fixup Qt and Qml plugins on Windows because fixup_bundle takes ages (cmake bug ?) -> Johnny : we need this even if it takes time because some required dependencies are pulled here
0303 #if(WIN32) set(GCOMPRIS_OTHER_LIBS "") endif()
0304 
0305 # install fixup_bundle script to resolve and fixup runtime dependencies
0306 if(BUILD_STANDALONE AND NOT ANDROID)
0307   # Specify the path to get the Qt libraries
0308   get_target_property(QtCore_location Qt5::Core LOCATION)
0309   get_filename_component(QT_LIBS_DIRECTORY ${QtCore_location} DIRECTORY)
0310   configure_file(${CMAKE_SOURCE_DIR}/cmake/FixBundle.cmake.in FixBundle.cmake)
0311   install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake)
0312 
0313   # install a startup script for linux bundle
0314   if(UNIX AND NOT APPLE AND NOT UBUNTUTOUCH)
0315     install(PROGRAMS ../../tools/gcompris-qt.sh DESTINATION bin)
0316   endif()
0317 endif()
0318 
0319 if(WIN32 AND NOT MINGW)
0320 # install libEGL.dll, libGLESv2.dll, d3dcompiler_47.dll from Qt installation. Not sure if there is a clean way to get them...
0321 # Qt5_Dir is like C:/Qt/Qt5.5.1/5.5/mingw492_32/lib/cmake/Qt5
0322     install(FILES ${Qt5_DIR}/../../../bin/libEGL.dll DESTINATION bin)
0323     install(FILES ${Qt5_DIR}/../../../bin/libGLESv2.dll DESTINATION bin)
0324     install(FILES ${Qt5_DIR}/../../../bin/d3dcompiler_47.dll DESTINATION bin)
0325     target_link_libraries(${GCOMPRIS_EXECUTABLE_NAME} ${Qt5_DIR}/../../libEGL.lib)
0326     target_link_libraries(${GCOMPRIS_EXECUTABLE_NAME} ${Qt5_DIR}/../../libGLESv2.lib)
0327     install(FILES ${Qt5_DIR}/../../../bin/opengl32sw.dll DESTINATION bin)
0328     # CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS contains visual c++ libraries
0329     install(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION bin)
0330 endif()
0331 
0332 # Packaging
0333 # =========
0334 
0335 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "GCompris is a high quality educational software suite, including a large number of activities for children aged 2 to 10.")
0336 set(CPACK_PACKAGE_VERSION_MAJOR ${GCOMPRIS_MAJOR_VERSION})
0337 set(CPACK_PACKAGE_VERSION_MINOR ${GCOMPRIS_MINOR_VERSION})
0338 set(CPACK_PACKAGE_VERSION_PATCH ${GCOMPRIS_PATCH_VERSION})
0339 set(CPACK_PACKAGE_VERSION ${GCOMPRIS_VERSION})
0340 set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSES/AGPL-3.0-only.txt")
0341 set(CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/README")
0342 
0343 if(WIN32)
0344   set(CPACK_PACKAGE_INSTALL_DIRECTORY "${GCOMPRIS_EXECUTABLE_NAME}-Qt")
0345   set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${GCOMPRIS_EXECUTABLE_NAME}-Qt")
0346   set(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/installer\\\\gcompris-header.bmp")
0347   set(CPACK_NSIS_MUI_ICON "${PROJECT_SOURCE_DIR}/installer\\\\GCompris-install.ico")
0348   set(CPACK_NSIS_MUI_UNIICON "${PROJECT_SOURCE_DIR}/installer\\\\GCompris-uninstall.ico")
0349   set(CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP "${PROJECT_SOURCE_DIR}/installer\\\\welcome-page.bmp")
0350   set(CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP "${PROJECT_SOURCE_DIR}/installer\\\\welcome-page.bmp")
0351   set(CPACK_NSIS_MANIFEST_DPI_AWARE ON)
0352   set(CPACK_NSIS_EXECUTABLES_DIRECTORY "bin")
0353   set(CPACK_PACKAGE_EXECUTABLES "${GCOMPRIS_EXECUTABLE_NAME};GCompris")
0354   set(CPACK_CREATE_DESKTOP_LINKS "${GCOMPRIS_EXECUTABLE_NAME};GCompris")
0355   set(CPACK_NSIS_MODIFY_PATH "ON")
0356   set(CPACK_NSIS_URL_INFO_ABOUT "https:\\\\\\\\gcompris.net")
0357   set(CPACK_NSIS_DISPLAY_NAME "GCompris Educational Software")
0358   set(CPACK_NSIS_WELCOME_TITLE_3LINES "ON")
0359   set(CPACK_NSIS_MUI_FINISHPAGE_RUN "${GCOMPRIS_EXECUTABLE_NAME}")
0360   set(CPACK_PACKAGE_VENDOR "GCompris team")
0361 
0362   set(CPACK_WIX_UPGRADE_GUID "1902A562-DA6F-4E3D-A56F-1B1D4273C724")
0363   set(CPACK_WIX_PRODUCT_ICON "${PROJECT_SOURCE_DIR}/installer/GCompris-install.ico")
0364   set(CPACK_WIX_UI_BANNER "${PROJECT_SOURCE_DIR}/installer/gcompris-header-wix.bmp")
0365   set(CPACK_WIX_UI_DIALOG "${PROJECT_SOURCE_DIR}/installer/welcome-page-wix.bmp")
0366   set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "https://gcompris.net")
0367   set(CPACK_WIX_PROPERTY_ARPCONTACT "support@gcompris.net")
0368   set(CPACK_WIX_PROGRAM_MENU_FOLDER "GCompris Educational Software")
0369 
0370   # Create shortcuts in menu to be able to launch in software or opengl mode
0371   list(APPEND CPACK_NSIS_CREATE_ICONS_EXTRA "  CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\GCompris (Safe Mode).lnk' '$INSTDIR\\\\bin\\\\${GCOMPRIS_EXECUTABLE_NAME}.exe' '--software-renderer'")
0372   list(APPEND CPACK_NSIS_CREATE_ICONS_EXTRA "  CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\GCompris.lnk' '$INSTDIR\\\\bin\\\\${GCOMPRIS_EXECUTABLE_NAME}.exe' '--opengl-renderer'")
0373   string(REPLACE ";" "\n" CPACK_NSIS_CREATE_ICONS_EXTRA "${CPACK_NSIS_CREATE_ICONS_EXTRA}")
0374 else()
0375   set(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/GCompris64.png")
0376 endif()
0377 
0378 if(APPLE)
0379   set(CPACK_GENERATOR "DragNDrop")
0380 elseif(WIN32)
0381   set(CPACK_GENERATOR "NSIS")
0382 else()
0383   set(CPACK_GENERATOR "STGZ")
0384 endif()
0385 include(CPack)