Added an "add LTO if enabled" function to all targets currently in the library
This commit is contained in:
parent
31254ced32
commit
43ea796a02
4 changed files with 13 additions and 5 deletions
|
|
@ -3,8 +3,10 @@ project(sfizz)
|
||||||
###############################
|
###############################
|
||||||
add_executable(sfzprint sfzprint.cpp)
|
add_executable(sfzprint sfzprint.cpp)
|
||||||
target_link_libraries(sfzprint sfizz::parser absl::flags_parse)
|
target_link_libraries(sfzprint sfizz::parser absl::flags_parse)
|
||||||
|
sfizz_enable_lto_if_needed(sfzprint)
|
||||||
# install(TARGETS sfzprint DESTINATION . OPTIONAL)
|
# install(TARGETS sfzprint DESTINATION . OPTIONAL)
|
||||||
|
|
||||||
add_executable(sfizz_jack jack_client.cpp)
|
add_executable(sfizz_jack jack_client.cpp)
|
||||||
target_link_libraries(sfizz_jack sfizz::sfizz jack absl::flags_parse)
|
target_link_libraries(sfizz_jack sfizz::sfizz jack absl::flags_parse)
|
||||||
# install(TARGETS sfizz_jack DESTINATION . OPTIONAL)
|
sfizz_enable_lto_if_needed(sfizz_jack)
|
||||||
|
# install(TARGETS sfizz_jack DESTINATION . OPTIONAL)
|
||||||
|
|
|
||||||
|
|
@ -12,3 +12,10 @@ else()
|
||||||
endif()
|
endif()
|
||||||
set (ENABLE_LTO OFF)
|
set (ENABLE_LTO OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
function(SFIZZ_ENABLE_LTO_IF_NEEDED TARGET)
|
||||||
|
if (ENABLE_LTO)
|
||||||
|
message(STATUS "Enabling LTO on ${TARGET}")
|
||||||
|
set_property (TARGET ${TARGET} PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
|
||||||
|
|
@ -32,10 +32,8 @@ if (UNIX)
|
||||||
target_link_libraries (sfizz PUBLIC atomic)
|
target_link_libraries (sfizz PUBLIC atomic)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (ENABLE_LTO)
|
sfizz_enable_lto_if_needed(sfizz_parser)
|
||||||
set_property (TARGET sfizz_parser PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
sfizz_enable_lto_if_needed(sfizz)
|
||||||
set_property (TARGET sfizz PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_library (sfizz::parser ALIAS sfizz_parser)
|
add_library (sfizz::parser ALIAS sfizz_parser)
|
||||||
add_library (sfizz::sfizz ALIAS sfizz)
|
add_library (sfizz::sfizz ALIAS sfizz)
|
||||||
|
|
|
||||||
|
|
@ -37,5 +37,6 @@ if(UNIX)
|
||||||
endif(UNIX)
|
endif(UNIX)
|
||||||
target_link_libraries(sfizz_tests PRIVATE absl::strings absl::str_format absl::flat_hash_map sndfile cnpy absl::span absl::algorithm)
|
target_link_libraries(sfizz_tests PRIVATE absl::strings absl::str_format absl::flat_hash_map sndfile cnpy absl::span absl::algorithm)
|
||||||
target_include_directories(sfizz_tests SYSTEM PRIVATE sources)
|
target_include_directories(sfizz_tests SYSTEM PRIVATE sources)
|
||||||
|
sfizz_enable_lto_if_needed(sfizz_tests)
|
||||||
|
|
||||||
file(COPY "." DESTINATION ${CMAKE_BINARY_DIR}/tests)
|
file(COPY "." DESTINATION ${CMAKE_BINARY_DIR}/tests)
|
||||||
Loading…
Add table
Reference in a new issue