Audio and MIDI file render through Carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.1KB

  1. cmake_minimum_required(VERSION 3.15)
  2. project(kuriborosu)
  3. set(CMAKE_POLICY_DEFAULT_CMP0025 NEW)
  4. set(CMAKE_POLICY_DEFAULT_CMP0063 NEW)
  5. set(CMAKE_POLICY_DEFAULT_CMP0069 NEW)
  6. set(CMAKE_POLICY_DEFAULT_CMP0126 NEW)
  7. set(CMAKE_C_STANDARD 11)
  8. set(CMAKE_CXX_STANDARD 11)
  9. set(CMAKE_C_VISIBILITY_PRESET hidden)
  10. set(CMAKE_CXX_VISIBILITY_PRESET hidden)
  11. set(CMAKE_VISIBILITY_INLINES_HIDDEN TRUE)
  12. set_property(GLOBAL PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
  13. #######################################################################################################################
  14. # dependencies
  15. find_package(PkgConfig REQUIRED)
  16. pkg_check_modules(SNDFILE IMPORTED_TARGET REQUIRED sndfile)
  17. #######################################################################################################################
  18. # Import carla stuff
  19. set(CARLA_BUILD_STATIC TRUE)
  20. mark_as_advanced(CARLA_BUILD_STATIC)
  21. add_subdirectory(src/carla/cmake)
  22. #######################################################################################################################
  23. # Setup kuriborosu target
  24. add_executable(kuriborosu)
  25. set_property(TARGET kuriborosu PROPERTY RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin/$<0:>")
  26. target_compile_definitions(kuriborosu
  27. PRIVATE
  28. BUILDING_CARLA
  29. )
  30. target_include_directories(kuriborosu
  31. PRIVATE
  32. .
  33. )
  34. target_link_libraries(kuriborosu
  35. PUBLIC
  36. carla::host-plugin
  37. PkgConfig::SNDFILE
  38. )
  39. target_sources(kuriborosu
  40. PRIVATE
  41. src/host.c
  42. src/kuriborosu.c
  43. )
  44. #######################################################################################################################
  45. # Setup kuribu target
  46. add_executable(kuribu)
  47. set_property(TARGET kuribu PROPERTY RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin/$<0:>")
  48. target_compile_definitions(kuribu
  49. PRIVATE
  50. BUILDING_CARLA
  51. )
  52. target_include_directories(kuribu
  53. PRIVATE
  54. .
  55. )
  56. target_link_libraries(kuribu
  57. PUBLIC
  58. carla::host-plugin
  59. PkgConfig::SNDFILE
  60. )
  61. target_sources(kuribu
  62. PRIVATE
  63. src/host.c
  64. src/kuribu.c
  65. )
  66. #######################################################################################################################