X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=cmake%2FFindGengetopt.cmake;h=090303cde90177fb391475fb7fe003d77c35c29d;hb=a4b0c9702a1d102f07eafa205a62cf46c0c625aa;hp=95f2a474897059f2a7248f1b80267c053b84c268;hpb=b14e05d38fa7c7093a22673adebce86b97d69fa0;p=clitk.git diff --git a/cmake/FindGengetopt.cmake b/cmake/FindGengetopt.cmake index 95f2a47..090303c 100644 --- a/cmake/FindGengetopt.cmake +++ b/cmake/FindGengetopt.cmake @@ -1,22 +1,22 @@ # Attempt to find gengetopt. If not found, compile it. -FIND_PROGRAM(GENGETOPT gengetopt) -IF (GENGETOPT STREQUAL "GENGETOPT-NOTFOUND") - GET_FILENAME_COMPONENT(CLITK_CMAKE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) - ADD_SUBDIRECTORY(${CLITK_CMAKE_DIR}/../utilities/gengetopt ${CMAKE_CURRENT_BINARY_DIR}/gengetopt) -ELSE(GENGETOPT STREQUAL "GENGETOPT-NOTFOUND") - ADD_EXECUTABLE(gengetopt IMPORTED) - SET_PROPERTY(TARGET gengetopt PROPERTY IMPORTED_LOCATION ${GENGETOPT}) -ENDIF(GENGETOPT STREQUAL "GENGETOPT-NOTFOUND") +find_program(GENGETOPT gengetopt) +if(GENGETOPT STREQUAL "GENGETOPT-NOTFOUND") + get_filename_component(CLITK_CMAKE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) + add_subdirectory(${CLITK_CMAKE_DIR}/../utilities/gengetopt ${CMAKE_CURRENT_BINARY_DIR}/gengetopt) +else(GENGETOPT STREQUAL "GENGETOPT-NOTFOUND") + add_executable(gengetopt IMPORTED) + set_property(TARGET gengetopt PROPERTY IMPORTED_LOCATION ${GENGETOPT}) +endif(GENGETOPT STREQUAL "GENGETOPT-NOTFOUND") -MACRO (WRAP_GGO GGO_SRCS) - 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 ${CMAKE_CURRENT_BINARY_DIR}/${GGO_H} ${CMAKE_CURRENT_BINARY_DIR}/${GGO_C}) - ADD_CUSTOM_COMMAND(OUTPUT ${GGO_OUTPUT} +macro(WRAP_GGO GGO_SRCS) + 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 ${CMAKE_CURRENT_BINARY_DIR}/${GGO_H} ${CMAKE_CURRENT_BINARY_DIR}/${GGO_C}) + add_custom_command(OUTPUT ${GGO_OUTPUT} COMMAND gengetopt ARGS < ${GGO_FILE_ABS} --output-dir=${CMAKE_CURRENT_BINARY_DIR} @@ -28,15 +28,15 @@ MACRO (WRAP_GGO GGO_SRCS) --include-getopt DEPENDS ${GGO_FILE_ABS} ) - SET(${GGO_SRCS} ${${GGO_SRCS}} ${GGO_OUTPUT}) - INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) - ENDFOREACH(GGO_FILE) - SET_SOURCE_FILES_PROPERTIES(${${GGO_SRCS}} PROPERTIES GENERATED TRUE) - IF(CMAKE_COMPILER_IS_GNUCXX) - FIND_PROGRAM(DEFAULT_GCC gcc) - EXEC_PROGRAM(${DEFAULT_GCC} ARGS "-dumpversion" OUTPUT_VARIABLE GCCVER) - IF("${GCCVER}" VERSION_GREATER "4.5.2") - SET_SOURCE_FILES_PROPERTIES(${${GGO_SRCS}} PROPERTIES COMPILE_FLAGS "-Wno-unused-but-set-variable") - ENDIF("${GCCVER}" VERSION_GREATER "4.5.2") - ENDIF(CMAKE_COMPILER_IS_GNUCXX) -ENDMACRO (WRAP_GGO) + set(${GGO_SRCS} ${${GGO_SRCS}} ${GGO_OUTPUT}) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) + endforeach(GGO_FILE) + set_source_files_properties(${${GGO_SRCS}} PROPERTIES GENERATED TRUE) + if(CMAKE_COMPILER_IS_GNUCXX) + find_program(DEFAULT_GCC gcc) + exec_program(${DEFAULT_GCC} ARGS "-dumpversion" OUTPUT_VARIABLE GCCVER) + if("${GCCVER}" VERSION_GREATER "4.5.2") + set_source_files_properties(${${GGO_SRCS}} PROPERTIES COMPILE_FLAGS "-Wno-unused-but-set-variable") + endif("${GCCVER}" VERSION_GREATER "4.5.2") + endif(CMAKE_COMPILER_IS_GNUCXX) +endmacro(WRAP_GGO)