Skip to content

Commit

Permalink
Modernize compiler and linker flags (#7255)
Browse files Browse the repository at this point in the history
  • Loading branch information
Rossmaxx authored Jun 2, 2024
1 parent 969943b commit 43fbcca
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 35 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.9)
CMAKE_MINIMUM_REQUIRED(VERSION 3.13)

# Set the given policy to NEW. If it does not exist, it will not be set. If it
# is already set to NEW (most likely due to predating the minimum required CMake
Expand Down
2 changes: 1 addition & 1 deletion cmake/modules/BuildPlugin.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ MACRO(BUILD_PLUGIN PLUGIN_NAME)

IF(LMMS_BUILD_APPLE)
IF ("${PLUGIN_LINK}" STREQUAL "SHARED")
SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
TARGET_LINK_OPTIONS(${PLUGIN_NAME} PRIVATE -undefined dynamic_lookup)
ENDIF()
ENDIF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_WIN32)
Expand Down
6 changes: 2 additions & 4 deletions plugins/GigPlayer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,11 @@ if(LMMS_HAVE_GIG)
SET(CMAKE_AUTOUIC ON)

# Required for not crashing loading files with libgig
SET(GCC_COVERAGE_COMPILE_FLAGS "-fexceptions")
add_definitions(${GCC_COVERAGE_COMPILE_FLAGS})
add_compile_options("-fexceptions")

# disable deprecated check for mingw-x-libgig
if(LMMS_BUILD_WIN32)
SET(GCC_GIG_COMPILE_FLAGS "-Wno-deprecated")
add_definitions(${GCC_GIG_COMPILE_FLAGS})
add_compile_options("-Wno-deprecated")
endif(LMMS_BUILD_WIN32)

link_directories(${GIG_LIBRARY_DIRS})
Expand Down
9 changes: 0 additions & 9 deletions plugins/LadspaEffect/caps/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,3 @@ IF(LMMS_BUILD_WIN32)
COMMAND_EXPAND_LISTS
)
ENDIF(LMMS_BUILD_WIN32)

IF(NOT LMMS_BUILD_APPLE AND NOT LMMS_BUILD_OPENBSD)
SET_TARGET_PROPERTIES(caps PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -Wl,-no-undefined")
ENDIF(NOT LMMS_BUILD_APPLE AND NOT LMMS_BUILD_OPENBSD)

IF(LMMS_BUILD_LINUX)
SET_TARGET_PROPERTIES(caps PROPERTIES LINK_FLAGS "${LINK_FLAGS}")
ENDIF(LMMS_BUILD_LINUX)

28 changes: 14 additions & 14 deletions plugins/LadspaEffect/swh/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,17 @@ FILE(WRITE ladspa/config.h "")
IF(LMMS_BUILD_WIN32)
SET(PIC_FLAGS "")
ELSE()
SET(PIC_FLAGS "-fPIC -DPIC")
SET(PIC_FLAGS -fPIC -DPIC)
ENDIF()

# Additional compile flags
if(MSVC)
set(COMPILE_FLAGS "${COMPILE_FLAGS} /wd4244 /wd4273 /wd4305")
set(COMPILE_FLAGS ${COMPILE_FLAGS} /wd4244 /wd4273 /wd4305)
else()
set(COMPILE_FLAGS "${COMPILE_FLAGS} -O3 -Wall")
set(COMPILE_FLAGS "${COMPILE_FLAGS} -fomit-frame-pointer -funroll-loops -ffast-math -c -fno-strict-aliasing")
set(COMPILE_FLAGS "${COMPILE_FLAGS} ${PIC_FLAGS}")
set(COMPILE_FLAGS ${COMPILE_FLAGS} -O3 -Wall -c
-fomit-frame-pointer -funroll-loops -ffast-math -fno-strict-aliasing
${PIC_FLAGS}
)
endif()

# Loop over every XML file
Expand Down Expand Up @@ -61,8 +62,7 @@ FOREACH(_item ${XML_SOURCES})
endif(LMMS_BUILD_WIN32)

SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES PREFIX "")
SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}")
SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES LINK_FLAGS "${LINK_FLAGS}")
target_compile_options("${_plugin}" PRIVATE "${COMPILE_FLAGS}")
INSTALL(TARGETS "${_plugin}" LIBRARY DESTINATION "${PLUGIN_DIR}/ladspa")
ENDFOREACH()

Expand All @@ -75,7 +75,7 @@ INCLUDE_DIRECTORIES(
)

