aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt72
-rw-r--r--cmake/Modules/FindFaad.cmake34
-rw-r--r--cmake/cmake_uninstall.cmake.in21
3 files changed, 127 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..8fbe524
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,72 @@
+########################################################################
+# Project setup
+########################################################################
+
+cmake_minimum_required(VERSION 2.8)
+project(etisnoop CXX)
+
+# Select the release build type by default to get optimization flags
+if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE "Release")
+ message(STATUS "Build type not specified: defaulting to release.")
+endif(NOT CMAKE_BUILD_TYPE)
+set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
+
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
+
+# Set the version information here
+set(VERSION_INFO_MAJOR_VERSION 0)
+set(VERSION_INFO_API_COMPAT 0)
+set(VERSION_INFO_MINOR_VERSION 0)
+set(VERSION_INFO_MAINT_VERSION git)
+
+
+########################################################################
+# Compiler specific setup
+########################################################################
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -W -Wall")
+
+
+########################################################################
+# Find build dependencies
+########################################################################
+
+# libfaad2
+find_package(Faad REQUIRED)
+include_directories(${FAAD_INCLUDE_DIRS})
+
+
+########################################################################
+# Setup apps
+########################################################################
+
+list(APPEND etisnoop_sources
+ dabplussnoop.cpp
+ lib_crc.c
+ firecode.c
+ faad_decoder.cpp
+ wavfile.c
+ etiinput.cpp
+ etisnoop.cpp
+)
+
+set_source_files_properties(${etisnoop_sources} PROPERTIES LANGUAGE "CXX")
+add_executable(etisnoop ${etisnoop_sources})
+target_link_libraries(etisnoop ${FAAD_LIBRARIES})
+
+install(TARGETS etisnoop DESTINATION bin)
+
+
+########################################################################
+# Create uninstall target
+########################################################################
+
+configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+ IMMEDIATE @ONLY)
+
+add_custom_target(uninstall
+ COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
+
diff --git a/cmake/Modules/FindFaad.cmake b/cmake/Modules/FindFaad.cmake
new file mode 100644
index 0000000..541861a
--- /dev/null
+++ b/cmake/Modules/FindFaad.cmake
@@ -0,0 +1,34 @@
+# Try to find FAAD library and include path.
+# Once done this will define
+#
+# FAAD_INCLUDE_DIRS - where to find faad.h, etc.
+# FAAD_LIBRARIES - List of libraries when using libfaad.
+# FAAD_FOUND - True if libfaad found.
+
+find_path(FAAD_INCLUDE_DIR faad.h DOC "The directory where faad.h resides")
+find_library(FAAD_LIBRARY NAMES faad DOC "The libfaad library")
+
+if(FAAD_INCLUDE_DIR AND FAAD_LIBRARY)
+ set(FAAD_FOUND 1)
+ set(FAAD_LIBRARIES ${FAAD_LIBRARY})
+ set(FAAD_INCLUDE_DIRS ${FAAD_INCLUDE_DIR})
+else(FAAD_INCLUDE_DIR AND FAAD_LIBRARY)
+ set(FAAD_FOUND 0)
+ set(FAAD_LIBRARIES)
+ set(FAAD_INCLUDE_DIRS)
+endif(FAAD_INCLUDE_DIR AND FAAD_LIBRARY)
+
+mark_as_advanced(FAAD_INCLUDE_DIR)
+mark_as_advanced(FAAD_LIBRARY)
+mark_as_advanced(FAAD_FOUND)
+
+if(NOT FAAD_FOUND)
+ set(FAAD_DIR_MESSAGE "libfaad was not found. Make sure FAAD_LIBRARY and FAAD_INCLUDE_DIR are set.")
+ if(NOT FAAD_FIND_QUIETLY)
+ message(STATUS "${FAAD_DIR_MESSAGE}")
+ else(NOT FAAD_FIND_QUIETLY)
+ if(FAAD_FIND_REQUIRED)
+ message(FATAL_ERROR "${FAAD_DIR_MESSAGE}")
+ endif(FAAD_FIND_REQUIRED)
+ endif(NOT FAAD_FIND_QUIETLY)
+endif(NOT FAAD_FOUND)
diff --git a/cmake/cmake_uninstall.cmake.in b/cmake/cmake_uninstall.cmake.in
new file mode 100644
index 0000000..2037e36
--- /dev/null
+++ b/cmake/cmake_uninstall.cmake.in
@@ -0,0 +1,21 @@
+if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+ message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+
+file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
+string(REGEX REPLACE "\n" ";" files "${files}")
+foreach(file ${files})
+ message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
+ if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
+ exec_program(
+ "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
+ OUTPUT_VARIABLE rm_out
+ RETURN_VALUE rm_retval
+ )
+ if(NOT "${rm_retval}" STREQUAL 0)
+ message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
+ endif(NOT "${rm_retval}" STREQUAL 0)
+ else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
+ message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
+ endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
+endforeach(file)