X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=cmake%2Fcommon.cmake;h=226064867e3e23cc3563abcc4b5b87c394af33fb;hb=998ca9ca987553dc71578e5584e881f6bd537d91;hp=d661d56ca6a198be2720f0f4a3878d3d7715e24b;hpb=4a567a442ac0d844a894e5de071d51a505d07f4a;p=clitk.git diff --git a/cmake/common.cmake b/cmake/common.cmake index d661d56..2260648 100644 --- a/cmake/common.cmake +++ b/cmake/common.cmake @@ -1,51 +1,42 @@ #========================================================= -# Find ggo (gengetopt) files (http://www.gnu.org/software/gengetopt/) -FILE(GLOB ALL_GGO_FILES *.ggo) -#MESSAGE(${ALL_GGO_FILES}) - -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) +macro(DD in) + message(${in}=${${in}}) +endmacro(DD) +#========================================================= #========================================================= #Set a reasonable build mode default if the user hasn't set any if (NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE RelWithDebInfo) + set(CMAKE_BUILD_TYPE Release) 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}/ilr/base) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ilr/grid) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ilr/gridtools) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ilr/signal) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ilr/pose) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ilr/shearwarp) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ilr/synergy) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ilr/reconstruction) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ilr/register) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ilr/deformableregistration) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ilr/optim) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/common) -#INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/tests) -INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/tools) +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 '.") +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) #=========================================================