]> Creatis software - gdcm.git/blobdiff - Builder/CMakeLists.txt
* Builder/ : add something to facilitate the RPM creation of gdcm
[gdcm.git] / Builder / CMakeLists.txt
index 30b6ba451d47bcd0522e84e8f3b959d47e144a81..c4163627447e2ff8bab2b28e15c4fb8c1048bab3 100644 (file)
@@ -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)