From e9003c815444b9e90aff403375964386564e6457 Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Wed, 20 Jun 2007 09:58:45 +0000 Subject: - added win32 packager support - added explorer integration for easier access to the build environment (shell scripts with predefined pathes for mingw and nmake and msvc) svn path=/trunk/KDE/kdelibs/; revision=677974 --- modules/FindKDEWIN_Packager.cmake | 175 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 modules/FindKDEWIN_Packager.cmake (limited to 'modules/FindKDEWIN_Packager.cmake') diff --git a/modules/FindKDEWIN_Packager.cmake b/modules/FindKDEWIN_Packager.cmake new file mode 100644 index 00000000..4d50b54f --- /dev/null +++ b/modules/FindKDEWIN_Packager.cmake @@ -0,0 +1,175 @@ +# +# KDEWIN packager support http://download.cegit.de/kde-windows/installer +# +# The kdewin packager is searched in the following pathes and order +# +# path specified by the environment dir KDEWIN_PACKAGER_DIR +# /kdewin-packager +# /kdewin-installer +# +# The macro KDEWIN_PACKAGER provides package building support and should be +# added to the top level CMakeLists.txt as shown below +# +# if (KDEWIN_PACKAGER_FOUND) +# KDEWIN_PACKAGER( +# "projectname" +# "version" +# "description" +# "additional options" +# ) +# endif (KDEWIN_PACKAGER_FOUND) + +# The macro KDEWIN_PACKAGER adds three additional makefile targets, which could be +# called using the regular make tool +# +# kdewin_package +# - build kdewin package with currently used compiler and build type +# kdewin_package_debug_and_release +# - build kdewin debug and release package with currently used compiler +# kdewin_package_debug_and_release_mingw_and_msvc +# - build kdewin debug and release package with mingw and msvc compiler +# +# +# +# Copyright (c) 2006-2007, Ralf Habacker +# +# Redistribution and use is allowed according to the terms of the BSD license. +# + +if (WIN32) + if(NOT KDEWIN_PACKAGER_DIR) + # check for enviroment variable + file(TO_CMAKE_PATH "$ENV{KDEWIN_PACKAGER_DIR}" KDEWIN_PACKAGER_DIR) + if(NOT KDEWIN_PACKAGER_DIR) + # search in the default program install folder + file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _progFiles) + find_file(KDEWIN_PACKAGER_DIR_tmp kdewin-packager kdewin-installer + PATHS + "${_progFiles}" + ) + set(KDEWIN_PACKAGER_DIR ${KDEWIN_PACKAGER_DIR_tmp}) + endif(NOT KDEWIN_PACKAGER_DIR) + endif(NOT KDEWIN_PACKAGER_DIR) + + # added FindKDEWIN.cmake support + if (NOT KDEWIN_PACKAGER_DIR AND KDEWIN_DIR) + set (KDEWIN_PACKAGER_DIR ${KDEWIN_DIR}) + endif (NOT KDEWIN_PACKAGER_DIR AND KDEWIN_DIR) + + if (KDEWIN_PACKAGER_DIR) + + find_program(KDEWIN_PACKAGER_EXECUTABLE kdewin-packager + PATHS + ${KDEWIN_PACKAGER_DIR}/bin + ) + + set(KDEWIN_PACKAGER_FOUND TRUE) + else (KDEWIN_PACKAGER_DIR) + set(KDEWIN_PACKAGER_FOUND) + endif (KDEWIN_PACKAGER_DIR) + + if (KDEWIN_PACKAGER_FOUND) + if (NOT KDEWIN_PACKAGER_FIND_QUIETLY) + message(STATUS "Found KDEWIN Packager: ${KDEWIN_PACKAGER_DIR}") + endif (NOT KDEWIN_PACKAGER_FIND_QUIETLY) + else (KDEWIN_PACKAGER_FOUND) + if (KDEWIN_PACKAGER_FIND_REQUIRED) + message(FATAL_ERROR "Could NOT find KDEWIN PAckager") + endif (KDEWIN_PACKAGER_FIND_REQUIRED) + endif (KDEWIN_PACKAGER_FOUND) + +endif (WIN32) + +MACRO (KDEWIN_PACKAGER _name _version _notes _options) + if (KDEWIN_PACKAGER_FOUND) + if (MSVC) + set (type "msvc") + else (MSVC) + set (type "mingw") + endif (MSVC) + + add_custom_target(kdewin_package + COMMAND ${CMAKE_COMMAND} + -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/temp -P ${CMAKE_BINARY_DIR}/cmake_install.cmake + COMMAND ${KDEWIN_PACKAGER_EXECUTABLE} + -name ${_name} + -root ${CMAKE_BINARY_DIR}/temp + -srcroot ${CMAKE_SOURCE_DIR} + -version ${_version} + -notes "${_notes}" + -type ${type} + ${_options} + # FIXME: cleanup does not work + #COMMAND rmdir /Q /S ${CMAKE_BINARY_DIR}\temp + ) + # prelimary target + add_custom_target(kdewin_package_without_compiler + COMMAND ${CMAKE_COMMAND} + -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/temp -P ${CMAKE_BINARY_DIR}/cmake_install.cmake + COMMAND ${KDEWIN_PACKAGER_EXECUTABLE} + -name ${_name} + -root ${CMAKE_BINARY_DIR}/temp + -srcroot ${CMAKE_SOURCE_DIR} + -version ${_version} + -notes "${_notes}" + ${_options} + # FIXME: cleanup does not work + #COMMAND rmdir /Q /S ${CMAKE_BINARY_DIR}\temp + ) + add_custom_target(kdewin_package_debug_and_release + COMMAND ${CMAKE_COMMAND} + -H$(CMAKE_SOURCE_DIR) + -B$(CMAKE_BINARY_DIR) + -DCMAKE_BUILD_TYPE=Debug + COMMAND ${CMAKE_MAKE_PROGRAM} + clean + COMMAND ${CMAKE_MAKE_PROGRAM} + install/local + COMMAND ${CMAKE_COMMAND} + -H$(CMAKE_SOURCE_DIR) + -B$(CMAKE_BINARY_DIR) + -DCMAKE_BUILD_TYPE=Release + COMMAND ${CMAKE_MAKE_PROGRAM} + clean + COMMAND ${CMAKE_MAKE_PROGRAM} + install/local + COMMAND ${KDEWIN_PACKAGER_EXECUTABLE} + -name ${_name} + -root ${CMAKE_BINARY_DIR}/temp + -srcroot ${CMAKE_SOURCE_DIR} + -version ${_version} + -notes "${_notes}" + -type ${type} + ${_options} + # FIXME: cleanup does not work + #COMMAND rmdir /Q /S ${CMAKE_BINARY_DIR}\temp + ) +set (CONTENT " +if \"%1\" == \"package_only\" goto package_only + +del CMakeCache.txt +rmdir /Q /S ${CMAKE_BINARY_DIR}/temp +${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR} -G \"MinGW Makefiles\" -DCMAKE_BUILD_TYPE=Debug +mingw32-make +${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/temp -P cmake_install.cmake +${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR} -G \"MinGW Makefiles\" -DCMAKE_BUILD_TYPE=Release +mingw32-make +${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/temp -P cmake_install.cmake +del CMakeCache.txt +${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR} -G \"NMake Makefiles\" -DCMAKE_BUILD_TYPE=Debug +nmake +${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/temp -P cmake_install.cmake +${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR} -G \"NMake Makefiles\" -DCMAKE_BUILD_TYPE=Release +nmake +${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/temp -P cmake_install.cmake +:package_only +${KDEWIN_PACKAGER_EXECUTABLE} -name ${_name} -root ${CMAKE_BINARY_DIR}/temp -srcroot ${CMAKE_SOURCE_DIR} -version ${_version} -notes \"${_notes}\" ${_options} +" +) + write_file(${CMAKE_BINARY_DIR}/kdewin_package_debug_and_release_mingw_and_msvc.bat "${CONTENT}") + add_custom_target(kdewin_package_debug_and_release_mingw_and_msvc + COMMAND ${CMAKE_BINARY_DIR}/kdewin_package_debug_and_release_mingw_and_msvc.bat + ) + endif (KDEWIN_PACKAGER_FOUND) +ENDMACRO (KDEWIN_PACKAGER) + -- cgit v1.2.1 From 7fef784cb6eb4735a8d95cd05d57553b5f6ce407 Mon Sep 17 00:00:00 2001 From: Laurent Montel Date: Wed, 20 Jun 2007 18:11:08 +0000 Subject: Fix typo svn path=/trunk/KDE/kdelibs/; revision=678111 --- modules/FindKDEWIN_Packager.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'modules/FindKDEWIN_Packager.cmake') diff --git a/modules/FindKDEWIN_Packager.cmake b/modules/FindKDEWIN_Packager.cmake index 4d50b54f..c19f4115 100644 --- a/modules/FindKDEWIN_Packager.cmake +++ b/modules/FindKDEWIN_Packager.cmake @@ -69,13 +69,13 @@ if (WIN32) endif (KDEWIN_PACKAGER_DIR) if (KDEWIN_PACKAGER_FOUND) - if (NOT KDEWIN_PACKAGER_FIND_QUIETLY) + if (NOT KDEWIN_Packager_FIND_QUIETLY) message(STATUS "Found KDEWIN Packager: ${KDEWIN_PACKAGER_DIR}") - endif (NOT KDEWIN_PACKAGER_FIND_QUIETLY) + endif (NOT KDEWIN_Packager_FIND_QUIETLY) else (KDEWIN_PACKAGER_FOUND) - if (KDEWIN_PACKAGER_FIND_REQUIRED) + if (KDEWIN_Packager_FIND_REQUIRED) message(FATAL_ERROR "Could NOT find KDEWIN PAckager") - endif (KDEWIN_PACKAGER_FIND_REQUIRED) + endif (KDEWIN_Packager_FIND_REQUIRED) endif (KDEWIN_PACKAGER_FOUND) endif (WIN32) -- cgit v1.2.1 From e34ca7a9480b9dd714cec2f8a0e58c1f731bf25a Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Thu, 4 Dec 2008 13:13:40 +0000 Subject: removed references to the obsolate KDEWIN package svn path=/trunk/KDE/kdelibs/; revision=892482 --- modules/FindKDEWIN_Packager.cmake | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'modules/FindKDEWIN_Packager.cmake') diff --git a/modules/FindKDEWIN_Packager.cmake b/modules/FindKDEWIN_Packager.cmake index c19f4115..b8f023e5 100644 --- a/modules/FindKDEWIN_Packager.cmake +++ b/modules/FindKDEWIN_Packager.cmake @@ -1,5 +1,5 @@ # -# KDEWIN packager support http://download.cegit.de/kde-windows/installer +# KDEWIN packager http://www.winkde.org/pub/kde/ports/win32/installer # # The kdewin packager is searched in the following pathes and order # @@ -51,16 +51,12 @@ if (WIN32) endif(NOT KDEWIN_PACKAGER_DIR) endif(NOT KDEWIN_PACKAGER_DIR) - # added FindKDEWIN.cmake support - if (NOT KDEWIN_PACKAGER_DIR AND KDEWIN_DIR) - set (KDEWIN_PACKAGER_DIR ${KDEWIN_DIR}) - endif (NOT KDEWIN_PACKAGER_DIR AND KDEWIN_DIR) - if (KDEWIN_PACKAGER_DIR) find_program(KDEWIN_PACKAGER_EXECUTABLE kdewin-packager PATHS ${KDEWIN_PACKAGER_DIR}/bin + ${CMAKE_INSTALL_PREFIX}/bin ) set(KDEWIN_PACKAGER_FOUND TRUE) -- cgit v1.2.1