summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik de Castro Lopo <erikd@mega-nerd.com>2014-07-12 18:35:41 +1000
committerErik de Castro Lopo <erikd@mega-nerd.com>2014-07-12 21:19:52 +1000
commitadec6a7c61083fa3015716d502c82000c118def8 (patch)
treec6c3b954743bc0e0ac2d1ed2ed26e010e401ee49
parent3d01b6c067821837289c273efb01c582bad24b8f (diff)
CMakeLists.txt : First pass at making it work for Linux.
Cmake is great for really simple stuff but is at least as difficult as autotools for more complicated stuff.
-rw-r--r--CMakeLists.txt88
1 files changed, 71 insertions, 17 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d332990..abb79df 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,15 +1,69 @@
# cmakelists.txt for libsndfile
-cmake_minimum_required (VERSION 2.8.4)
+cmake_minimum_required (VERSION 2.8.12)
-set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} /wd4244 /wd4996")
+if (MSVC)
+ set (CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} /wd4244 /wd4996")
+ add_definitions ("/wd4244 /wd4996")
-CONFIGURE_FILE( src/sndfile.h.in src/sndfile.h )
-add_definitions( "/wd4244 /wd4996" )
+ set (HAVE_BYTESWAP_H 0)
+ set (HAVE_INTTYPES_H 1)
+ set (HAVE_STDINT_H 0)
+ set (SIZEOF_LONG 4)
+ set (COMPILER_IS_GCC 0)
+ set (OS_IS_WIN32 1)
+ set (USE_WINDOWS_API 1)
+else (MSVC)
+ # Assume this is Linux or some other POSIX-like system (including OS X).
+ set (HAVE_BYTESWAP_H 1)
+ set (HAVE_INTTYPES_H 1)
+ set (HAVE_STDINT_H 1)
+ set (SIZEOF_LONG 4)
+ set (COMPILER_IS_GCC 1)
+ set (OS_IS_WIN32 0)
+ set (USE_WINDOWS_API 0)
+ set (SIZEOF_INT64_T 8)
+ set (SIZEOF_WCHAR_T 2)
+ set (SIZEOF_LONG_LONG 8)
+ set (SIZEOF_OFF_T 8)
+ set (HAVE_UNISTD_H 1)
+ set (HAVE_EXTERNAL_LIBS 0)
+ set (CPU_CLIPS_NEGATIVE 0)
+ set (CPU_CLIPS_POSITIVE 0)
+ set (HAVE_GETTIMEOFDAY 1)
+ set (SIZEOF_SF_COUNT_T ${SIZEOF_INT64_T})
+ set (HAVE_SYS_TIME_H 1)
+ set (_POSIX_SOURCE 1)
+ set (TYPEOF_SF_COUNT_T int64_t)
+ set (SF_COUNT_MAX 0x7fffffffffffffffll)
+ set (ENABLE_EXPERIMENTAL_CODE 0)
+ set (HAVE_DECL_S_IRGRP 1)
+ set (HAVE_FSTAT64 1)
+ set (HAVE_FSYNC 1)
+ set (OSX_DARWIN_VERSION 0)
+endif (MSVC)
+include (TestBigEndian)
+TEST_BIG_ENDIAN (BIGENDIAN)
+if (${BIGENDIAN})
+ set (WORDS_BIGENDIAN 1)
+ set (CPU_IS_BIG_ENDIAN 1)
+ set (CPU_IS_LITTLE_ENDIAN 0)
+else (${BIGENDIAN})
+ set (WORDS_BIGENDIAN 0)
+ set (CPU_IS_LITTLE_ENDIAN 1)
+ set (CPU_IS_BIG_ENDIAN 0)
+endif (${BIGENDIAN})
+
+#-------------------------------------------------------------------------------
+# Project definitions follow.
project (libsndfile C)
-include_directories( include )
-file( GLOB libsndfile_srcs
+configure_file (src/sndfile.h.in src/sndfile.h)
+configure_file (CMake/config.h.in src/config.h)
+
+include_directories (src)
+
+file (GLOB libsndfile_sources
src/aiff.c
src/alaw.c
src/au.c
@@ -70,13 +124,13 @@ file( GLOB libsndfile_srcs
src/windows.c
src/wve.c
src/xi.c
-
+
src/G72x/g721.c
src/G72x/g72x.c
src/G72x/g723_16.c
src/G72x/g723_24.c
src/G72x/g723_40.c
-
+
src/GSM610/add.c
src/GSM610/code.c
src/GSM610/decode.c
@@ -90,10 +144,10 @@ file( GLOB libsndfile_srcs
src/GSM610/preprocess.c
src/GSM610/rpe.c
src/GSM610/short_term.c
- src/GSM610/table.c
-)
+ src/GSM610/table.c
+ )
-file( GLOB libsndfile_test_srcs
+file (GLOB src_tests_sources
src/test_audio_detect.c
src/test_broadcast_var.c
src/test_cart_var.c
@@ -104,13 +158,13 @@ file( GLOB libsndfile_test_srcs
src/test_log_printf.c
src/test_main.c
src/test_strncpy_crlf.c
-
src/GSM610/g72x_test.c
)
-add_library( libsndfile
- ${libsndfile_srcs}
-)
+add_library (libsndfile
+ ${libsndfile_sources}
+ )
+target_link_libraries (libsndfile m)
-add_executable( sndfile-info programs/sndfile-info.c )
-target_link_libraries( sndfile-info libsndfile )
+add_executable (sndfile-info programs/sndfile-info.c)
+target_link_libraries (sndfile-info libsndfile)