Skip to content

Commit

Permalink
Use CPack to make a Windows' installer with make package
Browse files Browse the repository at this point in the history
  • Loading branch information
Bruno Bigras committed Feb 14, 2009
1 parent 3abc143 commit 9ad6981
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 15 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
*.o
moc_*.cpp
*.cxx
*.cxx_parameters
ui_*.h
*.exe
*~
mudlet/prealpha1/mudlet/src/mudlet
mudlet/prealpha1/mudlet/Makefile
Expand All @@ -13,3 +15,7 @@ mudlet.kdevses
CMakeCache.txt
CMakeFiles/
cmake_install.cmake
CPackConfig.cmake
CPackSourceConfig.cmake
_CPack_Packages
install_manifest.txt
34 changes: 19 additions & 15 deletions mudlet/prealpha1/mudlet/src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
cmake_minimum_required (VERSION 2.6)
project (mudlet)

set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})

set(QT_MIN_VERSION "4.4.0") # we need at least version 4.4 of Qt now
FIND_PACKAGE(Qt4 REQUIRED)
FIND_PACKAGE(Lua51 REQUIRED)
FIND_PACKAGE(QScintilla REQUIRED)
FIND_PACKAGE(ZLIB REQUIRED)
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)

SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
SET(QT_MIN_VERSION "4.4.0") # we need at least version 4.4 of Qt now
SET(QT_USE_QTNETWORK 1)
SET(QT_USE_QTWEBKIT 1)
INCLUDE(${QT_USE_FILE})
INCLUDE_DIRECTORIES(${QSCINTILLA_INCLUDE_DIR} ${LUA_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR})
SET(CMAKE_CONFIGURATION_TYPES "Debug;Release")

SET(mudlet_RCCS mudlet_alpha.qrc)

SET( mudlet_SRCS mudlet.cpp
TConsole.cpp
Expand Down Expand Up @@ -64,8 +60,6 @@ XMLimport.cpp
FontManager.cpp
TBuffer.cpp)

qt4_automoc(${mudlet_SRCS})

SET(mudlet_UIS ui/connection_profiles.ui
ui/console.ui
ui/main_window.ui
Expand Down Expand Up @@ -116,10 +110,20 @@ dlgKeysMainArea.h
dlgProfilePreferences.h
TTextEdit.h)

FIND_PACKAGE(Qt4 REQUIRED)
FIND_PACKAGE(Lua51 REQUIRED)
FIND_PACKAGE(QScintilla REQUIRED)
FIND_PACKAGE(ZLIB REQUIRED)

INCLUDE(MudletCPack.cmake) # Use CPack
INCLUDE(${QT_USE_FILE})
INCLUDE_DIRECTORIES(${QSCINTILLA_INCLUDE_DIR} ${LUA_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR})

QT4_AUTOMOC(${mudlet_SRCS})
QT4_WRAP_UI(mudlet_UIS_H ${mudlet_UIS})
QT4_WRAP_CPP(mudlet_MOC_SRCS ${mudlet_MOC_HDRS})
SET(mudlet_RCCS mudlet_alpha.qrc)
QT4_ADD_RESOURCES(mudlet_RCC_SRCS ${mudlet_RCCS})

add_executable(mudlet ${mudlet_SRCS} ${mudlet_UIS_H} ${mudlet_MOC_SRCS} ${mudlet_RCC_SRCS})
TARGET_LINK_LIBRARIES(mudlet ${QT_LIBRARIES} ${QSCINTILLA_LIBRARIES} ${LUA_LIBRARIES} ${ZLIB_LIBRARIES})
add_executable(mudlet WIN32 ${mudlet_SRCS} ${mudlet_UIS_H} ${mudlet_MOC_SRCS} ${mudlet_RCC_SRCS})

TARGET_LINK_LIBRARIES(mudlet ${QT_LIBRARIES} ${QSCINTILLA_LIBRARIES} ${LUA_LIBRARIES} ${ZLIB_LIBRARIES})
38 changes: 38 additions & 0 deletions mudlet/prealpha1/mudlet/src/MudletCPack.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
SET(PACKAGE_NAME "Mudlet")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/../COPYING")
SET(CPACK_PACKAGE_EXECUTABLES "mudlet" "Mudlet")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Mudlet")
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "Mudlet")
#SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/icons\\\\mudlet.bmp" )
#SET(CPACK_CREATE_DESKTOP_LINKS "mudlet")
SET(CPACK_PACKAGE_VENDOR "Mudlet")
SET(CPACK_PACKAGE_VERSION_MAJOR "0")
SET(CPACK_PACKAGE_VERSION_MINOR "0")
SET(CPACK_PACKAGE_VERSION_PATCH "1")

INSTALL(FILES LuaGlobal.lua DESTINATION bin)
INSTALL(FILES mudlet_documentation.html DESTINATION bin)

IF(WIN32 AND NOT UNIX)
FIND_PACKAGE(MinGW REQUIRED)
SET(CPACK_NSIS_INSTALLED_ICON_NAME "mudlet.exe")
SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} Mudlet")
SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\www.mudlet.org")
SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.mudlet.org")
SET(CPACK_NSIS_CONTACT "bruno@mudlet.org")

INSTALL(PROGRAMS mudlet.exe DESTINATION bin)
INSTALL(FILES ${QT_LIBRARY_DIR}/qscintilla2.dll DESTINATION bin)
INSTALL(FILES ${QT_BINARY_DIR}/QtCore4.dll DESTINATION bin)
INSTALL(FILES ${QT_BINARY_DIR}/QtGui4.dll DESTINATION bin)
INSTALL(FILES ${QT_BINARY_DIR}/QtNetwork4.dll DESTINATION bin)
INSTALL(FILES ${QT_BINARY_DIR}/QtWebKit4.dll DESTINATION bin)
INSTALL(FILES ${LUA_INCLUDE_DIR}/lua51.dll DESTINATION bin)
INSTALL(FILES ${CMAKE_MINGW_DLL} DESTINATION bin)
ELSE(WIN32 AND NOT UNIX)
SET(CPACK_STRIP_FILES "mudlet")
SET(CPACK_SOURCE_STRIP_FILES "")
ENDIF(WIN32 AND NOT UNIX)

INCLUDE(CPack)
INCLUDE(InstallRequiredSystemLibraries)
5 changes: 5 additions & 0 deletions mudlet/prealpha1/mudlet/src/cmake/FindMinGW.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FIND_FILE(CMAKE_MINGW_DLL mingwm10.dll PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MinGW;InstallLocation]/bin"
c:/MinGW/bin /MinGW/bin)

MARK_AS_ADVANCED(CMAKE_MINGW_DLL)

0 comments on commit 9ad6981

Please sign in to comment.