X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=cmake%2Fcommon.cmake;h=771467b0780a567cae2dd975cf28339560c06685;hb=0b69855f265de2c9f13f717ec67265df8b1cbd96;hp=c5aac656907146989426622abd5486055c49a116;hpb=e79c7f94a4c1a8c79e0c4090922b796532192b62;p=clitk.git diff --git a/cmake/common.cmake b/cmake/common.cmake index c5aac65..771467b 100644 --- a/cmake/common.cmake +++ b/cmake/common.cmake @@ -3,45 +3,40 @@ MACRO (DD in) MESSAGE(${in}=${${in}}) ENDMACRO(DD) #========================================================= -# Process ggo (gengetopt) files (http://www.gnu.org/software/gengetopt/) -MACRO (WRAP_GGO GGO_SRCS) - MAKE_DIRECTORY(${CMAKE_BINARY_DIR}/ggo) - FOREACH(GGO_FILE ${ARGN}) - GET_FILENAME_COMPONENT(GGO_BASEFILENAME ${GGO_FILE} NAME_WE) - GET_FILENAME_COMPONENT(GGO_FILE_ABS ${GGO_FILE} ABSOLUTE) - SET(GGO_H ${GGO_BASEFILENAME}_ggo.h) - SET(GGO_C ${GGO_BASEFILENAME}_ggo.c) - SET(GGO_OUTPUT ${GGO_H} ${GGO_C}) - ADD_CUSTOM_COMMAND(OUTPUT ${GGO_OUTPUT} - COMMAND ${CLITK_GENGETOPT}/gengetopt - ARGS < ${GGO_FILE_ABS} - --output-dir=${CMAKE_CURRENT_BINARY_DIR} - --arg-struct-name=args_info_${GGO_BASEFILENAME} - --func-name=cmdline_parser_${GGO_BASEFILENAME} - --file-name=${GGO_BASEFILENAME}_ggo - --unamed-opts - --conf-parser - --include-getopt - DEPENDS ${GGO_FILE} - ) - SET(${GGO_SRCS} ${${GGO_SRCS}} ${CMAKE_CURRENT_BINARY_DIR}/${GGO_BASEFILENAME}_ggo.c) - INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) #For _ggo.h includes - ENDFOREACH(GGO_FILE) -ENDMACRO (WRAP_GGO) -# Reproduce old mechanism with new macro for ggo files (for the time being) -FILE(GLOB ALL_GGO_FILES *.ggo) -WRAP_GGO(ALL_GGO_SRCS ${ALL_GGO_FILES}) #========================================================= #Set a reasonable build mode default if the user hasn't set any if (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif (NOT CMAKE_BUILD_TYPE) + #========================================================= +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_SOURCE_DIR}/common) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/tools) -INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}/filters) #For _ggo.h includes from other directories +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 '.") +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) #=========================================================