diff --git a/CI/travis/lib.sh b/CI/travis/lib.sh index bfea28e5c..19bcf15b3 100644 --- a/CI/travis/lib.sh +++ b/CI/travis/lib.sh @@ -26,7 +26,7 @@ INSIDE_DOCKER_BUILD_DIR=/docker_build_dir # # If these nothing should be passed, then clear or #'unset INSIDE_DOCKER_TRAVIS_CI_ENV' after this script is included -INSIDE_DOCKER_TRAVIS_CI_ENV="TRAVIS TRAVIS_COMMIT TRAVIS_PULL_REQUEST OS_TYPE OS_VERSION ARTIFACTNAME" +INSIDE_DOCKER_TRAVIS_CI_ENV="TF_BUILD TRAVIS TRAVIS_COMMIT TRAVIS_PULL_REQUEST OS_TYPE OS_VERSION ARTIFACTNAME" COMMON_SCRIPTS="inside_docker.sh" diff --git a/CMakeLists.txt b/CMakeLists.txt index 6b866b48e..a10470485 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -170,8 +170,12 @@ endif() # make sure all check_symbol_exists are before this point, otherwise they fail # on some versions of compilers if (MSVC) - if(DEFINED ENV{CI} AND DEFINED ENV{APPVEYOR}) - message(STATUS "Running in an AppVeyor environment, setting -Werror") + # why can't different CIs use the same flags? + # Travis CI : CI=True & TRAVIS=True + # Appveyor : CI=True & APPVEYOR=True + # Azure Pipelines: TF_BUILD=True + if(DEFINED ENV{TF_BUILD} OR (DEFINED ENV{CI} AND DEFINED ENV{APPVEYOR})) + message(STATUS "Running in an Azure or AppVeyor environment, setting -Werror") add_compile_options(/WX) endif() elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") @@ -181,10 +185,13 @@ elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage") SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fprofile-arcs -ftest-coverage") endif() - if(DEFINED ENV{CI} AND (DEFINED ENV{TRAVIS} OR DEFINED ENV{APPVEYOR})) - message(STATUS "Running in CI environment (Travis or AppVeyor), setting -Werror") + if(DEFINED ENV{TF_BUILD} OR (DEFINED ENV{CI} AND (DEFINED ENV{TRAVIS} OR DEFINED ENV{APPVEYOR}))) + message(STATUS "Running in CI environment (Azure, Travis or AppVeyor), setting -Werror") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") endif() +else() + message(STATUS "Unknown compiler ${CMAKE_C_COMPILER_ID}") + message(STATUS "GCC ${CMAKE_COMPILER_IS_GNUCC}") endif() IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 8179905ba..961e26bde 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -69,7 +69,10 @@ if (PTHREAD_LIBRARIES set(TEMP1 ${CMAKE_REQUIRED_INCLUDES}) list(APPEND CMAKE_REQUIRED_LIBRARIES ${CURSES_LIBRARY} ${CDK_LIBRARY}) list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBCKD_INCLUDE_DIR}) + set(TMP_FLAGS "${CMAKE_C_FLAGS}") + set(CMAKE_C_FLAGS "") check_symbol_exists(CDK_CSTRING2 "cdk.h" HAS_CDK_CSTRING2) + set(CMAKE_C_FLAGS "${TMP_FLAGS}") set(CMAKE_REQUIRED_LIBRARIES ${TEMP}) set(CMAKE_REQUIRED_INCLUDES ${TEMP1}) endif() diff --git a/iiod/CMakeLists.txt b/iiod/CMakeLists.txt index b144493ff..3d22ff5c0 100644 --- a/iiod/CMakeLists.txt +++ b/iiod/CMakeLists.txt @@ -15,7 +15,10 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include(CheckSymbolExists) set(CMAKE_REQUIRED_LIBRARIES ${PTHREAD_LIBRARIES}) set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) +set(TMP_FLAGS "${CMAKE_C_FLAGS}") +set(CMAKE_C_FLAGS "") check_symbol_exists(pthread_setname_np "pthread.h" HAS_PTHREAD_SETNAME_NP) +set(CMAKE_C_FLAGS "${TMP_FLAGS}") set(CMAKE_REQUIRED_LIBRARIES) set(CMAKE_REQUIRED_DEFINITIONS)