Update codec2 cmake config to build unittests.
authorhobbes1069 <hobbes1069@01035d8c-6547-0410-b346-abe4f91aad63>
Fri, 24 May 2013 15:38:20 +0000 (15:38 +0000)
committerhobbes1069 <hobbes1069@01035d8c-6547-0410-b346-abe4f91aad63>
Fri, 24 May 2013 15:38:20 +0000 (15:38 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@1270 01035d8c-6547-0410-b346-abe4f91aad63

codec2-dev/CMakeLists.txt
codec2-dev/src/CMakeLists.txt
codec2-dev/unittest/CMakeLists.txt [new file with mode: 0644]

index 4dcc8170b9cffcf60a2160859b84552711656eb7..34c2e6a6b588ad4bb04f67ed3dfec4decf51be22 100644 (file)
@@ -33,7 +33,10 @@ if(CODEC2_VERSION_PATCH)
 endif()
 
 # Set default build type
-set(CMAKE_BUILD_TYPE "Release")
+if(NOT CMAKE_BUILD_TYPE)
+    set(CMAKE_BUILD_TYPE "Release")
+endif(NOT CMAKE_BUILD_TYPE)
+message(STATUS "Build type is: ${CMAKE_BUILD_TYPE}")
 
 message(STATUS "codec2 version: ${CODEC2_VERSION}")
 
@@ -51,14 +54,15 @@ message(STATUS "codec2 version: ${CODEC2_VERSION}")
 #endif(SUBVERSION_FOUND)
 
 # Set default C++ flags.
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall -O3 -g")
-
+#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wall")
 
 #
 # Default options
 #
 # Build shared libraries by default
 set(BUILD_SHARED_LIBS TRUE CACHE BOOL "Build shared library. Set to FALSE for static library.")
+option(UNITTEST "Build unittest binaries." OFF)
 # Do not install example code by default.
 option(INSTALL_EXAMPLES "Install example code." OFF)
 if(INSTALL_EXAMPLES)
@@ -103,6 +107,12 @@ include_directories(${PROJECT_BINARY_DIR})
 #
 add_subdirectory(src)
 
+if(UNITTEST)
+    # Pthread Library
+    find_package(Threads REQUIRED)
+    message(STATUS "Threads library flags: ${CMAKE_THREAD_LIBS_INIT}")
+    add_subdirectory(unittest)
+endif(UNITTEST)
 
 #
 # Cpack NSIS installer configuration for Windows. EXPERIMENTAL!!!
index 041ad48f19d03492f6eb6a9b5e0f101dc2fb1f3e..101e325efa3b81a1f67b88fcf1b0f6845cc72e94 100644 (file)
@@ -182,7 +182,7 @@ set(CODEC2_SRCS
     codebookvqanssi.c
     codebookdt.c
     codebookge.c
-    golay23.c
+    #golay23.c
 )
 
 add_library(codec2 ${CODEC2_SRCS})
diff --git a/codec2-dev/unittest/CMakeLists.txt b/codec2-dev/unittest/CMakeLists.txt
new file mode 100644 (file)
index 0000000..fac25f9
--- /dev/null
@@ -0,0 +1,84 @@
+add_definitions(-DFLOATING_POINT -DVAR_ARRAYS)
+include_directories(../src)
+
+add_executable(genres genres.c ../src/lpc.c)
+target_link_libraries(genres codec2)
+
+add_executable(genlsp genlsp.c ../src/lpc.c ../src/lsp.c)
+target_link_libraries(genlsp codec2)
+
+add_executable(extract extract.c)
+target_link_libraries(extract codec2)
+
+add_executable(vqtrain vqtrain.c)
+target_link_libraries(vqtrain codec2)
+
+add_executable(vqtrainjnd vqtrainjnd.c)
+target_link_libraries(vqtrainjnd codec2)
+
+add_executable(vqtrainph vqtrainph.c)
+target_link_libraries(vqtrainph codec2)
+
+add_executable(vqtrainsp vqtrainsp.c)
+target_link_libraries(vqtrainsp codec2)
+
+add_executable(genphdata genphdata.c)
+target_link_libraries(genphdata codec2)
+
+add_executable(genampdata genampdata.c)
+target_link_libraries(genampdata codec2)
+
+add_executable(polar2rect polar2rect.c)
+target_link_libraries(polar2rect codec2)
+
+add_executable(vq_train_jvm vq_train_jvm.c)
+target_link_libraries(vq_train_jvm codec2)
+
+set(CODEBOOKS ../src/codebook.c ../src/codebookd.c ../src/codebookvq.c ../src/codebookjnd.c ../src/codebookdt.c ../src/codebookjvm.c ../src/codebookvqanssi.c ../src/codebookge.c)
+
+add_executable(tnlp tnlp.c ../src/sine.c ../src/nlp.c ../src/kiss_fft.c ../src/dump.c)
+target_link_libraries(tnlp codec2)
+
+add_executable(tinterp tinterp.c ../src/sine.c ../src/kiss_fft.c ../src/interp.c ../src/lpc.c ../src/lsp.c ../src/quantise.c ${CODEBOOKS} ../src/dump.c)
+target_link_libraries(tinterp codec2)
+
+add_executable(tquant tquant.c ../src/quantise.c ../src/lpc.c ../src/lsp.c ../src/dump.c ../src/kiss_fft.c ${CODEBOOKS})
+target_link_libraries(tquant codec2)
+
+add_executable(scalarlsptest scalarlsptest.c ../src/quantise.c ../src/lpc.c ../src/lsp.c ../src/dump.c ../src/kiss_fft.c ${CODEBOOKS})
+target_link_libraries(scalarlsptest codec2)
+
+add_executable(tfdmdv tfdmdv.c ../src/fdmdv.c ../src/kiss_fft.c ../src/octave.c)
+target_link_libraries(tfdmdv codec2)
+
+add_executable(t48_8 t48_8.c ../src/fdmdv.c ../src/kiss_fft.c)
+target_link_libraries(t48_8 codec2)
+
+add_executable(lspsync lspsync.c ../src/quantise.c ../src/lpc.c ../src/lsp.c ../src/dump.c ../src/kiss_fft.c ../src/codec2.c ../src/sine.c ../src/nlp.c ../src/postfilter.c ../src/phase.c ../src/interp.c ../src/pack.c ${CODEBOOKS})
+target_link_libraries(lspsync codec2)
+
+add_executable(create_interleaver create_interleaver.c)
+target_link_libraries(create_interleaver codec2)
+
+add_executable(tlspsens tlspsens.c ../src/quantise.c ../src/lpc.c ../src/lsp.c ../src/dump.c ../src/kiss_fft.c ../src/codec2.c ../src/sine.c ../src/nlp.c ../src/pack.c ../src/interp.c ../src/postfilter.c ../src/phase.c ${CODEBOOKS})
+target_link_libraries(tlspsens codec2)
+
+add_executable(tprede tprede.c ../src/lpc.c)
+target_link_libraries(tprede codec2)
+
+add_executable(pre pre.c ../src/lpc.c)
+target_link_libraries(pre codec2)
+
+add_executable(de de.c ../src/lpc.c)
+target_link_libraries(de codec2)
+
+add_executable(tfifo tfifo.c ../src/fifo.c)
+target_link_libraries(tfifo codec2 ${CMAKE_THREAD_LIBS_INIT})
+
+add_executable(raw2h raw2h.c)
+target_link_libraries(raw2h codec2)
+
+add_definitions(-D__UNITTEST__)
+add_executable(c2validate c2validate.c)
+target_link_libraries(c2validate codec2)
+#c2validate_LDADD = $(lib_LTLIBRARIES) ../src/libcodec2.la