diff options
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/opentrack-macros.cmake | 22 | 
1 files changed, 15 insertions, 7 deletions
diff --git a/cmake/opentrack-macros.cmake b/cmake/opentrack-macros.cmake index 46cf3c61..9be09397 100644 --- a/cmake/opentrack-macros.cmake +++ b/cmake/opentrack-macros.cmake @@ -32,7 +32,7 @@ endfunction()  macro(opentrack_library n dir)      cmake_parse_arguments(opentrack-foolib -        "NO-LIBRARY;STATIC;NO-COMPAT;NO-LINKER-SCRIPT" +        "NO-LIBRARY;STATIC;NO-COMPAT;NO-LINKER-SCRIPT;LINKAGE"          "LINK;COMPILE;GNU-LINK;GNU-COMPILE"          ""          ${ARGN} @@ -54,17 +54,25 @@ macro(opentrack_library n dir)          endif()          target_link_libraries(${n} ${MY_QT_LIBS})          if(CMAKE_COMPILER_IS_GNUCXX AND NOT APPLE AND NOT opentrack-foolib_NO-LINKER-SCRIPT) -            SET_TARGET_PROPERTIES(${n} PROPERTIES +            set_target_properties(${n} PROPERTIES                  LINK_FLAGS "${opentrack-foolib_LINK} ${opentrack-foolib_GNU-LINK} -Wl,--as-needed -Wl,--version-script=\"${CMAKE_SOURCE_DIR}/opentrack-compat/${version-script}-version-script.txt\""                  COMPILE_FLAGS "${opentrack-foolib_COMPILE} ${opentrack-foolib_GNU-COMPILE} -fvisibility=hidden -fvisibility-inlines-hidden"              )          else() -            set(link-flags) -            if(MSVC) -                set(link-flags "${msvc-subsystem} /DEBUG /OPT:ICF") +            set(c-props) +            set(l-props) +            if(opentrack-foolib_LINKAGE AND CMAKE_COMPILER_IS_GNUCXX AND NOT APPLE) +                set(c-props "${opentrack-foolib_COMPILE} ${opentrack-foolib_GNU-COMPILE} -fvisibility=hidden -fvisibility-inlines-hidden") +                set(l-props "${opentrack-foolib_LINK} ${opentrack-foolib_GNU-LINK} -Wl,--as-needed") +            else() +                if(MSVC) +                    set(l-props "${msvc-subsystem} /DEBUG /OPT:ICF") +                endif()              endif() -            set_target_properties(${n} PROPERTIES LINK_FLAGS "${link-flags} ${opentrack-foolib_LINK}" COMPILE_FLAGS "${opentrack-foolib_COMPILE}") -            set(link-flags) +            set_target_properties(${n} PROPERTIES +                LINK_FLAGS "${l-props} ${opentrack-foolib_LINK}" +                COMPILE_FLAGS "${c-props} ${opentrack-foolib_COMPILE}" +            )          endif()          string(REGEX REPLACE "^opentrack-" "" n_ ${n})          string(REPLACE "-" "_" n_ ${n_})  | 
