diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt index 000386f5..9346c29f 100644 --- a/clients/CMakeLists.txt +++ b/clients/CMakeLists.txt @@ -2,21 +2,43 @@ string(TIMESTAMP MAN_TODAY "%Y-%m-%d") if(SFIZZ_JACK) add_executable(sfizz_jack MidiHelpers.h jack_client.cpp) - target_link_libraries(sfizz_jack PRIVATE sfizz::import sfizz::sfizz sfizz::jack sfizz::spin_mutex absl::flags_parse) + target_link_libraries(sfizz_jack PRIVATE + absl::flags_parse + sfizz::import + sfizz::jack + sfizz::sfizz + sfizz::spin_mutex + ) sfizz_enable_lto_if_needed(sfizz_jack) configure_file(sfizz_jack.man.in sfizz_jack.man @ONLY) - install(TARGETS sfizz_jack DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT "jack" OPTIONAL) - install(FILES ${PROJECT_BINARY_DIR}/clients/sfizz_jack.man DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 - RENAME sfizz_jack.1 COMPONENT "jack" OPTIONAL) + install(TARGETS sfizz_jack + DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT "jack" OPTIONAL + ) + install(FILES ${PROJECT_BINARY_DIR}/clients/sfizz_jack.man + RENAME sfizz_jack.1 + DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 + COMPONENT "jack" OPTIONAL + ) endif() if(SFIZZ_RENDER) add_executable(sfizz_render MidiHelpers.h sfizz_render.cpp) - target_link_libraries(sfizz_render PRIVATE sfizz::internal sfizz::fmidi sfizz::cxxopts st_audiofile_formats) + target_link_libraries(sfizz_render PRIVATE + sfizz::cxxopts + sfizz::fmidi + sfizz::internal + st_audiofile_formats + ) sfizz_enable_lto_if_needed(sfizz_render) configure_file(sfizz_render.man.in sfizz_render.man @ONLY) - install(TARGETS sfizz_render DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT "render" OPTIONAL) - install(FILES ${PROJECT_BINARY_DIR}/clients/sfizz_render.man DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 - RENAME sfizz_render.1 COMPONENT "render" OPTIONAL) + install(TARGETS sfizz_render + DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT "render" OPTIONAL + ) + install(FILES ${PROJECT_BINARY_DIR}/clients/sfizz_render.man + RENAME sfizz_render.1 + DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 + COMPONENT "render" OPTIONAL + ) endif() diff --git a/cmake/SfizzConfig.cmake b/cmake/SfizzConfig.cmake index f2ebcead..224c641c 100644 --- a/cmake/SfizzConfig.cmake +++ b/cmake/SfizzConfig.cmake @@ -18,6 +18,10 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_VISIBILITY_INLINES_HIDDEN ON) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/library/lib) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/library/lib) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/library/bin) + # Set C++ compatibility level if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC" AND CMAKE_CXX_STANDARD LESS 17) set(CMAKE_CXX_STANDARD 17) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4d97665a..e83126d1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -348,10 +348,13 @@ if(SFIZZ_SHARED) if(SFIZZ_USE_SNDFILE) set(SFIZZ_PC_REQUIRES "${SFIZZ_PC_REQUIRES} sndfile") endif() - configure_file(${PROJECT_SOURCE_DIR}/scripts/sfizz.pc.in sfizz.pc @ONLY) - install(FILES ${CMAKE_BINARY_DIR}/src/sfizz.pc + configure_file(${PROJECT_SOURCE_DIR}/scripts/sfizz.pc.in + ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pkgconfig/sfizz.pc @ONLY + ) + install(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pkgconfig/sfizz.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig - COMPONENT "development") + COMPONENT "development" + ) endif() endif()