Add Github Actions to PRs
[zynaddsubfx-code.git] / CMakeLists.txt
blobc2133d31f5ddd9e31d331f7850d915f3faa90732
1 cmake_minimum_required(VERSION 3.0)
2 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/")
3 project(zynaddsubfx)
4 set(VERSION_MAJOR "3")
5 set(VERSION_MINOR "0")
6 set(VERSION_REVISION "6")
8 #Set data directory, if any
9 if(DEFINED ZYN_DATADIR)
10 add_definitions(-DZYN_DATADIR="${ZYN_DATADIR}")
11 endif()
13 #Include RTOSC
14 if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/rtosc/CMakeLists.txt")
15     message(STATUS "RTOSC NOT FOUND")
16     message(STATUS "Attempting to checkout submodule")
17     find_package(Git REQUIRED)
18     execute_process(COMMAND git submodule update --init)
19     if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/rtosc/CMakeLists.txt")
20         message(FATAL_ERROR "FAILED TO CHECKOUT RTOSC\n"
21         "please check file permissions and your network")
22     endif()
23 else()
24     message(STATUS "Found Rtosc Submodule...")
25 endif()
27 set(RTOSC_NO_INSTALL TRUE)
28 include("rtosc/cmake/ColorMessage.cmake")
29 add_subdirectory(rtosc)
30 include_directories(rtosc/include)
32 enable_testing()
33 include(CTestConfig.cmake)
34 #Currently the only directories that use cmake
35 add_subdirectory(src)
36 add_subdirectory(doc) # Doxygen only
38 install(FILES AUTHORS.txt COPYING README.adoc
39         DESTINATION share/doc/zynaddsubfx
40         )
41 install(FILES zynaddsubfx-jack-multi.desktop zynaddsubfx-jack.desktop zynaddsubfx-alsa.desktop zynaddsubfx-oss.desktop
42     DESTINATION share/applications)
43 install(FILES zynaddsubfx.svg
44     DESTINATION share/pixmaps)
45 install(FILES zynaddsubfx.png
46     DESTINATION share/pixmaps)
47 install(DIRECTORY instruments/banks
48     DESTINATION share/zynaddsubfx)
49 if(DEFINED ZYN_EXAMPLESDIR)
50 install(DIRECTORY instruments/examples
51     DESTINATION ${ZYN_EXAMPLESDIR})
52 else()
53 install(DIRECTORY instruments/examples
54     DESTINATION share/zynaddsubfx)
55 endif()
56 install(DIRECTORY instruments/ZynAddSubFX.lv2presets
57     DESTINATION ${PluginLibDir}/lv2)
59 ## uninstall target
60 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
61                "${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake_uninstall.cmake"
62                IMMEDIATE @ONLY)
63 add_custom_target(uninstall
64                   "${CMAKE_COMMAND}" -P
65                   "${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake_uninstall.cmake")