#!/bin/sh
# This script creates a CGAL cmake script for a Qt CGAL application
# Only one .CPP file should be in the directory
#
#

#VERSION=1.0

create_cmake_script_for_qt()
{
  # print makefile header
  cat <<EOF


project( ${PROJECT} )
EOF
  cat <<'EOF'

cmake_minimum_required(VERSION 2.6.2)
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6)
  if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
    cmake_policy(VERSION 2.8.4)
  else()
    cmake_policy(VERSION 2.6)
  endif()
endif()

EOF

cat << 'EOF'

find_package(CGAL COMPONENTS Qt4 )

if ( CGAL_FOUND )

  include( ${CGAL_USE_FILE} )

  set( QT_USE_QTXML    TRUE )
  set( QT_USE_QTMAIN   TRUE )
  set( QT_USE_QTSCRIPT  TRUE )
  set( QT_USE_QTOPENGL  TRUE )
  
  find_package(Qt4)
  
  if(CGAL_Qt4_FOUND AND QT4_FOUND)
  
    include(${QT_USE_FILE})
EOF
    
    wrap="qt4_wrap_ui( DT_UI_FILES ${PROJECT}.ui )"
    echo $wrap
    moc="qt4_generate_moc( \"${PROJECT}.cpp\" \"\${CMAKE_CURRENT_BINARY_DIR}/${PROJECT}.moc\" )"
    echo $moc

    exec="add_executable  (${PROJECT} ${PROJECT}.cpp ${PROJECT}.moc \${DT_UI_FILES} )"
    echo $exec
  
    cached="add_to_cached_list( CGAL_EXECUTABLE_TARGETS ${PROJECT} )"
    echo $cached
  
    # Link the executable to CGAL and third-party libraries
    tl1="target_link_libraries(${PROJECT} \${QT_LIBRARIES} )"
    echo $tl1
    tl2="target_link_libraries(${PROJECT} \${CGAL_LIBRARIES} \${CGAL_3RD_PARTY_LIBRARIES} )"
    echo $tl2
cat << 'EOF'
  else()
  
    message(STATUS "NOTICE: This demo requires Qt4 and the CGAL Qt4 library, and will not be compiled.")
  
  endif()
  
else()
  
    message(STATUS "NOTICE: This demo requires the CGAL library, and will not be compiled.")
  
endif()
EOF
}

    
OUTPUTFILE=CMakeLists.txt
counter=0
for file in `ls *.cpp 2>/dev/null | sort`; do
 counter=`expr $counter + 1`
done
echo $counter
if [ $counter -ne 1 ]; then
 echo "There are more than 1 .cpp source files in the directory. Compilation cannot continue."
 exit
else 
 PROJECT=`basename $file .cpp`
fi
create_cmake_script_for_qt > $OUTPUTFILE
