From 5e2d81cb3a2e0d3e5a49bd79de4f548a320cf003 Mon Sep 17 00:00:00 2001 From: Nicola Piccinelli Date: Fri, 17 Jan 2020 12:42:43 +0100 Subject: [PATCH] Added visibility compiler flag conditioning Visibility conditioned to specific cmake minimum version and compatible compiler id --- src/octave/CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/octave/CMakeLists.txt b/src/octave/CMakeLists.txt index c4ff654..43adc56 100644 --- a/src/octave/CMakeLists.txt +++ b/src/octave/CMakeLists.txt @@ -6,7 +6,12 @@ if (Matlab_FOUND AND Matlab_MX_LIBRARY) cmake_minimum_required (VERSION 3.3) # for the matlab_add_mex macro matlab_add_mex (NAME nlopt_optimize-mex SRC nlopt_optimize-mex.c OUTPUT_NAME nlopt_optimize LINK_TO ${nlopt_lib}) - set_target_properties(nlopt_optimize-mex PROPERTIES COMPILE_FLAGS "-fvisibility=default") + if (CMAKE_VERSION VERSION_LESS 3.14.0) + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU") + message("Forcing mexFunction visibility to default") + set_target_properties(nlopt_optimize-mex PROPERTIES COMPILE_FLAGS "-fvisibility=default") + endif() + endif() if (NLOPT_CXX) set_target_properties (nlopt_optimize-mex PROPERTIES LINKER_LANGUAGE CXX) -- GitLab