Build HISSFFT locally as static lib, just once rather than once per object. Also we don't see its warnings any more

scripts/target_post.cmake
CMakeLists.txt
nix
Owen Green 7 years ago
parent 37751b6307
commit f0f71a479a

@ -61,6 +61,17 @@ if(APPLE OR WIN32)
set(CMAKE_SHARED_MODULE_SUFFIX ".scx") set(CMAKE_SHARED_MODULE_SUFFIX ".scx")
endif() endif()
get_property(FFT_SOURCES TARGET HISSTools_FFT PROPERTY INTERFACE_SOURCES)
get_property(FFT_LINK TARGET HISSTools_FFT PROPERTY INTERFACE_LINK_LIBRARIES)
add_library(FFTLIB STATIC ${FFT_SOURCES})
target_link_libraries(
FFTLIB PRIVATE ${FFT_LINK}
)
target_compile_options(
FFTLIB PRIVATE "$<$<NOT:$<CONFIG:DEBUG>>: -mavx -msse -msse2 -msse3 -msse4>"
)
add_library(FLUID_SC_WRAPPER INTERFACE) add_library(FLUID_SC_WRAPPER INTERFACE)
target_sources(FLUID_SC_WRAPPER target_sources(FLUID_SC_WRAPPER
INTERFACE INTERFACE

@ -5,17 +5,30 @@ else()
target_compile_options(${PLUGIN} PRIVATE -Wall -Wextra -Wpedantic -Wreturn-type -Wconversion) target_compile_options(${PLUGIN} PRIVATE -Wall -Wextra -Wpedantic -Wreturn-type -Wconversion)
endif() endif()
set_target_properties(${PLUGIN} PROPERTIES
CXX_STANDARD 14
CXX_STANDARD_REQUIRED YES
CXX_EXTENSIONS NO
)
target_link_libraries( target_link_libraries(
${PLUGIN} ${PLUGIN}
PRIVATE PUBLIC
FLUID_DECOMPOSITION FLUID_DECOMPOSITION
FLUID_SC_WRAPPER FLUID_SC_WRAPPER
PRIVATE
FFTLIB
) )
target_include_directories( target_include_directories(
${PLUGIN} ${PLUGIN}
PRIVATE PRIVATE
${LOCAL_INCLUDES} ${LOCAL_INCLUDES}
)
target_include_directories(
${PLUGIN}
SYSTEM PRIVATE SYSTEM PRIVATE
${SC_PATH}/include/plugin_interface ${SC_PATH}/include/plugin_interface
${SC_PATH}/include/common ${SC_PATH}/include/common
@ -42,45 +55,17 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
include (CheckCXXCompilerFlag) include (CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG(-msse HAS_CXX_SSE) # CHECK_CXX_COMPILER_FLAG(-msse HAS_CXX_SSE)
CHECK_CXX_COMPILER_FLAG(-msse2 HAS_CXX_SSE2) # CHECK_CXX_COMPILER_FLAG(-msse2 HAS_CXX_SSE2)
CHECK_CXX_COMPILER_FLAG(-mfpmath=sse HAS_CXX_FPMATH_SSE) # CHECK_CXX_COMPILER_FLAG(-mfpmath=sse HAS_CXX_FPMATH_SSE)
CHECK_CXX_COMPILER_FLAG(-mavx HAS_AVX) # CHECK_CXX_COMPILER_FLAG(-mavx HAS_AVX)
CHECK_CXX_COMPILER_FLAG(-mavx2 HAS_AVX2) # CHECK_CXX_COMPILER_FLAG(-mavx2 HAS_AVX2)
# target_compile_features(
# ${PLUGIN}
# PUBLIC
# "$<$<NOT:$<CONFIG:DEBUG>>: -mavx -msse -msse2 -msse3 -msse4>"
#
# )
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse")
# endif()
#
# CHECK_C_COMPILER_FLAG(-msse2 HAS_SSE2)
#
#
# if (HAS_SSE2)
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2")
# endif()
# if (HAS_CXX_SSE2)
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2")
# endif()
#
#
#
# if (HAS_FPMATH_SSE)
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse")
# endif()
# if (HAS_CXX_FPMATH_SSE)
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse")
# endif()
#
# if(NATIVE)
# add_definitions(-march=native)
# endif()
#
target_compile_features(
${PLUGIN}
PUBLIC
"$<$<NOT:$<CONFIG:DEBUG>>: -mavx -msse -msse2 -msse3 -msse4>"
)
endif() endif()
if(MINGW) if(MINGW)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mstackrealign") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mstackrealign")

Loading…
Cancel
Save