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.

54 lines
1.5KB

  1. cmake_minimum_required(VERSION 3.7)
  2. project(VCVRack)
  3. set(CMAKE_CXX_STANDARD 14)
  4. set(RACK_APP rack)
  5. set(MAC_OS_VERSION_MIN "-mmacosx-version-min=10.7")
  6. set(RACK_GIT_REV "UNKNOWN")
  7. find_package(Git)
  8. if(GIT_FOUND)
  9. execute_process(
  10. COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
  11. WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
  12. OUTPUT_VARIABLE RACK_GIT_REV
  13. ERROR_QUIET
  14. OUTPUT_STRIP_TRAILING_WHITESPACE
  15. )
  16. else()
  17. message(WARNING "Git cmd not found")
  18. endif()
  19. set(RACK_BUILD_VERSION "1.dev.${RACK_GIT_REV}")
  20. message( STATUS "build ${RACK_APP} version '${RACK_BUILD_VERSION}'")
  21. include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
  22. conan_basic_setup()
  23. file(GLOB_RECURSE SOURCES src/*.cpp)
  24. file(GLOB_RECURSE HEADERS include/*.hpp)
  25. source_group("Header Files" FILES ${HEADERS})
  26. add_executable(${RACK_APP} ${SOURCES})
  27. target_compile_definitions(${RACK_APP} PRIVATE VERSION=${RACK_BUILD_VERSION})
  28. if (MSVC)
  29. target_compile_definitions(${RACK_APP} PRIVATE _CRT_SECURE_NO_WARNINGS _USE_MATH_DEFINES ARCH_WIN)
  30. endif ()
  31. if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
  32. target_compile_definitions(${RACK_APP} PRIVATE ARCH_LIN)
  33. set_target_properties(${RACK_APP} PROPERTIES LINK_FLAGS -rdynamic)
  34. elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
  35. target_compile_definitions(${RACK_APP} PRIVATE ARCH_MAC ${MAC_OS_VERSION_MIN})
  36. set_target_properties(${RACK_APP} PROPERTIES LINK_FLAGS -export_dynamic "-undefined dynamic_lookup" ${MAC_OS_VERSION_MIN})
  37. endif ()
  38. target_include_directories(${RACK_APP} PRIVATE include)
  39. conan_target_link_libraries(${RACK_APP})