diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-04-27 10:07:36 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-04-27 10:07:36 +0200 |
commit | 658a53c6aee000b8846695132e22bb914e6cf7dc (patch) | |
tree | aedbcef11dff013190f3ac8dadfb1d71e990c594 /cmake/find_gengetopt.cmake | |
parent | dc1fb59fd30e76571c9151900a84ac3c814ee167 (diff) | |
download | cssh-658a53c6aee000b8846695132e22bb914e6cf7dc.tar.gz cssh-658a53c6aee000b8846695132e22bb914e6cf7dc.tar.bz2 |
fixed probing for libssh (especially fixes OSX build issues)
Diffstat (limited to 'cmake/find_gengetopt.cmake')
-rw-r--r-- | cmake/find_gengetopt.cmake | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/cmake/find_gengetopt.cmake b/cmake/find_gengetopt.cmake new file mode 100644 index 0000000..3caea3e --- /dev/null +++ b/cmake/find_gengetopt.cmake @@ -0,0 +1,33 @@ +MACRO(FIND_GENGETOPT) + IF(NOT GENGETOPT_EXECUTABLE) + FIND_PROGRAM(GENGETOPT_EXECUTABLE gengetopt) + IF (NOT GENGETOPT_EXECUTABLE) + MESSAGE(FATAL_ERROR "gengetopt not found - aborting") + ENDIF (NOT GENGETOPT_EXECUTABLE) + ENDIF(NOT GENGETOPT_EXECUTABLE) +ENDMACRO(FIND_GENGETOPT) + +MACRO(ADD_GENGETOPT_FILES _sources ) + FIND_GENGETOPT() + + FOREACH (_current_FILE ${ARGN}) + GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE) + GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE) + + SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.c) + SET(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h) + + ADD_CUSTOM_COMMAND( + OUTPUT ${_out} ${_header} + COMMAND ${GENGETOPT_EXECUTABLE} + ARGS + -F ${_basename} + --unamed-opts + --input=${_in} + DEPENDS ${_in} + ) + + SET(${_sources} ${${_sources}} ${_out} ) + SET(${_sources} ${${_sources}} ${_header} ) + ENDFOREACH (_current_FILE) +ENDMACRO(ADD_GENGETOPT_FILES) |