From 985954a7af00b467b183bb3f5db9dc11f89fcaf5 Mon Sep 17 00:00:00 2001 From: regrain Date: Tue, 19 Apr 2005 11:13:13 +0000 Subject: [PATCH] * Builder/ : add something to facilitate the RPM creation of gdcm -- BeNours --- Builder/CMakeLists.txt | 72 +++++++++++++++++++++++------------- Builder/gdcm.spec.in | 78 +++++++++++++++++++++++++++++++++++++++ CMakeLists.txt | 9 +++-- ChangeLog | 3 ++ Example/CMakeLists.txt | 1 + gdcmPython/CMakeLists.txt | 3 ++ 6 files changed, 137 insertions(+), 29 deletions(-) create mode 100644 Builder/gdcm.spec.in diff --git a/Builder/CMakeLists.txt b/Builder/CMakeLists.txt index 30b6ba45..c4163627 100644 --- a/Builder/CMakeLists.txt +++ b/Builder/CMakeLists.txt @@ -1,13 +1,3 @@ -#----------------------------------------------------------------------------- -# Search InnoSetup: -FIND_FILE(INNOSETUP_EXECUTABLE ISCC.exe - "C:/Program Files/Inno Setup 5" - DOC "InnoSetup executable" -) - -IF(EXISTS INNOSETUP_EXECUTABLE) - MESSAGE(ERROR "INNOSETUP_EXECUTABLE isn't set properly") -ENDIF(EXISTS INNOSETUP_EXECUTABLE) IF(NOT GDCM_WRAP_PYTHON) MESSAGE(ERROR "INNOSETUP_EXECUTABLE require GDCM_WRAP_PYTHON set to YES") ENDIF(NOT GDCM_WRAP_PYTHON) @@ -18,23 +8,53 @@ IF(NOT BUILD_EXAMPLES) MESSAGE(ERROR "INNOSETUP_EXECUTABLE require BUILD_EXAMPLES set to YES") ENDIF(NOT BUILD_EXAMPLES) -#----------------------------------------------------------------------------- -# Set new variables to have Windows Paths -STRING(REGEX REPLACE "/" "\\\\" INNO_SOURCE_DIR ${GDCM_SOURCE_DIR}) -STRING(REGEX REPLACE "/" "\\\\" INNO_BINARY_DIR ${GDCM_BINARY_DIR}) -STRING(REGEX REPLACE "/" "\\\\" INNO_DATA_DIR ${GDCM_DATA_ROOT}) +IF(WIN32) + # Search InnoSetup: + FIND_FILE(INNOSETUP_EXECUTABLE ISCC.exe + "C:/Program Files/Inno Setup 5" + DOC "InnoSetup executable" + ) -#----------------------------------------------------------------------------- -# Build the installer -CONFIGURE_FILE( - ${GDCM_SOURCE_DIR}/Builder/gdcm.iss.in - ${GDCM_BINARY_DIR}/Builder/gdcm.iss -) + IF(EXISTS INNOSETUP_EXECUTABLE) + MESSAGE(ERROR "INNOSETUP_EXECUTABLE isn't set properly") + ENDIF(EXISTS INNOSETUP_EXECUTABLE) -ADD_CUSTOM_TARGET(InstallerWin32 - ALL - ${INNOSETUP_EXECUTABLE} ${GDCM_BINARY_DIR}/Builder/gdcm.iss -) + #----------------------------------------------------------------------------- + # Set new variables to have Windows Paths + STRING(REGEX REPLACE "/" "\\\\" INNO_SOURCE_DIR ${GDCM_SOURCE_DIR}) + STRING(REGEX REPLACE "/" "\\\\" INNO_BINARY_DIR ${GDCM_BINARY_DIR}) + STRING(REGEX REPLACE "/" "\\\\" INNO_DATA_DIR ${GDCM_DATA_ROOT}) -#----------------------------------------------------------------------------- + #----------------------------------------------------------------------------- + # Build the installer + CONFIGURE_FILE( + ${GDCM_SOURCE_DIR}/Builder/gdcm.iss.in + ${GDCM_BINARY_DIR}/Builder/gdcm.iss + ) + ADD_CUSTOM_TARGET(InstallerWin32 + ALL + ${INNOSETUP_EXECUTABLE} ${GDCM_BINARY_DIR}/Builder/gdcm.iss + ) + #----------------------------------------------------------------------------- +ENDIF(WIN32) + +IF(UNIX) + #----------------------------------------------------------------------------- + # Build the installer + CONFIGURE_FILE( + ${GDCM_SOURCE_DIR}/Builder/gdcm.spec.in + ${GDCM_BINARY_DIR}/Builder/gdcm.spec + ) + +# ADD_CUSTOM_TARGET(TarGZ +# ALL +# ${GDCM_SOURCE_DIR}/../tar -zcvf ${GDCM_BINARY_DIR}/BUILDER/gdcm.tar.gz ${GDCM_SOURCE_DIR} +# ) + + STRING(REGEX REPLACE ".*/" "" SPEC_SOURCE_DIR ${GDCM_SOURCE_DIR}) + EXEC_PROGRAM("date +%Y%m%d" OUTPUT_VARIABLE GDCM_DATE) + + EXEC_PROGRAM("tar -zcvf ${GDCM_BINARY_DIR}/Builder/gdcm.tar.gz ${SPEC_SOURCE_DIR}" ${GDCM_SOURCE_DIR}/..) + #----------------------------------------------------------------------------- +ENDIF(UNIX) diff --git a/Builder/gdcm.spec.in b/Builder/gdcm.spec.in new file mode 100644 index 00000000..6058d816 --- /dev/null +++ b/Builder/gdcm.spec.in @@ -0,0 +1,78 @@ +Summary: gdcm +Name: gdcm +Version: @GDCM_VERSION@ +Release: 1.@GDCM_DATE@ +License: BSD +Group: Development/Libraries +#Source: ftp://ftp.creatis.insa-lyon.fr/gdcm/gdcm/gdcm.tar.gz +Source: ../SOURCES/gdcm.tar.gz +BuildRoot: /var/tmp/gdcm-%{version}-root +Prereq: /sbin/install-info + +%description +write something here + +%changelog +* Fri Apr 15 2005 Fabrice Bellet 1.0.0-1.20050415 +- rebuild a post 1.0.0 CVS version with cmake + +* Wed Mar 23 2005 Fabrice Bellet 0.4.1-4 +- rebuild for VTK cvs20040114. + +* Thu Nov 11 2004 Fabrice Bellet 0.4.1-3 +- fix vtk/Makefile.am for FC3 automake +- rebuild for Fedora Core 3 + +* Thu May 27 2004 Fabrice Bellet 0.4.1-2 +- rebuild for Fedora Core 2 +- debuginfo rebuild + +* Mon May 3 2004 Fabrice Bellet +- fixed some python paths. +- update to version of 2004-04-20, for use with DaVaW. + +* Tue Feb 24 2004 Fabrice Bellet +- initial packaging. + +%prep +%setup -q -n gdcm + +export CC='gcc' +export CXX='g++' +export MAKE='make %{?_smp_mflags}' +export CFLAGS="$RPM_OPT_FLAGS" +export CXXFLAGS="$RPM_OPT_FLAGS -Wno-deprecated" +cmake . \ +-DCMAKE_CXX_COMPILER:FILEPATH=$CXX \ +-DCMAKE_C_COMPILER:FILEPATH=$CC \ +-DCMAKE_INSTALL_PREFIX:STRING="/usr" \ +-DGDCM_DATA_DIR:STRING="/usr/shared/gdcm" \ +-DBUILD_TESTING:BOOL=OFF \ +-DBUILD_EXAMPLES:BOOL=ON \ +-DGDCM_VTK:BOOL=ON \ +-DGDCM_WRAP_PYTHON:BOOL=ON \ +-DGDCM_DOCUMENTATION:BOOL=OFF + +%build +make + +%install +rm -rf $RPM_BUILD_ROOT +make DESTDIR=$RPM_BUILD_ROOT install + + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%defattr(-, root, root) +%doc AUTHORS ChangeLog NEWS README DEVELOPPER INSTALL +%{_prefix}/bin/* +%{_prefix}/lib/* +%{_prefix}/include/* +%{_prefix}/share/gdcm/* + diff --git a/CMakeLists.txt b/CMakeLists.txt index bde81c93..aa33829e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -240,8 +240,11 @@ ENDIF(GDCM_DOCUMENTATION) #----------------------------------------------------------------------------- IF(WIN32) OPTION(GDCM_INSTALLER "Build the install setup using InnoSetup." OFF) - IF(GDCM_INSTALLER) - SUBDIRS(Builder) - ENDIF(GDCM_INSTALLER) ENDIF(WIN32) +IF(UNIX) + OPTION(GDCM_INSTALLER "Prepare the rpmBuild use." OFF) +ENDIF(UNIX) +IF(GDCM_INSTALLER) + SUBDIRS(Builder) +ENDIF(GDCM_INSTALLER) diff --git a/ChangeLog b/ChangeLog index a1ba55d3..64efbb8a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2005-04-19 Benoit Regrain + * Builder/ : add something to facilitate the RPM creation of gdcm + 2005-04-15 Mathieu Malaterre * Fix gdcmDirList::IsDirectory. Apparently borland did not like the ending '/' diff --git a/Example/CMakeLists.txt b/Example/CMakeLists.txt index 22ff98f0..1514d219 100644 --- a/Example/CMakeLists.txt +++ b/Example/CMakeLists.txt @@ -42,5 +42,6 @@ SET(EXAMPLE_SOURCES FOREACH(name ${EXAMPLE_SOURCES}) ADD_EXECUTABLE(${name} ${name}.cxx) TARGET_LINK_LIBRARIES(${name} gdcm) + INSTALL_TARGETS(/bin/ ${name}) ENDFOREACH(name) diff --git a/gdcmPython/CMakeLists.txt b/gdcmPython/CMakeLists.txt index b48dc60b..c9cfa2a9 100644 --- a/gdcmPython/CMakeLists.txt +++ b/gdcmPython/CMakeLists.txt @@ -136,6 +136,7 @@ ELSE(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 1.9) ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 1.9) +INSTALL_TARGETS(/lib/ _gdcm) #----------------------------------------------------------------------------- # VTK Wrapping @@ -171,6 +172,8 @@ IF(GDCM_VTK) vtkgdcm vtkCommonPython vtkIOPython) + INSTALL_TARGETS(/lib/ vtkgdcmPython) + ENDIF (GDCM_WRAP_PYTHON) ENDIF(GDCM_VTK) -- 2.45.0