[segyio] 49/376: appveyor.yml

Jørgen Kvalsvik jokva-guest at moszumanska.debian.org
Wed Sep 20 08:04:06 UTC 2017


This is an automated email from the git hooks/post-receive script.

jokva-guest pushed a commit to branch debian
in repository segyio.

commit c427b5fcd574c99cdcb4c1b483f26da29c14f019
Author: Jørgen Kvalsvik <jokva at statoil.com>
Date:   Tue Oct 18 11:39:08 2016 +0200

    appveyor.yml
---
 CMakeLists.txt              | 11 ++++++++++-
 appveyor.yml                | 26 +++++++++++++++++++++++++
 cmake/check_includes.cmake  |  1 +
 cmake/segyio_testing.cmake  |  5 ++++-
 python/CMakeLists.txt       | 47 +++++++++++++++++++++++++++++----------------
 src/applications/segyinfo.c |  8 ++++----
 src/segyio/segy.c           |  4 ++--
 src/segyio/segy.h           |  2 +-
 tests/test_utils.c          |  6 +++---
 9 files changed, 81 insertions(+), 29 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index fd7d072..b54857f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,7 +21,14 @@ include(cmake/segyio_testing.cmake)
 enable_testing()
 include(cmake/check_includes.cmake)
 
-set(CMAKE_C_FLAGS "-std=c99 ${CMAKE_C_FLAGS}")
+if (MSVC)
+    add_definitions("/W3 /wd4996")
+else() # assuming gcc-style options
+    set(C_WARNINGS "-Wall -Wextra -pedantic -Wformat-nonliteral -Wcast-align -Wpointer-arith -Wmissing-declarations -Wcast-qual -Wshadow -Wwrite-strings -Wchar-subscripts -Wredundant-decls")
+    set(CMAKE_C_FLAGS "-std=c99 ${CMAKE_C_FLAGS}")
+    set(CMAKE_C_FLAGS_DEBUG "${C_WARNINGS} ${CMAKE_C_FLAGS_DEBUG}")
+    set(CMAKE_C_FLAGS_RELWITHDEBINFO "${C_WARNINGS} ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
+endif (MSVC)
 
 if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
     set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Default install path" FORCE)
@@ -41,10 +48,12 @@ install(FILES src/segyio/segy.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/segy
 add_library(segyio-object OBJECT ${SOURCE_FILES})
 
 add_library(segyio-static STATIC $<TARGET_OBJECTS:segyio-object>)
+target_link_libraries(segyio-static ${SEGYIO_LIBRARIES})
 set_target_properties(segyio-static PROPERTIES OUTPUT_NAME segyio CLEAN_DIRECT_OUTPUT 1)
 set_target_properties(segyio-static PROPERTIES COMPILE_FLAGS "-fPIC")
 
 add_library(segyio-shared SHARED $<TARGET_OBJECTS:segyio-object>)
+target_link_libraries(segyio-shared ${SEGYIO_LIBRARIES} ${SEGYIO_LIBRARIES})
 set_target_properties(segyio-shared PROPERTIES OUTPUT_NAME segyio CLEAN_DIRECT_OUTPUT 1)
 
 install(TARGETS segyio-static segyio-shared DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..a51c0d7
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,26 @@
+version: 1.0.{build}
+
+clone_depth: 1
+
+configuration:
+    - Debug
+    - Release
+
+os: Visual Studio 2015
+image: Visual Studio 2015
+
+platform:
+    - x86
+    - x64
+
+environment:
+    matrix:
+        - PYTHON: C:\Python27
+
+build_script:
+    - python -m pip install --user numpy
+    - mkdir build
+    - pushd build
+    - cmake C:\projects\SegyIO -DBUILD_MEX=OFF -DBUILD_PYTHON=ON -DCMAKE_BUILD_TYPE=%configuration%
+    - cmake --build . --config %configuration%
+    - ctest -C %configuration% --output-on-failure
diff --git a/cmake/check_includes.cmake b/cmake/check_includes.cmake
index e6491d4..9ca9dcd 100644
--- a/cmake/check_includes.cmake
+++ b/cmake/check_includes.cmake
@@ -10,6 +10,7 @@ if (HAVE_NETINET_IN_H)
 elseif (HAVE_ARPA_INET_H)
     add_definitions("-DHAVE_ARPA_INET_H")
 elseif (HAVE_WINSOCK2_H)
+    list(APPEND SEGYIO_LIBRARIES ws2_32)
     add_definitions("-DHAVE_WINSOCK2_H")
 else()
     message(FATAL_ERROR "Could not find htons.")
diff --git a/cmake/segyio_testing.cmake b/cmake/segyio_testing.cmake
index 5b6f42c..7aede08 100644
--- a/cmake/segyio_testing.cmake
+++ b/cmake/segyio_testing.cmake
@@ -21,8 +21,11 @@ function(add_memcheck_test NAME BINARY)
 endfunction(add_memcheck_test)
 
 function(add_segyio_test TESTNAME TEST_SOURCES)
+    if(NOT MSVC)
+        set(MATH_LIB "m")
+    endif()
     add_executable(test_${TESTNAME} unittest.h "${TEST_SOURCES}")
-    target_link_libraries(test_${TESTNAME} segyio-static m)
+    target_link_libraries(test_${TESTNAME} segyio-static ${MATH_LIB})
     add_dependencies(test_${TESTNAME} segyio-static)
     add_test(NAME ${TESTNAME} COMMAND ${EXECUTABLE_OUTPUT_PATH}/test_${TESTNAME})
     add_memcheck_test(${TESTNAME} ${EXECUTABLE_OUTPUT_PATH}/test_${TESTNAME})
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index d857a01..da955a6 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -12,23 +12,36 @@ if (NOT DEFINED PY_numpy)
     return()
 endif()
 
-if (PYTHONLIBS_FOUND)
-    include_directories(${PYTHON_INCLUDE_DIRS})
-    add_library(_segyio SHARED segyio/_segyio.c $<TARGET_OBJECTS:segyio-object>)
-
-    if (MAC_OS)
-        set_target_properties(_segyio PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
-    else ()
-        set_target_properties(_segyio PROPERTIES LINK_FLAGS "-Xlinker -export-dynamic")
-    endif ()
-
-    set_target_properties(_segyio PROPERTIES PREFIX "" SUFFIX ".so")
-    install(TARGETS _segyio DESTINATION ${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_PREFIX}/segyio)
-
-    add_custom_command(TARGET _segyio POST_BUILD
-            COMMAND ${CMAKE_COMMAND} -E copy
-            $<TARGET_FILE:_segyio> ${CMAKE_BINARY_DIR}/python/segyio/_segyio.so)
-endif ()
+if (NOT PYTHONLIBS_FOUND)
+    message("Python libraries not found.")
+    unset(BUILD_PYTHON)
+    return()
+endif()
+
+include_directories(${PYTHON_INCLUDE_DIRS})
+add_library(_segyio SHARED segyio/_segyio.c $<TARGET_OBJECTS:segyio-object>)
+
+if (MSVC)
+    set(LIB_SUFFIX "pyd")
+    set(LINK_FLAGS "/DLL ${PYTHON_LIBRARY}")
+elseif (MAC_OS)
+    set(LIB_SUFFIX "so")
+    set(LINK_FLAGS "-undefined dynamic_lookup")
+else()
+    set(LIB_SUFFIX "so")
+    set(LINK_FLAGS "-Xlinker -export-dynamic")
+endif()
+
+set_target_properties(_segyio PROPERTIES PREFIX "" SUFFIX ".${LIB_SUFFIX}")
+set_target_properties(_segyio PROPERTIES LINK_FLAGS ${LINK_FLAGS})
+target_link_libraries(_segyio ${SEGYIO_LIBRARIES})
+
+install(TARGETS _segyio DESTINATION ${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_PREFIX}/segyio)
+
+add_custom_command(TARGET _segyio POST_BUILD
+        COMMAND ${CMAKE_COMMAND} -E copy
+        $<TARGET_FILE:_segyio>
+        ${CMAKE_BINARY_DIR}/python/segyio/_segyio.${LIB_SUFFIX})
 
 add_subdirectory(segyio)
 add_subdirectory(segyview)
diff --git a/src/applications/segyinfo.c b/src/applications/segyinfo.c
index e098b40..514db1f 100644
--- a/src/applications/segyinfo.c
+++ b/src/applications/segyinfo.c
@@ -17,11 +17,11 @@ static void printSegyTraceInfo( const char* buf ) {
     printf("Inline3D:          %d\n", il );
 }
 
-static inline int min( int x, int y ) {
+static inline int minimum( int x, int y ) {
     return x < y ? x : y;
 }
 
-static inline int max( int x, int y ) {
+static inline int maximum( int x, int y ) {
     return x > y ? x : y;
 }
 
@@ -113,8 +113,8 @@ int main(int argc, char* argv[]) {
             exit( err );
         }
 
-        min_sample_count = min( samples, min_sample_count );
-        max_sample_count = max( samples, max_sample_count );
+        min_sample_count = minimum( samples, min_sample_count );
+        max_sample_count = maximum( samples, max_sample_count );
     }
 
     puts("");
diff --git a/src/segyio/segy.c b/src/segyio/segy.c
index 8f8d841..52f6c5d 100644
--- a/src/segyio/segy.c
+++ b/src/segyio/segy.c
@@ -576,7 +576,7 @@ int segy_sample_indexes(FILE* fp, double* buf, double t0, size_t count) {
         return err;
     }
 
-    for (int i = 0; i < count; i++) {
+    for (size_t i = 0; i < count; i++) {
         buf[i] = t0 + i * dt;
     }
 
@@ -1088,7 +1088,7 @@ int segy_write_textheader( FILE* fp, unsigned int pos, const char* buf ) {
     return SEGY_OK;
 }
 
-unsigned int segy_textheader_size() {
+int segy_textheader_size() {
     return SEGY_TEXT_HEADER_SIZE + 1;
 }
 
diff --git a/src/segyio/segy.h b/src/segyio/segy.h
index fce6a7a..c9b0baf 100644
--- a/src/segyio/segy.h
+++ b/src/segyio/segy.h
@@ -54,7 +54,7 @@ int segy_sample_indexes(FILE* fp, double* buf, double t0, size_t count);
 
 /* text header operations */
 int segy_read_textheader(FILE *, char *buf);
-unsigned int segy_textheader_size();
+int segy_textheader_size();
 int segy_write_textheader( FILE*, unsigned int pos, const char* buf );
 
 /* Read the trace header at `traceno` into `buf`. */
diff --git a/tests/test_utils.c b/tests/test_utils.c
index bf893e9..e74947c 100644
--- a/tests/test_utils.c
+++ b/tests/test_utils.c
@@ -7,10 +7,10 @@ void ebcdic2ascii( const char*, char* );
 void ascii2ebcdic( const char*, char* );
 
 void testEbcdicConversion() {
-    char* expected = (char*) "Hello there!";
+    char expected[] = "Hello there!";
     char str[] = "\xc8\x85\x93\x93\x96\x40\xa3\x88\x85\x99\x85\x4f";
 
-    char result[strlen(expected)];
+    char result[ sizeof( expected ) ];
 
     ebcdic2ascii(str, result);
     assertTrue(strcmp(result, expected) == 0, "Converted string did not match the expected result!");
@@ -41,7 +41,7 @@ void testConversionAllocation() {
     char* expected = (char*) "Hello there!";
     char str[] = "\xc8\x85\x93\x93\x96\x40\xa3\x88\x85\x99\x85\x4f";
 
-    char result[strlen(str) + 1];
+    char result[ sizeof( str ) ];
     ebcdic2ascii(str, result);
     assertTrue(strcmp(result, expected) == 0, "Converted string did not match the expected result!");
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/segyio.git



More information about the debian-science-commits mailing list