Change default build type to optimized build with debug symbols (RelWithDebInfo)
[libftdi] / CMakeLists.txt
index 67640dc..233d1da 100644 (file)
@@ -9,7 +9,7 @@ SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}")
 
 # CMake
 if("${CMAKE_BUILD_TYPE}" STREQUAL "")
-   set(CMAKE_BUILD_TYPE     Debug)
+   set(CMAKE_BUILD_TYPE     RelWithDebInfo)
 endif("${CMAKE_BUILD_TYPE}" STREQUAL "")
 set(CMAKE_COLOR_MAKEFILE ON)
 cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
@@ -90,22 +90,14 @@ endif(${WIN32})
 set(CPACK_RESOURCE_FILE_LICENSE        ${CMAKE_SOURCE_DIR}/LICENSE)
 
 set(CPACK_SOURCE_GENERATOR             TGZ)
-set(CPACK_SOURCE_IGNORE_FILES          "\\\\.git")
-set(CPACK_SOURCE_PACKAGE_FILE_NAME     ${CPACK_PACKAGE_FILE_NAME})
+set(CPACK_SOURCE_IGNORE_FILES          "\\\\.git;~$;build/")
+set(CPACK_SOURCE_PACKAGE_FILE_NAME     ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION})
 
 # Subdirectories
 if(${UNIX})
   set(CPACK_SET_DESTDIR "ON")
 endif(${UNIX})
 
-add_subdirectory(src)
-add_subdirectory(ftdipp)
-add_subdirectory(bindings)
-add_subdirectory(ftdi_eeprom)
-add_subdirectory(examples)
-add_subdirectory(packages)
-add_subdirectory(test)
-
 # "make dist" target
 set(ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${VERSION_STRING})
 add_custom_target(dist
@@ -128,6 +120,7 @@ if(DOCUMENTATION AND DOXYGEN_FOUND)
    # Copy doxy.config.in
    set(top_srcdir ${CMAKE_SOURCE_DIR})
    configure_file(${CMAKE_SOURCE_DIR}/doc/Doxyfile.in ${CMAKE_BINARY_DIR}/Doxyfile )
+   configure_file(${CMAKE_SOURCE_DIR}/doc/Doxyfile.xml.in ${CMAKE_BINARY_DIR}/Doxyfile.xml )
 
    # Run doxygen
    add_custom_command(
@@ -144,6 +137,14 @@ else(DOCUMENTATION AND DOXYGEN_FOUND)
    message(STATUS "Not generating API documentation")
 endif(DOCUMENTATION AND DOXYGEN_FOUND)
 
+add_subdirectory(src)
+add_subdirectory(ftdipp)
+add_subdirectory(bindings)
+add_subdirectory(ftdi_eeprom)
+add_subdirectory(examples)
+add_subdirectory(packages)
+add_subdirectory(test)
+
 # PkgConfig
 set(prefix      ${CMAKE_INSTALL_PREFIX})
 set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin)
@@ -162,9 +163,27 @@ configure_file(${CMAKE_SOURCE_DIR}/libftdipp1.pc.in ${CMAKE_BINARY_DIR}/libftdip
 install(FILES ${CMAKE_BINARY_DIR}/libftdi1.pc ${CMAKE_BINARY_DIR}/libftdipp1.pc
         DESTINATION lib${LIB_SUFFIX}/pkgconfig)
 
-if(${UNIX})
-    configure_file(${CMAKE_SOURCE_DIR}/libftdi1-config.in ${CMAKE_BINARY_DIR}/libftdi1-config @ONLY)
-    install(PROGRAMS ${CMAKE_BINARY_DIR}/libftdi1-config DESTINATION bin)
-endif(${UNIX})
+if ( UNIX )
+  configure_file ( libftdi1-config.in ${CMAKE_CURRENT_BINARY_DIR}/libftdi1-config @ONLY )
+  install ( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libftdi1-config
+            DESTINATION bin )
+
+  get_target_property( _LIBFTDI_LIBRARY_LOCATION ftdi1 LOCATION )
+  get_filename_component ( _LIBFTDI_LIBRARY_NAME ${_LIBFTDI_LIBRARY_LOCATION} NAME )
+  set ( LIBFTDI_INCLUDE_DIR ${includedir} )
+  set ( LIBFTDI_INCLUDE_DIRS ${LIBFTDI_INCLUDE_DIR} )
+  set ( LIBFTDI_LIBRARY ${libdir}/${_LIBFTDI_LIBRARY_NAME} )
+  set ( LIBFTDI_LIBRARIES ${LIBFTDI_LIBRARY} )
+  list ( APPEND LIBFTDI_LIBRARIES ${LIBUSB_LIBRARIES} )
+  set ( LIBFTDI_ROOT_DIR ${prefix} )
+  set ( LIBFTDI_VERSION_STRING ${VERSION_STRING} )
+  set ( LIBFTDI_VERSION_MAJOR ${MAJOR_VERSION} )
+  set ( LIBFTDI_VERSION_MINOR ${MINOR_VERSION} )
+  set ( LIBFTDI_USE_FILE ${CMAKE_INSTALL_PREFIX}/lib/cmake/libftdi/UseLibFTDI.cmake )
+  configure_file ( LibFTDIConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LibFTDIConfig.cmake @ONLY )
+  install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/LibFTDIConfig.cmake UseLibFTDI.cmake
+            DESTINATION lib/cmake/libftdi
+          )
+endif ()
 
 include(CPack)