IF(NOT GETOPT_NAMESPACE)
  SET(GETOPT_NAMESPACE "GETOPT")
  SET(GETOPT_STANDALONE 1)
ENDIF(NOT GETOPT_NAMESPACE)
# In all cases:
STRING(TOLOWER ${GETOPT_NAMESPACE} GETOPT_LIBRARY_NAME)

PROJECT(${GETOPT_NAMESPACE} C)
CMAKE_MINIMUM_REQUIRED(VERSION 2.2)

#SET(BUILD_SHARED_LIBS OFF)

SET(GETOPT_SRCS
  getopt.c
  getopt_long.c
  )
IF(WIN32)
  IF (BUILD_SHARED_LIBS)
    ADD_DEFINITIONS(-DGETOPT_DLL)
  ENDIF (BUILD_SHARED_LIBS)
ENDIF(WIN32)

#INCLUDE_DIRECTORIES(BEFORE
#  ${CMAKE_CURRENT_SOURCE_DIR}
#  )

SET(GETOPT_MAJOR_VERSION 1)
SET(GETOPT_MINOR_VERSION 0)
SET(GETOPT_BUILD_VERSION 0)
SET(GETOPT_VERSION
  "${GETOPT_MAJOR_VERSION}.${GETOPT_MINOR_VERSION}.${GETOPT_BUILD_VERSION}")

SET(GETOPT_LIBRARY_PROPERTIES ${GETOPT_LIBRARY_PROPERTIES}
  VERSION "${GETOPT_VERSION}"
  SOVERSION "${GETOPT_MAJOR_VERSION}.${GETOPT_MINOR_VERSION}"
)

# Only build this lib static. On most unix system
# we will be using the standart getopt
# so this lib will be for the poor Win32 user (those
# guys really need help)
ADD_LIBRARY(${GETOPT_LIBRARY_NAME} ${GETOPT_SRCS})
SET_TARGET_PROPERTIES(${GETOPT_LIBRARY_NAME} PROPERTIES ${GETOPT_LIBRARY_PROPERTIES})
IF(CMAKE_COMPILER_IS_GNUCXX AND MINGW)
  # For some reason mingw fails to export the optind which is clearly marked as exported (using extern symbol)
  # ... for now use this flag :
  SET_TARGET_PROPERTIES(${GETOPT_LIBRARY_NAME} PROPERTIES LINK_FLAGS "-Wl,--export-all-symbols")
ENDIF(CMAKE_COMPILER_IS_GNUCXX AND MINGW)

#IF(BUILD_EXAMPLES)
#IF(GDCM_BUILD_TESTING)
#ADD_EXECUTABLE(ex_getopt ex_getopt.c)
#TARGET_LINK_LIBRARIES(ex_getopt ${GETOPT_LIBRARY_NAME})
#IF(NOT GETOPT_INSTALL_NO_LIBRARIES)
#  INSTALL(TARGETS ex_getopt
#    RUNTIME DESTINATION ${GETOPT_INSTALL_BIN_DIR} COMPONENT Applications
#    LIBRARY DESTINATION ${GETOPT_INSTALL_LIB_DIR} COMPONENT Libraries
#    ARCHIVE DESTINATION ${GETOPT_INSTALL_LIB_DIR} COMPONENT Development
#  ${CPACK_NAMELINK_TYPE}
#  )
#ENDIF(NOT GETOPT_INSTALL_NO_LIBRARIES)
#ENDIF(GDCM_BUILD_TESTING)
#ENDIF(BUILD_EXAMPLES)

IF(NOT GETOPT_INSTALL_NO_LIBRARIES)
  INSTALL(TARGETS ${GETOPT_LIBRARY_NAME}
    RUNTIME DESTINATION ${GETOPT_INSTALL_BIN_DIR} COMPONENT Applications
    LIBRARY DESTINATION ${GETOPT_INSTALL_LIB_DIR} COMPONENT Libraries #${NAMELINK_SKIP}
    ARCHIVE DESTINATION ${GETOPT_INSTALL_LIB_DIR} COMPONENT Development
  )
  #if(NAMELINK_ONLY)
  #  INSTALL(TARGETS ${GETOPT_LIBRARY_NAME}
  #    LIBRARY DESTINATION ${GETOPT_INSTALL_LIB_DIR} COMPONENT Development ${NAMELINK_ONLY}
  #  )
  #endif(NAMELINK_ONLY)
ENDIF(NOT GETOPT_INSTALL_NO_LIBRARIES)