ADD_LIBRARY(iir STATIC ladspa/util/iir.c)
SET_TARGET_PROPERTIES(iir PROPERTIES COMPILE_FLAGS "${PIC_FLAGS}")
target_compile_options(iir PRIVATE "${PIC_FLAGS}")
TARGET_LINK_LIBRARIES(bandpass_a_iir_1893 iir)
TARGET_LINK_LIBRARIES(bandpass_iir_1892 iir)
TARGET_LINK_LIBRARIES(butterworth_1902 iir)
Expand All @@ -86,23 +86,23 @@ TARGET_LINK_LIBRARIES(notch_iir_1894 iir)
FILE(GLOB GSM_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ladspa/gsm/*.c")
LIST(SORT GSM_SOURCES)
ADD_LIBRARY(gsm STATIC ${GSM_SOURCES})
SET_TARGET_PROPERTIES(gsm PROPERTIES COMPILE_FLAGS "${PIC_FLAGS}")
target_compile_options(gsm PRIVATE "${PIC_FLAGS}")
TARGET_LINK_LIBRARIES(gsm_1215 gsm)

ADD_LIBRARY(gverb STATIC ladspa/gverb/gverb.c ladspa/gverb/gverbdsp.c)
SET_TARGET_PROPERTIES(gverb PROPERTIES COMPILE_FLAGS "${PIC_FLAGS}")
target_compile_options(gverb PRIVATE "${PIC_FLAGS}")
TARGET_LINK_LIBRARIES(gverb_1216 gverb)

ADD_LIBRARY(blo STATIC ladspa/util/blo.c)
SET_TARGET_PROPERTIES(blo PROPERTIES COMPILE_FLAGS "${PIC_FLAGS}")
target_compile_options(blo PRIVATE "${PIC_FLAGS}")
TARGET_LINK_LIBRARIES(analogue_osc_1416 blo)
TARGET_LINK_LIBRARIES(fm_osc_1415 blo)
TARGET_LINK_LIBRARIES(hermes_filter_1200 blo)

ADD_LIBRARY(rms STATIC ladspa/util/rms.c)
ADD_LIBRARY(db STATIC ladspa/util/db.c)
SET_TARGET_PROPERTIES(rms PROPERTIES COMPILE_FLAGS "${PIC_FLAGS}")
SET_TARGET_PROPERTIES(db PROPERTIES COMPILE_FLAGS "${PIC_FLAGS}")
target_compile_options(rms PRIVATE "${PIC_FLAGS}")
target_compile_options(db PRIVATE "${PIC_FLAGS}")
TARGET_LINK_LIBRARIES(sc1_1425 rms db)
TARGET_LINK_LIBRARIES(sc2_1426 rms db)
TARGET_LINK_LIBRARIES(sc3_1427 rms db)
Expand All @@ -111,7 +111,7 @@ TARGET_LINK_LIBRARIES(sc4m_1916 rms db)
TARGET_LINK_LIBRARIES(se4_1883 rms db)

ADD_LIBRARY(pitchscale STATIC ladspa/util/pitchscale.c)
SET_TARGET_PROPERTIES(pitchscale PROPERTIES COMPILE_FLAGS "${PIC_FLAGS}")
target_compile_options(pitchscale PRIVATE "${PIC_FLAGS}")
TARGET_LINK_LIBRARIES(pitchscale ${FFTW3F_LIBRARIES})
TARGET_LINK_LIBRARIES(pitch_scale_1193 pitchscale)
TARGET_LINK_LIBRARIES(pitch_scale_1194 pitchscale)
5 changes: 1 addition & 4 deletions plugins/VstBase/RemoteVstPlugin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,7 @@ target_compile_definitions(${EXE_NAME} PRIVATE BUILD_REMOTE_PLUGIN_CLIENT)

# Workaround for missing WinMain
if(MSVC)
set_property(TARGET ${EXE_NAME}
APPEND
PROPERTY LINK_FLAGS "/entry:mainCRTStartup"
)
target_link_options(${EXE_NAME} PRIVATE "/entry:mainCRTStartup")
endif()

if(IS_MINGW)
Expand Down
4 changes: 2 additions & 2 deletions plugins/ZynAddSubFx/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,8 @@ SET_PROPERTY(GLOBAL APPEND PROPERTY PLUGINS_BUILT "RemoteZynAddSubFx")
TARGET_COMPILE_DEFINITIONS(RemoteZynAddSubFx PRIVATE BUILD_REMOTE_PLUGIN_CLIENT)

IF(LMMS_BUILD_WIN32)
SET_TARGET_PROPERTIES(RemoteZynAddSubFx PROPERTIES LINK_FLAGS "${LINK_FLAGS} -mwindows")
ENDIF(LMMS_BUILD_WIN32)
target_link_options(RemoteZynAddSubFx PRIVATE "-mwindows")
ENDIF()

# Remove useless dependencies from FLTK. Use fltk-config to avoid static library
# in older environments
Expand Down

0 comments on commit 43fbcca

Please sign in to comment.