]> Creatis software - clitk.git/blobdiff - cmake/common.cmake
With ITKv5, change VectorResample and VectorCast Image Filter to Resample and Cast...
[clitk.git] / cmake / common.cmake
index 8f5df50897da0e8e2b7e9c4b32b79428249697c7..226064867e3e23cc3563abcc4b5b87c394af33fb 100644 (file)
@@ -1,28 +1,9 @@
 #=========================================================
-# Find ggo (gengetopt) files (http://www.gnu.org/software/gengetopt/)
-FILE(GLOB ALL_GGO_FILES *.ggo)
-#MESSAGE(${ALL_GGO_FILES})
+macro(DD in)
+    message(${in}=${${in}})
+endmacro(DD)
+#=========================================================
 
-FOREACH(GGO_FILE ${ALL_GGO_FILES})
-  # MESSAGE(input=${GGO_FILE})  
-    STRING(REGEX REPLACE "(.*).ggo" 
-      "\\1" GGO_BASEFILENAME
-      "${GGO_FILE}")  
-  #GET_FILENAME_COMPONENT(GGO_BASEFILENAME ${GGO_FILE} NAME_WE)
-  GET_FILENAME_COMPONENT(GGO_NAME ${GGO_BASEFILENAME} NAME)
-  # MESSAGE( base= ${GGO_BASEFILENAME})
-  # MESSAGE( name= ${GGO_NAME})
-  SET(GGO_H ${GGO_BASEFILENAME}_ggo.h)
-  #MESSAGE(${GGO_H})
-  SET(GGO_C ${GGO_BASEFILENAME}_ggo.c)
-  #MESSAGE(${GGO_C}) 
-  SET(GGO_OUTPUT  ${GGO_H} ${GGO_C})
-  ADD_CUSTOM_COMMAND(OUTPUT ${GGO_OUTPUT} 
-       COMMAND ${CLITK_GENGETOPT}/gengetopt
-       ARGS < ${GGO_FILE} --arg-struct-name=args_info_${GGO_NAME}  --file-name=${GGO_BASEFILENAME}_ggo -u --conf-parser --include-getopt
-       DEPENDS ${GGO_FILE}
-       )  
- ENDFOREACH(GGO_FILE)
 #=========================================================
 #Set a reasonable build mode default if the user hasn't set any
 if (NOT CMAKE_BUILD_TYPE)
@@ -30,10 +11,32 @@ if (NOT CMAKE_BUILD_TYPE)
 endif (NOT CMAKE_BUILD_TYPE)
 
 #=========================================================
-SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin/)
-SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
-LINK_DIRECTORIES(${PROJECT_BINARY_DIR}/lib)
-INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/common)
-INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/tools)
-INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/signal)
+include_directories(${CLITK_SOURCE_DIR}/itk
+  ${CLITK_SOURCE_DIR}/filters
+  ${CLITK_SOURCE_DIR}/segmentation
+  ${CLITK_SOURCE_DIR}/registration
+  ${CLITK_SOURCE_DIR}/tools
+  ${CLITK_SOURCE_DIR}/common
+  ${PROJECT_BINARY_DIR})
+set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
+set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
+link_directories(${PROJECT_BINARY_DIR}/lib)
+include_directories(${PROJECT_BINARY_DIR}/tools)         #For _ggo.h includes from other directories
+include_directories(${PROJECT_BINARY_DIR}/segmentation)  #For _ggo.h includes from other directories
+include_directories(${PROJECT_BINARY_DIR}/registration)  #For _ggo.h includes from other directories
+#=========================================================
+
+#=========================================================
+# Building in the source tree is forbidden
+if(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
+  message(FATAL_ERROR "Building in the source tree is not allowed ! Quit; remove the file 'CMakeCache.txt' and the folder 'CMakeFiles' an
+d build outside the sources (for example 'mkdir build ; cmake <CLITK_DIR>'.")
+endif(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
+#=========================================================
+
+#=========================================================
+# Remove some MS Visual c++ flags
+if(MSVC)
+  add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS)
+endif(MSVC)
 #=========================================================